From 941bccf2df039823664e2de8cc4e3ddf2cbfd3df Mon Sep 17 00:00:00 2001 From: automated-signal <37887102+automated-signal@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:04:35 -0600 Subject: [PATCH] Upgrade outdated dependencies Co-authored-by: Jamie Kyle <113370520+jamiebuilds-signal@users.noreply.github.com> --- .storybook/main.ts | 4 + ACKNOWLEDGMENTS.md | 30 +- package-lock.json | 3338 ++++------------- package.json | 88 +- patches/backbone+1.4.0.patch | 756 ---- patches/backbone+1.6.0.patch | 775 ++++ patches/proxy-agent+6.3.0.patch | 12 - ...0.patch => react-contextmenu+2.14.0.patch} | 58 +- patches/react-textarea-autosize+8.3.4.patch | 26 - patches/react-textarea-autosize+8.5.5.patch | 52 + patches/socks-proxy-agent+8.0.1.patch | 22 - stylesheets/_global.scss | 5 +- stylesheets/_options.scss | 22 +- ts/components/CompositionInput.stories.tsx | 1 + ts/components/StandaloneRegistration.tsx | 4 +- ts/components/conversation/Linkify.tsx | 2 +- ts/scripts/generate-tray-icons.ts | 1 - ts/shims/dispatchItemsMiddleware.ts | 6 +- ts/state/createStore.ts | 12 +- ts/state/reinitializeRedux.ts | 7 +- ts/state/selectors/message.ts | 2 +- ts/test-both/util/getClassNamesFor_test.ts | 1 + ts/types/LinkPreview.ts | 2 +- ts/util/generateBlurHash.ts | 34 +- ts/util/lint/exceptions.json | 531 +-- ts/windows/main/phase2-dependencies.ts | 1 + tsconfig.json | 6 +- 27 files changed, 2047 insertions(+), 3751 deletions(-) delete mode 100644 patches/backbone+1.4.0.patch create mode 100644 patches/backbone+1.6.0.patch delete mode 100644 patches/proxy-agent+6.3.0.patch rename patches/{react-contextmenu+2.11.0.patch => react-contextmenu+2.14.0.patch} (79%) delete mode 100644 patches/react-textarea-autosize+8.3.4.patch create mode 100644 patches/react-textarea-autosize+8.5.5.patch delete mode 100644 patches/socks-proxy-agent+8.0.1.patch diff --git a/.storybook/main.ts b/.storybook/main.ts index 402a3c6fb8a..61e647389f0 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -40,6 +40,10 @@ const config: StorybookConfig = { from: '../node_modules/emoji-datasource-apple/img', to: 'node_modules/emoji-datasource-apple/img', }, + { + from: '../node_modules/intl-tel-input/build/img', + to: 'node_modules/intl-tel-input/build/img', + }, ], webpackFinal(config) { diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md index c40711a8ed5..aafb3ec5751 100644 --- a/ACKNOWLEDGMENTS.md +++ b/ACKNOWLEDGMENTS.md @@ -252,7 +252,7 @@ Signal Desktop makes use of the following open source projects. ## backbone - Copyright (c) 2010-2019 Jeremy Ashkenas, DocumentCloud + Copyright (c) 2010-2024 Jeremy Ashkenas, DocumentCloud Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation @@ -1958,10 +1958,7 @@ Signal Desktop makes use of the following open source projects. The MIT License (MIT) - Copyright (c) 2016-2019 Matteo Collina, David Mark Clements and the Pino contributors - - Pino contributors listed at https://github.com/pinojs/pino#the-team and in - the README file. + Copyright (c) 2016-2024 Matteo Collina, David Mark Clements and the Pino contributors listed at https://github.com/pinojs/pino#the-team and in the README file. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2025,7 +2022,28 @@ Signal Desktop makes use of the following open source projects. ## proxy-agent - License: MIT + (The MIT License) + + Copyright (c) 2013 Nathan Rajlich + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + 'Software'), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ## qrcode-generator diff --git a/package-lock.json b/package-lock.json index 11ccd8d42a0..866a881f8d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,15 +20,15 @@ "@indutny/sneequals": "4.0.0", "@popperjs/core": "2.11.8", "@react-aria/utils": "3.25.3", - "@react-spring/web": "9.5.5", + "@react-spring/web": "9.7.5", "@signalapp/better-sqlite3": "9.0.8", "@signalapp/libsignal-client": "0.62.0", "@signalapp/ringrtc": "2.48.7", "@types/fabric": "4.5.3", - "backbone": "1.4.0", + "backbone": "1.6.0", "blob-util": "2.0.2", "blueimp-load-image": "5.16.0", - "blurhash": "1.1.3", + "blurhash": "2.0.5", "buffer": "6.0.3", "changedpi": "1.0.4", "cirbuf": "1.0.2", @@ -45,7 +45,7 @@ "fast-glob": "3.3.2", "filesize": "9.0.11", "firstline": "2.0.2", - "focus-trap-react": "8.8.1", + "focus-trap-react": "9.0.2", "form-data": "4.0.1", "fs-extra": "11.2.0", "fuse.js": "6.5.3", @@ -53,9 +53,9 @@ "got": "11.8.5", "heic-convert": "2.1.0", "humanize-duration": "3.27.1", - "intl-tel-input": "17.0.13", + "intl-tel-input": "24.7.0", "js-yaml": "4.1.0", - "linkify-it": "2.2.0", + "linkify-it": "5.0.0", "lodash": "4.17.21", "long": "5.2.3", "lru-cache": "11.0.2", @@ -71,9 +71,9 @@ "p-timeout": "4.1.0", "parchment": "1.1.4", "pify": "3.0.0", - "pino": "8.6.1", + "pino": "9.5.0", "protobufjs": "7.3.2", - "proxy-agent": "6.3.0", + "proxy-agent": "6.4.0", "qrcode-generator": "1.4.4", "quill": "1.3.7", "quill-delta": "4.0.1", @@ -81,23 +81,23 @@ "react-aria": "3.35.1", "react-aria-components": "1.4.1", "react-blurhash": "0.3.0", - "react-contextmenu": "2.11.0", + "react-contextmenu": "2.14.0", "react-dom": "17.0.2", "react-hot-loader": "4.13.1", - "react-intl": "6.1.1", + "react-intl": "6.8.7", "react-popper": "2.3.0", "react-quill": "2.0.0-beta.4", - "react-redux": "7.2.8", + "react-redux": "8.1.3", "react-router-dom": "5.0.1", - "react-textarea-autosize": "8.3.4", + "react-textarea-autosize": "8.5.5", "react-virtualized": "9.22.5", "read-last-lines": "1.8.0", - "redux": "4.1.2", + "redux": "5.0.1", "redux-logger": "3.0.6", - "redux-promise-middleware": "6.1.0", - "redux-thunk": "2.3.0", - "reselect": "4.1.2", - "sanitize.css": "11.0.0", + "redux-promise-middleware": "6.2.0", + "redux-thunk": "3.1.0", + "reselect": "5.1.1", + "sanitize.css": "13.0.0", "semver": "7.6.3", "split2": "4.2.0", "type-fest": "4.26.1", @@ -125,41 +125,39 @@ "@indutny/symbolicate-mac": "2.3.0", "@napi-rs/canvas": "0.1.61", "@signalapp/mock-server": "10.0.0", - "@storybook/addon-a11y": "8.4.3", - "@storybook/addon-actions": "8.4.3", - "@storybook/addon-controls": "8.4.3", - "@storybook/addon-interactions": "8.4.3", - "@storybook/addon-jest": "8.4.3", - "@storybook/addon-measure": "8.4.3", - "@storybook/addon-toolbars": "8.4.3", - "@storybook/addon-viewport": "8.4.3", - "@storybook/addon-webpack5-compiler-swc": "1.0.4", - "@storybook/preview-api": "8.4.3", - "@storybook/react": "8.4.3", - "@storybook/react-webpack5": "8.4.3", - "@storybook/test": "8.4.3", + "@storybook/addon-a11y": "8.4.4", + "@storybook/addon-actions": "8.4.4", + "@storybook/addon-controls": "8.4.4", + "@storybook/addon-interactions": "8.4.4", + "@storybook/addon-jest": "8.4.4", + "@storybook/addon-measure": "8.4.4", + "@storybook/addon-toolbars": "8.4.4", + "@storybook/addon-viewport": "8.4.4", + "@storybook/addon-webpack5-compiler-swc": "1.0.5", + "@storybook/preview-api": "8.4.4", + "@storybook/react": "8.4.4", + "@storybook/react-webpack5": "8.4.4", + "@storybook/test": "8.4.4", "@storybook/test-runner": "0.19.1", "@types/backbone": "1.4.22", "@types/blueimp-load-image": "5.16.6", "@types/chai": "4.3.16", "@types/chai-as-promised": "7.1.4", - "@types/classnames": "2.3.4", "@types/config": "3.3.5", "@types/dashdash": "1.14.3", "@types/debug": "4.1.12", "@types/direction": "1.0.0", "@types/fs-extra": "11.0.4", "@types/google-libphonenumber": "7.4.30", - "@types/history": "5.0.0", "@types/humanize-duration": "3.18.1", "@types/intl-tel-input": "18.1.4", "@types/js-yaml": "4.0.9", "@types/json-to-ast": "2.1.4", - "@types/linkify-it": "2.1.0", + "@types/linkify-it": "5.0.0", "@types/lodash": "4.14.106", "@types/memoizee": "0.4.11", - "@types/mocha": "9.0.0", - "@types/node": "20.14.10", + "@types/mocha": "10.0.9", + "@types/node": "20.17.6", "@types/node-fetch": "2.6.12", "@types/normalize-path": "3.0.2", "@types/pify": "5.0.4", @@ -171,11 +169,10 @@ "@types/react-redux": "7.1.34", "@types/react-router-dom": "4.3.4", "@types/react-virtualized": "9.21.30", - "@types/redux-logger": "3.0.7", + "@types/redux-logger": "3.0.13", "@types/semver": "7.5.8", "@types/sinon": "17.0.3", "@types/split2": "4.2.3", - "@types/terser-webpack-plugin": "5.2.0", "@types/unzipper": "0.10.10", "@types/uuid": "10.0.0", "@types/websocket": "1.0.0", @@ -199,10 +196,10 @@ "debug": "4.3.7", "electron": "33.1.0", "electron-builder": "24.13.3", - "electron-mocha": "12.2.0", + "electron-mocha": "13.0.1", "endanger": "7.0.4", "enquirer": "2.4.1", - "esbuild": "0.23.1", + "esbuild": "0.24.0", "eslint": "8.56.0", "eslint-config-airbnb-typescript-prettier": "5.0.0", "eslint-config-prettier": "8.5.0", @@ -217,8 +214,8 @@ "json-to-ast": "2.1.0", "log-symbols": "4.1.0", "mini-css-extract-plugin": "2.9.2", - "mocha": "9.2.2", - "node-gyp": "10.0.1", + "mocha": "10.8.2", + "node-gyp": "10.2.0", "node-gyp-build": "4.8.3", "npm-run-all": "4.1.5", "p-limit": "3.1.0", @@ -233,7 +230,7 @@ "sass": "1.80.7", "sass-loader": "16.0.3", "sinon": "19.0.2", - "storybook": "8.4.3", + "storybook": "8.4.4", "style-loader": "4.0.0", "stylelint": "16.10.0", "stylelint-config-css-modules": "4.4.0", @@ -242,9 +239,8 @@ "svgo": "3.3.2", "terser-webpack-plugin": "5.3.10", "ts-node": "10.9.2", - "typed-scss-modules": "4.1.1", - "typescript": "5.3.3", - "unzipper": "0.10.14", + "typescript": "5.6.3", + "unzipper": "0.12.3", "wait-on": "8.0.1", "webpack": "5.96.1", "webpack-cli": "5.1.4", @@ -267,9 +263,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==", "dev": true, "license": "MIT" }, @@ -1626,9 +1622,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], @@ -1851,9 +1847,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", "cpu": [ "arm64" ], @@ -2031,20 +2027,23 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz", - "integrity": "sha512-0/wm9b7brUD40kx7KSE0S532T8EfH06Zc41rGlinoNyYXnuusR6ull2x63iFJgVXgwahm42hAW7dcYdZ+llZzA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", + "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", + "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.2.31", - "tslib": "2.4.0" + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/intl-localematcher": "0.5.7", + "tslib": "2" } }, "node_modules/@formatjs/ecma402-abstract/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.31.tgz", - "integrity": "sha512-9QTjdSBpQ7wHShZgsNzNig5qT3rCPvmZogS/wXZzKotns5skbXgs0I7J8cuN0PPqXyynvNVuN+iOKhNS2eb+ZA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", + "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", + "license": "MIT", "dependencies": { - "tslib": "2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/fast-memoize": { @@ -2067,26 +2066,6 @@ "tslib": "2" } }, - "node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", - "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", - "license": "MIT", - "dependencies": { - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/icu-messageformat-parser/node_modules/@formatjs/intl-localematcher": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", - "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", - "license": "MIT", - "dependencies": { - "tslib": "2" - } - }, "node_modules/@formatjs/icu-skeleton-parser": { "version": "1.8.7", "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.7.tgz", @@ -2097,31 +2076,10 @@ "tslib": "2" } }, - "node_modules/@formatjs/icu-skeleton-parser/node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", - "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", - "license": "MIT", - "dependencies": { - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/icu-skeleton-parser/node_modules/@formatjs/intl-localematcher": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", - "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", - "license": "MIT", - "dependencies": { - "tslib": "2" - } - }, "node_modules/@formatjs/intl": { "version": "2.10.14", "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.14.tgz", "integrity": "sha512-4CA1EO75i/mSMHdjwfpgRj3Rsdsm6WjALeu/nlzYhBmAPxGu/Ha5GIRHAet5SO05TnpmqxmEGOsskWqFm0IeoA==", - "dev": true, "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.2.3", @@ -2142,39 +2100,43 @@ } }, "node_modules/@formatjs/intl-displaynames": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.1.3.tgz", - "integrity": "sha512-yBB165IH72fweGymRPrq8PQ4R5gKMR8vOj6XmkxGBICyJMhknc+RpG02g9Jsk/4jvO6qw/H0QtXHrHIg+Jv0sw==", + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.8.4.tgz", + "integrity": "sha512-HDVNBspDAOW0yTWluWTPHX2fk/9iBO4oST4R96f/IUaPGsFtjsHrpakwc+XDRPa3U5RniSEU2z34ZY0W78+E6Q==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/intl-localematcher": "0.2.31", - "tslib": "2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/intl-localematcher": "0.5.7", + "tslib": "2" } }, "node_modules/@formatjs/intl-displaynames/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.31.tgz", - "integrity": "sha512-9QTjdSBpQ7wHShZgsNzNig5qT3rCPvmZogS/wXZzKotns5skbXgs0I7J8cuN0PPqXyynvNVuN+iOKhNS2eb+ZA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", + "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", + "license": "MIT", "dependencies": { - "tslib": "2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.2.tgz", - "integrity": "sha512-WfWkJ8k41jZIhXgBtC2T1SpTSKYig99g9MVqrVRco4kduv/6GUWq1eMjk84qZfbU4rwdwc8qct+/gB6DTS17+w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.7.4.tgz", + "integrity": "sha512-lipFspH2MZcoeXxR6WSR/Jy9unzJ/iT0w+gbL8vgv25Ap0S9cUtcDVAce4ECEKI1bDtAvEU3b6+9Dha27gAikA==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/intl-localematcher": "0.2.31", - "tslib": "2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/intl-localematcher": "0.5.7", + "tslib": "2" } }, "node_modules/@formatjs/intl-listformat/node_modules/@formatjs/intl-localematcher": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.31.tgz", - "integrity": "sha512-9QTjdSBpQ7wHShZgsNzNig5qT3rCPvmZogS/wXZzKotns5skbXgs0I7J8cuN0PPqXyynvNVuN+iOKhNS2eb+ZA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", + "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", + "license": "MIT", "dependencies": { - "tslib": "2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/intl-localematcher": { @@ -2190,65 +2152,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, - "node_modules/@formatjs/intl/node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", - "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/intl/node_modules/@formatjs/intl-displaynames": { - "version": "6.8.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.8.4.tgz", - "integrity": "sha512-HDVNBspDAOW0yTWluWTPHX2fk/9iBO4oST4R96f/IUaPGsFtjsHrpakwc+XDRPa3U5RniSEU2z34ZY0W78+E6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/intl/node_modules/@formatjs/intl-listformat": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.7.4.tgz", - "integrity": "sha512-lipFspH2MZcoeXxR6WSR/Jy9unzJ/iT0w+gbL8vgv25Ap0S9cUtcDVAce4ECEKI1bDtAvEU3b6+9Dha27gAikA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" - } - }, - "node_modules/@formatjs/intl/node_modules/@formatjs/intl-localematcher": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", - "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "2" - } - }, - "node_modules/@formatjs/intl/node_modules/intl-messageformat": { - "version": "10.7.6", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.6.tgz", - "integrity": "sha512-IsMU/hqyy3FJwNJ0hxDfY2heJ7MteSuFvcnCebxRp67di4Fhx1gKKE+qS0bBwUF8yXkX9SsPUhLeX/B6h5SKUA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/icu-messageformat-parser": "2.9.3", - "tslib": "2" - } - }, "node_modules/@gitbeaker/core": { "version": "38.12.1", "resolved": "https://registry.npmjs.org/@gitbeaker/core/-/core-38.12.1.tgz", @@ -5195,26 +5098,27 @@ } }, "node_modules/@react-spring/animated": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.5.5.tgz", - "integrity": "sha512-glzViz7syQ3CE6BQOwAyr75cgh0qsihm5lkaf24I0DfU63cMm/3+br299UEYkuaHNmfDfM414uktiPlZCNJbQA==", + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.5.tgz", + "integrity": "sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==", + "license": "MIT", "dependencies": { - "@react-spring/shared": "~9.5.5", - "@react-spring/types": "~9.5.5" + "@react-spring/shared": "~9.7.5", + "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@react-spring/core": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.5.5.tgz", - "integrity": "sha512-shaJYb3iX18Au6gkk8ahaF0qx0LpS0Yd+ajb4asBaAQf6WPGuEdJsbsNSgei1/O13JyEATsJl20lkjeslJPMYA==", + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.5.tgz", + "integrity": "sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==", + "license": "MIT", "dependencies": { - "@react-spring/animated": "~9.5.5", - "@react-spring/rafz": "~9.5.5", - "@react-spring/shared": "~9.5.5", - "@react-spring/types": "~9.5.5" + "@react-spring/animated": "~9.7.5", + "@react-spring/shared": "~9.7.5", + "@react-spring/types": "~9.7.5" }, "funding": { "type": "opencollective", @@ -5225,36 +5129,40 @@ } }, "node_modules/@react-spring/rafz": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.5.5.tgz", - "integrity": "sha512-F/CLwB0d10jL6My5vgzRQxCNY2RNyDJZedRBK7FsngdCmzoq3V4OqqNc/9voJb9qRC2wd55oGXUeXv2eIaFmsw==" + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.7.5.tgz", + "integrity": "sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==", + "license": "MIT" }, "node_modules/@react-spring/shared": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.5.5.tgz", - "integrity": "sha512-YwW70Pa/YXPOwTutExHZmMQSHcNC90kJOnNR4G4mCDNV99hE98jWkIPDOsgqbYx3amIglcFPiYKMaQuGdr8dyQ==", + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.5.tgz", + "integrity": "sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==", + "license": "MIT", "dependencies": { - "@react-spring/rafz": "~9.5.5", - "@react-spring/types": "~9.5.5" + "@react-spring/rafz": "~9.7.5", + "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@react-spring/types": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.5.5.tgz", - "integrity": "sha512-7I/qY8H7Enwasxr4jU6WmtNK+RZ4Z/XvSlDvjXFVe7ii1x0MoSlkw6pD7xuac8qrHQRm9BTcbZNyeeKApYsvCg==" + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.5.tgz", + "integrity": "sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==", + "license": "MIT" }, "node_modules/@react-spring/web": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.5.5.tgz", - "integrity": "sha512-+moT8aDX/ho/XAhU+HRY9m0LVV9y9CK6NjSRaI+30Re150pB3iEip6QfnF4qnhSCQ5drpMF0XRXHgOTY/xbtFw==", + "version": "9.7.5", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.7.5.tgz", + "integrity": "sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ==", + "license": "MIT", "dependencies": { - "@react-spring/animated": "~9.5.5", - "@react-spring/core": "~9.5.5", - "@react-spring/shared": "~9.5.5", - "@react-spring/types": "~9.5.5" + "@react-spring/animated": "~9.7.5", + "@react-spring/core": "~9.7.5", + "@react-spring/shared": "~9.7.5", + "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -6281,13 +6189,13 @@ "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@storybook/addon-a11y": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.3.tgz", - "integrity": "sha512-/kKk236z2VLu0TMAabe+B03NZR+WO6ghH+7TD85fz2mqKNH2KDGjDlVSooZzLIH60Kti2lp23NZJjhUqCUhD4Q==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.4.tgz", + "integrity": "sha512-xXNOG4Bw/v8rg2Zq/ZJnZSLWfpfkfnZjn0sQVLOe5JcDxavkh5o+WvQ6Tc2w/kK/ophCd7nbTotywrtdQYGNKw==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/addon-highlight": "8.4.3", + "@storybook/addon-highlight": "8.4.4", "axe-core": "^4.2.0" }, "funding": { @@ -6295,13 +6203,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-actions": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.3.tgz", - "integrity": "sha512-3lPiMszzxi7YWouIiWSLELCQNFLY2ABmD7O1u2+i/0ZXZZeHqIrhdNoVCj9j0qMisAe9neYzDWLfyKX5yv226g==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.4.tgz", + "integrity": "sha512-+Dd6alcieS6UN7IKhXLuhyQYQMu9HG/Tdr790a4EOQKpJM1NxIMuPuUH3fAoKfa9VhtI1BxTBr7zNtzg9Akqhg==", "dev": true, "license": "MIT", "dependencies": { @@ -6316,7 +6224,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-actions/node_modules/@types/uuid": { @@ -6339,9 +6247,9 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.3.tgz", - "integrity": "sha512-KPX1IxI60C0iLNYlkGVuRT+YKbSdbdy//pc2eDHWktxY0TnDymc3VWaSxNvIOpZK8N7ut1/UP/qb+sH/ckW7SA==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.4.tgz", + "integrity": "sha512-FbZRbwJQggLz6M3zB6scCp1SDGwQ5zdiD6sjBilZzgGO5rBFqG0A8PoOyr4iPrLU2y/NZBdRrJBD+6MkaJ+yzw==", "dev": true, "license": "MIT", "dependencies": { @@ -6354,13 +6262,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-highlight": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.3.tgz", - "integrity": "sha512-MfBvokTJkbynHBceA2SgvFvS7Tpdv6FxzSZbeVtJHyYBqXrobj8llpo4n2IqAo/f3otcapN64wK82Jl4u8dYVg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.4.tgz", + "integrity": "sha512-k7EUxiMe8RCasmgfa6ZKx7UG6kU9RooTYGwqY5TG5xAQOzDwKn4qom+OYkT/9/6lORhJrUe2GgQLCrq/WGpS1A==", "dev": true, "license": "MIT", "dependencies": { @@ -6371,19 +6279,19 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-interactions": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.4.3.tgz", - "integrity": "sha512-PLc5qM5/CtVcSSVmoyS+dgJNvLN3Z99PwcbDb7y0a2/tSd+LGQ6pEB02OtHWyJepkzKulMV7k9SwpywD2XsToA==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.4.4.tgz", + "integrity": "sha512-izqcc6tY0BiKW7DYrEnoXUEH9FYDPWNfQnqqE0nVBv3BS2DoNmm8M9SB8fZx7pPfw53cMJBGt3vrlY0Wtxy1+Q==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.4.3", - "@storybook/test": "8.4.3", + "@storybook/instrumenter": "8.4.4", + "@storybook/test": "8.4.4", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -6392,13 +6300,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-jest": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-jest/-/addon-jest-8.4.3.tgz", - "integrity": "sha512-y8V3bs2Mxlugl1T4Skb2Go2Y3VKREbtG4jUZcLq/a8zkNXwdHlul8AuDLUGZJxrtv9+ilr8+/lSc8CZeWNzrLg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-jest/-/addon-jest-8.4.4.tgz", + "integrity": "sha512-SBB+iBlX9t/rYUVn23qwvTgyEFic1hkpvCTQnMB/vQ6HA6ZM4RKk9HC9+NVfmUUTW5pdcITAd5YNf1v0GrLWVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6412,13 +6320,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-measure": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.4.3.tgz", - "integrity": "sha512-R9m71P6LDNr7cUtDgWWPBRB/GQfv8hdDjWbD/HfqPkGi49RtBXf/zzFr7OrzgwaT9A73VEM74FGOhCZyHz5Qtg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.4.4.tgz", + "integrity": "sha512-KsjrwrXwrI+z7hKKfjyY1w1b0gLSLZmp15vIRJMELybWV0+4bZFLJGwMBOQFx+aWBED8yZrRV9OjTmoczawsZg==", "dev": true, "license": "MIT", "dependencies": { @@ -6430,13 +6338,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-toolbars": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.3.tgz", - "integrity": "sha512-lW7p7VPeUDIqS0RAXY4yRQ4LCQWGzGdw64moU20NpeVfedfDc4EeCisLD54sU/xA6kMnxoFNYsdHfpkHvJA/Cg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.4.tgz", + "integrity": "sha512-ENPshJMDpfzOJ4Tgm1hSzQoaEmgDxCtP6C8LKk4MOd3X92MJ7p6kfb3y3R1BLg4E/g90qp6lKPFdcohS2tKCgQ==", "dev": true, "license": "MIT", "funding": { @@ -6444,13 +6352,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-viewport": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.3.tgz", - "integrity": "sha512-KUstpUx++5cWXMXlz9jBhM6qDW9rwtKMvTyJV24TmhYIDmynset2ILRknIqLbVdBixop40+I67O3SF/ydU4E0w==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.4.tgz", + "integrity": "sha512-SRHJlLhf3tu7+sYNfVIYTeMegn6aiv4HGX97ZLvL76NWWBU8BntQ1LKMki7475mWiZNUFMoYYPsHlG+HU9FAtg==", "dev": true, "license": "MIT", "dependencies": { @@ -6461,237 +6369,31 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/addon-webpack5-compiler-swc": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@storybook/addon-webpack5-compiler-swc/-/addon-webpack5-compiler-swc-1.0.4.tgz", - "integrity": "sha512-S/ypdAK9oqwUAt3ZOn44qi3RWdH5uBLbBgtfHSXckqTpQRu7F7A9bRzjK+H5ti4xVADRhxu/xzIBwxWgcCeIXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-webpack5-compiler-swc/-/addon-webpack5-compiler-swc-1.0.5.tgz", + "integrity": "sha512-1NlM3noit2vA22OyWb8Ma2lhcEKCS1Snv2kr+EkaVABUqNDfVc9AD/GgYQhF7F/2CoF5N2JU7uzXDzFHd5TzZg==", "dev": true, + "license": "MIT", "dependencies": { - "@swc/core": "1.5.7", + "@swc/core": "^1.7.3", "swc-loader": "^0.2.3" }, "engines": { "node": ">=18" } }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.7.tgz", - "integrity": "sha512-U4qJRBefIJNJDRCCiVtkfa/hpiZ7w0R6kASea+/KLp+vkus3zcLSB8Ub8SvKgTIxjWpwsKcZlPf5nrv4ls46SQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "0.1.7" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.5.7", - "@swc/core-darwin-x64": "1.5.7", - "@swc/core-linux-arm-gnueabihf": "1.5.7", - "@swc/core-linux-arm64-gnu": "1.5.7", - "@swc/core-linux-arm64-musl": "1.5.7", - "@swc/core-linux-x64-gnu": "1.5.7", - "@swc/core-linux-x64-musl": "1.5.7", - "@swc/core-win32-arm64-msvc": "1.5.7", - "@swc/core-win32-ia32-msvc": "1.5.7", - "@swc/core-win32-x64-msvc": "1.5.7" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-darwin-arm64": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.7.tgz", - "integrity": "sha512-bZLVHPTpH3h6yhwVl395k0Mtx8v6CGhq5r4KQdAoPbADU974Mauz1b6ViHAJ74O0IVE5vyy7tD3OpkQxL/vMDQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-darwin-x64": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.7.tgz", - "integrity": "sha512-RpUyu2GsviwTc2qVajPL0l8nf2vKj5wzO3WkLSHAHEJbiUZk83NJrZd1RVbEknIMO7+Uyjh54hEh8R26jSByaw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.7.tgz", - "integrity": "sha512-cTZWTnCXLABOuvWiv6nQQM0hP6ZWEkzdgDvztgHI/+u/MvtzJBN5lBQ2lue/9sSFYLMqzqff5EHKlFtrJCA9dQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.7.tgz", - "integrity": "sha512-hoeTJFBiE/IJP30Be7djWF8Q5KVgkbDtjySmvYLg9P94bHg9TJPSQoC72tXx/oXOgXvElDe/GMybru0UxhKx4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-linux-arm64-musl": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.7.tgz", - "integrity": "sha512-+NDhK+IFTiVK1/o7EXdCeF2hEzCiaRSrb9zD7X2Z7inwWlxAntcSuzZW7Y6BRqGQH89KA91qYgwbnjgTQ22PiQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-linux-x64-gnu": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.7.tgz", - "integrity": "sha512-25GXpJmeFxKB+7pbY7YQLhWWjkYlR+kHz5I3j9WRl3Lp4v4UD67OGXwPe+DIcHqcouA1fhLhsgHJWtsaNOMBNg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-linux-x64-musl": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.7.tgz", - "integrity": "sha512-0VN9Y5EAPBESmSPPsCJzplZHV26akC0sIgd3Hc/7S/1GkSMoeuVL+V9vt+F/cCuzr4VidzSkqftdP3qEIsXSpg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.7.tgz", - "integrity": "sha512-RtoNnstBwy5VloNCvmvYNApkTmuCe4sNcoYWpmY7C1+bPR+6SOo8im1G6/FpNem8AR5fcZCmXHWQ+EUmRWJyuA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.7.tgz", - "integrity": "sha512-Xm0TfvcmmspvQg1s4+USL3x8D+YPAfX2JHygvxAnCJ0EHun8cm2zvfNBcsTlnwYb0ybFWXXY129aq1wgFC9TpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/core-win32-x64-msvc": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.7.tgz", - "integrity": "sha512-tp43WfJLCsKLQKBmjmY/0vv1slVywR5Q4qKjF5OIY8QijaEW7/8VwPyUyVoJZEnDgv9jKtUTG5PzqtIYPZGnyg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-webpack5-compiler-swc/node_modules/@swc/types": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.7.tgz", - "integrity": "sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==", - "dev": true, - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, "node_modules/@storybook/builder-webpack5": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.3.tgz", - "integrity": "sha512-Ji5FrIo5WYpwXIdflCIfYEvM8oJuITXFXjEC8dLahEKJnbRmqQoxMoVxxJWmybBZ2xjSatdPV/aud1sz1wa7Ow==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.4.tgz", + "integrity": "sha512-I7SmGngtGc/WA44UkG3sCyYtGXVjTpPe42umf70n5EVaHRvtmXCxfL41C1y3CIfEMAfF36gOFm7rEJROIO5NyA==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/core-webpack": "8.4.3", + "@storybook/core-webpack": "8.4.4", "@types/node": "^22.0.0", "@types/semver": "^7.3.4", "browser-assert": "^1.2.1", @@ -6722,7 +6424,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" }, "peerDependenciesMeta": { "typescript": { @@ -6806,6 +6508,26 @@ } } }, + "node_modules/@storybook/builder-webpack5/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/@storybook/builder-webpack5/node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", @@ -6823,13 +6545,6 @@ "webpack": "^5.0.0" } }, - "node_modules/@storybook/builder-webpack5/node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.3.tgz", @@ -6859,26 +6574,6 @@ } } }, - "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/@storybook/channels": { "version": "8.1.11", "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.1.11.tgz", @@ -6910,9 +6605,9 @@ } }, "node_modules/@storybook/components": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.3.tgz", - "integrity": "sha512-5+krpYrKC0aLUlkfhKLR78Yrai0S9AP7SR3jXMpyuWIny0fIKn+Ak2IQ721A6RGW+zP02GR6/wLHI+A7CDpcAg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.4.tgz", + "integrity": "sha512-0BSZVmsk23C0BSRKx3liZSVQFXtoF86XQFdNQxjrXIwdHIEN7TcL3DwcxeVUU5ilGp7HeDgAydGNIPGgTeEe6g==", "dev": true, "license": "MIT", "funding": { @@ -6924,9 +6619,9 @@ } }, "node_modules/@storybook/core": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.3.tgz", - "integrity": "sha512-Ly4sR2gU2Xxu+O0qR4RJpq+Bs45Kv0JPlzdkoTDKQD8B2ozRAdvQLgBHjnBbUYw9jUPzC96uusqTJIBxIdBi7w==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.4.tgz", + "integrity": "sha512-WjTmJpsHsFCd7tQ/8jFpDWjhntauXcWYYTcEZk56Pq4miyNrrXhV0S80Gxv3Uvzk0jocgtT2AKf8rQuH2UkQEg==", "dev": true, "license": "MIT", "dependencies": { @@ -7169,9 +6864,9 @@ } }, "node_modules/@storybook/core-webpack": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.3.tgz", - "integrity": "sha512-UWHXtEibKwYA62J3GYDKRUkWaU18EsALE4IvakconVTKnpV+YrnXezpT0AgxJzhVZqEVFKaaVhhYw212tyycQg==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.4.tgz", + "integrity": "sha512-JeODT64uRJDH0o/ZOAAZHJswBkTYd2u9AdGyAzjp16KRK2NcHM2iUMNT94lOlCYzshvRVqPFVxbNmaL16/K0Ag==", "dev": true, "license": "MIT", "dependencies": { @@ -7183,7 +6878,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/core-webpack/node_modules/@types/node": { @@ -7196,13 +6891,6 @@ "undici-types": "~6.19.8" } }, - "node_modules/@storybook/core-webpack/node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, "node_modules/@storybook/csf": { "version": "0.1.11", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", @@ -7253,9 +6941,9 @@ "dev": true }, "node_modules/@storybook/instrumenter": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.3.tgz", - "integrity": "sha512-jEMi3CFlyeMQv6V/WWPnL10Qgqn5j03pXXnfLylGcrvLnl1pa1A6sDWqeB6XR2L1HuW96XelkMecCvp5pYXAdQ==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.4.tgz", + "integrity": "sha512-mq/YVEZrB8jyyio2Of01rQixsQ72z8ssAhJS9ldIlK+cvERQi0VBCpH3pejPmjOB40yiKBJHNqH4HIANVhibgw==", "dev": true, "license": "MIT", "dependencies": { @@ -7267,13 +6955,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/manager-api": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.3.tgz", - "integrity": "sha512-b09FHQLHrc3VGdodgV+EkA6V8VhpgadygDn9aVIXUULHXMQCfzzsSK9kiunFGVjH5r4BtdanucBXoBRFAi9D/g==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.4.tgz", + "integrity": "sha512-rmNPcbEyzakEHoaecUbhkW7WWOkyZ0z7ywH4d5/s0ZuQS57Px2N+ZLVgRJwYK+YNHiJYqDf1BTln9YJ/Mt1L6Q==", "dev": true, "license": "MIT", "funding": { @@ -7295,14 +6983,14 @@ } }, "node_modules/@storybook/preset-react-webpack": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.3.tgz", - "integrity": "sha512-VHP8Z+xvzAp7vaq0LHJoGll5wtRfKpkY4Fudwch8Pj1gg5rkouB9fOMdEQjFr6+QOZxnl8fC8/4f3yalAQ81+A==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.4.tgz", + "integrity": "sha512-sCuTZ/zbEWfTYy2cyDUHVDLIEKYFmFPhGDbQLk1D4MEXZsVQqBx7H0yaG9GqB7swvED+XIgQeZTeUA/lTq41fg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/core-webpack": "8.4.3", - "@storybook/react": "8.4.3", + "@storybook/core-webpack": "8.4.4", + "@storybook/react": "8.4.4", "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", "@types/node": "^22.0.0", "@types/semver": "^7.3.4", @@ -7324,7 +7012,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.3" + "storybook": "^8.4.4" }, "peerDependenciesMeta": { "typescript": { @@ -7367,17 +7055,10 @@ "node": ">=6" } }, - "node_modules/@storybook/preset-react-webpack/node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, "node_modules/@storybook/preview-api": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.3.tgz", - "integrity": "sha512-SQPiGJ5iNk/RMZTfTQZe27MaZz16XfIgb1GTDWuaSrDBWVcelHRCZdh8Ps+9X5Mre6GeZ9wMQ56l+hQf/DO9Ug==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.4.tgz", + "integrity": "sha512-iZrWQcjRBqBHFdDXVxGpw6mHBZMCMYqhWXdyJ0d1S2y3PwcfOjkcXlQ1UiAenFHlA6dKrcYw8luKUQTL9bKReA==", "dev": true, "license": "MIT", "funding": { @@ -7389,18 +7070,18 @@ } }, "node_modules/@storybook/react": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.4.3.tgz", - "integrity": "sha512-Dz7Kt81lGjS+b4LLOKyLK5Ifp9ZzfD0pwOM2r5QYuBcD5b1I4I6gpRoTfQI/dI6bk5WevVqeOZ2iigZAnaXNGw==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.4.4.tgz", + "integrity": "sha512-92lGnRcAI2qW6zH8GMBScyXmOS1ANI8ZuSP4ExQj+lGsCrAr7PBr0wuHy3wIn1YyAvQGPUn/mpYrmMz08c2HfA==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/components": "8.4.3", + "@storybook/components": "8.4.4", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "8.4.3", - "@storybook/preview-api": "8.4.3", - "@storybook/react-dom-shim": "8.4.3", - "@storybook/theming": "8.4.3" + "@storybook/manager-api": "8.4.4", + "@storybook/preview-api": "8.4.4", + "@storybook/react-dom-shim": "8.4.4", + "@storybook/theming": "8.4.4" }, "engines": { "node": ">=18.0.0" @@ -7410,10 +7091,10 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "@storybook/test": "8.4.3", + "@storybook/test": "8.4.4", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.3", + "storybook": "^8.4.4", "typescript": ">= 4.2.x" }, "peerDependenciesMeta": { @@ -7446,9 +7127,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.3.tgz", - "integrity": "sha512-0zFfPJsDzqEMXk6CEHOIPRR8BcST/X4UbZDZmQBVrzOlmJWdyx1nFK7BT9bbJvb6N9v2Qy6yHL3b2wzZqkDezA==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.4.tgz", + "integrity": "sha512-kufv2FDK3kjADBo+/aKHsUn9T5E4p9IBAmCoIvXBGRDumPRds7Pt3MB4ODKlg+IumR7LMEq0jTJkn27ZRTuUmw==", "dev": true, "license": "MIT", "funding": { @@ -7458,19 +7139,19 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/react-webpack5": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.4.3.tgz", - "integrity": "sha512-DlRuEKbkRllvu7np2x1VWkXlEQTa9YKzXp85nfodEvr/gStjgIfu30CerZNzGHJHr9GNJ4jyhQy66oiDGwrY5A==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.4.4.tgz", + "integrity": "sha512-58dxE92h/JZO3xKl88BbEJ165UVCazX9oWd5si+V2GoeqKilVsVM9EMLv5sZY+9blv+lxrZdkykHDeIrcXVxOg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/builder-webpack5": "8.4.3", - "@storybook/preset-react-webpack": "8.4.3", - "@storybook/react": "8.4.3", + "@storybook/builder-webpack5": "8.4.4", + "@storybook/preset-react-webpack": "8.4.4", + "@storybook/react": "8.4.4", "@types/node": "^22.0.0" }, "engines": { @@ -7483,7 +7164,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.3", + "storybook": "^8.4.4", "typescript": ">= 4.2.x" }, "peerDependenciesMeta": { @@ -7502,23 +7183,16 @@ "undici-types": "~6.19.8" } }, - "node_modules/@storybook/react-webpack5/node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, "node_modules/@storybook/test": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.3.tgz", - "integrity": "sha512-R4KMIZE4S7GyFE4AFD9FESv2Ws406lsg9GFrBaiJGrzOlRKe5yJ7w1MWOu76UclqRNlQHzaEOnOE6lEHVISsDQ==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.4.tgz", + "integrity": "sha512-tmJd+lxl3MC0Xdu1KW/69V8tibv98OvdopxGqfVR0x5dkRHM3sFK/tv1ZJAUeronlvRyhGySOu1tHUrMjcNqyA==", "dev": true, "license": "MIT", "dependencies": { "@storybook/csf": "^0.1.11", "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.4.3", + "@storybook/instrumenter": "8.4.4", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/user-event": "14.5.2", @@ -7530,7 +7204,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.3" + "storybook": "^8.4.4" } }, "node_modules/@storybook/test-runner": { @@ -7571,9 +7245,9 @@ } }, "node_modules/@storybook/theming": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.3.tgz", - "integrity": "sha512-ORQY2/C488ur5NkQYes6x+fO5rcyRMyh4uX3DlkNhCsA2CJ/Ik3WVGjprrDuLn+9S4+mtXfVUNfvN7xszlT1oA==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.4.tgz", + "integrity": "sha512-iq4yt3Fx35ZV5owNC//E6G+QPV19xHHVN2Ugi3p7KOSFK3chuXX9mxZ1rfir+t+U30a5EPOEnlsY3/1LXn7aTw==", "dev": true, "license": "MIT", "funding": { @@ -7600,15 +7274,15 @@ } }, "node_modules/@swc/core": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.5.tgz", - "integrity": "sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.9.2.tgz", + "integrity": "sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.9" + "@swc/types": "^0.1.15" }, "engines": { "node": ">=10" @@ -7618,16 +7292,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.6.5", - "@swc/core-darwin-x64": "1.6.5", - "@swc/core-linux-arm-gnueabihf": "1.6.5", - "@swc/core-linux-arm64-gnu": "1.6.5", - "@swc/core-linux-arm64-musl": "1.6.5", - "@swc/core-linux-x64-gnu": "1.6.5", - "@swc/core-linux-x64-musl": "1.6.5", - "@swc/core-win32-arm64-msvc": "1.6.5", - "@swc/core-win32-ia32-msvc": "1.6.5", - "@swc/core-win32-x64-msvc": "1.6.5" + "@swc/core-darwin-arm64": "1.9.2", + "@swc/core-darwin-x64": "1.9.2", + "@swc/core-linux-arm-gnueabihf": "1.9.2", + "@swc/core-linux-arm64-gnu": "1.9.2", + "@swc/core-linux-arm64-musl": "1.9.2", + "@swc/core-linux-x64-gnu": "1.9.2", + "@swc/core-linux-x64-musl": "1.9.2", + "@swc/core-win32-arm64-msvc": "1.9.2", + "@swc/core-win32-ia32-msvc": "1.9.2", + "@swc/core-win32-x64-msvc": "1.9.2" }, "peerDependencies": { "@swc/helpers": "*" @@ -7639,9 +7313,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.5.tgz", - "integrity": "sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.2.tgz", + "integrity": "sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==", "cpu": [ "arm64" ], @@ -7656,9 +7330,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.6.5.tgz", - "integrity": "sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.9.2.tgz", + "integrity": "sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==", "cpu": [ "x64" ], @@ -7673,9 +7347,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.5.tgz", - "integrity": "sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.2.tgz", + "integrity": "sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==", "cpu": [ "arm" ], @@ -7690,9 +7364,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.5.tgz", - "integrity": "sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.2.tgz", + "integrity": "sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==", "cpu": [ "arm64" ], @@ -7707,9 +7381,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.5.tgz", - "integrity": "sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.2.tgz", + "integrity": "sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==", "cpu": [ "arm64" ], @@ -7724,9 +7398,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.5.tgz", - "integrity": "sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.2.tgz", + "integrity": "sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==", "cpu": [ "x64" ], @@ -7741,9 +7415,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.5.tgz", - "integrity": "sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.2.tgz", + "integrity": "sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==", "cpu": [ "x64" ], @@ -7758,9 +7432,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.5.tgz", - "integrity": "sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.2.tgz", + "integrity": "sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==", "cpu": [ "arm64" ], @@ -7775,9 +7449,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.5.tgz", - "integrity": "sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.2.tgz", + "integrity": "sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==", "cpu": [ "ia32" ], @@ -7792,9 +7466,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.5.tgz", - "integrity": "sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.2.tgz", + "integrity": "sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==", "cpu": [ "x64" ], @@ -7847,9 +7521,9 @@ } }, "node_modules/@swc/types": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.9.tgz", - "integrity": "sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==", + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.15.tgz", + "integrity": "sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7934,6 +7608,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12", "npm": ">=6" @@ -7955,7 +7630,8 @@ "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" }, "node_modules/@trysound/sax": { "version": "0.2.0", @@ -8145,17 +7821,6 @@ "@types/chai": "*" } }, - "node_modules/@types/classnames": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.4.tgz", - "integrity": "sha512-dwmfrMMQb9ujX1uYGvB5ERDlOzBNywnZAZBtOe107/hORWP05ESgU4QyaanZMWYYfd2BzrG78y13/Bju8IQcMQ==", - "deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "classnames": "*" - } - }, "node_modules/@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", @@ -8212,6 +7877,13 @@ "integrity": "sha512-et1wmqXm/5smJ8lTJfBnwD12/2Y7eVJLKbuaRT0h2xaKAoo1h8Dz2Io22GObDLFwxY1ddXRTLH3Gq5v44Fl/2w==", "dev": true }, + "node_modules/@types/doctrine": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", + "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/emscripten": { "version": "1.39.8", "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.8.tgz", @@ -8459,10 +8131,11 @@ } }, "node_modules/@types/linkify-it": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-2.1.0.tgz", - "integrity": "sha512-Q7DYAOi9O/+cLLhdaSvKdaumWyHbm7HAk/bFwwyTuU0arR5yyCeW5GOoqt4tJTpDRxhpx9Q8kQL6vMpuw9hDSw==", - "dev": true + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true, + "license": "MIT" }, "node_modules/@types/lodash": { "version": "4.14.106", @@ -8480,12 +8153,6 @@ "@types/mdurl": "*" } }, - "node_modules/@types/markdown-it/node_modules/@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true - }, "node_modules/@types/mdast": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", @@ -8509,10 +8176,11 @@ "license": "MIT" }, "node_modules/@types/mocha": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", - "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", - "dev": true + "version": "10.0.9", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.9.tgz", + "integrity": "sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q==", + "dev": true, + "license": "MIT" }, "node_modules/@types/ms": { "version": "0.7.31", @@ -8521,11 +8189,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "version": "20.17.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz", + "integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/node-fetch": { @@ -8637,6 +8306,7 @@ "version": "7.1.34", "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.34.tgz", "integrity": "sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==", + "dev": true, "license": "MIT", "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", @@ -8645,6 +8315,16 @@ "redux": "^4.0.0" } }, + "node_modules/@types/react-redux/node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, "node_modules/@types/react-router": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.0.3.tgz", @@ -8678,24 +8358,13 @@ } }, "node_modules/@types/redux-logger": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.7.tgz", - "integrity": "sha512-oV9qiCuowhVR/ehqUobWWkXJjohontbDGLV88Be/7T4bqMQ3kjXwkFNL7doIIqlbg3X2PC5WPziZ8/j/QHNQ4A==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/redux-logger/-/redux-logger-3.0.13.tgz", + "integrity": "sha512-jylqZXQfMxahkuPcO8J12AKSSCQngdEWQrw7UiLUJzMBcv1r4Qg77P6mjGLjM27e5gFQDPD8vwUMJ9AyVxFSsg==", "dev": true, + "license": "MIT", "dependencies": { - "redux": "^3.6.0" - } - }, - "node_modules/@types/redux-logger/node_modules/redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", - "dev": true, - "dependencies": { - "lodash": "^4.2.1", - "lodash-es": "^4.2.1", - "loose-envify": "^1.1.0", - "symbol-observable": "^1.0.3" + "redux": "^5.0.0" } }, "node_modules/@types/resolve": { @@ -8820,17 +8489,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/terser-webpack-plugin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/terser-webpack-plugin/-/terser-webpack-plugin-5.2.0.tgz", - "integrity": "sha512-iHDR2pRfFjGyDqCALX2tgUgFtGoQf2AJhKpC2XD1IMBQVJF2bny6WChGRDKj9eaZJl4F2RmvBhxJNtVPj7aTRw==", - "deprecated": "This is a stub types definition. terser-webpack-plugin provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "terser-webpack-plugin": "*" - } - }, "node_modules/@types/underscore": { "version": "1.10.14", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.10.14.tgz", @@ -8853,6 +8511,12 @@ "@types/node": "*" } }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "license": "MIT" + }, "node_modules/@types/uuid": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", @@ -9455,12 +9119,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -9982,9 +9640,10 @@ } }, "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -9992,27 +9651,6 @@ "node": ">= 14" } }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/aggregate-error": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", @@ -10091,10 +9729,11 @@ "dev": true }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -10693,6 +10332,18 @@ "node": "*" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -10755,6 +10406,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -11195,9 +10847,10 @@ } }, "node_modules/backbone": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", - "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.6.0.tgz", + "integrity": "sha512-13PUjmsgw/49EowNcQvfG4gmczz1ximTMhUktj0Jfrjth0MVaTxehpU+qYYX4MxnuIuhmvBLC6/ayxuAGnOhbA==", + "license": "MIT", "dependencies": { "underscore": ">=1.8.3" } @@ -11256,9 +10909,10 @@ "dev": true }, "node_modules/basic-ftp": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", - "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -11300,15 +10954,6 @@ "node": ">=12.0.0" } }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -11317,19 +10962,6 @@ "node": "*" } }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", - "dev": true, - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -11429,9 +11061,10 @@ "license": "MIT" }, "node_modules/blurhash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-1.1.3.tgz", - "integrity": "sha512-yUhPJvXexbqbyijCIE/T2NCXcj9iNPhWmOKbPTuR/cm7Q5snXYIfnVnz6m7MWOXxODMz/Cr3UcVkRdHiuDVRDw==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", + "integrity": "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w==", + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.2", @@ -11663,24 +11296,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", - "dev": true, - "engines": { - "node": ">=0.2.0" - } - }, "node_modules/bufferutil": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", @@ -12184,18 +11799,6 @@ "chai": ">= 2.1.2 < 5" } }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", - "dev": true, - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -13284,462 +12887,6 @@ } } }, - "node_modules/css-modules-loader-core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", - "integrity": "sha512-XWOBwgy5nwBn76aA+6ybUGL/3JBnCtBX9Ay9/OWIpzKYWlVHMazvJ+WtHumfi+xxdPF440cWK7JCYtt8xDifew==", - "dev": true, - "dependencies": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.1", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/css-modules-loader-core/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/css-modules-loader-core/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", - "integrity": "sha512-VbGX1LQgQbf9l3cZ3qbUuC3hGqIEOGQFHAEHQ/Diaeo0yLgpgK5Rb8J+OcamIfQ9PbAU/fzBjVtQX3AhJHUvZw==", - "dev": true, - "dependencies": { - "chalk": "^1.1.3", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha512-zF9+UIEvtpeqMGxhpeT9XaIevQSrBBCz9fi7SwfkmjVacsSj8DY5eFVgn+wY8I9vvdDDwK5xC8Myq4UkoLFIkA==", - "dev": true, - "dependencies": { - "postcss": "^6.0.1" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-extract-imports/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==", - "dev": true, - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-local-by-default/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==", - "dev": true, - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-scope/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==", - "dev": true, - "dependencies": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", - "dev": true, - "dependencies": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss-modules-values/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-modules-loader-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", - "dev": true, - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -13811,26 +12958,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha512-hdt7t8U5UYaieb0BcK+1wosGqzyLQTgy8cvfzwIYk9RLZ2SuMMuIC5rXINM2dBE2aF+5S+4oft7hh/2qY0ahKw==", - "dev": true, - "dependencies": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - } - }, - "node_modules/css-selector-tokenizer/node_modules/cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha512-72avb2vCIsNDBlSMYuxt2Cmg6Z4TTGqifblGs7IXGihhuEzghCb9Pu1Y6vzVPLC03OTXnAKsTm92ChZd4uzVBQ==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - } - }, "node_modules/css-tree": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", @@ -14166,9 +13293,10 @@ } }, "node_modules/data-uri-to-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", - "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", "engines": { "node": ">= 14" } @@ -14177,7 +13305,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -14361,6 +13488,7 @@ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -14386,6 +13514,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", @@ -14395,17 +13524,6 @@ "node": ">= 14" } }, - "node_modules/degenerator/node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -14481,10 +13599,11 @@ "dev": true }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -14889,14 +14008,15 @@ "integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw==" }, "node_modules/electron-mocha": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-12.2.0.tgz", - "integrity": "sha512-AY2UIcASNwfi3XoFftzUJA40HoML+WDLAbPUC8XkWOLXzyG4TLAyHGPyxLm8VovWZUuP/3yi3OPzkM0xEncw/Q==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-13.0.1.tgz", + "integrity": "sha512-Ik7clwPU9WUYGsEsyryKhS6q+rmecNTqMqSbx3vGel7Lo6haipgscdTMdkaWGkvgVaBJFWsDWIBuFWNvlCL+og==", "dev": true, + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1", "electron-window": "^0.8.0", - "mocha": "^10.2.0", + "mocha": "^10.7.0", "which": "^4.0.0", "yargs": "^17.7.2" }, @@ -14907,84 +14027,6 @@ "node": ">= 16.0.0" } }, - "node_modules/electron-mocha/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/electron-mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/electron-mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/electron-mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/electron-mocha/node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/electron-mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/electron-mocha/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -14994,112 +14036,6 @@ "node": ">=16" } }, - "node_modules/electron-mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-mocha/node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/electron-mocha/node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-mocha/node_modules/mocha/node_modules/yargs/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-mocha/node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/electron-mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/electron-mocha/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -15115,30 +14051,6 @@ "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/electron-mocha/node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "node_modules/electron-mocha/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/electron-publish": { "version": "24.13.1", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.13.1.tgz", @@ -15612,9 +14524,9 @@ } }, "node_modules/esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15625,30 +14537,30 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" } }, "node_modules/esbuild-register": { @@ -15690,9 +14602,9 @@ "license": "MIT" }, "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", "cpu": [ "ppc64" ], @@ -15707,9 +14619,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", "cpu": [ "arm" ], @@ -15724,9 +14636,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", "cpu": [ "arm64" ], @@ -15741,9 +14653,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", "cpu": [ "x64" ], @@ -15758,9 +14670,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", "cpu": [ "x64" ], @@ -15775,9 +14687,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", "cpu": [ "arm64" ], @@ -15792,9 +14704,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", "cpu": [ "x64" ], @@ -15809,9 +14721,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", "cpu": [ "arm" ], @@ -15826,9 +14738,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", "cpu": [ "arm64" ], @@ -15843,9 +14755,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", "cpu": [ "ia32" ], @@ -15860,9 +14772,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", "cpu": [ "loong64" ], @@ -15877,9 +14789,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", "cpu": [ "mips64el" ], @@ -15894,9 +14806,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", "cpu": [ "ppc64" ], @@ -15911,9 +14823,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", "cpu": [ "riscv64" ], @@ -15928,9 +14840,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", "cpu": [ "s390x" ], @@ -15945,9 +14857,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", "cpu": [ "x64" ], @@ -15962,9 +14874,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", "cpu": [ "x64" ], @@ -15979,9 +14891,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", "cpu": [ "x64" ], @@ -15996,9 +14908,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", "cpu": [ "x64" ], @@ -16013,9 +14925,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", "cpu": [ "arm64" ], @@ -16030,9 +14942,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", "cpu": [ "ia32" ], @@ -16047,9 +14959,9 @@ } }, "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", "cpu": [ "x64" ], @@ -16095,6 +15007,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -16970,6 +15883,7 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -17438,12 +16352,6 @@ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, - "node_modules/fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha512-rAsw6GG6EgEehUbofs7Aq5RZTJ8qGAVcujXrbf5CjJbk4Vo75IFlqkMamG4bbKwIWAvyQpAZ/CpW9tEj0eaTHQ==", - "dev": true - }, "node_modules/fastq": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", @@ -17766,24 +16674,27 @@ "license": "ISC" }, "node_modules/focus-trap": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.7.1.tgz", - "integrity": "sha512-a6czHbT9twVpy2RpkWQA9vIgwQgB9Nx1PIxNNUxQT4nugG/3QibwxO+tWTh9i+zSY2SFiX4pnYhTaFaQF/6ZAg==", + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", + "integrity": "sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==", + "license": "MIT", "dependencies": { - "tabbable": "^5.2.1" + "tabbable": "^5.3.3" } }, "node_modules/focus-trap-react": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-8.8.1.tgz", - "integrity": "sha512-Uy7U/l3fozlwLYBSQHP91QjuRUUcAQ9FJ3glAGmwF/fXSiPa/4negTy02zWElLZdZDPIfebC8V14aI1Gzc5V3w==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-9.0.2.tgz", + "integrity": "sha512-ZwhO5by6KG5r3dy48Lk00A1/0zNYw1Z3RZTN6O6kgAPsWFcwTFszOcQ1dLSfM8pIxpS/ttc7wTttJowjVT3jpg==", + "license": "MIT", "dependencies": { - "focus-trap": "^6.7.1" + "focus-trap": "^6.9.4", + "tabbable": "^5.3.3" }, "peerDependencies": { - "prop-types": "^15.7.2", - "react": ">=16.0.0", - "react-dom": ">=16.0.0" + "prop-types": "^15.8.1", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" } }, "node_modules/follow-redirects": { @@ -18045,56 +16956,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -18310,66 +17171,20 @@ } }, "node_modules/get-uri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", - "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "license": "MIT", "dependencies": { "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^5.0.1", + "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "fs-extra": "^11.2.0" }, "engines": { "node": ">= 14" } }, - "node_modules/get-uri/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/get-uri/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/get-uri/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/get-uri/node_modules/universalify": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.0.tgz", - "integrity": "sha512-fYHpatg8wmx63V78K3cA10Xo1bXeFZB0m18BkXjs7buvgq/Ew96SX8wPIIl/qUuEOo5L1/KJ7nfbUlMtAHmbPw==" - }, "node_modules/git-config-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", @@ -18688,15 +17503,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, "node_modules/handle-thing": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", @@ -18736,27 +17542,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", @@ -18925,9 +17710,10 @@ } }, "node_modules/hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -19197,9 +17983,10 @@ } }, "node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -19208,27 +17995,6 @@ "node": ">= 14" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", @@ -19382,12 +18148,6 @@ "node": ">=0.10.0" } }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", - "dev": true - }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -19540,48 +18300,22 @@ } }, "node_modules/intl-messageformat": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.1.4.tgz", - "integrity": "sha512-tXCmWCXhbeHOF28aIf5b9ce3kwdwGyIiiSXVZsyDwksMiGn5Tp0MrMvyeuHuz4uN1UL+NfGOztHmE+6aLFp1wQ==", + "version": "10.7.6", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.6.tgz", + "integrity": "sha512-IsMU/hqyy3FJwNJ0hxDfY2heJ7MteSuFvcnCebxRp67di4Fhx1gKKE+qS0bBwUF8yXkX9SsPUhLeX/B6h5SKUA==", + "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/fast-memoize": "1.2.6", - "@formatjs/icu-messageformat-parser": "2.1.7", - "tslib": "2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/fast-memoize": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.6.tgz", - "integrity": "sha512-9CWZ3+wCkClKHX+i5j+NyoBVqGf0pIskTo6Xl6ihGokYM2yqSSS68JIgeo+99UIHc+7vi9L3/SDSz/dWI9SNlA==", - "license": "MIT", - "dependencies": { - "tslib": "2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.7.tgz", - "integrity": "sha512-KM4ikG5MloXMulqn39Js3ypuVzpPKq/DDplvl01PE2qD9rAzFO8YtaUCC9vr9j3sRXwdHPeTe8r3J/8IJgvYEQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/icu-skeleton-parser": "1.3.13", - "tslib": "2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.13.tgz", - "integrity": "sha512-qb1kxnA4ep76rV+d9JICvZBThBpK5X+nh1dLmmIReX72QyglicsaOmKEcdcbp7/giCWfhVs6CXPVA2JJ5/ZvAw==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "tslib": "2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/icu-messageformat-parser": "2.9.3", + "tslib": "2" } }, "node_modules/intl-tel-input": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/intl-tel-input/-/intl-tel-input-17.0.13.tgz", - "integrity": "sha512-+jPgPKUcgbhSSRN0BZLJOdntTaMv8tqowLrVQ3CGCNGpMKb4B9PRyzOZQpwo1FeA+LTOzvErOlBhbCuQog7R3g==" + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/intl-tel-input/-/intl-tel-input-24.7.0.tgz", + "integrity": "sha512-OjkhKen4SJUI2kN9OHpb8ReNN619sB9gECPq51dn3zKEWvif3mnSjmrtWhm8ABIb7Ijs+AAYSS5sI33Sb4YqvQ==", + "license": "MIT" }, "node_modules/ip-address": { "version": "9.0.5", @@ -19756,12 +18490,19 @@ "dev": true }, "node_modules/is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-electron-renderer": { @@ -21839,15 +20580,6 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, - "node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -22200,19 +20932,14 @@ "dev": true }, "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "license": "MIT", "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", - "dev": true - }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -22279,12 +21006,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -23522,58 +22243,39 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "license": "MIT", "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": ">= 14.0.0" } }, "node_modules/mocha/node_modules/cliui": { @@ -23587,35 +22289,10 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", @@ -23623,38 +22300,24 @@ "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/mocha/node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" @@ -23675,21 +22338,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/mocha/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/mocha/node_modules/y18n": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", @@ -23717,24 +22365,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/yargs/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", @@ -23753,8 +22383,7 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -23780,19 +22409,6 @@ "thenify-all": "^1.0.0" } }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/napi-build-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz", @@ -23829,6 +22445,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -23955,10 +22572,11 @@ } }, "node_modules/node-gyp": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", - "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", "dev": true, + "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", @@ -23966,9 +22584,9 @@ "graceful-fs": "^4.2.6", "make-fetch-happen": "^13.0.0", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5", - "tar": "^6.1.2", + "tar": "^6.2.1", "which": "^4.0.0" }, "bin": { @@ -24856,6 +23474,7 @@ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -24868,21 +23487,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/open/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", @@ -25112,44 +23716,37 @@ } }, "node_modules/pac-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz", - "integrity": "sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", + "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", + "license": "MIT", "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.0.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.1" + "https-proxy-agent": "^7.0.5", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.4" }, "engines": { "node": ">= 14" } }, - "node_modules/pac-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 14" } }, - "node_modules/pac-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/pac-resolver": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", @@ -25444,16 +24041,6 @@ "node": ">= 14" } }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "dev": true, - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -25542,21 +24129,6 @@ "node": ">=8" } }, - "node_modules/path/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/path/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, "node_modules/pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", @@ -25625,53 +24197,41 @@ } }, "node_modules/pino": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.6.1.tgz", - "integrity": "sha512-fi+V2K98eMZjQ/uEHHSiMALNrz7HaFdKNYuyA3ZUrbH0f1e8sPFDmeRGzg7ZH2q4QDxGnJPOswmqlEaTAZeDPA==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.5.0.tgz", + "integrity": "sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==", + "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.0.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^4.0.0", "quick-format-unescaped": "^4.0.3", "real-require": "^0.2.0", "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.1.0", - "thread-stream": "^2.0.0" + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" }, "bin": { "pino": "bin.js" } }, "node_modules/pino-abstract-transport": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", - "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "license": "MIT", "dependencies": { - "readable-stream": "^4.0.0", "split2": "^4.0.0" } }, - "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", - "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/pino-std-serializers": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.0.0.tgz", - "integrity": "sha512-mMMOwSKrmyl+Y12Ri2xhH1lbzQxwwpuru9VjyJpgFIH4asSj88F2csdMwN6+M5g1Ll4rmsYghHLQJw81tgZ7LQ==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "license": "MIT" }, "node_modules/pinpoint": { "version": "1.1.0", @@ -25693,6 +24253,7 @@ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", "dev": true, + "license": "ISC", "dependencies": { "pngjs": "^6.0.0" }, @@ -25705,6 +24266,7 @@ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.13.0" } @@ -25784,6 +24346,7 @@ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.0.tgz", "integrity": "sha512-4z3ac3plDfYzGB6r0Q3LF8POPR20Z8D0aXcxbJvmfMgSSq1hkcgvFRXJk9rUq5H/MJ0Ktal869hhOdI/zUTeLA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "playwright-core": "1.45.0" }, @@ -25798,6 +24361,19 @@ } }, "node_modules/playwright-core": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", + "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/playwright-core": { "version": "1.45.0", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz", "integrity": "sha512-lZmHlFQ0VYSpAs43dRq1/nJ9G/6SiTI7VPqidld9TDefL9tX87bTKExWZZUF5PeRyqtXqd8fQi2qmfIedkwsNQ==", @@ -26259,10 +24835,11 @@ } }, "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", "dev": true, + "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -26294,9 +24871,10 @@ } }, "node_modules/process-warning": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.0.0.tgz", - "integrity": "sha512-+MmoAXoUX+VTHAlwns0h+kFUWFs/3FZy+ZuchkgjyOu3oioLAo2LB5aCfKPh2+P9O18i3m43tUEv3YqttSy0Ww==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz", + "integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==", + "license": "MIT" }, "node_modules/progress": { "version": "2.0.3", @@ -26520,37 +25098,35 @@ } }, "node_modules/proxy-agent": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz", - "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "license": "MIT", "dependencies": { "agent-base": "^7.0.2", "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.0", + "pac-proxy-agent": "^7.0.1", "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.2" }, "engines": { "node": ">= 14" } }, - "node_modules/proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 14" } }, "node_modules/proxy-agent/node_modules/lru-cache": { @@ -26561,11 +25137,6 @@ "node": ">=12" } }, - "node_modules/proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -26944,9 +25515,10 @@ } }, "node_modules/react-contextmenu": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/react-contextmenu/-/react-contextmenu-2.11.0.tgz", - "integrity": "sha512-vT9QV9p/9h1BSIvmajRVG3KsgjuBnISpEQp0F1QYsUPFMe3VOKV2l7IiD8yrNUyXYZKrWMqI0YKsaBwGSRVgJg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/react-contextmenu/-/react-contextmenu-2.14.0.tgz", + "integrity": "sha512-ktqMOuad6sCFNJs/ltEwppN8F0YeXmqoZfwycgtZR/MxOXMYx1xgYC44SzWH259HdGyshk1/7sXGuIRwj9hzbw==", + "license": "MIT", "dependencies": { "classnames": "^2.2.5", "object-assign": "^4.1.0" @@ -26989,13 +25561,6 @@ "typescript": ">= 4.3.x" } }, - "node_modules/react-docgen/node_modules/@types/doctrine": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", - "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", - "dev": true, - "license": "MIT" - }, "node_modules/react-docgen/node_modules/strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", @@ -27082,24 +25647,25 @@ } }, "node_modules/react-intl": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.1.1.tgz", - "integrity": "sha512-nNNHBxivUdNwIcqNR1I4mLDAfDtnh1glEaOa8Sfu2pUDvKzYQyX6+in1PDcIn5RyV6enMgw9I6H+VwtlRDXhRw==", + "version": "6.8.7", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.8.7.tgz", + "integrity": "sha512-Ocv8Tg6fXqBdVdkkYohQ79T9rJls3G1lmDSjhqHdK9873BdQFLSeITGgwuGWTRBd6Mg5FL33TBen4FtujCTP0g==", + "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/icu-messageformat-parser": "2.1.7", - "@formatjs/intl": "2.4.1", - "@formatjs/intl-displaynames": "6.1.3", - "@formatjs/intl-listformat": "7.1.2", - "@types/hoist-non-react-statics": "^3.3.1", + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/icu-messageformat-parser": "2.9.3", + "@formatjs/intl": "2.10.14", + "@formatjs/intl-displaynames": "6.8.4", + "@formatjs/intl-listformat": "7.7.4", + "@types/hoist-non-react-statics": "3", "@types/react": "16 || 17 || 18", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.1.4", - "tslib": "2.4.0" + "hoist-non-react-statics": "3", + "intl-messageformat": "10.7.6", + "tslib": "2" }, "peerDependencies": { "react": "^16.6.0 || 17 || 18", - "typescript": "^4.7" + "typescript": "^4.7 || 5" }, "peerDependenciesMeta": { "typescript": { @@ -27107,64 +25673,6 @@ } } }, - "node_modules/react-intl/node_modules/@formatjs/fast-memoize": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.6.tgz", - "integrity": "sha512-9CWZ3+wCkClKHX+i5j+NyoBVqGf0pIskTo6Xl6ihGokYM2yqSSS68JIgeo+99UIHc+7vi9L3/SDSz/dWI9SNlA==", - "license": "MIT", - "dependencies": { - "tslib": "2.4.0" - } - }, - "node_modules/react-intl/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.7.tgz", - "integrity": "sha512-KM4ikG5MloXMulqn39Js3ypuVzpPKq/DDplvl01PE2qD9rAzFO8YtaUCC9vr9j3sRXwdHPeTe8r3J/8IJgvYEQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/icu-skeleton-parser": "1.3.13", - "tslib": "2.4.0" - } - }, - "node_modules/react-intl/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.13.tgz", - "integrity": "sha512-qb1kxnA4ep76rV+d9JICvZBThBpK5X+nh1dLmmIReX72QyglicsaOmKEcdcbp7/giCWfhVs6CXPVA2JJ5/ZvAw==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "tslib": "2.4.0" - } - }, - "node_modules/react-intl/node_modules/@formatjs/intl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.4.1.tgz", - "integrity": "sha512-lWJ5dhLlkbMeWQOxBCq4MJNkB735TO5rwvcnnFzTx1H9Pkth1OLRH1R1aCAudptbd0Qe1W2hwJiMLumKpl6WCg==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.12.0", - "@formatjs/fast-memoize": "1.2.6", - "@formatjs/icu-messageformat-parser": "2.1.7", - "@formatjs/intl-displaynames": "6.1.3", - "@formatjs/intl-listformat": "7.1.2", - "intl-messageformat": "10.1.4", - "tslib": "2.4.0" - }, - "peerDependencies": { - "typescript": "^4.7" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-intl/node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -27204,46 +25712,49 @@ } }, "node_modules/react-redux": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.8.tgz", - "integrity": "sha512-6+uDjhs3PSIclqoCk0kd6iX74gzrGc3W5zcAjbrFgEdIjRSQObdIwfx80unTkVUYvbQ95Y8Av3OvFHq1w5EOUw==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.15.4", - "@types/react-redux": "^7.1.20", + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", "hoist-non-react-statics": "^3.3.2", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^17.0.2" + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" }, "peerDependencies": { - "react": "^16.8.3 || ^17 || ^18" + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" }, "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, "react-dom": { "optional": true }, "react-native": { "optional": true + }, + "redux": { + "optional": true } } }, - "node_modules/react-redux/node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/react-redux/node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, "node_modules/react-redux/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/react-router": { "version": "5.0.1", @@ -27292,14 +25803,6 @@ "react-is": "^16.13.1" } }, - "node_modules/react-router/node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, "node_modules/react-router/node_modules/mini-create-react-context": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.3.tgz", @@ -27360,11 +25863,12 @@ } }, "node_modules/react-textarea-autosize": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", - "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.5.tgz", + "integrity": "sha512-CVA94zmfp8m4bSHtWwmANaBR8EPsKy2aZ7KwqhoS4Ftib87F9Kvi7XQhOixypPLMc6kVYgOXvKFuuzZDpHGRPg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.2", + "@babel/runtime": "^7.20.13", "use-composed-ref": "^1.3.0", "use-latest": "^1.2.1" }, @@ -27489,6 +25993,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } @@ -27540,6 +26045,7 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -27549,12 +26055,10 @@ } }, "node_modules/redux": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz", - "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==", - "dependencies": { - "@babel/runtime": "^7.9.2" - } + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" }, "node_modules/redux-logger": { "version": "3.0.6", @@ -27565,23 +26069,22 @@ } }, "node_modules/redux-promise-middleware": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/redux-promise-middleware/-/redux-promise-middleware-6.1.0.tgz", - "integrity": "sha512-C62Ku3TgMwxFh5r3h1/iD+XPdsoizyHLT74dTkqhJ8c0LCbEVl1z9fm8zKitAjI16e6w6+h3mxf6wHdonaYXfQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/redux-promise-middleware/-/redux-promise-middleware-6.2.0.tgz", + "integrity": "sha512-TEzfMeLX63gju2WqkdFQlQMvUGYzFvJNePIJJsBlbPHs3Txsbc/5Rjhmtha1XdMU6lkeiIlp1Qx7AR3Zo9he9g==", + "license": "MIT", "peerDependencies": { - "redux": "^2.0.0 || ^3.0.0 || ^4.0.0" + "redux": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" } }, "node_modules/redux-thunk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", - "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } }, "node_modules/regenerator-runtime": { "version": "0.13.11", @@ -27624,35 +26127,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha512-Ci+lDRlvAElKjFp5keqmVUaJLqZiHywekXhshT6wVUyDObGPdymNPhxBmf38ZVsaUGOnZ3Fot9YzxvoI31ymYw==", - "dev": true, - "dependencies": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "node_modules/regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -27846,15 +26320,10 @@ } }, "node_modules/reselect": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.2.tgz", - "integrity": "sha512-wg60ebcPOtxcptIUfrr7Jt3h4BR86cCW3R7y4qt65lnNb4yz4QgrXcbSioVsIOYguyz42+XTHIyJ5TEruzkFgQ==" - }, - "node_modules/reserved-words": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", - "integrity": "sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==", - "dev": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.8", @@ -28169,9 +26638,10 @@ } }, "node_modules/sanitize.css": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-11.0.0.tgz", - "integrity": "sha512-Ox0X2lk0kOGeODJgT9S9HFv0j5Cz89ir9ILylj62/vejHPdMmahmetfocoQwyiAnseeXyDa+KIbO6ZQJe5n2Lg==" + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" }, "node_modules/sass": { "version": "1.80.7", @@ -28413,10 +26883,11 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -28536,12 +27007,6 @@ "node": ">= 0.4" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -28789,43 +27254,24 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", - "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "license": "MIT", "dependencies": { - "agent-base": "^7.0.1", + "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/sonic-boom": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.0.tgz", - "integrity": "sha512-SbbZ+Kqj/XIunvIAgUZRlqd6CGQYq71tRRbXR92Za8J/R3Yh4Av+TWENiSiEgnlwckYLyP0YZQWVfyNC0dzLaA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", + "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0" } @@ -29112,13 +27558,13 @@ } }, "node_modules/storybook": { - "version": "8.4.3", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.3.tgz", - "integrity": "sha512-n+6ME+APinsx0zjNTmx3SntJ4iCgoTK7TsxUC8+op/rUAA8hNbD+/NT7Qx/F5peHNchVeVFGtebPDAHU9g1M/Q==", + "version": "8.4.4", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.4.tgz", + "integrity": "sha512-xBOq3q/MuUUg3zM0imMMaK5ziKq3TO388jsnaiemJ4Uf0ZGwcHjM8HDBCDt0s5/CfsOQ49zo1ouZ3aNlu0qsUg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/core": "8.4.3" + "@storybook/core": "8.4.4" }, "bin": { "getstorybook": "bin/index.cjs", @@ -29963,15 +28409,6 @@ "webpack": ">=2" } }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/synckit": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", @@ -29995,9 +28432,10 @@ "dev": true }, "node_modules/tabbable": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.2.1.tgz", - "integrity": "sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==" + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", + "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==", + "license": "MIT" }, "node_modules/table": { "version": "6.8.2", @@ -30284,16 +28722,6 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -30384,9 +28812,10 @@ } }, "node_modules/thread-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.2.0.tgz", - "integrity": "sha512-rUkv4/fnb4rqy/gGy7VuqK6wE1+1DOCOWy4RMeaV69ZHMP11tQKZvZSip1yTgrKCMZzEMcCL/bKfHvSfDHx+iQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "license": "MIT", "dependencies": { "real-require": "^0.2.0" } @@ -30572,15 +29001,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/tree-dump": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", @@ -30835,191 +29255,6 @@ "node": ">= 0.6" } }, - "node_modules/typed-scss-modules": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/typed-scss-modules/-/typed-scss-modules-4.1.1.tgz", - "integrity": "sha512-eVRej2pMRRbrMQ7oyLNR+GcMCD4Tmc+MMzq+6qo8pTXiz2GQR1dTaYTs9vDeoCE7iJv9JZ7U36fATbIVECJ+fQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "chalk": "^3.0.0", - "chokidar": "^3.3.0", - "css-modules-loader-core": "^1.1.0", - "glob": "^7.1.6", - "param-case": "^3.0.2", - "path": "^0.12.7", - "reserved-words": "^0.1.2", - "slash": "^3.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "tsm": "dist/lib/cli.js" - }, - "peerDependencies": { - "node-sass": "^4.11.0", - "sass": "^1.25.0" - }, - "peerDependenciesMeta": { - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/typed-scss-modules/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/typed-scss-modules/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typed-scss-modules/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/typed-scss-modules/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/typed-scss-modules/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -31029,10 +29264,11 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -31042,9 +29278,10 @@ } }, "node_modules/uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" }, "node_modules/uglify-js": { "version": "3.17.4", @@ -31088,9 +29325,10 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" }, "node_modules/unified": { "version": "9.2.2", @@ -31285,29 +29523,19 @@ } }, "node_modules/unzipper": { - "version": "0.10.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", - "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz", + "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==", "dev": true, + "license": "MIT", "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", + "bluebird": "~3.7.2", "duplexer2": "~0.1.4", - "fstream": "^1.0.12", + "fs-extra": "^11.2.0", "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" + "node-int64": "^0.4.0" } }, - "node_modules/unzipper/node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", - "dev": true - }, "node_modules/upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -32456,9 +30684,9 @@ "dev": true }, "node_modules/workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true, "license": "Apache-2.0" }, @@ -32634,6 +30862,16 @@ "node": ">=12" } }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yargs-unparser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", diff --git a/package.json b/package.json index 6571574c6fa..2954dd31544 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "test": "run-s test-node test-electron test-lint-intl test-eslint", "test-electron": "node ts/scripts/test-electron.js", "test-release": "node ts/scripts/test-release.js", - "test-node": "cross-env LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive test/modules ts/test-node ts/test-both", + "test-node": "cross-env LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive ts/test-node ts/test-both", "test-mock": "mocha --require ts/test-mock/setup-ci.js ts/test-mock/**/*_test.js", "test-eslint": "mocha .eslint/rules/**/*.test.js --ignore-leaks", "test-lint-intl": "ts-node ./build/intl-linter/linter.ts --test", @@ -104,15 +104,15 @@ "@indutny/sneequals": "4.0.0", "@popperjs/core": "2.11.8", "@react-aria/utils": "3.25.3", - "@react-spring/web": "9.5.5", + "@react-spring/web": "9.7.5", "@signalapp/better-sqlite3": "9.0.8", "@signalapp/libsignal-client": "0.62.0", "@signalapp/ringrtc": "2.48.7", "@types/fabric": "4.5.3", - "backbone": "1.4.0", + "backbone": "1.6.0", "blob-util": "2.0.2", "blueimp-load-image": "5.16.0", - "blurhash": "1.1.3", + "blurhash": "2.0.5", "buffer": "6.0.3", "changedpi": "1.0.4", "cirbuf": "1.0.2", @@ -129,7 +129,7 @@ "fast-glob": "3.3.2", "filesize": "9.0.11", "firstline": "2.0.2", - "focus-trap-react": "8.8.1", + "focus-trap-react": "9.0.2", "form-data": "4.0.1", "fs-extra": "11.2.0", "fuse.js": "6.5.3", @@ -137,9 +137,9 @@ "got": "11.8.5", "heic-convert": "2.1.0", "humanize-duration": "3.27.1", - "intl-tel-input": "17.0.13", + "intl-tel-input": "24.7.0", "js-yaml": "4.1.0", - "linkify-it": "2.2.0", + "linkify-it": "5.0.0", "lodash": "4.17.21", "long": "5.2.3", "lru-cache": "11.0.2", @@ -155,9 +155,9 @@ "p-timeout": "4.1.0", "parchment": "1.1.4", "pify": "3.0.0", - "pino": "8.6.1", + "pino": "9.5.0", "protobufjs": "7.3.2", - "proxy-agent": "6.3.0", + "proxy-agent": "6.4.0", "qrcode-generator": "1.4.4", "quill": "1.3.7", "quill-delta": "4.0.1", @@ -165,23 +165,23 @@ "react-aria": "3.35.1", "react-aria-components": "1.4.1", "react-blurhash": "0.3.0", - "react-contextmenu": "2.11.0", + "react-contextmenu": "2.14.0", "react-dom": "17.0.2", "react-hot-loader": "4.13.1", - "react-intl": "6.1.1", + "react-intl": "6.8.7", "react-popper": "2.3.0", "react-quill": "2.0.0-beta.4", - "react-redux": "7.2.8", + "react-redux": "8.1.3", "react-router-dom": "5.0.1", - "react-textarea-autosize": "8.3.4", + "react-textarea-autosize": "8.5.5", "react-virtualized": "9.22.5", "read-last-lines": "1.8.0", - "redux": "4.1.2", + "redux": "5.0.1", "redux-logger": "3.0.6", - "redux-promise-middleware": "6.1.0", - "redux-thunk": "2.3.0", - "reselect": "4.1.2", - "sanitize.css": "11.0.0", + "redux-promise-middleware": "6.2.0", + "redux-thunk": "3.1.0", + "reselect": "5.1.1", + "sanitize.css": "13.0.0", "semver": "7.6.3", "split2": "4.2.0", "type-fest": "4.26.1", @@ -209,41 +209,39 @@ "@indutny/symbolicate-mac": "2.3.0", "@napi-rs/canvas": "0.1.61", "@signalapp/mock-server": "10.0.0", - "@storybook/addon-a11y": "8.4.3", - "@storybook/addon-actions": "8.4.3", - "@storybook/addon-controls": "8.4.3", - "@storybook/addon-interactions": "8.4.3", - "@storybook/addon-jest": "8.4.3", - "@storybook/addon-measure": "8.4.3", - "@storybook/addon-toolbars": "8.4.3", - "@storybook/addon-viewport": "8.4.3", - "@storybook/addon-webpack5-compiler-swc": "1.0.4", - "@storybook/preview-api": "8.4.3", - "@storybook/react": "8.4.3", - "@storybook/react-webpack5": "8.4.3", - "@storybook/test": "8.4.3", + "@storybook/addon-a11y": "8.4.4", + "@storybook/addon-actions": "8.4.4", + "@storybook/addon-controls": "8.4.4", + "@storybook/addon-interactions": "8.4.4", + "@storybook/addon-jest": "8.4.4", + "@storybook/addon-measure": "8.4.4", + "@storybook/addon-toolbars": "8.4.4", + "@storybook/addon-viewport": "8.4.4", + "@storybook/addon-webpack5-compiler-swc": "1.0.5", + "@storybook/preview-api": "8.4.4", + "@storybook/react": "8.4.4", + "@storybook/react-webpack5": "8.4.4", + "@storybook/test": "8.4.4", "@storybook/test-runner": "0.19.1", "@types/backbone": "1.4.22", "@types/blueimp-load-image": "5.16.6", "@types/chai": "4.3.16", "@types/chai-as-promised": "7.1.4", - "@types/classnames": "2.3.4", "@types/config": "3.3.5", "@types/dashdash": "1.14.3", "@types/debug": "4.1.12", "@types/direction": "1.0.0", "@types/fs-extra": "11.0.4", "@types/google-libphonenumber": "7.4.30", - "@types/history": "5.0.0", "@types/humanize-duration": "3.18.1", "@types/intl-tel-input": "18.1.4", "@types/js-yaml": "4.0.9", "@types/json-to-ast": "2.1.4", - "@types/linkify-it": "2.1.0", + "@types/linkify-it": "5.0.0", "@types/lodash": "4.14.106", "@types/memoizee": "0.4.11", - "@types/mocha": "9.0.0", - "@types/node": "20.14.10", + "@types/mocha": "10.0.9", + "@types/node": "20.17.6", "@types/node-fetch": "2.6.12", "@types/normalize-path": "3.0.2", "@types/pify": "5.0.4", @@ -255,11 +253,10 @@ "@types/react-redux": "7.1.34", "@types/react-router-dom": "4.3.4", "@types/react-virtualized": "9.21.30", - "@types/redux-logger": "3.0.7", + "@types/redux-logger": "3.0.13", "@types/semver": "7.5.8", "@types/sinon": "17.0.3", "@types/split2": "4.2.3", - "@types/terser-webpack-plugin": "5.2.0", "@types/unzipper": "0.10.10", "@types/uuid": "10.0.0", "@types/websocket": "1.0.0", @@ -283,10 +280,10 @@ "debug": "4.3.7", "electron": "33.1.0", "electron-builder": "24.13.3", - "electron-mocha": "12.2.0", + "electron-mocha": "13.0.1", "endanger": "7.0.4", "enquirer": "2.4.1", - "esbuild": "0.23.1", + "esbuild": "0.24.0", "eslint": "8.56.0", "eslint-config-airbnb-typescript-prettier": "5.0.0", "eslint-config-prettier": "8.5.0", @@ -301,8 +298,8 @@ "json-to-ast": "2.1.0", "log-symbols": "4.1.0", "mini-css-extract-plugin": "2.9.2", - "mocha": "9.2.2", - "node-gyp": "10.0.1", + "mocha": "10.8.2", + "node-gyp": "10.2.0", "node-gyp-build": "4.8.3", "npm-run-all": "4.1.5", "p-limit": "3.1.0", @@ -317,7 +314,7 @@ "sass": "1.80.7", "sass-loader": "16.0.3", "sinon": "19.0.2", - "storybook": "8.4.3", + "storybook": "8.4.4", "style-loader": "4.0.0", "stylelint": "16.10.0", "stylelint-config-css-modules": "4.4.0", @@ -326,9 +323,8 @@ "svgo": "3.3.2", "terser-webpack-plugin": "5.3.10", "ts-node": "10.9.2", - "typed-scss-modules": "4.1.1", - "typescript": "5.3.3", - "unzipper": "0.10.14", + "typescript": "5.6.3", + "unzipper": "0.12.3", "wait-on": "8.0.1", "webpack": "5.96.1", "webpack-cli": "5.1.4", diff --git a/patches/backbone+1.4.0.patch b/patches/backbone+1.4.0.patch deleted file mode 100644 index 27bb98e0f84..00000000000 --- a/patches/backbone+1.4.0.patch +++ /dev/null @@ -1,756 +0,0 @@ -diff --git a/node_modules/backbone/backbone-min.js b/node_modules/backbone/backbone-min.js -deleted file mode 100644 -index c8c33e0..0000000 ---- a/node_modules/backbone/backbone-min.js -+++ /dev/null -@@ -1,2 +0,0 @@ --(function(t){var e=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)})}else if(typeof exports!=="undefined"){var i=require("underscore"),n;try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else{e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}})(function(t,e,i,n){var r=t.Backbone;var s=Array.prototype.slice;e.VERSION="1.4.0";e.$=n;e.noConflict=function(){t.Backbone=r;return this};e.emulateHTTP=false;e.emulateJSON=false;var a=e.Events={};var o=/\s+/;var h;var u=function(t,e,n,r,s){var a=0,h;if(n&&typeof n==="object"){if(r!==void 0&&"context"in s&&s.context===void 0)s.context=r;for(h=i.keys(n);athis.length)r=this.length;if(r<0)r+=this.length+1;var s=[];var a=[];var o=[];var h=[];var u={};var l=e.add;var c=e.merge;var f=e.remove;var d=false;var v=this.comparator&&r==null&&e.sort!==false;var p=i.isString(this.comparator)?this.comparator:null;var g,m;for(m=0;m7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(L,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var n=document.body;var r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open();r.document.close();r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){s("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){s("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);B.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){if(!this.matchRoot())return false;t=this.fragment=this.getFragment(t);return i.some(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!B.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment===r)return;this.fragment=r;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,n)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;if(!e.replace){s.document.open();s.document.close()}this._updateHash(s.location,t,e.replace)}}else{return this.location.assign(n)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else{t.hash="#"+e}}});e.history=new B;var D=function(t,e){var n=this;var r;if(t&&i.has(t,"constructor")){r=t.constructor}else{r=function(){return n.apply(this,arguments)}}i.extend(r,n,e);r.prototype=i.create(n.prototype,t);r.prototype.constructor=r;r.__super__=n.prototype;return r};m.extend=_.extend=O.extend=T.extend=B.extend=D;var V=function(){throw new Error('A "url" property or function must be specified')};var G=function(t,e){var i=e.error;e.error=function(n){if(i)i.call(e.context,t,n,e);t.trigger("error",t,n,e)}};return e}); --//# sourceMappingURL=backbone-min.map -\ No newline at end of file -diff --git a/node_modules/backbone/backbone-min.map b/node_modules/backbone/backbone-min.map -deleted file mode 100644 -index a45f7c1..0000000 ---- a/node_modules/backbone/backbone-min.map -+++ /dev/null -@@ -1 +0,0 @@ --{"version":3,"file":"backbone-min.js","sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","Array","prototype","VERSION","noConflict","this","emulateHTTP","emulateJSON","Events","eventSplitter","_listening","eventsApi","iteratee","events","name","callback","opts","i","names","context","keys","length","test","split","on","_events","onApi","ctx","listening","listeners","_listeners","id","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","error","tryCatchOn","options","handlers","count","push","off","offApi","stopListening","ids","isEmpty","cleanup","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","map","offer","apply","arguments","trigger","Math","max","args","triggerApi","objEvents","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","call","listener","unbind","extend","Model","attributes","attrs","preinitialize","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","method","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","splice","array","insert","at","min","tail","singular","isArray","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","m","index","_removeReference","previousModels","pop","unshift","shift","_byId","modelId","where","first","findWhere","Error","isFunction","sortBy","pluck","create","callbackOpts","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","indexOf","_onModelEvent","event","prevId","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","value","done","View","pick","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","find","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","undelegate","_createElement","document","createElement","className","_setAttributes","addMethod","attribute","cb","defaultVal","addUnderscoreMethods","Class","methods","each","instance","isObject","modelMatcher","matcher","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","detect","filter","select","reject","every","any","include","includes","contains","invoke","toArray","size","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","modelMethods","pairs","invert","omit","config","Base","mixin","mappings","functions","memo","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","rootPath","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","decodedFragment","title","_updateHash","assign","protoProps","staticProps","parent","child","__super__"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/backbone/backbone.js b/node_modules/backbone/backbone.js -index 3e09d0d..96ca66b 100644 ---- a/node_modules/backbone/backbone.js -+++ b/node_modules/backbone/backbone.js -@@ -12,24 +12,8 @@ - var root = typeof self == 'object' && self.self === self && self || - typeof global == 'object' && global.global === global && global; - -- // Set up Backbone appropriately for the environment. Start with AMD. -- if (typeof define === 'function' && define.amd) { -- define(['underscore', 'jquery', 'exports'], function(_, $, exports) { -- // Export global even in AMD case in case this script is loaded with -- // others that may still expect a global Backbone. -- root.Backbone = factory(root, exports, _, $); -- }); -- -- // Next for Node.js or CommonJS. jQuery may not be needed as a module. -- } else if (typeof exports !== 'undefined') { -- var _ = require('underscore'), $; -- try { $ = require('jquery'); } catch (e) {} -- factory(root, exports, _, $); -- -- // Finally, as a browser global. -- } else { -- root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$); -- } -+ var _ = require('lodash'), $; -+ factory(root, exports, _, $); - - })(function(root, Backbone, _, $) { - -@@ -46,10 +30,6 @@ - // Current version of the library. Keep in sync with `package.json`. - Backbone.VERSION = '1.4.0'; - -- // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns -- // the `$` variable. -- Backbone.$ = $; -- - // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable - // to its previous owner. Returns a reference to this Backbone object. - Backbone.noConflict = function() { -@@ -1279,174 +1259,6 @@ - return {value: void 0, done: true}; - }; - -- // Backbone.View -- // ------------- -- -- // Backbone Views are almost more convention than they are actual code. A View -- // is simply a JavaScript object that represents a logical chunk of UI in the -- // DOM. This might be a single item, an entire list, a sidebar or panel, or -- // even the surrounding frame which wraps your whole app. Defining a chunk of -- // UI as a **View** allows you to define your DOM events declaratively, without -- // having to worry about render order ... and makes it easy for the view to -- // react to specific changes in the state of your models. -- -- // Creating a Backbone.View creates its initial element outside of the DOM, -- // if an existing element is not provided... -- var View = Backbone.View = function(options) { -- this.cid = _.uniqueId('view'); -- this.preinitialize.apply(this, arguments); -- _.extend(this, _.pick(options, viewOptions)); -- this._ensureElement(); -- this.initialize.apply(this, arguments); -- }; -- -- // Cached regex to split keys for `delegate`. -- var delegateEventSplitter = /^(\S+)\s*(.*)$/; -- -- // List of view options to be set as properties. -- var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; -- -- // Set up all inheritable **Backbone.View** properties and methods. -- _.extend(View.prototype, Events, { -- -- // The default `tagName` of a View's element is `"div"`. -- tagName: 'div', -- -- // jQuery delegate for element lookup, scoped to DOM elements within the -- // current view. This should be preferred to global lookups where possible. -- $: function(selector) { -- return this.$el.find(selector); -- }, -- -- // preinitialize is an empty function by default. You can override it with a function -- // or object. preinitialize will run before any instantiation logic is run in the View -- preinitialize: function(){}, -- -- // Initialize is an empty function by default. Override it with your own -- // initialization logic. -- initialize: function(){}, -- -- // **render** is the core function that your view should override, in order -- // to populate its element (`this.el`), with the appropriate HTML. The -- // convention is for **render** to always return `this`. -- render: function() { -- return this; -- }, -- -- // Remove this view by taking the element out of the DOM, and removing any -- // applicable Backbone.Events listeners. -- remove: function() { -- this._removeElement(); -- this.stopListening(); -- return this; -- }, -- -- // Remove this view's element from the document and all event listeners -- // attached to it. Exposed for subclasses using an alternative DOM -- // manipulation API. -- _removeElement: function() { -- this.$el.remove(); -- }, -- -- // Change the view's element (`this.el` property) and re-delegate the -- // view's events on the new element. -- setElement: function(element) { -- this.undelegateEvents(); -- this._setElement(element); -- this.delegateEvents(); -- return this; -- }, -- -- // Creates the `this.el` and `this.$el` references for this view using the -- // given `el`. `el` can be a CSS selector or an HTML string, a jQuery -- // context or an element. Subclasses can override this to utilize an -- // alternative DOM manipulation API and are only required to set the -- // `this.el` property. -- _setElement: function(el) { -- this.$el = el instanceof Backbone.$ ? el : Backbone.$(el); -- this.el = this.$el[0]; -- }, -- -- // Set callbacks, where `this.events` is a hash of -- // -- // *{"event selector": "callback"}* -- // -- // { -- // 'mousedown .title': 'edit', -- // 'click .button': 'save', -- // 'click .open': function(e) { ... } -- // } -- // -- // pairs. Callbacks will be bound to the view, with `this` set properly. -- // Uses event delegation for efficiency. -- // Omitting the selector binds the event to `this.el`. -- delegateEvents: function(events) { -- events || (events = _.result(this, 'events')); -- if (!events) return this; -- this.undelegateEvents(); -- for (var key in events) { -- var method = events[key]; -- if (!_.isFunction(method)) method = this[method]; -- if (!method) continue; -- var match = key.match(delegateEventSplitter); -- this.delegate(match[1], match[2], method.bind(this)); -- } -- return this; -- }, -- -- // Add a single event listener to the view's element (or a child element -- // using `selector`). This only works for delegate-able events: not `focus`, -- // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer. -- delegate: function(eventName, selector, listener) { -- this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener); -- return this; -- }, -- -- // Clears all callbacks previously bound to the view by `delegateEvents`. -- // You usually don't need to use this, but may wish to if you have multiple -- // Backbone views attached to the same DOM element. -- undelegateEvents: function() { -- if (this.$el) this.$el.off('.delegateEvents' + this.cid); -- return this; -- }, -- -- // A finer-grained `undelegateEvents` for removing a single delegated event. -- // `selector` and `listener` are both optional. -- undelegate: function(eventName, selector, listener) { -- this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener); -- return this; -- }, -- -- // Produces a DOM element to be assigned to your view. Exposed for -- // subclasses using an alternative DOM manipulation API. -- _createElement: function(tagName) { -- return document.createElement(tagName); -- }, -- -- // Ensure that the View has a DOM element to render into. -- // If `this.el` is a string, pass it through `$()`, take the first -- // matching element, and re-assign it to `el`. Otherwise, create -- // an element from the `id`, `className` and `tagName` properties. -- _ensureElement: function() { -- if (!this.el) { -- var attrs = _.extend({}, _.result(this, 'attributes')); -- if (this.id) attrs.id = _.result(this, 'id'); -- if (this.className) attrs['class'] = _.result(this, 'className'); -- this.setElement(this._createElement(_.result(this, 'tagName'))); -- this._setAttributes(attrs); -- } else { -- this.setElement(_.result(this, 'el')); -- } -- }, -- -- // Set attributes from a hash on this view's element. Exposed for -- // subclasses using an alternative DOM manipulation API. -- _setAttributes: function(attributes) { -- this.$el.attr(attributes); -- } -- -- }); -- - // Proxy Backbone class methods to Underscore functions, wrapping the model's - // `attributes` object or collection's `models` array behind the scenes. - // -@@ -1535,512 +1347,6 @@ - addUnderscoreMethods(Base, _, methods, attribute); - }); - -- // Backbone.sync -- // ------------- -- -- // Override this function to change the manner in which Backbone persists -- // models to the server. You will be passed the type of request, and the -- // model in question. By default, makes a RESTful Ajax request -- // to the model's `url()`. Some possible customizations could be: -- // -- // * Use `setTimeout` to batch rapid-fire updates into a single request. -- // * Send up the models as XML instead of JSON. -- // * Persist models via WebSockets instead of Ajax. -- // -- // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests -- // as `POST`, with a `_method` parameter containing the true HTTP method, -- // as well as all requests with the body as `application/x-www-form-urlencoded` -- // instead of `application/json` with the model in a param named `model`. -- // Useful when interfacing with server-side languages like **PHP** that make -- // it difficult to read the body of `PUT` requests. -- Backbone.sync = function(method, model, options) { -- var type = methodMap[method]; -- -- // Default options, unless specified. -- _.defaults(options || (options = {}), { -- emulateHTTP: Backbone.emulateHTTP, -- emulateJSON: Backbone.emulateJSON -- }); -- -- // Default JSON-request options. -- var params = {type: type, dataType: 'json'}; -- -- // Ensure that we have a URL. -- if (!options.url) { -- params.url = _.result(model, 'url') || urlError(); -- } -- -- // Ensure that we have the appropriate request data. -- if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) { -- params.contentType = 'application/json'; -- params.data = JSON.stringify(options.attrs || model.toJSON(options)); -- } -- -- // For older servers, emulate JSON by encoding the request into an HTML-form. -- if (options.emulateJSON) { -- params.contentType = 'application/x-www-form-urlencoded'; -- params.data = params.data ? {model: params.data} : {}; -- } -- -- // For older servers, emulate HTTP by mimicking the HTTP method with `_method` -- // And an `X-HTTP-Method-Override` header. -- if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) { -- params.type = 'POST'; -- if (options.emulateJSON) params.data._method = type; -- var beforeSend = options.beforeSend; -- options.beforeSend = function(xhr) { -- xhr.setRequestHeader('X-HTTP-Method-Override', type); -- if (beforeSend) return beforeSend.apply(this, arguments); -- }; -- } -- -- // Don't process data on a non-GET request. -- if (params.type !== 'GET' && !options.emulateJSON) { -- params.processData = false; -- } -- -- // Pass along `textStatus` and `errorThrown` from jQuery. -- var error = options.error; -- options.error = function(xhr, textStatus, errorThrown) { -- options.textStatus = textStatus; -- options.errorThrown = errorThrown; -- if (error) error.call(options.context, xhr, textStatus, errorThrown); -- }; -- -- // Make the request, allowing the user to override any Ajax options. -- var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); -- model.trigger('request', model, xhr, options); -- return xhr; -- }; -- -- // Map from CRUD to HTTP for our default `Backbone.sync` implementation. -- var methodMap = { -- create: 'POST', -- update: 'PUT', -- patch: 'PATCH', -- delete: 'DELETE', -- read: 'GET' -- }; -- -- // Set the default implementation of `Backbone.ajax` to proxy through to `$`. -- // Override this if you'd like to use a different library. -- Backbone.ajax = function() { -- return Backbone.$.ajax.apply(Backbone.$, arguments); -- }; -- -- // Backbone.Router -- // --------------- -- -- // Routers map faux-URLs to actions, and fire events when routes are -- // matched. Creating a new one sets its `routes` hash, if not set statically. -- var Router = Backbone.Router = function(options) { -- options || (options = {}); -- this.preinitialize.apply(this, arguments); -- if (options.routes) this.routes = options.routes; -- this._bindRoutes(); -- this.initialize.apply(this, arguments); -- }; -- -- // Cached regular expressions for matching named param parts and splatted -- // parts of route strings. -- var optionalParam = /\((.*?)\)/g; -- var namedParam = /(\(\?)?:\w+/g; -- var splatParam = /\*\w+/g; -- var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; -- -- // Set up all inheritable **Backbone.Router** properties and methods. -- _.extend(Router.prototype, Events, { -- -- // preinitialize is an empty function by default. You can override it with a function -- // or object. preinitialize will run before any instantiation logic is run in the Router. -- preinitialize: function(){}, -- -- // Initialize is an empty function by default. Override it with your own -- // initialization logic. -- initialize: function(){}, -- -- // Manually bind a single named route to a callback. For example: -- // -- // this.route('search/:query/p:num', 'search', function(query, num) { -- // ... -- // }); -- // -- route: function(route, name, callback) { -- if (!_.isRegExp(route)) route = this._routeToRegExp(route); -- if (_.isFunction(name)) { -- callback = name; -- name = ''; -- } -- if (!callback) callback = this[name]; -- var router = this; -- Backbone.history.route(route, function(fragment) { -- var args = router._extractParameters(route, fragment); -- if (router.execute(callback, args, name) !== false) { -- router.trigger.apply(router, ['route:' + name].concat(args)); -- router.trigger('route', name, args); -- Backbone.history.trigger('route', router, name, args); -- } -- }); -- return this; -- }, -- -- // Execute a route handler with the provided parameters. This is an -- // excellent place to do pre-route setup or post-route cleanup. -- execute: function(callback, args, name) { -- if (callback) callback.apply(this, args); -- }, -- -- // Simple proxy to `Backbone.history` to save a fragment into the history. -- navigate: function(fragment, options) { -- Backbone.history.navigate(fragment, options); -- return this; -- }, -- -- // Bind all defined routes to `Backbone.history`. We have to reverse the -- // order of the routes here to support behavior where the most general -- // routes can be defined at the bottom of the route map. -- _bindRoutes: function() { -- if (!this.routes) return; -- this.routes = _.result(this, 'routes'); -- var route, routes = _.keys(this.routes); -- while ((route = routes.pop()) != null) { -- this.route(route, this.routes[route]); -- } -- }, -- -- // Convert a route string into a regular expression, suitable for matching -- // against the current location hash. -- _routeToRegExp: function(route) { -- route = route.replace(escapeRegExp, '\\$&') -- .replace(optionalParam, '(?:$1)?') -- .replace(namedParam, function(match, optional) { -- return optional ? match : '([^/?]+)'; -- }) -- .replace(splatParam, '([^?]*?)'); -- return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); -- }, -- -- // Given a route, and a URL fragment that it matches, return the array of -- // extracted decoded parameters. Empty or unmatched parameters will be -- // treated as `null` to normalize cross-browser behavior. -- _extractParameters: function(route, fragment) { -- var params = route.exec(fragment).slice(1); -- return _.map(params, function(param, i) { -- // Don't decode the search params. -- if (i === params.length - 1) return param || null; -- return param ? decodeURIComponent(param) : null; -- }); -- } -- -- }); -- -- // Backbone.History -- // ---------------- -- -- // Handles cross-browser history management, based on either -- // [pushState](http://diveintohtml5.info/history.html) and real URLs, or -- // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange) -- // and URL fragments. If the browser supports neither (old IE, natch), -- // falls back to polling. -- var History = Backbone.History = function() { -- this.handlers = []; -- this.checkUrl = this.checkUrl.bind(this); -- -- // Ensure that `History` can be used outside of the browser. -- if (typeof window !== 'undefined') { -- this.location = window.location; -- this.history = window.history; -- } -- }; -- -- // Cached regex for stripping a leading hash/slash and trailing space. -- var routeStripper = /^[#\/]|\s+$/g; -- -- // Cached regex for stripping leading and trailing slashes. -- var rootStripper = /^\/+|\/+$/g; -- -- // Cached regex for stripping urls of hash. -- var pathStripper = /#.*$/; -- -- // Has the history handling already been started? -- History.started = false; -- -- // Set up all inheritable **Backbone.History** properties and methods. -- _.extend(History.prototype, Events, { -- -- // The default interval to poll for hash changes, if necessary, is -- // twenty times a second. -- interval: 50, -- -- // Are we at the app root? -- atRoot: function() { -- var path = this.location.pathname.replace(/[^\/]$/, '$&/'); -- return path === this.root && !this.getSearch(); -- }, -- -- // Does the pathname match the root? -- matchRoot: function() { -- var path = this.decodeFragment(this.location.pathname); -- var rootPath = path.slice(0, this.root.length - 1) + '/'; -- return rootPath === this.root; -- }, -- -- // Unicode characters in `location.pathname` are percent encoded so they're -- // decoded for comparison. `%25` should not be decoded since it may be part -- // of an encoded parameter. -- decodeFragment: function(fragment) { -- return decodeURI(fragment.replace(/%25/g, '%2525')); -- }, -- -- // In IE6, the hash fragment and search params are incorrect if the -- // fragment contains `?`. -- getSearch: function() { -- var match = this.location.href.replace(/#.*/, '').match(/\?.+/); -- return match ? match[0] : ''; -- }, -- -- // Gets the true hash value. Cannot use location.hash directly due to bug -- // in Firefox where location.hash will always be decoded. -- getHash: function(window) { -- var match = (window || this).location.href.match(/#(.*)$/); -- return match ? match[1] : ''; -- }, -- -- // Get the pathname and search params, without the root. -- getPath: function() { -- var path = this.decodeFragment( -- this.location.pathname + this.getSearch() -- ).slice(this.root.length - 1); -- return path.charAt(0) === '/' ? path.slice(1) : path; -- }, -- -- // Get the cross-browser normalized URL fragment from the path or hash. -- getFragment: function(fragment) { -- if (fragment == null) { -- if (this._usePushState || !this._wantsHashChange) { -- fragment = this.getPath(); -- } else { -- fragment = this.getHash(); -- } -- } -- return fragment.replace(routeStripper, ''); -- }, -- -- // Start the hash change handling, returning `true` if the current URL matches -- // an existing route, and `false` otherwise. -- start: function(options) { -- if (History.started) throw new Error('Backbone.history has already been started'); -- History.started = true; -- -- // Figure out the initial configuration. Do we need an iframe? -- // Is pushState desired ... is it available? -- this.options = _.extend({root: '/'}, this.options, options); -- this.root = this.options.root; -- this._wantsHashChange = this.options.hashChange !== false; -- this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7); -- this._useHashChange = this._wantsHashChange && this._hasHashChange; -- this._wantsPushState = !!this.options.pushState; -- this._hasPushState = !!(this.history && this.history.pushState); -- this._usePushState = this._wantsPushState && this._hasPushState; -- this.fragment = this.getFragment(); -- -- // Normalize root to always include a leading and trailing slash. -- this.root = ('/' + this.root + '/').replace(rootStripper, '/'); -- -- // Transition from hashChange to pushState or vice versa if both are -- // requested. -- if (this._wantsHashChange && this._wantsPushState) { -- -- // If we've started off with a route from a `pushState`-enabled -- // browser, but we're currently in a browser that doesn't support it... -- if (!this._hasPushState && !this.atRoot()) { -- var rootPath = this.root.slice(0, -1) || '/'; -- this.location.replace(rootPath + '#' + this.getPath()); -- // Return immediately as browser will do redirect to new url -- return true; -- -- // Or if we've started out with a hash-based route, but we're currently -- // in a browser where it could be `pushState`-based instead... -- } else if (this._hasPushState && this.atRoot()) { -- this.navigate(this.getHash(), {replace: true}); -- } -- -- } -- -- // Proxy an iframe to handle location events if the browser doesn't -- // support the `hashchange` event, HTML5 history, or the user wants -- // `hashChange` but not `pushState`. -- if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) { -- this.iframe = document.createElement('iframe'); -- this.iframe.src = 'javascript:0'; -- this.iframe.style.display = 'none'; -- this.iframe.tabIndex = -1; -- var body = document.body; -- // Using `appendChild` will throw on IE < 9 if the document is not ready. -- var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow; -- iWindow.document.open(); -- iWindow.document.close(); -- iWindow.location.hash = '#' + this.fragment; -- } -- -- // Add a cross-platform `addEventListener` shim for older browsers. -- var addEventListener = window.addEventListener || function(eventName, listener) { -- return attachEvent('on' + eventName, listener); -- }; -- -- // Depending on whether we're using pushState or hashes, and whether -- // 'onhashchange' is supported, determine how we check the URL state. -- if (this._usePushState) { -- addEventListener('popstate', this.checkUrl, false); -- } else if (this._useHashChange && !this.iframe) { -- addEventListener('hashchange', this.checkUrl, false); -- } else if (this._wantsHashChange) { -- this._checkUrlInterval = setInterval(this.checkUrl, this.interval); -- } -- -- if (!this.options.silent) return this.loadUrl(); -- }, -- -- // Disable Backbone.history, perhaps temporarily. Not useful in a real app, -- // but possibly useful for unit testing Routers. -- stop: function() { -- // Add a cross-platform `removeEventListener` shim for older browsers. -- var removeEventListener = window.removeEventListener || function(eventName, listener) { -- return detachEvent('on' + eventName, listener); -- }; -- -- // Remove window listeners. -- if (this._usePushState) { -- removeEventListener('popstate', this.checkUrl, false); -- } else if (this._useHashChange && !this.iframe) { -- removeEventListener('hashchange', this.checkUrl, false); -- } -- -- // Clean up the iframe if necessary. -- if (this.iframe) { -- document.body.removeChild(this.iframe); -- this.iframe = null; -- } -- -- // Some environments will throw when clearing an undefined interval. -- if (this._checkUrlInterval) clearInterval(this._checkUrlInterval); -- History.started = false; -- }, -- -- // Add a route to be tested when the fragment changes. Routes added later -- // may override previous routes. -- route: function(route, callback) { -- this.handlers.unshift({route: route, callback: callback}); -- }, -- -- // Checks the current URL to see if it has changed, and if it has, -- // calls `loadUrl`, normalizing across the hidden iframe. -- checkUrl: function(e) { -- var current = this.getFragment(); -- -- // If the user pressed the back button, the iframe's hash will have -- // changed and we should use that for comparison. -- if (current === this.fragment && this.iframe) { -- current = this.getHash(this.iframe.contentWindow); -- } -- -- if (current === this.fragment) return false; -- if (this.iframe) this.navigate(current); -- this.loadUrl(); -- }, -- -- // Attempt to load the current URL fragment. If a route succeeds with a -- // match, returns `true`. If no defined routes matches the fragment, -- // returns `false`. -- loadUrl: function(fragment) { -- // If the root doesn't match, no routes can match either. -- if (!this.matchRoot()) return false; -- fragment = this.fragment = this.getFragment(fragment); -- return _.some(this.handlers, function(handler) { -- if (handler.route.test(fragment)) { -- handler.callback(fragment); -- return true; -- } -- }); -- }, -- -- // Save a fragment into the hash history, or replace the URL state if the -- // 'replace' option is passed. You are responsible for properly URL-encoding -- // the fragment in advance. -- // -- // The options object can contain `trigger: true` if you wish to have the -- // route callback be fired (not usually desirable), or `replace: true`, if -- // you wish to modify the current URL without adding an entry to the history. -- navigate: function(fragment, options) { -- if (!History.started) return false; -- if (!options || options === true) options = {trigger: !!options}; -- -- // Normalize the fragment. -- fragment = this.getFragment(fragment || ''); -- -- // Don't include a trailing slash on the root. -- var rootPath = this.root; -- if (fragment === '' || fragment.charAt(0) === '?') { -- rootPath = rootPath.slice(0, -1) || '/'; -- } -- var url = rootPath + fragment; -- -- // Strip the fragment of the query and hash for matching. -- fragment = fragment.replace(pathStripper, ''); -- -- // Decode for matching. -- var decodedFragment = this.decodeFragment(fragment); -- -- if (this.fragment === decodedFragment) return; -- this.fragment = decodedFragment; -- -- // If pushState is available, we use it to set the fragment as a real URL. -- if (this._usePushState) { -- this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url); -- -- // If hash changes haven't been explicitly disabled, update the hash -- // fragment to store history. -- } else if (this._wantsHashChange) { -- this._updateHash(this.location, fragment, options.replace); -- if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) { -- var iWindow = this.iframe.contentWindow; -- -- // Opening and closing the iframe tricks IE7 and earlier to push a -- // history entry on hash-tag change. When replace is true, we don't -- // want this. -- if (!options.replace) { -- iWindow.document.open(); -- iWindow.document.close(); -- } -- -- this._updateHash(iWindow.location, fragment, options.replace); -- } -- -- // If you've told us that you explicitly don't want fallback hashchange- -- // based history, then `navigate` becomes a page refresh. -- } else { -- return this.location.assign(url); -- } -- if (options.trigger) return this.loadUrl(fragment); -- }, -- -- // Update the hash location, either replacing the current entry, or adding -- // a new one to the browser history. -- _updateHash: function(location, fragment, replace) { -- if (replace) { -- var href = location.href.replace(/(javascript:|#).*$/, ''); -- location.replace(href + '#' + fragment); -- } else { -- // Some browsers require that `hash` contains a leading #. -- location.hash = '#' + fragment; -- } -- } -- -- }); -- -- // Create the default Backbone.history. -- Backbone.history = new History; -- - // Helpers - // ------- - -@@ -2076,7 +1382,7 @@ - }; - - // Set up inheritance for the model, collection, router, view and history. -- Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend; -+ Model.extend = Collection.extend = extend; - - // Throw an error when a URL is needed, and none is supplied. - var urlError = function() { diff --git a/patches/backbone+1.6.0.patch b/patches/backbone+1.6.0.patch new file mode 100644 index 00000000000..41e6abb458d --- /dev/null +++ b/patches/backbone+1.6.0.patch @@ -0,0 +1,775 @@ +diff --git a/node_modules/backbone/backbone-min.js b/node_modules/backbone/backbone-min.js +deleted file mode 100644 +index 9bcce86..0000000 +--- a/node_modules/backbone/backbone-min.js ++++ /dev/null +@@ -1,2 +0,0 @@ +-(function(r){var n=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(t,e,i){n.Backbone=r(n,i,t,e)})}else if(typeof exports!=="undefined"){var t=require("underscore"),e;try{e=require("jquery")}catch(t){}r(n,exports,t,e)}else{n.Backbone=r(n,{},n._,n.jQuery||n.Zepto||n.ender||n.$)}})(function(t,h,x,e){var i=t.Backbone;var a=Array.prototype.slice;h.VERSION="1.6.0";h.$=e;h.noConflict=function(){t.Backbone=i;return this};h.emulateHTTP=false;h.emulateJSON=false;var r=h.Events={};var o=/\s+/;var l;var u=function(t,e,i,r,n){var s=0,a;if(i&&typeof i==="object"){if(r!==void 0&&"context"in n&&n.context===void 0)n.context=r;for(a=x.keys(i);sthis.length)r=this.length;if(r<0)r+=this.length+1;var n=[];var s=[];var a=[];var o=[];var h={};var l=e.add;var u=e.merge;var c=e.remove;var f=false;var d=this.comparator&&r==null&&e.sort!==false;var v=x.isString(this.comparator)?this.comparator:null;var p,g;for(g=0;g0&&!e.silent)delete e.index;return i},_isModel:function(t){return t instanceof g},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes,t.idAttribute);if(i!=null)this._byId[i]=t;t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes,t.idAttribute);if(i!=null)delete this._byId[i];if(this===t.collection)delete t.collection;t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,r){if(e){if((t==="add"||t==="remove")&&i!==this)return;if(t==="destroy")this.remove(e,r);if(t==="changeId"){var n=this.modelId(e.previousAttributes(),e.idAttribute);var s=this.modelId(e.attributes,e.idAttribute);if(n!=null)delete this._byId[n];if(s!=null)this._byId[s]=e}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,i){if(this.has(t))return;this._onModelEvent("error",t,e,i)}});var y=typeof Symbol==="function"&&Symbol.iterator;if(y){m.prototype[y]=m.prototype.values}var b=function(t,e){this._collection=t;this._kind=e;this._index=0};var S=1;var I=2;var k=3;if(y){b.prototype[y]=function(){return this}}b.prototype.next=function(){if(this._collection){if(this._index7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(L,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var i=document.body;var r=i.insertBefore(this.iframe,i.firstChild).contentWindow;r.document.open();r.document.close();r.location.hash="#"+this.fragment}var n=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){n("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){n("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);B.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment){if(!this.matchRoot())return this.notfound();return false}if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(e){if(!this.matchRoot())return this.notfound();e=this.fragment=this.getFragment(e);return x.some(this.handlers,function(t){if(t.route.test(e)){t.callback(e);return true}})||this.notfound()},notfound:function(){this.trigger("notfound");return false},navigate:function(t,e){if(!B.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(!this._trailingSlash&&(t===""||t.charAt(0)==="?")){i=i.slice(0,-1)||"/"}var r=i+t;t=t.replace(W,"");var n=this.decodeFragment(t);if(this.fragment===n)return;this.fragment=n;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,r)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;if(!e.replace){s.document.open();s.document.close()}this._updateHash(s.location,t,e.replace)}}else{return this.location.assign(r)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});h.history=new B;var D=function(t,e){var i=this;var r;if(t&&x.has(t,"constructor")){r=t.constructor}else{r=function(){return i.apply(this,arguments)}}x.extend(r,i,e);r.prototype=x.create(i.prototype,t);r.prototype.constructor=r;r.__super__=i.prototype;return r};g.extend=m.extend=O.extend=A.extend=B.extend=D;var V=function(){throw new Error('A "url" property or function must be specified')};var G=function(e,i){var r=i.error;i.error=function(t){if(r)r.call(i.context,e,t,i);e.trigger("error",e,t,i)}};h._debug=function(){return{root:t,_:x}};return h}); +-//# sourceMappingURL=backbone-min.js.map +\ No newline at end of file +diff --git a/node_modules/backbone/backbone-min.js.map b/node_modules/backbone/backbone-min.js.map +deleted file mode 100644 +index 2ba6c35..0000000 +--- a/node_modules/backbone/backbone-min.js.map ++++ /dev/null +@@ -1 +0,0 @@ +-{"version":3,"sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","Array","prototype","VERSION","noConflict","this","emulateHTTP","emulateJSON","Events","eventSplitter","_listening","eventsApi","iteratee","events","name","callback","opts","i","names","context","keys","length","test","split","on","_events","onApi","ctx","listening","listeners","_listeners","id","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","error","tryCatchOn","options","handlers","count","push","off","offApi","stopListening","ids","isEmpty","cleanup","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","map","offer","apply","arguments","trigger","Math","max","args","triggerApi","objEvents","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","call","listener","unbind","extend","Model","attributes","attrs","preinitialize","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","prevId","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","method","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","splice","array","insert","at","min","tail","singular","isArray","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","m","index","_removeReference","previousModels","pop","unshift","shift","_byId","modelId","where","first","findWhere","Error","isFunction","sortBy","pluck","create","callbackOpts","_forwardPristineError","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","indexOf","_onModelEvent","event","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","value","done","View","pick","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","find","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","undelegate","_createElement","document","createElement","className","_setAttributes","addMethod","attribute","cb","defaultVal","addUnderscoreMethods","Class","methods","each","instance","isObject","modelMatcher","matcher","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","detect","filter","select","reject","every","any","include","includes","contains","invoke","toArray","size","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","modelMethods","pairs","invert","omit","config","Base","mixin","mappings","functions","memo","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","rootPath","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","notfound","decodedFragment","title","_updateHash","assign","protoProps","staticProps","parent","child","__super__","_debug"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/backbone/backbone-min.map b/node_modules/backbone/backbone-min.map +deleted file mode 100644 +index 2ba6c35..0000000 +--- a/node_modules/backbone/backbone-min.map ++++ /dev/null +@@ -1 +0,0 @@ +-{"version":3,"sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","Array","prototype","VERSION","noConflict","this","emulateHTTP","emulateJSON","Events","eventSplitter","_listening","eventsApi","iteratee","events","name","callback","opts","i","names","context","keys","length","test","split","on","_events","onApi","ctx","listening","listeners","_listeners","id","interop","listenTo","obj","_listenId","uniqueId","listeningTo","_listeningTo","Listening","error","tryCatchOn","options","handlers","count","push","off","offApi","stopListening","ids","isEmpty","cleanup","remaining","j","handler","_callback","once","onceMap","bind","listenToOnce","map","offer","apply","arguments","trigger","Math","max","args","triggerApi","objEvents","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","call","listener","unbind","extend","Model","attributes","attrs","preinitialize","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","prevId","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","method","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","splice","array","insert","at","min","tail","singular","isArray","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sort","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","m","index","_removeReference","previousModels","pop","unshift","shift","_byId","modelId","where","first","findWhere","Error","isFunction","sortBy","pluck","create","callbackOpts","_forwardPristineError","values","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","entries","ITERATOR_KEYSVALUES","indexOf","_onModelEvent","event","$$iterator","Symbol","iterator","kind","_collection","_kind","_index","next","value","done","View","pick","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","find","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","undelegate","_createElement","document","createElement","className","_setAttributes","addMethod","attribute","cb","defaultVal","addUnderscoreMethods","Class","methods","each","instance","isObject","modelMatcher","matcher","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","detect","filter","select","reject","every","any","include","includes","contains","invoke","toArray","size","head","take","initial","rest","drop","last","without","difference","shuffle","lastIndexOf","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","modelMethods","pairs","invert","omit","config","Base","mixin","mappings","functions","memo","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","checkUrl","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","rootPath","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","notfound","decodedFragment","title","_updateHash","assign","protoProps","staticProps","parent","child","__super__","_debug"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/backbone/backbone.js b/node_modules/backbone/backbone.js +index aa36f1e..9dfedbb 100644 +--- a/node_modules/backbone/backbone.js ++++ b/node_modules/backbone/backbone.js +@@ -12,24 +12,8 @@ + var root = typeof self == 'object' && self.self === self && self || + typeof global == 'object' && global.global === global && global; + +- // Set up Backbone appropriately for the environment. Start with AMD. +- if (typeof define === 'function' && define.amd) { +- define(['underscore', 'jquery', 'exports'], function(_, $, exports) { +- // Export global even in AMD case in case this script is loaded with +- // others that may still expect a global Backbone. +- root.Backbone = factory(root, exports, _, $); +- }); +- +- // Next for Node.js or CommonJS. jQuery may not be needed as a module. +- } else if (typeof exports !== 'undefined') { +- var _ = require('underscore'), $; +- try { $ = require('jquery'); } catch (e) {} +- factory(root, exports, _, $); +- +- // Finally, as a browser global. +- } else { +- root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$); +- } ++ var _ = require('lodash'), $; ++ factory(root, exports, _, $); + + })(function(root, Backbone, _, $) { + +@@ -46,10 +30,6 @@ + // Current version of the library. Keep in sync with `package.json`. + Backbone.VERSION = '1.6.0'; + +- // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns +- // the `$` variable. +- Backbone.$ = $; +- + // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable + // to its previous owner. Returns a reference to this Backbone object. + Backbone.noConflict = function() { +@@ -1319,174 +1299,6 @@ + return {value: void 0, done: true}; + }; + +- // Backbone.View +- // ------------- +- +- // Backbone Views are almost more convention than they are actual code. A View +- // is simply a JavaScript object that represents a logical chunk of UI in the +- // DOM. This might be a single item, an entire list, a sidebar or panel, or +- // even the surrounding frame which wraps your whole app. Defining a chunk of +- // UI as a **View** allows you to define your DOM events declaratively, without +- // having to worry about render order ... and makes it easy for the view to +- // react to specific changes in the state of your models. +- +- // Creating a Backbone.View creates its initial element outside of the DOM, +- // if an existing element is not provided... +- var View = Backbone.View = function(options) { +- this.cid = _.uniqueId('view'); +- this.preinitialize.apply(this, arguments); +- _.extend(this, _.pick(options, viewOptions)); +- this._ensureElement(); +- this.initialize.apply(this, arguments); +- }; +- +- // Cached regex to split keys for `delegate`. +- var delegateEventSplitter = /^(\S+)\s*(.*)$/; +- +- // List of view options to be set as properties. +- var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; +- +- // Set up all inheritable **Backbone.View** properties and methods. +- _.extend(View.prototype, Events, { +- +- // The default `tagName` of a View's element is `"div"`. +- tagName: 'div', +- +- // jQuery delegate for element lookup, scoped to DOM elements within the +- // current view. This should be preferred to global lookups where possible. +- $: function(selector) { +- return this.$el.find(selector); +- }, +- +- // preinitialize is an empty function by default. You can override it with a function +- // or object. preinitialize will run before any instantiation logic is run in the View +- preinitialize: function(){}, +- +- // Initialize is an empty function by default. Override it with your own +- // initialization logic. +- initialize: function(){}, +- +- // **render** is the core function that your view should override, in order +- // to populate its element (`this.el`), with the appropriate HTML. The +- // convention is for **render** to always return `this`. +- render: function() { +- return this; +- }, +- +- // Remove this view by taking the element out of the DOM, and removing any +- // applicable Backbone.Events listeners. +- remove: function() { +- this._removeElement(); +- this.stopListening(); +- return this; +- }, +- +- // Remove this view's element from the document and all event listeners +- // attached to it. Exposed for subclasses using an alternative DOM +- // manipulation API. +- _removeElement: function() { +- this.$el.remove(); +- }, +- +- // Change the view's element (`this.el` property) and re-delegate the +- // view's events on the new element. +- setElement: function(element) { +- this.undelegateEvents(); +- this._setElement(element); +- this.delegateEvents(); +- return this; +- }, +- +- // Creates the `this.el` and `this.$el` references for this view using the +- // given `el`. `el` can be a CSS selector or an HTML string, a jQuery +- // context or an element. Subclasses can override this to utilize an +- // alternative DOM manipulation API and are only required to set the +- // `this.el` property. +- _setElement: function(el) { +- this.$el = el instanceof Backbone.$ ? el : Backbone.$(el); +- this.el = this.$el[0]; +- }, +- +- // Set callbacks, where `this.events` is a hash of +- // +- // *{"event selector": "callback"}* +- // +- // { +- // 'mousedown .title': 'edit', +- // 'click .button': 'save', +- // 'click .open': function(e) { ... } +- // } +- // +- // pairs. Callbacks will be bound to the view, with `this` set properly. +- // Uses event delegation for efficiency. +- // Omitting the selector binds the event to `this.el`. +- delegateEvents: function(events) { +- events || (events = _.result(this, 'events')); +- if (!events) return this; +- this.undelegateEvents(); +- for (var key in events) { +- var method = events[key]; +- if (!_.isFunction(method)) method = this[method]; +- if (!method) continue; +- var match = key.match(delegateEventSplitter); +- this.delegate(match[1], match[2], method.bind(this)); +- } +- return this; +- }, +- +- // Add a single event listener to the view's element (or a child element +- // using `selector`). This only works for delegate-able events: not `focus`, +- // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer. +- delegate: function(eventName, selector, listener) { +- this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener); +- return this; +- }, +- +- // Clears all callbacks previously bound to the view by `delegateEvents`. +- // You usually don't need to use this, but may wish to if you have multiple +- // Backbone views attached to the same DOM element. +- undelegateEvents: function() { +- if (this.$el) this.$el.off('.delegateEvents' + this.cid); +- return this; +- }, +- +- // A finer-grained `undelegateEvents` for removing a single delegated event. +- // `selector` and `listener` are both optional. +- undelegate: function(eventName, selector, listener) { +- this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener); +- return this; +- }, +- +- // Produces a DOM element to be assigned to your view. Exposed for +- // subclasses using an alternative DOM manipulation API. +- _createElement: function(tagName) { +- return document.createElement(tagName); +- }, +- +- // Ensure that the View has a DOM element to render into. +- // If `this.el` is a string, pass it through `$()`, take the first +- // matching element, and re-assign it to `el`. Otherwise, create +- // an element from the `id`, `className` and `tagName` properties. +- _ensureElement: function() { +- if (!this.el) { +- var attrs = _.extend({}, _.result(this, 'attributes')); +- if (this.id) attrs.id = _.result(this, 'id'); +- if (this.className) attrs['class'] = _.result(this, 'className'); +- this.setElement(this._createElement(_.result(this, 'tagName'))); +- this._setAttributes(attrs); +- } else { +- this.setElement(_.result(this, 'el')); +- } +- }, +- +- // Set attributes from a hash on this view's element. Exposed for +- // subclasses using an alternative DOM manipulation API. +- _setAttributes: function(attributes) { +- this.$el.attr(attributes); +- } +- +- }); +- + // Proxy Backbone class methods to Underscore functions, wrapping the model's + // `attributes` object or collection's `models` array behind the scenes. + // +@@ -1575,523 +1387,6 @@ + addUnderscoreMethods(Base, _, methods, attribute); + }); + +- // Backbone.sync +- // ------------- +- +- // Override this function to change the manner in which Backbone persists +- // models to the server. You will be passed the type of request, and the +- // model in question. By default, makes a RESTful Ajax request +- // to the model's `url()`. Some possible customizations could be: +- // +- // * Use `setTimeout` to batch rapid-fire updates into a single request. +- // * Send up the models as XML instead of JSON. +- // * Persist models via WebSockets instead of Ajax. +- // +- // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests +- // as `POST`, with a `_method` parameter containing the true HTTP method, +- // as well as all requests with the body as `application/x-www-form-urlencoded` +- // instead of `application/json` with the model in a param named `model`. +- // Useful when interfacing with server-side languages like **PHP** that make +- // it difficult to read the body of `PUT` requests. +- Backbone.sync = function(method, model, options) { +- var type = methodMap[method]; +- +- // Default options, unless specified. +- _.defaults(options || (options = {}), { +- emulateHTTP: Backbone.emulateHTTP, +- emulateJSON: Backbone.emulateJSON +- }); +- +- // Default JSON-request options. +- var params = {type: type, dataType: 'json'}; +- +- // Ensure that we have a URL. +- if (!options.url) { +- params.url = _.result(model, 'url') || urlError(); +- } +- +- // Ensure that we have the appropriate request data. +- if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) { +- params.contentType = 'application/json'; +- params.data = JSON.stringify(options.attrs || model.toJSON(options)); +- } +- +- // For older servers, emulate JSON by encoding the request into an HTML-form. +- if (options.emulateJSON) { +- params.contentType = 'application/x-www-form-urlencoded'; +- params.data = params.data ? {model: params.data} : {}; +- } +- +- // For older servers, emulate HTTP by mimicking the HTTP method with `_method` +- // And an `X-HTTP-Method-Override` header. +- if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) { +- params.type = 'POST'; +- if (options.emulateJSON) params.data._method = type; +- var beforeSend = options.beforeSend; +- options.beforeSend = function(xhr) { +- xhr.setRequestHeader('X-HTTP-Method-Override', type); +- if (beforeSend) return beforeSend.apply(this, arguments); +- }; +- } +- +- // Don't process data on a non-GET request. +- if (params.type !== 'GET' && !options.emulateJSON) { +- params.processData = false; +- } +- +- // Pass along `textStatus` and `errorThrown` from jQuery. +- var error = options.error; +- options.error = function(xhr, textStatus, errorThrown) { +- options.textStatus = textStatus; +- options.errorThrown = errorThrown; +- if (error) error.call(options.context, xhr, textStatus, errorThrown); +- }; +- +- // Make the request, allowing the user to override any Ajax options. +- var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); +- model.trigger('request', model, xhr, options); +- return xhr; +- }; +- +- // Map from CRUD to HTTP for our default `Backbone.sync` implementation. +- var methodMap = { +- 'create': 'POST', +- 'update': 'PUT', +- 'patch': 'PATCH', +- 'delete': 'DELETE', +- 'read': 'GET' +- }; +- +- // Set the default implementation of `Backbone.ajax` to proxy through to `$`. +- // Override this if you'd like to use a different library. +- Backbone.ajax = function() { +- return Backbone.$.ajax.apply(Backbone.$, arguments); +- }; +- +- // Backbone.Router +- // --------------- +- +- // Routers map faux-URLs to actions, and fire events when routes are +- // matched. Creating a new one sets its `routes` hash, if not set statically. +- var Router = Backbone.Router = function(options) { +- options || (options = {}); +- this.preinitialize.apply(this, arguments); +- if (options.routes) this.routes = options.routes; +- this._bindRoutes(); +- this.initialize.apply(this, arguments); +- }; +- +- // Cached regular expressions for matching named param parts and splatted +- // parts of route strings. +- var optionalParam = /\((.*?)\)/g; +- var namedParam = /(\(\?)?:\w+/g; +- var splatParam = /\*\w+/g; +- var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; +- +- // Set up all inheritable **Backbone.Router** properties and methods. +- _.extend(Router.prototype, Events, { +- +- // preinitialize is an empty function by default. You can override it with a function +- // or object. preinitialize will run before any instantiation logic is run in the Router. +- preinitialize: function(){}, +- +- // Initialize is an empty function by default. Override it with your own +- // initialization logic. +- initialize: function(){}, +- +- // Manually bind a single named route to a callback. For example: +- // +- // this.route('search/:query/p:num', 'search', function(query, num) { +- // ... +- // }); +- // +- route: function(route, name, callback) { +- if (!_.isRegExp(route)) route = this._routeToRegExp(route); +- if (_.isFunction(name)) { +- callback = name; +- name = ''; +- } +- if (!callback) callback = this[name]; +- var router = this; +- Backbone.history.route(route, function(fragment) { +- var args = router._extractParameters(route, fragment); +- if (router.execute(callback, args, name) !== false) { +- router.trigger.apply(router, ['route:' + name].concat(args)); +- router.trigger('route', name, args); +- Backbone.history.trigger('route', router, name, args); +- } +- }); +- return this; +- }, +- +- // Execute a route handler with the provided parameters. This is an +- // excellent place to do pre-route setup or post-route cleanup. +- execute: function(callback, args, name) { +- if (callback) callback.apply(this, args); +- }, +- +- // Simple proxy to `Backbone.history` to save a fragment into the history. +- navigate: function(fragment, options) { +- Backbone.history.navigate(fragment, options); +- return this; +- }, +- +- // Bind all defined routes to `Backbone.history`. We have to reverse the +- // order of the routes here to support behavior where the most general +- // routes can be defined at the bottom of the route map. +- _bindRoutes: function() { +- if (!this.routes) return; +- this.routes = _.result(this, 'routes'); +- var route, routes = _.keys(this.routes); +- while ((route = routes.pop()) != null) { +- this.route(route, this.routes[route]); +- } +- }, +- +- // Convert a route string into a regular expression, suitable for matching +- // against the current location hash. +- _routeToRegExp: function(route) { +- route = route.replace(escapeRegExp, '\\$&') +- .replace(optionalParam, '(?:$1)?') +- .replace(namedParam, function(match, optional) { +- return optional ? match : '([^/?]+)'; +- }) +- .replace(splatParam, '([^?]*?)'); +- return new RegExp('^' + route + '(?:\\?([\\s\\S]*))?$'); +- }, +- +- // Given a route, and a URL fragment that it matches, return the array of +- // extracted decoded parameters. Empty or unmatched parameters will be +- // treated as `null` to normalize cross-browser behavior. +- _extractParameters: function(route, fragment) { +- var params = route.exec(fragment).slice(1); +- return _.map(params, function(param, i) { +- // Don't decode the search params. +- if (i === params.length - 1) return param || null; +- return param ? decodeURIComponent(param) : null; +- }); +- } +- +- }); +- +- // Backbone.History +- // ---------------- +- +- // Handles cross-browser history management, based on either +- // [pushState](http://diveintohtml5.info/history.html) and real URLs, or +- // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange) +- // and URL fragments. If the browser supports neither (old IE, natch), +- // falls back to polling. +- var History = Backbone.History = function() { +- this.handlers = []; +- this.checkUrl = this.checkUrl.bind(this); +- +- // Ensure that `History` can be used outside of the browser. +- if (typeof window !== 'undefined') { +- this.location = window.location; +- this.history = window.history; +- } +- }; +- +- // Cached regex for stripping a leading hash/slash and trailing space. +- var routeStripper = /^[#\/]|\s+$/g; +- +- // Cached regex for stripping leading and trailing slashes. +- var rootStripper = /^\/+|\/+$/g; +- +- // Cached regex for stripping urls of hash. +- var pathStripper = /#.*$/; +- +- // Has the history handling already been started? +- History.started = false; +- +- // Set up all inheritable **Backbone.History** properties and methods. +- _.extend(History.prototype, Events, { +- +- // The default interval to poll for hash changes, if necessary, is +- // twenty times a second. +- interval: 50, +- +- // Are we at the app root? +- atRoot: function() { +- var path = this.location.pathname.replace(/[^\/]$/, '$&/'); +- return path === this.root && !this.getSearch(); +- }, +- +- // Does the pathname match the root? +- matchRoot: function() { +- var path = this.decodeFragment(this.location.pathname); +- var rootPath = path.slice(0, this.root.length - 1) + '/'; +- return rootPath === this.root; +- }, +- +- // Unicode characters in `location.pathname` are percent encoded so they're +- // decoded for comparison. `%25` should not be decoded since it may be part +- // of an encoded parameter. +- decodeFragment: function(fragment) { +- return decodeURI(fragment.replace(/%25/g, '%2525')); +- }, +- +- // In IE6, the hash fragment and search params are incorrect if the +- // fragment contains `?`. +- getSearch: function() { +- var match = this.location.href.replace(/#.*/, '').match(/\?.+/); +- return match ? match[0] : ''; +- }, +- +- // Gets the true hash value. Cannot use location.hash directly due to bug +- // in Firefox where location.hash will always be decoded. +- getHash: function(window) { +- var match = (window || this).location.href.match(/#(.*)$/); +- return match ? match[1] : ''; +- }, +- +- // Get the pathname and search params, without the root. +- getPath: function() { +- var path = this.decodeFragment( +- this.location.pathname + this.getSearch() +- ).slice(this.root.length - 1); +- return path.charAt(0) === '/' ? path.slice(1) : path; +- }, +- +- // Get the cross-browser normalized URL fragment from the path or hash. +- getFragment: function(fragment) { +- if (fragment == null) { +- if (this._usePushState || !this._wantsHashChange) { +- fragment = this.getPath(); +- } else { +- fragment = this.getHash(); +- } +- } +- return fragment.replace(routeStripper, ''); +- }, +- +- // Start the hash change handling, returning `true` if the current URL matches +- // an existing route, and `false` otherwise. +- start: function(options) { +- if (History.started) throw new Error('Backbone.history has already been started'); +- History.started = true; +- +- // Figure out the initial configuration. Do we need an iframe? +- // Is pushState desired ... is it available? +- this.options = _.extend({root: '/'}, this.options, options); +- this.root = this.options.root; +- this._trailingSlash = this.options.trailingSlash; +- this._wantsHashChange = this.options.hashChange !== false; +- this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7); +- this._useHashChange = this._wantsHashChange && this._hasHashChange; +- this._wantsPushState = !!this.options.pushState; +- this._hasPushState = !!(this.history && this.history.pushState); +- this._usePushState = this._wantsPushState && this._hasPushState; +- this.fragment = this.getFragment(); +- +- // Normalize root to always include a leading and trailing slash. +- this.root = ('/' + this.root + '/').replace(rootStripper, '/'); +- +- // Transition from hashChange to pushState or vice versa if both are +- // requested. +- if (this._wantsHashChange && this._wantsPushState) { +- +- // If we've started off with a route from a `pushState`-enabled +- // browser, but we're currently in a browser that doesn't support it... +- if (!this._hasPushState && !this.atRoot()) { +- var rootPath = this.root.slice(0, -1) || '/'; +- this.location.replace(rootPath + '#' + this.getPath()); +- // Return immediately as browser will do redirect to new url +- return true; +- +- // Or if we've started out with a hash-based route, but we're currently +- // in a browser where it could be `pushState`-based instead... +- } else if (this._hasPushState && this.atRoot()) { +- this.navigate(this.getHash(), {replace: true}); +- } +- +- } +- +- // Proxy an iframe to handle location events if the browser doesn't +- // support the `hashchange` event, HTML5 history, or the user wants +- // `hashChange` but not `pushState`. +- if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) { +- this.iframe = document.createElement('iframe'); +- this.iframe.src = 'javascript:0'; +- this.iframe.style.display = 'none'; +- this.iframe.tabIndex = -1; +- var body = document.body; +- // Using `appendChild` will throw on IE < 9 if the document is not ready. +- var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow; +- iWindow.document.open(); +- iWindow.document.close(); +- iWindow.location.hash = '#' + this.fragment; +- } +- +- // Add a cross-platform `addEventListener` shim for older browsers. +- var addEventListener = window.addEventListener || function(eventName, listener) { +- return attachEvent('on' + eventName, listener); +- }; +- +- // Depending on whether we're using pushState or hashes, and whether +- // 'onhashchange' is supported, determine how we check the URL state. +- if (this._usePushState) { +- addEventListener('popstate', this.checkUrl, false); +- } else if (this._useHashChange && !this.iframe) { +- addEventListener('hashchange', this.checkUrl, false); +- } else if (this._wantsHashChange) { +- this._checkUrlInterval = setInterval(this.checkUrl, this.interval); +- } +- +- if (!this.options.silent) return this.loadUrl(); +- }, +- +- // Disable Backbone.history, perhaps temporarily. Not useful in a real app, +- // but possibly useful for unit testing Routers. +- stop: function() { +- // Add a cross-platform `removeEventListener` shim for older browsers. +- var removeEventListener = window.removeEventListener || function(eventName, listener) { +- return detachEvent('on' + eventName, listener); +- }; +- +- // Remove window listeners. +- if (this._usePushState) { +- removeEventListener('popstate', this.checkUrl, false); +- } else if (this._useHashChange && !this.iframe) { +- removeEventListener('hashchange', this.checkUrl, false); +- } +- +- // Clean up the iframe if necessary. +- if (this.iframe) { +- document.body.removeChild(this.iframe); +- this.iframe = null; +- } +- +- // Some environments will throw when clearing an undefined interval. +- if (this._checkUrlInterval) clearInterval(this._checkUrlInterval); +- History.started = false; +- }, +- +- // Add a route to be tested when the fragment changes. Routes added later +- // may override previous routes. +- route: function(route, callback) { +- this.handlers.unshift({route: route, callback: callback}); +- }, +- +- // Checks the current URL to see if it has changed, and if it has, +- // calls `loadUrl`, normalizing across the hidden iframe. +- checkUrl: function(e) { +- var current = this.getFragment(); +- +- // If the user pressed the back button, the iframe's hash will have +- // changed and we should use that for comparison. +- if (current === this.fragment && this.iframe) { +- current = this.getHash(this.iframe.contentWindow); +- } +- +- if (current === this.fragment) { +- if (!this.matchRoot()) return this.notfound(); +- return false; +- } +- if (this.iframe) this.navigate(current); +- this.loadUrl(); +- }, +- +- // Attempt to load the current URL fragment. If a route succeeds with a +- // match, returns `true`. If no defined routes matches the fragment, +- // returns `false`. +- loadUrl: function(fragment) { +- // If the root doesn't match, no routes can match either. +- if (!this.matchRoot()) return this.notfound(); +- fragment = this.fragment = this.getFragment(fragment); +- return _.some(this.handlers, function(handler) { +- if (handler.route.test(fragment)) { +- handler.callback(fragment); +- return true; +- } +- }) || this.notfound(); +- }, +- +- // When no route could be matched, this method is called internally to +- // trigger the `'notfound'` event. It returns `false` so that it can be used +- // in tail position. +- notfound: function() { +- this.trigger('notfound'); +- return false; +- }, +- +- // Save a fragment into the hash history, or replace the URL state if the +- // 'replace' option is passed. You are responsible for properly URL-encoding +- // the fragment in advance. +- // +- // The options object can contain `trigger: true` if you wish to have the +- // route callback be fired (not usually desirable), or `replace: true`, if +- // you wish to modify the current URL without adding an entry to the history. +- navigate: function(fragment, options) { +- if (!History.started) return false; +- if (!options || options === true) options = {trigger: !!options}; +- +- // Normalize the fragment. +- fragment = this.getFragment(fragment || ''); +- +- // Strip trailing slash on the root unless _trailingSlash is true +- var rootPath = this.root; +- if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) { +- rootPath = rootPath.slice(0, -1) || '/'; +- } +- var url = rootPath + fragment; +- +- // Strip the fragment of the query and hash for matching. +- fragment = fragment.replace(pathStripper, ''); +- +- // Decode for matching. +- var decodedFragment = this.decodeFragment(fragment); +- +- if (this.fragment === decodedFragment) return; +- this.fragment = decodedFragment; +- +- // If pushState is available, we use it to set the fragment as a real URL. +- if (this._usePushState) { +- this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url); +- +- // If hash changes haven't been explicitly disabled, update the hash +- // fragment to store history. +- } else if (this._wantsHashChange) { +- this._updateHash(this.location, fragment, options.replace); +- if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) { +- var iWindow = this.iframe.contentWindow; +- +- // Opening and closing the iframe tricks IE7 and earlier to push a +- // history entry on hash-tag change. When replace is true, we don't +- // want this. +- if (!options.replace) { +- iWindow.document.open(); +- iWindow.document.close(); +- } +- +- this._updateHash(iWindow.location, fragment, options.replace); +- } +- +- // If you've told us that you explicitly don't want fallback hashchange- +- // based history, then `navigate` becomes a page refresh. +- } else { +- return this.location.assign(url); +- } +- if (options.trigger) return this.loadUrl(fragment); +- }, +- +- // Update the hash location, either replacing the current entry, or adding +- // a new one to the browser history. +- _updateHash: function(location, fragment, replace) { +- if (replace) { +- var href = location.href.replace(/(javascript:|#).*$/, ''); +- location.replace(href + '#' + fragment); +- } else { +- // Some browsers require that `hash` contains a leading #. +- location.hash = '#' + fragment; +- } +- } +- +- }); +- +- // Create the default Backbone.history. +- Backbone.history = new History; + + // Helpers + // ------- +@@ -2128,7 +1423,7 @@ + }; + + // Set up inheritance for the model, collection, router, view and history. +- Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend; ++ Model.extend = Collection.extend = extend; + + // Throw an error when a URL is needed, and none is supplied. + var urlError = function() { diff --git a/patches/proxy-agent+6.3.0.patch b/patches/proxy-agent+6.3.0.patch deleted file mode 100644 index eec8d0f0e07..00000000000 --- a/patches/proxy-agent+6.3.0.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/proxy-agent/dist/index.js b/node_modules/proxy-agent/dist/index.js -index 885d22a..2930652 100644 ---- a/node_modules/proxy-agent/dist/index.js -+++ b/node_modules/proxy-agent/dist/index.js -@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); - exports.ProxyAgent = exports.proxies = void 0; - const http = __importStar(require("http")); - const https = __importStar(require("https")); -+const { URL } = __importStar(require("url")); - const lru_cache_1 = __importDefault(require("lru-cache")); - const agent_base_1 = require("agent-base"); - const debug_1 = __importDefault(require("debug")); diff --git a/patches/react-contextmenu+2.11.0.patch b/patches/react-contextmenu+2.14.0.patch similarity index 79% rename from patches/react-contextmenu+2.11.0.patch rename to patches/react-contextmenu+2.14.0.patch index 0edec4ec38f..578653f8745 100644 --- a/patches/react-contextmenu+2.11.0.patch +++ b/patches/react-contextmenu+2.14.0.patch @@ -1,30 +1,30 @@ diff --git a/node_modules/react-contextmenu/modules/ContextMenu.js b/node_modules/react-contextmenu/modules/ContextMenu.js -index 622a1f9..630ba68 100644 +index 2f88213..150f93e 100644 --- a/node_modules/react-contextmenu/modules/ContextMenu.js +++ b/node_modules/react-contextmenu/modules/ContextMenu.js @@ -81,6 +81,11 @@ var ContextMenu = function (_AbstractMenu) { x = _e$detail$position.x, y = _e$detail$position.y; -+ if (x === undefined) { -+ var rect = e.detail.target.getBoundingClientRect(); -+ x = rect.x; -+ y = rect.y; -+ } ++ if (x === undefined) { ++ var rect = e.detail.target.getBoundingClientRect(); ++ x = rect.x; ++ y = rect.y; ++ } _this.setState({ isVisible: true, x: x, y: y }); _this.registerHandlers(); @@ -226,6 +231,9 @@ var ContextMenu = function (_AbstractMenu) { + var wrapper = window.requestAnimationFrame || setTimeout; if (this.state.isVisible) { - var wrapper = window.requestAnimationFrame || setTimeout; + if (!this.previousFocus) { + this.previousFocus = document.activeElement; + } - wrapper(function () { var _state = _this2.state, -@@ -241,13 +249,21 @@ var ContextMenu = function (_AbstractMenu) { + x = _state.x, +@@ -240,7 +248,10 @@ var ContextMenu = function (_AbstractMenu) { _this2.menu.style.top = top + 'px'; _this2.menu.style.left = left + 'px'; _this2.menu.style.opacity = 1; @@ -35,22 +35,23 @@ index 622a1f9..630ba68 100644 }); }); } else { - if (!this.menu) return; - this.menu.style.opacity = 0; - this.menu.style.pointerEvents = 'none'; +@@ -248,6 +259,11 @@ var ContextMenu = function (_AbstractMenu) { + if (!_this2.menu) return; + _this2.menu.style.opacity = 0; + _this2.menu.style.pointerEvents = 'none'; + -+ if (this.previousFocus && this.previousFocus.focus) { -+ this.previousFocus.focus(); -+ this.previousFocus = null; -+ } ++ if (this.previousFocus && this.previousFocus.focus) { ++ this.previousFocus.focus(); ++ this.previousFocus = null; ++ } + }); } } - }, { diff --git a/node_modules/react-contextmenu/modules/SubMenu.js b/node_modules/react-contextmenu/modules/SubMenu.js -index 3eb1d4e..0734b63 100644 +index ad1dc70..ef0c960 100644 --- a/node_modules/react-contextmenu/modules/SubMenu.js +++ b/node_modules/react-contextmenu/modules/SubMenu.js -@@ -123,6 +123,7 @@ var SubMenu = function (_AbstractMenu) { +@@ -129,6 +129,7 @@ var SubMenu = function (_AbstractMenu) { if (_this.props.disabled || _this.state.visible) return; @@ -58,7 +59,7 @@ index 3eb1d4e..0734b63 100644 _this.opentimer = setTimeout(function () { return _this.setState({ visible: true, -@@ -136,6 +137,7 @@ var SubMenu = function (_AbstractMenu) { +@@ -142,6 +143,7 @@ var SubMenu = function (_AbstractMenu) { if (!_this.state.visible) return; @@ -66,7 +67,7 @@ index 3eb1d4e..0734b63 100644 _this.closetimer = setTimeout(function () { return _this.setState({ visible: false, -@@ -164,6 +166,15 @@ var SubMenu = function (_AbstractMenu) { +@@ -170,6 +172,15 @@ var SubMenu = function (_AbstractMenu) { } }; @@ -82,7 +83,7 @@ index 3eb1d4e..0734b63 100644 _this.state = (0, _objectAssign2.default)({}, _this.state, { visible: false }); -@@ -196,32 +207,28 @@ var SubMenu = function (_AbstractMenu) { +@@ -202,21 +213,24 @@ var SubMenu = function (_AbstractMenu) { if (this.props.forceOpen || this.state.visible) { var wrapper = window.requestAnimationFrame || setTimeout; wrapper(function () { @@ -121,14 +122,11 @@ index 3eb1d4e..0734b63 100644 + } }); } else { -- var cleanup = function cleanup() { -- _this2.subMenu.removeEventListener('transitionend', cleanup); -- _this2.subMenu.style.removeProperty('bottom'); -- _this2.subMenu.style.removeProperty('right'); -- _this2.subMenu.style.top = 0; -- _this2.subMenu.style.left = '100%'; -- _this2.unregisterHandlers(); -- }; + var cleanup = function cleanup() { +@@ -227,7 +241,8 @@ var SubMenu = function (_AbstractMenu) { + _this2.subMenu.style.left = '100%'; + _this2.unregisterHandlers(); + }; - this.subMenu.addEventListener('transitionend', cleanup); + this.subMenu.removeEventListener('transitionend', this.cleanup); + this.subMenu.addEventListener('transitionend', this.cleanup); diff --git a/patches/react-textarea-autosize+8.3.4.patch b/patches/react-textarea-autosize+8.3.4.patch deleted file mode 100644 index c0e83b6d553..00000000000 --- a/patches/react-textarea-autosize+8.3.4.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js -index ce25001..36bcd17 100644 ---- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js -+++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js -@@ -110,7 +110,7 @@ var pick = function pick(props, obj) { - var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', // non-standard - 'tabSize', 'textIndent', // non-standard - 'textRendering', 'textTransform', 'width', 'wordBreak']; --var isIE = typeof document !== 'undefined' ? !!document.documentElement.currentStyle : false; -+var isIE = false; - - var getSizingData = function getSizingData(node) { - var style = window.getComputedStyle(node); -diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js -index d4e39a2..f26641e 100644 ---- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js -+++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js -@@ -110,7 +110,7 @@ var pick = function pick(props, obj) { - var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', // non-standard - 'tabSize', 'textIndent', // non-standard - 'textRendering', 'textTransform', 'width', 'wordBreak']; --var isIE = typeof document !== 'undefined' ? !!document.documentElement.currentStyle : false; -+var isIE = false; - - var getSizingData = function getSizingData(node) { - var style = window.getComputedStyle(node); diff --git a/patches/react-textarea-autosize+8.5.5.patch b/patches/react-textarea-autosize+8.5.5.patch new file mode 100644 index 00000000000..5debd0eb433 --- /dev/null +++ b/patches/react-textarea-autosize+8.5.5.patch @@ -0,0 +1,52 @@ +diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js +index 37d2acb..7f76a65 100644 +--- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js ++++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js +@@ -122,7 +122,7 @@ var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', + 'tabSize', 'textIndent', + // non-standard + 'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter']; +-var isIE = !!document.documentElement.currentStyle ; ++var isIE = false; + var getSizingData = function getSizingData(node) { + var style = window.getComputedStyle(node); + if (style === null) { +diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js +index 51e50d5..29a11e3 100644 +--- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js ++++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js +@@ -122,7 +122,7 @@ var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', + 'tabSize', 'textIndent', + // non-standard + 'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter']; +-var isIE = !!document.documentElement.currentStyle ; ++var isIE = false; + var getSizingData = function getSizingData(node) { + var style = window.getComputedStyle(node); + if (style === null) { +diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js +index bbaa14c..4eac3f8 100644 +--- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js ++++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js +@@ -94,7 +94,7 @@ var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', + 'tabSize', 'textIndent', + // non-standard + 'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter']; +-var isIE = !!document.documentElement.currentStyle ; ++var isIE = false; + var getSizingData = function getSizingData(node) { + var style = window.getComputedStyle(node); + if (style === null) { +diff --git a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js +index 7376e08..196b550 100644 +--- a/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js ++++ b/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js +@@ -94,7 +94,7 @@ var SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', + 'tabSize', 'textIndent', + // non-standard + 'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter']; +-var isIE = !!document.documentElement.currentStyle ; ++var isIE = false; + var getSizingData = function getSizingData(node) { + var style = window.getComputedStyle(node); + if (style === null) { diff --git a/patches/socks-proxy-agent+8.0.1.patch b/patches/socks-proxy-agent+8.0.1.patch deleted file mode 100644 index 72d3bb81a40..00000000000 --- a/patches/socks-proxy-agent+8.0.1.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/node_modules/socks-proxy-agent/dist/index.js b/node_modules/socks-proxy-agent/dist/index.js -index 8189e01..e2dedf8 100644 ---- a/node_modules/socks-proxy-agent/dist/index.js -+++ b/node_modules/socks-proxy-agent/dist/index.js -@@ -33,6 +33,7 @@ const debug_1 = __importDefault(require("debug")); - const dns = __importStar(require("dns")); - const net = __importStar(require("net")); - const tls = __importStar(require("tls")); -+const { URL } = __importStar(require("url")); - const debug = (0, debug_1.default)('socks-proxy-agent'); - function parseSocksURL(url) { - let lookup = false; -@@ -127,6 +128,9 @@ class SocksProxyAgent extends agent_base_1.Agent { - }, - command: 'connect', - timeout: timeout ?? undefined, -+ socket_options: { -+ lookup: lookupFn, -+ }, - }; - const cleanup = (tlsSocket) => { - req.destroy(); diff --git a/stylesheets/_global.scss b/stylesheets/_global.scss index b893ef6b5fd..9fb5556a861 100644 --- a/stylesheets/_global.scss +++ b/stylesheets/_global.scss @@ -413,11 +413,14 @@ $loading-height: 16px; font-size: 10pt; input { - margin-top: 1em; font-size: 12pt; border: 2px solid variables.$color-ultramarine; padding: 0.5em; text-align: center; + } + + .phone-input .number { + margin-top: 1em; width: 20em; } diff --git a/stylesheets/_options.scss b/stylesheets/_options.scss index 4ce6953457e..6c77d999826 100644 --- a/stylesheets/_options.scss +++ b/stylesheets/_options.scss @@ -6,21 +6,9 @@ @use 'variables'; @use 'progress'; -.iti__flag { - // override intlTelInput's flags image location - background-image: url('../node_modules/intl-tel-input/build/img/flags.png'); -} - -@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { - .iti__flag { - background-image: url('../node_modules/intl-tel-input/build/img/flags@2x.png'); - } -} - -.intl-tel-input .country-list { - text-align: start; -} - -.intl-tel-input .country-list .country .country-name { - color: variables.$color-black; +:root { + --iti-path-flags-1x: url('../node_modules/intl-tel-input/build/img/flags.webp'); + --iti-path-flags-2x: url('../node_modules/intl-tel-input/build/img/flags@2x.webp'); + --iti-path-globe-1x: url('../node_modules/intl-tel-input/build/img/globe.webp'); + --iti-path-globe-2x: url('../node_modules/intl-tel-input/build/img/globe@2x.webp'); } diff --git a/ts/components/CompositionInput.stories.tsx b/ts/components/CompositionInput.stories.tsx index 6795032557a..00338059251 100644 --- a/ts/components/CompositionInput.stories.tsx +++ b/ts/components/CompositionInput.stories.tsx @@ -2,6 +2,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; +// @ts-expect-error -- no types import 'react-quill/dist/quill.core.css'; import { action } from '@storybook/addon-actions'; import type { Meta } from '@storybook/react'; diff --git a/ts/components/StandaloneRegistration.tsx b/ts/components/StandaloneRegistration.tsx index 36ec7b549ee..4f2b44784be 100644 --- a/ts/components/StandaloneRegistration.tsx +++ b/ts/components/StandaloneRegistration.tsx @@ -3,7 +3,7 @@ import type { ChangeEvent } from 'react'; import React, { useState, useEffect, useCallback, useRef } from 'react'; -import type { Plugin } from 'intl-tel-input'; +import type { Iti } from 'intl-tel-input'; import intlTelInput from 'intl-tel-input'; import { strictAssert } from '../util/assert'; @@ -21,7 +21,7 @@ function PhoneInput({ onNumberChange: (number?: string) => void; }): JSX.Element { const [isValid, setIsValid] = useState(false); - const pluginRef = useRef(); + const pluginRef = useRef(); const elemRef = useRef(null); const onRef = useCallback( diff --git a/ts/components/conversation/Linkify.tsx b/ts/components/conversation/Linkify.tsx index 2ad4fdee544..78f1c7d12ef 100644 --- a/ts/components/conversation/Linkify.tsx +++ b/ts/components/conversation/Linkify.tsx @@ -10,7 +10,7 @@ import { isLinkSneaky, shouldLinkifyMessage } from '../../types/LinkPreview'; import { splitByEmoji } from '../../util/emoji'; import { missingCaseError } from '../../util/missingCaseError'; -export const linkify = LinkifyIt() +export const linkify = new LinkifyIt() // This is all TLDs in place in 2010, according to [IANA's root zone database][0] // except for those domains marked as [a test domain][1]. // diff --git a/ts/scripts/generate-tray-icons.ts b/ts/scripts/generate-tray-icons.ts index 10569c62d3a..3408bca5427 100644 --- a/ts/scripts/generate-tray-icons.ts +++ b/ts/scripts/generate-tray-icons.ts @@ -162,7 +162,6 @@ async function generateTrayIconImage( context.font = font; context.textAlign = 'center'; context.textBaseline = 'middle'; - // @ts-expect-error Missing types context.textRendering = 'optimizeLegibility'; context.fontKerning = 'normal'; diff --git a/ts/shims/dispatchItemsMiddleware.ts b/ts/shims/dispatchItemsMiddleware.ts index 9cf2971b07e..b102cf5aa54 100644 --- a/ts/shims/dispatchItemsMiddleware.ts +++ b/ts/shims/dispatchItemsMiddleware.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: AGPL-3.0-only import { ipcRenderer } from 'electron'; -import type { Middleware } from 'redux'; +import type { Middleware, UnknownAction } from 'redux'; import { COLORS_CHANGED, @@ -13,7 +13,9 @@ import { export const dispatchItemsMiddleware: Middleware = ({ getState }) => next => - action => { + _action => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const action = _action as any as UnknownAction; const result = next(action); if ( action.type === 'items/PUT' || diff --git a/ts/state/createStore.ts b/ts/state/createStore.ts index b9cc9c0e313..7480dbfc2c4 100644 --- a/ts/state/createStore.ts +++ b/ts/state/createStore.ts @@ -3,11 +3,11 @@ /* eslint-disable no-console */ -import type { Middleware, Store } from 'redux'; +import type { Middleware, Store, UnknownAction } from 'redux'; import { applyMiddleware, createStore as reduxCreateStore } from 'redux'; import promise from 'redux-promise-middleware'; -import thunk from 'redux-thunk'; +import { thunk } from 'redux-thunk'; import { createLogger } from 'redux-logger'; import * as log from '../logging/log'; @@ -60,7 +60,9 @@ const actionStats: ActionStats = { timestamp: Date.now(), names: [], }; -export const actionRateLogger: Middleware = () => next => action => { +export const actionRateLogger: Middleware = () => next => _action => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const action = _action as any as UnknownAction; const name = action.type; const lastTimestamp = actionStats.timestamp; let count = actionStats.names.length; @@ -101,4 +103,6 @@ const enhancer = applyMiddleware(...middlewareList); export const createStore = ( initialState: Readonly -): Store => reduxCreateStore(reducer, initialState, enhancer); +): Store => + // eslint-disable-next-line @typescript-eslint/no-explicit-any + reduxCreateStore(reducer, initialState, enhancer); diff --git a/ts/state/reinitializeRedux.ts b/ts/state/reinitializeRedux.ts index 4d512b5afc1..b2b815ff4f7 100644 --- a/ts/state/reinitializeRedux.ts +++ b/ts/state/reinitializeRedux.ts @@ -1,7 +1,7 @@ // Copyright 2023 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import type { AnyAction } from 'redux'; +import type { UnknownAction } from 'redux'; import * as log from '../logging/log'; import { getInitialState } from './getInitialState'; @@ -19,7 +19,7 @@ export function reinitializeRedux(options: ReduxInitData): void { const resetReducer = ( state: StateType | undefined, - action: AnyAction + action: UnknownAction ): StateType => { if (state == null) { log.info( @@ -51,7 +51,8 @@ export function reinitializeRedux(options: ReduxInitData): void { }); log.info(`${logId}: restoring original reducer`); - window.reduxStore.replaceReducer(normalReducer); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + window.reduxStore.replaceReducer(normalReducer as any); log.info(`${logId}: complete!`); } diff --git a/ts/state/selectors/message.ts b/ts/state/selectors/message.ts index c1830fc0061..dc8813875cd 100644 --- a/ts/state/selectors/message.ts +++ b/ts/state/selectors/message.ts @@ -156,7 +156,7 @@ import { formatFileSize } from '../../util/formatFileSize'; export { isIncoming, isOutgoing, isStory }; -const linkify = LinkifyIt(); +const linkify = new LinkifyIt(); type FormattedContact = Partial & Pick< diff --git a/ts/test-both/util/getClassNamesFor_test.ts b/ts/test-both/util/getClassNamesFor_test.ts index eb266efdcd5..16ca668a6a2 100644 --- a/ts/test-both/util/getClassNamesFor_test.ts +++ b/ts/test-both/util/getClassNamesFor_test.ts @@ -18,6 +18,7 @@ describe('getClassNamesFor', () => { it('does not add anything if there is no modifier', () => { const f = getClassNamesFor('module'); assert.equal(f(), ''); + // @ts-expect-error -- test case assert.equal(f(undefined && '__modifier'), ''); }); diff --git a/ts/types/LinkPreview.ts b/ts/types/LinkPreview.ts index f5765d1c08d..3b10bedc945 100644 --- a/ts/types/LinkPreview.ts +++ b/ts/types/LinkPreview.ts @@ -46,7 +46,7 @@ export type AddLinkPreviewOptionsType = Readonly<{ disableFetch?: boolean; }>; -const linkify = LinkifyIt(); +const linkify = new LinkifyIt(); export function isValidLink(maybeUrl: string | undefined): boolean { if (maybeUrl == null) { diff --git a/ts/util/generateBlurHash.ts b/ts/util/generateBlurHash.ts index 0a2e4d11d45..39e8740fdb9 100644 --- a/ts/util/generateBlurHash.ts +++ b/ts/util/generateBlurHash.ts @@ -1,16 +1,26 @@ // Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only +import { encode } from 'blurhash'; -import { encode83 } from 'blurhash/dist/base83'; - -/* eslint-disable no-bitwise */ -export function generateBlurHash(argb = 4294704123): string { - const R = 0xff & (argb >> 16); - const G = 0xff & (argb >> 8); - const B = 0xff & (argb >> 0); - - const value = (R << 16) + (G << 8) + B; - - return `00${encode83(value, 4)}`; +/** + * This generates a blurhash for a single pixel of a given color. + * + * The color is specified as an ARGB value, where the alpha channel is ignored. + */ +export function generateBlurHash(argb: number = 0xff_fbfbfb): string { + return encode( + new Uint8ClampedArray([ + /* eslint-disable no-bitwise */ + // Flipping from argb to rgba + 0xff & (argb >> 16), // R + 0xff & (argb >> 8), // G + 0xff & (argb >> 0), // B + 0xff, // A (ignored) + /* eslint-enable no-bitwise */ + ]), + 1, // width (data is just one pixel) + 1, // height (data is just one pixel) + 1, // x components (just the average color) + 1 // y components (just the average color) + ); } -/* eslint-enable no-bitwise */ diff --git a/ts/util/lint/exceptions.json b/ts/util/lint/exceptions.json index 34e344088e6..04d2b57f493 100644 --- a/ts/util/lint/exceptions.json +++ b/ts/util/lint/exceptions.json @@ -60,213 +60,38 @@ }, { "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.cjs.dev.js", - "line": " const instanceRef = React.useRef(null);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.cjs.dev.js", - "line": " const observerRef = React.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.cjs.prod.js", - "line": " const instanceRef = React.useRef(null);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.cjs.prod.js", - "line": " const observerRef = React.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.esm.js", + "path": "node_modules/@react-spring/animated/dist/react-spring_animated.legacy-esm.js", "line": " const instanceRef = useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" + "updated": "2024-11-16T00:21:51.887Z" }, { "rule": "React-useRef", - "path": "node_modules/@react-spring/animated/dist/react-spring-animated.esm.js", + "path": "node_modules/@react-spring/animated/dist/react-spring_animated.legacy-esm.js", "line": " const observerRef = useRef();", "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" + "updated": "2024-11-16T00:21:51.887Z" }, { "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.dev.js", - "line": " const layoutId = React.useRef(0);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.dev.js", - "line": " const ctrls = React.useRef([...state.ctrls]);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.dev.js", - "line": " const usedTransitions = React.useRef(null);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.dev.js", - "line": " const exitingTransitions = React.useRef(new Map());", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.dev.js", - "line": " const forceChange = React.useRef(false);", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.prod.js", - "line": " const layoutId = React.useRef(0);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.prod.js", - "line": " const ctrls = React.useRef([...state.ctrls]);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.prod.js", - "line": " const usedTransitions = React.useRef(null);", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.prod.js", - "line": " const exitingTransitions = React.useRef(new Map());", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.cjs.prod.js", - "line": " const forceChange = React.useRef(false);", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.esm.js", + "path": "node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js", "line": " const layoutId = useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" + "updated": "2024-11-16T00:21:51.887Z" }, { "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.esm.js", + "path": "node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js", "line": " const ctrls = useRef([...state.ctrls]);", "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" + "updated": "2024-11-16T00:21:51.887Z" }, { "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.esm.js", - "line": " const usedTransitions = useRef(null);", + "path": "node_modules/@react-spring/shared/dist/react-spring_shared.legacy-esm.js", + "line": " const ref = useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.esm.js", - "line": " const exitingTransitions = useRef(new Map());", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/core/dist/react-spring-core.esm.js", - "line": " const forceChange = useRef(false);", - "reasonCategory": "usageTrusted", - "updated": "2022-01-12T23:16:33.623Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.dev.js", - "line": " const committed = react.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.dev.js", - "line": " const prevRef = react.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.dev.js", - "line": " const isMounted = react.useRef(false);", - "reasonCategory": "usageTrusted", - "updated": "2022-06-01T22:57:44.591Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.prod.js", - "line": " const committed = react.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.prod.js", - "line": " const prevRef = react.useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.cjs.prod.js", - "line": " const isMounted = react.useRef(false);", - "reasonCategory": "usageTrusted", - "updated": "2022-06-01T22:57:44.591Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.esm.js", - "line": " const isMounted = useRef(false);", - "reasonCategory": "falseMatch", - "updated": "2022-06-01T22:57:44.591Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.esm.js", - "line": " const committed = useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" - }, - { - "rule": "React-useRef", - "path": "node_modules/@react-spring/shared/dist/react-spring-shared.esm.js", - "line": " const prevRef = useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-09-27T21:37:06.339Z" + "updated": "2024-11-16T00:21:51.887Z" }, { "rule": "DOM-innerHTML", @@ -586,20 +411,6 @@ "reasonCategory": "usageTrusted", "updated": "2023-10-03T18:55:06.301Z" }, - { - "rule": "React-findDOMNode", - "path": "node_modules/focus-trap-react/dist/focus-trap-react.js", - "line": " var focusTrapElementDOMNodes = this.focusTrapElements.map( // NOTE: `findDOMNode()` does not support CSS selectors; it'll just return", - "reasonCategory": "exampleCode", - "updated": "2021-10-01T23:53:26.107Z" - }, - { - "rule": "React-findDOMNode", - "path": "node_modules/focus-trap-react/src/focus-trap-react.js", - "line": " // NOTE: `findDOMNode()` does not support CSS selectors; it'll just return", - "reasonCategory": "exampleCode", - "updated": "2021-10-01T23:53:26.107Z" - }, { "rule": "eval", "path": "node_modules/globalthis/test/tests.js", @@ -650,19 +461,6 @@ "updated": "2021-02-16T19:08:17.452Z", "reasonDetail": "Hard-coded string used for testing capabilities." }, - { - "rule": "DOM-innerHTML", - "path": "node_modules/intl-tel-input/build/js/intlTelInput-jquery.js", - "line": " this.selectedDialCode.innerHTML = dialCode;", - "reasonCategory": "usageTrusted", - "updated": "2021-12-01T01:31:12.757Z" - }, - { - "rule": "DOM-innerHTML", - "path": "node_modules/intl-tel-input/build/js/intlTelInput-jquery.min.js", - "reasonCategory": "usageTrusted", - "updated": "2021-12-01T01:31:12.757Z" - }, { "rule": "DOM-innerHTML", "path": "node_modules/intl-tel-input/build/js/intlTelInput.js", @@ -678,10 +476,93 @@ }, { "rule": "DOM-innerHTML", - "path": "node_modules/intl-tel-input/src/js/intlTelInput.js", + "path": "node_modules/intl-tel-input/build/js/intlTelInput.js", + "line": " this.countryList.innerHTML = \"\";", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/build/js/intlTelInputWithUtils.js", + "line": " this.countryList.innerHTML = \"\";", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/build/js/intlTelInputWithUtils.js", + "line": " this.selectedDialCode.innerHTML = dialCode;", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/build/js/intlTelInputWithUtils.min.js", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/react/build/IntlTelInput.js", + "line": " this.countryList.innerHTML = \"\";", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/react/build/IntlTelInput.js", "line": " this.selectedDialCode.innerHTML = dialCode;", "reasonCategory": "usageTrusted", - "updated": "2021-12-01T01:31:12.757Z" + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/intl-tel-input/react/build/IntlTelInput.js", + "line": " const inputRef = useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/intl-tel-input/react/build/IntlTelInput.js", + "line": " const itiRef = useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/react/build/IntlTelInputWithUtils.js", + "line": " this.countryList.innerHTML = \"\";", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "DOM-innerHTML", + "path": "node_modules/intl-tel-input/react/build/IntlTelInputWithUtils.js", + "line": " this.selectedDialCode.innerHTML = dialCode;", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/intl-tel-input/react/build/IntlTelInputWithUtils.js", + "line": " const inputRef = useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/intl-tel-input/react/build/IntlTelInputWithUtils.js", + "line": " const itiRef = useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" + }, + { + "rule": "React-useRef", + "path": "ts/components/StandaloneRegistration.tsx", + "line": " const pluginRef = useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:33:41.092Z" }, { "rule": "eval", @@ -1375,107 +1256,254 @@ { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js", - "line": " var libRef = React.useRef(null);", + "line": " var libRef = React__namespace.useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js", - "line": " var heightRef = React.useRef(0);", + "line": " var heightRef = React__namespace.useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js", - "line": " var measurementsCacheRef = React.useRef();", + "line": " var measurementsCacheRef = React__namespace.useRef();", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", - "line": " var libRef = useRef(null);", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js", + "line": " var libRef = React__namespace.useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", - "line": " var heightRef = useRef(0);", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js", + "line": " var heightRef = React__namespace.useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", - "line": " var measurementsCacheRef = useRef();", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.cjs.js", + "line": " var measurementsCacheRef = React__namespace.useRef();", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js", "line": " var libRef = React.useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js", "line": " var heightRef = React.useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.dev.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.development.esm.js", "line": " var measurementsCacheRef = React.useRef();", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", "line": " var libRef = React.useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", "line": " var heightRef = React.useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", - "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.prod.js", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", "line": " var measurementsCacheRef = React.useRef();", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.js", + "line": " var libRef = React__namespace.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.js", + "line": " React__namespace.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.cjs.js", + "line": " React__namespace.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.cjs.js", + "line": " var libRef = React__namespace.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.cjs.js", + "line": " React__namespace.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.cjs.js", + "line": " React__namespace.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.esm.js", + "line": " var libRef = React.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.esm.js", + "line": " React.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.esm.js", + "line": " React.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.cjs.js", + "line": " var libRef = React__namespace.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.cjs.js", + "line": " React__namespace.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.cjs.js", + "line": " React__namespace.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.esm.js", + "line": " var libRef = React.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.esm.js", + "line": " React.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.development.worker.esm.js", + "line": " React.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js", - "line": " var libRef = useRef(null);", + "line": " var libRef = React.useRef(null);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js", - "line": " var heightRef = useRef(0);", + "line": " React.useRef(0);", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "React-useRef", "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js", - "line": " var measurementsCacheRef = useRef();", + "line": " React.useRef();", "reasonCategory": "usageTrusted", - "updated": "2022-06-16T23:23:32.306Z" + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.cjs.js", + "line": " var libRef = React__namespace.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.cjs.js", + "line": " React__namespace.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.cjs.js", + "line": " React__namespace.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.esm.js", + "line": " var libRef = React.useRef(null);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.esm.js", + "line": " React.useRef(0);", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" + }, + { + "rule": "React-useRef", + "path": "node_modules/react-textarea-autosize/dist/react-textarea-autosize.worker.esm.js", + "line": " React.useRef();", + "reasonCategory": "usageTrusted", + "updated": "2024-11-16T00:31:42.167Z" }, { "rule": "eval", @@ -2287,13 +2315,6 @@ "reasonCategory": "usageTrusted", "updated": "2021-07-30T16:57:33.618Z" }, - { - "rule": "React-useRef", - "path": "ts/components/StandaloneRegistration.tsx", - "line": " const pluginRef = useRef();", - "reasonCategory": "usageTrusted", - "updated": "2021-11-24T20:55:14.943Z" - }, { "rule": "React-useRef", "path": "ts/components/StandaloneRegistration.tsx", diff --git a/ts/windows/main/phase2-dependencies.ts b/ts/windows/main/phase2-dependencies.ts index f2073fec267..9571c18d74b 100644 --- a/ts/windows/main/phase2-dependencies.ts +++ b/ts/windows/main/phase2-dependencies.ts @@ -6,6 +6,7 @@ import { PhoneNumberUtil, PhoneNumberFormat } from 'google-libphonenumber'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; import * as moment from 'moment'; +// @ts-expect-error -- no types import 'moment/min/locales.min'; import { textsecure } from '../../textsecure'; diff --git a/tsconfig.json b/tsconfig.json index 12ea5e514aa..17669b126c2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -89,7 +89,7 @@ /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ // "customConditions": [], /* Check side effect imports. */ - // "noUncheckedSideEffectImports": true, // TODO: Enable after upgrading to TypeScript 5.6 + "noUncheckedSideEffectImports": true, /* Enable importing .json files. */ "resolveJsonModule": true, /* Enable importing files with any extension, provided a declaration file is present. */ @@ -164,7 +164,7 @@ /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ // "verbatimModuleSyntax": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ - // "isolatedDeclarations": true, // TODO: Enable after upgrading to TypeScript 5.5 + "isolatedDeclarations": false, // Incompatible with reselect /* Allow 'import x from y' when a module doesn't have a default export. */ // "allowSyntheticDefaultImports": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ @@ -191,7 +191,7 @@ /* Check for class properties that are declared but not set in the constructor. */ "strictPropertyInitialization": true, // (default: strict) /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ - // "strictBuiltinIteratorReturn": true, // TODO: Enable after upgrading to TypeScript 5.6 + "strictBuiltinIteratorReturn": true, /* Enable error reporting when 'this' is given the type 'any'. */ "noImplicitThis": true, // (default: strict) /* Default catch clause variables as 'unknown' instead of 'any'. */