diff --git a/.babelrc b/.babelrc index f3d11ffe5a0..f6e2371f308 100644 --- a/.babelrc +++ b/.babelrc @@ -11,13 +11,8 @@ ["@babel/typescript", { "allowNamespaces": true }] ], "plugins": [ - "@babel/plugin-transform-modules-commonjs", ["@babel/plugin-proposal-decorators", { "legacy": true }], - "@babel/plugin-proposal-class-properties", - "@babel/proposal-object-rest-spread", - "babel-plugin-styled-components", - "@babel/plugin-syntax-dynamic-import", - "babel-plugin-lodash" + "babel-plugin-styled-components" ], "assumptions": { "setPublicClassFields": false diff --git a/.nvmrc b/.nvmrc index 60495ee0aad..4a207c55991 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.19.1 +v20.18.3 diff --git a/CHANGES.md b/CHANGES.md index 52ec06b5245..5b432954508 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,16 @@ #### next release (8.7.12) +- **Breaking changes:** + - Upgrade Webpack to version 5 + - Converted remaining CJS style modules and `require()` calls to ESM and `import` statements. + - Removed babel transformation to CJS for default build (we still use it for nodejs). + - Removed several other babel transforms (for JS features that should now be widely supported). + - Refactor and clean up configureWebpack.js. `configureWebpack()` now accepts a single object parameter. + - Removed code for hot reloading + - Upgraded `sass` to version 1.80+ + - Migrated SASS files to use `modern` API (by running the `sass-migrator` script) + - Replaced webpack aliases `~terriajs-variables` and `~terriajs-mixins` with respective relative path. This was necessary to run the migrator. It also results in simpler webpack configuration. - Remove `MapboxImageryProvider`, `createRegionMappedImageryProvider` now uses `ProtomapsImageryProvider`. - Update `protomaps` to `protomaps-leaflet`. This fixes the 5400 vertex limit in a single tile. - The very basic support of mvt style spec is now handled by Terria in [`lib/Map/Vector/mapboxStyleJsonToProtomaps.ts`](lib/Map/Vector/mapboxStyleJsonToProtomaps.ts) diff --git a/buildprocess/ci-deploy.sh b/buildprocess/ci-deploy.sh index d567c96166b..b274adacaa0 100644 --- a/buildprocess/ci-deploy.sh +++ b/buildprocess/ci-deploy.sh @@ -23,7 +23,7 @@ yarn add -W request@2.83.0 # Clone and build TerriaMap, using this version of TerriaJS TERRIAJS_COMMIT_HASH=$(git rev-parse HEAD) -git clone -b main https://github.com/TerriaJS/TerriaMap.git +git clone -b webpack5 https://github.com/TerriaJS/TerriaMap.git cd TerriaMap TERRIAMAP_COMMIT_HASH=$(git rev-parse HEAD) sed -i -e 's@"terriajs": ".*"@"terriajs": "'$GITHUB_REPOSITORY'#'${GITHUB_BRANCH}'"@g' package.json diff --git a/buildprocess/configureWebpack.js b/buildprocess/configureWebpack.js index 93181fe954e..3694d6902f0 100644 --- a/buildprocess/configureWebpack.js +++ b/buildprocess/configureWebpack.js @@ -1,42 +1,47 @@ const path = require("path"); const CopyPlugin = require("copy-webpack-plugin"); -const StringReplacePlugin = require("string-replace-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); const ForkTsCheckerNotifierWebpackPlugin = require("fork-ts-checker-notifier-webpack-plugin"); const webpack = require("webpack"); -function configureWebpack( +/** + * Supplements the given webpack config with options required to build TerriaJS + * + * @param [options.terriaJSBasePath] The TerriaJS source directory + * @param [options.config] Base webpack configuration + * @param [options.devMode] Set to `true` to generate for development build, default is `false`. + * @param [options.MiniCssExtractPlugin] + * @param [options.babelLoader] Optional babelLoader config, defaults to ./defaultBabelLoader.js + */ +function configureWebpack({ terriaJSBasePath, config, devMode, - hot, MiniCssExtractPlugin, - disableStyleLoader -) { + babelLoader +}) { const cesiumDir = path.dirname( require.resolve("terriajs-cesium/package.json") ); - // const fontAwesomeDir = path.resolve(path.dirname(require.resolve('font-awesome/package.json'))); - // const reactMdeDir = path.resolve(path.dirname(require.resolve('react-mde/package.json'))); - // console.log(fontAwesomeDir); - // console.log(reactMdeDir); config.node = config.node || {}; + config.resolve = config.resolve || {}; - // Resolve node module use of fs - config.node.fs = "empty"; + // Use empty polyfills for nodejs modules + config.resolve.fallback = { + fs: false, // geojson-merge, assimp + stream: false, // geojson-merge -> geojson-stream + crypto: false, // assismp.js + path: false // assimp.js + }; - config.resolve = config.resolve || {}; config.resolve.extensions = config.resolve.extensions || [ - "*", - ".webpack.js", - ".web.js", ".js", - ".mjs", ".ts", - ".tsx" + ".tsx", + ".jsx" ]; - config.resolve.extensions.push(".jsx"); + config.resolve.alias = { // @cesium/widgets will import from @cesium/engine. We need to make sure it ends up with // the terriajs-cesium fork instead of upstream cesium. @@ -52,122 +57,8 @@ function configureWebpack( config.module = config.module || {}; config.module.rules = config.module.rules || []; - config.module.rules.push({ - test: /\.js?$/, - include: path.dirname(require.resolve("terriajs-cesium/README.md")), - exclude: [ - // require.resolve("terriajs-cesium/Source/ThirdParty/zip"), - // require.resolve("terriajs-cesium/Source/Core/buildModuleUrl"), - // require.resolve("terriajs-cesium/Source/Core/TaskProcessor") - ], - loader: StringReplacePlugin.replace({ - replacements: [ - // { - // pattern: /buildModuleUrl\([\'|\"|\`](.*)[\'|\"|\`]\)/gi, - // replacement: function (match, p1, offset, string) { - // let p1_modified = p1.replace(/\\/g, "\\\\"); - // return ( - // "require(`" + - // cesiumDir.replace(/\\/g, "\\\\") + - // "/Source/" + - // p1_modified + - // "`)" - // ); - // } - // }, - { - pattern: /Please assign Cesium.Ion.defaultAccessToken<\/i>/g, - replacement: function () { - return 'Please set "cesiumIonAccessToken" in config.json'; - } - }, - { - pattern: / before making any Cesium API calls/g, - replacement: function () { - return ""; - } - } - ] - }) - }); - - // The sprintf module included by Cesium includes a license comment with a big - // pile of links, some of which are apparently dodgy and cause Websense to flag - // web workers that include the comment as malicious. So here we munge URLs in - // comments so broken security software doesn't consider them links that a user - // might actually visit. - config.module.rules.push({ - test: /\.js?$/, - include: path.resolve(cesiumDir, "Source", "ThirdParty"), - loader: StringReplacePlugin.replace({ - replacements: [ - { - pattern: /\/\*[\S\s]*?\*\//g, // find multi-line comments - replacement: function (match) { - // replace http:// and https:// with a spelling-out of it. - return match.replace(/(https?):\/\//g, "$1-colon-slashslash "); - } - } - ] - }) - }); - - // Some packages exports an .mjs file for ESM imports. - // This rule instructs webpack to import mjs modules correctly. - config.module.rules.push({ - test: /\.mjs$/, - include: /node_modules/, - type: "javascript/auto" - }); - - const zipJsDir = path.dirname(require.resolve("@zip.js/zip.js/package.json")); - - config.module.rules.push({ - test: /\.js$/, - include: zipJsDir, - loader: require.resolve("@open-wc/webpack-import-meta-loader") - }); - - config.module.rules.push({ - test: /buildModuleUrl.js$/, - include: path.resolve(cesiumDir, "Source", "Core"), - loader: require.resolve("@open-wc/webpack-import-meta-loader") - }); - - const babelLoader = { - loader: "babel-loader", - options: { - cacheDirectory: true, - sourceMaps: !!devMode, - presets: [ - [ - "@babel/preset-env", - { - corejs: 3, - useBuiltIns: "usage" - } - ], - ["@babel/preset-react", { runtime: "automatic" }], - ["@babel/typescript", { allowNamespaces: true }] - ], - plugins: [ - "@babel/plugin-transform-modules-commonjs", - ["@babel/plugin-proposal-decorators", { legacy: true }], - "@babel/plugin-proposal-class-properties", - "@babel/proposal-object-rest-spread", - "@babel/plugin-proposal-optional-chaining", - "@babel/plugin-proposal-nullish-coalescing-operator", - "babel-plugin-styled-components", - require.resolve("@babel/plugin-syntax-dynamic-import"), - "babel-plugin-lodash" - ], - assumptions: { - setPublicClassFields: false - } - } - }; - - // Use Babel to compile our JavaScript files. + babelLoader = babelLoader || defaultBabelLoader(devMode); + // Use Babel to compile our JavaScript and TypeScript files. config.module.rules.push({ test: /\.(ts|js)x?$/, include: [ @@ -181,94 +72,49 @@ function configureWebpack( use: [babelLoader] }); - // Use the raw loader for our view HTML. We don't use the html-loader because it - // will doing things with images that we don't (currently) want. - config.module.rules.push({ - test: /\.html$/, - include: path.resolve(terriaJSBasePath, "lib", "Views"), - loader: require.resolve("raw-loader") - }); - - // Allow XML in the models directory to be required-in as a raw text. + // Allow XML in the Models directory to be required-in as raw text. config.module.rules.push({ test: /\.xml$/, include: path.resolve(terriaJSBasePath, "lib", "Models"), - loader: require.resolve("raw-loader") + type: "asset/source" // inlines xml as raw text }); + // Allow .DAC file to be imported from MouseCoords.ts as URL config.module.rules.push({ - test: /\.json|\.xml$/, - include: path.resolve(cesiumDir, "Source", "Assets"), - loader: require.resolve("file-loader"), - type: "javascript/auto" + test: /\.(DAC)$/i, + type: "asset/resource", + include: [path.resolve(terriaJSBasePath, "wwwroot", "data")] }); + // Allow import of .css files from tinymce package config.module.rules.push({ - test: /\.wasm$/, - include: path.resolve(cesiumDir, "Source", "ThirdParty"), - loader: require.resolve("file-loader"), - type: "javascript/auto" + test: /\.(css)$/i, + type: "asset/source", + include: [path.dirname(require.resolve("tinymce/package.json"))] }); + // Remove Cesium debug mode checks in production. This might slightly improve performance. + // TODO: It will be good to have it enabled in devMode though, to discover issues with code + // however doing so currently breaks a few specs. config.module.rules.push({ test: /\.js$/, - include: path.resolve( - path.dirname(require.resolve("terriajs-cesium/package.json")), - "Source" - ), + include: path.resolve(cesiumDir, "Source"), use: [babelLoader, require.resolve("./removeCesiumDebugPragmas")] }); - // Don't let Cesium's `buildModuleUrl` see require - only the AMD version is relevant. - config.module.rules.push({ - test: require.resolve("terriajs-cesium/Source/Core/buildModuleUrl"), - loader: "imports-loader?require=>false" - }); - - // Don't let Cesium's `crunch.js` see require - only the AMD version is relevant. - // config.module.rules.push({ - // test: require.resolve('terriajs-cesium/Source/ThirdParty/crunch'), - // loader: 'imports-loader?require=>false' - // }); - + // handle image imports config.module.rules.push({ test: /\.(png|jpg|svg|gif)$/, include: [ path.resolve(terriaJSBasePath) + path.sep, path.resolve(cesiumDir) ], - exclude: [ - path.resolve(terriaJSBasePath, "wwwroot", "images", "icons"), - path.resolve(terriaJSBasePath, "wwwroot", "fonts") - ], - loader: require.resolve("url-loader"), - options: { - limit: 8192 - } - }); - - config.module.rules.push({ - test: /\.woff(2)?(\?.+)?$/, - include: path.resolve(terriaJSBasePath, "wwwroot", "fonts"), - loader: require.resolve("url-loader"), - options: { - limit: 10000, - mimetype: "application/font-woff" - } - }); - - config.module.rules.push({ - test: /\.(ttf|eot|svg)(\?.+)?$/, - include: path.resolve(terriaJSBasePath, "wwwroot", "fonts"), - loader: require.resolve("file-loader") + exclude: [path.resolve(terriaJSBasePath, "wwwroot", "images", "icons")], + type: "asset" // inlines if file size < 8KB }); - // config.module.loaders.push({ - // test: /\.(ttf|eot|svg)(\?.+)?$/, - // include: path.resolve(fontAwesomeDir, 'fonts'), - // loader: require.resolve('file-loader') - // }); - + // Convert imported svg icons into a sprite + // TODO: svg-sprite-loader has several security warnings - we need to find an alternative config.module.rules.push({ test: /\.svg$/, include: path.resolve(terriaJSBasePath, "wwwroot", "images", "icons"), @@ -303,12 +149,46 @@ function configureWebpack( } }; - config.plugins = (config.plugins || []).concat([ - new StringReplacePlugin(), - new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/) - ]); + config.plugins = config.plugins || []; + + // Do not import momentjs locale files + // Saves ~500kb (unzipped) + config.plugins.push( + new webpack.IgnorePlugin({ + resourceRegExp: /^\.\/locale$/, + contextRegExp: /moment$/ + }) + ); + + // Copy assimpjs.wasm file - this is used by AssImpCatalogItem (see AssImpCatalogItem.forceLoadMapItems()) + config.plugins.push( + new CopyPlugin({ + patterns: [ + { + from: require.resolve("assimpjs/dist/assimpjs.wasm"), + to: "assimpjs.wasm" + } + ] + }) + ); + + // Handle reference to Buffer in geojson-merge + config.plugins.push( + new webpack.ProvidePlugin({ + Buffer: ["buffer", "Buffer"] + }) + ); - // Fork type checking to a separate thread + // Define NODE_ENV from mode setting - used in a few places in Terria + config.plugins.push( + new webpack.DefinePlugin({ + "process.env.NODE_ENV": JSON.stringify( + devMode ? "development" : "production" + ) + }) + ); + + // Fork TypeScript type checking to a separate thread config.plugins.push( new ForkTsCheckerWebpackPlugin({ typescript: { @@ -321,6 +201,7 @@ function configureWebpack( } }) ); + config.plugins.push( new ForkTsCheckerNotifierWebpackPlugin({ excludeWarnings: true, @@ -329,39 +210,8 @@ function configureWebpack( }) ); - // Copy assimpjs.wasm file - this is used by AssImpCatalogItem (see AssImpCatalogItem.forceLoadMapItems()) - config.plugins.push( - new CopyPlugin({ - patterns: [ - { - from: require.resolve("assimpjs/dist/assimpjs.wasm"), - to: "assimpjs.wasm" - } - ] - }) - ); - - if (hot && !disableStyleLoader) { - config.module.rules.push({ - include: path.resolve(terriaJSBasePath) + path.sep, - test: /\.scss$/, - use: [ - require.resolve("style-loader"), - { - loader: require.resolve("css-loader"), - options: { - sourceMap: true, - modules: true, - camelCase: true, - localIdentName: "tjs-[name]__[local]", - importLoaders: 2 - } - }, - "resolve-url-loader?sourceMap", - "sass-loader?sourceMap" - ] - }); - } else if (MiniCssExtractPlugin) { + // Sass settings + if (MiniCssExtractPlugin) { config.module.rules.push({ exclude: [ path.resolve(terriaJSBasePath, "lib", "Sass", "common"), @@ -370,47 +220,36 @@ function configureWebpack( include: path.resolve(terriaJSBasePath, "lib"), test: /\.scss$/, use: [ - MiniCssExtractPlugin.loader, - "css-modules-typescript-loader", + { + loader: MiniCssExtractPlugin.loader, + options: { defaultExport: true } + }, + { loader: "terriajs-typings-for-css-modules-loader" }, { loader: require.resolve("css-loader"), options: { sourceMap: true, - modules: true, - camelCase: true, - localIdentName: "tjs-[name]__[local]", + modules: { + localIdentName: "tjs-[name]__[local]", + exportLocalsConvention: "camelCase" + }, importLoaders: 2 } }, - "resolve-url-loader?sourceMap", - "sass-loader?sourceMap" + { loader: "resolve-url-loader", options: { sourceMap: true } }, + { + loader: "sass-loader", + options: { + api: "modern", + sassOptions: { + sourceMap: true + } + } + } ] }); - - // config.module.loaders.push({ - // include: [path.resolve(fontAwesomeDir, 'css'), path.resolve(reactMdeDir, 'lib', 'styles', 'css')], - // test: /\.css$/, - // loaders: ['style-loader', 'css-loader'] - // }); - - // config.module.loaders.push({ - // include: path.resolve(fontAwesomeDir, 'fonts'), - // test: /\.woff2?/, - // loader: require.resolve('file-loader') - // }); } - config.resolve = config.resolve || {}; - config.resolve.alias = config.resolve.alias || {}; - - // Make a terriajs-variables alias so it's really easy to override our sass variables by aliasing over the top of this. - config.resolve.alias["terriajs-variables"] = - config.resolve.alias["terriajs-variables"] || - require.resolve("../lib/Sass/common/_variables.scss"); - config.resolve.alias["terriajs-mixins"] = - config.resolve.alias["terriajs-mixins"] || - require.resolve("../lib/Sass/common/_mixins.scss"); - // Alias react and react-dom to the one used by the building folder - apparently we can rely on the dir always being // called node_modules https://github.com/npm/npm/issues/2734 config.resolve.alias["react"] = path.dirname(require.resolve("react")); @@ -419,12 +258,37 @@ function configureWebpack( ); // Alias all lodash imports (including from our dependencies) to lodash-es + // This saves close to ~600KB unzipped + // Maybe we can remove this when lodash 5 comes out (?) config.resolve.alias["lodash"] = "lodash-es"; - // Fix issue with pmtiles TS import (through protomaps-leaflet) - config.resolve.alias["pmtiles"] = "pmtiles/dist/index.js"; - return config; } +const defaultBabelLoader = ({ devMode }) => ({ + loader: "babel-loader", + options: { + cacheDirectory: true, + sourceMaps: !!devMode, + presets: [ + [ + "@babel/preset-env", + { + corejs: 3, + useBuiltIns: "usage" + } + ], + ["@babel/preset-react", { runtime: "automatic" }], + ["@babel/typescript", { allowNamespaces: true }] + ], + plugins: [ + ["@babel/plugin-proposal-decorators", { legacy: true }], + "babel-plugin-styled-components" + ], + assumptions: { + setPublicClassFields: false + } + } +}); + module.exports = configureWebpack; diff --git a/buildprocess/runWebpack.js b/buildprocess/runWebpack.js index 8ddb73a33eb..28b65b35b01 100644 --- a/buildprocess/runWebpack.js +++ b/buildprocess/runWebpack.js @@ -1,9 +1,10 @@ -var PluginError = require("plugin-error"); +const PluginError = require("plugin-error"); +/** + * Run webpack once and print out stats + */ function runWebpack(webpack, config, doneCallback) { - // webpack is passed as a parameter instead of require-in because otherwise, when TerriaJS is npm link'd, - // node will end up loading two copies of webpack. That causes problems with some plugins (e.g. dedupe). - var wp = webpack(config); + const wp = webpack(config); wp.run(function (err, stats) { if (stats) { // Fairly verbose output. See https://webpack.github.io/docs/node.js-api.html#stats-tojson for options. diff --git a/buildprocess/watchWebpack.js b/buildprocess/watchWebpack.js index 9dbe554e8ad..14340222b6c 100644 --- a/buildprocess/watchWebpack.js +++ b/buildprocess/watchWebpack.js @@ -1,9 +1,12 @@ -var notifier = require("node-notifier"); +const notifier = require("node-notifier"); +/** + * Start webpack in watch mode + */ function watchWebpack(webpack, config, doneCallback) { // webpack is passed as a parameter instead of require-in because otherwise, when TerriaJS is npm link'd, // node will end up loading two copies of webpack. That causes problems with some plugins (e.g. dedupe). - var wp = webpack(config); + const wp = webpack(config); wp.hooks.watchRun.tap("NoteStart", function () { console.log("STARTING INCREMENTAL WEBPACK"); }); @@ -23,7 +26,7 @@ function watchWebpack(webpack, config, doneCallback) { ); console.log("DONE INCREMENTAL WEBPACK"); - var jsonStats = stats.toJson(); + const jsonStats = stats.toJson(); if (err || (jsonStats.errors && jsonStats.errors.length > 0)) { notifier.notify({ title: "Error building TerriaJS specs", diff --git a/buildprocess/webpack-tools.config.js b/buildprocess/webpack-tools.config.js index b932bdd55ce..ea84ea94112 100644 --- a/buildprocess/webpack-tools.config.js +++ b/buildprocess/webpack-tools.config.js @@ -4,8 +4,10 @@ const path = require("path"); const { IgnorePlugin } = require("webpack"); module.exports = function () { + const devMode = true; + const config = { - mode: "development", + mode: devMode ? "development" : "production", entry: { generateDocs: path.resolve(__dirname, "generateDocs.ts"), generateCatalogIndex: path.resolve(__dirname, "generateCatalogIndex.ts") @@ -28,20 +30,40 @@ module.exports = function () { plugins: [ new MiniCssExtractPlugin({ filename: "TerriaJS.css", - disable: false, ignoreOrder: true }), // This is needed for a jsdom issue - new IgnorePlugin(/canvas/, /jsdom$/) + new IgnorePlugin({ + resourceRegExp: /canvas/, + contextRegExp: /jsdom$/ + }) ] }; - return configureWebpackForTerriaJS( - path.dirname(require.resolve("../package.json")), + + const babelLoader = { + loader: "babel-loader", + options: { + cacheDirectory: true, + sourceMaps: !!devMode, + presets: [ + ["@babel/preset-react", { runtime: "automatic" }], + ["@babel/typescript", { allowNamespaces: true }] + ], + plugins: [ + ["@babel/plugin-proposal-decorators", { legacy: true }], + "babel-plugin-styled-components" + ], + assumptions: { + setPublicClassFields: false + } + } + }; + + return configureWebpackForTerriaJS({ + terriaJSBasePath: path.dirname(require.resolve("../package.json")), config, - true, - // devMode, - // hot, - false, - MiniCssExtractPlugin - ); + devMode, + MiniCssExtractPlugin, + babelLoader + }); }; diff --git a/buildprocess/webpack.config.dev.js b/buildprocess/webpack.config.dev.js index c4214e36261..c28a814725e 100644 --- a/buildprocess/webpack.config.dev.js +++ b/buildprocess/webpack.config.dev.js @@ -1 +1 @@ -module.exports = require("./webpack.config.make")(false, true); +module.exports = require("./webpack.config.make")(true); diff --git a/buildprocess/webpack.config.hot.js b/buildprocess/webpack.config.hot.js deleted file mode 100644 index 00f21df53bf..00000000000 --- a/buildprocess/webpack.config.hot.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./webpack.config.make")(true, true); diff --git a/buildprocess/webpack.config.make.js b/buildprocess/webpack.config.make.js index 9b4c8c18a1d..20eb7787d75 100644 --- a/buildprocess/webpack.config.make.js +++ b/buildprocess/webpack.config.make.js @@ -1,11 +1,12 @@ -"use strict"; +/** + * Webpack config for building specs + */ -var glob = require("fast-glob"); -var configureWebpack = require("./configureWebpack"); -var path = require("path"); -var MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const glob = require("fast-glob"); +const configureWebpack = require("./configureWebpack"); +const path = require("path"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); -//const testGlob = ['./test/**/*.js', './test/**/*.jsx', '!./test/Utility/*.js']; const testGlob = [ "./test/SpecMain.ts", "./test/**/*Spec.ts", @@ -15,38 +16,21 @@ const testGlob = [ const files = glob.sync(testGlob); console.log(files); -module.exports = function (hot, dev) { + +module.exports = function (devMode) { const terriaJSBasePath = path.resolve(__dirname, "../"); - let config = { - mode: dev ? "development" : "production", + + // base config for specs + const config = { + mode: devMode ? "development" : "production", entry: files, output: { path: path.resolve(__dirname, "..", "wwwroot", "build"), filename: "TerriaJS-specs.js", publicPath: "build/" }, - // devtool: 'source-map', // Use eval cheap module source map for quicker incremental tests - devtool: dev ? "eval-cheap-module-source-map" : "source-map", - module: { - rules: [ - { - // Don't let jasmine-ajax detect require and import jasmine-core, because we bring - // in Jasmine via a script tag instead. - test: require.resolve("jasmine-ajax"), - loader: "imports-loader?require=>false" - } - - // { - // test: /\.(ts|js)x?$/, - // include: [path.resolve(terriaJSBasePath, "lib")], - // use: { - // loader: "istanbul-instrumenter-loader" - // }, - // enforce: "post" - // } - ] - }, + devtool: devMode ? "eval-cheap-module-source-map" : "source-map", devServer: { stats: "minimal", port: 3002, @@ -61,22 +45,28 @@ module.exports = function (hot, dev) { resolve: { alias: {}, modules: ["node_modules"] + }, + plugins: [ + new MiniCssExtractPlugin({ + ignoreOrder: true + }) + ], + module: { + rules: [ + // handle imports of text fixtures from specs + { + test: /\.(csv|xml)$/i, + include: [path.resolve(terriaJSBasePath, "wwwroot", "test")], + type: "asset/source" + } + ] } }; - config.plugins = [ - new MiniCssExtractPlugin({ - filename: "nationalmap.css", - disable: false, - ignoreOrder: true - }) - ]; - return configureWebpack( + return configureWebpack({ terriaJSBasePath, config, - dev || hot, - hot, - MiniCssExtractPlugin, - true - ); + devMode, + MiniCssExtractPlugin + }); }; diff --git a/gulpfile.js b/gulpfile.js index b7994fef895..d5e568c91e7 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,10 +13,7 @@ var terriajsServerGulpTask = require("./buildprocess/terriajsServerGulpTask"); gulp.task("build-specs", function (done) { var runWebpack = require("./buildprocess/runWebpack.js"); var webpack = require("webpack"); - var webpackConfig = require("./buildprocess/webpack.config.make.js")( - false, - true - ); + var webpackConfig = require("./buildprocess/webpack.config.make.js")(true); runWebpack(webpack, webpackConfig, done); }); @@ -24,10 +21,7 @@ gulp.task("build-specs", function (done) { gulp.task("release-specs", function (done) { var runWebpack = require("./buildprocess/runWebpack.js"); var webpack = require("webpack"); - var webpackConfig = require("./buildprocess/webpack.config.make.js")( - false, - false - ); + var webpackConfig = require("./buildprocess/webpack.config.make.js")(false); runWebpack(webpack, webpackConfig, done); }); @@ -35,10 +29,7 @@ gulp.task("release-specs", function (done) { gulp.task("watch-specs", function (done) { var watchWebpack = require("./buildprocess/watchWebpack"); var webpack = require("webpack"); - var webpackConfig = require("./buildprocess/webpack.config.make.js")( - false, - true - ); + var webpackConfig = require("./buildprocess/webpack.config.make.js")(true); watchWebpack(webpack, webpackConfig, done); }); diff --git a/lib/Core/loadBlob.ts b/lib/Core/loadBlob.ts index 9a87f8037f8..8d09152f16b 100644 --- a/lib/Core/loadBlob.ts +++ b/lib/Core/loadBlob.ts @@ -41,29 +41,6 @@ export function isZip(uri: string) { /** Get zipjs ZipReader for given Blob */ function getZipReader(blob: Blob): any { - // const zWorkerPakoUrl = require("file-loader!terriajs-cesium/Source/ThirdParty/Workers/z-worker-pako.js"); - // const inflateUrl = require("file-loader!terriajs-cesium/Source/ThirdParty/Workers/pako_inflate.min.js"); - // const deflateUrl = require("file-loader!terriajs-cesium/Source/ThirdParty/Workers/pako_deflate.min.js"); - - // zip annoyingly requires the inflateUrl and deflateUrl to be relative to the zWorkerPakoUrl. - // To do that, we need to go via absolute URLs - // const absoluteBase = new URI(zWorkerPakoUrl) - // .absoluteTo(location.href) - // .toString(); - // const relativeInflateUri = new URI(deflateUrl) - // .absoluteTo(location.href) - // .relativeTo(absoluteBase); - // const relativeDeflateUri = new URI(inflateUrl) - // .absoluteTo(location.href) - // .relativeTo(absoluteBase); - - // zip.configure({ - // workerScripts: { - // deflate: [zWorkerPakoUrl, relativeInflateUri.toString()], - // inflate: [zWorkerPakoUrl, relativeDeflateUri.toString()] - // } - // }); - return new ZipReader(new ZipBlobReader(blob)); } diff --git a/lib/Core/polyfill.js b/lib/Core/polyfill.js deleted file mode 100644 index 18c1487ec8c..00000000000 --- a/lib/Core/polyfill.js +++ /dev/null @@ -1,11 +0,0 @@ -import "core-js/features/promise"; - -/** - * Loads a polyfill suite from polyfill.io and then calls the provided - * callback when it is ready - */ -function polyfill(callback) { - callback(); -} - -module.exports = polyfill; diff --git a/lib/Map/Cesium/CesiumSelectionIndicator.ts b/lib/Map/Cesium/CesiumSelectionIndicator.ts index f7747e00834..39993ee9622 100644 --- a/lib/Map/Cesium/CesiumSelectionIndicator.ts +++ b/lib/Map/Cesium/CesiumSelectionIndicator.ts @@ -1,11 +1,11 @@ import { + IReactionDisposer, action, autorun, computed, - IReactionDisposer, + makeObservable, observable, - runInAction, - makeObservable + runInAction } from "mobx"; import Cartesian2 from "terriajs-cesium/Source/Core/Cartesian2"; import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; @@ -14,6 +14,7 @@ import CreditDisplay from "terriajs-cesium/Source/Scene/CreditDisplay"; import Scene from "terriajs-cesium/Source/Scene/Scene"; import SceneTransforms from "terriajs-cesium/Source/Scene/SceneTransforms"; import TweenCollection from "terriajs-cesium/Source/Scene/TweenCollection"; +import locationTargetIcon from "../../../wwwroot/images/NM-LocationTarget.svg"; import isDefined from "../../Core/isDefined"; declare module "terriajs-cesium/Source/Scene/Scene" { @@ -78,10 +79,7 @@ export default class CesiumSelectionIndicator { this.selectionIndicatorElement = el; const img = document.createElement("img"); - img.setAttribute( - "src", - require("../../../wwwroot/images/NM-LocationTarget.svg") - ); + img.setAttribute("src", locationTargetIcon); img.setAttribute("alt", ""); img.setAttribute("width", "50px"); img.setAttribute("height", "50px"); diff --git a/lib/Map/Cesium/pickTriangle.ts b/lib/Map/Cesium/pickTriangle.ts index 66fcc4b0596..f9e408080ba 100644 --- a/lib/Map/Cesium/pickTriangle.ts +++ b/lib/Map/Cesium/pickTriangle.ts @@ -1,14 +1,12 @@ -import { - BoundingSphere, - Cartesian3, - Cartographic, - defined, - IntersectionTests, - MapProjection, - Ray, - Scene, - SceneMode -} from "terriajs-cesium"; +import BoundingSphere from "terriajs-cesium/Source/Core/BoundingSphere"; +import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; +import Cartographic from "terriajs-cesium/Source/Core/Cartographic"; +import IntersectionTests from "terriajs-cesium/Source/Core/IntersectionTests"; +import MapProjection from "terriajs-cesium/Source/Core/MapProjection"; +import Ray from "terriajs-cesium/Source/Core/Ray"; +import defined from "terriajs-cesium/Source/Core/defined"; +import Scene from "terriajs-cesium/Source/Scene/Scene"; +import SceneMode from "terriajs-cesium/Source/Scene/SceneMode"; type Tile = any; type GlobeSurfaceTile = any; diff --git a/lib/Map/Leaflet/LeafletSelectionIndicator.ts b/lib/Map/Leaflet/LeafletSelectionIndicator.ts index d7d5777bc04..f9cdeaa6e65 100644 --- a/lib/Map/Leaflet/LeafletSelectionIndicator.ts +++ b/lib/Map/Leaflet/LeafletSelectionIndicator.ts @@ -4,11 +4,10 @@ import EasingFunction from "terriajs-cesium/Source/Core/EasingFunction"; import Ellipsoid from "terriajs-cesium/Source/Core/Ellipsoid"; import CesiumMath from "terriajs-cesium/Source/Core/Math"; import TweenCollection from "terriajs-cesium/Source/Scene/TweenCollection"; +import selectionIndicatorUrl from "../../../wwwroot/images/NM-LocationTarget.svg"; import isDefined from "../../Core/isDefined"; import Leaflet from "../../Models/Leaflet"; -const selectionIndicatorUrl = require("../../../wwwroot/images/NM-LocationTarget.svg"); - interface Tween { cancelTween(): void; } diff --git a/lib/Map/Vector/ProtomapsGeojsonSource.ts b/lib/Map/Vector/ProtomapsGeojsonSource.ts index 841e3e5a62e..1e06a741497 100644 --- a/lib/Map/Vector/ProtomapsGeojsonSource.ts +++ b/lib/Map/Vector/ProtomapsGeojsonSource.ts @@ -1,5 +1,5 @@ import Point from "@mapbox/point-geometry"; -import geojsonvt, { FeatureTypes } from "geojson-vt"; +import geojsonvt from "geojson-vt"; import { makeObservable, observable, runInAction } from "mobx"; import { Bbox, @@ -127,12 +127,12 @@ export class ProtomapsGeojsonSource implements TileSource { ]; numVertices = transformedGeom.length; - if (f.type === FeatureTypes.Unknown) return null; + if (f.type === geojsonvt.FeatureTypes.Unknown) return null; const geomType = { - [FeatureTypes.Point]: GeomType.Point, - [FeatureTypes.Linestring]: GeomType.Line, - [FeatureTypes.Polygon]: GeomType.Polygon + [geojsonvt.FeatureTypes.Point]: GeomType.Point, + [geojsonvt.FeatureTypes.Linestring]: GeomType.Line, + [geojsonvt.FeatureTypes.Polygon]: GeomType.Polygon }[f.type]; const feature: ProtomapsFeature = { diff --git a/lib/Models/Catalog/Ows/CswCatalogGroup.ts b/lib/Models/Catalog/Ows/CswCatalogGroup.ts index dd1819c9201..bcbc5836271 100644 --- a/lib/Models/Catalog/Ows/CswCatalogGroup.ts +++ b/lib/Models/Catalog/Ows/CswCatalogGroup.ts @@ -1,39 +1,39 @@ import i18next from "i18next"; import { flatten } from "lodash-es"; -import { action, computed, runInAction, makeObservable } from "mobx"; +import { action, computed, makeObservable, runInAction } from "mobx"; import URI from "urijs"; +import TerriaError, { networkRequestError } from "../../../Core/TerriaError"; import filterOutUndefined from "../../../Core/filterOutUndefined"; import isDefined from "../../../Core/isDefined"; import loadWithXhr from "../../../Core/loadWithXhr"; import loadXML from "../../../Core/loadXML"; import runLater from "../../../Core/runLater"; -import TerriaError, { networkRequestError } from "../../../Core/TerriaError"; import CatalogMemberMixin from "../../../ModelMixins/CatalogMemberMixin"; import GroupMixin from "../../../ModelMixins/GroupMixin"; import UrlMixin from "../../../ModelMixins/UrlMixin"; import xml2json from "../../../ThirdParty/xml2json"; +import ModelReference from "../../../Traits/ModelReference"; import { InfoSectionTraits } from "../../../Traits/TraitsClasses/CatalogMemberTraits"; import CswCatalogGroupTraits, { QueryPropertyName } from "../../../Traits/TraitsClasses/CswCatalogGroupTraits"; -import ModelReference from "../../../Traits/ModelReference"; -import ArcGisMapServerCatalogItem from "../Esri/ArcGisMapServerCatalogItem"; -import CatalogGroup from "../CatalogGroup"; import CommonStrata from "../../Definition/CommonStrata"; import CreateModel from "../../Definition/CreateModel"; +import LoadableStratum from "../../Definition/LoadableStratum"; +import { BaseModel, ModelConstructor } from "../../Definition/Model"; +import StratumOrder from "../../Definition/StratumOrder"; +import CatalogGroup from "../CatalogGroup"; import CsvCatalogItem from "../CatalogItems/CsvCatalogItem"; import GeoJsonCatalogItem from "../CatalogItems/GeoJsonCatalogItem"; import KmlCatalogItem from "../CatalogItems/KmlCatalogItem"; -import LoadableStratum from "../../Definition/LoadableStratum"; -import { BaseModel, ModelConstructor } from "../../Definition/Model"; -import { BoundingBox } from "./OwsInterfaces"; +import ArcGisMapServerCatalogItem from "../Esri/ArcGisMapServerCatalogItem"; +import defaultGetRecordsTemplate from "../Ows/CswGetRecordsTemplate.xml"; import proxyCatalogItemUrl from "../proxyCatalogItemUrl"; -import StratumOrder from "../../Definition/StratumOrder"; +import { BoundingBox } from "./OwsInterfaces"; import WebMapServiceCatalogItem from "./WebMapServiceCatalogItem"; -const defaultGetRecordsTemplate = require("../Ows/CswGetRecordsTemplate.xml"); // WPS is disabled until wps-group support -// const wpsGetRecordsTemplate = require("./CswGetRecordsWPSTemplate.xml"); +// import wpsGetRecordsTemplate from "./CswGetRecordsWPSTemplate.xml"; type ArrayOrPrimitive = T | T[]; function toArray(val: ArrayOrPrimitive): T[]; diff --git a/lib/Models/Catalog/Ows/SensorObservationServiceCatalogItem.ts b/lib/Models/Catalog/Ows/SensorObservationServiceCatalogItem.ts index a9fe09e5c86..8b71f2731bb 100644 --- a/lib/Models/Catalog/Ows/SensorObservationServiceCatalogItem.ts +++ b/lib/Models/Catalog/Ows/SensorObservationServiceCatalogItem.ts @@ -3,10 +3,10 @@ import { action, computed, makeObservable, override, runInAction } from "mobx"; import Mustache from "mustache"; import DeveloperError from "terriajs-cesium/Source/Core/DeveloperError"; import JulianDate from "terriajs-cesium/Source/Core/JulianDate"; +import TerriaError from "../../../Core/TerriaError"; import filterOutUndefined from "../../../Core/filterOutUndefined"; import isDefined from "../../../Core/isDefined"; import loadWithXhr from "../../../Core/loadWithXhr"; -import TerriaError from "../../../Core/TerriaError"; import TableMixin from "../../../ModelMixins/TableMixin"; import TableAutomaticStylesStratum from "../../../Table/TableAutomaticStylesStratum"; import TableColumnType from "../../../Table/TableColumnType"; @@ -19,13 +19,14 @@ import TablePointSizeStyleTraits from "../../../Traits/TraitsClasses/Table/Point import TableStyleTraits from "../../../Traits/TraitsClasses/Table/StyleTraits"; import CommonStrata from "../../Definition/CommonStrata"; import CreateModel from "../../Definition/CreateModel"; -import createStratumInstance from "../../Definition/createStratumInstance"; import { BaseModel } from "../../Definition/Model"; import StratumFromTraits from "../../Definition/StratumFromTraits"; import StratumOrder from "../../Definition/StratumOrder"; +import createStratumInstance from "../../Definition/createStratumInstance"; import { SelectableDimension } from "../../SelectableDimensions/SelectableDimensions"; import Terria from "../../Terria"; import proxyCatalogItemUrl from "../proxyCatalogItemUrl"; +import defaultRequestTemplate from "./SensorObservationServiceRequestTemplate.xml"; interface GetFeatureOfInterestResponse { featureMember?: FeatureMember[] | FeatureMember; @@ -312,7 +313,7 @@ export default class SensorObservationServiceCatalogItem extends TableMixin( CreateModel(SensorObservationServiceCatalogItemTraits) ) { static readonly type = "sos"; - static defaultRequestTemplate = require("./SensorObservationServiceRequestTemplate.xml"); + static defaultRequestTemplate = defaultRequestTemplate; constructor( id: string | undefined, diff --git a/lib/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionJob.ts b/lib/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionJob.ts index 28d43aa4638..7ae9dc7f79a 100644 --- a/lib/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionJob.ts +++ b/lib/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionJob.ts @@ -34,8 +34,7 @@ import upsertModelFromJson from "../../Definition/upsertModelFromJson"; import GeoJsonCatalogItem from "../CatalogItems/GeoJsonCatalogItem"; import CatalogMemberFactory from "../CatalogMemberFactory"; import proxyCatalogItemUrl from "../proxyCatalogItemUrl"; - -const executeWpsTemplate = require("./ExecuteWpsTemplate.xml"); +import executeWpsTemplate from "./ExecuteWpsTemplate.xml"; class WpsLoadableStratum extends LoadableStratum( WebProcessingServiceCatalogFunctionJobTraits diff --git a/lib/Models/Cesium.ts b/lib/Models/Cesium.ts index 61d04100d69..aaa1d36c2da 100644 --- a/lib/Models/Cesium.ts +++ b/lib/Models/Cesium.ts @@ -12,6 +12,7 @@ import { toJS } from "mobx"; import { computedFn, fromPromise, IPromiseBasedObservable } from "mobx-utils"; +import ionCreditLogo from "terriajs-cesium/Source/Assets/Images/ion-credit.png"; import AssociativeArray from "terriajs-cesium/Source/Core/AssociativeArray"; import BoundingSphere from "terriajs-cesium/Source/Core/BoundingSphere"; import Cartesian2 from "terriajs-cesium/Source/Core/Cartesian2"; @@ -38,6 +39,7 @@ import Matrix4 from "terriajs-cesium/Source/Core/Matrix4"; import PerspectiveFrustum from "terriajs-cesium/Source/Core/PerspectiveFrustum"; import Rectangle from "terriajs-cesium/Source/Core/Rectangle"; import sampleTerrain from "terriajs-cesium/Source/Core/sampleTerrain"; +import ScreenSpaceEventHandler from "terriajs-cesium/Source/Core/ScreenSpaceEventHandler"; import ScreenSpaceEventType from "terriajs-cesium/Source/Core/ScreenSpaceEventType"; import TerrainProvider from "terriajs-cesium/Source/Core/TerrainProvider"; import Transforms from "terriajs-cesium/Source/Core/Transforms"; @@ -46,9 +48,11 @@ import DataSource from "terriajs-cesium/Source/DataSources/DataSource"; import DataSourceCollection from "terriajs-cesium/Source/DataSources/DataSourceCollection"; import DataSourceDisplay from "terriajs-cesium/Source/DataSources/DataSourceDisplay"; import Entity from "terriajs-cesium/Source/DataSources/Entity"; +import getElement from "terriajs-cesium/Source/DataSources/getElement"; import Camera from "terriajs-cesium/Source/Scene/Camera"; import Cesium3DTileset from "terriajs-cesium/Source/Scene/Cesium3DTileset"; import CreditDisplay from "terriajs-cesium/Source/Scene/CreditDisplay"; +import I3SDataProvider from "terriajs-cesium/Source/Scene/I3SDataProvider"; import ImageryLayer from "terriajs-cesium/Source/Scene/ImageryLayer"; import ImageryLayerFeatureInfo from "terriajs-cesium/Source/Scene/ImageryLayerFeatureInfo"; import ImageryProvider from "terriajs-cesium/Source/Scene/ImageryProvider"; @@ -57,7 +61,6 @@ import SceneTransforms from "terriajs-cesium/Source/Scene/SceneTransforms"; import SingleTileImageryProvider from "terriajs-cesium/Source/Scene/SingleTileImageryProvider"; import SplitDirection from "terriajs-cesium/Source/Scene/SplitDirection"; import CesiumWidget from "terriajs-cesium/Source/Widget/CesiumWidget"; -import getElement from "terriajs-cesium/Source/DataSources/getElement"; import filterOutUndefined from "../Core/filterOutUndefined"; import flatten from "../Core/flatten"; import isDefined from "../Core/isDefined"; @@ -90,8 +93,6 @@ import GlobeOrMap from "./GlobeOrMap"; import Terria from "./Terria"; import UserDrawing from "./UserDrawing"; import { setViewerMode } from "./ViewerMode"; -import ScreenSpaceEventHandler from "terriajs-cesium/Source/Core/ScreenSpaceEventHandler"; -import I3SDataProvider from "terriajs-cesium/Source/Scene/I3SDataProvider"; //import Cesium3DTilesInspector from "terriajs-cesium/Source/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector"; @@ -100,6 +101,12 @@ type CreditDisplayElement = { count: number; }; +Ion.defaultTokenMessage = + ' \ + This application is using Cesium\'s default ion access token. Please set "cesiumIonAccessToken" in config.json \ + with an access token from your ion account. \ + You can sign up for a free ion account at https://cesium.com.'; + // Intermediary const cartesian3Scratch = new Cartesian3(); const enuToFixedScratch = new Matrix4(); @@ -1194,7 +1201,7 @@ export default class Cesium extends GlobeOrMap { }; } else if (this.terria.configParameters.useCesiumIonTerrain) { // Use Cesium ION world Terrain - const logo = require("terriajs-cesium/Source/Assets/Images/ion-credit.png"); + const logo = ionCreditLogo; const ionCredit = new Credit( ' = loadJsonp(searchQuery, "jsonp"); - + const promise: Promise = loadJson(searchQuery); return promise .then((result) => { if (searchResults.isCanceled) { diff --git a/lib/Models/Terria.ts b/lib/Models/Terria.ts index 334707b8ca1..7a8bcc38b3d 100644 --- a/lib/Models/Terria.ts +++ b/lib/Models/Terria.ts @@ -703,7 +703,7 @@ export default class Terria { readonly notificationState: NotificationState = new NotificationState(); - readonly developmentEnv = process?.env?.NODE_ENV === "development"; + readonly developmentEnv = process.env.NODE_ENV === "development"; /** * An error service instance. The instance can be provided via the diff --git a/lib/ReactViewModels/MouseCoords.ts b/lib/ReactViewModels/MouseCoords.ts index 1c53f163b77..1346b10aae7 100644 --- a/lib/ReactViewModels/MouseCoords.ts +++ b/lib/ReactViewModels/MouseCoords.ts @@ -16,6 +16,7 @@ import EarthGravityModel1996 from "../Map/Vector/EarthGravityModel1996"; import prettifyCoordinates from "../Map/Vector/prettifyCoordinates"; import prettifyProjection from "../Map/Vector/prettifyProjection"; import Terria from "../Models/Terria"; +import gridFileUrl from "../../wwwroot/data/WW15MGH.DAC"; interface Cancelable { cancel: () => void; @@ -63,9 +64,7 @@ export default class MouseCoords { constructor() { makeObservable(this); - this.geoidModel = new EarthGravityModel1996( - require("file-loader!../../wwwroot/data/WW15MGH.DAC") - ); + this.geoidModel = new EarthGravityModel1996(gridFileUrl); this.proj4Projection = "+proj=utm +ellps=GRS80 +units=m +no_defs"; this.projectionUnits = "m"; this.proj4longlat = diff --git a/lib/ReactViews/Analytics/invoke-function.scss b/lib/ReactViews/Analytics/invoke-function.scss index b05b3effafa..31807fdfb47 100644 --- a/lib/ReactViews/Analytics/invoke-function.scss +++ b/lib/ReactViews/Analytics/invoke-function.scss @@ -1,12 +1,12 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .invoke-function { - padding: $padding-small; + padding: variables.$padding-small; position: relative; - height: calc(100% - #{$padding-small * 2}); + height: calc(100% - #{variables.$padding-small * 2}); a { - color: $color-primary; + color: variables.$color-primary; } } @@ -16,22 +16,22 @@ bottom: 0; right: 0; z-index: 1000; - background: $modal-bg; - padding: $padding-small; + background: variables.$modal-bg; + padding: variables.$padding-small; } .content { composes: scrollbars from "../../Sass/common/_base.scss"; overflow-y: auto; - height: calc(100% - #{$input-height}); - padding-right: $padding; - padding-left: $padding; + height: calc(100% - #{variables.$input-height}); + padding-right: variables.$padding; + padding-left: variables.$padding; h3 { margin-top: 0; } } -@include empty-module("description"); +@include mixins.empty-module("description"); .btn { composes: btn from "../../Sass/common/_buttons.scss"; composes: btn-primary from "../../Sass/common/_buttons.scss"; diff --git a/lib/ReactViews/Analytics/invoke-function.scss.d.ts b/lib/ReactViews/Analytics/invoke-function.scss.d.ts index afec4c0b728..7afc14f6ab3 100644 --- a/lib/ReactViews/Analytics/invoke-function.scss.d.ts +++ b/lib/ReactViews/Analytics/invoke-function.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'content': string; - 'description': string; - 'footer': string; - 'invoke-function': string; - 'invokeFunction': string; +declare namespace InvokeFunctionScssNamespace { + export interface IInvokeFunctionScss { + btn: string; + content: string; + description: string; + footer: string; + "invoke-function": string; + invokeFunction: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const InvokeFunctionScssModule: InvokeFunctionScssNamespace.IInvokeFunctionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: InvokeFunctionScssNamespace.IInvokeFunctionScss; +}; + +export = InvokeFunctionScssModule; diff --git a/lib/ReactViews/Analytics/parameter-editors.scss b/lib/ReactViews/Analytics/parameter-editors.scss index 8265df2bf9c..57f8b54ff26 100644 --- a/lib/ReactViews/Analytics/parameter-editors.scss +++ b/lib/ReactViews/Analytics/parameter-editors.scss @@ -1,18 +1,18 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .tree { composes: list-reset from "../../Sass/common/_base.scss"; } -@include empty-module("parameter-editor-important-note"); +@include mixins.empty-module("parameter-editor-important-note"); .data { background: #fff; } .parameter-editor { - margin-bottom: $padding; + margin-bottom: variables.$padding; position: relative; clear: both; input[type="date"] { @@ -26,42 +26,42 @@ .field { composes: field from "../../Sass/common/_form.scss"; - margin-bottom: $padding; + margin-bottom: variables.$padding; clear: both; - color: $text-black !important; + color: variables.$text-black !important; &::-webkit-input-placeholder { - color: $grey !important; + color: variables.$grey !important; } &::-moz-placeholder { - color: $grey !important; + color: variables.$grey !important; } &:-ms-input-placeholder { - color: $grey !important; + color: variables.$grey !important; } &:-moz-placeholder { - color: $grey !important; + color: variables.$grey !important; } } .field-date-placeholder { composes: field; - color: $grey !important; + color: variables.$grey !important; } .field-invalid { composes: field; - border-color: $warning; + border-color: variables.$warning; } .warning-text { - color: $warning; + color: variables.$warning; } .field--parameter-editor { - margin-bottom: $padding; + margin-bottom: variables.$padding; position: relative; clear: both; @@ -91,7 +91,7 @@ } .btn-catalog { - padding-left: $padding; + padding-left: variables.$padding; } .btn-selector { @@ -105,7 +105,7 @@ position: relative; background: #d5d5d5; cursor: auto; - margin: $padding 0; + margin: variables.$padding 0; :global { .leaflet-control-attribution { @@ -122,7 +122,8 @@ } .is-hidden { - composes: is-hidden from "../../Sass/common/_form.scss"; + // TODO: is this still valid? + // composes: is-hidden from "../../Sass/common/_form.scss"; } .autocomplete { @@ -132,8 +133,8 @@ max-height: 200px; overflow-y: auto; background: #fff; - padding: $padding; - box-shadow: $box-shadow; + padding: variables.$padding; + box-shadow: variables.$box-shadow; position: absolute; z-index: 99; right: 0; @@ -149,7 +150,7 @@ &:hover, &:focus { - color: $color-primary; + color: variables.$color-primary; } } @@ -158,7 +159,7 @@ height: 200px; } -@include empty-module("radio"); +@include mixins.empty-module("radio"); .btn-radio { composes: btn from "../../Sass/common/_buttons.scss"; diff --git a/lib/ReactViews/Analytics/parameter-editors.scss.d.ts b/lib/ReactViews/Analytics/parameter-editors.scss.d.ts index 21fc370881c..8d6bc749401 100644 --- a/lib/ReactViews/Analytics/parameter-editors.scss.d.ts +++ b/lib/ReactViews/Analytics/parameter-editors.scss.d.ts @@ -1,40 +1,45 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'autocomplete': string; - 'autocomplete-item': string; - 'autocompleteItem': string; - 'btn-catalog': string; - 'btn-location-selector': string; - 'btn-radio': string; - 'btn-selector': string; - 'btnCatalog': string; - 'btnLocationSelector': string; - 'btnRadio': string; - 'btnSelector': string; - 'data': string; - 'embeddedMap': string; - 'field': string; - 'field--parameter-editor': string; - 'field-date-placeholder': string; - 'field-invalid': string; - 'fieldDatePlaceholder': string; - 'fieldInvalid': string; - 'fieldParameterEditor': string; - 'is-hidden': string; - 'isHidden': string; - 'label': string; - 'map': string; - 'parameter-editor': string; - 'parameter-editor-important-note': string; - 'parameterEditor': string; - 'parameterEditorImportantNote': string; - 'radio': string; - 'region-input': string; - 'regionInput': string; - 'tree': string; - 'warning-text': string; - 'warningText': string; +declare namespace ParameterEditorsScssNamespace { + export interface IParameterEditorsScss { + autocomplete: string; + "autocomplete-item": string; + autocompleteItem: string; + "btn-catalog": string; + "btn-location-selector": string; + "btn-radio": string; + "btn-selector": string; + btnCatalog: string; + btnLocationSelector: string; + btnRadio: string; + btnSelector: string; + data: string; + embeddedMap: string; + field: string; + "field--parameter-editor": string; + "field-date-placeholder": string; + "field-invalid": string; + fieldDatePlaceholder: string; + fieldInvalid: string; + fieldParameterEditor: string; + "is-hidden": string; + isHidden: string; + label: string; + map: string; + "parameter-editor": string; + "parameter-editor-important-note": string; + parameterEditor: string; + parameterEditorImportantNote: string; + radio: string; + "region-input": string; + regionInput: string; + tree: string; + "warning-text": string; + warningText: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ParameterEditorsScssModule: ParameterEditorsScssNamespace.IParameterEditorsScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ParameterEditorsScssNamespace.IParameterEditorsScss; +}; + +export = ParameterEditorsScssModule; diff --git a/lib/ReactViews/BottomDock/Timeline/CesiumTimeline.jsx b/lib/ReactViews/BottomDock/Timeline/CesiumTimeline.jsx index 0be5969a51c..da5431262ae 100644 --- a/lib/ReactViews/BottomDock/Timeline/CesiumTimeline.jsx +++ b/lib/ReactViews/BottomDock/Timeline/CesiumTimeline.jsx @@ -1,4 +1,4 @@ -import Styles from "!style-loader!css-loader?modules&sourceMap!sass-loader?sourceMap!./cesium-timeline.scss"; +import Styles from "./cesium-timeline.scss"; import createReactClass from "create-react-class"; import dateFormat from "dateformat"; import { autorun, runInAction } from "mobx"; diff --git a/lib/ReactViews/BottomDock/Timeline/cesium-timeline.scss.d.ts b/lib/ReactViews/BottomDock/Timeline/cesium-timeline.scss.d.ts new file mode 100644 index 00000000000..e87f736d6e4 --- /dev/null +++ b/lib/ReactViews/BottomDock/Timeline/cesium-timeline.scss.d.ts @@ -0,0 +1,12 @@ +declare namespace CesiumTimelineScssNamespace { + export interface ICesiumTimelineScss { + cesiumTimeline: string; + } +} + +declare const CesiumTimelineScssModule: CesiumTimelineScssNamespace.ICesiumTimelineScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: CesiumTimelineScssNamespace.ICesiumTimelineScss; +}; + +export = CesiumTimelineScssModule; diff --git a/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss b/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss index 6b963b15d88..1f075d31d69 100644 --- a/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss +++ b/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .controls { display: table-cell; @@ -18,7 +18,7 @@ &.is-active { svg { - fill: $color-primary; + fill: variables.$color-primary; } } } diff --git a/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss.d.ts b/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss.d.ts index 33aeed3f9b4..d6c886d42fe 100644 --- a/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss.d.ts +++ b/lib/ReactViews/BottomDock/Timeline/timeline-controls.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'controls': string; - 'is-active': string; - 'isActive': string; - 'timelineControl': string; - 'timeline__control': string; +declare namespace TimelineControlsScssNamespace { + export interface ITimelineControlsScss { + controls: string; + "is-active": string; + isActive: string; + timelineControl: string; + timeline__control: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TimelineControlsScssModule: TimelineControlsScssNamespace.ITimelineControlsScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TimelineControlsScssNamespace.ITimelineControlsScss; +}; + +export = TimelineControlsScssModule; diff --git a/lib/ReactViews/BottomDock/Timeline/timeline.scss b/lib/ReactViews/BottomDock/Timeline/timeline.scss index 6edddaabcb5..27ec73b3142 100644 --- a/lib/ReactViews/BottomDock/Timeline/timeline.scss +++ b/lib/ReactViews/BottomDock/Timeline/timeline.scss @@ -1,5 +1,5 @@ -@import "../../../Sass/common/mixins"; -@import "~terriajs-variables"; +@use "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; .timeline { display: table; @@ -7,7 +7,7 @@ padding-top: 5px; padding-bottom: 5px; padding-right: 5px; - font-family: $font-base; + font-family: variables.$font-base; // @media (max-width: $mobile) { // position: fixed; @@ -19,7 +19,7 @@ .text-row { display: block; color: #fff; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; position: absolute; bottom: 44px; left: 0px; @@ -36,18 +36,19 @@ } .layer-name-truncated { - padding-right: $padding-small; + padding-right: variables.$padding-small; - @media (max-width: $mobile), (min-width: $sm) and (max-width: $lg) { + @media (max-width: variables.$mobile), + (min-width: variables.$sm) and (max-width: variables.$lg) { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } - @media (max-width: $mobile) { + @media (max-width: variables.$mobile) { max-width: 52vw; } - @media (min-width: $sm) and (max-width: $lg) { + @media (min-width: variables.$sm) and (max-width: variables.$lg) { max-width: 30vw; } } diff --git a/lib/ReactViews/BottomDock/Timeline/timeline.scss.d.ts b/lib/ReactViews/BottomDock/Timeline/timeline.scss.d.ts index 9375006bb04..2f7acd957ad 100644 --- a/lib/ReactViews/BottomDock/Timeline/timeline.scss.d.ts +++ b/lib/ReactViews/BottomDock/Timeline/timeline.scss.d.ts @@ -1,14 +1,19 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'controlsRow': string; - 'layer-name-truncated': string; - 'layerNameTruncated': string; - 'text-cell': string; - 'text-row': string; - 'textCell': string; - 'textRow': string; - 'timeline': string; +declare namespace TimelineScssNamespace { + export interface ITimelineScss { + controlsRow: string; + "layer-name-truncated": string; + layerNameTruncated: string; + "text-cell": string; + "text-row": string; + textCell: string; + textRow: string; + timeline: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TimelineScssModule: TimelineScssNamespace.ITimelineScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TimelineScssNamespace.ITimelineScss; +}; + +export = TimelineScssModule; diff --git a/lib/ReactViews/BottomDock/bottom-dock.scss b/lib/ReactViews/BottomDock/bottom-dock.scss index f99b20d137e..cc3facc4ab2 100644 --- a/lib/ReactViews/BottomDock/bottom-dock.scss +++ b/lib/ReactViews/BottomDock/bottom-dock.scss @@ -1,5 +1,5 @@ -@import "../../Sass/common/variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/variables"; +@use "../../Sass/common/mixins"; .bottom-dock { z-index: 10; diff --git a/lib/ReactViews/BottomDock/bottom-dock.scss.d.ts b/lib/ReactViews/BottomDock/bottom-dock.scss.d.ts index 1e1366adb03..6aef61f6a16 100644 --- a/lib/ReactViews/BottomDock/bottom-dock.scss.d.ts +++ b/lib/ReactViews/BottomDock/bottom-dock.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'bottom-dock': string; - 'bottomDock': string; +declare namespace BottomDockScssNamespace { + export interface IBottomDockScss { + "bottom-dock": string; + bottomDock: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const BottomDockScssModule: BottomDockScssNamespace.IBottomDockScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: BottomDockScssNamespace.IBottomDockScss; +}; + +export = BottomDockScssModule; diff --git a/lib/ReactViews/BottomDock/chart-disclaimer.scss b/lib/ReactViews/BottomDock/chart-disclaimer.scss index 37d1b9dc968..17c9f598fe2 100644 --- a/lib/ReactViews/BottomDock/chart-disclaimer.scss +++ b/lib/ReactViews/BottomDock/chart-disclaimer.scss @@ -1,13 +1,13 @@ -@import "../../Sass/common/variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/variables"; +@use "../../Sass/common/mixins"; .chart-disclaimer-panel { background: #9a4b4b; color: white; - padding: 1px $padding; + padding: 1px variables.$padding; font-size: 0.8rem; p { - margin: $padding 0px; + margin: variables.$padding 0px; a, a:visited { color: white; diff --git a/lib/ReactViews/Custom/Chart/ChartPanelDownloadButton.tsx b/lib/ReactViews/Custom/Chart/ChartPanelDownloadButton.tsx index 40e74e99fa6..4378d294660 100644 --- a/lib/ReactViews/Custom/Chart/ChartPanelDownloadButton.tsx +++ b/lib/ReactViews/Custom/Chart/ChartPanelDownloadButton.tsx @@ -69,8 +69,10 @@ async function download(items: TableMixin.Instance[]) { const synthesized = synthesizeNameAndValueArrays(items); // Could implement this using TaskProcessor, but requires webpack magic. - const HrefWorker = require("worker-loader!./downloadHrefWorker"); - const worker = new HrefWorker(); + const worker = await import("worker-loader!./downloadHrefWorker").then( + (labelLayoutWorker) => new labelLayoutWorker.default() + ); + // console.log('names and value arrays', synthesized.names, synthesized.values); if (synthesized.values && synthesized.values.length > 0) { worker.postMessage(synthesized); diff --git a/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss b/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss index 43c9a6fddc9..14aba4e298a 100644 --- a/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss +++ b/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .empty { text-align: center; diff --git a/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss.d.ts b/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss.d.ts index 69f4fe5a038..6b295d0f40e 100644 --- a/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/bottom-dock-chart.scss.d.ts @@ -1,7 +1,12 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'empty': string; +declare namespace BottomDockChartScssNamespace { + export interface IBottomDockChartScss { + empty: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const BottomDockChartScssModule: BottomDockChartScssNamespace.IBottomDockChartScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: BottomDockChartScssNamespace.IBottomDockChartScss; +}; + +export = BottomDockChartScssModule; diff --git a/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss b/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss index fb1fac1933a..798911a66cd 100644 --- a/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss +++ b/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; // These remaining SCSS styles can be removed when we refactor Dropdown.jsx to use styled-components. @@ -17,11 +17,11 @@ &__btn--option { width: 100%; float: left; - color: $color-primary; + color: variables.$color-primary; &:hover, &:focus { - background: $color-primary; + background: variables.$color-primary; color: orange; text-decoration: none; } @@ -33,7 +33,7 @@ // It would be better to add a class to the Add Data dropdown instead. z-index: 999; color: white; // TODO - font-family: $font-pop; + font-family: variables.$font-pop; border: none; padding: 1px 8px; margin-right: 3px; diff --git a/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss.d.ts b/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss.d.ts index 06f724df053..f4d6dc5f585 100644 --- a/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/chart-expand-and-download-buttons.scss.d.ts @@ -1,19 +1,24 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--dropdown': string; - 'btn-download': string; - 'btn-small': string; - 'btnDownload': string; - 'btnDropdown': string; - 'btnSmall': string; - 'dropdown': string; - 'dropdownBtn': string; - 'dropdownBtnOption': string; - 'dropdownList': string; - 'dropdown__btn': string; - 'dropdown__btn--option': string; - 'dropdown__list': string; +declare namespace ChartExpandAndDownloadButtonsScssNamespace { + export interface IChartExpandAndDownloadButtonsScss { + "btn--dropdown": string; + "btn-download": string; + "btn-small": string; + btnDownload: string; + btnDropdown: string; + btnSmall: string; + dropdown: string; + dropdownBtn: string; + dropdownBtnOption: string; + dropdownList: string; + dropdown__btn: string; + "dropdown__btn--option": string; + dropdown__list: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ChartExpandAndDownloadButtonsScssModule: ChartExpandAndDownloadButtonsScssNamespace.IChartExpandAndDownloadButtonsScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ChartExpandAndDownloadButtonsScssNamespace.IChartExpandAndDownloadButtonsScss; +}; + +export = ChartExpandAndDownloadButtonsScssModule; diff --git a/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss b/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss index cec61eef5af..082a0e7f235 100644 --- a/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss +++ b/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .btn-download { composes: btn from "../../../Sass/common/_buttons.scss"; @@ -7,7 +7,7 @@ padding: 10px; color: #fff; float: right; - margin-right: $input-height; + margin-right: variables.$input-height; svg { height: 20px; width: 20px; @@ -19,7 +19,7 @@ &:hover, &:focus { text-decoration: none; - color: $color-primary; + color: variables.$color-primary; } &:before { diff --git a/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss.d.ts b/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss.d.ts index f2d3688a42c..2ff141b929b 100644 --- a/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/chart-panel-download-button.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn-download': string; - 'btnDownload': string; +declare namespace ChartPanelDownloadButtonScssNamespace { + export interface IChartPanelDownloadButtonScss { + "btn-download": string; + btnDownload: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ChartPanelDownloadButtonScssModule: ChartPanelDownloadButtonScssNamespace.IChartPanelDownloadButtonScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ChartPanelDownloadButtonScssNamespace.IChartPanelDownloadButtonScss; +}; + +export = ChartPanelDownloadButtonScssModule; diff --git a/lib/ReactViews/Custom/Chart/chart-panel.scss b/lib/ReactViews/Custom/Chart/chart-panel.scss index 52b6ad7d1e4..56cce69a08b 100644 --- a/lib/ReactViews/Custom/Chart/chart-panel.scss +++ b/lib/ReactViews/Custom/Chart/chart-panel.scss @@ -1,14 +1,14 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; -@include empty-module("inner"); -@include empty-module("chart-panel"); +@include mixins.empty-module("inner"); +@include mixins.empty-module("chart-panel"); .holder { left: 0; right: 0; z-index: 10; - background: $chart-panel-background; + background: variables.$chart-panel-background; padding-bottom: 13px; } @@ -16,21 +16,21 @@ height: 41px; box-sizing: border-box; position: relative; - background-color: $chart-panel-header; - font-size: $font-size-mid-small; + background-color: variables.$chart-panel-header; + font-size: variables.$font-size-mid-small; fill: #fff; } .chart { - color: $text-light; + color: variables.$text-light; :global { .base-chart .axis path.domain { - stroke: $chart-axis-color; + stroke: variables.$chart-axis-color; } .base-chart .axis .tick line { - stroke: $chart-grid-color; + stroke: variables.$chart-grid-color; } .base-chart .axis .colors line { @@ -38,24 +38,24 @@ } .base-chart .plot-area { - fill: $chart-area-color; + fill: variables.$chart-area-color; } .units-label-shadow { - stroke: $chart-darker; + stroke: variables.$chart-darker; stroke-width: 2.5px; opacity: 0.9; } .base-chart text { - fill: $chart-text-color; + fill: variables.$chart-text-color; font-family: monospace; font-size: 110%; } .base-chart .line { fill: none; - stroke: $chart-line-color; + stroke: variables.$chart-line-color; stroke-width: 1; } } @@ -67,7 +67,7 @@ .section-label, .btn { - color: $text-light; + color: variables.$text-light; display: inline-block; vertical-align: top; } @@ -77,7 +77,7 @@ } .loader { - padding: 0px 0px 0px $padding * 3 !important; + padding: 0px 0px 0px variables.$padding * 3 !important; &:before { top: 0px; } @@ -97,7 +97,7 @@ &:hover, &:focus { svg { - fill: $color-primary; + fill: variables.$color-primary; } } } diff --git a/lib/ReactViews/Custom/Chart/chart-panel.scss.d.ts b/lib/ReactViews/Custom/Chart/chart-panel.scss.d.ts index 5294e7d1d4c..b247ea3c572 100644 --- a/lib/ReactViews/Custom/Chart/chart-panel.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/chart-panel.scss.d.ts @@ -1,20 +1,25 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'axis': string; - 'btn': string; - 'btn--close-chart-panel': string; - 'btnCloseChartPanel': string; - 'chart': string; - 'chart-panel': string; - 'chartPanel': string; - 'colors': string; - 'header': string; - 'holder': string; - 'inner': string; - 'loader': string; - 'section-label': string; - 'sectionLabel': string; +declare namespace ChartPanelScssNamespace { + export interface IChartPanelScss { + axis: string; + btn: string; + "btn--close-chart-panel": string; + btnCloseChartPanel: string; + chart: string; + "chart-panel": string; + chartPanel: string; + colors: string; + header: string; + holder: string; + inner: string; + loader: string; + "section-label": string; + sectionLabel: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ChartPanelScssModule: ChartPanelScssNamespace.IChartPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ChartPanelScssNamespace.IChartPanelScss; +}; + +export = ChartPanelScssModule; diff --git a/lib/ReactViews/Custom/Chart/chart-preview.scss b/lib/ReactViews/Custom/Chart/chart-preview.scss index d0efe96b0b9..c253f5172e8 100644 --- a/lib/ReactViews/Custom/Chart/chart-preview.scss +++ b/lib/ReactViews/Custom/Chart/chart-preview.scss @@ -1,8 +1,8 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .chart-td { - background: $feature-info-bg; + background: variables.$feature-info-bg; } .preview-chart-wrapper { @@ -12,19 +12,19 @@ :global { .line-chart text { - fill: $feature-info-color; + fill: variables.$feature-info-color; // font-family: monospace; } .units-label-shadow { - stroke: $feature-info-bg; + stroke: variables.$feature-info-bg; stroke-width: 2.5px; opacity: 0.9; } .line-chart .line { fill: none; - stroke: $chart-preview-line-color; + stroke: variables.$chart-preview-line-color; stroke-width: 1; } } @@ -36,5 +36,5 @@ .chart-title-from-table { line-height: 2; - padding: 0 $padding; + padding: 0 variables.$padding; } diff --git a/lib/ReactViews/Custom/Chart/chart-preview.scss.d.ts b/lib/ReactViews/Custom/Chart/chart-preview.scss.d.ts index 98acf37b45a..b4b7c8bb3a3 100644 --- a/lib/ReactViews/Custom/Chart/chart-preview.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/chart-preview.scss.d.ts @@ -1,14 +1,19 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'chart-td': string; - 'chart-title-from-table': string; - 'chartTd': string; - 'chartTitleFromTable': string; - 'preview-chart': string; - 'preview-chart-wrapper': string; - 'previewChart': string; - 'previewChartWrapper': string; +declare namespace ChartPreviewScssNamespace { + export interface IChartPreviewScss { + "chart-td": string; + "chart-title-from-table": string; + chartTd: string; + chartTitleFromTable: string; + "preview-chart": string; + "preview-chart-wrapper": string; + previewChart: string; + previewChartWrapper: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ChartPreviewScssModule: ChartPreviewScssNamespace.IChartPreviewScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ChartPreviewScssNamespace.IChartPreviewScss; +}; + +export = ChartPreviewScssModule; diff --git a/lib/ReactViews/Custom/Chart/chart.scss b/lib/ReactViews/Custom/Chart/chart.scss index a7268ffcf6e..084fe2bbd9d 100644 --- a/lib/ReactViews/Custom/Chart/chart.scss +++ b/lib/ReactViews/Custom/Chart/chart.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .noData { display: flex; diff --git a/lib/ReactViews/Custom/Chart/tooltip.scss b/lib/ReactViews/Custom/Chart/tooltip.scss index 3725350ec7c..5a8f4eb76ee 100644 --- a/lib/ReactViews/Custom/Chart/tooltip.scss +++ b/lib/ReactViews/Custom/Chart/tooltip.scss @@ -1,10 +1,10 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .tooltip { font-family: monospace; - color: $text-light !important; - background-color: $chart-darker !important; + color: variables.$text-light !important; + background-color: variables.$chart-darker !important; border-radius: 0px !important; padding: 5px 10px !important; diff --git a/lib/ReactViews/Custom/Chart/tooltip.scss.d.ts b/lib/ReactViews/Custom/Chart/tooltip.scss.d.ts index 2fccb61cb1f..482a9dad924 100644 --- a/lib/ReactViews/Custom/Chart/tooltip.scss.d.ts +++ b/lib/ReactViews/Custom/Chart/tooltip.scss.d.ts @@ -1,20 +1,25 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'group': string; - 'item': string; - 'itemName': string; - 'itemSymbol': string; - 'itemValue': string; - 'tooltip': string; - 'transition-enter': string; - 'transition-enter-active': string; - 'transition-exit': string; - 'transition-exit-active': string; - 'transitionEnter': string; - 'transitionEnterActive': string; - 'transitionExit': string; - 'transitionExitActive': string; +declare namespace TooltipScssNamespace { + export interface ITooltipScss { + group: string; + item: string; + itemName: string; + itemSymbol: string; + itemValue: string; + tooltip: string; + "transition-enter": string; + "transition-enter-active": string; + "transition-exit": string; + "transition-exit-active": string; + transitionEnter: string; + transitionEnterActive: string; + transitionExit: string; + transitionExitActive: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TooltipScssModule: TooltipScssNamespace.ITooltipScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TooltipScssNamespace.ITooltipScss; +}; + +export = TooltipScssModule; diff --git a/lib/ReactViews/DataCatalog/data-catalog-group.scss b/lib/ReactViews/DataCatalog/data-catalog-group.scss index b7cb3e0a226..6a39fb1188e 100644 --- a/lib/ReactViews/DataCatalog/data-catalog-group.scss +++ b/lib/ReactViews/DataCatalog/data-catalog-group.scss @@ -1,9 +1,9 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .root { - font-family: $font-base; - color: $data-catalog-color; + font-family: variables.$font-base; + color: variables.$data-catalog-color; position: relative; } @@ -12,16 +12,16 @@ // position: absolute; // right: 2px; // top: 5px; - color: $color-primary; + color: variables.$color-primary; margin-right: 3px; - @media (max-width: $sm) { + @media (max-width: variables.$sm) { top: 10px; } svg { height: 18px; width: 18px; margin: 3px; - fill: $charcoal-grey; + fill: variables.$charcoal-grey; } } @@ -30,8 +30,8 @@ @extend %wrap; text-align: left; - font-size: $font-size-small; - padding: 8px 30px + $padding; + font-size: variables.$font-size-small; + padding: 8px 30px + variables.$padding; padding-right: 0; min-height: 35px; position: relative; @@ -43,11 +43,11 @@ svg { display: inline-block; } - @media (max-width: $sm) { - font-size: $font-size-mid-small; + @media (max-width: variables.$sm) { + font-size: variables.$font-size-mid-small; padding-top: 10px; padding-bottom: 10px; - border-bottom: 1px solid $grey-lighter; + border-bottom: 1px solid variables.$grey-lighter; } &:hover, @@ -59,8 +59,8 @@ .btnCatalogTopLevel { font-weight: 600; - border-bottom: 1px solid $grey-lighter; - padding-left: $padding; + border-bottom: 1px solid variables.$grey-lighter; + padding-left: variables.$padding; } .isPreviewed { @@ -78,7 +78,7 @@ width: 30px; display: block; } - @media (min-width: $sm) { + @media (min-width: variables.$sm) { top: 5px; svg { height: 25px; @@ -94,9 +94,9 @@ top: 10px; margin: 0 5px 0 10px; svg { - fill: $charcoal-grey; + fill: variables.$charcoal-grey; } - @media (min-width: $sm) { + @media (min-width: variables.$sm) { right: 5px; top: 8px; svg { @@ -111,17 +111,17 @@ .catalog-group { composes: list-reset from "../../Sass/common/_base.scss"; - padding-left: $padding; - padding-top: calc($padding / 2); + padding-left: variables.$padding; + padding-top: calc(variables.$padding / 2); &--lower-level { margin-left: 20px; - border-left: 1px solid $grey-lighter; + border-left: 1px solid variables.$grey-lighter; } } .label { composes: label from "../../Sass/common/_labels.scss"; - font-size: $font-size-small; + font-size: variables.$font-size-small; } .label--no-results { @@ -134,15 +134,15 @@ z-index: 9; right: 30px; top: 5px; - color: $color-primary; + color: variables.$color-primary; margin-right: 3px; - @media (max-width: $sm) { + @media (max-width: variables.$sm) { top: 10px; } svg { height: 18px; width: 18px; margin: 3px; - fill: $charcoal-grey; + fill: variables.$charcoal-grey; } } diff --git a/lib/ReactViews/DataCatalog/data-catalog-group.scss.d.ts b/lib/ReactViews/DataCatalog/data-catalog-group.scss.d.ts index 6054fef9a2a..412662e2bde 100644 --- a/lib/ReactViews/DataCatalog/data-catalog-group.scss.d.ts +++ b/lib/ReactViews/DataCatalog/data-catalog-group.scss.d.ts @@ -1,23 +1,28 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'add-remove-button': string; - 'addRemoveButton': string; - 'btn--catalog': string; - 'btnCatalog': string; - 'btnCatalogTopLevel': string; - 'caret': string; - 'catalog-group': string; - 'catalog-group--lower-level': string; - 'catalogGroup': string; - 'catalogGroupLowerLevel': string; - 'folder': string; - 'label': string; - 'label--no-results': string; - 'labelNoResults': string; - 'offsetRight': string; - 'root': string; - 'trashGroup': string; +declare namespace DataCatalogGroupScssNamespace { + export interface IDataCatalogGroupScss { + "add-remove-button": string; + addRemoveButton: string; + "btn--catalog": string; + btnCatalog: string; + btnCatalogTopLevel: string; + caret: string; + "catalog-group": string; + "catalog-group--lower-level": string; + catalogGroup: string; + catalogGroupLowerLevel: string; + folder: string; + label: string; + "label--no-results": string; + labelNoResults: string; + offsetRight: string; + root: string; + trashGroup: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DataCatalogGroupScssModule: DataCatalogGroupScssNamespace.IDataCatalogGroupScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DataCatalogGroupScssNamespace.IDataCatalogGroupScss; +}; + +export = DataCatalogGroupScssModule; diff --git a/lib/ReactViews/DataCatalog/data-catalog.scss b/lib/ReactViews/DataCatalog/data-catalog.scss index 0c9510b56a0..b2a8e0c3db9 100644 --- a/lib/ReactViews/DataCatalog/data-catalog.scss +++ b/lib/ReactViews/DataCatalog/data-catalog.scss @@ -1,11 +1,11 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .data-catalog { composes: list-reset from "../../Sass/common/_base.scss"; composes: scrollbars from "../../Sass/common/_base.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; overflow-y: auto; overflow-x: hidden; box-sizing: border-box; @@ -14,10 +14,10 @@ left: 0; right: 0; bottom: 0; - top: $modal-header-height; + top: variables.$modal-header-height; - @media (min-width: $sm) { - padding-right: $padding-small; + @media (min-width: variables.$sm) { + padding-right: variables.$padding-small; height: 100%; // replace with this once the search bar is back: calc(100% - #{$input-height + $padding * 3}); position: static; } @@ -25,5 +25,5 @@ .label { composes: label from "../../Sass/common/_labels.scss"; - font-size: $font-size-small; + font-size: variables.$font-size-small; } diff --git a/lib/ReactViews/DataCatalog/data-catalog.scss.d.ts b/lib/ReactViews/DataCatalog/data-catalog.scss.d.ts index 493773656d2..82f7ec61ef4 100644 --- a/lib/ReactViews/DataCatalog/data-catalog.scss.d.ts +++ b/lib/ReactViews/DataCatalog/data-catalog.scss.d.ts @@ -1,9 +1,14 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'data-catalog': string; - 'dataCatalog': string; - 'label': string; +declare namespace DataCatalogScssNamespace { + export interface IDataCatalogScss { + "data-catalog": string; + dataCatalog: string; + label: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DataCatalogScssModule: DataCatalogScssNamespace.IDataCatalogScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DataCatalogScssNamespace.IDataCatalogScss; +}; + +export = DataCatalogScssModule; diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss index 7a572699645..4320a92d203 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss @@ -1,7 +1,7 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; -@include empty-module("url-input"); -@include empty-module("inner"); +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; +@include mixins.empty-module("url-input"); +@include mixins.empty-module("inner"); .tab-panels { width: fit-content; @@ -19,12 +19,12 @@ composes: label from "../../../../Sass/common/_labels.scss"; padding-left: 0; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .tabHeading { font-weight: 500; - border-bottom: 1px solid $dark-lighter; + border-bottom: 1px solid variables.$dark-lighter; margin-bottom: 3vh; display: inline-block; } @@ -44,7 +44,7 @@ composes: field from "../../../../Sass/common/_form.scss"; width: calc(100% - 50px); float: left; - font-family: $font-base; + font-family: variables.$font-base; } &__btn { diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss.d.ts b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss.d.ts index 6e91ce0e1aa..55a2c1d1221 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/add-data.scss.d.ts @@ -1,21 +1,26 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'dropdownList': string; - 'dropdown__list': string; - 'inner': string; - 'label': string; - 'tab-panel': string; - 'tab-panels': string; - 'tabHeading': string; - 'tabPanel': string; - 'tabPanels': string; - 'url-input': string; - 'url-input__btn': string; - 'url-input__text-box': string; - 'urlInput': string; - 'urlInputBtn': string; - 'urlInputTextBox': string; +declare namespace AddDataScssNamespace { + export interface IAddDataScss { + dropdownList: string; + dropdown__list: string; + inner: string; + label: string; + "tab-panel": string; + "tab-panels": string; + tabHeading: string; + tabPanel: string; + tabPanels: string; + "url-input": string; + "url-input__btn": string; + "url-input__text-box": string; + urlInput: string; + urlInputBtn: string; + urlInputTextBox: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const AddDataScssModule: AddDataScssNamespace.IAddDataScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: AddDataScssNamespace.IAddDataScss; +}; + +export = AddDataScssModule; diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss index 972d3134962..cce2b072425 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; .connect-button { composes: btn from "../../../../Sass/common/_buttons.scss"; @@ -9,8 +9,8 @@ } .token-warning { - color: $warning; - font-family: $font-base; + color: variables.$warning; + font-family: variables.$font-base; font-size: 0.9em; } diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss.d.ts b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss.d.ts index ddc99df9ca5..dce164b217c 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/cesium-ion-connector.scss.d.ts @@ -1,20 +1,25 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'add-asset-button': string; - 'addAssetButton': string; - 'assets-list': string; - 'assetsList': string; - 'connect-button': string; - 'connectButton': string; - 'drop-down': string; - 'drop-down-button': string; - 'dropDown': string; - 'dropDownButton': string; - 'token-warning': string; - 'token-warning-hidden': string; - 'tokenWarning': string; - 'tokenWarningHidden': string; +declare namespace CesiumIonConnectorScssNamespace { + export interface ICesiumIonConnectorScss { + "add-asset-button": string; + addAssetButton: string; + "assets-list": string; + assetsList: string; + "connect-button": string; + connectButton: string; + "drop-down": string; + "drop-down-button": string; + dropDown: string; + dropDownButton: string; + "token-warning": string; + "token-warning-hidden": string; + tokenWarning: string; + tokenWarningHidden: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const CesiumIonConnectorScssModule: CesiumIonConnectorScssNamespace.ICesiumIonConnectorScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: CesiumIonConnectorScssNamespace.ICesiumIonConnectorScss; +}; + +export = CesiumIonConnectorScssModule; diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss index 7a803c76142..10f01ed8f27 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss @@ -1,7 +1,7 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; -@include empty-module("file-input"); +@include mixins.empty-module("file-input"); // Add data from url form // @@ -18,7 +18,7 @@ width: 100%; opacity: 0; position: absolute; - padding: $padding; + padding: variables.$padding; cursor: pointer; } diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss.d.ts b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss.d.ts index bb43f807f0b..e0a8ba680b6 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/file-input.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'btn--hover': string; - 'btnHover': string; - 'file-input': string; - 'fileInput': string; - 'input': string; +declare namespace FileInputScssNamespace { + export interface IFileInputScss { + btn: string; + "btn--hover": string; + btnHover: string; + "file-input": string; + fileInput: string; + input: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FileInputScssModule: FileInputScssNamespace.IFileInputScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FileInputScssNamespace.IFileInputScss; +}; + +export = FileInputScssModule; diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss index f61a3073fcb..7c5dbb81d2b 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss @@ -1,15 +1,15 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; .root { height: 100%; - font-family: $font-base; + font-family: variables.$font-base; } .data-catalog { composes: list-reset from "../../../../Sass/common/_base.scss"; - border-top: 1px solid $grey-lighter; - border-bottom: 1px solid $grey-lighter; + border-top: 1px solid variables.$grey-lighter; + border-bottom: 1px solid variables.$grey-lighter; } .left-col { @@ -17,11 +17,11 @@ composes: scrollbars from "../../../../Sass/common/_base.scss"; overflow-y: auto; background: #ffffff; - border-right: 1px solid $grey-lighter; + border-right: 1px solid variables.$grey-lighter; padding-right: 0; .dataTypeTab { - margin-right: $padding-small; + margin-right: variables.$padding-small; } } @@ -30,9 +30,9 @@ height: calc(100% - 30px); width: calc(100% - 30px); overflow: auto; - background: $modal-secondary-bg; + background: variables.$modal-secondary-bg; text-align: center; - color: $dark-lighter; + color: variables.$dark-lighter; line-height: 2; padding: 3vh 6vh; text-align: center; @@ -41,13 +41,13 @@ .tabCenter { text-align: center; - margin: $padding 0; + margin: variables.$padding 0; } .tabLeft { text-align: left; - padding: 0 $padding; - border-top: 1px solid $grey-lighter; + padding: 0 variables.$padding; + border-top: 1px solid variables.$grey-lighter; } .tab-list { @@ -61,8 +61,8 @@ display: inline; width: 15px; height: 15px; - fill: $color-primary; - padding-right: $padding-small; + fill: variables.$color-primary; + padding-right: variables.$padding-small; vertical-align: middle; } } @@ -71,10 +71,10 @@ composes: btn from "../../../../Sass/common/_buttons.scss"; composes: btn-transparent from "../../../../Sass/common/_buttons.scss"; - font-size: $font-size-small; - font-weight: $font-weight-medium; + font-size: variables.$font-size-small; + font-weight: variables.$font-weight-medium; width: 100%; - padding: $padding 0; + padding: variables.$padding 0; // color: $color-primary; &:hover, &:focus, @@ -99,13 +99,13 @@ background: #f6f6f7; width: 100%; margin: 6px 0; - color: $dark-lighter; + color: variables.$dark-lighter; div { margin-top: 5%; } svg { - fill: $grey-lighter; + fill: variables.$grey-lighter; height: 15%; width: 15%; margin: 5% auto; @@ -124,20 +124,18 @@ align-items: center; height: 100%; min-height: 300px; - padding: $padding; + padding: variables.$padding; box-sizing: border-box; } .explanation { - font-family: $font-base; - font-size: $font-size-mid-small; - margin: $padding; + font-family: variables.$font-base; + font-size: variables.$font-size-mid-small; + margin: variables.$padding; } .btn--back-to-my-data { composes: btn from "../../../../Sass/common/_buttons.scss"; - composes: btn-small from "../../../../Sass/common/_buttons.scss"; - composes: btn--left from "../../../../Sass/common/_buttons.scss"; composes: btn-transparent from "../../../../Sass/common/_buttons.scss"; position: absolute; left: 40px; @@ -167,10 +165,10 @@ composes: btn from "../../../../Sass/common/_buttons.scss"; composes: btn-transparent from "../../../../Sass/common/_buttons.scss"; composes: btn-primary from "../../../../Sass/common/_buttons.scss"; - margin-top: $padding; + margin-top: variables.$padding; } .h3 { composes: h3 from "../../../../Sass/common/_base.scss"; - font-size: $font-size-mid-large; + font-size: variables.$font-size-mid-large; } diff --git a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss.d.ts b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss.d.ts index 5297eb3c1eb..31bb3ce94b8 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/Tabs/MyDataTab/my-data-tab.scss.d.ts @@ -1,30 +1,35 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'addedData': string; - 'btn--add-more-data': string; - 'btn--back-to-my-data': string; - 'btnAddMoreData': string; - 'btnBackToMyData': string; - 'data-catalog': string; - 'dataCatalog': string; - 'dataTypeTab': string; - 'dndBox': string; - 'dndBoxInfo': string; - 'explanation': string; - 'h3': string; - 'left-col': string; - 'leftCol': string; - 'oneCol': string; - 'root': string; - 'tab-list': string; - 'tab-list__btn': string; - 'tab-list__item': string; - 'tabCenter': string; - 'tabLeft': string; - 'tabList': string; - 'tabListBtn': string; - 'tabListItem': string; +declare namespace MyDataTabScssNamespace { + export interface IMyDataTabScss { + addedData: string; + "btn--add-more-data": string; + "btn--back-to-my-data": string; + btnAddMoreData: string; + btnBackToMyData: string; + "data-catalog": string; + dataCatalog: string; + dataTypeTab: string; + dndBox: string; + dndBoxInfo: string; + explanation: string; + h3: string; + "left-col": string; + leftCol: string; + oneCol: string; + root: string; + "tab-list": string; + "tab-list__btn": string; + "tab-list__item": string; + tabCenter: string; + tabLeft: string; + tabList: string; + tabListBtn: string; + tabListItem: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MyDataTabScssModule: MyDataTabScssNamespace.IMyDataTabScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MyDataTabScssNamespace.IMyDataTabScss; +}; + +export = MyDataTabScssModule; diff --git a/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss b/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss index 02f83cec63c..60a916d117f 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss +++ b/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .root { height: 100%; @@ -13,24 +13,24 @@ composes: list-reset from "../../../Sass/common/_base.scss"; composes: scrollbars from "../../../Sass/common/_base.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; - background: $modal-secondary-bg; + background: variables.$modal-secondary-bg; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; box-sizing: border-box; - @media (min-width: $sm) { - padding-right: $padding; - margin-top: $padding; - height: calc(100% - #{$input-height}); + @media (min-width: variables.$sm) { + padding-right: variables.$padding; + margin-top: variables.$padding; + height: calc(100% - #{variables.$input-height}); } } .data--catalog-group { composes: list-reset from "../../../Sass/common/_base.scss"; - padding-left: $padding-small; + padding-left: variables.$padding-small; } .label { diff --git a/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss.d.ts b/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss.d.ts index 5f8f232ab47..f69f1e199e0 100644 --- a/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/Tabs/data-catalog-tab.scss.d.ts @@ -1,14 +1,19 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'data--catalog-group': string; - 'data-catalog': string; - 'data-explorer': string; - 'dataCatalog': string; - 'dataCatalogGroup': string; - 'dataExplorer': string; - 'label': string; - 'root': string; +declare namespace DataCatalogTabScssNamespace { + export interface IDataCatalogTabScss { + "data--catalog-group": string; + "data-catalog": string; + "data-explorer": string; + dataCatalog: string; + dataCatalogGroup: string; + dataExplorer: string; + label: string; + root: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DataCatalogTabScssModule: DataCatalogTabScssNamespace.IDataCatalogTabScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DataCatalogTabScssNamespace.IDataCatalogTabScss; +}; + +export = DataCatalogTabScssModule; diff --git a/lib/ReactViews/ExplorerWindow/explorer-window.scss b/lib/ReactViews/ExplorerWindow/explorer-window.scss index b3cc416ce30..7a20f4b83b9 100644 --- a/lib/ReactViews/ExplorerWindow/explorer-window.scss +++ b/lib/ReactViews/ExplorerWindow/explorer-window.scss @@ -1,49 +1,53 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .modal-wrapper { position: fixed; - z-index: $front-component-z-index - 1; - padding-left: $padding * 2; + z-index: variables.$front-component-z-index - 1; + padding-left: variables.$padding * 2; padding-right: 80px; padding-top: calc( - (100vh - #{$modal-content-height} - #{$modal-header-height}) / 2 + ( + 100vh - #{variables.$modal-content-height} - #{variables.$modal-header-height} + ) / 2 ); padding-bottom: calc( - (100vh - #{$modal-content-height} - #{$modal-header-height}) / 2 + ( + 100vh - #{variables.$modal-content-height} - #{variables.$modal-header-height} + ) / 2 ); top: 0; bottom: 0; right: 0; left: 0; - @media (min-width: $md) { - padding-left: 30px + $work-bench-width; + @media (min-width: variables.$md) { + padding-left: 30px + variables.$work-bench-width; padding-right: 30px; } } .explorer-panel { position: relative; - background: $modal-bg; - color: $modal-text; - border-radius: $radius-small; + background: variables.$modal-bg; + color: variables.$modal-text; + border-radius: variables.$radius-small; box-shadow: 0 0 15px 6px rgba(100, 100, 100, 0.3); - z-index: $front-component-z-index - 1; + z-index: variables.$front-component-z-index - 1; height: 100%; max-width: 1200px; margin: 0 auto; - @include transform(translateY(20%)); + @include mixins.transform(translateY(20%)); opacity: 0; - @include transition(all 0.3s); + @include mixins.transition(all 0.3s); &.is-mounted { opacity: 1; - @include transform(none); + @include mixins.transform(none); } a { - @include link($modal-bg); + @include mixins.link(variables.$modal-bg); } } @@ -54,7 +58,7 @@ height: 100%; top: 0; left: 0; - z-index: $front-component-z-index - 10; + z-index: variables.$front-component-z-index - 10; opacity: 1; visibility: visible; } @@ -63,9 +67,9 @@ composes: sm-show from "../../Sass/common/_base.scss"; composes: btn from "../../Sass/common/_buttons.scss"; composes: btn-transparent from "../../Sass/common/_buttons.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; padding: 4px 10px; - margin: $padding-small * 1.5 $padding-small; + margin: variables.$padding-small * 1.5 variables.$padding-small; font-weight: bold; position: absolute; top: 0; @@ -74,7 +78,7 @@ &, &:hover, &:focus { - color: $text-light; + color: variables.$text-light; border: 2px solid rgba(#ffffff, 0.7); border-radius: 3px; } diff --git a/lib/ReactViews/ExplorerWindow/explorer-window.scss.d.ts b/lib/ReactViews/ExplorerWindow/explorer-window.scss.d.ts index 02f5334c9d1..046ae13de11 100644 --- a/lib/ReactViews/ExplorerWindow/explorer-window.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/explorer-window.scss.d.ts @@ -1,16 +1,21 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--close-modal': string; - 'btnCloseModal': string; - 'explorer-panel': string; - 'explorerPanel': string; - 'is-mounted': string; - 'isMounted': string; - 'modal-overlay': string; - 'modal-wrapper': string; - 'modalOverlay': string; - 'modalWrapper': string; +declare namespace ExplorerWindowScssNamespace { + export interface IExplorerWindowScss { + "btn--close-modal": string; + btnCloseModal: string; + "explorer-panel": string; + explorerPanel: string; + "is-mounted": string; + isMounted: string; + "modal-overlay": string; + "modal-wrapper": string; + modalOverlay: string; + modalWrapper: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ExplorerWindowScssModule: ExplorerWindowScssNamespace.IExplorerWindowScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ExplorerWindowScssNamespace.IExplorerWindowScss; +}; + +export = ExplorerWindowScssModule; diff --git a/lib/ReactViews/ExplorerWindow/tabs.scss b/lib/ReactViews/ExplorerWindow/tabs.scss index d6f815f66ac..d747d335063 100644 --- a/lib/ReactViews/ExplorerWindow/tabs.scss +++ b/lib/ReactViews/ExplorerWindow/tabs.scss @@ -1,7 +1,8 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "sass:meta"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; -@include empty-module("tabs"); +@include mixins.empty-module("tabs"); .tab-list { composes: list-reset from "../../Sass/common/_base.scss"; @@ -18,7 +19,7 @@ .tab-panel { width: 100%; - height: $modal-content-height; + height: variables.$modal-content-height; &:focus { outline: none; @@ -28,25 +29,25 @@ .panel-content { composes: clearfix from "../../Sass/common/_base.scss"; position: relative; - background: $modal-bg; - color: $modal-text; - border-top: 1px solid $grey-lighter; + background: variables.$modal-bg; + color: variables.$modal-text; + border-top: 1px solid variables.$grey-lighter; height: 100%; overflow: hidden; border-radius: 3px; } .tab-left-col { - @media (min-width: $sm) { + @media (min-width: variables.$sm) { width: 40%; float: left; height: 100%; - padding: 0 $padding-small; - background: $modal-secondary-bg; + padding: 0 variables.$padding-small; + background: variables.$modal-secondary-bg; display: flex; flex-direction: column; form { - margin: $padding 0; + margin: variables.$padding 0; } } } @@ -54,7 +55,7 @@ :global { .data-explorer, .my-data { - @media (min-width: $sm) { + @media (min-width: variables.$sm) { width: 40%; float: left; height: 100%; @@ -68,15 +69,15 @@ composes: btn from "../../Sass/common/_buttons.scss"; // background: transparent; // color: $text-light; - font-size: $font-size-mid-small; - padding: $padding-small; - margin: $padding; + font-size: variables.$font-size-mid-small; + padding: variables.$padding-small; + margin: variables.$padding; border-radius: 3px; &:hover, &:focus { // background: $text-light; - @if variable-exists(modal-selected) { + @if meta.variable-exists(modal-selected) { // color: $modal-selected; } @else { // color: $color-primary; @@ -86,7 +87,7 @@ .btn--selected { // background: $text-light; - @if variable-exists(modal-selected) { + @if meta.variable-exists(modal-selected) { // color: $modal-selected; } @else { // color: $color-primary; diff --git a/lib/ReactViews/ExplorerWindow/tabs.scss.d.ts b/lib/ReactViews/ExplorerWindow/tabs.scss.d.ts index 16f281461e5..80867857f4f 100644 --- a/lib/ReactViews/ExplorerWindow/tabs.scss.d.ts +++ b/lib/ReactViews/ExplorerWindow/tabs.scss.d.ts @@ -1,19 +1,24 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--tab': string; - 'btnTab': string; - 'panel-content': string; - 'panelContent': string; - 'tab-left-col': string; - 'tab-list': string; - 'tab-list__item': string; - 'tab-panel': string; - 'tabLeftCol': string; - 'tabList': string; - 'tabListItem': string; - 'tabPanel': string; - 'tabs': string; +declare namespace TabsScssNamespace { + export interface ITabsScss { + "btn--tab": string; + btnTab: string; + "panel-content": string; + panelContent: string; + "tab-left-col": string; + "tab-list": string; + "tab-list__item": string; + "tab-panel": string; + tabLeftCol: string; + tabList: string; + tabListItem: string; + tabPanel: string; + tabs: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TabsScssModule: TabsScssNamespace.ITabsScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TabsScssNamespace.ITabsScss; +}; + +export = TabsScssModule; diff --git a/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss b/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss index 2d1dac57e11..c3afa3ebbc8 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss +++ b/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .group { } @@ -8,7 +8,7 @@ } .message-item { - background: $info-color; - color: $dark; + background: variables.$info-color; + color: variables.$dark; padding: 5px 8px; } diff --git a/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss.d.ts b/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss.d.ts index ab9c12ad309..017180b9a7d 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss.d.ts +++ b/lib/ReactViews/FeatureInfo/feature-info-catalog-item.scss.d.ts @@ -1,9 +1,14 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'message-item': string; - 'messageItem': string; - 'sections': string; +declare namespace FeatureInfoCatalogItemScssNamespace { + export interface IFeatureInfoCatalogItemScss { + "message-item": string; + messageItem: string; + sections: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FeatureInfoCatalogItemScssModule: FeatureInfoCatalogItemScssNamespace.IFeatureInfoCatalogItemScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FeatureInfoCatalogItemScssNamespace.IFeatureInfoCatalogItemScss; +}; + +export = FeatureInfoCatalogItemScssModule; diff --git a/lib/ReactViews/FeatureInfo/feature-info-download.scss b/lib/ReactViews/FeatureInfo/feature-info-download.scss index e6775cc2c4b..7f4d713fcba 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-download.scss +++ b/lib/ReactViews/FeatureInfo/feature-info-download.scss @@ -1,5 +1,6 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "sass:meta"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .download { float: right; @@ -7,7 +8,8 @@ } .btn { - composes: btn from "./feature-info-panel.scss"; + // TODO: fix + // composes: btn from "./feature-info-panel.scss"; composes: btn-primary from "../../Sass/common/_buttons.scss"; } @@ -33,19 +35,19 @@ padding-top: 0; padding-bottom: 0; width: 100%; - @if variable-exists(text-link) { + @if meta.variable-exists(text-link) { color: $text-link; } // Outside of a dropdown menu, links are normally shown with the same color on hover. // So, to provide some highlighting on hover in a dropdown menu, use the visited link color, // if it exists and is different from the unvisited link color. &:hover { - @if variable-exists(text-visited-link) and - variable-exists(text-link) and + @if meta.variable-exists(text-visited-link) and + meta.variable-exists(text-link) and ($text-visited-link != $text-link) { color: $text-visited-link; - text-decoration: $link-text-decoration; + text-decoration: variables.$link-text-decoration; } } } diff --git a/lib/ReactViews/FeatureInfo/feature-info-download.scss.d.ts b/lib/ReactViews/FeatureInfo/feature-info-download.scss.d.ts index f1b24ac15d2..e3f0146775e 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-download.scss.d.ts +++ b/lib/ReactViews/FeatureInfo/feature-info-download.scss.d.ts @@ -1,14 +1,19 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'download': string; - 'dropdownButton': string; - 'dropdownList': string; - 'dropdown__button': string; - 'dropdown__list': string; - 'icon--download': string; - 'iconDownload': string; +declare namespace FeatureInfoDownloadScssNamespace { + export interface IFeatureInfoDownloadScss { + btn: string; + download: string; + dropdownButton: string; + dropdownList: string; + dropdown__button: string; + dropdown__list: string; + "icon--download": string; + iconDownload: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FeatureInfoDownloadScssModule: FeatureInfoDownloadScssNamespace.IFeatureInfoDownloadScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FeatureInfoDownloadScssNamespace.IFeatureInfoDownloadScss; +}; + +export = FeatureInfoDownloadScssModule; diff --git a/lib/ReactViews/FeatureInfo/feature-info-panel.scss b/lib/ReactViews/FeatureInfo/feature-info-panel.scss index e8811fd0ee2..54ba9adb53a 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-panel.scss +++ b/lib/ReactViews/FeatureInfo/feature-info-panel.scss @@ -1,14 +1,14 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .panel { - background: $feature-info-bg; - color: $feature-info-color; - border-radius: $radius-small; + background: variables.$feature-info-bg; + color: variables.$feature-info-color; + border-radius: variables.$radius-small; display: none; a { - @include link($feature-info-bg); + @include mixins.link(variables.$feature-info-bg); } } @@ -27,14 +27,14 @@ } .header { - background: $feature-info-header-bg; - padding-right: $input-height; - line-height: $modal-header-height; + background: variables.$feature-info-header-bg; + padding-right: variables.$input-height; + line-height: variables.$modal-header-height; } .btnPanelHeading { padding: 0px 8px; - color: $feature-info-btn-color; + color: variables.$feature-info-btn-color; width: 100%; } @@ -51,14 +51,14 @@ &:hover, &:focus { svg { - fill: $color-primary; + fill: variables.$color-primary; } } svg { height: 10px; width: 10px; display: block; - fill: $feature-info-btn-color; + fill: variables.$feature-info-btn-color; } } @@ -73,7 +73,7 @@ } .btnToggleFeature { - padding: $padding; + padding: variables.$padding; } .no-results { @@ -86,8 +86,10 @@ overflow-y: auto; overflow-x: auto; - max-height: calc(80vh - #{$padding * 2 + $btn-default-line-height}); - font-size: $font-size-feature-info; + max-height: calc( + 80vh - #{variables.$padding * 2 + variables.$btn-default-line-height} + ); + font-size: variables.$font-size-feature-info; } .location { @@ -104,13 +106,13 @@ &:hover { svg { - fill: $color-primary; + fill: variables.$color-primary; } } svg { height: 18px; width: 18px; - fill: $feature-info-btn-color; + fill: variables.$feature-info-btn-color; } } @@ -118,7 +120,7 @@ composes: btn-location; svg { - fill: $color-primary; + fill: variables.$color-primary; } } diff --git a/lib/ReactViews/FeatureInfo/feature-info-panel.scss.d.ts b/lib/ReactViews/FeatureInfo/feature-info-panel.scss.d.ts index 655d295e9a3..643f64dba00 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-panel.scss.d.ts +++ b/lib/ReactViews/FeatureInfo/feature-info-panel.scss.d.ts @@ -1,29 +1,34 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'body': string; - 'btn--close-feature': string; - 'btn--download': string; - 'btn-location': string; - 'btn-location-selected': string; - 'btnCloseFeature': string; - 'btnDownload': string; - 'btnLocation': string; - 'btnLocationSelected': string; - 'btnPanelHeading': string; - 'btnToggleFeature': string; - 'header': string; - 'is-collapsed': string; - 'is-translucent': string; - 'is-visible': string; - 'isCollapsed': string; - 'isTranslucent': string; - 'isVisible': string; - 'location': string; - 'no-results': string; - 'noResults': string; - 'panel': string; - 'satelliteSuggestionBtn': string; +declare namespace FeatureInfoPanelScssNamespace { + export interface IFeatureInfoPanelScss { + body: string; + "btn--close-feature": string; + "btn--download": string; + "btn-location": string; + "btn-location-selected": string; + btnCloseFeature: string; + btnDownload: string; + btnLocation: string; + btnLocationSelected: string; + btnPanelHeading: string; + btnToggleFeature: string; + header: string; + "is-collapsed": string; + "is-translucent": string; + "is-visible": string; + isCollapsed: string; + isTranslucent: string; + isVisible: string; + location: string; + "no-results": string; + noResults: string; + panel: string; + satelliteSuggestionBtn: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FeatureInfoPanelScssModule: FeatureInfoPanelScssNamespace.IFeatureInfoPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FeatureInfoPanelScssNamespace.IFeatureInfoPanelScss; +}; + +export = FeatureInfoPanelScssModule; diff --git a/lib/ReactViews/FeatureInfo/feature-info-section.scss b/lib/ReactViews/FeatureInfo/feature-info-section.scss index 51321a1b286..a26b8be42fc 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-section.scss +++ b/lib/ReactViews/FeatureInfo/feature-info-section.scss @@ -1,21 +1,22 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; -@include empty-module("time-series-chart"); +@use "sass:meta"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; +@include mixins.empty-module("time-series-chart"); .section { composes: clearfix from "../../Sass/common/_base.scss"; - background: $feature-info-section-bg; - border-top: 1px solid $dark-lighter; + background: variables.$feature-info-section-bg; + border-top: 1px solid variables.$dark-lighter; } .title { composes: btn from "../../Sass/common/_buttons.scss"; - color: $feature-info-btn-color; + color: variables.$feature-info-btn-color; position: relative; padding: 4px 30px 4px 8px; margin-right: 30px; width: 100%; - background: $feature-info-header-bg; + background: variables.$feature-info-header-bg; min-height: 40px; margin: 0; border: none; @@ -23,7 +24,7 @@ span { display: block; font-weight: 300; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } svg { height: 10px; @@ -37,15 +38,15 @@ } .content { - padding: $padding-small; + padding: variables.$padding-small; position: relative; // Can't change these to target classes because we're directly styling markup from cesium. table { @extend %clearfix; - font-family: $font-feature-info; + font-family: variables.$font-feature-info; max-width: 100%; - @if variable-exists(feature-info-table-width) { + @if meta.variable-exists(feature-info-table-width) { width: $feature-info-table-width; } border-collapse: collapse; @@ -54,12 +55,12 @@ td { position: relative; border-collapse: collapse; - border: $feature-info-table-border-style; + border: variables.$feature-info-table-border-style; padding: 5px; } tr:nth-child(odd) { - @if variable-exists(feature-info-table-odd-row-bg) { + @if meta.variable-exists(feature-info-table-odd-row-bg) { background-color: $feature-info-table-odd-row-bg; } } diff --git a/lib/ReactViews/FeatureInfo/feature-info-section.scss.d.ts b/lib/ReactViews/FeatureInfo/feature-info-section.scss.d.ts index b3e447cd962..1b50c5b4544 100644 --- a/lib/ReactViews/FeatureInfo/feature-info-section.scss.d.ts +++ b/lib/ReactViews/FeatureInfo/feature-info-section.scss.d.ts @@ -1,13 +1,18 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'content': string; - 'raw-data-button': string; - 'rawDataButton': string; - 'section': string; - 'time-series-chart': string; - 'timeSeriesChart': string; - 'title': string; +declare namespace FeatureInfoSectionScssNamespace { + export interface IFeatureInfoSectionScss { + content: string; + "raw-data-button": string; + rawDataButton: string; + section: string; + "time-series-chart": string; + timeSeriesChart: string; + title: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FeatureInfoSectionScssModule: FeatureInfoSectionScssNamespace.IFeatureInfoSectionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FeatureInfoSectionScssNamespace.IFeatureInfoSectionScss; +}; + +export = FeatureInfoSectionScssModule; diff --git a/lib/ReactViews/Generic/Editor.jsx b/lib/ReactViews/Generic/Editor.jsx index bc9fbc148cc..55bd7bf9e18 100644 --- a/lib/ReactViews/Generic/Editor.jsx +++ b/lib/ReactViews/Generic/Editor.jsx @@ -8,8 +8,8 @@ import "tinymce/icons/default"; import "tinymce/themes/silver"; import "tinymce/models/dom"; /* Import a skin (can be a custom skin instead of the default) */ -// import "!!style-loader!css-loader?sourceMap!tinymce/skins/ui/oxide/skin.min.css"; -import "!!style-loader!css-loader?sourceMap!./editor.skin.min.css"; // Custom borderless skin +// import "!!style-loader!css-loader!tinymce/skins/ui/oxide/skin.min.css"; +import "!!style-loader!css-loader!./editor.skin.min.css"; // Custom borderless skin /* Import TinyMCE plugins */ import "tinymce/plugins/media"; @@ -20,8 +20,8 @@ import "tinymce/plugins/table"; import "tinymce/plugins/autolink"; // Extra css to enable proper behaviour of tinymce, including image resize handles -import contentCss from "!!raw-loader!tinymce/skins/content/default/content.min.css"; -import contentUiCss from "!!raw-loader!tinymce/skins/ui/oxide/content.min.css"; +import contentCss from "tinymce/skins/content/default/content.min.css"; +import contentUiCss from "tinymce/skins/ui/oxide/content.min.css"; export default function TinyEditor(props) { const editorRef = useRef(null); diff --git a/lib/ReactViews/Generic/Prompt.d.ts b/lib/ReactViews/Generic/Prompt.d.ts index 29a61a8cca6..e7b8171a386 100644 --- a/lib/ReactViews/Generic/Prompt.d.ts +++ b/lib/ReactViews/Generic/Prompt.d.ts @@ -2,7 +2,7 @@ import React from "react"; interface PropsType { content: React.ReactNode; - isVisible: boolean; + isVisible?: boolean; displayDelay: number; dismissText: string; dismissAction: () => void; diff --git a/lib/ReactViews/Generic/Prompt.jsx b/lib/ReactViews/Generic/Prompt.jsx index b727934ce14..e9395974c2d 100644 --- a/lib/ReactViews/Generic/Prompt.jsx +++ b/lib/ReactViews/Generic/Prompt.jsx @@ -17,7 +17,7 @@ class Prompt extends React.PureComponent { displayInlineBlock rounded position="absolute" - backgroundColor={this.props.theme.colorPrimary} + backgroundColor={this.props.theme?.colorPrimary} paddedRatio={3} styledWidth={`${this.props.promptWidth || 200}px`} css={` @@ -32,7 +32,7 @@ class Prompt extends React.PureComponent { left: `${this.props.caretLeftOffset || 160}px` }} size={this.props.caretSize || 18} - background={this.props.theme.colorPrimary} + background={this.props.theme?.colorPrimary} /> {this.props.content} diff --git a/lib/ReactViews/Generic/Timer/timer.scss.d.ts b/lib/ReactViews/Generic/Timer/timer.scss.d.ts index a70da74243f..13db47264b6 100644 --- a/lib/ReactViews/Generic/Timer/timer.scss.d.ts +++ b/lib/ReactViews/Generic/Timer/timer.scss.d.ts @@ -1,10 +1,15 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'background-circle': string; - 'backgroundCircle': string; - 'elapsedTime': string; - 'timer': string; +declare namespace TimerScssNamespace { + export interface ITimerScss { + "background-circle": string; + backgroundCircle: string; + elapsedTime: string; + timer: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TimerScssModule: TimerScssNamespace.ITimerScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TimerScssNamespace.ITimerScss; +}; + +export = TimerScssModule; diff --git a/lib/ReactViews/Generic/dropdown.scss b/lib/ReactViews/Generic/dropdown.scss index 682fb3e8334..f7706a42bc8 100644 --- a/lib/ReactViews/Generic/dropdown.scss +++ b/lib/ReactViews/Generic/dropdown.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .dropdown { position: relative; @@ -8,18 +8,20 @@ .list { composes: list-reset from "../../Sass/common/_base.scss"; - @include transform(scaleY(0)); - @include transition(transform $animation-fast cubic-bezier(0.19, 1, 0.22, 1)); - @include transform-origin(center, top); + @include mixins.transform(scaleY(0)); + @include mixins.transition( + transform variables.$animation-fast cubic-bezier(0.19, 1, 0.22, 1) + ); + @include mixins.transform-origin(center, top); position: absolute; min-width: 100%; overflow: hidden; z-index: 9999; box-sizing: border-box; background: #fff; - border-radius: $radius-small; - border: 1px solid rgba($grey, 0.4); - box-shadow: 0px 3px 15px rgba($dark, 0.15); + border-radius: variables.$radius-small; + border: 1px solid rgba(variables.$grey, 0.4); + box-shadow: 0px 3px 15px rgba(variables.$dark, 0.15); &.is-open { transform: scaleY(1); overflow-y: auto; @@ -30,17 +32,17 @@ composes: btn from "../../Sass/common/_buttons.scss"; composes: btn-primary from "../../Sass/common/_buttons.scss"; composes: btn-transparent from "../../Sass/common/_buttons.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; text-align: left; - background: $text-light; - color: $text-dark; - border: 1px solid $field-border; + background: variables.$text-light; + color: variables.$text-dark; + border: 1px solid variables.$field-border; position: relative; &:hover, &:focus { - background: $text-light; - color: $text-dark; - border: 1px solid $color-primary; + background: variables.$text-light; + color: variables.$text-dark; + border: 1px solid variables.$color-primary; } svg { width: 30px; @@ -52,11 +54,11 @@ position: absolute; right: 10px; top: 15px; - fill: $dark-lighter; + fill: variables.$dark-lighter; } &:disabled { - background: $text-light !important; - color: $text-dark; + background: variables.$text-light !important; + color: variables.$text-dark; opacity: 0.3; } } @@ -67,15 +69,15 @@ composes: btn--small from "../../Sass/common/_buttons.scss"; width: 100%; - color: $text-dark; + color: variables.$text-dark; &:hover, &:focus { - color: $dropdown-hover-color; + color: variables.$dropdown-hover-color; } &.is-selected { - color: $color-primary; + color: variables.$color-primary; } } diff --git a/lib/ReactViews/Generic/dropdown.scss.d.ts b/lib/ReactViews/Generic/dropdown.scss.d.ts index 716d7e4c6e8..90cc9579ee9 100644 --- a/lib/ReactViews/Generic/dropdown.scss.d.ts +++ b/lib/ReactViews/Generic/dropdown.scss.d.ts @@ -1,17 +1,22 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--dropdown': string; - 'btn--option': string; - 'btnDropdown': string; - 'btnOption': string; - 'dropdown': string; - 'is-open': string; - 'is-selected': string; - 'isOpen': string; - 'isSelected': string; - 'list': string; - 'myDataDropdown': string; +declare namespace DropdownScssNamespace { + export interface IDropdownScss { + "btn--dropdown": string; + "btn--option": string; + btnDropdown: string; + btnOption: string; + dropdown: string; + "is-open": string; + "is-selected": string; + isOpen: string; + isSelected: string; + list: string; + myDataDropdown: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DropdownScssModule: DropdownScssNamespace.IDropdownScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DropdownScssNamespace.IDropdownScss; +}; + +export = DropdownScssModule; diff --git a/lib/ReactViews/Generic/prompt.scss b/lib/ReactViews/Generic/prompt.scss index 77ba4925cf2..1c80689c910 100644 --- a/lib/ReactViews/Generic/prompt.scss +++ b/lib/ReactViews/Generic/prompt.scss @@ -1,20 +1,20 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .prompt { position: absolute; - background: $color-primary; + background: variables.$color-primary; padding: 16px; width: 200px; top: 40px; left: -80px; text-align: center; color: #ffffff; - font-family: $font-base; + font-family: variables.$font-base; font-size: 0.9rem; - border-radius: $radius-small; + border-radius: variables.$radius-small; opacity: 0; - @include transition(left $animation-fast ease-in); + @include mixins.transition(left variables.$animation-fast ease-in); &.isVisible { opacity: 1; } @@ -39,7 +39,7 @@ } .btn { composes: btn from "../../Sass/common/_buttons.scss"; - margin-top: $padding; + margin-top: variables.$padding; border-bottom: 1px solid #ffffff; &:hover, &:focus { diff --git a/lib/ReactViews/Guidance/guidance-dot.scss b/lib/ReactViews/Guidance/guidance-dot.scss index f5b8ab12e2d..5286782b6f5 100644 --- a/lib/ReactViews/Guidance/guidance-dot.scss +++ b/lib/ReactViews/Guidance/guidance-dot.scss @@ -1,6 +1,6 @@ -@import "~terriajs-mixins"; +@use "../../Sass/common/_mixins"; -@include keyframes(fade-out) { +@include mixins.keyframes(fade-out) { 0% { height: 10px; width: 10px; @@ -31,7 +31,7 @@ opacity: 1; } } -@include keyframes(fade-out-clone) { +@include mixins.keyframes(fade-out-clone) { 0% { opacity: 0; } @@ -78,7 +78,7 @@ width: 10px; transform: translate(-50%, -50%); - @include animation("fade-out"); + @include mixins.animation("fade-out"); // animation-timing-function: cubic-bezier(1, -0.56, 0.78, 0.95); // animation-timing-function: cubic-bezier(0.24, 1.02, 0.92, 0.91); // animation-timing-function: ease-out; @@ -97,7 +97,7 @@ .innerClone { composes: inner; - @include animation("fade-out-clone"); + @include mixins.animation("fade-out-clone"); animation-timing-function: cubic-bezier(0.98, 0.72, 0.44, 0.99); animation-duration: 3s; animation-iteration-count: infinite; diff --git a/lib/ReactViews/Guidance/guidance.scss b/lib/ReactViews/Guidance/guidance.scss index 579cc60de22..d19eb1d5074 100644 --- a/lib/ReactViews/Guidance/guidance.scss +++ b/lib/ReactViews/Guidance/guidance.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .guidance { position: relative; @@ -7,9 +7,9 @@ .context { box-sizing: border-box; width: 256px; - background-color: $modal-bg; + background-color: variables.$modal-bg; padding: 16px; - color: $text-darker; + color: variables.$text-darker; min-height: 136px; border-radius: 4px; @@ -33,7 +33,7 @@ height: 2px; width: 8px; // border: 2px solid #519ac2; - background-color: $color-primary; + background-color: variables.$color-primary; opacity: 0.35; // margin-left: 8px; diff --git a/lib/ReactViews/Guide/guide.scss b/lib/ReactViews/Guide/guide.scss index 4a7c7fa6f49..4e902251944 100644 --- a/lib/ReactViews/Guide/guide.scss +++ b/lib/ReactViews/Guide/guide.scss @@ -1,8 +1,8 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .guide { position: relative; - background-color: $modal-bg; + background-color: variables.$modal-bg; // shadow from design // box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.12), 0 10px 20px 0 rgba(0, 0, 0, 0.05); // box-shadow: $box-shadow; @@ -15,7 +15,7 @@ // width: 384px; - @media (max-width: $sm), (max-height: 540px) { + @media (max-width: variables.$sm), (max-height: 540px) { width: 100%; transform: none; left: 0; @@ -28,7 +28,7 @@ .image { height: 216px; - background-color: $faint-bg; + background-color: variables.$faint-bg; } .image-wrapper { width: 384px; @@ -45,8 +45,8 @@ box-sizing: border-box; // background-color: $modal-bg; - padding: $padding-small * 5; - color: $text-darker; + padding: variables.$padding-small * 5; + color: variables.$text-darker; // IE HACK!@!@!@!!@!@ height: 243px; @@ -71,35 +71,35 @@ } .btn--tertiary { composes: btn--tertiary from "../../Sass/common/_buttons.scss"; - font-size: $font-size-button; + font-size: variables.$font-size-button; } .btn-next { - margin-left: $padding-small; + margin-left: variables.$padding-small; } .inner-close-btn { composes: btn from "../../Sass/common/_buttons.scss"; position: absolute; z-index: 10; - top: $padding-small * 3; - right: $padding-small * 3; + top: variables.$padding-small * 3; + right: variables.$padding-small * 3; padding: 7px; - background-color: $modal-bg; + background-color: variables.$modal-bg; border-radius: 50%; &:hover, &:focus { svg { - fill: $color-secondary; + fill: variables.$color-secondary; } } svg { - fill: $color-primary; - height: $padding; - width: $padding; + fill: variables.$color-primary; + height: variables.$padding; + width: variables.$padding; } } @@ -115,13 +115,13 @@ height: 7px; width: 7px; - background-color: $modal-bg; - border: 1px solid $color-primary; + background-color: variables.$modal-bg; + border: 1px solid variables.$color-primary; margin-right: 7px; border-radius: 50%; } .indicatorEnabled { - background-color: $color-primary; + background-color: variables.$color-primary; } diff --git a/lib/ReactViews/Guide/guide.scss.d.ts b/lib/ReactViews/Guide/guide.scss.d.ts index 9d8252820d6..d2c82fe35cb 100644 --- a/lib/ReactViews/Guide/guide.scss.d.ts +++ b/lib/ReactViews/Guide/guide.scss.d.ts @@ -1,23 +1,28 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'body': string; - 'bodyFooter': string; - 'bodyProgress': string; - 'btn': string; - 'btn--tertiary': string; - 'btn-next': string; - 'btnNext': string; - 'btnTertiary': string; - 'guide': string; - 'image': string; - 'image-wrapper': string; - 'imageWrapper': string; - 'indicator': string; - 'indicatorEnabled': string; - 'indicatorWrapper': string; - 'inner-close-btn': string; - 'innerCloseBtn': string; +declare namespace GuideScssNamespace { + export interface IGuideScss { + body: string; + bodyFooter: string; + bodyProgress: string; + btn: string; + "btn--tertiary": string; + "btn-next": string; + btnNext: string; + btnTertiary: string; + guide: string; + image: string; + "image-wrapper": string; + imageWrapper: string; + indicator: string; + indicatorEnabled: string; + indicatorWrapper: string; + "inner-close-btn": string; + innerCloseBtn: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const GuideScssModule: GuideScssNamespace.IGuideScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: GuideScssNamespace.IGuideScss; +}; + +export = GuideScssModule; diff --git a/lib/ReactViews/Guide/satelliteGuideData.js b/lib/ReactViews/Guide/satelliteGuideData.js index 37b69bc6d77..a24952073ef 100644 --- a/lib/ReactViews/Guide/satelliteGuideData.js +++ b/lib/ReactViews/Guide/satelliteGuideData.js @@ -1,31 +1,29 @@ +import satelliteLocation from "../../../wwwroot/images/guides/satellite-location.jpg"; +import satelliteStyles from "../../../wwwroot/images/guides/satellite-styles.jpg"; +import satelliteTime from "../../../wwwroot/images/guides/satellite-time.jpg"; +import satelliteZoom from "../../../wwwroot/images/guides/satellite-zoom.jpg"; + // Pass i18next.t from React component to re-render on language change function satelliteGuideData(t) { return [ - // { - // imageSrc: require("../../../wwwroot/images/guides/satellite-feature.jpg"), - // title: t("satelliteGuidance.titleI"), - // body: t("satelliteGuidance.bodyI"), - // prevText: t("satelliteGuidance.prevI"), - // nextText: t("satelliteGuidance.nextI") - // }, { - imageSrc: require("../../../wwwroot/images/guides/satellite-zoom.jpg"), + imageSrc: satelliteZoom, title: t("satelliteGuidance.titleII"), body: t("satelliteGuidance.bodyII"), hidePrev: true }, { - imageSrc: require("../../../wwwroot/images/guides/satellite-time.jpg"), + imageSrc: satelliteTime, title: t("satelliteGuidance.titleIII"), body: t("satelliteGuidance.bodyIII") }, { - imageSrc: require("../../../wwwroot/images/guides/satellite-location.jpg"), + imageSrc: satelliteLocation, title: t("satelliteGuidance.titleIV"), body: t("satelliteGuidance.bodyIV") }, { - imageSrc: require("../../../wwwroot/images/guides/satellite-styles.jpg"), + imageSrc: satelliteStyles, title: t("satelliteGuidance.titleV"), body: t("satelliteGuidance.bodyV"), hideNext: true diff --git a/lib/ReactViews/HelpScreens/help-panel.scss b/lib/ReactViews/HelpScreens/help-panel.scss index 5be75ec9651..bb80ab77db7 100644 --- a/lib/ReactViews/HelpScreens/help-panel.scss +++ b/lib/ReactViews/HelpScreens/help-panel.scss @@ -1,22 +1,22 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/_mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/_mixins"; .share-panel { - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .dropdown-inner { - width: $share-panel-width; - @include transform-origin(50%, top); + width: variables.$share-panel-width; + @include mixins.transform-origin(50%, top); } .heading-label { } -@include empty-module("link-wrapper"); +@include mixins.empty-module("link-wrapper"); .link { - @include link($overlay); + @include mixins.link(variables.$overlay); } .viewer-selector, @@ -24,11 +24,11 @@ composes: clearfix from "../../Sass/common/_base.scss"; composes: list-reset from "../../Sass/common/_base.scss"; - margin: 0 -$padding-mini; + margin: 0 - (variables.$padding-mini); } .list-item { - padding: $padding-mini; + padding: variables.$padding-mini; } .btn--viewer { @@ -45,7 +45,7 @@ padding-left: 4px !important; padding-right: 4px !important; - color: $text-light; + color: variables.$text-light; &.is-active { border: 1px solid rgba(255, 255, 255, 0.5); @@ -53,7 +53,7 @@ } .paragraph { - margin: $padding 0; + margin: variables.$padding 0; display: block; } @@ -61,7 +61,7 @@ composes: field from "../../Sass/common/_form.scss"; color: #ddd; - background: $overlay; + background: variables.$overlay; } .shorten-url { diff --git a/lib/ReactViews/HelpScreens/help-screen-window.scss b/lib/ReactViews/HelpScreens/help-screen-window.scss index a9b8c492caa..55d8610e64c 100644 --- a/lib/ReactViews/HelpScreens/help-screen-window.scss +++ b/lib/ReactViews/HelpScreens/help-screen-window.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/_mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/_mixins"; .window { display: none; @@ -9,10 +9,10 @@ width: 300px; top: 50px; z-index: 2500; - color: $text-black; - border-radius: $radius-small; + color: variables.$text-black; + border-radius: variables.$radius-small; box-shadow: 2px 2px 5px #888888; - font-size: $font-size-small !important; + font-size: variables.$font-size-small !important; } .isActive { @@ -21,12 +21,12 @@ .content { z-index: 2500; - padding: $padding; + padding: variables.$padding; position: relative; } .next-button { - font-size: $font-size-small !important; + font-size: variables.$font-size-small !important; } .caret { @@ -37,7 +37,7 @@ background: #fff; position: absolute; z-index: 2400; - @include transform(rotate(45deg)); + @include mixins.transform(rotate(45deg)); } .screen-count { @@ -45,13 +45,13 @@ z-index: 2501; color: white; padding: 6px; - font-size: $font-size-small !important; + font-size: variables.$font-size-small !important; } .btn { composes: btn from "../../Sass/common/_buttons.scss"; composes: btn-primary from "../../Sass/common/_buttons.scss"; padding: 5px !important; - font-size: $font-size-small !important; + font-size: variables.$font-size-small !important; color: white !important; } diff --git a/lib/ReactViews/HelpScreens/obscure-overlay.scss b/lib/ReactViews/HelpScreens/obscure-overlay.scss index 6a5db983bec..922842c174e 100644 --- a/lib/ReactViews/HelpScreens/obscure-overlay.scss +++ b/lib/ReactViews/HelpScreens/obscure-overlay.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/_mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/_mixins"; .topOverlay { position: fixed; diff --git a/lib/ReactViews/HelpScreens/obscure-overlay.scss.d.ts b/lib/ReactViews/HelpScreens/obscure-overlay.scss.d.ts index 8c3552c8604..14a3dd8f0d0 100644 --- a/lib/ReactViews/HelpScreens/obscure-overlay.scss.d.ts +++ b/lib/ReactViews/HelpScreens/obscure-overlay.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'bottomOverlay': string; - 'clearOverlay': string; - 'isActive': string; - 'leftOverlay': string; - 'rightOverlay': string; - 'topOverlay': string; +declare namespace ObscureOverlayScssNamespace { + export interface IObscureOverlayScss { + bottomOverlay: string; + clearOverlay: string; + isActive: string; + leftOverlay: string; + rightOverlay: string; + topOverlay: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ObscureOverlayScssModule: ObscureOverlayScssNamespace.IObscureOverlayScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ObscureOverlayScssNamespace.IObscureOverlayScss; +}; + +export = ObscureOverlayScssModule; diff --git a/lib/ReactViews/Map/BottomBar/Credits/TerriaLogo.tsx b/lib/ReactViews/Map/BottomBar/Credits/TerriaLogo.tsx index fd035fd8688..e4112a66463 100644 --- a/lib/ReactViews/Map/BottomBar/Credits/TerriaLogo.tsx +++ b/lib/ReactViews/Map/BottomBar/Credits/TerriaLogo.tsx @@ -1,7 +1,6 @@ import React, { FC } from "react"; import Box from "../../../../Styled/Box"; - -const logo = require("../../../../../wwwroot/images/terria-watermark.svg"); +import logo from "../../../../../wwwroot/images/terria-watermark.svg"; export const TerriaLogo: FC = () => { return ( diff --git a/lib/ReactViews/Map/MapNavigation/Items/Compass/Compass.tsx b/lib/ReactViews/Map/MapNavigation/Items/Compass/Compass.tsx index 73e2a9cdb52..edaa4dad2a7 100644 --- a/lib/ReactViews/Map/MapNavigation/Items/Compass/Compass.tsx +++ b/lib/ReactViews/Map/MapNavigation/Items/Compass/Compass.tsx @@ -9,8 +9,8 @@ * styles, and will be leaving it as is for now */ // -import { computed, runInAction, when } from "mobx"; import debounce from "lodash-es/debounce"; +import { computed, runInAction, when } from "mobx"; import React from "react"; import { WithTranslation, withTranslation, TFunction } from "react-i18next"; import styled, { DefaultTheme, withTheme } from "styled-components"; @@ -18,21 +18,22 @@ import Cartesian2 from "terriajs-cesium/Source/Core/Cartesian2"; import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; import Ellipsoid from "terriajs-cesium/Source/Core/Ellipsoid"; import CesiumEvent from "terriajs-cesium/Source/Core/Event"; -import getTimestamp from "terriajs-cesium/Source/Core/getTimestamp"; import CesiumMath from "terriajs-cesium/Source/Core/Math"; import Matrix4 from "terriajs-cesium/Source/Core/Matrix4"; import Ray from "terriajs-cesium/Source/Core/Ray"; -import Scene from "terriajs-cesium/Source/Scene/Scene"; import Transforms from "terriajs-cesium/Source/Core/Transforms"; +import getTimestamp from "terriajs-cesium/Source/Core/getTimestamp"; +import CameraFlightPath from "terriajs-cesium/Source/Scene/CameraFlightPath"; +import Scene from "terriajs-cesium/Source/Scene/Scene"; +import compassRotationMarker from "../../../../../../wwwroot/images/compass-rotation-marker.svg"; import isDefined from "../../../../../Core/isDefined"; import Terria from "../../../../../Models/Terria"; import ViewState from "../../../../../ReactViewModels/ViewState"; import Box from "../../../../../Styled/Box"; import Icon, { StyledIcon } from "../../../../../Styled/Icon"; -import { GyroscopeGuidance } from "./GyroscopeGuidance"; import { withTerriaRef } from "../../../../HOCs/withTerriaRef"; import FadeIn from "../../../../Transitions/FadeIn/FadeIn"; -import CameraFlightPath from "terriajs-cesium/Source/Scene/CameraFlightPath"; +import { GyroscopeGuidance } from "./GyroscopeGuidance"; export const COMPASS_LOCAL_PROPERTY_KEY = "CompassHelpPrompted"; @@ -381,7 +382,7 @@ class Compass extends React.PureComponent { this.setState({ active: true })} onMouseOut={() => { diff --git a/lib/ReactViews/Map/MenuBar/HelpButton/help-button.scss.d.ts b/lib/ReactViews/Map/MenuBar/HelpButton/help-button.scss.d.ts index 4837e959355..8878d1019ec 100644 --- a/lib/ReactViews/Map/MenuBar/HelpButton/help-button.scss.d.ts +++ b/lib/ReactViews/Map/MenuBar/HelpButton/help-button.scss.d.ts @@ -1,7 +1,12 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'helpBtn': string; +declare namespace HelpButtonScssNamespace { + export interface IHelpButtonScss { + helpBtn: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const HelpButtonScssModule: HelpButtonScssNamespace.IHelpButtonScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: HelpButtonScssNamespace.IHelpButtonScss; +}; + +export = HelpButtonScssModule; diff --git a/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss b/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss index b3aa3dad359..3585f41e6e8 100644 --- a/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss +++ b/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../../../Sass/common/_variables"; .storyBtn { composes: btn from "../../../../Sass/common/_buttons.scss"; diff --git a/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss.d.ts b/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss.d.ts index e9670fa432f..7495367f370 100644 --- a/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss.d.ts +++ b/lib/ReactViews/Map/MenuBar/StoryButton/story-button.scss.d.ts @@ -1,7 +1,12 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'storyBtn': string; +declare namespace StoryButtonScssNamespace { + export interface IStoryButtonScss { + storyBtn: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const StoryButtonScssModule: StoryButtonScssNamespace.IStoryButtonScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: StoryButtonScssNamespace.IStoryButtonScss; +}; + +export = StoryButtonScssModule; diff --git a/lib/ReactViews/Map/MenuBar/menu-bar.scss b/lib/ReactViews/Map/MenuBar/menu-bar.scss index 0508b8c6abc..aad4ca00e91 100644 --- a/lib/ReactViews/Map/MenuBar/menu-bar.scss +++ b/lib/ReactViews/Map/MenuBar/menu-bar.scss @@ -1,11 +1,11 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .menu-bar { position: absolute; z-index: 108; - top: $map-button-top; + top: variables.$map-button-top; left: 0; - right: $padding; + right: variables.$padding; // todo: find some non-layout-change animation technique for // this flex-menu-bar-workbench problem @@ -26,7 +26,8 @@ composes: clearfix from "../../../Sass/common/_base.scss"; composes: sm-show from "../../../Sass/common/_base.scss"; - margin: 0 $padding-small $padding-small $padding-small; + margin: 0 variables.$padding-small variables.$padding-small + variables.$padding-small; /* Align About button with compass */ // margin-right: 7px; @@ -44,7 +45,7 @@ flex-direction: row; align-items: center; - margin-right: $padding-tiny; + margin-right: variables.$padding-tiny; &:last-child { margin-right: 0; @@ -57,20 +58,23 @@ &:first-child > div > a, &:first-child > button, &:first-child > a { - border-radius: $map-button-border-radius 0 0 $map-button-border-radius; + border-radius: variables.$map-button-border-radius 0 0 + variables.$map-button-border-radius; } &:last-child > div > button, &:last-child > div > a, &:last-child > button, &:last-child > a { - border-radius: 0 $map-button-border-radius $map-button-border-radius 0; + border-radius: 0 variables.$map-button-border-radius + variables.$map-button-border-radius 0; } &:only-child > div > button, &:only-child > div > a, &:only-child > button, &:only-child > a { - border-radius: $map-button-border-radius $map-button-border-radius - $map-button-border-radius $map-button-border-radius; + border-radius: variables.$map-button-border-radius + variables.$map-button-border-radius variables.$map-button-border-radius + variables.$map-button-border-radius; } } diff --git a/lib/ReactViews/Map/MenuBar/menu-bar.scss.d.ts b/lib/ReactViews/Map/MenuBar/menu-bar.scss.d.ts index 4995833f87b..3041b14f08a 100644 --- a/lib/ReactViews/Map/MenuBar/menu-bar.scss.d.ts +++ b/lib/ReactViews/Map/MenuBar/menu-bar.scss.d.ts @@ -1,15 +1,20 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'flex': string; - 'langBtn': string; - 'menu': string; - 'menu-bar': string; - 'menu-bar--workbenchClosed': string; - 'menu-item': string; - 'menuBar': string; - 'menuBarWorkbenchClosed': string; - 'menuItem': string; +declare namespace MenuBarScssNamespace { + export interface IMenuBarScss { + flex: string; + langBtn: string; + menu: string; + "menu-bar": string; + "menu-bar--workbenchClosed": string; + "menu-item": string; + menuBar: string; + menuBarWorkbenchClosed: string; + menuItem: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MenuBarScssModule: MenuBarScssNamespace.IMenuBarScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MenuBarScssNamespace.IMenuBarScss; +}; + +export = MenuBarScssModule; diff --git a/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss b/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss index f926db93df9..398d4375c39 100644 --- a/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss +++ b/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss @@ -1,15 +1,15 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; @import url("https://fonts.googleapis.com/css?family=Nunito:600,800&display=swap"); .help-panel { - font-family: $font-base; + font-family: variables.$font-base; width: 320px; height: 100%; color: #000; background-color: #fff; position: fixed; z-index: 110; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; transition: all 0.25s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); @@ -26,7 +26,7 @@ } .video-panel { - font-family: $font-base; + font-family: variables.$font-base; width: 490px; height: 100%; color: #000; @@ -36,7 +36,7 @@ // right: 0px; top: 0px; z-index: 110; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; transition: all 0.25s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); &.isVisible { @@ -60,10 +60,10 @@ .tourBtn { composes: btn from "../../../../Sass/common/_buttons.scss"; // color: $text-light; - font-size: $font-size-button; - padding: $padding $padding * 2; + font-size: variables.$font-size-button; + padding: variables.$padding variables.$padding * 2; // background-color: #519ac2; - border-radius: $padding * 2; + border-radius: variables.$padding * 2; min-width: 240px; text-align: center; @@ -78,7 +78,7 @@ } } -@include keyframes(story-fade-in) { +@include mixins.keyframes(story-fade-in) { 0% { opacity: 0; } @@ -86,7 +86,7 @@ opacity: 1; } } -@include keyframes(story-fade-out) { +@include mixins.keyframes(story-fade-out) { 0% { opacity: 1; } @@ -95,25 +95,25 @@ } } -@include keyframes(story-slide-up) { +@include mixins.keyframes(story-slide-up) { 0% { - @include transform(translate(-50%, 0%)); + @include mixins.transform(translate(-50%, 0%)); } 100% { - @include transform(translate(-50%, -50%)); + @include mixins.transform(translate(-50%, -50%)); } } -@include keyframes(story-slide-down) { +@include mixins.keyframes(story-slide-down) { 0% { - @include transform(translate(-50%, -50%)); + @include mixins.transform(translate(-50%, -50%)); } 100% { - @include transform(translate(-50%, 0%)); + @include mixins.transform(translate(-50%, 0%)); } } .link { - color: $color-primary; + color: variables.$color-primary; } .videoLink { @@ -144,11 +144,11 @@ bottom: 0; background: rgba(0, 0, 0, 0.6); opacity: 1; - @include animation("story-fade-in 0.3s"); + @include mixins.animation("story-fade-in 0.3s"); } .videoGuide { - box-shadow: $box-shadow; + box-shadow: variables.$box-shadow; margin: 0; width: 90%; height: 90%; @@ -156,7 +156,7 @@ background-size: cover; background-repeat: no-repeat; position: relative; - @include transform(translate(0%, 5%)); + @include mixins.transform(translate(0%, 5%)); transition: all 0.25s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); margin: auto; diff --git a/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss.d.ts b/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss.d.ts index e9c90536fd7..5cc1d061fcc 100644 --- a/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss.d.ts +++ b/lib/ReactViews/Map/Panels/HelpPanel/help-panel.scss.d.ts @@ -1,33 +1,38 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'help-panel': string; - 'help-panel-shifted': string; - 'helpPanel': string; - 'helpPanelShifted': string; - 'isHidden': string; - 'isVisible': string; - 'link': string; - 'shiftedToRight': string; - 'story-fade-in': string; - 'story-fade-out': string; - 'story-slide-down': string; - 'story-slide-up': string; - 'storyFadeIn': string; - 'storyFadeOut': string; - 'storySlideDown': string; - 'storySlideUp': string; - 'tourBtn': string; - 'video-panel': string; - 'videoBtn': string; - 'videoGuide': string; - 'videoGuide--iframe': string; - 'videoGuideIframe': string; - 'videoGuideLoading': string; - 'videoGuideRatio': string; - 'videoGuideWrapperFullScreen': string; - 'videoLink': string; - 'videoPanel': string; +declare namespace HelpPanelScssNamespace { + export interface IHelpPanelScss { + "help-panel": string; + "help-panel-shifted": string; + helpPanel: string; + helpPanelShifted: string; + isHidden: string; + isVisible: string; + link: string; + shiftedToRight: string; + "story-fade-in": string; + "story-fade-out": string; + "story-slide-down": string; + "story-slide-up": string; + storyFadeIn: string; + storyFadeOut: string; + storySlideDown: string; + storySlideUp: string; + tourBtn: string; + "video-panel": string; + videoBtn: string; + videoGuide: string; + "videoGuide--iframe": string; + videoGuideIframe: string; + videoGuideLoading: string; + videoGuideRatio: string; + videoGuideWrapperFullScreen: string; + videoLink: string; + videoPanel: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const HelpPanelScssModule: HelpPanelScssNamespace.IHelpPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: HelpPanelScssNamespace.IHelpPanelScss; +}; + +export = HelpPanelScssModule; diff --git a/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss b/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss index 28b82a81cf8..703c9075462 100644 --- a/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss +++ b/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss @@ -1,8 +1,8 @@ -@import "~terriajs-variables"; -@import "../../../../Sass/common/mixins"; +@use "../../../../Sass/common/_variables"; +@use "../../../../Sass/common/mixins"; .share-panel { - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .catalog-share { @@ -13,47 +13,47 @@ position: relative; text-align: center; width: 50%; - margin-left: $padding-small; + margin-left: variables.$padding-small; } .catalog-share-inner { - background: $grey-lightest; - color: $text-darker; + background: variables.$grey-lightest; + color: variables.$text-darker; } .story-share-inner { - background: $grey-lightest; - color: $text-darker; + background: variables.$grey-lightest; + color: variables.$text-darker; right: 0; text-align: left; } .dropdown-inner { - width: $share-panel-width; - @include transform-origin(50%, top); + width: variables.$share-panel-width; + @include mixins.transform-origin(50%, top); } .btn--catalogShare { - font-size: $font-size-data-preview; + font-size: variables.$font-size-data-preview; background: transparent; - color: $color-primary; + color: variables.$color-primary; box-shadow: none; svg { - fill: $color-primary; + fill: variables.$color-primary; } &:hover, &:focus { - color: $text-light; + color: variables.$text-light; } } .btn--withoutText { svg { - fill: $text-darker; + fill: variables.$text-darker; } // not in design but should give life to the button? &:hover, &:focus { - color: $color-primary; + color: variables.$color-primary; } } diff --git a/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss.d.ts b/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss.d.ts index dae02e39367..0fa1f6827a8 100644 --- a/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss.d.ts +++ b/lib/ReactViews/Map/Panels/SharePanel/share-panel.scss.d.ts @@ -1,22 +1,27 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--catalogShare': string; - 'btn--withoutText': string; - 'btnCatalogShare': string; - 'btnWithoutText': string; - 'catalog-share': string; - 'catalog-share-inner': string; - 'catalogShare': string; - 'catalogShareInner': string; - 'dropdown-inner': string; - 'dropdownInner': string; - 'share-panel': string; - 'sharePanel': string; - 'story-share': string; - 'story-share-inner': string; - 'storyShare': string; - 'storyShareInner': string; +declare namespace SharePanelScssNamespace { + export interface ISharePanelScss { + "btn--catalogShare": string; + "btn--withoutText": string; + btnCatalogShare: string; + btnWithoutText: string; + "catalog-share": string; + "catalog-share-inner": string; + catalogShare: string; + catalogShareInner: string; + "dropdown-inner": string; + dropdownInner: string; + "share-panel": string; + sharePanel: string; + "story-share": string; + "story-share-inner": string; + storyShare: string; + storyShareInner: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const SharePanelScssModule: SharePanelScssNamespace.ISharePanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: SharePanelScssNamespace.ISharePanelScss; +}; + +export = SharePanelScssModule; diff --git a/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss b/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss index 8d5bce94cf9..8fb06100547 100644 --- a/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss +++ b/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../../../Sass/common/_variables"; .toolsPanel { width: 200px; } diff --git a/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss.d.ts b/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss.d.ts index 7614681c1cc..b267abd41e6 100644 --- a/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss.d.ts +++ b/lib/ReactViews/Map/Panels/ToolsPanel/tools-panel.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'dropdown-inner': string; - 'dropdownInner': string; - 'results': string; - 'submit': string; - 'toolsPanel': string; +declare namespace ToolsPanelScssNamespace { + export interface IToolsPanelScss { + "dropdown-inner": string; + dropdownInner: string; + results: string; + submit: string; + toolsPanel: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ToolsPanelScssModule: ToolsPanelScssNamespace.IToolsPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ToolsPanelScssNamespace.IToolsPanelScss; +}; + +export = ToolsPanelScssModule; diff --git a/lib/ReactViews/Map/Panels/panel.scss b/lib/ReactViews/Map/Panels/panel.scss index 861bc28df5c..94ba917b2e7 100644 --- a/lib/ReactViews/Map/Panels/panel.scss +++ b/lib/ReactViews/Map/Panels/panel.scss @@ -1,13 +1,13 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .panel { width: auto; - font-family: $font-base; + font-family: variables.$font-base; } .content { - composes: scrollbars from from "../../../Sass/common/_base.scss"; + composes: scrollbars from "../../../Sass/common/_base.scss"; max-height: calc(100vh - 150px); overflow-y: auto; @@ -15,26 +15,26 @@ } .inner { - @include transform(scale(0) translateZ(0)); - @include transition(0.2s all cubic-bezier(0.4, 0, 0.2, 1)); - @include transform-origin(50%, top); + @include mixins.transform(scale(0) translateZ(0)); + @include mixins.transition(0.2s all cubic-bezier(0.4, 0, 0.2, 1)); + @include mixins.transform-origin(50%, top); - box-shadow: $box-shadow; + box-shadow: variables.$box-shadow; z-index: 20; - border-radius: $radius-small; + border-radius: variables.$radius-small; // background: $dark; - color: $text-light; - border: $border-style; + color: variables.$text-light; + border: variables.$border-style; max-width: calc(100vw - 10px); position: fixed; - top: $mobile-header-height; + top: variables.$mobile-header-height; left: 0; margin: 14px 5px 5px 5px; - @media (min-width: $sm) { + @media (min-width: variables.$sm) { position: absolute; - right: $padding * 2; + right: variables.$padding * 2; top: auto; bottom: auto; left: auto; @@ -42,35 +42,35 @@ } &.is-open { - @include transform(scale(1) translateZ(0)); + @include mixins.transform(scale(1) translateZ(0)); } &.show-dropdown-in-center { - @include transform(scale(0) translate3d(-50%, 0, 0)); + @include mixins.transform(scale(0) translate3d(-50%, 0, 0)); } &.is-open.show-dropdown-in-center { - @include transform(scale(1) translate3d(-50%, 0, 0)); + @include mixins.transform(scale(1) translate3d(-50%, 0, 0)); } &.show-dropdown-as-modal { - @include transform(translate3d(0, -300px, 0)); + @include mixins.transform(translate3d(0, -300px, 0)); opacity: 0; } &.is-open.show-dropdown-as-modal { - @include transform(translate3d(0, 0, 0)); + @include mixins.transform(translate3d(0, 0, 0)); opacity: 1; } button { - color: $text-light; + color: variables.$text-light; } } .inner-close-btn { composes: btn from "../../../Sass/common/_buttons.scss"; position: absolute; z-index: 10; - top: $padding-small; - right: $padding-small; + top: variables.$padding-small; + right: variables.$padding-small; // &:hover, // &:focus { @@ -104,27 +104,27 @@ position: absolute; top: -10px; z-index: -1; - @include transform(rotate(45deg)); + @include mixins.transform(rotate(45deg)); } .label { - padding: $padding-small 0; + padding: variables.$padding-small 0; display: block; } .heading { composes: label; - padding: $padding-small 0; - font-size: $font-size-small; + padding: variables.$padding-small 0; + font-size: variables.$font-size-small; } .sub-heading { composes: label; - font-size: $font-size-mini; + font-size: variables.$font-size-mini; } .section { - padding: $padding-small; + padding: variables.$padding-small; display: block; } @@ -164,7 +164,7 @@ } .button-for-modal-dropdown { svg { - fill: $color-primary; + fill: variables.$color-primary; } } @@ -177,5 +177,5 @@ } .link { - @include link($dark); + @include mixins.link(variables.$dark); } diff --git a/lib/ReactViews/Map/Panels/panel.scss.d.ts b/lib/ReactViews/Map/Panels/panel.scss.d.ts index 0e0ac66d5cb..b2023d8f7b8 100644 --- a/lib/ReactViews/Map/Panels/panel.scss.d.ts +++ b/lib/ReactViews/Map/Panels/panel.scss.d.ts @@ -1,30 +1,35 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'button': string; - 'button-for-modal-dropdown': string; - 'buttonForModalDropdown': string; - 'caret': string; - 'content': string; - 'heading': string; - 'inner': string; - 'inner-close-btn': string; - 'inner-close-btn--for-modal': string; - 'innerCloseBtn': string; - 'innerCloseBtnForModal': string; - 'is-open': string; - 'isOpen': string; - 'label': string; - 'link': string; - 'overlay': string; - 'panel': string; - 'section': string; - 'show-dropdown-as-modal': string; - 'show-dropdown-in-center': string; - 'showDropdownAsModal': string; - 'showDropdownInCenter': string; - 'sub-heading': string; - 'subHeading': string; +declare namespace PanelScssNamespace { + export interface IPanelScss { + button: string; + "button-for-modal-dropdown": string; + buttonForModalDropdown: string; + caret: string; + content: string; + heading: string; + inner: string; + "inner-close-btn": string; + "inner-close-btn--for-modal": string; + innerCloseBtn: string; + innerCloseBtnForModal: string; + "is-open": string; + isOpen: string; + label: string; + link: string; + overlay: string; + panel: string; + section: string; + "show-dropdown-as-modal": string; + "show-dropdown-in-center": string; + showDropdownAsModal: string; + showDropdownInCenter: string; + "sub-heading": string; + subHeading: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const PanelScssModule: PanelScssNamespace.IPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: PanelScssNamespace.IPanelScss; +}; + +export = PanelScssModule; diff --git a/lib/ReactViews/Map/Panels/setting-panel.scss b/lib/ReactViews/Map/Panels/setting-panel.scss index 2e4e22ebbab..c7b60a59a94 100644 --- a/lib/ReactViews/Map/Panels/setting-panel.scss +++ b/lib/ReactViews/Map/Panels/setting-panel.scss @@ -1,6 +1,6 @@ -@import "~terriajs-variables"; -@import "../../../Sass/common/mixins"; +@use "../../../Sass/common/_variables"; +@use "../../../Sass/common/mixins"; .dropdown-inner { - width: $setting-panel; + width: variables.$setting-panel; } diff --git a/lib/ReactViews/Map/Panels/setting-panel.scss.d.ts b/lib/ReactViews/Map/Panels/setting-panel.scss.d.ts index 30ef3b7f31f..b9e05838e56 100644 --- a/lib/ReactViews/Map/Panels/setting-panel.scss.d.ts +++ b/lib/ReactViews/Map/Panels/setting-panel.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'dropdown-inner': string; - 'dropdownInner': string; +declare namespace SettingPanelScssNamespace { + export interface ISettingPanelScss { + "dropdown-inner": string; + dropdownInner: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const SettingPanelScssModule: SettingPanelScssNamespace.ISettingPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: SettingPanelScssNamespace.ISettingPanelScss; +}; + +export = SettingPanelScssModule; diff --git a/lib/ReactViews/Mobile/mobile-header.scss b/lib/ReactViews/Mobile/mobile-header.scss index faa0eb31ed3..fc7a07d943c 100644 --- a/lib/ReactViews/Mobile/mobile-header.scss +++ b/lib/ReactViews/Mobile/mobile-header.scss @@ -1,14 +1,14 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .ui { position: fixed; top: 0; left: 0; width: 100vw; - height: $mobile-header-height; + height: variables.$mobile-header-height; z-index: 102; - @media (min-width: $sm) { + @media (min-width: variables.$sm) { left: -99999px; } } @@ -17,10 +17,10 @@ composes: sm-hide from "../../Sass/common/_base.scss"; composes: clearfix from "../../Sass/common/_base.scss"; justify-content: space-between; - font-family: $font-pop; + font-family: variables.$font-pop; width: 100%; - background: $dark; - padding: $padding-small; + background: variables.$dark; + padding: variables.$padding-small; height: 100%; box-sizing: border-box; } @@ -37,8 +37,9 @@ composes: btn; position: relative; - margin: 0 $padding-small; - padding: $padding $padding $padding $padding * 3; + margin: 0 variables.$padding-small; + padding: variables.$padding variables.$padding variables.$padding + variables.$padding * 3; width: auto; text-align: right; font-size: 0.95rem; @@ -46,16 +47,16 @@ svg { position: absolute; - top: $padding; - left: calc($padding / 2); + top: variables.$padding; + left: calc(variables.$padding / 2); fill: #ffffff; } } .btn-search { composes: btn; - margin: 0 $padding-small; - padding: $padding-small; + margin: 0 variables.$padding-small; + padding: variables.$padding-small; position: relative; width: 40px; border-radius: 4px; @@ -68,9 +69,9 @@ .btn-now-viewing { composes: btn; - margin: 0 $padding-small; - padding: $padding-small; - padding-right: $padding; + margin: 0 variables.$padding-small; + padding: variables.$padding-small; + padding-right: variables.$padding; position: relative; width: 50px; svg { @@ -80,8 +81,8 @@ } .nowViewingCount { position: absolute; - top: $padding-small; - right: $padding-small; + top: variables.$padding-small; + right: variables.$padding-small; } .doubleDigit { font-size: 0.8rem; diff --git a/lib/ReactViews/Mobile/mobile-header.scss.d.ts b/lib/ReactViews/Mobile/mobile-header.scss.d.ts index f937e185b15..1b2ed20aa86 100644 --- a/lib/ReactViews/Mobile/mobile-header.scss.d.ts +++ b/lib/ReactViews/Mobile/mobile-header.scss.d.ts @@ -1,23 +1,28 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'btn-add': string; - 'btn-now-viewing': string; - 'btn-search': string; - 'btnAdd': string; - 'btnNowViewing': string; - 'btnSearch': string; - 'doubleDigit': string; - 'formSearchData': string; - 'group-left': string; - 'group-right': string; - 'groupLeft': string; - 'groupRight': string; - 'mobile-header': string; - 'mobileHeader': string; - 'nowViewingCount': string; - 'ui': string; +declare namespace MobileHeaderScssNamespace { + export interface IMobileHeaderScss { + btn: string; + "btn-add": string; + "btn-now-viewing": string; + "btn-search": string; + btnAdd: string; + btnNowViewing: string; + btnSearch: string; + doubleDigit: string; + formSearchData: string; + "group-left": string; + "group-right": string; + groupLeft: string; + groupRight: string; + "mobile-header": string; + mobileHeader: string; + nowViewingCount: string; + ui: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MobileHeaderScssModule: MobileHeaderScssNamespace.IMobileHeaderScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MobileHeaderScssNamespace.IMobileHeaderScss; +}; + +export = MobileHeaderScssModule; diff --git a/lib/ReactViews/Mobile/mobile-menu-item.scss b/lib/ReactViews/Mobile/mobile-menu-item.scss index ac17cbdc136..7edeec60458 100644 --- a/lib/ReactViews/Mobile/mobile-menu-item.scss +++ b/lib/ReactViews/Mobile/mobile-menu-item.scss @@ -1,7 +1,7 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .root { - padding: 0 $padding-small * 3; + padding: 0 variables.$padding-small * 3; } .link { @@ -10,30 +10,30 @@ font-size: 1rem; width: 100%; text-align: left; - padding: $padding-small * 3 0; - color: $text-dark; + padding: variables.$padding-small * 3 0; + color: variables.$text-dark; display: block; - border-bottom: 1px solid $grey-lighter; + border-bottom: 1px solid variables.$grey-lighter; font-weight: 400; display: flex; justify-content: space-between; svg { - fill: $text-dark; + fill: variables.$text-dark; width: 14px; height: 14px; padding: 3px; } &:hover, &:focus { - color: $color-primary; + color: variables.$color-primary; text-decoration: underline; - border-bottom: 1px solid $grey-lighter; + border-bottom: 1px solid variables.$grey-lighter; svg { - fill: $color-primary; + fill: variables.$color-primary; } } } .icon { - margin-right: $padding-small; + margin-right: variables.$padding-small; } diff --git a/lib/ReactViews/Mobile/mobile-menu-item.scss.d.ts b/lib/ReactViews/Mobile/mobile-menu-item.scss.d.ts index c5c6833e135..65403786f8f 100644 --- a/lib/ReactViews/Mobile/mobile-menu-item.scss.d.ts +++ b/lib/ReactViews/Mobile/mobile-menu-item.scss.d.ts @@ -1,9 +1,14 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'icon': string; - 'link': string; - 'root': string; +declare namespace MobileMenuItemScssNamespace { + export interface IMobileMenuItemScss { + icon: string; + link: string; + root: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MobileMenuItemScssModule: MobileMenuItemScssNamespace.IMobileMenuItemScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MobileMenuItemScssNamespace.IMobileMenuItemScss; +}; + +export = MobileMenuItemScssModule; diff --git a/lib/ReactViews/Mobile/mobile-menu.scss b/lib/ReactViews/Mobile/mobile-menu.scss index ccdd82ca31c..11bb8bacca7 100644 --- a/lib/ReactViews/Mobile/mobile-menu.scss +++ b/lib/ReactViews/Mobile/mobile-menu.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .overlay { position: fixed; @@ -14,9 +14,9 @@ position: absolute; left: 0; right: 0; - top: $mobile-header-height; - background: $mobile-main-bg; - color: $mobile-text; + top: variables.$mobile-header-height; + background: variables.$mobile-main-bg; + color: variables.$mobile-text; text-align: left; &--hidden { diff --git a/lib/ReactViews/Mobile/mobile-menu.scss.d.ts b/lib/ReactViews/Mobile/mobile-menu.scss.d.ts index fa9eeff9785..460dbd05b2b 100644 --- a/lib/ReactViews/Mobile/mobile-menu.scss.d.ts +++ b/lib/ReactViews/Mobile/mobile-menu.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'mobile-nav': string; - 'mobile-nav--hidden': string; - 'mobileNav': string; - 'mobileNavHidden': string; - 'overlay': string; +declare namespace MobileMenuScssNamespace { + export interface IMobileMenuScss { + "mobile-nav": string; + "mobile-nav--hidden": string; + mobileNav: string; + mobileNavHidden: string; + overlay: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MobileMenuScssModule: MobileMenuScssNamespace.IMobileMenuScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MobileMenuScssNamespace.IMobileMenuScss; +}; + +export = MobileMenuScssModule; diff --git a/lib/ReactViews/Mobile/mobile-modal-window.scss b/lib/ReactViews/Mobile/mobile-modal-window.scss index 44d701d1873..1183cdedd44 100644 --- a/lib/ReactViews/Mobile/mobile-modal-window.scss +++ b/lib/ReactViews/Mobile/mobile-modal-window.scss @@ -1,15 +1,15 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .mobileModal { composes: scrollbars from "../../Sass/common/_base.scss"; position: fixed; - top: $mobile-header-height; + top: variables.$mobile-header-height; bottom: 0; background: rgba(#fff, 0.9); left: 0; right: 0; - color: $modal-text; + color: variables.$modal-text; display: none; overflow-x: hidden; overflow-y: hidden; @@ -29,9 +29,9 @@ } .modal-top { - height: $mobile-modal-top-height; + height: variables.$mobile-modal-top-height; width: 100%; - background: $color-primary; + background: variables.$color-primary; box-shadow: 2px 0 2px rgba(100, 100, 100, 0.5); } @@ -46,7 +46,7 @@ composes: button; float: right; - padding: $padding; + padding: variables.$padding; } .back-button { diff --git a/lib/ReactViews/Mobile/mobile-modal-window.scss.d.ts b/lib/ReactViews/Mobile/mobile-modal-window.scss.d.ts index 59cc5f8201b..0a5eb97b207 100644 --- a/lib/ReactViews/Mobile/mobile-modal-window.scss.d.ts +++ b/lib/ReactViews/Mobile/mobile-modal-window.scss.d.ts @@ -1,22 +1,27 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'back-button': string; - 'back-button--inactive': string; - 'backButton': string; - 'backButtonInactive': string; - 'button': string; - 'data-catalog': string; - 'dataCatalog': string; - 'done-button': string; - 'doneButton': string; - 'icon-back': string; - 'iconBack': string; - 'isOpen': string; - 'mobileModal': string; - 'modal-top': string; - 'modalBg': string; - 'modalTop': string; +declare namespace MobileModalWindowScssNamespace { + export interface IMobileModalWindowScss { + "back-button": string; + "back-button--inactive": string; + backButton: string; + backButtonInactive: string; + button: string; + "data-catalog": string; + dataCatalog: string; + "done-button": string; + doneButton: string; + "icon-back": string; + iconBack: string; + isOpen: string; + mobileModal: string; + "modal-top": string; + modalBg: string; + modalTop: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MobileModalWindowScssModule: MobileModalWindowScssNamespace.IMobileModalWindowScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MobileModalWindowScssNamespace.IMobileModalWindowScss; +}; + +export = MobileModalWindowScssModule; diff --git a/lib/ReactViews/Mobile/mobile-search.scss b/lib/ReactViews/Mobile/mobile-search.scss index 232b1f38f1d..fdc71b8350a 100644 --- a/lib/ReactViews/Mobile/mobile-search.scss +++ b/lib/ReactViews/Mobile/mobile-search.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .mobileSearch { } @@ -8,7 +8,7 @@ composes: list-reset from "../../Sass/common/_base.scss"; &.results { - padding: 0 $padding $padding $padding; + padding: 0 variables.$padding variables.$padding variables.$padding; } li { @@ -19,20 +19,22 @@ .label { color: #3f4854; font-size: 12px; - padding: $padding-small $padding; + padding: variables.$padding-small variables.$padding; display: block; } .location { - height: calc(100vh - #{$workbench-header + $logo-height}); + height: calc(100vh - #{variables.$workbench-header + variables.$logo-height}); - @media (max-width: $sm) { - height: calc(100vh - #{$mobile-header-height + $modal-header-height}); + @media (max-width: variables.$sm) { + height: calc( + 100vh - #{variables.$mobile-header-height + variables.$modal-header-height} + ); } } .provider-result { - margin-top: $padding-small; + margin-top: variables.$padding-small; .items { display: none; } @@ -43,4 +45,4 @@ composes: list-reset from "../../Sass/common/_base.scss"; } -@include empty-module("data"); +@include mixins.empty-module("data"); diff --git a/lib/ReactViews/Mobile/mobile-search.scss.d.ts b/lib/ReactViews/Mobile/mobile-search.scss.d.ts index 12ae8aae45b..a4226b60f0e 100644 --- a/lib/ReactViews/Mobile/mobile-search.scss.d.ts +++ b/lib/ReactViews/Mobile/mobile-search.scss.d.ts @@ -1,14 +1,19 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btnList': string; - 'data': string; - 'items': string; - 'label': string; - 'location': string; - 'provider-result': string; - 'providerResult': string; - 'results': string; +declare namespace MobileSearchScssNamespace { + export interface IMobileSearchScss { + btnList: string; + data: string; + items: string; + label: string; + location: string; + "provider-result": string; + providerResult: string; + results: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MobileSearchScssModule: MobileSearchScssNamespace.IMobileSearchScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MobileSearchScssNamespace.IMobileSearchScss; +}; + +export = MobileSearchScssModule; diff --git a/lib/ReactViews/Notification/map-interaction-window.scss b/lib/ReactViews/Notification/map-interaction-window.scss index b88979d73f8..6dd99593b40 100644 --- a/lib/ReactViews/Notification/map-interaction-window.scss +++ b/lib/ReactViews/Notification/map-interaction-window.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .window { display: none; @@ -12,7 +12,7 @@ top: 50px; z-index: 999; color: #000; - padding: $padding; + padding: variables.$padding; } .isActive { @@ -20,7 +20,7 @@ } .content { - margin-bottom: $padding; + margin-bottom: variables.$padding; } .btn { diff --git a/lib/ReactViews/Notification/map-interaction-window.scss.d.ts b/lib/ReactViews/Notification/map-interaction-window.scss.d.ts index 661ef89a9b6..2d9af60eede 100644 --- a/lib/ReactViews/Notification/map-interaction-window.scss.d.ts +++ b/lib/ReactViews/Notification/map-interaction-window.scss.d.ts @@ -1,10 +1,15 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'content': string; - 'isActive': string; - 'window': string; +declare namespace MapInteractionWindowScssNamespace { + export interface IMapInteractionWindowScss { + btn: string; + content: string; + isActive: string; + window: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MapInteractionWindowScssModule: MapInteractionWindowScssNamespace.IMapInteractionWindowScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MapInteractionWindowScssNamespace.IMapInteractionWindowScss; +}; + +export = MapInteractionWindowScssModule; diff --git a/lib/ReactViews/Notification/notification-window.scss b/lib/ReactViews/Notification/notification-window.scss index 631bfbe316a..2e48476abbb 100644 --- a/lib/ReactViews/Notification/notification-window.scss +++ b/lib/ReactViews/Notification/notification-window.scss @@ -1,23 +1,23 @@ @use "sass:color"; -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .wrapper { composes: flex from "../../Sass/common/_base.scss"; - color: $text-light; - font-family: $font-base; + color: variables.$text-light; + font-family: variables.$font-base; position: fixed; top: 0; left: 0; bottom: 0; right: 0; - z-index: $notification-window-z-index; + z-index: variables.$notification-window-z-index; align-items: center; justify-content: center; a { - @include link($dark); + @include mixins.link(variables.$dark); } pre { display: block; @@ -27,8 +27,8 @@ } .notification { - border-radius: $radius-small; - border: 1px solid color.adjust($dark, $lightness: -3%); + border-radius: variables.$radius-small; + border: 1px solid color.adjust(variables.$dark, $lightness: -3%); // background: $dark; z-index: 300; pre { @@ -56,9 +56,9 @@ .inner { composes: scrollbars from "../../Sass/common/_base.scss"; - padding: $padding $padding * 2; + padding: variables.$padding variables.$padding * 2; height: 100%; - max-height: calc(100vh - #{$input-height * 3}); + max-height: calc(100vh - #{variables.$input-height * 3}); overflow-y: auto; max-width: calc(100vw - 20px); box-sizing: border-box; @@ -69,16 +69,16 @@ } .body { - font-size: $font-size-small; + font-size: variables.$font-size-small; } .btn { composes: btn from "../../Sass/common/_buttons.scss"; - padding: $padding; + padding: variables.$padding; background: rgba(#fff, 0.5); text-align: center; width: 100%; - font-size: $font-size-small; - color: $text-light; - border-radius: 0 0 $radius-small $radius-small; + font-size: variables.$font-size-small; + color: variables.$text-light; + border-radius: 0 0 variables.$radius-small variables.$radius-small; } diff --git a/lib/ReactViews/Notification/notification-window.scss.d.ts b/lib/ReactViews/Notification/notification-window.scss.d.ts index f8be388f2c8..16ef0db28c6 100644 --- a/lib/ReactViews/Notification/notification-window.scss.d.ts +++ b/lib/ReactViews/Notification/notification-window.scss.d.ts @@ -1,13 +1,18 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'body': string; - 'btn': string; - 'footer': string; - 'inner': string; - 'notification': string; - 'title': string; - 'wrapper': string; +declare namespace NotificationWindowScssNamespace { + export interface INotificationWindowScss { + body: string; + btn: string; + footer: string; + inner: string; + notification: string; + title: string; + wrapper: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const NotificationWindowScssModule: NotificationWindowScssNamespace.INotificationWindowScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: NotificationWindowScssNamespace.INotificationWindowScss; +}; + +export = NotificationWindowScssModule; diff --git a/lib/ReactViews/Preview/data-preview-map.scss b/lib/ReactViews/Preview/data-preview-map.scss index ea613e0f02c..3619280fcfb 100644 --- a/lib/ReactViews/Preview/data-preview-map.scss +++ b/lib/ReactViews/Preview/data-preview-map.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .map { position: relative; diff --git a/lib/ReactViews/Preview/data-preview-map.scss.d.ts b/lib/ReactViews/Preview/data-preview-map.scss.d.ts index da1454f6583..0aa9558165e 100644 --- a/lib/ReactViews/Preview/data-preview-map.scss.d.ts +++ b/lib/ReactViews/Preview/data-preview-map.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'badge': string; - 'map': string; - 'placeholder': string; - 'terria-preview': string; - 'terriaPreview': string; +declare namespace DataPreviewMapScssNamespace { + export interface IDataPreviewMapScss { + badge: string; + map: string; + placeholder: string; + "terria-preview": string; + terriaPreview: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DataPreviewMapScssModule: DataPreviewMapScssNamespace.IDataPreviewMapScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DataPreviewMapScssNamespace.IDataPreviewMapScss; +}; + +export = DataPreviewMapScssModule; diff --git a/lib/ReactViews/Preview/data-preview.scss b/lib/ReactViews/Preview/data-preview.scss index 58d7e36d031..e38d1d7f1a6 100644 --- a/lib/ReactViews/Preview/data-preview.scss +++ b/lib/ReactViews/Preview/data-preview.scss @@ -1,15 +1,15 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .preview { width: 100%; height: 100%; overflow: hidden; - font-family: $font-base; - font-size: $font-size-mid-small; + font-family: variables.$font-base; + font-size: variables.$font-size-mid-small; - @media (max-width: $sm) { - height: calc(100% - #{$mobile-modal-top-height}); + @media (max-width: variables.$sm) { + height: calc(100% - #{variables.$mobile-modal-top-height}); composes: scrollbars from "../../Sass/common/_base.scss"; overflow: auto; } @@ -17,14 +17,14 @@ .placeholder { text-align: center; - color: $text-dark; + color: variables.$text-dark; padding-top: 80px; } .btn--back-to-map { composes: btn from "../../Sass/common/_buttons.scss"; composes: btn--tertiary from "../../Sass/common/_buttons.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .preview__inner { @@ -33,8 +33,8 @@ overflow-x: auto; composes: scrollbars from "../../Sass/common/_base.scss"; - margin: 0 $padding-small; - padding: $padding * 2; + margin: 0 variables.$padding-small; + padding: variables.$padding * 2; position: relative; box-sizing: border-box; @@ -42,7 +42,7 @@ margin: 0; } - @media (min-width: $sm) { + @media (min-width: variables.$sm) { h3 { margin: 0.5em 0; } @@ -52,7 +52,7 @@ .preview-chart { padding-top: 10px; margin: 20px 0; - background: $modal-secondary-bg; + background: variables.$modal-secondary-bg; } .field { @@ -62,7 +62,7 @@ .h4 { composes: h4 from "../../Sass/common/_base.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .h3 { diff --git a/lib/ReactViews/Preview/data-preview.scss.d.ts b/lib/ReactViews/Preview/data-preview.scss.d.ts index fdcf9ba6dc7..da58ad79ccb 100644 --- a/lib/ReactViews/Preview/data-preview.scss.d.ts +++ b/lib/ReactViews/Preview/data-preview.scss.d.ts @@ -1,17 +1,22 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--back-to-map': string; - 'btnBackToMap': string; - 'field': string; - 'h3': string; - 'h4': string; - 'placeholder': string; - 'preview': string; - 'preview-chart': string; - 'previewChart': string; - 'previewInner': string; - 'preview__inner': string; +declare namespace DataPreviewScssNamespace { + export interface IDataPreviewScss { + "btn--back-to-map": string; + btnBackToMap: string; + field: string; + h3: string; + h4: string; + placeholder: string; + preview: string; + "preview-chart": string; + previewChart: string; + previewInner: string; + preview__inner: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DataPreviewScssModule: DataPreviewScssNamespace.IDataPreviewScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DataPreviewScssNamespace.IDataPreviewScss; +}; + +export = DataPreviewScssModule; diff --git a/lib/ReactViews/Preview/mappable-preview.scss b/lib/ReactViews/Preview/mappable-preview.scss index 090e011ad4a..c9b150648c8 100644 --- a/lib/ReactViews/Preview/mappable-preview.scss +++ b/lib/ReactViews/Preview/mappable-preview.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .root { } @@ -11,17 +11,17 @@ padding: 10px; // toggle-enable data-preview__add-to-map - @media (min-width: $sm) { + @media (min-width: variables.$sm) { display: inline-block; width: inherit; position: absolute; - top: $padding * 2; - right: $padding * 2; + top: variables.$padding * 2; + right: variables.$padding * 2; } } .previewed--info { - margin: 2 * $padding 0; + margin: 2 * variables.$padding 0; } .field { @@ -51,7 +51,7 @@ } .share-link--wrapper { - margin-top: $padding; + margin-top: variables.$padding; min-width: 118px; float: right; } @@ -59,19 +59,19 @@ .h3 { composes: h3 from "../../Sass/common/_base.scss"; margin-top: 0; - padding-right: $padding-small; + padding-right: variables.$padding-small; float: left; width: 80%; - font-size: $font-size-mid-large; + font-size: variables.$font-size-mid-large; } .h4 { composes: h4 from "../../Sass/common/_base.scss"; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; } .error { - color: $grey; + color: variables.$grey; } .metadata { @@ -82,7 +82,7 @@ composes: btn from "../../Sass/common/_buttons.scss"; composes: btn-primary from "../../Sass/common/_buttons.scss"; padding: 8px; - @media (min-width: $sm) { + @media (min-width: variables.$sm) { display: inline-block; width: inherit; } diff --git a/lib/ReactViews/Preview/mappable-preview.scss.d.ts b/lib/ReactViews/Preview/mappable-preview.scss.d.ts index ed802f3ff99..5a08f196be7 100644 --- a/lib/ReactViews/Preview/mappable-preview.scss.d.ts +++ b/lib/ReactViews/Preview/mappable-preview.scss.d.ts @@ -1,22 +1,27 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--add': string; - 'btn--add-all': string; - 'btnAdd': string; - 'btnAddAll': string; - 'description': string; - 'error': string; - 'field': string; - 'h3': string; - 'h4': string; - 'metadata': string; - 'previewed--info': string; - 'previewedInfo': string; - 'share-link--wrapper': string; - 'shareLinkWrapper': string; - 'title-and-share-wrapper': string; - 'titleAndShareWrapper': string; +declare namespace MappablePreviewScssNamespace { + export interface IMappablePreviewScss { + "btn--add": string; + "btn--add-all": string; + btnAdd: string; + btnAddAll: string; + description: string; + error: string; + field: string; + h3: string; + h4: string; + metadata: string; + "previewed--info": string; + previewedInfo: string; + "share-link--wrapper": string; + shareLinkWrapper: string; + "title-and-share-wrapper": string; + titleAndShareWrapper: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MappablePreviewScssModule: MappablePreviewScssNamespace.IMappablePreviewScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MappablePreviewScssNamespace.IMappablePreviewScss; +}; + +export = MappablePreviewScssModule; diff --git a/lib/ReactViews/Preview/metadata-table.scss b/lib/ReactViews/Preview/metadata-table.scss index d70de7c0031..3b33a8bdf9a 100644 --- a/lib/ReactViews/Preview/metadata-table.scss +++ b/lib/ReactViews/Preview/metadata-table.scss @@ -1,17 +1,17 @@ @use "sass:color"; -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .root table { overflow-x: auto; } .root table tr:nth-child(odd) { - background-color: color.adjust($faint-bg, $lightness: -8%); + background-color: color.adjust(variables.$faint-bg, $lightness: -8%); } .root table tr:nth-child(even) { - background-color: $faint-bg; + background-color: variables.$faint-bg; } .root th { diff --git a/lib/ReactViews/Preview/metadata-table.scss.d.ts b/lib/ReactViews/Preview/metadata-table.scss.d.ts index 14cf32e10a1..735e2a1cdda 100644 --- a/lib/ReactViews/Preview/metadata-table.scss.d.ts +++ b/lib/ReactViews/Preview/metadata-table.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'root': string; - 'value': string; +declare namespace MetadataTableScssNamespace { + export interface IMetadataTableScss { + root: string; + value: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MetadataTableScssModule: MetadataTableScssNamespace.IMetadataTableScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MetadataTableScssNamespace.IMetadataTableScss; +}; + +export = MetadataTableScssModule; diff --git a/lib/ReactViews/RelatedMaps/related-maps.scss b/lib/ReactViews/RelatedMaps/related-maps.scss index 05009b7cd16..c24c065d465 100644 --- a/lib/ReactViews/RelatedMaps/related-maps.scss +++ b/lib/ReactViews/RelatedMaps/related-maps.scss @@ -1,11 +1,11 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .dropdown-inner { padding: 10px; font-size: 0.9rem; width: 600px; - @media (max-width: $mobile) { + @media (max-width: variables.$mobile) { max-width: fit-content; } } diff --git a/lib/ReactViews/RelatedMaps/related-maps.scss.d.ts b/lib/ReactViews/RelatedMaps/related-maps.scss.d.ts index c57b7d8c80d..215b595186e 100644 --- a/lib/ReactViews/RelatedMaps/related-maps.scss.d.ts +++ b/lib/ReactViews/RelatedMaps/related-maps.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'dropdown-inner': string; - 'dropdownInner': string; - 'image': string; - 'link': string; - 'section': string; +declare namespace RelatedMapsScssNamespace { + export interface IRelatedMapsScss { + "dropdown-inner": string; + dropdownInner: string; + image: string; + link: string; + section: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const RelatedMapsScssModule: RelatedMapsScssNamespace.IRelatedMapsScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: RelatedMapsScssNamespace.IRelatedMapsScss; +}; + +export = RelatedMapsScssModule; diff --git a/lib/ReactViews/Search/search-header.scss b/lib/ReactViews/Search/search-header.scss index b14ab441425..e465702a93a 100644 --- a/lib/ReactViews/Search/search-header.scss +++ b/lib/ReactViews/Search/search-header.scss @@ -1,7 +1,7 @@ -@import "~terriajs-variables"; +@use "../../Sass/common/_variables"; .no-results { composes: label from "../../Sass/common/_labels.scss"; - padding-left: $padding; - font-size: $font-size-mid-small; + padding-left: variables.$padding; + font-size: variables.$font-size-mid-small; } diff --git a/lib/ReactViews/Search/sidebar-dataset-search-results.scss b/lib/ReactViews/Search/sidebar-dataset-search-results.scss index 1b6d403be1b..d43051cb16b 100644 --- a/lib/ReactViews/Search/sidebar-dataset-search-results.scss +++ b/lib/ReactViews/Search/sidebar-dataset-search-results.scss @@ -1,9 +1,9 @@ -@import "../../Sass/common/mixins"; -@import "~terriajs-variables"; +@use "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; .heading { composes: btn from "../../Sass/common/_buttons.scss"; - padding: $padding; + padding: variables.$padding; position: relative; width: 100%; text-align: left; @@ -13,21 +13,21 @@ &:focus { box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.15); } - @media (min-width: $md) { - color: $text-light; + @media (min-width: variables.$md) { + color: variables.$text-light; } svg { height: 10px; width: 10px; position: absolute; - right: $padding + $padding-small; - top: $padding + $padding-small; + right: variables.$padding + variables.$padding-small; + top: variables.$padding + variables.$padding-small; } } .provider-result { - margin-top: $padding-small; - background-color: $dark-with-overlay; + margin-top: variables.$padding-small; + background-color: variables.$dark-with-overlay; .items { display: none; } diff --git a/lib/ReactViews/Search/sidebar-search.scss b/lib/ReactViews/Search/sidebar-search.scss index f4dc8613ab7..1f40033ce22 100644 --- a/lib/ReactViews/Search/sidebar-search.scss +++ b/lib/ReactViews/Search/sidebar-search.scss @@ -1,10 +1,10 @@ -@import "../../Sass/common/mixins"; -@import "~terriajs-variables"; +@use "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; .results { - @include transition(all 0.5s ease-in-out); + @include mixins.transition(all 0.5s ease-in-out); box-sizing: border-box; - color: $text-light; + color: variables.$text-light; } .results-content { @@ -18,29 +18,29 @@ overflow-x: hidden; overflow-y: auto; - padding: 0 $padding-small; + padding: 0 variables.$padding-small; } .heading { composes: h4 from "../../Sass/common/_base.scss"; - padding: $padding-small; + padding: variables.$padding-small; position: relative; width: 100%; text-align: left; - color: $text-light; + color: variables.$text-light; svg { height: 20px; width: 20px; position: absolute; - right: $padding-small; - top: $padding-small; + right: variables.$padding-small; + top: variables.$padding-small; } } .provider-result { - margin-top: $padding-small; + margin-top: variables.$padding-small; svg { fill: #ffffff; } @@ -58,6 +58,6 @@ composes: btn from "../../Sass/common/_buttons.scss"; composes: btn--tertiary-dark from "../../Sass/common/_buttons.scss"; padding: 5px; - font-size: $font-size-mid-mini; + font-size: variables.$font-size-mid-mini; border-radius: 2px; } diff --git a/lib/ReactViews/SidePanel/full_screen_button.scss b/lib/ReactViews/SidePanel/full_screen_button.scss index 65ad75b9b73..eccec6286b6 100644 --- a/lib/ReactViews/SidePanel/full_screen_button.scss +++ b/lib/ReactViews/SidePanel/full_screen_button.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .full-screen { position: absolute; @@ -13,10 +13,10 @@ .minifiedFullscreenBtnWrapper { // work bench width left: 350px; - top: $map-button-top; + top: variables.$map-button-top; } .trainerBarVisible { - top: $map-button-top + $trainer-height; + top: variables.$map-button-top + variables.$trainer-height; } .btn { @@ -39,13 +39,14 @@ &, &:hover, &:focus { - border-radius: 0 $map-button-border-radius $map-button-border-radius 0; + border-radius: 0 variables.$map-button-border-radius + variables.$map-button-border-radius 0; padding: 0; - padding-right: $padding-small; + padding-right: variables.$padding-small; box-shadow: none; } svg:not(:root) { - margin: auto $padding-small; + margin: auto variables.$padding-small; } } diff --git a/lib/ReactViews/SidePanel/full_screen_button.scss.d.ts b/lib/ReactViews/SidePanel/full_screen_button.scss.d.ts index 18bbaf73e1a..740f5068324 100644 --- a/lib/ReactViews/SidePanel/full_screen_button.scss.d.ts +++ b/lib/ReactViews/SidePanel/full_screen_button.scss.d.ts @@ -1,16 +1,21 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'enter': string; - 'exit': string; - 'full-screen': string; - 'fullScreen': string; - 'isActive': string; - 'minified': string; - 'minifiedFullscreenBtnWrapper': string; - 'toggleWorkbench': string; - 'trainerBarVisible': string; +declare namespace FullScreenButtonScssNamespace { + export interface IFullScreenButtonScss { + btn: string; + enter: string; + exit: string; + "full-screen": string; + fullScreen: string; + isActive: string; + minified: string; + minifiedFullscreenBtnWrapper: string; + toggleWorkbench: string; + trainerBarVisible: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FullScreenButtonScssModule: FullScreenButtonScssNamespace.IFullScreenButtonScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FullScreenButtonScssNamespace.IFullScreenButtonScss; +}; + +export = FullScreenButtonScssModule; diff --git a/lib/ReactViews/SidePanel/side-panel.scss b/lib/ReactViews/SidePanel/side-panel.scss index c0591958018..ada8ee66b4c 100644 --- a/lib/ReactViews/SidePanel/side-panel.scss +++ b/lib/ReactViews/SidePanel/side-panel.scss @@ -1,16 +1,16 @@ -@import "../../Sass/common/mixins"; -@import "~terriajs-variables"; +@use "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; .workBench { // position: relative; } .workbenchEmpty { - color: $text-light; - font-size: $font-size-mid-small; - padding: $padding; - background: $dark-with-overlay; + color: variables.$text-light; + font-size: variables.$font-size-mid-small; + padding: variables.$padding; + background: variables.$dark-with-overlay; border: dashed 1px rgba(255, 255, 255, 0.5); - margin: $padding-small; + margin: variables.$padding-small; svg { height: 25px; @@ -21,8 +21,8 @@ } } .header { - padding: 0 $padding-small; - background: $dark; + padding: 0 variables.$padding-small; + background: variables.$dark; } .body { @@ -30,7 +30,7 @@ } .addData { - margin: $padding-small 0; + margin: variables.$padding-small 0; display: flex; button { height: 42px; @@ -52,7 +52,7 @@ position: absolute; //sozza left: 27px; - fill: $text-light; + fill: variables.$text-light; width: 18px; height: 18px; } @@ -63,8 +63,8 @@ composes: btn-primary from "../../Sass/common/_buttons.scss"; position: relative; - line-height: $input-height; - font-size: $font-size-mid-small; + line-height: variables.$input-height; + font-size: variables.$font-size-mid-small; padding: 0; // sorry padding-left: 59px; diff --git a/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss b/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss index b35fa5b3397..6933850a3f6 100644 --- a/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss +++ b/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss @@ -1,9 +1,9 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .btn--about-link { composes: btn from "../../../Sass/common/_buttons.scss"; composes: btn--map from "../../../Sass/common/_buttons.scss"; - border-radius: $radius-small; + border-radius: variables.$radius-small; border: 0; svg { // fill: #6487ae; @@ -19,7 +19,7 @@ &:focus { border: 0; svg { - fill: $text-light; + fill: variables.$text-light; } } } diff --git a/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss.d.ts b/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss.d.ts index 128ebf81764..53601370c6d 100644 --- a/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss.d.ts +++ b/lib/ReactViews/StandardUserInterface/customizable/menu-button.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn--about-link': string; - 'btnAboutLink': string; +declare namespace MenuButtonScssNamespace { + export interface IMenuButtonScss { + "btn--about-link": string; + btnAboutLink: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const MenuButtonScssModule: MenuButtonScssNamespace.IMenuButtonScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: MenuButtonScssNamespace.IMenuButtonScss; +}; + +export = MenuButtonScssModule; diff --git a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss index 60a491ec911..69ca96f8bd8 100644 --- a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss +++ b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; // NOTE: When changing this file with hot-reloading on you might see the globe in the map disappear. Don't panic! This // happens because losing this stylesheet for a second causes Cesium to zoom itself as far out as it can go for some @@ -7,7 +7,7 @@ // back in. .story-wrapper { - @media (min-width: $sm) { + @media (min-width: variables.$sm) { display: flex; } } @@ -18,7 +18,7 @@ width: 100vw; } - @media (max-width: $md) { + @media (max-width: variables.$md) { html { height: 100%; overflow: hidden; @@ -30,7 +30,7 @@ } .top-element { - z-index: $notification-window-z-index - 10 !important; + z-index: variables.$notification-window-z-index - 10 !important; &:focus { outline: none; } @@ -43,7 +43,7 @@ position: relative; flex-basis: 100%; height: 100vh; - @media (max-width: $sm) { + @media (max-width: variables.$sm) { position: unset; } svg use { @@ -62,17 +62,17 @@ } .map { - @include transition(left $animation-fast ease-in); + @include mixins.transition(left variables.$animation-fast ease-in); position: absolute; left: 0; right: 0; - top: $mobile-header-height; + top: variables.$mobile-header-height; bottom: 0; } .feedback { position: absolute; - z-index: $front-component-z-index - 10; + z-index: variables.$front-component-z-index - 10; } .featureInfo { @@ -81,13 +81,13 @@ // In between, it may be up to 90% of the largest mobile screen ($sm), minus a bit to leave room // for the map controls on the right. This is computed in $feature-info-medium-max-size. $feature-info-medium-max-size: calc( - $sm * 0.9 - $feature-info-right-margin * 0.5 + variables.$sm * 0.9 - variables.$feature-info-right-margin * 0.5 ); $feature-info-forty-percent-size: calc( $feature-info-medium-max-size * 100 / 40 ); - z-index: $front-component-z-index - 20; + z-index: variables.$front-component-z-index - 20; position: absolute; right: 0; bottom: 0; @@ -95,8 +95,8 @@ pointer-events: none; left: 0; - @media (min-width: $md) { - left: $work-bench-width + 22px; + @media (min-width: variables.$md) { + left: variables.$work-bench-width + 22px; top: 62px; right: 96px; bottom: 0; @@ -105,15 +105,15 @@ & > div { pointer-events: auto; position: absolute; - top: $mobile-header-height + 10px; + top: variables.$mobile-header-height + 10px; right: 10px; max-width: 95%; min-width: 150px; max-height: 80vh; z-index: 99; - font-family: $font-base; + font-family: variables.$font-base; - @media (min-width: $sm) and (max-width: $feature-info-forty-percent-size) { + @media (min-width: variables.$sm) and (max-width: $feature-info-forty-percent-size) { max-width: $feature-info-medium-max-size; top: 60px; } @@ -152,7 +152,7 @@ transition-delay: 0s; } -@media (min-width: $sm) { +@media (min-width: variables.$sm) { .uiInner { display: flex; overflow: hidden; @@ -172,7 +172,7 @@ // bug, if anything goes wrong revert this back // overflow: hidden; flex-grow: 1; - flex-basis: calc(100% - #{$work-bench-width}); + flex-basis: calc(100% - #{variables.$work-bench-width}); } } diff --git a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss.d.ts b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss.d.ts index 9c516a0940d..5dec343fbe4 100644 --- a/lib/ReactViews/StandardUserInterface/standard-user-interface.scss.d.ts +++ b/lib/ReactViews/StandardUserInterface/standard-user-interface.scss.d.ts @@ -1,22 +1,27 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'explorerPanelIsVisible': string; - 'featureInfo': string; - 'featureInfoFullScreen': string; - 'feedback': string; - 'map': string; - 'showWorkbenchButton': string; - 'showWorkbenchButtonTrainerBarVisible': string; - 'showWorkbenchButtonisNotVisible': string; - 'showWorkbenchButtonisVisible': string; - 'sidePanel': string; - 'story-wrapper': string; - 'storyWrapper': string; - 'ui': string; - 'ui-root': string; - 'uiInner': string; - 'uiRoot': string; +declare namespace StandardUserInterfaceScssNamespace { + export interface IStandardUserInterfaceScss { + explorerPanelIsVisible: string; + featureInfo: string; + featureInfoFullScreen: string; + feedback: string; + map: string; + showWorkbenchButton: string; + showWorkbenchButtonTrainerBarVisible: string; + showWorkbenchButtonisNotVisible: string; + showWorkbenchButtonisVisible: string; + sidePanel: string; + "story-wrapper": string; + storyWrapper: string; + ui: string; + "ui-root": string; + uiInner: string; + uiRoot: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const StandardUserInterfaceScssModule: StandardUserInterfaceScssNamespace.IStandardUserInterfaceScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: StandardUserInterfaceScssNamespace.IStandardUserInterfaceScss; +}; + +export = StandardUserInterfaceScssModule; diff --git a/lib/ReactViews/Story/StoryBuilder.tsx b/lib/ReactViews/Story/StoryBuilder.tsx index a42b7255099..a07c99103cb 100644 --- a/lib/ReactViews/Story/StoryBuilder.tsx +++ b/lib/ReactViews/Story/StoryBuilder.tsx @@ -1,16 +1,17 @@ -import { action, toJS, makeObservable } from "mobx"; +import { action, makeObservable, toJS } from "mobx"; import { observer } from "mobx-react"; import React from "react"; import Sortable from "react-anything-sortable"; import { Trans, + WithTranslation, useTranslation, - withTranslation, - WithTranslation + withTranslation } from "react-i18next"; import styled, { DefaultTheme, withTheme } from "styled-components"; import combine from "terriajs-cesium/Source/Core/combine"; import createGuid from "terriajs-cesium/Source/Core/createGuid"; +import dataStoriesImg from "../../../wwwroot/images/data-stories-getting-started.jpg"; import { Category, StoryAction @@ -23,15 +24,14 @@ import Icon, { StyledIcon } from "../../Styled/Icon"; import Spacing from "../../Styled/Spacing"; import Text, { TextSpan } from "../../Styled/Text"; import BadgeBar from "../BadgeBar"; +import { WithViewState, withViewState } from "../Context"; import measureElement, { MeasureElementProps } from "../HOCs/measureElement"; import VideoGuide from "../Map/Panels/HelpPanel/VideoGuide"; import { getShareData } from "../Map/Panels/SharePanel/BuildShareLink"; import SharePanel from "../Map/Panels/SharePanel/SharePanel"; -import { WithViewState, withViewState } from "../Context"; import Story from "./Story"; -import Styles from "./story-builder.scss"; import StoryEditor from "./StoryEditor"; -const dataStoriesImg = require("../../../wwwroot/images/data-stories-getting-started.jpg"); +import Styles from "./story-builder.scss"; const STORY_VIDEO = "storyVideo"; diff --git a/lib/ReactViews/Story/story-builder.scss b/lib/ReactViews/Story/story-builder.scss index 1ec7b480126..96df1c266ea 100644 --- a/lib/ReactViews/Story/story-builder.scss +++ b/lib/ReactViews/Story/story-builder.scss @@ -1,11 +1,11 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .story-panel { - font-family: $font-base; + font-family: variables.$font-base; flex-basis: 400px; max-width: 400px; - color: $text-light; - font-size: $font-size-mid-small; + color: variables.$text-light; + font-size: variables.$font-size-mid-small; // background: $dark; display: block; transition: all 0.25s; @@ -19,7 +19,7 @@ margin-right: -400px; } & .actions { - padding: $padding; + padding: variables.$padding; } } @@ -28,19 +28,19 @@ composes: list-reset from "../../Sass/common/_base.scss"; align-items: baseline; - padding-left: $padding-small + $padding; - padding-right: $padding-small + $padding; - padding-top: $padding-small; - padding-bottom: $padding-small; - color: $text-light; - height: $story-title-height; - line-height: $story-title-height; - border-bottom: 1px solid $overlay; + padding-left: variables.$padding-small + variables.$padding; + padding-right: variables.$padding-small + variables.$padding; + padding-top: variables.$padding-small; + padding-bottom: variables.$padding-small; + color: variables.$text-light; + height: variables.$story-title-height; + line-height: variables.$story-title-height; + border-bottom: 1px solid variables.$overlay; li { display: inline-block; float: left; - font-size: $font-size-mid-small; - font-weight: $font-weight-bold; + font-size: variables.$font-size-mid-small; + font-weight: variables.$font-weight-bold; &:last-child { float: right; } @@ -50,13 +50,14 @@ .hide-button { composes: btn from "../../Sass/common/_buttons.scss"; // color: $text-light; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; text-transform: uppercase; - padding: $padding $padding $padding 5 * $padding; + padding: variables.$padding variables.$padding variables.$padding 5 * + variables.$padding; border: 0; svg { - height: $font-size-mid-small; - width: $font-size-mid-small; + height: variables.$font-size-mid-small; + width: variables.$font-size-mid-small; // fill: $text-light; vertical-align: middle; display: inline-block; @@ -74,7 +75,7 @@ .header { & .actions { - border-bottom: 1px solid $overlay; + border-bottom: 1px solid variables.$overlay; } & .stories-actions { @@ -93,11 +94,11 @@ } .story { - padding: $padding-small; - margin: $padding-small; + padding: variables.$padding-small; + margin: variables.$padding-small; background: #667080; color: #ffffff; - margin: $padding; + margin: variables.$padding; border: 1px solid rgba(255, 255, 255, 0.15); h3 { font-weight: normal; @@ -109,10 +110,10 @@ .removeBtn { composes: btn from "../../Sass/common/_buttons.scss"; composes: btn--map from "../../Sass/common/_buttons.scss"; - margin-right: $padding; + margin-right: variables.$padding; background: #9ca1aa; border-radius: 4px; - padding: $padding-small $padding; + padding: variables.$padding-small variables.$padding; svg { height: 25px; width: 25px; @@ -121,7 +122,7 @@ } .footer { - padding: $padding; + padding: variables.$padding; } .previewBtn { @@ -140,20 +141,20 @@ height: 25px; fill: #ffffff; position: absolute; - left: $padding; + left: variables.$padding; top: 8px; } } .story:hover { - background-color: $dark-with-overlay; + background-color: variables.$dark-with-overlay; } .intro { // background: $dark-with-overlay; // color: $text-light; - font-family: $font-pop; - margin: $padding $padding 0 $padding; + font-family: variables.$font-pop; + margin: variables.$padding variables.$padding 0 variables.$padding; border-radius: 4px; text-align: center; padding: 30px 10px; @@ -170,8 +171,8 @@ } .remove-button { composes: btn from "../../Sass/common/_buttons.scss"; - color: $text-light; - font-size: $font-size-mid-mini; + color: variables.$text-light; + font-size: variables.$font-size-mid-mini; padding: 0; svg { height: 12px; @@ -185,24 +186,24 @@ .tutBtn { composes: btn from "../../Sass/common/_buttons.scss"; - color: $text-light; - font-size: $font-size-button; - padding: $padding $padding * 2; - background: $overlay; - border-radius: $padding * 2; - margin-top: $padding; + color: variables.$text-light; + font-size: variables.$font-size-button; + padding: variables.$padding variables.$padding * 2; + background: variables.$overlay; + border-radius: variables.$padding * 2; + margin-top: variables.$padding; svg { height: 20px; width: 20px; margin: 0 4px; - fill: $faint-bg; + fill: variables.$faint-bg; vertical-align: bottom; display: inline-block; } } -@include keyframes(story-fade-in) { +@include mixins.keyframes(story-fade-in) { 0% { opacity: 0; } @@ -210,7 +211,7 @@ opacity: 1; } } -@include keyframes(story-fade-out) { +@include mixins.keyframes(story-fade-out) { 0% { opacity: 1; } @@ -219,20 +220,20 @@ } } -@include keyframes(story-slide-up) { +@include mixins.keyframes(story-slide-up) { 0% { - @include transform(translate(-50%, 0%)); + @include mixins.transform(translate(-50%, 0%)); } 100% { - @include transform(translate(-50%, -50%)); + @include mixins.transform(translate(-50%, -50%)); } } -@include keyframes(story-slide-down) { +@include mixins.keyframes(story-slide-down) { 0% { - @include transform(translate(-50%, -50%)); + @include mixins.transform(translate(-50%, -50%)); } 100% { - @include transform(translate(-50%, 0%)); + @include mixins.transform(translate(-50%, 0%)); } } .VideoGuideWrapper { @@ -242,19 +243,19 @@ left: 0; right: 0; bottom: 0; - background: rgba($dark-with-overlay, 0.8); + background: rgba(variables.$dark-with-overlay, 0.8); opacity: 1; - @include animation("story-fade-in 0.3s"); + @include mixins.animation("story-fade-in 0.3s"); } .VideoGuideWrapper--closing { - @include animation("story-fade-out 0.3s"); + @include mixins.animation("story-fade-out 0.3s"); & > div { - @include animation("story-slide-down 0.3s"); + @include mixins.animation("story-slide-down 0.3s"); } } .videoGuide { - box-shadow: $box-shadow; + box-shadow: variables.$box-shadow; margin: 0; width: 40%; min-height: 31.5%; @@ -265,8 +266,8 @@ top: 40%; left: 50%; max-width: 100%; - @include transform(translate(-50%, -50%)); - @include animation("story-slide-up 0.3s"); + @include mixins.transform(translate(-50%, -50%)); + @include mixins.animation("story-slide-up 0.3s"); } .videoGuideRatio { padding-bottom: 58.5%; diff --git a/lib/ReactViews/Story/story-builder.scss.d.ts b/lib/ReactViews/Story/story-builder.scss.d.ts index c405558c194..3760e3d16f9 100644 --- a/lib/ReactViews/Story/story-builder.scss.d.ts +++ b/lib/ReactViews/Story/story-builder.scss.d.ts @@ -1,46 +1,51 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'VideoGuideWrapper': string; - 'VideoGuideWrapper--closing': string; - 'actions': string; - 'captureBtn': string; - 'footer': string; - 'header': string; - 'hide-button': string; - 'hideButton': string; - 'intro': string; - 'isActive': string; - 'isHidden': string; - 'isVisible': string; - 'previewBtn': string; - 'remove-button': string; - 'removeBtn': string; - 'removeButton': string; - 'stories': string; - 'stories-actions': string; - 'storiesActions': string; - 'story': string; - 'story-fade-in': string; - 'story-fade-out': string; - 'story-panel': string; - 'story-slide-down': string; - 'story-slide-up': string; - 'storyFadeIn': string; - 'storyFadeOut': string; - 'storyPanel': string; - 'storySlideDown': string; - 'storySlideUp': string; - 'title': string; - 'trashBtn': string; - 'tutBtn': string; - 'videoGuide': string; - 'videoGuide--iframe': string; - 'videoGuideIframe': string; - 'videoGuideLoading': string; - 'videoGuideRatio': string; - 'videoGuideWrapper': string; - 'videoGuideWrapperClosing': string; +declare namespace StoryBuilderScssNamespace { + export interface IStoryBuilderScss { + VideoGuideWrapper: string; + "VideoGuideWrapper--closing": string; + actions: string; + captureBtn: string; + footer: string; + header: string; + "hide-button": string; + hideButton: string; + intro: string; + isActive: string; + isHidden: string; + isVisible: string; + previewBtn: string; + "remove-button": string; + removeBtn: string; + removeButton: string; + stories: string; + "stories-actions": string; + storiesActions: string; + story: string; + "story-fade-in": string; + "story-fade-out": string; + "story-panel": string; + "story-slide-down": string; + "story-slide-up": string; + storyFadeIn: string; + storyFadeOut: string; + storyPanel: string; + storySlideDown: string; + storySlideUp: string; + title: string; + trashBtn: string; + tutBtn: string; + videoGuide: string; + "videoGuide--iframe": string; + videoGuideIframe: string; + videoGuideLoading: string; + videoGuideRatio: string; + videoGuideWrapper: string; + videoGuideWrapperClosing: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const StoryBuilderScssModule: StoryBuilderScssNamespace.IStoryBuilderScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: StoryBuilderScssNamespace.IStoryBuilderScss; +}; + +export = StoryBuilderScssModule; diff --git a/lib/ReactViews/Story/story-editor.scss b/lib/ReactViews/Story/story-editor.scss index 4d29155f8a7..2bb6d1ab6b9 100644 --- a/lib/ReactViews/Story/story-editor.scss +++ b/lib/ReactViews/Story/story-editor.scss @@ -1,10 +1,10 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .popupEditor { - @include transform(translateY(20%)); + @include mixins.transform(translateY(20%)); opacity: 0; - @include transition(all 0.3s); + @include mixins.transition(all 0.3s); position: fixed; top: 0; @@ -17,7 +17,7 @@ justify-content: center; &.is-mounted { opacity: 1; - @include transform(none); + @include mixins.transform(none); } .inner { max-width: 800px; @@ -25,7 +25,7 @@ background: #ffffff; z-index: 9999; margin: 0 auto; - color: $text-dark; + color: variables.$text-dark; box-shadow: 0 0 15px 6px rgba(100, 100, 100, 0.3); border-radius: 4px; padding: 6px; @@ -33,8 +33,8 @@ .header { display: flex; align-items: baseline; - padding: $padding; - border-bottom: 1px solid $field-border; + padding: variables.$padding; + border-bottom: 1px solid variables.$field-border; } .body { min-height: 150px; @@ -47,7 +47,7 @@ .field { composes: field from "../../Sass/common/_form.scss"; border: 0; - margin-right: $padding; + margin-right: variables.$padding; padding: 0 !important; } @@ -61,6 +61,6 @@ composes: btn from "../../Sass/common/_buttons.scss"; composes: btn--secondary from "../../Sass/common/_buttons.scss"; padding: 5px 15px; - margin-right: $padding; + margin-right: variables.$padding; border: 2px solid #ffffff; } diff --git a/lib/ReactViews/Story/story-editor.scss.d.ts b/lib/ReactViews/Story/story-editor.scss.d.ts index 5f8d5b648f9..52b3bf2301f 100644 --- a/lib/ReactViews/Story/story-editor.scss.d.ts +++ b/lib/ReactViews/Story/story-editor.scss.d.ts @@ -1,15 +1,20 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'body': string; - 'cancelBtn': string; - 'field': string; - 'header': string; - 'inner': string; - 'is-mounted': string; - 'isMounted': string; - 'popupEditor': string; - 'saveBtn': string; +declare namespace StoryEditorScssNamespace { + export interface IStoryEditorScss { + body: string; + cancelBtn: string; + field: string; + header: string; + inner: string; + "is-mounted": string; + isMounted: string; + popupEditor: string; + saveBtn: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const StoryEditorScssModule: StoryEditorScssNamespace.IStoryEditorScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: StoryEditorScssNamespace.IStoryEditorScss; +}; + +export = StoryEditorScssModule; diff --git a/lib/ReactViews/Story/story-panel.scss b/lib/ReactViews/Story/story-panel.scss index 4cc2b38dad1..33347f54360 100644 --- a/lib/ReactViews/Story/story-panel.scss +++ b/lib/ReactViews/Story/story-panel.scss @@ -1,39 +1,39 @@ -@import "~terriajs-variables"; -@import "../../Sass/common/mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/mixins"; .story-container { - @include transform(translateY(20%)); + @include mixins.transform(translateY(20%)); opacity: 0; - @include transition(all 0.3s); + @include mixins.transition(all 0.3s); pointer-events: auto; opacity: 0; width: 100%; min-height: 2em; max-width: 1200px; background-color: #ffffff; - color: $text-dark; + color: variables.$text-dark; text-align: left; box-sizing: border-box; box-shadow: 0 0 15px 6px rgba(100, 100, 100, 0.3); &.is-mounted { opacity: 1; - @include transform(none); + @include mixins.transform(none); } .left { - border-right: 1px solid $field-border; + border-right: 1px solid variables.$field-border; } .right { - border-left: 1px solid $field-border; + border-left: 1px solid variables.$field-border; } } // styling for the "this map contains a story" notification :global { .story.tjs-notification-window__wrapper { - @media (min-width: $md) { - left: $work-bench-width; + @media (min-width: variables.$md) { + left: variables.$work-bench-width; } .tjs-notification-window__notification { // background-color: $color-primary; diff --git a/lib/ReactViews/Story/story-panel.scss.d.ts b/lib/ReactViews/Story/story-panel.scss.d.ts index e36412999dd..b6afc4521ae 100644 --- a/lib/ReactViews/Story/story-panel.scss.d.ts +++ b/lib/ReactViews/Story/story-panel.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'is-mounted': string; - 'isMounted': string; - 'left': string; - 'right': string; - 'story-container': string; - 'storyContainer': string; +declare namespace StoryPanelScssNamespace { + export interface IStoryPanelScss { + "is-mounted": string; + isMounted: string; + left: string; + right: string; + "story-container": string; + storyContainer: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const StoryPanelScssModule: StoryPanelScssNamespace.IStoryPanelScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: StoryPanelScssNamespace.IStoryPanelScss; +}; + +export = StoryPanelScssModule; diff --git a/lib/ReactViews/Tools/DiffTool/LocationPicker.tsx b/lib/ReactViews/Tools/DiffTool/LocationPicker.tsx index 06e5e0d0db9..63d757e0dee 100644 --- a/lib/ReactViews/Tools/DiffTool/LocationPicker.tsx +++ b/lib/ReactViews/Tools/DiffTool/LocationPicker.tsx @@ -1,9 +1,10 @@ -import { action, observable, reaction, makeObservable } from "mobx"; +import { action, makeObservable, observable, reaction } from "mobx"; import { observer } from "mobx-react"; import React from "react"; import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; import Ellipsoid from "terriajs-cesium/Source/Core/Ellipsoid"; import CesiumMath from "terriajs-cesium/Source/Core/Math"; +import markerIcon from "../../../../wwwroot/images/difference-pin.png"; import LatLonHeight from "../../../Core/LatLonHeight"; import PickedFeatures from "../../../Map/PickedFeatures/PickedFeatures"; import { addMarker, removeMarker } from "../../../Models/LocationMarkerUtils"; @@ -117,7 +118,7 @@ function showMarker(terria: Terria, location: LatLonHeight) { addMarker(terria, { name: "User selection", location, - customMarkerIcon: require("../../../../wwwroot/images/difference-pin.png") + customMarkerIcon: markerIcon }); } diff --git a/lib/ReactViews/Tools/PedestrianMode/MiniMap.tsx b/lib/ReactViews/Tools/PedestrianMode/MiniMap.tsx index de45180644c..f948e432dad 100644 --- a/lib/ReactViews/Tools/PedestrianMode/MiniMap.tsx +++ b/lib/ReactViews/Tools/PedestrianMode/MiniMap.tsx @@ -4,14 +4,13 @@ import styled from "styled-components"; import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; import Rectangle from "terriajs-cesium/Source/Core/Rectangle"; import Scene from "terriajs-cesium/Source/Scene/Scene"; +import minimapNavIcon from "../../../../wwwroot/images/minimap-nav.svg"; import MappableMixin from "../../../ModelMixins/MappableMixin"; import Terria from "../../../Models/Terria"; import ViewerMode from "../../../Models/ViewerMode"; import TerriaViewer from "../../../ViewModels/TerriaViewer"; import Marker from "./Marker"; -const minimapNavIcon = require("../../../../wwwroot/images/minimap-nav.svg"); - type MiniMapProps = { terria: Terria; baseMap: MappableMixin.Instance; diff --git a/lib/ReactViews/Tools/PedestrianMode/MovementControls.tsx b/lib/ReactViews/Tools/PedestrianMode/MovementControls.tsx index e66dc654a6f..1983511c9ba 100644 --- a/lib/ReactViews/Tools/PedestrianMode/MovementControls.tsx +++ b/lib/ReactViews/Tools/PedestrianMode/MovementControls.tsx @@ -1,18 +1,17 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import styled from "styled-components"; +import heightControlsImage from "../../../../wwwroot/images/height-controls.svg"; +import mouseControlsImage from "../../../../wwwroot/images/mouse-control.svg"; +import wasdControlsImage from "../../../../wwwroot/images/wasd.svg"; import Cesium from "../../../Models/Cesium"; import Box from "../../../Styled/Box"; import Button from "../../../Styled/Button"; +import Icon, { StyledIcon } from "../../../Styled/Icon"; import Spacing from "../../../Styled/Spacing"; import Text from "../../../Styled/Text"; -import Icon, { StyledIcon } from "../../../Styled/Icon"; import MovementsController from "./MovementsController"; -const mouseControlsImage = require("../../../../wwwroot/images/mouse-control.svg"); -const wasdControlsImage = require("../../../../wwwroot/images/wasd.svg"); -const heightControlsImage = require("../../../../wwwroot/images/height-controls.svg"); - type MovementControlsProps = { cesium: Cesium; onMove: () => void; diff --git a/lib/ReactViews/Transitions/FadeIn/FadeIn.d.ts b/lib/ReactViews/Transitions/FadeIn/FadeIn.d.ts index e1e12a556b4..ece19fdb5f9 100644 --- a/lib/ReactViews/Transitions/FadeIn/FadeIn.d.ts +++ b/lib/ReactViews/Transitions/FadeIn/FadeIn.d.ts @@ -1,7 +1,7 @@ import React from "react"; interface PropsType { - isVisible: boolean; + isVisible?: boolean; onEnter?: () => void; onExited?: () => void; transitionProps?: any; diff --git a/lib/ReactViews/Transitions/FadeIn/fade-in.scss.d.ts b/lib/ReactViews/Transitions/FadeIn/fade-in.scss.d.ts index 72c97fb0c4a..0264402201e 100644 --- a/lib/ReactViews/Transitions/FadeIn/fade-in.scss.d.ts +++ b/lib/ReactViews/Transitions/FadeIn/fade-in.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'enter': string; - 'enter-active': string; - 'enterActive': string; - 'exit': string; - 'exit-active': string; - 'exitActive': string; +declare namespace FadeInScssNamespace { + export interface IFadeInScss { + enter: string; + "enter-active": string; + enterActive: string; + exit: string; + "exit-active": string; + exitActive: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FadeInScssModule: FadeInScssNamespace.IFadeInScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FadeInScssNamespace.IFadeInScss; +}; + +export = FadeInScssModule; diff --git a/lib/ReactViews/Transitions/SlideUpFadeIn/slide-up-fade-in.scss.d.ts b/lib/ReactViews/Transitions/SlideUpFadeIn/slide-up-fade-in.scss.d.ts index 72c97fb0c4a..f969c84a940 100644 --- a/lib/ReactViews/Transitions/SlideUpFadeIn/slide-up-fade-in.scss.d.ts +++ b/lib/ReactViews/Transitions/SlideUpFadeIn/slide-up-fade-in.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'enter': string; - 'enter-active': string; - 'enterActive': string; - 'exit': string; - 'exit-active': string; - 'exitActive': string; +declare namespace SlideUpFadeInScssNamespace { + export interface ISlideUpFadeInScss { + enter: string; + "enter-active": string; + enterActive: string; + exit: string; + "exit-active": string; + exitActive: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const SlideUpFadeInScssModule: SlideUpFadeInScssNamespace.ISlideUpFadeInScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: SlideUpFadeInScssNamespace.ISlideUpFadeInScss; +}; + +export = SlideUpFadeInScssModule; diff --git a/lib/ReactViews/WelcomeMessage/welcome-message.scss b/lib/ReactViews/WelcomeMessage/welcome-message.scss index 935016ac4fa..188bb39ff2a 100644 --- a/lib/ReactViews/WelcomeMessage/welcome-message.scss +++ b/lib/ReactViews/WelcomeMessage/welcome-message.scss @@ -1,17 +1,17 @@ -@import "~terriajs-variables"; -@import "~terriajs-mixins"; +@use "../../Sass/common/_variables"; +@use "../../Sass/common/_mixins"; // @import url("https://fonts.googleapis.com/css?family=Montserrat:700&display=swap"); @import url("https://fonts.googleapis.com/css?family=Nunito:600,600i&display=swap"); .WelcomeModalWrapper { - color: $dark; + color: variables.$dark; position: fixed; z-index: 10; top: 0; left: 0; right: 0; bottom: 0; - background: rgba($dark-with-overlay, 0.25); + background: rgba(variables.$dark-with-overlay, 0.25); opacity: 1; display: flex; @@ -23,7 +23,7 @@ position: relative; font-family: "Nunito", "Open Sans"; text-align: left; - box-shadow: $box-shadow; + box-shadow: variables.$box-shadow; box-sizing: border-box; -webkit-font-smoothing: antialiased; @@ -31,19 +31,19 @@ margin: 0; width: 480px; - padding: $padding * 4; - @media (max-width: $sm), (max-height: 299px) { + padding: variables.$padding * 4; + @media (max-width: variables.$sm), (max-height: 299px) { width: 100%; transform: none; overflow: scroll; height: 100vh; text-align: center; } - @media (min-width: $sm) and (min-height: 300px) { + @media (min-width: variables.$sm) and (min-height: 300px) { min-height: 300px; } - background-color: $modal-bg; + background-color: variables.$modal-bg; border-radius: 4px; max-width: 100%; @@ -52,11 +52,11 @@ font-family: "Montserrat", "Open Sans"; font-size: 32px; margin-top: 0; - margin-bottom: $padding-small * 3; + margin-bottom: variables.$padding-small * 3; } } .highlight { - color: $color-primary; + color: variables.$color-primary; } .WelcomeModal-button { composes: btn from "../../Sass/common/_buttons.scss"; @@ -81,8 +81,8 @@ } .WelcomeModal-body { - color: rgba($dark, 0.8); - font-size: $font-size-base; + color: rgba(variables.$dark, 0.8); + font-size: variables.$font-size-base; line-height: 24px; font-weight: 600; p:last-child { @@ -91,8 +91,8 @@ } .WelcomeModal-closeLink { - color: $dark; - font-size: $font-size-small; + color: variables.$dark; + font-size: variables.$font-size-small; background: none; border: none; padding-left: 0; @@ -106,8 +106,8 @@ composes: btn from "../../Sass/common/_buttons.scss"; position: absolute; z-index: 10; - top: $padding-small; - right: $padding-small; + top: variables.$padding-small; + right: variables.$padding-small; top: 15px; right: 15px; @@ -115,13 +115,13 @@ &:hover, &:focus { svg { - fill: $color-secondary; + fill: variables.$color-secondary; } } svg { - fill: $color-primary; - height: $padding; - width: $padding; + fill: variables.$color-primary; + height: variables.$padding; + width: variables.$padding; } } diff --git a/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss b/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss index b15bcc9baca..d9484951137 100644 --- a/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss +++ b/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss @@ -1,9 +1,9 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .colorscalerange { - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; label { - margin-right: $padding-small; + margin-right: variables.$padding-small; } } diff --git a/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss.d.ts b/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss.d.ts index 0349a071ae4..e2e210af6ae 100644 --- a/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss.d.ts +++ b/lib/ReactViews/Workbench/Controls/colorscalerange-section.scss.d.ts @@ -1,10 +1,15 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'btn': string; - 'colorscalerange': string; - 'field': string; - 'title': string; +declare namespace ColorscalerangeSectionScssNamespace { + export interface IColorscalerangeSectionScss { + btn: string; + colorscalerange: string; + field: string; + title: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const ColorscalerangeSectionScssModule: ColorscalerangeSectionScssNamespace.IColorscalerangeSectionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: ColorscalerangeSectionScssNamespace.IColorscalerangeSectionScss; +}; + +export = ColorscalerangeSectionScssModule; diff --git a/lib/ReactViews/Workbench/Controls/filter-section.scss b/lib/ReactViews/Workbench/Controls/filter-section.scss index efb1fd4bddf..59252716e80 100644 --- a/lib/ReactViews/Workbench/Controls/filter-section.scss +++ b/lib/ReactViews/Workbench/Controls/filter-section.scss @@ -1,11 +1,11 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .filters { composes: clearfix from "../../../Sass/common/_base.scss"; - padding: $padding 0; - border-bottom: 1px solid $border-color; - font-size: $font-size-mini; + padding: variables.$padding 0; + border-bottom: 1px solid variables.$border-color; + font-size: variables.$font-size-mini; label { - margin-right: $padding-small; + margin-right: variables.$padding-small; float: left; width: 80px; } diff --git a/lib/ReactViews/Workbench/Controls/filter-section.scss.d.ts b/lib/ReactViews/Workbench/Controls/filter-section.scss.d.ts index f63af14b1a5..e49737c9c7f 100644 --- a/lib/ReactViews/Workbench/Controls/filter-section.scss.d.ts +++ b/lib/ReactViews/Workbench/Controls/filter-section.scss.d.ts @@ -1,8 +1,13 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'filter': string; - 'filters': string; +declare namespace FilterSectionScssNamespace { + export interface IFilterSectionScss { + filter: string; + filters: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const FilterSectionScssModule: FilterSectionScssNamespace.IFilterSectionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: FilterSectionScssNamespace.IFilterSectionScss; +}; + +export = FilterSectionScssModule; diff --git a/lib/ReactViews/Workbench/Controls/legend.scss b/lib/ReactViews/Workbench/Controls/legend.scss index 6896f67a87f..1772d4925a0 100644 --- a/lib/ReactViews/Workbench/Controls/legend.scss +++ b/lib/ReactViews/Workbench/Controls/legend.scss @@ -1,9 +1,9 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .legend { composes: clearfix from "../../../Sass/common/_base.scss"; composes: list-reset from "../../../Sass/common/_base.scss"; - font-family: $font-mono; + font-family: variables.$font-mono; // Small font size prevents the font from dictating the table row height. font-size: 5px; @@ -12,18 +12,18 @@ } .legendOpenExternally { - font-size: $font-size-small; - color: $text-light; + font-size: variables.$font-size-small; + color: variables.$text-light; } .legendTitle { - font-size: $font-size-small; + font-size: variables.$font-size-small; margin: 0px; } } .legend__inner { - padding: $padding 0 0 0; + padding: variables.$padding 0 0 0; a { // Only the actual legend should be clickable rather than the whole area display: inline-block; @@ -56,7 +56,7 @@ } .loader { - font-family: $font-base; + font-family: variables.$font-base; svg { fill: #fff; } @@ -67,8 +67,8 @@ } .generatedLegend { - padding-top: $legend-padding; - padding-bottom: $legend-padding; + padding-top: variables.$legend-padding; + padding-bottom: variables.$legend-padding; } .generatedLegend table { @@ -78,13 +78,13 @@ .legendTitles { font-size: 12px; - line-height: $legend-item-height; + line-height: variables.$legend-item-height; padding-left: 5px; } .legendTitleAbove { position: absolute; - margin-top: -$legend-item-height; + margin-top: -(variables.$legend-item-height); } .legendTitleAbove::before { @@ -102,5 +102,5 @@ } .legendSpacer { - height: $legend-spacer-height; + height: variables.$legend-spacer-height; } diff --git a/lib/ReactViews/Workbench/Controls/legend.scss.d.ts b/lib/ReactViews/Workbench/Controls/legend.scss.d.ts index 1dbbc2e76a5..224aed06ea2 100644 --- a/lib/ReactViews/Workbench/Controls/legend.scss.d.ts +++ b/lib/ReactViews/Workbench/Controls/legend.scss.d.ts @@ -1,22 +1,27 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'generatedLegend': string; - 'imageAnchor': string; - 'legend': string; - 'legend--svg': string; - 'legendInner': string; - 'legendLegendBoxImg': string; - 'legendOpenExternally': string; - 'legendSpacer': string; - 'legendSvg': string; - 'legendTitle': string; - 'legendTitleAbove': string; - 'legendTitleBelow': string; - 'legendTitles': string; - 'legend__inner': string; - 'legend__legendBoxImg': string; - 'loader': string; +declare namespace LegendScssNamespace { + export interface ILegendScss { + generatedLegend: string; + imageAnchor: string; + legend: string; + "legend--svg": string; + legendInner: string; + legendLegendBoxImg: string; + legendOpenExternally: string; + legendSpacer: string; + legendSvg: string; + legendTitle: string; + legendTitleAbove: string; + legendTitleBelow: string; + legendTitles: string; + legend__inner: string; + legend__legendBoxImg: string; + loader: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const LegendScssModule: LegendScssNamespace.ILegendScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: LegendScssNamespace.ILegendScss; +}; + +export = LegendScssModule; diff --git a/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss b/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss index 1d0dce04d53..6542b0fdbae 100644 --- a/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss +++ b/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .active, .inactive { @@ -16,7 +16,7 @@ .btn { composes: btn-primary from "../../../Sass/common/_buttons.scss"; composes: btn from "../../../Sass/common/_buttons.scss"; - padding: $padding 4px; + padding: variables.$padding 4px; } .btnGroup { diff --git a/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss.d.ts b/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss.d.ts index 98f1ea627c4..750c3aef89b 100644 --- a/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss.d.ts +++ b/lib/ReactViews/Workbench/Controls/satellite-imagery-time-filter-section.scss.d.ts @@ -1,11 +1,16 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'active': string; - 'btn': string; - 'btnGroup': string; - 'inactive': string; - 'infoGroup': string; +declare namespace SatelliteImageryTimeFilterSectionScssNamespace { + export interface ISatelliteImageryTimeFilterSectionScss { + active: string; + btn: string; + btnGroup: string; + inactive: string; + infoGroup: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const SatelliteImageryTimeFilterSectionScssModule: SatelliteImageryTimeFilterSectionScssNamespace.ISatelliteImageryTimeFilterSectionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: SatelliteImageryTimeFilterSectionScssNamespace.ISatelliteImageryTimeFilterSectionScss; +}; + +export = SatelliteImageryTimeFilterSectionScssModule; diff --git a/lib/ReactViews/Workbench/Controls/timer-section.scss b/lib/ReactViews/Workbench/Controls/timer-section.scss index 4c8d62ec736..1e3cc6e35d2 100644 --- a/lib/ReactViews/Workbench/Controls/timer-section.scss +++ b/lib/ReactViews/Workbench/Controls/timer-section.scss @@ -1,15 +1,15 @@ -@import "~terriajs-variables"; +@use "../../../Sass/common/_variables"; .section { - background: $overlay; + background: variables.$overlay; margin-top: 10px; display: flex; - padding: $padding; + padding: variables.$padding; // align-items: center; align-content: flex-start; - font-weight: $font-weight-light; - font-size: $font-size-mid-small; + font-weight: variables.$font-weight-light; + font-size: variables.$font-size-mid-small; } .timer-container { diff --git a/lib/ReactViews/Workbench/Controls/timer-section.scss.d.ts b/lib/ReactViews/Workbench/Controls/timer-section.scss.d.ts index 7fb6bb0d04c..692e91401d6 100644 --- a/lib/ReactViews/Workbench/Controls/timer-section.scss.d.ts +++ b/lib/ReactViews/Workbench/Controls/timer-section.scss.d.ts @@ -1,9 +1,14 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'section': string; - 'timer-container': string; - 'timerContainer': string; +declare namespace TimerSectionScssNamespace { + export interface ITimerSectionScss { + section: string; + "timer-container": string; + timerContainer: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const TimerSectionScssModule: TimerSectionScssNamespace.ITimerSectionScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: TimerSectionScssNamespace.ITimerSectionScss; +}; + +export = TimerSectionScssModule; diff --git a/lib/ReactViews/Workbench/WorkbenchList.tsx b/lib/ReactViews/Workbench/WorkbenchList.tsx index db439b4eae5..4aab591ae2f 100644 --- a/lib/ReactViews/Workbench/WorkbenchList.tsx +++ b/lib/ReactViews/Workbench/WorkbenchList.tsx @@ -1,4 +1,4 @@ -import "!!style-loader!css-loader?sourceMap!./sortable.css"; +import "!!style-loader!css-loader!./sortable.css"; import { action, makeObservable } from "mobx"; import { observer } from "mobx-react"; import React from "react"; diff --git a/lib/ReactViews/drag-drop-file.scss b/lib/ReactViews/drag-drop-file.scss index 87a3349d073..06a14677c38 100644 --- a/lib/ReactViews/drag-drop-file.scss +++ b/lib/ReactViews/drag-drop-file.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "../Sass/common/mixins"; +@use "../Sass/common/_variables"; +@use "../Sass/common/mixins"; .drop-zone { composes: drop-zone from "../Sass/common/_drop_zone.scss"; @@ -22,12 +22,12 @@ } .inner { - @include vertical-align(); + @include mixins.vertical-align(); color: #fff; color: rgba(#fff, 0.9); text-align: center; - font-family: $font-pop; + font-family: variables.$font-pop; &:before { content: ""; diff --git a/lib/ReactViews/drag-drop-file.scss.d.ts b/lib/ReactViews/drag-drop-file.scss.d.ts index a13d68a2c4b..c76189f4bd9 100644 --- a/lib/ReactViews/drag-drop-file.scss.d.ts +++ b/lib/ReactViews/drag-drop-file.scss.d.ts @@ -1,13 +1,18 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'caption': string; - 'drop-zone': string; - 'dropZone': string; - 'heading': string; - 'inner': string; - 'is-active': string; - 'isActive': string; +declare namespace DragDropFileScssNamespace { + export interface IDragDropFileScss { + caption: string; + "drop-zone": string; + dropZone: string; + heading: string; + inner: string; + "is-active": string; + isActive: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DragDropFileScssModule: DragDropFileScssNamespace.IDragDropFileScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DragDropFileScssNamespace.IDragDropFileScss; +}; + +export = DragDropFileScssModule; diff --git a/lib/ReactViews/drag-drop-notification.scss b/lib/ReactViews/drag-drop-notification.scss index 9370fe1a65c..559d7e7f13e 100644 --- a/lib/ReactViews/drag-drop-notification.scss +++ b/lib/ReactViews/drag-drop-notification.scss @@ -1,8 +1,8 @@ -@import "~terriajs-variables"; -@import "../Sass/common/mixins"; +@use "../Sass/common/_variables"; +@use "../Sass/common/mixins"; .notification { - font-family: $font-base; + font-family: variables.$font-base; right: -280px; top: 80px; background: #ffffff; @@ -18,7 +18,7 @@ } .icon { - background: $color-primary; + background: variables.$color-primary; padding: 15px; position: absolute; left: 0; @@ -33,13 +33,13 @@ .info { padding: 15px 15px 15px 80px; - color: $dark; + color: variables.$dark; width: 180px; word-wrap: break-word; .filename { font-weight: 600; } .action { - color: $color-primary; + color: variables.$color-primary; } } diff --git a/lib/ReactViews/drag-drop-notification.scss.d.ts b/lib/ReactViews/drag-drop-notification.scss.d.ts index 29e5d697a22..4fdae326d15 100644 --- a/lib/ReactViews/drag-drop-notification.scss.d.ts +++ b/lib/ReactViews/drag-drop-notification.scss.d.ts @@ -1,12 +1,17 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'action': string; - 'filename': string; - 'icon': string; - 'info': string; - 'isActive': string; - 'notification': string; +declare namespace DragDropNotificationScssNamespace { + export interface IDragDropNotificationScss { + action: string; + filename: string; + icon: string; + info: string; + isActive: string; + notification: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const DragDropNotificationScssModule: DragDropNotificationScssNamespace.IDragDropNotificationScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: DragDropNotificationScssNamespace.IDragDropNotificationScss; +}; + +export = DragDropNotificationScssModule; diff --git a/lib/ReactViews/location-item.scss.d.ts b/lib/ReactViews/location-item.scss.d.ts index 5099982cd04..b567fc76c24 100644 --- a/lib/ReactViews/location-item.scss.d.ts +++ b/lib/ReactViews/location-item.scss.d.ts @@ -1,7 +1,12 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'location': string; +declare namespace LocationItemScssNamespace { + export interface ILocationItemScss { + location: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const LocationItemScssModule: LocationItemScssNamespace.ILocationItemScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: LocationItemScssNamespace.ILocationItemScss; +}; + +export = LocationItemScssModule; diff --git a/lib/Sass/common/_base.scss b/lib/Sass/common/_base.scss index 9d83ff804bc..64e90ab7ddc 100644 --- a/lib/Sass/common/_base.scss +++ b/lib/Sass/common/_base.scss @@ -1,5 +1,5 @@ -@import "~terriajs-variables"; -@import "mixins"; +@use "_variables"; +@use "mixins"; .clearfix { @extend %clearfix; @@ -24,8 +24,8 @@ } .link { - @include link( - $overlay + @include mixins.link( + variables.$overlay ); // Arbitrarily use the workbench's background as the default. } @@ -488,8 +488,8 @@ .h4, .h5, .h6 { - font-family: $font-base; - font-weight: $font-weight-bold; + font-family: variables.$font-base; + font-weight: variables.$font-weight-bold; line-height: 1.25; margin-top: 1em; margin-bottom: 0.5em; diff --git a/lib/Sass/common/_buttons.scss b/lib/Sass/common/_buttons.scss index 84684c7bfa7..09287abbfed 100644 --- a/lib/Sass/common/_buttons.scss +++ b/lib/Sass/common/_buttons.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "_variables"; $btn-setting-size: 35px; @@ -13,14 +13,14 @@ $btn-setting-size: 35px; border: 0; padding: 0; box-sizing: border-box; - font-weight: $font-weight-normal; + font-weight: variables.$font-weight-normal; box-shadow: none; text-align: left; cursor: pointer; - line-height: $btn-default-line-height; + line-height: variables.$btn-default-line-height; text-decoration: none; - font-size: $font-size-button; - font-family: $font-base; + font-size: variables.$font-size-button; + font-family: variables.$font-base; &:focus, &:hover { @@ -36,37 +36,29 @@ $btn-setting-size: 35px; margin: 0; } -.btn-small { - padding: 0; - &:hover, - &:focus { - color: $color-primary; - } -} - .btn-primary { display: block; // background: $color-primary; - font-family: $font-pop; + font-family: variables.$font-pop; // color: $text-light; text-align: center; width: 100%; box-sizing: border-box; - border-radius: $radius-small; - padding: $padding; + border-radius: variables.$radius-small; + padding: variables.$padding; &:disabled { - background: $color-primary-disabled !important; + background: variables.$color-primary-disabled !important; cursor: not-allowed; &:hover, &--hover { - background: $color-primary-disabled !important; + background: variables.$color-primary-disabled !important; } } &:hover, &--hover { - background: get-hover-color($color-primary); + background: variables.get-hover-color(variables.$color-primary); } } @@ -76,29 +68,29 @@ $btn-setting-size: 35px; .btn-grey { padding: 0; - font-size: $font-size-mini; + font-size: variables.$font-size-mini; text-align: center; width: 100%; line-height: 4; background: rgba(#fff, 0.15); border: 1px solid transparent; &:hover { - border: $border-style; + border: variables.$border-style; } &.is-active { - background: $color-primary; - border-color: $color-primary; - color: $text-light; + background: variables.$color-primary; + border-color: variables.$color-primary; + color: variables.$text-light; } } .btn--add-to-map { - color: $color-primary; + color: variables.$color-primary; } .btn--secondary { // color: $color-primary; - border: $color-primary; + border: variables.$color-primary; border-radius: 4px; &:hover, @@ -123,67 +115,69 @@ $btn-setting-size: 35px; } .btn--tertiary-dark { - color: $text-light; + color: variables.$text-light; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 4px; padding: 8px 10px; &:hover, &:focus { - border: 1px solid $color-primary; - color: $color-primary; + border: 1px solid variables.$color-primary; + color: variables.$color-primary; } } .btn--remove-from-map { - color: $color-primary; + color: variables.$color-primary; } .btn--loading-on-map { - color: $color-primary; + color: variables.$color-primary; } .btn--close-modal { @extend .btn--secondary; - font-size: $font-size-small; + font-size: variables.$font-size-small; padding: 4px 10px; margin: 5px; font-weight: bold; } .btn--catalog { - padding: $padding 30px + $padding; + padding: variables.$padding 30px + variables.$padding; position: relative; width: 100%; font-weight: bold; - @media (min-width: $sm) { - padding: $padding-small 30px + $padding; + @media (min-width: variables.$sm) { + padding: variables.$padding-small 30px + variables.$padding; } .btn--group-indicator { position: absolute; left: 0; - padding: $padding $padding * 2.2 $padding $padding * 1.5; + padding: variables.$padding variables.$padding * 2.2 variables.$padding + variables.$padding * 1.5; top: 0; - font-size: $font-size-mid-large; + font-size: variables.$font-size-mid-large; opacity: 0.5; - @media (min-width: $sm) { - padding: $padding-small $padding * 2.2 $padding-small $padding * 1.5; + @media (min-width: variables.$sm) { + padding: variables.$padding-small variables.$padding * 2.2 + variables.$padding-small variables.$padding * 1.5; } } &:before { position: absolute; right: 5px; - top: $padding; - @media (min-width: $sm) { - top: $padding-small; + top: variables.$padding; + @media (min-width: variables.$sm) { + top: variables.$padding-small; } } &:hover, &:focus { - background: $modal-highlight; - color: $text-light; + background: variables.$modal-highlight; + color: variables.$text-light; .btn--group-indicator { - color: $text-light; + color: variables.$text-light; } } } @@ -191,49 +185,50 @@ $btn-setting-size: 35px; .btn--catalog-item { position: relative; width: 100%; - padding: $padding-small $padding * 2.2 $padding-small $padding * 1.5; + padding: variables.$padding-small variables.$padding * 2.2 + variables.$padding-small variables.$padding * 1.5; &:focus, &:hover { - color: $modal-highlight; + color: variables.$modal-highlight; &:before { opacity: 1; } } .is-previewed & { - color: $modal-highlight; - font-weight: $font-weight-bold; + color: variables.$modal-highlight; + font-weight: variables.$font-weight-bold; &:before { opacity: 1; } } &.is-active { - color: $modal-highlight; + color: variables.$modal-highlight; } } .btn.btn--tab { - border-right: 1px solid $modal-border; - font-family: $font-pop; - background: $modal-bg; - color: $modal-text; - font-size: $font-size-base; - padding: $padding $padding * 2; + border-right: 1px solid variables.$modal-border; + font-family: variables.$font-pop; + background: variables.$modal-bg; + color: variables.$modal-text; + font-size: variables.$font-size-base; + padding: variables.$padding variables.$padding * 2; border-bottom: 2px solid transparent; li[aria-selected="true"] & { background: #fff; - color: $modal-highlight; + color: variables.$modal-highlight; } } .btn--map { - font-size: $font-size-small; + font-size: variables.$font-size-small; padding: 5px; // color: $text-light; display: block; // display: flex; min-height: 32px; - font-family: $font-pop; + font-family: variables.$font-pop; // opacity: 0.95; // new design has opaque map buttons? // background-color: $dark; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25); @@ -270,9 +265,9 @@ $btn-setting-size: 35px; vertical-align: middle; display: inline-block; - margin: auto $padding-small; - margin-left: $padding-small + 2px; - margin-right: $padding-small - 2px; + margin: auto variables.$padding-small; + margin-left: variables.$padding-small + 2px; + margin-right: variables.$padding-small - 2px; // fill: $text-light; // fill: #6487ae; @@ -282,7 +277,7 @@ $btn-setting-size: 35px; span { // vertical-align: top; vertical-align: middle; - margin: auto $padding-small + 1px; + margin: auto variables.$padding-small + 1px; } } @@ -295,11 +290,12 @@ $btn-setting-size: 35px; } .btn--radio { - padding: $padding-small; + padding: variables.$padding-small; &:before { - color: $color-primary; + color: variables.$color-primary; display: inline-block; - padding: $padding-small $padding-small $padding-small 0; + padding: variables.$padding-small variables.$padding-small + variables.$padding-small 0; } } @@ -308,5 +304,5 @@ $btn-setting-size: 35px; ._buttons__btn-primary.btn--small { padding: 4px 9px; margin-right: 4px; - font-size: $font-size-small; + font-size: variables.$font-size-small; } diff --git a/lib/Sass/common/_drop_zone.scss b/lib/Sass/common/_drop_zone.scss index da07eb55996..9bc0d78b96e 100644 --- a/lib/Sass/common/_drop_zone.scss +++ b/lib/Sass/common/_drop_zone.scss @@ -1,32 +1,32 @@ -@import "~terriajs-variables"; -@import "mixins"; +@use "_variables"; +@use "mixins"; .drop-zone { - @include transition(height 0.25s ease-in-out); + @include mixins.transition(height 0.25s ease-in-out); background: transparent; opacity: 0; z-index: -1; &.is-active { - @include transition(opacity, 0.2s); + @include mixins.transition(opacity, 0.2s); background: #fff; background: -moz-radial-gradient( center, ellipse cover, - rgba($dark-lighter, 0.7) 0%, - rgba($dark, 1) 100% + rgba(variables.$dark-lighter, 0.7) 0%, + rgba(variables.$dark, 1) 100% ); background: -webkit-radial-gradient( center, ellipse cover, - rgba($dark-lighter, 0.7) 0%, - rgba($dark, 1) 100% + rgba(variables.$dark-lighter, 0.7) 0%, + rgba(variables.$dark, 1) 100% ); background: radial-gradient( ellipse at center, - rgba($dark-lighter, 0.7) 0%, - rgba($dark, 1) 100% + rgba(variables.$dark-lighter, 0.7) 0%, + rgba(variables.$dark, 1) 100% ); opacity: 1; display: block; diff --git a/lib/Sass/common/_form.scss b/lib/Sass/common/_form.scss index cfd6803719a..219cba89205 100644 --- a/lib/Sass/common/_form.scss +++ b/lib/Sass/common/_form.scss @@ -1,28 +1,28 @@ -@import "~terriajs-variables"; -@import "./mixins"; +@use "_variables"; +@use "mixins"; .input { font-family: inherit; - font-size: $font-size-mid-small; + font-size: variables.$font-size-mid-small; box-sizing: border-box; margin-top: 0; margin-bottom: 0; border-style: solid; border-width: 1px; - border-color: $field-border; - border-radius: $radius-small; + border-color: variables.$field-border; + border-radius: variables.$radius-small; width: 100%; } .input { - height: $input-height; - color: $text-dark; + height: variables.$input-height; + color: variables.$text-dark; display: block; padding: 0.5rem 0.5rem; vertical-align: middle; -webkit-appearance: none; - @include placeholder { + @include mixins.placeholder { opacity: 0.7; } } @@ -31,15 +31,15 @@ composes: input; border-style: solid; border-width: 1px; - border-color: $field-border; - border-radius: $radius-small; + border-color: variables.$field-border; + border-radius: variables.$radius-small; width: 100%; } .field:focus, .field.is-focused { // outline: none; - border-color: rgba($color-primary, 0.5); + border-color: rgba(variables.$color-primary, 0.5); box-shadow: none; } diff --git a/lib/Sass/common/_labels.scss b/lib/Sass/common/_labels.scss index 8db48f8ea47..22a3f720132 100644 --- a/lib/Sass/common/_labels.scss +++ b/lib/Sass/common/_labels.scss @@ -1,14 +1,14 @@ -@import "~terriajs-variables"; +@use "_variables"; .label { vertical-align: middle; - padding: $padding; + padding: variables.$padding; display: block; - line-height: $btn-default-line-height; - font-family: $font-base; + line-height: variables.$btn-default-line-height; + font-family: variables.$font-base; } .no-results { - padding: $padding !important; - margin-bottom: $padding; + padding: variables.$padding !important; + margin-bottom: variables.$padding; } diff --git a/lib/Sass/common/_mixins.scss b/lib/Sass/common/_mixins.scss index 082eef3267b..3e1cdf53850 100644 --- a/lib/Sass/common/_mixins.scss +++ b/lib/Sass/common/_mixins.scss @@ -1,4 +1,5 @@ -@import "~terriajs-variables"; +@use "sass:meta"; +@use "_variables"; @mixin transition($transition...) { -moz-transition: $transition; @@ -133,26 +134,26 @@ // %link is deprecated. Instead of @extend %link;, use @include link($bg-color); %link { - @if variable-exists(text-link) { + @if meta.variable-exists(text-link) { color: $text-link; } @else { - color: $color-primary; // for backwards compatibility + color: variables.$color-primary; // for backwards compatibility } - text-decoration: $link-text-decoration; + text-decoration: variables.$link-text-decoration; &:visited { - @if variable-exists(text-visited-link) { + @if meta.variable-exists(text-visited-link) { color: $text-visited-link; } @else { - color: $color-primary; + color: variables.$color-primary; } } } @mixin link($bg-color) { - text-decoration: $link-text-decoration; - color: get-link-color($bg-color); + text-decoration: variables.$link-text-decoration; + color: variables.get-link-color($bg-color); &:visited { - color: get-visited-link-color($bg-color); + color: variables.get-visited-link-color($bg-color); } } @@ -188,37 +189,37 @@ display: none !important; } -@media (min-width: $sm) { +@media (min-width: variables.$sm) { %sm-show { display: block !important; } } -@media (min-width: $md) { +@media (min-width: variables.$md) { %md-show { display: block !important; } } -@media (min-width: $lg) { +@media (min-width: variables.$lg) { %lg-show { display: block !important; } } -@media (min-width: $sm) { +@media (min-width: variables.$sm) { %sm-hide { display: none !important; } } -@media (min-width: $md) { +@media (min-width: variables.$md) { %md-hide { display: none !important; } } -@media (min-width: $lg) { +@media (min-width: variables.$lg) { %lg-hide { display: none !important; } diff --git a/lib/Sass/common/_variables.scss b/lib/Sass/common/_variables.scss index 25272c0ec8e..35f20a393aa 100644 --- a/lib/Sass/common/_variables.scss +++ b/lib/Sass/common/_variables.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; @use "sass:color"; @import url("https://fonts.googleapis.com/css?family=Nunito:300,400,500,400italic,600,700&display=swap"); @@ -47,13 +48,13 @@ $text-light-dimmed: #bbbbbb; // } // It would make sense to extend this approach to all text and button coloring. @function get-link-color($bg-color) { - @if variable-exists(text-link) { + @if meta.variable-exists(text-link) { @return $text-link; } @return $color-primary; } @function get-visited-link-color($bg-color) { - @if variable-exists(text-visited-link) { + @if meta.variable-exists(text-visited-link) { @return $text-visited-link; } @return get-link-color($bg-color); diff --git a/lib/Sass/exports/_variables-export.scss b/lib/Sass/exports/_variables-export.scss index e792b6b5c7c..1a5ed0445ce 100644 --- a/lib/Sass/exports/_variables-export.scss +++ b/lib/Sass/exports/_variables-export.scss @@ -3,7 +3,7 @@ // This is the webpack-aliased-and-overriden-from-TerriaMap one, otherwise // resolves back to our base one provided in terriajs -@import "~terriajs-variables"; +@use "../common/_variables"; :export { // TODO: find a better solution for this - some of these we need to provide as @@ -28,49 +28,49 @@ spacing: 5; - frontComponentZIndex: $front-component-z-index; - notificationWindowZIndex: $notification-window-z-index; + frontComponentZIndex: variables.$front-component-z-index; + notificationWindowZIndex: variables.$notification-window-z-index; // ..radius? (no standardised radius at the moment, pull in as needed from variables radius40Button: 20; - radiusLarge: $radius-large; - radiusSmall: $radius-small; + radiusLarge: variables.$radius-large; + radiusSmall: variables.$radius-small; - overlay: $overlay; - overlayInvert: $overlay-invert; + overlay: variables.$overlay; + overlayInvert: variables.$overlay-invert; // Colours - colorPrimary: $color-primary; - colorSecondary: $color-secondary; - textLight: $text-light; // essentially #fff until we sort out the colour palette from vic - textLightTranslucent: rgba($text-light, 0.3); - textLightDimmed: $text-light-dimmed; - textDark: $text-dark; - textDarker: $text-darker; - textBlack: $text-black; - turquoiseBlue: $turquoise-blue; - dark: $dark; - darkWithOverlay: $dark-with-overlay; - darkLighter: $dark-lighter; - grey: $grey; - greyLighter: $grey-lighter; - greyLighter2: $grey-lighter2; - greyLightest: $grey-lightest; - charcoalGrey: $charcoal-grey; + colorPrimary: variables.$color-primary; + colorSecondary: variables.$color-secondary; + textLight: variables.$text-light; // essentially #fff until we sort out the colour palette from vic + textLightTranslucent: rgba(variables.$text-light, 0.3); + textLightDimmed: variables.$text-light-dimmed; + textDark: variables.$text-dark; + textDarker: variables.$text-darker; + textBlack: variables.$text-black; + turquoiseBlue: variables.$turquoise-blue; + dark: variables.$dark; + darkWithOverlay: variables.$dark-with-overlay; + darkLighter: variables.$dark-lighter; + grey: variables.$grey; + greyLighter: variables.$grey-lighter; + greyLighter2: variables.$grey-lighter2; + greyLightest: variables.$grey-lightest; + charcoalGrey: variables.$charcoal-grey; // Fonts - fontPop: $font-pop; - fontBase: $font-base; - fontMono: $font-mono; - fontFeatureInfo: $font-feature-info; - font: $font; + fontPop: variables.$font-pop; + fontBase: variables.$font-base; + fontMono: variables.$font-mono; + fontFeatureInfo: variables.$font-feature-info; + font: variables.$font; - modalBg: $modal-bg; - modalText: $modal-text; - modalHighlight: $modal-highlight; + modalBg: variables.$modal-bg; + modalText: variables.$modal-text; + modalHighlight: variables.$modal-highlight; // TODO: fix, these are stopgaps & should get merged in with something else(?) - mapButtonColor: $map-button-color; + mapButtonColor: variables.$map-button-color; mapButtonTop: 18; mapNavigationTop: 80; @@ -78,17 +78,17 @@ workbenchWidth: 350; workflowPanelWidth: 350; - toolPrimaryColor: $tool-primary-color; + toolPrimaryColor: variables.$tool-primary-color; // Branding - logoHeight: $logo-height; + logoHeight: variables.$logo-height; logoPaddingVertical: 15px; logoPaddingHorizontal: 5px; - logoSmallHeight: $input-height; + logoSmallHeight: variables.$input-height; logoSmallPaddingHorizontal: 0; logoSmallPaddingVertical: 5px; - inputHeight: $input-height; - inputHeightLarge: $input-height-large; + inputHeight: variables.$input-height; + inputHeightLarge: variables.$input-height-large; } diff --git a/lib/Sass/exports/_variables-export.scss.d.ts b/lib/Sass/exports/_variables-export.scss.d.ts index f170ac3d45a..c64eb8acd7c 100644 --- a/lib/Sass/exports/_variables-export.scss.d.ts +++ b/lib/Sass/exports/_variables-export.scss.d.ts @@ -1,60 +1,65 @@ -// This file is automatically generated. -// Please do not change this file! -interface CssExports { - 'charcoalGrey': string; - 'colorPrimary': string; - 'colorSecondary': string; - 'compassWidth': string; - 'dark': string; - 'darkLighter': string; - 'darkWithOverlay': string; - 'font': string; - 'fontBase': string; - 'fontFeatureInfo': string; - 'fontMono': string; - 'fontPop': string; - 'frontComponentZIndex': string; - 'grey': string; - 'greyLighter': string; - 'greyLighter2': string; - 'greyLightest': string; - 'inputHeight': string; - 'inputHeightLarge': string; - 'lg': string; - 'logoHeight': string; - 'logoPaddingHorizontal': string; - 'logoPaddingVertical': string; - 'logoSmallHeight': string; - 'logoSmallPaddingHorizontal': string; - 'logoSmallPaddingVertical': string; - 'mapButtonColor': string; - 'mapButtonTop': string; - 'mapNavigationTop': string; - 'md': string; - 'mobile': string; - 'modalBg': string; - 'modalHighlight': string; - 'modalText': string; - 'notificationWindowZIndex': string; - 'overlay': string; - 'overlayInvert': string; - 'radius40Button': string; - 'radiusLarge': string; - 'radiusSmall': string; - 'ringWidth': string; - 'sm': string; - 'spacing': string; - 'textBlack': string; - 'textDark': string; - 'textDarker': string; - 'textLight': string; - 'textLightDimmed': string; - 'textLightTranslucent': string; - 'toolPrimaryColor': string; - 'trainerHeight': string; - 'turquoiseBlue': string; - 'workbenchWidth': string; - 'workflowPanelWidth': string; +declare namespace VariablesExportScssNamespace { + export interface IVariablesExportScss { + charcoalGrey: string; + colorPrimary: string; + colorSecondary: string; + compassWidth: string; + dark: string; + darkLighter: string; + darkWithOverlay: string; + font: string; + fontBase: string; + fontFeatureInfo: string; + fontMono: string; + fontPop: string; + frontComponentZIndex: string; + grey: string; + greyLighter: string; + greyLighter2: string; + greyLightest: string; + inputHeight: string; + inputHeightLarge: string; + lg: string; + logoHeight: string; + logoPaddingHorizontal: string; + logoPaddingVertical: string; + logoSmallHeight: string; + logoSmallPaddingHorizontal: string; + logoSmallPaddingVertical: string; + mapButtonColor: string; + mapButtonTop: string; + mapNavigationTop: string; + md: string; + mobile: string; + modalBg: string; + modalHighlight: string; + modalText: string; + notificationWindowZIndex: string; + overlay: string; + overlayInvert: string; + radius40Button: string; + radiusLarge: string; + radiusSmall: string; + ringWidth: string; + sm: string; + spacing: string; + textBlack: string; + textDark: string; + textDarker: string; + textLight: string; + textLightDimmed: string; + textLightTranslucent: string; + toolPrimaryColor: string; + trainerHeight: string; + turquoiseBlue: string; + workbenchWidth: string; + workflowPanelWidth: string; + } } -declare var cssExports: CssExports; -export = cssExports; + +declare const VariablesExportScssModule: VariablesExportScssNamespace.IVariablesExportScss & { + /** WARNING: Only available when `css-loader` is used without `style-loader` or `mini-css-extract-plugin` */ + locals: VariablesExportScssNamespace.IVariablesExportScss; +}; + +export = VariablesExportScssModule; diff --git a/lib/Sass/global/_datePickerOverride.scss b/lib/Sass/global/_datePickerOverride.scss index ce00a9101ad..21337f598c0 100644 --- a/lib/Sass/global/_datePickerOverride.scss +++ b/lib/Sass/global/_datePickerOverride.scss @@ -1,4 +1,4 @@ -@import "~terriajs-variables"; +@use "../common/_variables"; // added :global { .terria .react-datepicker { @@ -18,15 +18,15 @@ } .react-datepicker .react-datepicker__day:hover { - background: $color-primary; + background: variables.$color-primary; color: #fff; } .react-datepicker .react-datepicker__day--disabled, .react-datepicker .react-datepicker__day--disabled:hover { - background: $overlay; - color: $dark; - border: 1px solid $overlay; + background: variables.$overlay; + color: variables.$dark; + border: 1px solid variables.$overlay; } .react-datepicker__navigation { @@ -39,7 +39,7 @@ .terria .react-datepicker__header, .terria .react-datepicker { - background: $dark; + background: variables.$dark; padding-top: 0; } diff --git a/lib/Sass/global/_leaflet.scss b/lib/Sass/global/_leaflet.scss index 35df1c8e643..7bea6b9925a 100644 --- a/lib/Sass/global/_leaflet.scss +++ b/lib/Sass/global/_leaflet.scss @@ -1,4 +1,4 @@ -@import "../../Sass/common/mixins"; +@use "../../Sass/common/mixins"; // This makes Leaflet work in hot mode :global { @@ -273,7 +273,7 @@ } .leaflet-container a { color: #0078a8; - @include link(#fff); + @include mixins.link(#fff); } .leaflet-container a.leaflet-active { outline: 2px solid orange; diff --git a/lib/Sass/global/_slider.scss b/lib/Sass/global/_slider.scss index db8b9c4baed..7ffac996c90 100644 --- a/lib/Sass/global/_slider.scss +++ b/lib/Sass/global/_slider.scss @@ -1,5 +1,6 @@ +@use "sass:meta"; :global { - @import "~rc-slider/assets/index"; + @include meta.load-css("~rc-slider/assets/index"); .rc-slider { margin-right: 5px; margin-top: 5px; diff --git a/lib/Sass/global/_sortable.scss b/lib/Sass/global/_sortable.scss index 62fb52588d2..f068a67aca3 100644 --- a/lib/Sass/global/_sortable.scss +++ b/lib/Sass/global/_sortable.scss @@ -1,3 +1,4 @@ +@use "sass:meta"; :global { - @import "~react-anything-sortable/sortable"; + @include meta.load-css("~react-anything-sortable/sortable"); } diff --git a/lib/Sass/global/global.scss b/lib/Sass/global/global.scss index 9204987dff9..42dcb13c6bc 100644 --- a/lib/Sass/global/global.scss +++ b/lib/Sass/global/global.scss @@ -1,6 +1,6 @@ -@import "./leaflet"; -@import "./datePicker"; -@import "./normalize"; -@import "./datePickerOverride"; -@import "./slider"; -@import "./sortable"; +@use "leaflet"; +@use "datePicker"; +@use "normalize"; +@use "datePickerOverride"; +@use "slider"; +@use "sortable"; diff --git a/lib/Styled/Icon.tsx b/lib/Styled/Icon.tsx index f37e567b433..f819b257db7 100644 --- a/lib/Styled/Icon.tsx +++ b/lib/Styled/Icon.tsx @@ -2,143 +2,280 @@ import classNames from "classnames"; import React from "react"; import styled from "styled-components"; +// Import icon SVGs +import calendar from "../../wwwroot/images/icons/calendar.svg"; +import calendar2 from "../../wwwroot/images/icons/calendar2.svg"; +import about from "../../wwwroot/images/icons/about.svg"; +import add from "../../wwwroot/images/icons/add.svg"; +import arHover0 from "../../wwwroot/images/icons/ar-hover0.svg"; +import arHover1 from "../../wwwroot/images/icons/ar-hover1.svg"; +import arHover2 from "../../wwwroot/images/icons/ar-hover2.svg"; +import arOff from "../../wwwroot/images/icons/ar-off.svg"; +import arOn from "../../wwwroot/images/icons/ar-on.svg"; +import arRealign from "../../wwwroot/images/icons/ar-realign.svg"; +import arResetAlignment from "../../wwwroot/images/icons/ar-reset-alignment.svg"; +import arrowDown from "../../wwwroot/images/icons/arrow-down.svg"; +import backToStart from "../../wwwroot/images/icons/back-to-start.svg"; +import backward from "../../wwwroot/images/icons/backward.svg"; +import barChart from "../../wwwroot/images/icons/bar-chart.svg"; +import bulb from "../../wwwroot/images/icons/bulb.svg"; +import controls from "../../wwwroot/images/icons/controls.svg"; +import checkboxIndeterminate from "../../wwwroot/images/icons/checkbox-indeterminate.svg"; +import checkboxOff from "../../wwwroot/images/icons/checkbox-off.svg"; +import checkboxOn from "../../wwwroot/images/icons/checkbox-on.svg"; +import close from "../../wwwroot/images/icons/close.svg"; +import closeLight from "../../wwwroot/images/icons/close-light.svg"; +import closed from "../../wwwroot/images/icons/closed.svg"; +import decrease from "../../wwwroot/images/icons/decrease.svg"; +import download from "../../wwwroot/images/icons/download.svg"; +import downloadNew from "../../wwwroot/images/icons/download-new.svg"; +import expand from "../../wwwroot/images/icons/expand.svg"; +import eye from "../../wwwroot/images/icons/eye.svg"; +import externalLink from "../../wwwroot/images/icons/external-link.svg"; +import feedback from "../../wwwroot/images/icons/feedback.svg"; +import folder from "../../wwwroot/images/icons/folder.svg"; +import folderOpen from "../../wwwroot/images/icons/folder-open.svg"; +import forward from "../../wwwroot/images/icons/forward.svg"; +import geolocation from "../../wwwroot/images/icons/geolocation.svg"; +import gallery from "../../wwwroot/images/icons/gallery.svg"; +import help from "../../wwwroot/images/icons/help.svg"; +import helpThick from "../../wwwroot/images/icons/help-thick.svg"; +import increase from "../../wwwroot/images/icons/increase.svg"; +import left from "../../wwwroot/images/icons/left.svg"; +import lineChart from "../../wwwroot/images/icons/line-chart.svg"; +import link from "../../wwwroot/images/icons/link.svg"; +import loader from "../../wwwroot/images/icons/loader.svg"; +import location from "../../wwwroot/images/icons/location.svg"; +import location2 from "../../wwwroot/images/icons/location2.svg"; +import lock from "../../wwwroot/images/icons/lock.svg"; +import loop from "../../wwwroot/images/icons/loop.svg"; +import menu from "../../wwwroot/images/icons/menu.svg"; +import measure from "../../wwwroot/images/icons/measure.svg"; +import opened from "../../wwwroot/images/icons/opened.svg"; +import pause from "../../wwwroot/images/icons/pause.svg"; +import play from "../../wwwroot/images/icons/play.svg"; +import playStory from "../../wwwroot/images/icons/play-story.svg"; +import radioOff from "../../wwwroot/images/icons/radio-off.svg"; +import radioOn from "../../wwwroot/images/icons/radio-on.svg"; +import refresh from "../../wwwroot/images/icons/refresh.svg"; +import remove from "../../wwwroot/images/icons/remove.svg"; +import right from "../../wwwroot/images/icons/right.svg"; +import right2 from "../../wwwroot/images/icons/right2.svg"; +import revert from "../../wwwroot/images/icons/revert.svg"; +import search from "../../wwwroot/images/icons/search.svg"; +import selected from "../../wwwroot/images/icons/selected.svg"; +import settings from "../../wwwroot/images/icons/settings.svg"; +import share from "../../wwwroot/images/icons/share.svg"; +import showLess from "../../wwwroot/images/icons/show-less.svg"; +import showMore from "../../wwwroot/images/icons/show-more.svg"; +import sphere from "../../wwwroot/images/icons/sphere.svg"; +import map from "../../wwwroot/images/icons/map.svg"; +import splitter from "../../wwwroot/images/icons/splitter.svg"; +import splitterOn from "../../wwwroot/images/icons/splitterOn.svg"; +import splitterOff from "../../wwwroot/images/icons/splitterOff.svg"; +import difference from "../../wwwroot/images/icons/difference.svg"; +import diffImage from "../../wwwroot/images/icons/splitter.svg"; +import previous from "../../wwwroot/images/icons/previous.svg"; +import next from "../../wwwroot/images/icons/next.svg"; +import timeline from "../../wwwroot/images/icons/timeline.svg"; +import data from "../../wwwroot/images/icons/data.svg"; +import dataCatalog from "../../wwwroot/images/icons/dataCatalog.svg"; +import upload from "../../wwwroot/images/icons/upload.svg"; +import trashcan from "../../wwwroot/images/icons/trashcan.svg"; +import local from "../../wwwroot/images/icons/localfile.svg"; +import web from "../../wwwroot/images/icons/remotefile.svg"; +import compassInner from "../../wwwroot/images/icons/compass-inner.svg"; +import compassInnerArrows from "../../wwwroot/images/icons/compass-inner-arrows.svg"; +import compassOuter from "../../wwwroot/images/icons/compass-outer.svg"; +import compassOuterSkeleton from "../../wwwroot/images/icons/compass-outer-skeleton.svg"; +import compassOuterEnlarged from "../../wwwroot/images/icons/compass-outer-enlarged.svg"; +import compassRotationMarker from "../../wwwroot/images/icons/compass-rotation-marker.svg"; +import circleFull from "../../wwwroot/images/icons/circlef-full.svg"; +import circleEmpty from "../../wwwroot/images/icons/circle-empty.svg"; +import story from "../../wwwroot/images/icons/story.svg"; +import recapture from "../../wwwroot/images/icons/recapture.svg"; +import menuDotted from "../../wwwroot/images/icons/menu-dotted.svg"; +import cancel from "../../wwwroot/images/icons/cancel.svg"; +import user from "../../wwwroot/images/icons/user.svg"; +import datePicker from "../../wwwroot/images/icons/date-picker-icon.svg"; +import tour from "../../wwwroot/images/icons/take-the-tour-icon.svg"; +import layers from "../../wwwroot/images/icons/pulling-away-layers-icon.svg"; +import start from "../../wwwroot/images/icons/getting-started-icon.svg"; +import cube from "../../wwwroot/images/icons/interact.svg"; +import globe from "../../wwwroot/images/icons/globe.svg"; +import playInverted from "../../wwwroot/images/icons/play-inverted.svg"; +import video from "../../wwwroot/images/icons/video.svg"; +import compare from "../../wwwroot/images/icons/compare.svg"; +import lifesaver from "../../wwwroot/images/icons/help-2.svg"; +import geolocationThick from "../../wwwroot/images/icons/location-thick.svg"; +import minus from "../../wwwroot/images/icons/minus.svg"; +import plus from "../../wwwroot/images/icons/plus.svg"; +import zoomIn from "../../wwwroot/images/icons/zoom-in.svg"; +import zoomOut from "../../wwwroot/images/icons/zoom-out.svg"; +import zoomReset from "../../wwwroot/images/icons/zoom-reset.svg"; +import satellite from "../../wwwroot/images/icons/satellite.svg"; +import mapDataActive from "../../wwwroot/images/icons/map-data-active.svg"; +import mapDataInactive from "../../wwwroot/images/icons/map-data-inactive.svg"; +import uploadThin from "../../wwwroot/images/icons/upload-thin.svg"; +import oneTwoThree from "../../wwwroot/images/icons/one-two-three.svg"; +import accordionOpen from "../../wwwroot/images/icons/accordion-open.svg"; +import accordionClose from "../../wwwroot/images/icons/accordion-close.svg"; +import editor from "../../wwwroot/images/icons/editor.svg"; +import viewStory from "../../wwwroot/images/icons/view-story.svg"; +import editStory from "../../wwwroot/images/icons/edit-story.svg"; +import questionMark from "../../wwwroot/images/icons/questionmark.svg"; +import pedestrian from "../../wwwroot/images/icons/pedestrian.svg"; +import minimize from "../../wwwroot/images/icons/minimize.svg"; +import maximize from "../../wwwroot/images/icons/maximize.svg"; +import closeTool from "../../wwwroot/images/icons/close-tool.svg"; +import moreItems from "../../wwwroot/images/icons/more-items.svg"; +import info from "../../wwwroot/images/icons/info.svg"; +import leftSmall from "../../wwwroot/images/icons/left-small.svg"; +import rightSmall from "../../wwwroot/images/icons/right-small.svg"; +import compareLeftPanel from "../../wwwroot/images/icons/compare-left-panel.svg"; +import compareRightPanel from "../../wwwroot/images/icons/compare-right-panel.svg"; +import compareBothPanels from "../../wwwroot/images/icons/compare-both-panels.svg"; +import closeCircle from "../../wwwroot/images/icons/close-circle.svg"; +import plusList from "../../wwwroot/images/icons/plus-list-20.svg"; +import minusList from "../../wwwroot/images/icons/dismiss-20.svg"; + // Icon export const GLYPHS = { - calendar: require("../../wwwroot/images/icons/calendar.svg"), - calendar2: require("../../wwwroot/images/icons/calendar2.svg"), - about: require("../../wwwroot/images/icons/about.svg"), - add: require("../../wwwroot/images/icons/add.svg"), - arHover0: require("../../wwwroot/images/icons/ar-hover0.svg"), - arHover1: require("../../wwwroot/images/icons/ar-hover1.svg"), - arHover2: require("../../wwwroot/images/icons/ar-hover2.svg"), - arOff: require("../../wwwroot/images/icons/ar-off.svg"), - arOn: require("../../wwwroot/images/icons/ar-on.svg"), - arRealign: require("../../wwwroot/images/icons/ar-realign.svg"), - arResetAlignment: require("../../wwwroot/images/icons/ar-reset-alignment.svg"), - arrowDown: require("../../wwwroot/images/icons/arrow-down.svg"), - backToStart: require("../../wwwroot/images/icons/back-to-start.svg"), - backward: require("../../wwwroot/images/icons/backward.svg"), - barChart: require("../../wwwroot/images/icons/bar-chart.svg"), - bulb: require("../../wwwroot/images/icons/bulb.svg"), - controls: require("../../wwwroot/images/icons/controls.svg"), - checkboxIndeterminate: require("../../wwwroot/images/icons/checkbox-indeterminate.svg"), - checkboxOff: require("../../wwwroot/images/icons/checkbox-off.svg"), - checkboxOn: require("../../wwwroot/images/icons/checkbox-on.svg"), - close: require("../../wwwroot/images/icons/close.svg"), - closeLight: require("../../wwwroot/images/icons/close-light.svg"), - closed: require("../../wwwroot/images/icons/closed.svg"), - decrease: require("../../wwwroot/images/icons/decrease.svg"), - download: require("../../wwwroot/images/icons/download.svg"), - downloadNew: require("../../wwwroot/images/icons/download-new.svg"), - expand: require("../../wwwroot/images/icons/expand.svg"), - eye: require("../../wwwroot/images/icons/eye.svg"), - externalLink: require("../../wwwroot/images/icons/external-link.svg"), - feedback: require("../../wwwroot/images/icons/feedback.svg"), - folder: require("../../wwwroot/images/icons/folder.svg"), - folderOpen: require("../../wwwroot/images/icons/folder-open.svg"), - forward: require("../../wwwroot/images/icons/forward.svg"), - geolocation: require("../../wwwroot/images/icons/geolocation.svg"), - gallery: require("../../wwwroot/images/icons/gallery.svg"), - help: require("../../wwwroot/images/icons/help.svg"), - helpThick: require("../../wwwroot/images/icons/help-thick.svg"), - increase: require("../../wwwroot/images/icons/increase.svg"), - left: require("../../wwwroot/images/icons/left.svg"), - lineChart: require("../../wwwroot/images/icons/line-chart.svg"), - link: require("../../wwwroot/images/icons/link.svg"), - loader: require("../../wwwroot/images/icons/loader.svg"), - location: require("../../wwwroot/images/icons/location.svg"), - location2: require("../../wwwroot/images/icons/location2.svg"), - lock: require("../../wwwroot/images/icons/lock.svg"), - loop: require("../../wwwroot/images/icons/loop.svg"), - menu: require("../../wwwroot/images/icons/menu.svg"), - measure: require("../../wwwroot/images/icons/measure.svg"), - opened: require("../../wwwroot/images/icons/opened.svg"), - pause: require("../../wwwroot/images/icons/pause.svg"), - play: require("../../wwwroot/images/icons/play.svg"), - playStory: require("../../wwwroot/images/icons/play-story.svg"), - radioOff: require("../../wwwroot/images/icons/radio-off.svg"), - radioOn: require("../../wwwroot/images/icons/radio-on.svg"), - refresh: require("../../wwwroot/images/icons/refresh.svg"), - remove: require("../../wwwroot/images/icons/remove.svg"), - right: require("../../wwwroot/images/icons/right.svg"), - right2: require("../../wwwroot/images/icons/right2.svg"), - revert: require("../../wwwroot/images/icons/revert.svg"), - search: require("../../wwwroot/images/icons/search.svg"), - selected: require("../../wwwroot/images/icons/selected.svg"), - settings: require("../../wwwroot/images/icons/settings.svg"), - share: require("../../wwwroot/images/icons/share.svg"), - showLess: require("../../wwwroot/images/icons/show-less.svg"), - showMore: require("../../wwwroot/images/icons/show-more.svg"), - sphere: require("../../wwwroot/images/icons/sphere.svg"), - map: require("../../wwwroot/images/icons/map.svg"), - splitter: require("../../wwwroot/images/icons/splitter.svg"), - splitterOn: require("../../wwwroot/images/icons/splitterOn.svg"), - splitterOff: require("../../wwwroot/images/icons/splitterOff.svg"), - difference: require("../../wwwroot/images/icons/difference.svg"), - diffImage: require("../../wwwroot/images/icons/splitter.svg"), - previous: require("../../wwwroot/images/icons/previous.svg"), - next: require("../../wwwroot/images/icons/next.svg"), - timeline: require("../../wwwroot/images/icons/timeline.svg"), - data: require("../../wwwroot/images/icons/data.svg"), - dataCatalog: require("../../wwwroot/images/icons/dataCatalog.svg"), - upload: require("../../wwwroot/images/icons/upload.svg"), - trashcan: require("../../wwwroot/images/icons/trashcan.svg"), - local: require("../../wwwroot/images/icons/localfile.svg"), - web: require("../../wwwroot/images/icons/remotefile.svg"), - compassInner: require("../../wwwroot/images/icons/compass-inner.svg"), - compassInnerArrows: require("../../wwwroot/images/icons/compass-inner-arrows.svg"), - compassOuter: require("../../wwwroot/images/icons/compass-outer.svg"), - compassOuterSkeleton: require("../../wwwroot/images/icons/compass-outer-skeleton.svg"), - compassOuterEnlarged: require("../../wwwroot/images/icons/compass-outer-enlarged.svg"), - compassRotationMarker: require("../../wwwroot/images/icons/compass-rotation-marker.svg"), - circleFull: require("../../wwwroot/images/icons/circlef-full.svg"), - circleEmpty: require("../../wwwroot/images/icons/circle-empty.svg"), - story: require("../../wwwroot/images/icons/story.svg"), - recapture: require("../../wwwroot/images/icons/recapture.svg"), - menuDotted: require("../../wwwroot/images/icons/menu-dotted.svg"), - cancel: require("../../wwwroot/images/icons/cancel.svg"), - user: require("../../wwwroot/images/icons/user.svg"), - datePicker: require("../../wwwroot/images/icons/date-picker-icon.svg"), - tour: require("../../wwwroot/images/icons/take-the-tour-icon.svg"), - layers: require("../../wwwroot/images/icons/pulling-away-layers-icon.svg"), - start: require("../../wwwroot/images/icons/getting-started-icon.svg"), - cube: require("../../wwwroot/images/icons/interact.svg"), - globe: require("../../wwwroot/images/icons/globe.svg"), - playInverted: require("../../wwwroot/images/icons/play-inverted.svg"), - video: require("../../wwwroot/images/icons/video.svg"), - compare: require("../../wwwroot/images/icons/compare.svg"), - lifesaver: require("../../wwwroot/images/icons/help-2.svg"), - geolocationThick: require("../../wwwroot/images/icons/location-thick.svg"), - minus: require("../../wwwroot/images/icons/minus.svg"), - plus: require("../../wwwroot/images/icons/plus.svg"), - zoomIn: require("../../wwwroot/images/icons/zoom-in.svg"), - zoomOut: require("../../wwwroot/images/icons/zoom-out.svg"), - zoomReset: require("../../wwwroot/images/icons/zoom-reset.svg"), - satellite: require("../../wwwroot/images/icons/satellite.svg"), - mapDataActive: require("../../wwwroot/images/icons/map-data-active.svg"), - mapDataInactive: require("../../wwwroot/images/icons/map-data-inactive.svg"), - uploadThin: require("../../wwwroot/images/icons/upload-thin.svg"), - oneTwoThree: require("../../wwwroot/images/icons/one-two-three.svg"), - accordionOpen: require("../../wwwroot/images/icons/accordion-open.svg"), - accordionClose: require("../../wwwroot/images/icons/accordion-close.svg"), - editor: require("../../wwwroot/images/icons/editor.svg"), - viewStory: require("../../wwwroot/images/icons/view-story.svg"), - editStory: require("../../wwwroot/images/icons/edit-story.svg"), - questionMark: require("../../wwwroot/images/icons/questionmark.svg"), - pedestrian: require("../../wwwroot/images/icons/pedestrian.svg"), - minimize: require("../../wwwroot/images/icons/minimize.svg"), - maximize: require("../../wwwroot/images/icons/maximize.svg"), - closeTool: require("../../wwwroot/images/icons/close-tool.svg"), - moreItems: require("../../wwwroot/images/icons/more-items.svg"), - info: require("../../wwwroot/images/icons/info.svg"), - leftSmall: require("../../wwwroot/images/icons/left-small.svg"), - rightSmall: require("../../wwwroot/images/icons/right-small.svg"), - compareLeftPanel: require("../../wwwroot/images/icons/compare-left-panel.svg"), - compareRightPanel: require("../../wwwroot/images/icons/compare-right-panel.svg"), - compareBothPanels: require("../../wwwroot/images/icons/compare-both-panels.svg"), - closeCircle: require("../../wwwroot/images/icons/close-circle.svg"), - plusList: require("../../wwwroot/images/icons/plus-list-20.svg"), - minusList: require("../../wwwroot/images/icons/dismiss-20.svg") + calendar, + calendar2, + about, + add, + arHover0, + arHover1, + arHover2, + arOff, + arOn, + arRealign, + arResetAlignment, + arrowDown, + backToStart, + backward, + barChart, + bulb, + controls, + checkboxIndeterminate, + checkboxOff, + checkboxOn, + close, + closeLight, + closed, + decrease, + download, + downloadNew, + expand, + eye, + externalLink, + feedback, + folder, + folderOpen, + forward, + geolocation, + gallery, + help, + helpThick, + increase, + left, + lineChart, + link, + loader, + location, + location2, + lock, + loop, + menu, + measure, + opened, + pause, + play, + playStory, + radioOff, + radioOn, + refresh, + remove, + right, + right2, + revert, + search, + selected, + settings, + share, + showLess, + showMore, + sphere, + map, + splitter, + splitterOn, + splitterOff, + difference, + diffImage, + previous, + next, + timeline, + data, + dataCatalog, + upload, + trashcan, + local, + web, + compassInner, + compassInnerArrows, + compassOuter, + compassOuterSkeleton, + compassOuterEnlarged, + compassRotationMarker, + circleFull, + circleEmpty, + story, + recapture, + menuDotted, + cancel, + user, + datePicker, + tour, + layers, + start, + cube, + globe, + playInverted, + video, + compare, + lifesaver, + geolocationThick, + minus, + plus, + zoomIn, + zoomOut, + zoomReset, + satellite, + mapDataActive, + mapDataInactive, + uploadThin, + oneTwoThree, + accordionOpen, + accordionClose, + editor, + viewStory, + editStory, + questionMark, + pedestrian, + minimize, + maximize, + closeTool, + moreItems, + info, + leftSmall, + rightSmall, + compareLeftPanel, + compareRightPanel, + compareBothPanels, + closeCircle, + plusList, + minusList }; export interface IconGlyph { diff --git a/lib/ThirdParty/global.d.ts b/lib/ThirdParty/global.d.ts new file mode 100644 index 00000000000..20d3789d330 --- /dev/null +++ b/lib/ThirdParty/global.d.ts @@ -0,0 +1,6 @@ +declare module "*.DAC"; +declare module "*.csv"; +declare module "*.xml"; +declare module "*.svg"; +declare module "*.png"; +declare module "*.jpg"; diff --git a/lib/ThirdParty/worker-loader.d.ts b/lib/ThirdParty/worker-loader.d.ts new file mode 100644 index 00000000000..38122dfb5aa --- /dev/null +++ b/lib/ThirdParty/worker-loader.d.ts @@ -0,0 +1,7 @@ +declare module "worker-loader!*" { + type value = { + new (): Worker; + }; + const value: value; + export default value; +} diff --git a/package.json b/package.json index f6d47e21e99..3ca3a60a6d5 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Geospatial data visualization platform.", "license": "Apache-2.0", "engines": { - "node": ">= 16.0.0" + "node": ">= 20.0.0" }, "repository": { "type": "git", @@ -14,24 +14,18 @@ "colors": "1.4.0", "@types/node": "^18.15.11", "@types/css-font-loading-module": "^0.0.9", - "terser-webpack-plugin": "^4.2.3", "underscore": "^1.12.1" }, "dependencies": { "@babel/core": "^7.23.5", "@babel/parser": "^7.23.5", - "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/preset-env": "^7.23.5", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.22.5", "@mapbox/geojson-merge": "^1.1.1", "@mapbox/point-geometry": "^0.1.0", "@mapbox/togeojson": "^0.16.2", - "@open-wc/webpack-import-meta-loader": "^0.4.7", "@opendatasoft/api-client": "^0.1.0", "@tinymce/tinymce-react": "^5.0.1", "@turf/bbox": "^6.5.0", @@ -87,18 +81,16 @@ "@visx/shape": "^3.5.0", "@visx/tooltip": "^3.3.0", "assimpjs": "^0.0.7", - "babel-loader": "^8.2.3", - "babel-plugin-lodash": "^3.3.4", + "babel-loader": "^9.2.1", "bottleneck": "^2.19.5", "catalog-converter": "^0.0.9", "classnames": "^2.3.1", "clipboard": "^2.0.8", - "commander": "^11.1.0 ", - "copy-webpack-plugin": "^6.4.0", + "commander": "^12.1.0 ", + "copy-webpack-plugin": "^12.0.2", "core-js": "^3.1.4", "create-react-class": "^15.7.0", - "css-loader": "^2.1.0", - "css-modules-typescript-loader": "^2.0.4", + "css-loader": "^7.1.2", "d3-array": "^3.2.4", "d3-color": "^3.1.0", "d3-ease": "^3.0.1", @@ -110,7 +102,6 @@ "d3-zoom": "^3.0.0", "dateformat": "^5.0.3", "dompurify": "^2.5.7", - "file-loader": "^3.0.1", "file-saver": "^2.0.5", "flexsearch": "0.7.21", "fs-extra": "^7.0.1", @@ -122,7 +113,6 @@ "i18next": "^21.8.13", "i18next-browser-languagedetector": "^6.1.4", "i18next-http-backend": "^1.4.1", - "imports-loader": "^0.8.0", "inobounce": "^0.1.2", "interactjs": "1.4.0-alpha.17", "javascript-natural-sort": "^0.7.1", @@ -132,7 +122,7 @@ "lodash-es": "^4.17.11", "markdown-it": "^14.1.0", "math-expression-evaluator": "^1.3.7", - "mini-css-extract-plugin": "^0.5.0", + "mini-css-extract-plugin": "^2.9.2", "minisearch": "^3.0.2", "mobx": "<6.13.0", "mobx-react": "7.6.0", @@ -142,14 +132,13 @@ "mustache": "^2.2.1", "node-fetch": "^2.6.1", "papaparse": "^5.2.0", - "pmtiles": "^3.0.7", "pbf": "^3.0.1", + "pmtiles": "^3.0.7", "point-in-polygon": "^1.0.1", "proj4": "^2.4.4", "proj4-fully-loaded": "^0.2.0", "prop-types": "^15.6.0", "protomaps-leaflet": "^4.0.1", - "raw-loader": "^1.0.0", "rc-slider": "^9.7.2", "react": "^16.14.0", "react-anything-sortable": "^1.5.2", @@ -166,46 +155,42 @@ "react-virtual": "~2.3.2", "resolve-url-loader": "^5.0.0", "retry": "^0.12.0", - "sass-loader": "^10", + "sass-loader": "^16.0.3", "shpjs": "^4.0.4", - "string-replace-webpack-plugin": "^0.1.3", - "style-loader": "^0.23.1", + "style-loader": "^4.0.0", "styled-components": "^5.3.9", "svg-sprite-loader": "^6.0.11", - "terriajs-cesium": "8.0.1", - "terriajs-cesium-widgets": "5.0.0", + "terriajs-cesium": "8.0.2", + "terriajs-cesium-widgets": "5.0.1", "terriajs-html2canvas": "1.0.0-alpha.12-terriajs-1", - "terriajs-tiff-imagery-provider": "2.13.3", + "terriajs-tiff-imagery-provider": "2.13.3-webpack5-3", + "terriajs-typings-for-css-modules-loader": "^2.5.2", "thredds-catalog-crawler": "0.0.7", "ts-essentials": "^5.0.0", "typescript": "~5.2.0", "urijs": "^1.18.12", - "url-loader": "^1.1.2", - "webpack": "~4.47.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.15.2", - "worker-loader": "^2.0.0" + "webpack": "^5.96.1", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.1.0", + "worker-loader": "^3.0.8" }, "devDependencies": { "@babel/eslint-parser": "^7.23.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@types/node": "^18.15.11", "@types/proj4": "^2.5.5", - "@types/webpack": "4.41.33", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.12.0", "babel-plugin-styled-components": "^1.10.7", "bufferutil": "^4.0.8", - "eslint": "^8.57.0", + "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.19.0", "eslint-plugin-react-hooks": "^4.6.0", "fast-glob": "^3.3.2", "fetch-mock": "^11.1.5", - "fork-ts-checker-notifier-webpack-plugin": "^6.0.0", - "fork-ts-checker-webpack-plugin": "^6.0.0", + "fork-ts-checker-notifier-webpack-plugin": "^9.0.0", + "fork-ts-checker-webpack-plugin": "^9.0.2", "husky": "^8.0.3", - "istanbul-instrumenter-loader": "^3.0.1", "jasmine-ajax": "^4.0.0", "jasmine-core": "^2.9.1", "jsdom": "^17.0.0", @@ -230,7 +215,7 @@ "react-shallow-testutils": "^3.0.0", "react-test-renderer": "^16.3.2", "regenerator-runtime": "^0.13.2", - "sass": "<1.80", + "sass": "^1.81.0", "terriajs-server": "^4.0.0", "utf-8-validate": "^6.0.3", "yaml": "^1.10.0" diff --git a/test/ModelMixins/ExportWebCoverageServiceMixinSpec.ts b/test/ModelMixins/ExportWebCoverageServiceMixinSpec.ts index d0dac02918e..6a396258a75 100644 --- a/test/ModelMixins/ExportWebCoverageServiceMixinSpec.ts +++ b/test/ModelMixins/ExportWebCoverageServiceMixinSpec.ts @@ -2,9 +2,8 @@ import { runInAction } from "mobx"; import Rectangle from "terriajs-cesium/Source/Core/Rectangle"; import WebMapServiceCatalogItem from "../../lib/Models/Catalog/Ows/WebMapServiceCatalogItem"; import Terria from "../../lib/Models/Terria"; - -const describeCoverageXml = require("raw-loader!../../wwwroot/test/WCS/DescribeCoverage.xml"); -const wmsGetCapabilitiesXml = require("raw-loader!../../wwwroot/test/WMS/wms_crs.xml"); +import describeCoverageXml from "../../wwwroot/test/WCS/DescribeCoverage.xml"; +import wmsGetCapabilitiesXml from "../../wwwroot/test/WMS/wms_crs.xml"; describe("ExportWebCoverageServiceMixin", function () { let terria: Terria; diff --git a/test/ModelMixins/TableMixinSpec.ts b/test/ModelMixins/TableMixinSpec.ts index fc003846842..47d05c2ce1c 100644 --- a/test/ModelMixins/TableMixinSpec.ts +++ b/test/ModelMixins/TableMixinSpec.ts @@ -31,38 +31,25 @@ import TableTrailStyleTraits, { BinTrailSymbolTraits, EnumTrailSymbolTraits } from "../../lib/Traits/TraitsClasses/Table/TrailStyleTraits"; - import HorizontalOrigin from "terriajs-cesium/Source/Scene/HorizontalOrigin"; import VerticalOrigin from "terriajs-cesium/Source/Scene/VerticalOrigin"; import ScaleByDistanceTraits from "../../lib/Traits/TraitsClasses/ScaleByDistanceTraits"; - -const LatLonValCsv = require("raw-loader!../../wwwroot/test/csv/lat_lon_val.csv"); -const LatLonEnumCsv = require("raw-loader!../../wwwroot/test/csv/lat_lon_enum.csv"); -const LatLonValCsvDuplicate = require("raw-loader!../../wwwroot/test/csv/lat_lon_val_with_duplicate_row.csv"); -const LatLonEnumDateIdCsv = require("raw-loader!../../wwwroot/test/csv/lat_lon_enum_date_id.csv"); -const LatLonEnumDateIdWithRegionCsv = require("raw-loader!../../wwwroot/test/csv/lat_lon_enum_date_id_with_regions.csv"); -const LgaWithDisambigCsv = require("raw-loader!../../wwwroot/test/csv/lga_state_disambig.csv"); -const ParkingSensorDataCsv = require("raw-loader!../../wwwroot/test/csv/parking-sensor-data.csv"); -const LegendDecimalPlacesCsv = require("raw-loader!../../wwwroot/test/csv/legend-decimal-places.csv"); -const BadDatesCsv = require("raw-loader!../../wwwroot/test/csv/bad-dates.csv"); -const regionMapping = JSON.stringify( - require("../../wwwroot/data/regionMapping.json") -); -const additionalRegionMapping = JSON.stringify( - require("../../wwwroot/test/regionMapping/additionalRegion.json") -); -const regionIdsSte = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-STE_2016_AUST_STE_NAME16.json") -); -const regionIdsLgaName = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_NAME11.json") -); -const regionIdsLgaCode = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json") -); -const regionIdsLgaNameStates = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_STE_NAME11.json") -); +import LatLonValCsv from "../../wwwroot/test/csv/lat_lon_val.csv"; +import LatLonEnumCsv from "../../wwwroot/test/csv/lat_lon_enum.csv"; +import LatLonValCsvDuplicate from "../../wwwroot/test/csv/lat_lon_val_with_duplicate_row.csv"; +import LatLonEnumDateIdCsv from "../../wwwroot/test/csv/lat_lon_enum_date_id.csv"; +import LatLonEnumDateIdWithRegionCsv from "../../wwwroot/test/csv/lat_lon_enum_date_id_with_regions.csv"; + +import LgaWithDisambigCsv from "../../wwwroot/test/csv/lga_state_disambig.csv"; +import ParkingSensorDataCsv from "../../wwwroot/test/csv/parking-sensor-data.csv"; +import LegendDecimalPlacesCsv from "../../wwwroot/test/csv/legend-decimal-places.csv"; +import BadDatesCsv from "../../wwwroot/test/csv/bad-dates.csv"; +import regionMapping from "../../wwwroot/data/regionMapping.json"; +import additionalRegionMapping from "../../wwwroot/test/regionMapping/additionalRegion.json"; +import regionIdsSte from "../../wwwroot/data/regionids/region_map-STE_2016_AUST_STE_NAME16.json"; +import regionIdsLgaName from "../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_NAME11.json"; +import regionIdsLgaCode from "../../wwwroot/data/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json"; +import regionIdsLgaNameStates from "../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_STE_NAME11.json"; const NUMBER_OF_REGION_MAPPING_TYPES = 144; @@ -81,23 +68,23 @@ describe("TableMixin", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-STE_2016_AUST_STE_NAME16.json" - ).andReturn({ responseText: regionIdsSte }); + ).andReturn({ responseJSON: regionIdsSte }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2011_AUST_LGA_NAME11.json" - ).andReturn({ responseText: regionIdsLgaName }); + ).andReturn({ responseJSON: regionIdsLgaName }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json" - ).andReturn({ responseText: regionIdsLgaCode }); + ).andReturn({ responseJSON: regionIdsLgaCode }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2011_AUST_STE_NAME11.json" - ).andReturn({ responseText: regionIdsLgaNameStates }); + ).andReturn({ responseJSON: regionIdsLgaNameStates }); }); afterEach(function () { @@ -604,7 +591,7 @@ describe("TableMixin", function () { // - "SOME_OTHER_REGION" - which is just another region type // - "SOME_OVERRIDDEN_REGION" - which will override "LGA_NAME_2011" in "build/TerriaJS/data/regionMapping.json" jasmine.Ajax.stubRequest("additionalRegion.json").andReturn({ - responseText: additionalRegionMapping + responseJSON: additionalRegionMapping }); terria.updateParameters({ @@ -640,7 +627,7 @@ describe("TableMixin", function () { // - "SOME_OTHER_REGION" - which is just another region type // - "SOME_OVERRIDDEN_REGION" - which will override "LGA_NAME_2011" in "build/TerriaJS/data/regionMapping.json" jasmine.Ajax.stubRequest("additionalRegion.json").andReturn({ - responseText: additionalRegionMapping + responseJSON: additionalRegionMapping }); terria.updateParameters({ diff --git a/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionJobSpec.ts b/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionJobSpec.ts index e41a458076d..9ad116e5959 100644 --- a/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionJobSpec.ts +++ b/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionJobSpec.ts @@ -7,17 +7,9 @@ import "../../../SpecHelpers"; // For more tests see - test\Models\YDYRCatalogFunctionSpec.ts -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); - -const sa4regionCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json") -); - -const lga2011RegionCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; +import sa4regionCodes from "../../../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json"; +import lga2011RegionCodes from "../../../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json"; configure({ enforceActions: "observed", @@ -57,15 +49,15 @@ describe("YDYRCatalogFunctionJob", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json" - ).andReturn({ responseText: sa4regionCodes }); + ).andReturn({ responseJSON: sa4regionCodes }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json" - ).andReturn({ responseText: lga2011RegionCodes }); + ).andReturn({ responseJSON: lga2011RegionCodes }); terria = new Terria(); diff --git a/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionSpec.ts b/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionSpec.ts index ae5a55f008d..b24c2ba739f 100644 --- a/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionSpec.ts +++ b/test/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionSpec.ts @@ -7,24 +7,16 @@ import YDYRCatalogFunction from "../../../../lib/Models/Catalog/CatalogFunctions import YDYRCatalogFunctionJob from "../../../../lib/Models/Catalog/CatalogFunctions/YDYRCatalogFunctionJob"; import "../../../SpecHelpers"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); - -const sa4regionCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json") -); - -const lga2011RegionCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; +import sa4regionCodes from "../../../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json"; +import lga2011RegionCodes from "../../../../wwwroot/data/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json"; configure({ enforceActions: "observed", computedRequiresReaction: true }); -const lga11Csv = require("raw-loader!../../../../wwwroot/test/csv/lga_code_2011.csv"); +import lga11Csv from "../../../../wwwroot/test/csv/lga_code_2011.csv"; describe("YDYRCatalogFunction", function () { let terria: Terria; @@ -63,15 +55,15 @@ describe("YDYRCatalogFunction", function () { jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json" - ).andReturn({ responseText: sa4regionCodes }); + ).andReturn({ responseJSON: sa4regionCodes }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2011_AUST_LGA_CODE11.json" - ).andReturn({ responseText: lga2011RegionCodes }); + ).andReturn({ responseJSON: lga2011RegionCodes }); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); terria = new Terria(); csv = new CsvCatalogItem("test", terria, undefined); diff --git a/test/Models/Catalog/CatalogGroups/OpenDataSoftCatalogGroupSpec.ts b/test/Models/Catalog/CatalogGroups/OpenDataSoftCatalogGroupSpec.ts index d9d9c775acf..7b496b81f11 100644 --- a/test/Models/Catalog/CatalogGroups/OpenDataSoftCatalogGroupSpec.ts +++ b/test/Models/Catalog/CatalogGroups/OpenDataSoftCatalogGroupSpec.ts @@ -5,20 +5,10 @@ import OpenDataSoftCatalogItem from "../../../../lib/Models/Catalog/CatalogItems import Terria from "../../../../lib/Models/Terria"; import fetchMock from "fetch-mock"; -const facets = JSON.stringify( - require("../../../../wwwroot/test/ods/facets.json") -); - -const datasets = JSON.stringify( - require("../../../../wwwroot/test/ods/datasets.json") -); - -const datasetsCount101Response1 = JSON.stringify( - require("../../../../wwwroot/test/ods/datasets-over-100-1.json") -); -const datasetsCount101Response2 = JSON.stringify( - require("../../../../wwwroot/test/ods/datasets-over-100-2.json") -); +import facets from "../../../../wwwroot/test/ods/facets.json"; +import datasets from "../../../../wwwroot/test/ods/datasets.json"; +import datasetsCount101Response1 from "../../../../wwwroot/test/ods/datasets-over-100-1.json"; +import datasetsCount101Response2 from "../../../../wwwroot/test/ods/datasets-over-100-2.json"; describe("OpenDataSoftCatalogGroup", function () { let terria: Terria; @@ -26,7 +16,7 @@ describe("OpenDataSoftCatalogGroup", function () { beforeEach(function () { fetchMock.mock("https://example.com/api/v2/catalog/facets/", { - body: facets + body: JSON.stringify(facets) }); terria = new Terria(); @@ -45,7 +35,7 @@ describe("OpenDataSoftCatalogGroup", function () { beforeEach(function () { fetchMock.mock( "https://example.com/api/v2/catalog/datasets/?limit=100&offset=0&order_by=title+asc&refine=features%3Ageo&where=features+%3D+%22geo%22+OR+features+%3D+%22timeserie%22", - { body: datasets } + { body: JSON.stringify(datasets) } ); runInAction(() => { odsGroup.setTrait("definition", "url", "https://example.com"); @@ -82,13 +72,13 @@ describe("OpenDataSoftCatalogGroup", function () { // Offset = 0 fetchMock.mock( "https://example.com/api/v2/catalog/datasets/?limit=100&offset=0&order_by=title+asc&refine=features%3Ageo&where=features+%3D+%22geo%22+OR+features+%3D+%22timeserie%22", - { body: datasetsCount101Response1 } + { body: JSON.stringify(datasetsCount101Response1) } ); // Offset = 100 fetchMock.mock( "https://example.com/api/v2/catalog/datasets/?limit=100&offset=100&order_by=title+asc&refine=features%3Ageo&where=features+%3D+%22geo%22+OR+features+%3D+%22timeserie%22", - { body: datasetsCount101Response2 } + { body: JSON.stringify(datasetsCount101Response2) } ); runInAction(() => { odsGroup.setTrait("definition", "url", "https://example.com"); diff --git a/test/Models/Catalog/CatalogGroups/SocrataCatalogGroupSpec.ts b/test/Models/Catalog/CatalogGroups/SocrataCatalogGroupSpec.ts index 8338e21751a..d34b9e7855d 100644 --- a/test/Models/Catalog/CatalogGroups/SocrataCatalogGroupSpec.ts +++ b/test/Models/Catalog/CatalogGroups/SocrataCatalogGroupSpec.ts @@ -4,13 +4,8 @@ import SocrataCatalogGroup from "../../../../lib/Models/Catalog/CatalogGroups/So import CatalogGroup from "../../../../lib/Models/Catalog/CatalogGroup"; import SocrataMapViewCatalogItem from "../../../../lib/Models/Catalog/CatalogItems/SocrataMapViewCatalogItem"; -const facets = JSON.stringify( - require("../../../../wwwroot/test/Socrata/facets.json") -); - -const search = JSON.stringify( - require("../../../../wwwroot/test/Socrata/search.json") -); +import facets from "../../../../wwwroot/test/Socrata/facets.json"; +import search from "../../../../wwwroot/test/Socrata/search.json"; describe("SocrataCatalogGroup", function () { let terria: Terria; @@ -21,12 +16,12 @@ describe("SocrataCatalogGroup", function () { jasmine.Ajax.stubRequest( "http://example.com/api/catalog/v1/domains/example.com/facets?only=dataset%2Cmap" ).andReturn({ - responseText: facets + responseJSON: facets }); jasmine.Ajax.stubRequest( "http://example.com/api/catalog/v1?search_context=example.com&only=dataset%2Cmap&categories=Environment" - ).andReturn({ responseText: search }); + ).andReturn({ responseJSON: search }); terria = new Terria(); socrataGroup = new SocrataCatalogGroup("test", terria); diff --git a/test/Models/Catalog/CatalogItems/ApiTableCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/ApiTableCatalogItemSpec.ts index d7c5a1f682e..b49d40d1c3b 100644 --- a/test/Models/Catalog/CatalogItems/ApiTableCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/ApiTableCatalogItemSpec.ts @@ -5,16 +5,9 @@ import proxyCatalogItemUrl from "../../../../lib/Models/Catalog/proxyCatalogItem import Terria from "../../../../lib/Models/Terria"; import updateModelFromJson from "../../../../lib/Models/Definition/updateModelFromJson"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); - -const positionApiResponse = JSON.stringify( - require("../../../../wwwroot/test/JSON-api/position_api_response.json") -); -const valueApiResponse = JSON.stringify( - require("../../../../wwwroot/test/JSON-api/value_api_response.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; +import positionApiResponse from "../../../../wwwroot/test/JSON-api/position_api_response.json"; +import valueApiResponse from "../../../../wwwroot/test/JSON-api/value_api_response.json"; describe("ApiTableCatalogItem", function () { let terria: Terria; @@ -62,17 +55,17 @@ describe("ApiTableCatalogItem", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( proxyCatalogItemUrl(apiCatalogItem, "https://terria.io/position.json") ).andReturn({ - responseText: positionApiResponse + responseJSON: positionApiResponse }); jasmine.Ajax.stubRequest( proxyCatalogItemUrl(apiCatalogItem, "https://terria.io/values.json") ).andReturn({ - responseText: valueApiResponse + responseJSON: valueApiResponse }); await apiCatalogItem.loadMapItems(); @@ -89,12 +82,12 @@ describe("ApiTableCatalogItem", function () { beforeEach(function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( proxyCatalogItemUrl(apiCatalogItem, "https://terria.io/position.json") ).andReturn({ - responseText: positionApiResponse + responseJSON: positionApiResponse }); runInAction(() => { @@ -251,12 +244,12 @@ describe("ApiTableCatalogItem", function () { beforeEach(function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( proxyCatalogItemUrl(apiCatalogItem, "https://terria.io/position.json") ).andReturn({ - responseText: positionApiResponse + responseJSON: positionApiResponse }); runInAction(() => { diff --git a/test/Models/Catalog/CatalogItems/CartoMapV3CatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/CartoMapV3CatalogItemSpec.ts index e5ac166db8e..fa0f8e0d2d4 100644 --- a/test/Models/Catalog/CatalogItems/CartoMapV3CatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/CartoMapV3CatalogItemSpec.ts @@ -4,6 +4,11 @@ import CartoMapV3CatalogItem from "../../../../lib/Models/Catalog/CatalogItems/C import CommonStrata from "../../../../lib/Models/Definition/CommonStrata"; import Terria from "../../../../lib/Models/Terria"; +import tableResponse from "../../../../wwwroot/test/CartoMapV3/table-response.json"; +import tableGeoJsonResponse from "../../../../wwwroot/test/CartoMapV3/table-geojson-response.json"; +import queryResponse from "../../../../wwwroot/test/CartoMapV3/query-response.json"; +import queryGeoJsonResponse from "../../../../wwwroot/test/CartoMapV3/query-geojson-response.json"; + describe("CartoMapV3CatalogItemSpec", function () { let item: CartoMapV3CatalogItem; @@ -41,12 +46,12 @@ describe("CartoMapV3CatalogItemSpec", function () { jasmine.Ajax.stubRequest( "https://BASE_URL/v3/maps/CONNECTION_NAME/table?name=TABLE_NAME&columns=COLUMN_1&geo_column=GEO_COLUMN_NAME" ).andReturn({ - responseJSON: require("../../../../wwwroot/test/CartoMapV3/table-response.json") + responseJSON: tableResponse }); jasmine.Ajax.stubRequest( "https://example.com/table/geojson.json" ).andReturn({ - responseJSON: require("../../../../wwwroot/test/CartoMapV3/table-geojson-response.json") + responseJSON: tableGeoJsonResponse }); }); @@ -96,7 +101,7 @@ describe("CartoMapV3CatalogItemSpec", function () { body.geo_column === "GEO_COLUMN_NAME" ) { req.respondWith({ - responseJSON: require("../../../../wwwroot/test/CartoMapV3/query-response.json") + responseJSON: queryResponse }); } else { req.responseError(); @@ -106,7 +111,7 @@ describe("CartoMapV3CatalogItemSpec", function () { jasmine.Ajax.stubRequest( "https://example.com/query/geojson.json" ).andReturn({ - responseJSON: require("../../../../wwwroot/test/CartoMapV3/query-geojson-response.json") + responseJSON: queryGeoJsonResponse }); }); diff --git a/test/Models/Catalog/CatalogItems/CsvCatalogItemTsSpec.ts b/test/Models/Catalog/CatalogItems/CsvCatalogItemTsSpec.ts index 0c20c3e8f4f..b72f7a5e950 100644 --- a/test/Models/Catalog/CatalogItems/CsvCatalogItemTsSpec.ts +++ b/test/Models/Catalog/CatalogItems/CsvCatalogItemTsSpec.ts @@ -2,10 +2,8 @@ import CsvCatalogItem from "../../../../lib/Models/Catalog/CatalogItems/CsvCatal import { runInAction } from "mobx"; import Terria from "../../../../lib/Models/Terria"; -const latLonDateValueCsv = require("raw-loader!../../../../wwwroot/test/csv/lat_lon_date_value.csv"); -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import latLonDateValueCsv from "../../../../wwwroot/test/csv/lat_lon_date_value.csv"; +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; describe("CsvCatalogItem", function () { let terria: Terria; @@ -17,7 +15,7 @@ describe("CsvCatalogItem", function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); }); afterEach(function () { diff --git a/test/Models/Catalog/CatalogItems/GeoJsonCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/GeoJsonCatalogItemSpec.ts index 1cdf344f62d..04366e1de6a 100644 --- a/test/Models/Catalog/CatalogItems/GeoJsonCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/GeoJsonCatalogItemSpec.ts @@ -1,6 +1,6 @@ import { reaction, runInAction } from "mobx"; import { GeomType, LineSymbolizer, PolygonSymbolizer } from "protomaps-leaflet"; -import { CustomDataSource } from "terriajs-cesium"; +import CustomDataSource from "terriajs-cesium/Source/DataSources/CustomDataSource"; import Cartesian2 from "terriajs-cesium/Source/Core/Cartesian2"; import Cartesian3 from "terriajs-cesium/Source/Core/Cartesian3"; import Color from "terriajs-cesium/Source/Core/Color"; diff --git a/test/Models/Catalog/CatalogItems/OpenDataSoftCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/OpenDataSoftCatalogItemSpec.ts index fd1bdba692b..96444a950ab 100644 --- a/test/Models/Catalog/CatalogItems/OpenDataSoftCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/OpenDataSoftCatalogItemSpec.ts @@ -4,21 +4,10 @@ import Terria from "../../../../lib/Models/Terria"; import fetchMock from "fetch-mock"; import CommonStrata from "../../../../lib/Models/Definition/CommonStrata"; -const dataset = JSON.stringify( - require("../../../../wwwroot/test/ods/weather-station-dataset.json") -); - -const groupBy = JSON.stringify( - require("../../../../wwwroot/test/ods/weather-station-groupby.json") -); - -const weatherStationData = JSON.stringify( - require("../../../../wwwroot/test/ods/weather-station-100.json") -); - -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import dataset from "../../../../wwwroot/test/ods/weather-station-dataset.json"; +import groupBy from "../../../../wwwroot/test/ods/weather-station-groupby.json"; +import weatherStationData from "../../../../wwwroot/test/ods/weather-station-100.json"; +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; describe("OpenDataSoftCatalogItem", function () { let terria: Terria; @@ -27,24 +16,24 @@ describe("OpenDataSoftCatalogItem", function () { beforeEach(function () { fetchMock.mock( "https://example.com/api/v2/catalog/datasets/weather-stations/", - { body: dataset } + { body: JSON.stringify(dataset) } ); fetchMock.mock( "https://example.com/api/v2/catalog/datasets/weather-stations/records/?group_by=geolocation&limit=100&select=min%28metadata_time%29+as+min_time%2C+max%28metadata_time%29+as+max_time%2C+count%28metadata_time%29+as+num", - { body: groupBy } + { body: JSON.stringify(groupBy) } ); fetchMock.mock( "https://example.com/api/v2/catalog/datasets/weather-stations/records/?limit=100&offset=0&order_by=metadata_time+DESC&select=device_name%2C+dev_id%2C+metadata_time%2C+heat_stress_index%2C+payload_fields_uvindex%2C+payload_fields_wshumidity%2C+payload_fields_wstemperature%2C+payload_fields_airpressure%2C+payload_fields_brightness%2C+payload_fields_gustdirection%2C+payload_fields_gustspeed%2C+payload_fields_precip%2C+payload_fields_precipint%2C+payload_fields_radiation%2C+payload_fields_winddirection%2C+payload_fields_windspeed%2C+payload_fields_averagespl%2C+payload_fields_carbonmonoxide%2C+payload_fields_humidity%2C+payload_fields_ibatt%2C+payload_fields_nitrogendioxide%2C+payload_fields_ozone%2C+payload_fields_particulateserr%2C+payload_fields_particulatesvsn%2C+payload_fields_peakspl%2C+payload_fields_pm1%2C+payload_fields_pm10%2C+payload_fields_pm25%2C+payload_fields_temperature%2C+payload_fields_vbatt%2C+payload_fields_vpanel%2C+payload_fields_fixstatus%2C+payload_fields_hdop%2C+payload_fields_nsat%2C+geolocation%2C+organisation", - { body: weatherStationData } + { body: JSON.stringify(weatherStationData) } ); jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); terria = new Terria(); odsItem = new OpenDataSoftCatalogItem("test", terria, undefined); diff --git a/test/Models/Catalog/CatalogItems/SensorObservationServiceCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/SensorObservationServiceCatalogItemSpec.ts index 3399b6c45f7..4c021ddedd3 100644 --- a/test/Models/Catalog/CatalogItems/SensorObservationServiceCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/SensorObservationServiceCatalogItemSpec.ts @@ -6,14 +6,12 @@ import SimpleCatalogItem from "../../../Helpers/SimpleCatalogItem"; import TableAutomaticStylesStratum from "../../../../lib/Table/TableAutomaticStylesStratum"; import { isEnum } from "../../../../lib/Models/SelectableDimensions/SelectableDimensions"; -const GetFeatureOfInterestResponse = require("raw-loader!../../../../wwwroot/test/sos/GetFeatureOfInterestResponse.xml"); -const EmptyGetFeatureOfInterestResponse = require("raw-loader!../../../../wwwroot/test/sos/GetFeatureOfInterestResponse_NoMembers.xml"); -const GetObservationResponseDaily = require("raw-loader!../../../../wwwroot/test/sos/GetObservationResponse_Daily.xml"); -const GetObservationResponseYearly = require("raw-loader!../../../../wwwroot/test/sos/GetObservationResponse_Yearly.xml"); +import GetFeatureOfInterestResponse from "../../../../wwwroot/test/sos/GetFeatureOfInterestResponse.xml"; +import EmptyGetFeatureOfInterestResponse from "../../../../wwwroot/test/sos/GetFeatureOfInterestResponse_NoMembers.xml"; +import GetObservationResponseDaily from "../../../../wwwroot/test/sos/GetObservationResponse_Daily.xml"; +import GetObservationResponseYearly from "../../../../wwwroot/test/sos/GetObservationResponse_Yearly.xml"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; describe("SensorObservationServiceCatalogItem", function () { let item: SensorObservationServiceCatalogItem; @@ -27,7 +25,7 @@ describe("SensorObservationServiceCatalogItem", function () { }); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); item = new SensorObservationServiceCatalogItem("test", new Terria()); item.setTrait(CommonStrata.user, "url", "https://sos.example.com"); diff --git a/test/Models/Catalog/CatalogItems/SocrataMapViewCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/SocrataMapViewCatalogItemSpec.ts index 5682fa5f83e..f83bdb33f2f 100644 --- a/test/Models/Catalog/CatalogItems/SocrataMapViewCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/SocrataMapViewCatalogItemSpec.ts @@ -2,9 +2,7 @@ import { runInAction } from "mobx"; import SocrataMapViewCatalogItem from "../../../../lib/Models/Catalog/CatalogItems/SocrataMapViewCatalogItem"; import Terria from "../../../../lib/Models/Terria"; -const view = JSON.stringify( - require("../../../../wwwroot/test/Socrata/view.json") -); +import view from "../../../../wwwroot/test/Socrata/view.json"; describe("SocrataMapViewCatalogItem", function () { let terria: Terria; @@ -13,7 +11,7 @@ describe("SocrataMapViewCatalogItem", function () { beforeEach(function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest("http://example.com/views/y79a-us3f").andReturn({ - responseText: view + responseJSON: view }); terria = new Terria(); diff --git a/test/Models/Catalog/Ckan/CkanItemReferenceSpec.ts b/test/Models/Catalog/Ckan/CkanItemReferenceSpec.ts index c4b6fb6483e..787db946e1f 100644 --- a/test/Models/Catalog/Ckan/CkanItemReferenceSpec.ts +++ b/test/Models/Catalog/Ckan/CkanItemReferenceSpec.ts @@ -5,10 +5,10 @@ import WebMapServiceCatalogItem from "../../../../lib/Models/Catalog/Ows/WebMapS import Terria from "../../../../lib/Models/Terria"; import WebMapServiceCatalogGroup from "../../../../lib/Models/Catalog/Ows/WebMapServiceCatalogGroup"; -const taxationStatisticsPackage = require("../../../../wwwroot/test/CKAN/taxation-statistics-package.json"); -const taxationStatisticsWmsResource = require("../../../../wwwroot/test/CKAN/taxation-statistics-wms-resource.json"); -const vicWmsLayerResource = require("../../../../wwwroot/test/CKAN/vic-wms-layer-resource.json"); -const wmsNoLayerResource = require("../../../../wwwroot/test/CKAN/wms-no-layer-resource.json"); +import taxationStatisticsPackage from "../../../../wwwroot/test/CKAN/taxation-statistics-package.json"; +import taxationStatisticsWmsResource from "../../../../wwwroot/test/CKAN/taxation-statistics-wms-resource.json"; +import vicWmsLayerResource from "../../../../wwwroot/test/CKAN/vic-wms-layer-resource.json"; +import wmsNoLayerResource from "../../../../wwwroot/test/CKAN/wms-no-layer-resource.json"; describe("CkanItemReference", function () { let terria: Terria; @@ -30,24 +30,24 @@ describe("CkanItemReference", function () { jasmine.Ajax.stubRequest( "https://example.com/api/3/action/package_show?id=tax-stats-package" - ).andReturn({ responseText: JSON.stringify(taxationStatisticsPackage) }); + ).andReturn({ responseJSON: taxationStatisticsPackage }); jasmine.Ajax.stubRequest( "https://example.com/api/3/action/resource_show?id=tax-stats-wms-resource" ).andReturn({ - responseText: JSON.stringify(taxationStatisticsWmsResource) + responseJSON: taxationStatisticsWmsResource }); jasmine.Ajax.stubRequest( "https://example.com/api/3/action/resource_show?id=wms-no-layers-resource" ).andReturn({ - responseText: JSON.stringify(wmsNoLayerResource) + responseJSON: wmsNoLayerResource }); jasmine.Ajax.stubRequest( "https://example.com/api/3/action/resource_show?id=vic-wms-resource" ).andReturn({ - responseText: JSON.stringify(vicWmsLayerResource) + responseJSON: vicWmsLayerResource }); }); diff --git a/test/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionSpec.ts b/test/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionSpec.ts index 5cbcb1f3a88..c59fbf1bae2 100644 --- a/test/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionSpec.ts +++ b/test/Models/Catalog/Ows/WebProcessingServiceCatalogFunctionSpec.ts @@ -20,21 +20,17 @@ import StringParameter from "../../../../lib/Models/FunctionParameters/StringPar import Terria from "../../../../lib/Models/Terria"; import "../../../SpecHelpers"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; + configure({ enforceActions: "observed", computedRequiresReaction: true }); -const processDescriptionsXml = require("raw-loader!../../../../wwwroot/test/WPS/ProcessDescriptions.xml"); - -const executeResponseXml = require("raw-loader!../../../../wwwroot/test/WPS/ExecuteResponse.xml"); - -const failedExecuteResponseXml = require("raw-loader!../../../../wwwroot/test/WPS/FailedExecuteResponse.xml"); - -const pendingExecuteResponseXml = require("raw-loader!../../../../wwwroot/test/WPS/PendingExecuteResponse.xml"); +import processDescriptionsXml from "../../../../wwwroot/test/WPS/ProcessDescriptions.xml"; +import executeResponseXml from "../../../../wwwroot/test/WPS/ExecuteResponse.xml"; +import failedExecuteResponseXml from "../../../../wwwroot/test/WPS/FailedExecuteResponse.xml"; +import pendingExecuteResponseXml from "../../../../wwwroot/test/WPS/PendingExecuteResponse.xml"; describe("WebProcessingServiceCatalogFunction", function () { let wps: WebProcessingServiceCatalogFunction; @@ -64,7 +60,7 @@ describe("WebProcessingServiceCatalogFunction", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); }); afterEach(function () { diff --git a/test/Models/Catalog/Ows/WebProcessingServiceCatalogGroupSpec.ts b/test/Models/Catalog/Ows/WebProcessingServiceCatalogGroupSpec.ts index 673bbfc387c..a29697f2a02 100644 --- a/test/Models/Catalog/Ows/WebProcessingServiceCatalogGroupSpec.ts +++ b/test/Models/Catalog/Ows/WebProcessingServiceCatalogGroupSpec.ts @@ -5,7 +5,7 @@ import CommonStrata from "../../../../lib/Models/Definition/CommonStrata"; import Terria from "../../../../lib/Models/Terria"; import "../../../SpecMain"; -const GetCapabilitiesXml = require("raw-loader!../../../../wwwroot/test/WPS/GetCapabilities.xml"); +import GetCapabilitiesXml from "../../../../wwwroot/test/WPS/GetCapabilities.xml"; describe("WebProcessingServiceCatalogGroup", function () { let terria: Terria; diff --git a/test/Models/Catalog/Ows/WebProcessingServiceCatalogJobSpec.ts b/test/Models/Catalog/Ows/WebProcessingServiceCatalogJobSpec.ts index 137e66a56b2..d9334b6d691 100644 --- a/test/Models/Catalog/Ows/WebProcessingServiceCatalogJobSpec.ts +++ b/test/Models/Catalog/Ows/WebProcessingServiceCatalogJobSpec.ts @@ -7,9 +7,7 @@ import WebProcessingServiceCatalogFunctionJob from "../../../../lib/Models/Catal // For more tests see - test\Models\WebProcessingServiceCatalogFunctionSpec.ts -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; configure({ enforceActions: "observed", @@ -42,7 +40,7 @@ describe("WebProcessingServiceCatalogFunctionJob", function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); }); afterEach(function () { diff --git a/test/Models/Catalog/SdmxJson/SdmxJsonCatalogGroupSpec.ts b/test/Models/Catalog/SdmxJson/SdmxJsonCatalogGroupSpec.ts index ad08fcd3034..c416fa987ea 100644 --- a/test/Models/Catalog/SdmxJson/SdmxJsonCatalogGroupSpec.ts +++ b/test/Models/Catalog/SdmxJson/SdmxJsonCatalogGroupSpec.ts @@ -4,21 +4,10 @@ import SdmxCatalogGroup from "../../../../lib/Models/Catalog/SdmxJson/SdmxJsonCa import CatalogGroup from "../../../../lib/Models/Catalog/CatalogGroup"; import SdmxJsonCatalogItem from "../../../../lib/Models/Catalog/SdmxJson/SdmxJsonCatalogItem"; -const agencyScheme = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/agency-scheme.json") -); - -const categoryScheme = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/category-scheme.json") -); - -const dataflowNoRegion = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/dataflow-noregion.json") -); - -const dataflowRegion = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/dataflow-region.json") -); +import agencyScheme from "../../../../wwwroot/test/SDMX-JSON/agency-scheme.json"; +import categoryScheme from "../../../../wwwroot/test/SDMX-JSON/category-scheme.json"; +import dataflowNoRegion from "../../../../wwwroot/test/SDMX-JSON/dataflow-noregion.json"; +import dataflowRegion from "../../../../wwwroot/test/SDMX-JSON/dataflow-region.json"; describe("SdmxCatalogGroup", function () { let terria: Terria; @@ -27,19 +16,19 @@ describe("SdmxCatalogGroup", function () { beforeEach(function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest("http://www.example.com/agencyscheme/").andReturn({ - responseText: agencyScheme + responseJSON: agencyScheme }); jasmine.Ajax.stubRequest( "http://www.example.com/categoryscheme?references=parentsandsiblings" - ).andReturn({ responseText: categoryScheme }); + ).andReturn({ responseJSON: categoryScheme }); jasmine.Ajax.stubRequest( "http://www.example.com/dataflow/SPC/DF_COMMODITY_PRICES?references=all" - ).andReturn({ responseText: dataflowNoRegion }); + ).andReturn({ responseJSON: dataflowNoRegion }); jasmine.Ajax.stubRequest( "http://www.example.com/dataflow/SPC/DF_CPI?references=all" - ).andReturn({ responseText: dataflowRegion }); + ).andReturn({ responseJSON: dataflowRegion }); terria = new Terria(); sdmxGroup = new SdmxCatalogGroup("test", terria); diff --git a/test/Models/Catalog/SdmxJson/SdmxJsonCatalogItemSpec.ts b/test/Models/Catalog/SdmxJson/SdmxJsonCatalogItemSpec.ts index 73572efc595..62b1b8e6e63 100644 --- a/test/Models/Catalog/SdmxJson/SdmxJsonCatalogItemSpec.ts +++ b/test/Models/Catalog/SdmxJson/SdmxJsonCatalogItemSpec.ts @@ -5,34 +5,16 @@ import Terria from "../../../../lib/Models/Terria"; import TableColumnType from "../../../../lib/Table/TableColumnType"; import { ModelOverrideTraits } from "../../../../lib/Traits/TraitsClasses/SdmxCommonTraits"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); - -const steCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-STE_2016_AUST_STE_CODE16.json") -); - -const isoCodes = JSON.stringify( - require("../../../../wwwroot/data/regionids/region_map-FID_TM_WORLD_BORDERS_ISO2.json") -); - -const dataflowNoRegionData = require("raw-loader!../../../../wwwroot/test/SDMX-JSON/data-noregion.csv"); -const dataflowRegionData = require("raw-loader!../../../../wwwroot/test/SDMX-JSON/data-region.csv"); -const dataflowRegionTimeData = require("raw-loader!../../../../wwwroot/test/SDMX-JSON/data-region-time.csv"); -const dataflowSingleRegionTimeData = require("raw-loader!../../../../wwwroot/test/SDMX-JSON/data-single-region-time.csv"); - -const dataflowNoRegion = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/dataflow-noregion.json") -); - -const dataflowRegion = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/dataflow-region.json") -); - -const dataflowRegionTime = JSON.stringify( - require("../../../../wwwroot/test/SDMX-JSON/dataflow-region-time.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; +import steCodes from "../../../../wwwroot/data/regionids/region_map-STE_2016_AUST_STE_CODE16.json"; +import isoCodes from "../../../../wwwroot/data/regionids/region_map-FID_TM_WORLD_BORDERS_ISO2.json"; +import dataflowNoRegionData from "../../../../wwwroot/test/SDMX-JSON/data-noregion.csv"; +import dataflowRegionData from "../../../../wwwroot/test/SDMX-JSON/data-region.csv"; +import dataflowRegionTimeData from "../../../../wwwroot/test/SDMX-JSON/data-region-time.csv"; +import dataflowSingleRegionTimeData from "../../../../wwwroot/test/SDMX-JSON/data-single-region-time.csv"; +import dataflowNoRegion from "../../../../wwwroot/test/SDMX-JSON/dataflow-noregion.json"; +import dataflowRegion from "../../../../wwwroot/test/SDMX-JSON/dataflow-region.json"; +import dataflowRegionTime from "../../../../wwwroot/test/SDMX-JSON/dataflow-region-time.json"; describe("SdmxJsonCatalogItem", function () { let terria: Terria; @@ -43,23 +25,23 @@ describe("SdmxJsonCatalogItem", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-STE_2016_AUST_STE_CODE16.json" - ).andReturn({ responseText: steCodes }); + ).andReturn({ responseJSON: steCodes }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_TM_WORLD_BORDERS_ISO2.json" - ).andReturn({ responseText: isoCodes }); + ).andReturn({ responseJSON: isoCodes }); jasmine.Ajax.stubRequest( "http://www.example.com/dataflow/SPC/DF_COMMODITY_PRICES?references=all" - ).andReturn({ responseText: dataflowNoRegion }); + ).andReturn({ responseJSON: dataflowNoRegion }); jasmine.Ajax.stubRequest( "http://www.example.com/dataflow/SPC/DF_CPI?references=all" - ).andReturn({ responseText: dataflowRegion }); + ).andReturn({ responseJSON: dataflowRegion }); jasmine.Ajax.stubRequest( "http://www.example.com/data/DF_COMMODITY_PRICES/A.COCOA.COMPRICE" @@ -71,7 +53,7 @@ describe("SdmxJsonCatalogItem", function () { jasmine.Ajax.stubRequest( "http://www.example.com/dataflow/ABS/RT?references=all" - ).andReturn({ responseText: dataflowRegionTime }); + ).andReturn({ responseJSON: dataflowRegionTime }); jasmine.Ajax.stubRequest( "http://www.example.com/data/RT/M1.20.10..M" diff --git a/test/Models/Catalog/createUrlReferenceFromUrlSpec.ts b/test/Models/Catalog/createUrlReferenceFromUrlSpec.ts index 5494a08e7d3..1f6ddef4a20 100644 --- a/test/Models/Catalog/createUrlReferenceFromUrlSpec.ts +++ b/test/Models/Catalog/createUrlReferenceFromUrlSpec.ts @@ -13,14 +13,8 @@ import CommonStrata from "../../../lib/Models/Definition/CommonStrata"; import Terria from "../../../lib/Models/Terria"; import ViewState from "../../../lib/ReactViewModels/ViewState"; -const Water_Network = { - layer: JSON.stringify( - require("../../../wwwroot/test/ArcGisFeatureServer/Water_Network/layer.json") - ), - layer2: JSON.stringify( - require("../../../wwwroot/test/ArcGisFeatureServer/Water_Network/2.json") - ) -}; +import waterNetworkLayer from "../../../wwwroot/test/ArcGisFeatureServer/Water_Network/layer.json"; +import waterNetworkLayer2 from "../../../wwwroot/test/ArcGisFeatureServer/Water_Network/2.json"; describe("createUrlReferenceFromUrl", function () { let terria: Terria; @@ -103,10 +97,10 @@ describe("createUrlReferenceFromUrl", function () { jasmine.Ajax.stubRequest(/.*/).andError({}); jasmine.Ajax.stubRequest( /http:\/\/example.com\/arcgis\/rest\/services\/Water_Network\/FeatureServer\/[0-9]+\/query\?f=json.*$/i - ).andReturn({ responseText: Water_Network.layer }); + ).andReturn({ responseJSON: waterNetworkLayer }); jasmine.Ajax.stubRequest( /http:\/\/example.com\/arcgis\/rest\/services\/Water_Network\/FeatureServer\/2\/?\?.*/i - ).andReturn({ responseText: Water_Network.layer2 }); + ).andReturn({ responseJSON: waterNetworkLayer2 }); const tempReference = await createUrlReferenceFromUrl( featureServerUrl, diff --git a/test/Models/Catalog/esri/ArcGisImageServerCatalogItemSpec.ts b/test/Models/Catalog/esri/ArcGisImageServerCatalogItemSpec.ts index a43529d8f84..8dc4a1dcd74 100644 --- a/test/Models/Catalog/esri/ArcGisImageServerCatalogItemSpec.ts +++ b/test/Models/Catalog/esri/ArcGisImageServerCatalogItemSpec.ts @@ -12,37 +12,14 @@ import { SelectableDimensionEnum } from "../../../../lib/Models/SelectableDimens import Terria from "../../../../lib/Models/Terria"; import { ArcGisImageServerRenderingRule } from "../../../../lib/Traits/TraitsClasses/ArcGisImageServerCatalogItemTraits"; -const rasterFnImageServer = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/rasterFns/imageserver.json") -); - -const rasterFnLegend = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/rasterFns/legend.json") -); - -const timeImageServer = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/time/imageserver.json") -); - -const timeLegend = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/time/legend.json") -); - -const timeIdentify = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/time/identify.json") -); - -const tileImageServer = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/tile/imageserver.json") -); - -const tileLegend = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/tile/legend.json") -); - -const tileIdentify = JSON.stringify( - require("../../../../wwwroot/test/ArcGisImageServer/tile/identify.json") -); +import rasterFnImageServer from "../../../../wwwroot/test/ArcGisImageServer/rasterFns/imageserver.json"; +import rasterFnLegend from "../../../../wwwroot/test/ArcGisImageServer/rasterFns/legend.json"; +import timeImageServer from "../../../../wwwroot/test/ArcGisImageServer/time/imageserver.json"; +import timeLegend from "../../../../wwwroot/test/ArcGisImageServer/time/legend.json"; +import timeIdentify from "../../../../wwwroot/test/ArcGisImageServer/time/identify.json"; +import tileImageServer from "../../../../wwwroot/test/ArcGisImageServer/tile/imageserver.json"; +import tileLegend from "../../../../wwwroot/test/ArcGisImageServer/tile/legend.json"; +import tileIdentify from "../../../../wwwroot/test/ArcGisImageServer/tile/identify.json"; let spyOnLoad: any; @@ -60,27 +37,27 @@ describe("ArcGisImageServer", function () { jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/rasterfns\/ImageServer\?.+/ - ).andReturn({ responseText: rasterFnImageServer }); + ).andReturn({ responseJSON: rasterFnImageServer }); jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/rasterfns\/ImageServer\/legend\?.+/ - ).andReturn({ responseText: rasterFnLegend }); + ).andReturn({ responseJSON: rasterFnLegend }); jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/time\/ImageServer\?.+/ - ).andReturn({ responseText: timeImageServer }); + ).andReturn({ responseJSON: timeImageServer }); jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/time\/ImageServer\/legend\?.+/ - ).andReturn({ responseText: timeLegend }); + ).andReturn({ responseJSON: timeLegend }); jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/tile\/ImageServer\?.+/ - ).andReturn({ responseText: tileImageServer }); + ).andReturn({ responseJSON: tileImageServer }); jasmine.Ajax.stubRequest( /http:\/\/example\.com\/agsimage\/rest\/services\/tile\/ImageServer\/legend\?.+/ - ).andReturn({ responseText: tileLegend }); + ).andReturn({ responseJSON: tileLegend }); jasmine.Ajax.stubRequest("http://example.com/token").andReturn({ responseText: JSON.stringify({ @@ -560,13 +537,13 @@ describe("ArcGisImageServerImageryProvider", function () { jasmine.Ajax.stubRequest( "http://example.com/agsimage/rest/services/time/ImageServer/identify?f=json&geometryType=esriGeometryPoint&geometry={x%3A%2057.29577951308232%2C%20y%3A%2057.29577951308232%2C%20spatialReference%3A%20{wkid%3A%204326}}&returnCatalogItems=false&token=fakeToken&foo=bar" ).andReturn({ - responseText: timeIdentify + responseJSON: timeIdentify }); jasmine.Ajax.stubRequest( "http://example.com/agsimage/rest/services/tile/ImageServer/identify?f=json&geometryType=esriGeometryPoint&geometry={x%3A%206378137%2C%20y%3A%207820815.276085484%2C%20spatialReference%3A%20{wkid%3A%203857}}&returnCatalogItems=false&token=fakeToken&foo=bar" ).andReturn({ - responseText: tileIdentify + responseJSON: tileIdentify }); }); diff --git a/test/Models/Catalog/esri/ArcGisMapServerCatalogItemSpec.ts b/test/Models/Catalog/esri/ArcGisMapServerCatalogItemSpec.ts index 3b5b8362132..62a14f7fabe 100644 --- a/test/Models/Catalog/esri/ArcGisMapServerCatalogItemSpec.ts +++ b/test/Models/Catalog/esri/ArcGisMapServerCatalogItemSpec.ts @@ -6,6 +6,7 @@ import _loadWithXhr from "../../../../lib/Core/loadWithXhr"; import ArcGisMapServerCatalogItem from "../../../../lib/Models/Catalog/Esri/ArcGisMapServerCatalogItem"; import Terria from "../../../../lib/Models/Terria"; import CommonStrata from "./../../../../lib/Models/Definition/CommonStrata"; +import mapServerJson from "../../../../wwwroot/test/ArcGisMapServer/Dynamic_National_Map_Hydrography_and_Marine/mapserver.json"; configure({ enforceActions: "observed", @@ -782,11 +783,10 @@ describe("ArcGisMapServerCatalogItem", function () { }); it("can generate rectangle from an extent in CRS EPSG:7844", async function () { - const mapServerJson = require("../../../../wwwroot/test/ArcGisMapServer/Dynamic_National_Map_Hydrography_and_Marine/mapserver.json"); mapServerJson.fullExtent.spatialReference.wkid = 7844; jasmine.Ajax.stubRequest(/.*?\/foo\/MapServer.*/).andReturn({ - responseText: JSON.stringify(mapServerJson) + responseJSON: mapServerJson }); runInAction(() => { diff --git a/test/Models/ItemSearchProviders/IndexedItemSearchProviderSpec.ts b/test/Models/ItemSearchProviders/IndexedItemSearchProviderSpec.ts index 46f6ed22e9a..5ae27c9aec0 100644 --- a/test/Models/ItemSearchProviders/IndexedItemSearchProviderSpec.ts +++ b/test/Models/ItemSearchProviders/IndexedItemSearchProviderSpec.ts @@ -2,10 +2,9 @@ import "jasmine-ajax"; import JsonValue from "../../../lib/Core/Json"; import IndexedItemSearchProvider from "../../../lib/Models/ItemSearchProviders/IndexedItemSearchProvider"; import Csv from "../../../lib/Table/Csv"; - -const resultsDataCsv = require("raw-loader!../../../wwwroot/test/IndexedItemSearchProvider/resultsData.csv"); -const heightCsv = require("raw-loader!../../../wwwroot/test/IndexedItemSearchProvider/0.csv"); -const areaCsv = require("raw-loader!../../../wwwroot/test/IndexedItemSearchProvider/1.csv"); +import heightCsv from "../../../wwwroot/test/IndexedItemSearchProvider/0.csv"; +import areaCsv from "../../../wwwroot/test/IndexedItemSearchProvider/1.csv"; +import resultsDataCsv from "../../../wwwroot/test/IndexedItemSearchProvider/resultsData.csv"; const validIndexRoot = { resultsDataUrl: "resultsData.csv", diff --git a/test/Models/SearchProviders/AustralianGazetteerSearchProviderSpec.ts b/test/Models/SearchProviders/AustralianGazetteerSearchProviderSpec.ts index a58fcdf1883..47c51eb828c 100644 --- a/test/Models/SearchProviders/AustralianGazetteerSearchProviderSpec.ts +++ b/test/Models/SearchProviders/AustralianGazetteerSearchProviderSpec.ts @@ -2,7 +2,7 @@ import { configure } from "mobx"; import AustralianGazetteerSearchProvider from "../../../lib/Models/SearchProviders/AustralianGazetteerSearchProvider"; import Terria from "../../../lib/Models/Terria"; -const wfsResponseXml = require("raw-loader!../../../wwwroot/test/WFS/getWithFilter.xml"); +import wfsResponseXml from "../../../wwwroot/test/WFS/getWithFilter.xml"; configure({ enforceActions: "observed", diff --git a/test/Models/SearchProviders/BingMapsSearchProviderSpec.ts b/test/Models/SearchProviders/BingMapsSearchProviderSpec.ts index afcc90ebc77..2d17915f212 100644 --- a/test/Models/SearchProviders/BingMapsSearchProviderSpec.ts +++ b/test/Models/SearchProviders/BingMapsSearchProviderSpec.ts @@ -1,10 +1,7 @@ import { runInAction } from "mobx"; -import Resource from "terriajs-cesium/Source/Core/Resource"; import LocationSearchProviderMixin from "../../../lib/ModelMixins/SearchProviders/LocationSearchProviderMixin"; import BingMapsSearchProvider from "../../../lib/Models/SearchProviders/BingMapsSearchProvider"; import Terria from "../../../lib/Models/Terria"; - -import * as loadJsonp from "../../../lib/Core/loadJsonp"; import CommonStrata from "../../../lib/Models/Definition/CommonStrata"; describe("BingMapsSearchProvider", function () { @@ -16,6 +13,12 @@ describe("BingMapsSearchProvider", function () { baseUrl: "./" }); bingMapsSearchProvider = new BingMapsSearchProvider("test", terria); + + jasmine.Ajax.install(); + }); + + afterEach(() => { + jasmine.Ajax.uninstall(); }); it(" - properly mixed", () => { @@ -28,7 +31,7 @@ describe("BingMapsSearchProvider", function () { expect(bingMapsSearchProvider.url).toEqual("https://dev.virtualearth.net/"); }); - it(" - propperly sets query parameters", () => { + it(" - propperly sets query parameters", async () => { runInAction(() => { bingMapsSearchProvider.setTrait( CommonStrata.definition, @@ -46,25 +49,16 @@ describe("BingMapsSearchProvider", function () { false ); }); - const test = spyOn(loadJsonp, "loadJsonp").and.returnValue( - Promise.resolve({ - resourceSets: [] - }) - ); - bingMapsSearchProvider.search("test"); + jasmine.Ajax.stubRequest(/.*/).andReturn({ + responseText: JSON.stringify({ resourceSets: [] }) + }); + const result = bingMapsSearchProvider.search("test"); + await result.resultsCompletePromise; - expect(test).toHaveBeenCalledWith( - new Resource({ - url: "https://dev.virtualearth.net/REST/v1/Locations", - queryParameters: { - culture: "en-au", - query: "test", - key: "test-key", - maxResults: 5 - } - }), - "jsonp" + const req = jasmine.Ajax.requests.mostRecent(); + expect(req.url).toBe( + "https://dev.virtualearth.net/REST/v1/Locations?culture=en-au&query=test&key=test-key&maxResults=5" ); }); @@ -86,8 +80,11 @@ describe("BingMapsSearchProvider", function () { false ); }); - spyOn(loadJsonp, "loadJsonp").and.returnValue( - Promise.resolve({ + + jasmine.Ajax.stubRequest( + "https://dev.virtualearth.net/REST/v1/Locations?culture=en-au&query=test&key=test-key&maxResults=5" + ).andReturn({ + responseText: JSON.stringify({ resourceSets: [ { resources: [ @@ -126,9 +123,10 @@ describe("BingMapsSearchProvider", function () { } ] }) - ); + }); - const searchResult = await bingMapsSearchProvider.search("test"); + const searchResult = bingMapsSearchProvider.search("test"); + await searchResult.resultsCompletePromise; expect(searchResult.results.length).toEqual(2); expect(searchResult.message).toBeUndefined(); diff --git a/test/Models/SearchProviders/CesiumIonSearchProviderSpec.ts b/test/Models/SearchProviders/CesiumIonSearchProviderSpec.ts index b1027190819..0850de0ca1a 100644 --- a/test/Models/SearchProviders/CesiumIonSearchProviderSpec.ts +++ b/test/Models/SearchProviders/CesiumIonSearchProviderSpec.ts @@ -1,6 +1,5 @@ import CesiumIonSearchProvider from "../../../lib/Models/SearchProviders/CesiumIonSearchProvider"; import Terria from "../../../lib/Models//Terria"; -import * as loadJson from "../../../lib/Core/loadJson"; import CommonStrata from "../../../lib/Models/Definition/CommonStrata"; const fixture = { @@ -28,27 +27,34 @@ describe("CesiumIonSearchProvider", () => { searchProvider = new CesiumIonSearchProvider("test-cesium-ion", terria); searchProvider.setTrait(CommonStrata.definition, "key", "testkey"); searchProvider.setTrait(CommonStrata.definition, "url", "api.test.com"); + + jasmine.Ajax.install(); }); - it("Handles valid results", async () => { - spyOn(loadJson, "default").and.returnValue( - new Promise((resolve) => resolve(fixture)) - ); + afterEach(() => { + jasmine.Ajax.uninstall(); + }); - const result = await searchProvider.search("test"); - expect(loadJson.default).toHaveBeenCalledWith( + it("Handles valid results", async () => { + jasmine.Ajax.stubRequest( "api.test.com?text=test&access_token=testkey" - ); + ).andReturn({ responseText: JSON.stringify(fixture) }); + + const result = searchProvider.search("test"); + await result.resultsCompletePromise; expect(result.results.length).toBe(1); expect(result.results[0].name).toBe("West End, Australia"); expect(result.results[0].location?.latitude).toBe(-27.4822998046875); }); it("Handles empty result", async () => { - spyOn(loadJson, "default").and.returnValue( - new Promise((resolve) => resolve([])) - ); - const result = await searchProvider.search("test"); + jasmine.Ajax.stubRequest( + "api.test.com?text=test&access_token=testkey" + ).andReturn({ + responseText: JSON.stringify([]) + }); + const result = searchProvider.search("test"); + await result.resultsCompletePromise; expect(result.results.length).toBe(0); expect(result.message?.content).toBe( "translate#viewModels.searchNoLocations" @@ -56,8 +62,13 @@ describe("CesiumIonSearchProvider", () => { }); it("Handles error", async () => { - spyOn(loadJson, "default").and.throwError("error"); - const result = await searchProvider.search("test"); + jasmine.Ajax.stubRequest( + "api.test.com?text=test&access_token=testkey" + ).andReturn({ + status: 404 + }); + const result = searchProvider.search("test"); + await result.resultsCompletePromise; expect(result.results.length).toBe(0); expect(result.message?.content).toBe( "translate#viewModels.searchErrorOccurred" diff --git a/test/Models/TerriaSpec.ts b/test/Models/TerriaSpec.ts index 2366d7ed01c..ce7476c1dbe 100644 --- a/test/Models/TerriaSpec.ts +++ b/test/Models/TerriaSpec.ts @@ -36,22 +36,18 @@ import { buildShareLink } from "../../lib/ReactViews/Map/Panels/SharePanel/Build import SimpleCatalogItem from "../Helpers/SimpleCatalogItem"; import { defaultBaseMaps } from "../../lib/Models/BaseMaps/defaultBaseMaps"; -const mapConfigBasicJson = require("../../wwwroot/test/Magda/map-config-basic.json"); -const mapConfigBasicString = JSON.stringify(mapConfigBasicJson); - -const mapConfigV7Json = require("../../wwwroot/test/Magda/map-config-v7.json"); -const mapConfigV7String = JSON.stringify(mapConfigV7Json); - -const mapConfigInlineInitJson = require("../../wwwroot/test/Magda/map-config-inline-init.json"); -const mapConfigInlineInitString = JSON.stringify(mapConfigInlineInitJson); - -const mapConfigDereferencedJson = require("../../wwwroot/test/Magda/map-config-dereferenced.json"); -const mapConfigDereferencedString = JSON.stringify(mapConfigDereferencedJson); - -const mapConfigDereferencedNewJson = require("../../wwwroot/test/Magda/map-config-dereferenced-new.json"); -const mapConfigDereferencedNewString = JSON.stringify( - mapConfigDereferencedNewJson -); +import mapConfigBasicJson from "../../wwwroot/test/Magda/map-config-basic.json"; +import mapConfigV7Json from "../../wwwroot/test/Magda/map-config-v7.json"; +import mapConfigInlineInitJson from "../../wwwroot/test/Magda/map-config-inline-init.json"; +import mapConfigDereferencedJson from "../../wwwroot/test/Magda/map-config-dereferenced.json"; +import mapConfigDereferencedNewJson from "../../wwwroot/test/Magda/map-config-dereferenced-new.json"; +import magdaRecord1 from "../../wwwroot/test/Magda/shareKeys/6b24aa39-1aa7-48d1-b6a6-9e755aff4476.json"; +import magdaRecord2 from "../../wwwroot/test/Magda/shareKeys/bfc69476-1c85-4208-9046-4f736bab9b8e.json"; +import magdaRecord3 from "../../wwwroot/test/Magda/shareKeys/12f26f07-f39e-4753-979d-2de01af54bd1.json"; +import mapConfigOld from "../../wwwroot/test/Magda/shareKeys/map-config-example-old.json"; +import mapConfigNew from "../../wwwroot/test/Magda/shareKeys/map-config-example-new.json"; +import configProxy from "../../wwwroot/test/init/configProxy.json"; +import serverConfig from "../../wwwroot/test/init/serverconfig.json"; // i18nOptions for CI const i18nOptions = { @@ -147,34 +143,34 @@ describe("Terria", function () { jasmine.Ajax.stubRequest(/.*(serverconfig|proxyabledomains).*/).andReturn( { - responseText: JSON.stringify({ foo: "bar" }) + responseJSON: { foo: "bar" } } ); // from `terria.start()` jasmine.Ajax.stubRequest("test/Magda/map-config-basic.json").andReturn({ - responseText: mapConfigBasicString + responseJSON: mapConfigBasicJson }); jasmine.Ajax.stubRequest("test/Magda/map-config-v7.json").andReturn({ - responseText: mapConfigV7String + responseJSON: mapConfigV7Json }); // terria's "Magda derived url" jasmine.Ajax.stubRequest( /.*api\/v0\/registry\/records\/map-config-basic.*/ - ).andReturn({ responseText: mapConfigBasicString }); + ).andReturn({ responseJSON: mapConfigBasicJson }); // inline init jasmine.Ajax.stubRequest(/.*map-config-inline-init.*/).andReturn({ - responseText: mapConfigInlineInitString + responseJSON: mapConfigInlineInitJson }); // inline init jasmine.Ajax.stubRequest(/.*map-config-dereferenced.*/).andReturn({ - responseText: mapConfigDereferencedString + responseJSON: mapConfigDereferencedJson }); jasmine.Ajax.stubRequest(/.*map-config-dereferenced-new.*/).andReturn({ - responseText: mapConfigDereferencedNewString + responseJSON: mapConfigDereferencedNewJson }); }); @@ -292,7 +288,7 @@ describe("Terria", function () { jasmine.Ajax.stubRequest(/.*api\/v0\/registry.*/).andReturn({ // terria's "Magda derived url" - responseText: mapConfigBasicString + responseJSON: mapConfigBasicJson }); // no init sources before starting expect(terria.initSources.length).toEqual(0); @@ -314,7 +310,7 @@ describe("Terria", function () { it("works with basic initializationUrls", function (done) { jasmine.Ajax.stubRequest(/.*api\/v0\/registry.*/).andReturn({ // terria's "Magda derived url" - responseText: mapConfigBasicString + responseJSON: mapConfigBasicJson }); // no init sources before starting expect(terria.initSources.length).toEqual(0); @@ -345,7 +341,7 @@ describe("Terria", function () { it("works with v7initializationUrls", async function () { jasmine.Ajax.stubRequest(/.*api\/v0\/registry.*/).andReturn({ // terria's "Magda derived url" - responseText: mapConfigBasicString + responseJSON: mapConfigBasicJson }); const groupName = "Simple converter test"; jasmine.Ajax.stubRequest( @@ -387,7 +383,7 @@ describe("Terria", function () { it("works with inline init", async function () { // inline init jasmine.Ajax.stubRequest(/.*api\/v0\/registry.*/).andReturn({ - responseText: mapConfigInlineInitString + responseJSON: mapConfigInlineInitJson }); // no init sources before starting expect(terria.initSources.length).toEqual(0); @@ -418,7 +414,7 @@ describe("Terria", function () { expect(terria.catalog.group.uniqueId).toEqual("/"); // dereferenced res jasmine.Ajax.stubRequest(/.*api\/v0\/registry.*/).andReturn({ - responseText: mapConfigDereferencedString + responseJSON: mapConfigDereferencedJson }); await terria .start({ @@ -936,31 +932,23 @@ describe("Terria", function () { jasmine.Ajax.stubRequest( "https://magda.example.com/api/v0/registry/records/6b24aa39-1aa7-48d1-b6a6-9e755aff4476?optionalAspect=terria&optionalAspect=group&optionalAspect=dcat-dataset-strings&optionalAspect=dcat-distribution-strings&optionalAspect=dataset-distributions&optionalAspect=dataset-format&dereference=true" ).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/Magda/shareKeys/6b24aa39-1aa7-48d1-b6a6-9e755aff4476.json") - ) + responseJSON: magdaRecord1 }); jasmine.Ajax.stubRequest( "https://magda.example.com/api/v0/registry/records/bfc69476-1c85-4208-9046-4f736bab9b8e?optionalAspect=terria&optionalAspect=group&optionalAspect=dcat-dataset-strings&optionalAspect=dcat-distribution-strings&optionalAspect=dataset-distributions&optionalAspect=dataset-format&dereference=true" ).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/Magda/shareKeys/bfc69476-1c85-4208-9046-4f736bab9b8e.json") - ) + responseJSON: magdaRecord2 }); jasmine.Ajax.stubRequest( "https://magda.example.com/api/v0/registry/records/12f26f07-f39e-4753-979d-2de01af54bd1?optionalAspect=terria&optionalAspect=group&optionalAspect=dcat-dataset-strings&optionalAspect=dcat-distribution-strings&optionalAspect=dataset-distributions&optionalAspect=dataset-format&dereference=true" ).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/Magda/shareKeys/12f26f07-f39e-4753-979d-2de01af54bd1.json") - ) + responseJSON: magdaRecord3 }); jasmine.Ajax.stubRequest(configUrl).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/Magda/shareKeys/map-config-example-old.json") - ) + responseJSON: mapConfigOld }); await terria.start({ @@ -968,9 +956,7 @@ describe("Terria", function () { i18nOptions }); jasmine.Ajax.stubRequest(configUrl).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/Magda/shareKeys/map-config-example-new.json") - ) + responseJSON: mapConfigNew }); await newTerria.start({ @@ -1119,14 +1105,10 @@ describe("Terria", function () { beforeEach(function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest(/.*(test\/init\/configProxy).*/).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/init/configProxy.json") - ) + responseJSON: configProxy }); jasmine.Ajax.stubRequest(/.*(serverconfig).*/).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/test/init/serverconfig.json") - ) + responseJSON: serverConfig }); }); diff --git a/test/Models/parseCustomMarkdownToReactTsSpec.ts b/test/Models/parseCustomMarkdownToReactTsSpec.ts index 55a2693ce76..5955d0546c4 100644 --- a/test/Models/parseCustomMarkdownToReactTsSpec.ts +++ b/test/Models/parseCustomMarkdownToReactTsSpec.ts @@ -1,10 +1,7 @@ import { parseCustomMarkdownToReactWithOptions } from "../../lib/ReactViews/Custom/parseCustomMarkdownToReact"; import registerCustomComponentTypes from "../../lib/ReactViews/Custom/registerCustomComponentTypes"; import { TooltipWithButtonLauncher } from "../../lib/ReactViews/Generic/TooltipWrapper"; - -const isComponentOfType: any = - require("react-shallow-testutils").isComponentOfType; -const findAll: any = require("react-shallow-testutils").findAll; +import { isComponentOfType, findAll } from "react-shallow-testutils"; describe("parseCustomMarkdownToReactTs", function () { beforeEach(function () { diff --git a/test/ReactViews/BottomDock/MapDataCountSpec.tsx b/test/ReactViews/BottomDock/MapDataCountSpec.tsx index fa8a2ee5242..ec7cd0fd109 100644 --- a/test/ReactViews/BottomDock/MapDataCountSpec.tsx +++ b/test/ReactViews/BottomDock/MapDataCountSpec.tsx @@ -1,11 +1,10 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../lib/Models/Terria"; import ViewState from "../../../lib/ReactViewModels/ViewState"; import { runInAction } from "mobx"; -const MapDataCount = - require("../../../lib/ReactViews/BottomDock/MapDataCount").default; +import MapDataCount from "../../../lib/ReactViews/BottomDock/MapDataCount"; describe("MapDataCount", function () { let terria: Terria; diff --git a/test/ReactViews/ClipboardSpec.tsx b/test/ReactViews/ClipboardSpec.tsx index 4af48217ac2..188a4203d67 100644 --- a/test/ReactViews/ClipboardSpec.tsx +++ b/test/ReactViews/ClipboardSpec.tsx @@ -1,4 +1,4 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import { ThemeProvider } from "styled-components"; diff --git a/test/ReactViews/Custom/Chart/FeatureInfoPanelChartSpec.tsx b/test/ReactViews/Custom/Chart/FeatureInfoPanelChartSpec.tsx index 777ad52bb63..20cf87f74e1 100644 --- a/test/ReactViews/Custom/Chart/FeatureInfoPanelChartSpec.tsx +++ b/test/ReactViews/Custom/Chart/FeatureInfoPanelChartSpec.tsx @@ -15,11 +15,9 @@ import CustomComponent, { import parseCustomHtmlToReact from "../../../../lib/ReactViews/Custom/parseCustomHtmlToReact"; import { terriaTheme } from "../../../../lib/ReactViews/StandardUserInterface"; -const regionMapping = JSON.stringify( - require("../../../../wwwroot/data/regionMapping.json") -); +import regionMapping from "../../../../wwwroot/data/regionMapping.json"; -const csv = require("raw-loader!../../../../wwwroot/test/csv_nongeo/x_height.csv"); +import csv from "../../../../wwwroot/test/csv_nongeo/x_height.csv"; describe("FeatureInfoPanelChart", function () { let context: ProcessNodeContext; @@ -45,7 +43,7 @@ describe("FeatureInfoPanelChart", function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); // Without stubbing the chart csv, the specs could fail due to loadMapItems // not finishing by the time the test renderer returns. diff --git a/test/ReactViews/DimensionSelectorSectionSpec.tsx b/test/ReactViews/DimensionSelectorSectionSpec.tsx index e0469918cf7..19f08f94aea 100644 --- a/test/ReactViews/DimensionSelectorSectionSpec.tsx +++ b/test/ReactViews/DimensionSelectorSectionSpec.tsx @@ -20,6 +20,10 @@ import SelectableDimensionSection from "../../lib/ReactViews/Workbench/Controls/ import Checkbox from "../../lib/Styled/Checkbox"; import CatalogMemberTraits from "../../lib/Traits/TraitsClasses/CatalogMemberTraits"; +import lgaCode2015 from "../../wwwroot/test/csv/lga_code_2015.csv"; +import lgaCodeJson from "../../wwwroot/data/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json"; +import regionMapping from "../../wwwroot/data/regionMapping.json"; + export default class TestCatalogItem extends CatalogMemberMixin(CreateModel(CatalogMemberTraits)) implements SelectableDimensions @@ -164,21 +168,17 @@ describe("DimensionSelectorSection", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" ).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/data/regionMapping.json") - ) + responseJSON: regionMapping }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json" ).andReturn({ - responseText: JSON.stringify( - require("../../wwwroot/data/regionids/region_map-FID_LGA_2015_AUST_LGA_CODE15.json") - ) + responseJSON: lgaCodeJson }); jasmine.Ajax.stubRequest("test/csv/lga_code_2015.csv").andReturn({ - responseText: require("raw-loader!../../wwwroot/test/csv/lga_code_2015.csv") + responseText: lgaCode2015 }); const csvItem = new CsvCatalogItem("some-csv", terria, undefined); diff --git a/test/ReactViews/DisclaimerSpec.tsx b/test/ReactViews/DisclaimerSpec.tsx index 49ed398fb0c..c04217d2623 100644 --- a/test/ReactViews/DisclaimerSpec.tsx +++ b/test/ReactViews/DisclaimerSpec.tsx @@ -5,7 +5,7 @@ import Terria from "../../lib/Models/Terria"; import ViewState from "../../lib/ReactViewModels/ViewState"; import Box from "../../lib/Styled/Box"; import { createWithContexts } from "./withContext"; -const Disclaimer: any = require("../../lib/ReactViews/Disclaimer").default; +import Disclaimer from "../../lib/ReactViews/Disclaimer"; describe("Disclaimer", function () { let terria: Terria; @@ -35,10 +35,7 @@ describe("Disclaimer", function () { viewState.disclaimerVisible = true; }); act(() => { - testRenderer = createWithContexts( - viewState, - - ); + testRenderer = createWithContexts(viewState, ); }); const disclaimerContent = testRenderer.root.findAllByType(Box); expect(disclaimerContent.length).toBeTruthy(); @@ -52,10 +49,7 @@ describe("Disclaimer", function () { viewState.disclaimerVisible = true; }); act(() => { - testRenderer = createWithContexts( - viewState, - - ); + testRenderer = createWithContexts(viewState, ); }); const disclaimerContent = testRenderer.root.findAllByType(Box); expect(disclaimerContent.length).toBeTruthy(); @@ -69,10 +63,7 @@ describe("Disclaimer", function () { viewState.disclaimerVisible = false; }); act(() => { - testRenderer = createWithContexts( - viewState, - - ); + testRenderer = createWithContexts(viewState, ); }); const disclaimerContent = testRenderer.root.findAllByType(Box); expect(disclaimerContent.length).toBeFalsy(); diff --git a/test/ReactViews/Generic/PromptSpec.tsx b/test/ReactViews/Generic/PromptSpec.tsx index d44afbf3cd7..897398f8c4e 100644 --- a/test/ReactViews/Generic/PromptSpec.tsx +++ b/test/ReactViews/Generic/PromptSpec.tsx @@ -1,11 +1,10 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../lib/Models/Terria"; import ViewState from "../../../lib/ReactViewModels/ViewState"; import { runInAction } from "mobx"; -const Prompt: any = require("../../../lib/ReactViews/Generic/Prompt").default; -import { terriaTheme } from "../../../lib/ReactViews/StandardUserInterface"; +import Prompt from "../../../lib/ReactViews/Generic/Prompt"; import Caret from "../../../lib/ReactViews/Generic/Caret"; describe("HelpPrompt", function () { @@ -36,7 +35,10 @@ describe("HelpPrompt", function () { terria.configParameters.showWelcomeMessage && !viewState.showWelcomeMessage } - theme={terriaTheme} + displayDelay={0} + dismissText={""} + dismissAction={() => {}} + content={<>foo} /> ); }); @@ -53,10 +55,13 @@ describe("HelpPrompt", function () { testRenderer = create( {}} + content={<>foo} /> ); }); @@ -74,10 +79,13 @@ describe("HelpPrompt", function () { testRenderer = create( {}} + content={<>foo} /> ); }); diff --git a/test/ReactViews/Map/Navigation/Compass/CompassSpec.tsx b/test/ReactViews/Map/Navigation/Compass/CompassSpec.tsx index 5daafb1a59a..d428413f152 100644 --- a/test/ReactViews/Map/Navigation/Compass/CompassSpec.tsx +++ b/test/ReactViews/Map/Navigation/Compass/CompassSpec.tsx @@ -1,5 +1,5 @@ // CompassSpec.tsx -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../../../lib/Models/Terria"; diff --git a/test/ReactViews/Map/Navigation/Compass/GyroscopeGuidanceSpec.tsx b/test/ReactViews/Map/Navigation/Compass/GyroscopeGuidanceSpec.tsx index fa870e14cff..f12a29f79c2 100644 --- a/test/ReactViews/Map/Navigation/Compass/GyroscopeGuidanceSpec.tsx +++ b/test/ReactViews/Map/Navigation/Compass/GyroscopeGuidanceSpec.tsx @@ -1,4 +1,4 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../../../lib/Models/Terria"; diff --git a/test/ReactViews/Map/Panels/HelpPanel/HelpPanelSpec.tsx b/test/ReactViews/Map/Panels/HelpPanel/HelpPanelSpec.tsx index cb81e15d93e..83f9375aa49 100644 --- a/test/ReactViews/Map/Panels/HelpPanel/HelpPanelSpec.tsx +++ b/test/ReactViews/Map/Panels/HelpPanel/HelpPanelSpec.tsx @@ -8,8 +8,7 @@ import HelpVideoPanel from "../../../../../lib/ReactViews/Map/Panels/HelpPanel/H import StyledHtml from "../../../../../lib/ReactViews/Map/Panels/HelpPanel/StyledHtml"; import Text from "../../../../../lib/Styled/Text"; import { createWithContexts } from "../../../withContext"; -const HelpPanel: any = - require("../../../../../lib/ReactViews/Map/Panels/HelpPanel/HelpPanel").default; +import HelpPanel from "../../../../../lib/ReactViews/Map/Panels/HelpPanel/HelpPanel"; describe("HelpPanel", function () { let terria: Terria; diff --git a/test/ReactViews/Map/Panels/HelpPanel/VideoGuideSpec.tsx b/test/ReactViews/Map/Panels/HelpPanel/VideoGuideSpec.tsx index 0674dea8b45..3f6cb22b7ab 100644 --- a/test/ReactViews/Map/Panels/HelpPanel/VideoGuideSpec.tsx +++ b/test/ReactViews/Map/Panels/HelpPanel/VideoGuideSpec.tsx @@ -1,12 +1,11 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import { ThemeProvider } from "styled-components"; import { terriaTheme } from "../../../../../lib/ReactViews/StandardUserInterface"; import Terria from "../../../../../lib/Models/Terria"; import ViewState from "../../../../../lib/ReactViewModels/ViewState"; -const VideoGuide: any = - require("../../../../../lib/ReactViews/Map/Panels/HelpPanel/VideoGuide").default; +import VideoGuide from "../../../../../lib/ReactViews/Map/Panels/HelpPanel/VideoGuide"; import { runInAction } from "mobx"; describe("VideoGuide", function () { diff --git a/test/ReactViews/Search/BreadcrumbsSpec.tsx b/test/ReactViews/Search/BreadcrumbsSpec.tsx index 08d15e39fe9..4669d6d4722 100644 --- a/test/ReactViews/Search/BreadcrumbsSpec.tsx +++ b/test/ReactViews/Search/BreadcrumbsSpec.tsx @@ -1,12 +1,11 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../lib/Models/Terria"; import CatalogGroup from "../../../lib/Models/Catalog/CatalogGroup"; import ViewState from "../../../lib/ReactViewModels/ViewState"; import Breadcrumbs from "../../../lib/ReactViews/Search/Breadcrumbs"; -const DataCatalogTab: any = - require("../../../lib/ReactViews/ExplorerWindow/Tabs/DataCatalogTab").default; +import DataCatalogTab from "../../../lib/ReactViews/ExplorerWindow/Tabs/DataCatalogTab"; import Icon from "../../../lib/Styled/Icon"; import { ThemeProvider } from "styled-components"; import { terriaTheme } from "../../../lib/ReactViews/StandardUserInterface"; diff --git a/test/ReactViews/Search/SearchBoxAndResultsSpec.tsx b/test/ReactViews/Search/SearchBoxAndResultsSpec.tsx index e3e45950721..d24d92c7cd4 100644 --- a/test/ReactViews/Search/SearchBoxAndResultsSpec.tsx +++ b/test/ReactViews/Search/SearchBoxAndResultsSpec.tsx @@ -1,4 +1,4 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import { runInAction } from "mobx"; diff --git a/test/ReactViews/Search/SearchBoxSpec.tsx b/test/ReactViews/Search/SearchBoxSpec.tsx index 6c285caa4b1..ca86fddf3cd 100644 --- a/test/ReactViews/Search/SearchBoxSpec.tsx +++ b/test/ReactViews/Search/SearchBoxSpec.tsx @@ -1,4 +1,4 @@ -const create: any = require("react-test-renderer").create; +import { create } from "react-test-renderer"; import React from "react"; import { act } from "react-dom/test-utils"; import Terria from "../../../lib/Models/Terria"; diff --git a/test/ReactViews/WelcomeMessageSpec.tsx b/test/ReactViews/WelcomeMessageSpec.tsx index 646ceecb493..421e30221f2 100644 --- a/test/ReactViews/WelcomeMessageSpec.tsx +++ b/test/ReactViews/WelcomeMessageSpec.tsx @@ -5,8 +5,7 @@ import Terria from "../../lib/Models/Terria"; import ViewState from "../../lib/ReactViewModels/ViewState"; import { WelcomeMessagePure } from "../../lib/ReactViews/WelcomeMessage/WelcomeMessage"; import { createWithContexts } from "./withContext"; -const WelcomeMessage: any = - require("../../lib/ReactViews/WelcomeMessage/WelcomeMessage").default; +import WelcomeMessage from "../../lib/ReactViews/WelcomeMessage/WelcomeMessage"; describe("WelcomeMessage", function () { let terria: Terria; diff --git a/test/ReactViews/Workbench/Controls/DateTimePickerSpec.tsx b/test/ReactViews/Workbench/Controls/DateTimePickerSpec.tsx index bf54801577c..7256d068bb0 100644 --- a/test/ReactViews/Workbench/Controls/DateTimePickerSpec.tsx +++ b/test/ReactViews/Workbench/Controls/DateTimePickerSpec.tsx @@ -5,9 +5,7 @@ import JulianDate from "terriajs-cesium/Source/Core/JulianDate"; import Terria from "../../../../lib/Models/Terria"; import WebMapServiceCatalogItem from "../../../../lib/Models/Catalog/Ows/WebMapServiceCatalogItem"; import DateTimePicker from "../../../../lib/ReactViews/BottomDock/Timeline/DateTimePicker"; - -const GridRow = - require("../../../../lib/ReactViews/BottomDock/Timeline/DateTimePicker").GridRow; +import { GridRow } from "../../../../lib/ReactViews/BottomDock/Timeline/DateTimePicker"; describe("DateTimePicker", function () { let terria: Terria; diff --git a/test/ReactViews/Workbench/Controls/LegendSpec.tsx b/test/ReactViews/Workbench/Controls/LegendSpec.tsx index 28a5f44b0cf..c9767ade6e7 100644 --- a/test/ReactViews/Workbench/Controls/LegendSpec.tsx +++ b/test/ReactViews/Workbench/Controls/LegendSpec.tsx @@ -1,5 +1,4 @@ -const findAllWithClass = require("react-shallow-testutils").findAllWithClass; - +import { findAllWithClass } from "react-shallow-testutils"; import TestRenderer from "react-test-renderer"; import CsvCatalogItem from "../../../../lib/Models/Catalog/CatalogItems/CsvCatalogItem"; import WebMapServiceCatalogItem from "../../../../lib/Models/Catalog/Ows/WebMapServiceCatalogItem"; diff --git a/test/Table/TableColumnSpec.ts b/test/Table/TableColumnSpec.ts index b0ce1096c2c..bfddd88ea69 100644 --- a/test/Table/TableColumnSpec.ts +++ b/test/Table/TableColumnSpec.ts @@ -6,9 +6,7 @@ import TableColumn from "../../lib/Table/TableColumn"; import TableColumnTraits from "../../lib/Traits/TraitsClasses/Table/ColumnTraits"; import TableColumnType from "../../lib/Table/TableColumnType"; -const regionMapping = JSON.stringify( - require("../../wwwroot/data/regionMapping.json") -); +import regionMapping from "../../wwwroot/data/regionMapping.json"; describe("TableColumn", function () { let tableModel: CsvCatalogItem; @@ -354,7 +352,7 @@ describe("TableColumn", function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); }); afterEach(function () { @@ -460,7 +458,7 @@ describe("TableColumn", function () { jasmine.Ajax.install(); jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); }); afterEach(function () { diff --git a/test/Table/TableStyleSpec.ts b/test/Table/TableStyleSpec.ts index 901414349cc..c53e8ac9c16 100644 --- a/test/Table/TableStyleSpec.ts +++ b/test/Table/TableStyleSpec.ts @@ -15,23 +15,13 @@ import TableColumnTraits, { } from "../../lib/Traits/TraitsClasses/Table/ColumnTraits"; import TableStyleTraits from "../../lib/Traits/TraitsClasses/Table/StyleTraits"; -const regionMapping = JSON.stringify( - require("../../wwwroot/data/regionMapping.json") -); - -const SedCods = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-SED_CODE18_SED_2018.json") -); -const Sa4Codes = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json") -); -const Sa4Names = JSON.stringify( - require("../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_NAME16.json") -); - -const LatLonCsv = require("raw-loader!../../wwwroot/test/csv/lat_lon_enum_date_id.csv"); -const SedCsv = require("raw-loader!../../wwwroot/test/csv/SED_2018_SED_CODE18.csv"); -const YouthUnEmployCsv = require("raw-loader!../../wwwroot/test/csv/youth-unemployment-rate-2018.csv"); +import regionMapping from "../../wwwroot/data/regionMapping.json"; +import SedCods from "../../wwwroot/data/regionids/region_map-SED_CODE18_SED_2018.json"; +import Sa4Codes from "../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json"; +import Sa4Names from "../../wwwroot/data/regionids/region_map-SA4_2016_AUST_SA4_NAME16.json"; +import LatLonCsv from "../../wwwroot/test/csv/lat_lon_enum_date_id.csv"; +import SedCsv from "../../wwwroot/test/csv/SED_2018_SED_CODE18.csv"; +import YouthUnEmployCsv from "../../wwwroot/test/csv/youth-unemployment-rate-2018.csv"; describe("TableStyle", function () { let terria: Terria; @@ -50,19 +40,19 @@ describe("TableStyle", function () { jasmine.Ajax.stubRequest( "build/TerriaJS/data/regionMapping.json" - ).andReturn({ responseText: regionMapping }); + ).andReturn({ responseJSON: regionMapping }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-SED_CODE18_SED_2018.json" - ).andReturn({ responseText: SedCods }); + ).andReturn({ responseJSON: SedCods }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-SA4_2016_AUST_SA4_CODE16.json" - ).andReturn({ responseText: Sa4Codes }); + ).andReturn({ responseJSON: Sa4Codes }); jasmine.Ajax.stubRequest( "https://tiles.terria.io/region-mapping/regionids/region_map-SA4_2016_AUST_SA4_NAME16.json" - ).andReturn({ responseText: Sa4Names }); + ).andReturn({ responseJSON: Sa4Names }); }); afterEach(() => { diff --git a/yarn.lock b/yarn.lock index 211eed28685..e0efcb657bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,7 +10,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== @@ -18,7 +18,16 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": +"@babel/code-frame@^7.16.7": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== @@ -77,7 +86,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== @@ -88,7 +97,7 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.6", "@babel/helper-create-class-features-plugin@^7.22.9": +"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.6", "@babel/helper-create-class-features-plugin@^7.22.9": version "7.23.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== @@ -150,7 +159,7 @@ dependencies: "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.22.15": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== @@ -175,7 +184,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== @@ -205,7 +214,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== @@ -229,6 +238,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + "@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.22.5", "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" @@ -290,14 +304,6 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-proposal-decorators@^7.22.7": version "7.22.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.7.tgz#9b5b73c2e404f0869ef8a8a53765f8203c5467a7" @@ -309,34 +315,6 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/plugin-syntax-decorators" "^7.22.5" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-chaining@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" @@ -765,7 +743,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.23.3": +"@babel/plugin-transform-parameters@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== @@ -1077,7 +1055,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0-beta.49", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.4.0", "@babel/types@^7.4.4": +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.4.0", "@babel/types@^7.4.4": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== @@ -1229,11 +1207,6 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - "@gulpjs/messages@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@gulpjs/messages/-/messages-1.1.0.tgz#94e70978ff676ade541faab459c37ae0c7095e5a" @@ -1354,6 +1327,26 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jsonjoy.com/base64@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz#cf8ea9dcb849b81c95f14fc0aaa151c6b54d2578" + integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA== + +"@jsonjoy.com/json-pack@^1.0.3": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-1.1.1.tgz#1f2db19ab1fd3304ccac259a1ef1dc6aff6df0ba" + integrity sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw== + dependencies: + "@jsonjoy.com/base64" "^1.1.1" + "@jsonjoy.com/util" "^1.1.2" + hyperdyperid "^1.2.0" + thingies "^1.20.0" + +"@jsonjoy.com/util@^1.1.2", "@jsonjoy.com/util@^1.3.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.5.0.tgz#6008e35b9d9d8ee27bc4bfaa70c8cbf33a537b4c" + integrity sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA== + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.5" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" @@ -1432,27 +1425,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@open-wc/webpack-import-meta-loader@^0.4.7": - version "0.4.7" - resolved "https://registry.yarnpkg.com/@open-wc/webpack-import-meta-loader/-/webpack-import-meta-loader-0.4.7.tgz#d8212640a386a66bf06a2a4c101936467839b5a1" - integrity sha512-F3d1EHRckk2+ZpgEEAgVITp8BU9DYLBhKOhNMREeQ1BwILRIhrt+V1bebpnd0Mz595jzd7Yh1wSibLsXibkCpg== - "@opendatasoft/api-client@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@opendatasoft/api-client/-/api-client-0.1.0.tgz#8aa2f065346c786981f5bedbed926afcfb6a8af4" @@ -1611,6 +1583,11 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== +"@sindresorhus/merge-streams@^2.1.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" + integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== + "@socket.io/component-emitter@~3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" @@ -1746,14 +1723,14 @@ "@types/connect" "*" "@types/node" "*" -"@types/bonjour@^3.5.9": +"@types/bonjour@^3.5.13": version "3.5.13" resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" -"@types/connect-history-api-fallback@^1.3.5": +"@types/connect-history-api-fallback@^1.5.4": version "1.5.4" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== @@ -1904,6 +1881,27 @@ dependencies: "@types/trusted-types" "*" +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" @@ -1934,7 +1932,7 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/express@^4.17.13": +"@types/express@^4.17.21": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -2013,7 +2011,7 @@ resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.18.tgz#81e0658686d6134c2f88767c44382f1568d2ae93" integrity sha512-CYOO2DsfoFnmYQ+tZyXsExePUomwvUhpSLEsM7kAJ5BSYNlom+5m3qZkxYrg2CoSfJ3tMv5NH02cB0y7GfjvaA== -"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2203,10 +2201,10 @@ dependencies: "@types/react" "*" -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@types/retry@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" + integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== "@types/retry@^0.12.0": version "0.12.1" @@ -2231,14 +2229,14 @@ "@types/mime" "^1" "@types/node" "*" -"@types/serve-index@^1.9.1": +"@types/serve-index@^1.9.4": version "1.9.4" resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" -"@types/serve-static@*", "@types/serve-static@^1.13.10": +"@types/serve-static@*", "@types/serve-static@^1.15.5": version "1.15.7" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== @@ -2255,18 +2253,13 @@ "@types/geojson" "*" "@types/node" "*" -"@types/sockjs@^0.3.33": +"@types/sockjs@^0.3.36": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - "@types/styled-components@^5.1.26": version "5.1.26" resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.26.tgz#5627e6812ee96d755028a98dae61d28e57c233af" @@ -2276,50 +2269,17 @@ "@types/react" "*" csstype "^3.0.2" -"@types/tapable@^1": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== - "@types/trusted-types@*": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== -"@types/uglify-js@*": - version "3.17.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.1.tgz#e0ffcef756476410e5bce2cb01384ed878a195b5" - integrity sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g== - dependencies: - source-map "^0.6.1" - "@types/urijs@^1.19.25": version "1.19.25" resolved "https://registry.yarnpkg.com/@types/urijs/-/urijs-1.19.25.tgz#ac92b53e674c3b108decdbe88dc5f444a2f42f6a" integrity sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg== -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@4.41.33": - version "4.41.33" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc" - integrity sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - -"@types/ws@^8.5.5": +"@types/ws@^8.5.10": version "8.5.13" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== @@ -2597,167 +2557,141 @@ d3-time-format "4.1.0" internmap "2.0.3" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== -"@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== -"@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== "@xmldom/xmldom@^0.8.10": version "0.8.10" @@ -2826,16 +2760,16 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^8.14.0, acorn@^8.9.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + acorn@^8.4.1: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" @@ -2846,11 +2780,6 @@ acorn@^8.8.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -acorn@^8.9.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - adjust-sourcemap-loader@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" @@ -2878,19 +2807,6 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -2898,7 +2814,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -2910,17 +2826,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2940,11 +2846,6 @@ ajv@^8.0.0, ajv@^8.9.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -2996,15 +2897,7 @@ ansi-wrap@^0.1.0: resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.0, anymatch@^3.1.3, anymatch@~3.1.2: +anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -3091,16 +2984,6 @@ array.prototype.flatmap@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -3113,14 +2996,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -3140,11 +3015,6 @@ async-done@^2.0.0: once "^1.4.0" stream-exhaust "^1.0.2" -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - async-settle@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-2.0.0.tgz#c695ad14e070f6a755d019d32d6eb38029020287" @@ -3159,21 +3029,11 @@ async@^2.6.2: dependencies: lodash "^4.17.14" -async@~0.2.10: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -3217,45 +3077,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-loader@^8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= +babel-loader@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== dependencies: - babel-runtime "^6.22.0" + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" babel-plugin-emotion@^10.0.27: version "10.2.2" @@ -3273,17 +3101,6 @@ babel-plugin-emotion@^10.0.27: find-root "^1.1.0" source-map "^0.5.7" -babel-plugin-lodash@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196" - integrity sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg== - dependencies: - "@babel/helper-module-imports" "^7.0.0-beta.49" - "@babel/types" "^7.0.0-beta.49" - glob "^7.1.1" - lodash "^4.17.10" - require-package-name "^2.0.1" - babel-plugin-macros@^2.0.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" @@ -3342,55 +3159,6 @@ babel-plugin-syntax-jsx@^6.18.0: resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - 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" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - bach@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bach/-/bach-2.0.1.tgz#45a3a3cbf7dbba3132087185c60357482b988972" @@ -3469,33 +3237,16 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bitmap-sdf@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz#e87b8b1d84ee846567cfbb29d60eedd34bca5b6f" @@ -3515,16 +3266,6 @@ bluebird@^3.5.0: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - body-parser@1.19.1, body-parser@^1.15.0: version "1.19.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" @@ -3577,10 +3318,10 @@ body-parser@^1.19.0: type-is "~1.6.18" unpipe "1.0.0" -bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== +bonjour-service@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" @@ -3598,7 +3339,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.2.2, braces@^2.3.1, braces@^2.3.2: +braces@^2.2.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -3628,77 +3369,11 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.22.2: version "4.22.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" @@ -3709,6 +3384,16 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.24.0: + version "4.24.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" + integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== + dependencies: + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" + browserstack-local@^1.3.7: version "1.4.8" resolved "https://registry.yarnpkg.com/browserstack-local/-/browserstack-local-1.4.8.tgz#07f74a19b324cf2de69ffe65f9c2baa3a2dd9a0e" @@ -3731,12 +3416,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@4.9.2, buffer@^4.3.0: +buffer@4.9.2: version "4.9.2" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== @@ -3760,10 +3440,12 @@ bufferutil@^4.0.8: dependencies: node-gyp-build "^4.3.0" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +bundle-name@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" + integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== + dependencies: + run-applescript "^7.0.0" bytes@3.0.0: version "3.0.0" @@ -3780,30 +3462,6 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^15.0.5: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3843,7 +3501,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0, camelcase@^5.2.0: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -3858,6 +3516,11 @@ caniuse-lite@^1.0.30001565: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4" integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg== +caniuse-lite@^1.0.30001688: + version "1.0.30001695" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz#39dfedd8f94851132795fdf9b79d29659ad9c4d4" + integrity sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3897,7 +3560,7 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3905,41 +3568,7 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.4.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^3.5.1, chokidar@^3.5.3: +chokidar@^3.5.1, chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -3961,24 +3590,11 @@ chokidar@^4.0.0: dependencies: readdirp "^4.0.1" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -3994,11 +3610,6 @@ classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classna resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - clipboard@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" @@ -4054,11 +3665,6 @@ clone@^2.1.1, clone@^2.1.2: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -4118,20 +3724,20 @@ commander@2, commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -"commander@^11.1.0 ": - version "11.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" - integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +"commander@^12.1.0 ": + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== compare-versions@^3.4.0: version "3.6.0" @@ -4193,16 +3799,6 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -4270,22 +3866,17 @@ copy-props@^4.0.0: each-props "^3.0.0" is-plain-object "^5.0.0" -copy-webpack-plugin@^6.4.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz#138cd9b436dbca0a6d071720d5414848992ec47e" - integrity sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA== +copy-webpack-plugin@^12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz#935e57b8e6183c82f95bd937df658a59f6a2da28" + integrity sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA== dependencies: - cacache "^15.0.5" - fast-glob "^3.2.4" - find-cache-dir "^3.3.1" - glob-parent "^5.1.1" - globby "^11.0.1" - loader-utils "^2.0.0" + fast-glob "^3.3.2" + glob-parent "^6.0.1" + globby "^14.0.0" normalize-path "^3.0.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - webpack-sources "^1.4.3" + schema-utils "^4.2.0" + serialize-javascript "^6.0.2" core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.35.0" @@ -4294,11 +3885,6 @@ core-js-compat@^3.31.0, core-js-compat@^3.33.1: dependencies: browserslist "^4.22.2" -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - core-js@^3.1.4, core-js@^3.6.5: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581" @@ -4333,36 +3919,15 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== +cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" create-react-class@^15.5.2, create-react-class@^15.7.0: version "15.7.0" @@ -4397,23 +3962,6 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" @@ -4426,45 +3974,25 @@ css-line-break@1.0.1: dependencies: base64-arraybuffer "^0.1.5" -css-loader@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.9.1.tgz#2e1aa00ce7e30ef2c6a7a4b300a080a7c979e0dc" - integrity sha1-LhqgDOfjDvLGp6SzAKCAp8l54Nw= - dependencies: - csso "1.3.x" - loader-utils "~0.2.2" - source-map "~0.1.38" - -css-loader@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" +css-loader@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-7.1.2.tgz#64671541c6efe06b0e22e750503106bdd86880f8" + integrity sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + 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.5.4" css-mediaquery@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/css-mediaquery/-/css-mediaquery-0.1.2.tgz#6a2c37344928618631c54bd33cedd301da18bea0" integrity sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA= -css-modules-typescript-loader@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/css-modules-typescript-loader/-/css-modules-typescript-loader-2.0.4.tgz#0ddf207097f24c4bef8dd55964dfdbe6e373e283" - integrity sha512-hjIjlmJ0D8MRTGoRkIdWTLbKrnTLgSKsL9QLOTsVDq9UbRWLwfEBmeNgsM/KVkVB/DTYSbmlvw7OubaeOBlnqQ== - dependencies: - line-diff "^2.0.1" - loader-utils "^1.2.3" - css-to-react-native@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756" @@ -4479,11 +4007,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -csso@1.3.x: - version "1.3.12" - resolved "https://registry.yarnpkg.com/csso/-/csso-1.3.12.tgz#fc628694a2d38938aaac4996753218fd311cdb9e" - integrity sha1-/GKGlKLTiTiqrEmWdTIY/TEc254= - cssom@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" @@ -4699,7 +4222,7 @@ debounce@^1.2.1: resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4769,12 +4292,18 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== +default-browser-id@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" + integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== + +default-browser@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" + integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== dependencies: - execa "^5.0.0" + bundle-name "^4.1.0" + default-browser-id "^5.0.0" default-require-extensions@^2.0.0: version "2.0.0" @@ -4792,10 +4321,10 @@ define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== define-properties@^1.1.3: version "1.1.3" @@ -4863,14 +4392,6 @@ dequal@^2.0.3: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -4886,13 +4407,6 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -4908,15 +4422,6 @@ di@^0.0.1: resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4985,11 +4490,6 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -5101,18 +4601,10 @@ electron-to-chromium@^1.4.601: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.623.tgz#0f7400114ac3425500e9244d2b0e9c3107c331cb" integrity sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A== -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" +electron-to-chromium@^1.5.73: + version "1.5.84" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.84.tgz#8e334ca206bb293a20b16418bf454783365b0a95" + integrity sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g== emoji-regex@^7.0.1: version "7.0.3" @@ -5124,11 +4616,6 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -5172,14 +4659,13 @@ engine.io@~6.5.2: engine.io-parser "~5.2.1" ws "~8.11.0" -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== +enhanced-resolve@^5.17.1: + version "5.18.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz#91eb1db193896b9801251eeff1c6980278b1e404" + integrity sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ== dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" + graceful-fs "^4.2.4" + tapable "^2.2.0" ent@~2.2.0: version "2.2.0" @@ -5211,13 +4697,6 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -5263,6 +4742,11 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-module-lexer@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz#da49f587fd9e68ee2404fe4e256c0c7d3a81be21" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -5289,6 +4773,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -5354,14 +4843,6 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" @@ -5445,7 +4926,7 @@ esquery@^1.4.2: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -5495,20 +4976,12 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -events@^3.0.0: +events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^5.0.0, execa@^5.1.1: +execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -5551,10 +5024,10 @@ express-brute@^1.0.1: long-timeout "~0.1.1" underscore "~1.8.3" -express@^4.17.3: - version "4.21.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" - integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== +express@^4.21.2: + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" @@ -5575,7 +5048,7 @@ express@^4.17.3: methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.10" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" qs "6.13.0" range-parser "~1.2.1" @@ -5644,7 +5117,7 @@ extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extglob@^2.0.2, extglob@^2.0.4: +extglob@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== @@ -5668,11 +5141,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -5683,7 +5151,7 @@ fast-fifo@^1.3.2: resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== -fast-glob@^3.2.4, fast-glob@^3.2.9: +fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -5695,15 +5163,15 @@ fast-glob@^3.2.4, fast-glob@^3.2.9: micromatch "^4.0.4" fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -5783,31 +5251,11 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@^0.8.1: - version "0.8.5" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.8.5.tgz#9275d031fe780f27d47f5f4af02bd43713cc151b" - integrity sha1-knXQMf54DyfUf19K8CvUNxPMFRs= - dependencies: - loader-utils "~0.2.5" - -file-loader@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - file-saver@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fileset@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" @@ -5866,14 +5314,13 @@ finalhandler@1.3.1: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" find-root@^1.1.0: version "1.1.0" @@ -5903,6 +5350,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + findup-sync@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-5.0.0.tgz#54380ad965a7edca00cc8f63113559aadc541bd2" @@ -5986,31 +5441,30 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-notifier-webpack-plugin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-notifier-webpack-plugin/-/fork-ts-checker-notifier-webpack-plugin-6.0.0.tgz#d42447c3b02e734098cde7fa9fd02031e24adec8" - integrity sha512-Gzop95yFefJu9P68BBQ+Gsu5hjF7DQQTCcEM0Ns0WaXKD9CR0qqCJkjRrE+2gZG7PhdK8ccfxiexFvPZHbb4Tg== +fork-ts-checker-notifier-webpack-plugin@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-notifier-webpack-plugin/-/fork-ts-checker-notifier-webpack-plugin-9.0.0.tgz#5ee57baab812a3cfd9592beb81c6e2733923d4c2" + integrity sha512-G9lIXCacvYoEtZh8X0emvGUuU0isK74OYUwTiULOs9xP4QvZY8udK00vsS5Ylwh7TdInlCsaj5eCMH17QeVrGg== dependencies: - node-notifier "^8.0.2" + node-notifier "^10.0.1" -fork-ts-checker-webpack-plugin@^6.0.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== +fork-ts-checker-webpack-plugin@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz#c12c590957837eb02b02916902dcf3e675fd2b1e" + integrity sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg== dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^8.2.0" deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" + fs-extra "^10.0.0" + memfs "^3.4.1" minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" form-data@^3.0.0: version "3.0.1" @@ -6073,6 +5527,15 @@ fs-access@^1.0.0: dependencies: null-check "^1.0.0" +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -6091,23 +5554,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - fs-mkdirp-stream@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz#1e82575c4023929ad35cf69269f84f1a8c973aa7" @@ -6116,11 +5562,6 @@ fs-mkdirp-stream@^2.0.1: graceful-fs "^4.2.8" streamx "^2.12.0" -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - fs-monkey@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" @@ -6131,14 +5572,6 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -6252,22 +5685,14 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6301,7 +5726,7 @@ glob-watcher@^6.0.0: async-done "^2.0.0" chokidar "^3.5.3" -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@^7.0.3, glob@^7.0.5, glob@^7.1.3, glob@^7.1.7: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -6357,12 +5782,7 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globby@^11.0.1, globby@^11.1.0: +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -6374,6 +5794,18 @@ globby@^11.0.1, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^14.0.0: + version "14.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.2.tgz#06554a54ccfe9264e5a9ff8eded46aa1e306482f" + integrity sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw== + dependencies: + "@sindresorhus/merge-streams" "^2.1.0" + fast-glob "^3.3.2" + ignore "^5.2.4" + path-type "^5.0.0" + slash "^5.1.0" + unicorn-magic "^0.1.0" + glogg@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/glogg/-/glogg-2.2.0.tgz#956ceb855a05a2aa1fa668d748f2be8e7361c11c" @@ -6400,7 +5832,7 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== -graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.6, graceful-fs@^4.2.8: +graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.8: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -6567,23 +5999,6 @@ has@^1.0.3, has@~1.0.3: dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hasown@^2.0.0, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -6596,15 +6011,6 @@ he@^1.1.1: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -6636,11 +6042,6 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^2.3.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" - integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -6736,7 +6137,7 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy-middleware@^2.0.3: +http-proxy-middleware@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== @@ -6765,11 +6166,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -6804,6 +6200,11 @@ husky@^8.0.3: resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +hyperdyperid@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b" + integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A== + hyphenate-style-name@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" @@ -6844,17 +6245,10 @@ iconv-lite@^0.6.3: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ieee754@1.1.13: version "1.1.13" @@ -6891,12 +6285,12 @@ immutability-helper@^3.1.1: resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-3.1.1.tgz#2b86b2286ed3b1241c9e23b7b21e0444f52f77b7" integrity sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ== -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== +immutable@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" + integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== -import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -6912,29 +6306,11 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" -imports-loader@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz#030ea51b8ca05977c40a3abfd9b4088fe0be9a69" - integrity sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ== - dependencies: - loader-utils "^1.0.2" - source-map "^0.6.1" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -6943,16 +6319,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -6987,23 +6358,11 @@ internal-slot@^1.0.3: resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - interpret@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - ip6@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/ip6/-/ip6-0.0.4.tgz#44c5a9db79e39d405201b4d78d13b3870e48db31" @@ -7019,7 +6378,7 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipaddr.js@^2.0.1: +ipaddr.js@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== @@ -7066,13 +6425,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -7151,11 +6503,16 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-docker@^2.0.0, is-docker@^2.1.1: +is-docker@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -7168,16 +6525,11 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -7195,13 +6547,6 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -7209,6 +6554,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -7219,6 +6571,11 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-network-error@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.1.0.tgz#d26a760e3770226d11c169052f266a4803d9c997" + integrity sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g== + is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" @@ -7366,6 +6723,13 @@ is-wsl@^2.1.0, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -7417,21 +6781,6 @@ istanbul-api@^2.1.6: minimatch "^3.0.4" once "^1.4.0" -istanbul-instrumenter-loader@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" - integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" @@ -7444,19 +6793,6 @@ istanbul-lib-hook@^2.0.7: dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.7.3: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" @@ -7512,14 +6848,14 @@ javascript-natural-sort@^0.7.1: resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" integrity sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k= -jest-worker@^26.5.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" jmespath@0.16.0: version "0.16.0" @@ -7536,11 +6872,6 @@ js-base64@^2.1.9: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -7604,11 +6935,6 @@ jsep@^1.3.8: resolved "https://registry.yarnpkg.com/jsep/-/jsep-1.3.8.tgz#facb6eb908d085d71d950bd2b24b757c7b8a46d7" integrity sha512-qofGylTGgYj9gZFsHuyWAN4jr35eJ66qJCK4eKDnldohuUoQFbU3iZn2zjvEbd9wOAhP9Wx5DsAAduTyE1PSWQ== -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -7619,21 +6945,11 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -7659,11 +6975,6 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -7859,11 +7170,6 @@ klaw-sync@^4.0.0: dependencies: graceful-fs "^4.1.11" -klona@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - ktx-parse@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/ktx-parse/-/ktx-parse-0.6.0.tgz#69e12a511cf345546da27b5b046182f5f31f68f9" @@ -7874,7 +7180,7 @@ last-run@^2.0.0: resolved "https://registry.yarnpkg.com/last-run/-/last-run-2.0.0.tgz#f82dcfbfce6e63d041bd83d64c82e34cdba6572e" integrity sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ== -launch-editor@^2.6.0: +launch-editor@^2.6.1: version "2.9.1" resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== @@ -7902,11 +7208,6 @@ lerc@^3.0.0: resolved "https://registry.yarnpkg.com/lerc/-/lerc-3.0.0.tgz#36f36fbd4ba46f0abf4833799fff2e7d6865f5cb" integrity sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww== -levdist@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/levdist/-/levdist-1.0.0.tgz#91d7a3044964f2ccc421a0477cac827fe75c5718" - integrity sha1-kdejBElk8szEIaBHfKyCf+dcVxg= - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7943,13 +7244,6 @@ liftoff@^5.0.0: rechoir "^0.8.0" resolve "^1.20.0" -line-diff@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/line-diff/-/line-diff-2.1.1.tgz#a389799b931375a3b1e764964ad0b0b3ce60d6f6" - integrity sha512-vswdynAI5AMPJacOo2o+JJ4caDJbnY2NEqms4MhMW0NJbjh3skP/brpVTAgBxrg55NRZ2Vtw88ef18hnagIpYQ== - dependencies: - levdist "^1.0.0" - lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -7962,22 +7256,12 @@ linkify-it@^5.0.0: dependencies: uc.micro "^2.0.0" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^0.2.5, loader-utils@~0.2.2, loader-utils@~0.2.3, loader-utils@~0.2.5: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^1.0.0, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -7986,6 +7270,15 @@ loader-utils@^1.0.0, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2 emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + loader-utils@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" @@ -8017,6 +7310,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + lodash-es@^4.17.11, lodash-es@^4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" @@ -8037,7 +7337,7 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.6.1: +lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.6.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8063,7 +7363,7 @@ long@^5.0.0: resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -8097,13 +7397,6 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -8150,15 +7443,6 @@ math-expression-evaluator@^1.2.14, math-expression-evaluator@^1.3.7: resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.3.8.tgz#320da3b2bc1512f4f50fc3020b2b1cd5c8e9d577" integrity sha512-9FbRY3i6U+CbHgrdNbAUaisjWTozkm1ZfupYQJiZ87NtYHk2Zh9DvxMgp/fifxVhqTLpd5fCCLossUbpZxGeKw== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - mdurl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" @@ -8169,41 +7453,28 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.1.2: - version "3.4.1" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" - integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== - dependencies: - fs-monkey "1.0.3" - -memfs@^3.4.3: +memfs@^3.4.1: version "3.6.0" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: fs-monkey "^1.0.4" +memfs@^4.6.0: + version "4.17.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.17.0.tgz#a3c4b5490b9b1e7df5d433adc163e08208ce7ca2" + integrity sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg== + dependencies: + "@jsonjoy.com/json-pack" "^1.0.3" + "@jsonjoy.com/util" "^1.3.0" + tree-dump "^1.0.1" + tslib "^2.0.0" + memoize-one@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -8270,26 +7541,7 @@ micromatch@3.1.0: snapdragon "^0.8.1" to-regex "^3.0.1" -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.5: +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -8305,14 +7557,6 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": version "1.51.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" @@ -8330,7 +7574,7 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.51.0" -mime-types@^2.1.31, mime-types@~2.1.34: +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -8342,7 +7586,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.5.2: +mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== @@ -8352,25 +7596,19 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw== +mini-css-extract-plugin@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b" + integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" + schema-utils "^4.0.0" + tapable "^2.2.1" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -8383,47 +7621,11 @@ minimist@1.2.8, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.8, minimist@~1.2 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== - dependencies: - yallist "^4.0.0" - minisearch@^3.0.2: version "3.2.0" resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-3.2.0.tgz#02ec9dd6ee6988384e2e3bb825ddc22bcf4201a1" integrity sha512-Nq3o/a9mhvokHXKCS9zxAd0t1z/eSjdtmvfBfvGI2D0/Fx8xUjrOdpjqbU7DXRyH8obowhELR1+L+i3TV7Y21g== -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - mitt@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.2.tgz#380e61480d6a615b660f07abb60d51e0a4e4bed6" @@ -8437,18 +7639,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.3, mkdirp@^0.5.5: +mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - mobx-react-lite@^3.4.0: version "3.4.3" resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz#3a4c22c30bfaa8b1b2aa48d12b2ba811c0947ab7" @@ -8530,17 +7727,17 @@ mute-stdout@^2.0.0: resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-2.0.0.tgz#c6a9b4b6185d3b7f70d3ffcb734cbfc8b0f38761" integrity sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ== -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== -nanomatch@^1.2.1, nanomatch@^1.2.9: +nanoid@^3.3.8: + version "3.3.8" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== + +nanomatch@^1.2.1: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== @@ -8572,11 +7769,16 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: +neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + node-addon-api@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" @@ -8599,35 +7801,6 @@ node-gyp-build@^4.3.0: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-notifier@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-10.0.1.tgz#0e82014a15a8456c4cfcdb25858750399ae5f1c7" @@ -8640,35 +7813,21 @@ node-notifier@^10.0.1: uuid "^8.3.2" which "^2.0.2" -node-notifier@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - nosleep.js@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/nosleep.js/-/nosleep.js-0.12.0.tgz#a01fddab2c13af357d673928b1f40a9013a4dc08" @@ -8703,7 +7862,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -8819,7 +7978,7 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@2.4.1: +on-finished@2.4.1, on-finished@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== @@ -8852,14 +8011,15 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -open@^8.0.9: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== +open@^10.0.3: + version "10.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1" + integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" + default-browser "^5.2.1" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^3.1.0" optionator@^0.8.1: version "0.8.3" @@ -8885,11 +8045,6 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -8904,6 +8059,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -8925,19 +8087,20 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: - aggregate-error "^3.0.0" + p-limit "^4.0.0" -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== +p-retry@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-6.2.1.tgz#81828f8dc61c6ef5a800585491572cc9892703af" + integrity sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ== dependencies: - "@types/retry" "0.12.0" + "@types/retry" "0.12.2" + is-network-error "^1.0.0" retry "^0.13.1" p-try@^2.0.0: @@ -8950,7 +8113,7 @@ pako@^2.0.4: resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== -pako@~1.0.2, pako@~1.0.5: +pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -8967,17 +8130,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-filepath@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" @@ -8992,7 +8144,7 @@ parse-headers@^2.0.2: resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -9030,16 +8182,6 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -9050,6 +8192,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -9077,10 +8224,10 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-to-regexp@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" - integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-to-regexp@0.1.7: version "0.1.7" @@ -9092,6 +8239,11 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +path-type@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" + integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== + pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" @@ -9114,32 +8266,21 @@ pbf@^4.0.1: dependencies: resolve-protobuf-schema "^2.1.0" -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -9155,13 +8296,20 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pkg-dir@^4.1.0, pkg-dir@^4.2.0: +pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + plugin-error@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" @@ -9195,57 +8343,48 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" + icss-utils "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" + postcss-selector-parser "^7.0.0" -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" + icss-utils "^5.0.0" postcss-prefix-selector@^1.6.0: version "1.14.0" resolved "https://registry.yarnpkg.com/postcss-prefix-selector/-/postcss-prefix-selector-1.14.0.tgz#93b8433074b7aadc5715d57379475246341cfb2d" integrity sha512-8d5fiBQZWMtGWH/7ewEeo6RnBNyT2kLD5wTIfV2oHYqH4hjiofg/rP5X3SUwnqOINzE4mM/K/UOAiNrIaKzd4w== -postcss-selector-parser@^6.0.0: - version "6.0.8" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" - integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== +postcss-selector-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" + integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== @@ -9260,14 +8399,6 @@ postcss@^5.2.17: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - postcss@^8.2.14: version "8.4.38" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" @@ -9277,6 +8408,15 @@ postcss@^8.2.14: picocolors "^1.0.0" source-map-js "^1.2.0" +postcss@^8.4.33: + version "8.5.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214" + integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ== + dependencies: + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + posthtml-parser@^0.2.0, posthtml-parser@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd" @@ -9330,6 +8470,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prettier@*: + version "3.4.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" + integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== + prettier@2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" @@ -9353,11 +8498,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - proj4-fully-loaded@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/proj4-fully-loaded/-/proj4-fully-loaded-0.2.0.tgz#2871046cb21b0d7d44ccab70b233d620b9809057" @@ -9399,11 +8539,6 @@ proj4js@~0.3.0: resolved "https://registry.yarnpkg.com/proj4js/-/proj4js-0.3.0.tgz#b5f3b19be2cc34b3902bb808d9c73585f11b1c0d" integrity sha1-tfOxm+LMNLOQK7gI2cc1hfEbHA0= -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" @@ -9458,11 +8593,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - ps-tree@=1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" @@ -9475,18 +8605,6 @@ psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - punycode.js@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" @@ -9497,11 +8615,6 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -9549,11 +8662,6 @@ query-string@^4.3.2: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -9584,21 +8692,13 @@ ramda@^0.27.1: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -9632,14 +8732,6 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-1.0.0.tgz#3f9889e73dadbda9a424bce79809b4133ad46405" - integrity sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - rbush@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" @@ -9881,7 +8973,7 @@ reactcss@^1.2.0: dependencies: lodash "^4.0.1" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -9903,7 +8995,7 @@ readable-stream@^3.0.2, readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -9912,15 +9004,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.1.tgz#b2fe35f8dca63183cd3b86883ecc8f720ea96ae6" @@ -9933,13 +9016,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== - dependencies: - resolve "^1.9.0" - rechoir@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" @@ -9975,11 +9051,6 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -10037,7 +9108,7 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: +remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= @@ -10052,13 +9123,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - replace-ext@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-2.0.0.tgz#9471c213d22e1bcc26717cd6e50881d88f812b06" @@ -10127,11 +9191,6 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -require-package-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" - integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk= - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -10206,7 +9265,7 @@ resolve@^1.12.0, resolve@^1.14.2: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.20.0, resolve@^1.9.0: +resolve@^1.20.0: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -10284,19 +9343,16 @@ rimraf@~2.5.2: dependencies: glob "^7.0.5" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - robust-predicates@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== +run-applescript@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" + integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -10309,7 +9365,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -10326,26 +9382,23 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@^10: - version "10.2.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz#3d64c1590f911013b3fa48a0b22a83d5e1494716" - integrity sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw== +sass-loader@^16.0.3: + version "16.0.4" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.4.tgz#5c2afb755fbc0a45a004369efa11579518a39a45" + integrity sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg== dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" -sass@<1.80: - version "1.79.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.6.tgz#35a53c3dbaf66a25f132979f47346521e4ef77cb" - integrity sha512-PVVjeeiUGx6Nj4PtEE/ecwu8ltwfPKzHxbbVmmLj4l1FYHhOyfA0scuVF8sVaa+b+VY4z7BVKjKq0cPUQdUU3g== +sass@^1.81.0: + version "1.83.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.4.tgz#5ccf60f43eb61eeec300b780b8dcb85f16eec6d1" + integrity sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA== dependencies: - "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" - immutable "^4.0.0" + immutable "^5.0.2" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" sax@1.2.1: version "1.2.1" @@ -10372,40 +9425,7 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= - dependencies: - ajv "^5.0.0" - -schema-utils@^0.4.0: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5: +schema-utils@^2.0.1: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -10414,10 +9434,10 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" @@ -10433,6 +9453,16 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@^4.2.0, schema-utils@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -10443,7 +9473,7 @@ select@^1.1.2: resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= -selfsigned@^2.1.1: +selfsigned@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== @@ -10458,7 +9488,7 @@ semver-greatest-satisfied-range@^2.0.0: dependencies: sver "^1.8.3" -semver@^5.3.0, semver@^5.6.0: +semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -10468,7 +9498,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.5.4: +semver@^7.3.5, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -10513,10 +9543,10 @@ send@0.19.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -10580,7 +9610,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -10595,14 +9625,6 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -10682,6 +9704,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -10750,11 +9777,6 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - "source-map-js@>=0.6.2 <2.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -10765,6 +9787,11 @@ source-map-js@^1.2.0: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -10799,18 +9826,6 @@ source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@~0.1.38: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= - dependencies: - amdefine ">=0.0.4" - sparkles@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-2.1.0.tgz#8ad4e8cecba7e568bba660c39b6db46625ecf1ad" @@ -10873,13 +9888,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -10903,14 +9911,6 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -10935,17 +9935,6 @@ stream-exhaust@^1.0.2: resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - streamroller@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" @@ -10971,18 +9960,6 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -string-replace-webpack-plugin@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz#73c657e759d66cfe80ae1e0cf091aa256d0e715c" - integrity sha1-c8ZX51nWbP6Arh4M8JGqJW0OcVw= - dependencies: - async "~0.2.10" - loader-utils "~0.2.3" - optionalDependencies: - css-loader "^0.9.1" - file-loader "^0.8.1" - style-loader "^0.8.3" - string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -11040,7 +10017,7 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -11095,20 +10072,10 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== -style-loader@^0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - -style-loader@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.8.3.tgz#f4f92eb7db63768748f15065cd6700f5a1c85357" - integrity sha1-9Pkut9tjdodI8VBlzWcA9aHIU1c= - dependencies: - loader-utils "^0.2.5" +style-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-4.0.0.tgz#0ea96e468f43c69600011e0589cb05c44f3b17a5" + integrity sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA== styled-components@^5.3.9: version "5.3.9" @@ -11152,13 +10119,20 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -11218,10 +10192,10 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tape@^4.9.0: version "4.14.0" @@ -11244,18 +10218,6 @@ tape@^4.9.0: string.prototype.trim "~1.2.4" through "~2.3.8" -tar@^6.0.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - teex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/teex/-/teex-1.0.1.tgz#b8fa7245ef8e8effa8078281946c85ab780a0b12" @@ -11332,32 +10294,39 @@ terriajs-server@^4.0.0: request-promise "^4.0.1" yargs "^13.2.4" -terriajs-tiff-imagery-provider@2.13.3: - version "2.13.3" - resolved "https://registry.yarnpkg.com/terriajs-tiff-imagery-provider/-/terriajs-tiff-imagery-provider-2.13.3.tgz#60f0bd16fd0a661e11efd453da402c2a3d14f23a" - integrity sha512-qZ38FsYOLnxFrqxAKU/iX1/YWGGeMLOXcKNOeZIpl7JEam3tLgzWMz5NEH5Zo5L9XKR6GC+vuTShTMqZkfzy6w== +terriajs-tiff-imagery-provider@2.13.3-webpack5-3: + version "2.13.3-webpack5-3" + resolved "https://registry.yarnpkg.com/terriajs-tiff-imagery-provider/-/terriajs-tiff-imagery-provider-2.13.3-webpack5-3.tgz#d0848a2a429667ee1b73540db509c147d73f33eb" + integrity sha512-I7h+2FNz01sefKTf14V4yNn4nldJ12wDCCgrywD3jbGM0hAa9Qy2KHWgKHSvi4OELNNeP3G/vnrvLN/SMoeOAg== dependencies: geotiff "^2.0.7" -terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" - integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== +terriajs-typings-for-css-modules-loader@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/terriajs-typings-for-css-modules-loader/-/terriajs-typings-for-css-modules-loader-2.5.2.tgz#8d71cf971936569d1ec1de8516240d675c4c47a0" + integrity sha512-9jH/ONYPM3hif9ZhTKK2iosVthtiGhcpz5tG8mlCAGa0UjRAhexGSxC39kb6Kbd+5dCsVS4hHCV4p1pdLbJKeg== dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.5.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.3.4" - webpack-sources "^1.4.3" + camelcase "^5.3.1" + loader-utils "^1.4.2" + schema-utils "^2.0.1" + optionalDependencies: + prettier "*" + +terser-webpack-plugin@^5.3.10: + version "5.3.11" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz#93c21f44ca86634257cac176f884f942b7ba3832" + integrity sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ== + 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" -terser@^5.3.4: - version "5.30.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.3.tgz#f1bb68ded42408c316b548e3ec2526d7dd03f4d2" - integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA== +terser@^5.31.1: + version "5.37.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3" + integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -11379,6 +10348,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +thingies@^1.20.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/thingies/-/thingies-1.21.0.tgz#e80fbe58fd6fdaaab8fad9b67bd0a5c943c445c1" + integrity sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g== + thredds-catalog-crawler@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/thredds-catalog-crawler/-/thredds-catalog-crawler-0.0.7.tgz#67b06d5b279f8ef798cd20cb9443b05cda2388a9" @@ -11397,13 +10371,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - tiny-emitter@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" @@ -11424,16 +10391,6 @@ tmp@^0.2.1: resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -11461,7 +10418,7 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: +to-regex@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== @@ -11531,10 +10488,10 @@ traverse@^0.6.6: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= +tree-dump@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.0.2.tgz#c460d5921caeb197bde71d0e9a7b479848c5b8ac" + integrity sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ== ts-api-utils@^1.0.1: version "1.0.3" @@ -11556,20 +10513,15 @@ tslib@^1.10.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.3.0, tslib@^2.3.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tslib@^2.6.2: +tslib@^2.0.0, tslib@^2.6.2: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= +tslib@^2.3.0, tslib@^2.3.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tunnel-agent@^0.6.0: version "0.6.0" @@ -11688,6 +10640,11 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + unidecode@0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/unidecode/-/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e" @@ -11703,20 +10660,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -11740,11 +10683,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" @@ -11753,6 +10691,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580" + integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -11770,15 +10716,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== - dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" - url-slug@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/url-slug/-/url-slug-2.0.0.tgz#a789d5aed4995c0d95af33377ad1d5c68d4d7027" @@ -11794,14 +10731,6 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -11819,20 +10748,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - util@^0.12.4: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" @@ -11859,7 +10774,7 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.3.0, uuid@^8.3.2: +uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -11939,11 +10854,6 @@ vinyl@^3.0.0: replace-ext "^2.0.0" teex "^1.0.1" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - void-elements@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" @@ -11968,23 +10878,13 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== dependencies: + glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -12018,70 +10918,69 @@ webidl-conversions@^7.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== -webpack-cli@^4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" colorette "^2.0.14" - commander "^7.0.0" + commander "^10.0.1" cross-spawn "^7.0.3" + envinfo "^7.7.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" + interpret "^3.1.1" + rechoir "^0.8.0" webpack-merge "^5.7.3" -webpack-dev-middleware@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== +webpack-dev-middleware@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz#40e265a3d3d26795585cff8207630d3a8ff05877" + integrity sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA== dependencies: colorette "^2.0.10" - memfs "^3.4.3" + memfs "^4.6.0" mime-types "^2.1.31" + on-finished "^2.4.1" range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.15.2: - version "4.15.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" - integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" +webpack-dev-server@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz#68043886edaa3fd875ad20e01589990a79612f9c" + integrity sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA== + dependencies: + "@types/bonjour" "^3.5.13" + "@types/connect-history-api-fallback" "^1.5.4" + "@types/express" "^4.17.21" + "@types/serve-index" "^1.9.4" + "@types/serve-static" "^1.15.5" + "@types/sockjs" "^0.3.36" + "@types/ws" "^8.5.10" ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" + bonjour-service "^1.2.1" + chokidar "^3.6.0" colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" + express "^4.21.2" graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" + http-proxy-middleware "^2.0.7" + ipaddr.js "^2.1.0" + launch-editor "^2.6.1" + open "^10.0.3" + p-retry "^6.2.0" + schema-utils "^4.2.0" + selfsigned "^2.4.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" - webpack-dev-middleware "^5.3.4" - ws "^8.13.0" + webpack-dev-middleware "^7.4.2" + ws "^8.18.0" webpack-merge@^5.7.3: version "5.10.0" @@ -12092,42 +10991,39 @@ webpack-merge@^5.7.3: flat "^5.0.2" wildcard "^2.0.0" -webpack-sources@^1.1.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@~4.47.0: - version "4.47.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.47.0.tgz#8b8a02152d7076aeb03b61b47dad2eeed9810ebc" - integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.96.1: + version "5.97.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.97.1.tgz#972a8320a438b56ff0f1d94ade9e82eac155fa58" + integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -12251,13 +11147,13 @@ word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -worker-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac" - integrity sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw== +worker-loader@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-3.0.8.tgz#5fc5cda4a3d3163d9c274a4e3a811ce8b60dbb37" + integrity sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g== dependencies: - loader-utils "^1.0.0" - schema-utils "^0.4.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" wrap-ansi@^5.1.0: version "5.1.0" @@ -12296,7 +11192,7 @@ ws@^8.0.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.0.tgz#f05e982a0a88c604080e8581576e2a063802bed6" integrity sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ== -ws@^8.13.0: +ws@^8.18.0: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== @@ -12334,11 +11230,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -12436,6 +11327,11 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" + integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== + zstddec@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec"