From bd747317d4e1df25453f0635c056d646ec4330a5 Mon Sep 17 00:00:00 2001
From: DingDongSoLong4 <99329275+DingDongSoLong4@users.noreply.github.com>
Date: Fri, 17 Feb 2023 00:42:44 +0200
Subject: [PATCH] Update dependencies (again) (#3442)
* Update dependencies
* Upgrade rollup
* Remove all index.ts reexport files
---
ui/v2.5/.stylelintrc | 43 +-
ui/v2.5/package.json | 57 +-
ui/v2.5/src/App.tsx | 7 +-
.../src/components/Changelog/Changelog.tsx | 2 +-
ui/v2.5/src/components/Changelog/Version.tsx | 2 +-
.../src/components/Dialogs/GenerateDialog.tsx | 11 +-
.../Dialogs/IdentifyDialog/FieldOptions.tsx | 2 +-
.../Dialogs/IdentifyDialog/IdentifyDialog.tsx | 12 +-
.../Dialogs/IdentifyDialog/Sources.tsx | 7 +-
.../components/Dialogs/ReleaseNotesDialog.tsx | 6 +-
.../src/components/Dialogs/SubmitDraft.tsx | 8 +-
.../src/components/FrontPage/FrontPage.tsx | 4 +-
.../components/FrontPage/FrontPageConfig.tsx | 2 +-
.../Galleries/DeleteGalleriesDialog.tsx | 8 +-
.../Galleries/EditGalleriesDialog.tsx | 13 +-
.../src/components/Galleries/Galleries.tsx | 2 +-
.../src/components/Galleries/GalleryCard.tsx | 18 +-
.../Galleries/GalleryDetails/Gallery.tsx | 12 +-
.../GalleryDetails/GalleryAddPanel.tsx | 2 +-
.../GalleryDetails/GalleryDetailPanel.tsx | 5 +-
.../GalleryDetails/GalleryEditPanel.tsx | 12 +-
.../GalleryDetails/GalleryFileInfoPanel.tsx | 8 +-
.../GalleryDetails/GalleryImagesPanel.tsx | 2 +-
.../GalleryDetails/GalleryScrapeDialog.tsx | 9 +-
.../src/components/Galleries/GalleryList.tsx | 7 +-
.../components/Galleries/GalleryViewer.tsx | 4 +-
.../components/Galleries/GalleryWallCard.tsx | 6 +-
.../components/Images/DeleteImagesDialog.tsx | 8 +-
.../components/Images/EditImagesDialog.tsx | 13 +-
ui/v2.5/src/components/Images/ImageCard.tsx | 11 +-
.../components/Images/ImageDetails/Image.tsx | 12 +-
.../Images/ImageDetails/ImageDetailPanel.tsx | 5 +-
.../Images/ImageDetails/ImageEditPanel.tsx | 10 +-
.../ImageDetails/ImageFileInfoPanel.tsx | 8 +-
ui/v2.5/src/components/Images/ImageList.tsx | 3 +-
ui/v2.5/src/components/Images/Images.tsx | 2 +-
.../src/components/List/AddFilterDialog.tsx | 2 +-
ui/v2.5/src/components/List/FilterTags.tsx | 2 +-
.../List/Filters/DurationFilter.tsx | 8 +-
.../Filters/HierarchicalLabelValueFilter.tsx | 6 +-
.../List/Filters/LabeledIdFilter.tsx | 6 +-
ui/v2.5/src/components/List/ListFilter.tsx | 4 +-
.../components/List/ListOperationButtons.tsx | 2 +-
.../src/components/List/ListViewOptions.tsx | 2 +-
.../src/components/List/SavedFilterList.tsx | 6 +-
ui/v2.5/src/components/MainNavbar.tsx | 4 +-
.../components/Movies/EditMoviesDialog.tsx | 11 +-
ui/v2.5/src/components/Movies/MovieCard.tsx | 12 +-
.../components/Movies/MovieDetails/Movie.tsx | 16 +-
.../Movies/MovieDetails/MovieCreate.tsx | 4 +-
.../Movies/MovieDetails/MovieDetailsPanel.tsx | 3 +-
.../Movies/MovieDetails/MovieEditPanel.tsx | 18 +-
.../Movies/MovieDetails/MovieScrapeDialog.tsx | 6 +-
ui/v2.5/src/components/Movies/MovieList.tsx | 3 +-
ui/v2.5/src/components/Movies/Movies.tsx | 2 +-
.../Performers/EditPerformersDialog.tsx | 12 +-
.../components/Performers/PerformerCard.tsx | 15 +-
.../Performers/PerformerDetails/Performer.tsx | 19 +-
.../PerformerDetails/PerformerCreate.tsx | 2 +-
.../PerformerDetailsPanel.tsx | 6 +-
.../PerformerDetails/PerformerEditPanel.tsx | 25 +-
.../PerformerScrapeDialog.tsx | 4 +-
.../PerformerDetails/PerformerScrapeModal.tsx | 7 +-
.../PerformerStashBoxModal.tsx | 7 +-
.../components/Performers/PerformerList.tsx | 12 +-
.../Performers/PerformerListTable.tsx | 4 +-
.../src/components/Performers/Performers.tsx | 2 +-
.../SceneDuplicateChecker.tsx | 16 +-
.../SceneFilenameParser.tsx | 4 +-
.../SceneFilenameParser/SceneParserRow.tsx | 2 +-
.../SceneFilenameParser/ShowFields.tsx | 2 +-
.../ScenePlayer/ScenePlayerScrubber.tsx | 2 +-
ui/v2.5/src/components/ScenePlayer/index.ts | 1 -
.../components/Scenes/DeleteScenesDialog.tsx | 8 +-
.../components/Scenes/EditScenesDialog.tsx | 13 +-
ui/v2.5/src/components/Scenes/SceneCard.tsx | 15 +-
.../SceneDetails/ExternalPlayerButton.tsx | 2 +-
.../Scenes/SceneDetails/OCounterButton.tsx | 4 +-
.../Scenes/SceneDetails/OrganizedButton.tsx | 2 +-
.../Scenes/SceneDetails/QueueViewer.tsx | 2 +-
.../components/Scenes/SceneDetails/Scene.tsx | 12 +-
.../Scenes/SceneDetails/SceneCreate.tsx | 4 +-
.../Scenes/SceneDetails/SceneDetailPanel.tsx | 2 +-
.../Scenes/SceneDetails/SceneEditPanel.tsx | 18 +-
.../SceneDetails/SceneFileInfoPanel.tsx | 12 +-
.../Scenes/SceneDetails/SceneMarkerForm.tsx | 9 +-
.../Scenes/SceneDetails/SceneQueryModal.tsx | 16 +-
.../Scenes/SceneDetails/SceneScrapeDialog.tsx | 10 +-
.../SceneDetails/SceneVideoFilterPanel.tsx | 2 +-
ui/v2.5/src/components/Scenes/SceneList.tsx | 9 +-
.../src/components/Scenes/SceneListTable.tsx | 5 +-
.../src/components/Scenes/SceneMarkerList.tsx | 7 +-
.../components/Scenes/SceneMergeDialog.tsx | 19 +-
ui/v2.5/src/components/Scenes/Scenes.tsx | 2 +-
ui/v2.5/src/components/Settings/Inputs.tsx | 2 +-
ui/v2.5/src/components/Settings/Settings.tsx | 2 +-
.../SettingsInterfacePanel.tsx | 12 +-
.../Settings/SettingsLibraryPanel.tsx | 3 +-
.../Settings/SettingsPluginsPanel.tsx | 8 +-
.../Settings/SettingsScrapingPanel.tsx | 8 +-
.../Settings/SettingsSecurityPanel.tsx | 4 +-
.../Settings/SettingsServicesPanel.tsx | 15 +-
.../Settings/SettingsSystemPanel.tsx | 2 +-
.../Settings/StashConfiguration.tsx | 2 +-
.../Settings/Tasks/DataManagementTasks.tsx | 16 +-
.../Tasks/DirectorySelectionDialog.tsx | 7 +-
.../Settings/Tasks/ImportDialog.tsx | 8 +-
.../components/Settings/Tasks/JobTable.tsx | 2 +-
.../Settings/Tasks/LibraryTasks.tsx | 6 +-
.../components/Settings/Tasks/PluginTasks.tsx | 2 +-
.../Settings/Tasks/SettingsTasksPanel.tsx | 2 +-
ui/v2.5/src/components/Settings/context.tsx | 6 +-
ui/v2.5/src/components/Setup/Migrate.tsx | 2 +-
ui/v2.5/src/components/Setup/Setup.tsx | 8 +-
.../components/Shared/BulkUpdateTextInput.tsx | 2 +-
.../src/components/Shared/CollapseButton.tsx | 2 +-
ui/v2.5/src/components/Shared/Counter.tsx | 4 +-
ui/v2.5/src/components/Shared/CountryFlag.tsx | 6 +-
.../src/components/Shared/CountryLabel.tsx | 11 +-
.../src/components/Shared/CountrySelect.tsx | 8 +-
.../components/Shared/DeleteEntityDialog.tsx | 12 +-
.../components/Shared/DeleteFilesDialog.tsx | 10 +-
.../components/Shared/DetailsEditNavbar.tsx | 2 +-
.../src/components/Shared/DurationInput.tsx | 4 +-
.../src/components/Shared/ErrorMessage.tsx | 4 +-
.../src/components/Shared/ExportDialog.tsx | 8 +-
.../Shared/FolderSelect/FolderSelect.tsx | 4 +-
ui/v2.5/src/components/Shared/GridCard.tsx | 2 +-
ui/v2.5/src/components/Shared/Icon.tsx | 4 +-
ui/v2.5/src/components/Shared/ImageInput.tsx | 8 +-
.../components/Shared/LoadingIndicator.tsx | 4 +-
ui/v2.5/src/components/Shared/Modal.tsx | 6 +-
ui/v2.5/src/components/Shared/MultiSet.tsx | 4 +-
.../src/components/Shared/OperationButton.tsx | 2 +-
.../src/components/Shared/PercentInput.tsx | 4 +-
.../Shared/PerformerPopoverButton.tsx | 2 +-
.../components/Shared/PopoverCountButton.tsx | 4 +-
.../components/Shared/Rating/RatingStars.tsx | 2 +-
.../components/Shared/ReassignFilesDialog.tsx | 13 +-
.../src/components/Shared/ScrapeDialog.tsx | 14 +-
ui/v2.5/src/components/Shared/Select.tsx | 2 +-
.../src/components/Shared/StringListInput.tsx | 2 +-
ui/v2.5/src/components/Shared/SuccessIcon.tsx | 6 +-
.../components/Shared/ThreeStateCheckbox.tsx | 2 +-
.../src/components/Shared/TruncatedText.tsx | 4 +-
ui/v2.5/src/components/Shared/URLField.tsx | 2 +-
ui/v2.5/src/components/Shared/constants.ts | 1 +
ui/v2.5/src/components/Shared/index.ts | 27 -
ui/v2.5/src/components/Stats.tsx | 4 +-
ui/v2.5/src/components/Studios/StudioCard.tsx | 4 +-
.../Studios/StudioDetails/Studio.tsx | 20 +-
.../Studios/StudioDetails/StudioCreate.tsx | 6 +-
.../StudioDetails/StudioDetailsPanel.tsx | 2 +-
.../Studios/StudioDetails/StudioEditPanel.tsx | 8 +-
ui/v2.5/src/components/Studios/StudioList.tsx | 10 +-
ui/v2.5/src/components/Studios/Studios.tsx | 2 +-
.../src/components/Tagger/IncludeButton.tsx | 2 +-
.../Tagger/PerformerFieldSelector.tsx | 9 +-
.../src/components/Tagger/PerformerModal.tsx | 14 +-
ui/v2.5/src/components/Tagger/context.tsx | 3 +-
ui/v2.5/src/components/Tagger/index.ts | 2 -
.../components/Tagger/performers/Config.tsx | 2 +-
.../Tagger/performers/PerformerTagger.tsx | 13 +-
.../src/components/Tagger/scenes/Config.tsx | 2 +-
.../Tagger/scenes/PerformerResult.tsx | 9 +-
.../components/Tagger/scenes/SceneTagger.tsx | 3 +-
.../Tagger/scenes/StashSearchResult.tsx | 18 +-
.../components/Tagger/scenes/StudioModal.tsx | 8 +-
.../components/Tagger/scenes/StudioResult.tsx | 9 +-
.../components/Tagger/scenes/TaggerScene.tsx | 10 +-
ui/v2.5/src/components/Tags/TagCard.tsx | 5 +-
.../src/components/Tags/TagDetails/Tag.tsx | 22 +-
.../components/Tags/TagDetails/TagCreate.tsx | 6 +-
.../Tags/TagDetails/TagEditPanel.tsx | 6 +-
.../Tags/TagDetails/TagMergeDialog.tsx | 11 +-
ui/v2.5/src/components/Tags/TagList.tsx | 12 +-
ui/v2.5/src/components/Tags/TagPopover.tsx | 5 +-
ui/v2.5/src/components/Tags/Tags.tsx | 2 +-
ui/v2.5/src/components/Wall/WallItem.tsx | 3 +-
ui/v2.5/src/core/config.ts | 2 +-
ui/v2.5/src/core/files.ts | 2 +-
ui/v2.5/src/core/galleries.ts | 2 +-
ui/v2.5/src/hooks/Lightbox/Lightbox.tsx | 7 +-
ui/v2.5/src/hooks/Lightbox/context.tsx | 5 +-
ui/v2.5/src/hooks/Lightbox/index.ts | 2 -
ui/v2.5/src/hooks/ListHook.tsx | 4 +-
ui/v2.5/src/hooks/Toast.tsx | 4 +-
ui/v2.5/src/hooks/index.ts | 17 -
.../models/list-filter/criteria/country.ts | 2 +-
ui/v2.5/src/utils/duration.ts | 4 +-
ui/v2.5/src/utils/editabletext.tsx | 5 +-
ui/v2.5/src/utils/field.tsx | 2 +-
ui/v2.5/src/utils/form.tsx | 1 +
ui/v2.5/src/utils/image.tsx | 5 +-
ui/v2.5/src/utils/index.ts | 18 -
ui/v2.5/src/utils/navigation.ts | 4 +-
ui/v2.5/src/utils/percent.ts | 4 +-
ui/v2.5/src/utils/screen.ts | 4 +-
ui/v2.5/src/utils/session.ts | 4 +-
ui/v2.5/src/utils/table.tsx | 5 +-
ui/v2.5/vite.config.js | 5 +
ui/v2.5/yarn.lock | 1279 ++++++++---------
202 files changed, 1297 insertions(+), 1406 deletions(-)
delete mode 100644 ui/v2.5/src/components/ScenePlayer/index.ts
create mode 100644 ui/v2.5/src/components/Shared/constants.ts
delete mode 100644 ui/v2.5/src/components/Shared/index.ts
delete mode 100644 ui/v2.5/src/components/Tagger/index.ts
delete mode 100644 ui/v2.5/src/hooks/Lightbox/index.ts
delete mode 100644 ui/v2.5/src/hooks/index.ts
delete mode 100644 ui/v2.5/src/utils/index.ts
diff --git a/ui/v2.5/.stylelintrc b/ui/v2.5/.stylelintrc
index 1025a90ab..de2f58dac 100644
--- a/ui/v2.5/.stylelintrc
+++ b/ui/v2.5/.stylelintrc
@@ -1,9 +1,7 @@
{
"plugins": ["stylelint-order"],
- "extends": "stylelint-config-prettier",
"customSyntax": "postcss-scss",
"rules": {
- "indentation": null,
"at-rule-empty-line-before": [
"always",
{
@@ -13,14 +11,7 @@
],
"at-rule-no-vendor-prefix": true,
"selector-no-vendor-prefix": true,
- "block-closing-brace-newline-after": "always",
- "block-closing-brace-newline-before": "always-multi-line",
- "block-closing-brace-space-before": "always-single-line",
"block-no-empty": true,
- "block-opening-brace-newline-after": "always-multi-line",
- "block-opening-brace-space-after": "always-single-line",
- "block-opening-brace-space-before": "always",
- "color-hex-case": "lower",
"color-hex-length": "short",
"color-no-invalid-hex": true,
"comment-empty-line-before": [
@@ -31,43 +22,18 @@
}
],
"comment-whitespace-inside": "always",
- "declaration-bang-space-after": "never",
- "declaration-bang-space-before": "always",
"declaration-block-no-shorthand-property-overrides": true,
- "declaration-block-semicolon-newline-after": "always-multi-line",
- "declaration-block-semicolon-space-after": "always-single-line",
- "declaration-block-semicolon-space-before": "never",
"declaration-block-single-line-max-declarations": 1,
- "declaration-block-trailing-semicolon": "always",
- "declaration-colon-space-after": "always-single-line",
- "declaration-colon-space-before": "never",
"declaration-no-important": true,
"font-family-name-quotes": "always-where-recommended",
"function-calc-no-unspaced-operator": true,
- "function-comma-newline-after": "always-multi-line",
- "function-comma-space-after": "always-single-line",
- "function-comma-space-before": "never",
"function-linear-gradient-no-nonstandard-direction": true,
- "function-parentheses-newline-inside": "always-multi-line",
- "function-parentheses-space-inside": "never-single-line",
"function-url-quotes": "always",
- "function-whitespace-after": "always",
"length-zero-no-unit": true,
- "max-empty-lines": 1,
"max-nesting-depth": 4,
- "media-feature-colon-space-after": "always",
- "media-feature-colon-space-before": "never",
- "media-feature-range-operator-space-after": "always",
- "media-feature-range-operator-space-before": "always",
- "media-query-list-comma-newline-after": "always-multi-line",
- "media-query-list-comma-space-after": "always-single-line",
- "media-query-list-comma-space-before": "never",
- "media-feature-parentheses-space-inside": "never",
"no-descending-specificity": null,
"no-invalid-double-slash-comments": true,
- "no-missing-end-of-source-newline": true,
"number-max-precision": 3,
- "number-no-trailing-zeros": true,
"order/order": ["custom-properties", "declarations"],
"order/properties-alphabetical-order": true,
"rule-empty-line-before": [
@@ -80,17 +46,10 @@
"selector-max-id": 1,
"selector-max-type": 2,
"selector-class-pattern": "^(\\.*[A-Z]*[a-z]+)+(-[a-z0-9]+)*$",
- "selector-combinator-space-after": "always",
- "selector-combinator-space-before": "always",
- "selector-list-comma-newline-after": "always",
- "selector-list-comma-space-before": "never",
"selector-max-universal": 0,
"selector-type-case": "lower",
"selector-pseudo-element-colon-notation": "double",
"string-no-newline": true,
- "string-quotes": "double",
- "time-min-milliseconds": 100,
- "value-list-comma-space-after": "always-single-line",
- "value-list-comma-space-before": "never"
+ "time-min-milliseconds": 100
}
}
diff --git a/ui/v2.5/package.json b/ui/v2.5/package.json
index 02288b7a3..07fe4457a 100644
--- a/ui/v2.5/package.json
+++ b/ui/v2.5/package.json
@@ -22,18 +22,18 @@
],
"dependencies": {
"@ant-design/react-slick": "^1.0.0",
- "@apollo/client": "^3.7.4",
+ "@apollo/client": "^3.7.8",
"@formatjs/intl-getcanonicallocales": "^2.0.5",
"@formatjs/intl-locale": "^3.0.11",
"@formatjs/intl-numberformat": "^8.3.3",
"@formatjs/intl-pluralrules": "^5.1.8",
- "@fortawesome/fontawesome-svg-core": "^6.2.1",
- "@fortawesome/free-brands-svg-icons": "^6.2.1",
- "@fortawesome/free-regular-svg-icons": "^6.2.1",
- "@fortawesome/free-solid-svg-icons": "^6.2.1",
+ "@fortawesome/fontawesome-svg-core": "^6.3.0",
+ "@fortawesome/free-brands-svg-icons": "^6.3.0",
+ "@fortawesome/free-regular-svg-icons": "^6.3.0",
+ "@fortawesome/free-solid-svg-icons": "^6.3.0",
"@fortawesome/react-fontawesome": "^0.2.0",
"apollo-upload-client": "^17.0.0",
- "axios": "^1.2.5",
+ "axios": "^1.3.3",
"base64-blob": "^1.4.1",
"bootstrap": "^4.6.2",
"classnames": "^2.3.2",
@@ -42,7 +42,7 @@
"formik": "^2.2.9",
"graphql": "^16.6.0",
"graphql-tag": "^2.12.6",
- "graphql-ws": "^5.11.2",
+ "graphql-ws": "^5.11.3",
"i18n-iso-countries": "^7.5.0",
"intersection-observer": "^0.12.2",
"localforage": "^1.10.0",
@@ -54,12 +54,12 @@
"react-bootstrap": "^1.6.6",
"react-dom": "^17.0.2",
"react-helmet": "^6.1.0",
- "react-intl": "^6.2.6",
+ "react-intl": "^6.2.8",
"react-markdown": "^8.0.5",
"react-router-bootstrap": "^0.25.0",
"react-router-dom": "^5.3.4",
"react-router-hash-link": "^2.4.3",
- "react-select": "^5.6.1",
+ "react-select": "^5.7.0",
"remark-gfm": "^3.0.1",
"resize-observer-polyfill": "^1.5.1",
"slick-carousel": "^1.8.1",
@@ -70,49 +70,48 @@
"videojs-mobile-ui": "^0.8.0",
"videojs-seek-buttons": "^3.0.1",
"videojs-vtt.js": "^0.15.4",
- "yup": "^0.32.11"
+ "yup": "^1.0.0"
},
"devDependencies": {
- "@babel/core": "^7.20.5",
- "@graphql-codegen/cli": "^2.16.4",
- "@graphql-codegen/time": "^3.2.3",
- "@graphql-codegen/typescript": "^2.8.7",
- "@graphql-codegen/typescript-operations": "^2.5.12",
+ "@babel/core": "^7.20.12",
+ "@graphql-codegen/cli": "^3.0.0",
+ "@graphql-codegen/time": "^4.0.0",
+ "@graphql-codegen/typescript": "^3.0.0",
+ "@graphql-codegen/typescript-operations": "^3.0.0",
"@graphql-codegen/typescript-react-apollo": "^3.3.7",
"@types/apollo-upload-client": "^17.0.2",
"@types/lodash-es": "^4.17.6",
"@types/mousetrap": "^1.6.11",
- "@types/node": "^14.18.36",
+ "@types/node": "^18.13.0",
"@types/react": "^17.0.53",
- "@types/react-dom": "^17.0.18",
+ "@types/react-dom": "^17.0.19",
"@types/react-helmet": "^6.1.6",
"@types/react-router-bootstrap": "^0.24.5",
"@types/react-router-hash-link": "^2.4.5",
- "@types/video.js": "^7.3.50",
+ "@types/video.js": "^7.3.51",
"@types/videojs-mobile-ui": "^0.5.0",
"@types/videojs-seek-buttons": "^2.1.0",
- "@typescript-eslint/eslint-plugin": "^5.49.0",
- "@typescript-eslint/parser": "^5.49.0",
- "@vitejs/plugin-react": "^3.0.1",
- "eslint": "^8.32.0",
+ "@typescript-eslint/eslint-plugin": "^5.52.0",
+ "@typescript-eslint/parser": "^5.52.0",
+ "@vitejs/plugin-react": "^3.1.0",
+ "eslint": "^8.34.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.7.1",
- "eslint-plugin-react": "^7.32.1",
+ "eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"extract-react-intl-messages": "^4.1.1",
"postcss": "^8.4.21",
"postcss-scss": "^4.0.6",
- "prettier": "^2.8.3",
- "sass": "^1.57.1",
- "stylelint": "^14.16.1",
- "stylelint-config-prettier": "^9.0.4",
- "stylelint-order": "^6.0.1",
+ "prettier": "^2.8.4",
+ "sass": "^1.58.1",
+ "stylelint": "^15.1.0",
+ "stylelint-order": "^6.0.2",
"ts-node": "^10.9.1",
"typescript": "~4.8.4",
- "vite": "^4.0.4",
+ "vite": "^4.1.1",
"vite-plugin-compression": "^0.5.1",
"vite-tsconfig-paths": "^4.0.5"
}
diff --git a/ui/v2.5/src/App.tsx b/ui/v2.5/src/App.tsx
index 11e813f89..fc7925e22 100644
--- a/ui/v2.5/src/App.tsx
+++ b/ui/v2.5/src/App.tsx
@@ -5,7 +5,7 @@ import { Helmet } from "react-helmet";
import cloneDeep from "lodash-es/cloneDeep";
import mergeWith from "lodash-es/mergeWith";
import { ToastProvider } from "src/hooks/Toast";
-import LightboxProvider from "src/hooks/Lightbox/context";
+import { LightboxProvider } from "src/hooks/Lightbox/context";
import { initPolyfills } from "src/polyfills";
import locales, { registerCountry } from "src/locales";
@@ -14,14 +14,15 @@ import {
useConfigureUI,
useSystemStatus,
} from "src/core/StashService";
-import { flattenMessages } from "src/utils";
+import flattenMessages from "./utils/flattenMessages";
import Mousetrap from "mousetrap";
import MousetrapPause from "mousetrap-pause";
import { ErrorBoundary } from "./components/ErrorBoundary";
import { MainNavbar } from "./components/MainNavbar";
import { PageNotFound } from "./components/PageNotFound";
import * as GQL from "./core/generated-graphql";
-import { LoadingIndicator, TITLE_SUFFIX } from "./components/Shared";
+import { TITLE_SUFFIX } from "./components/Shared/constants";
+import { LoadingIndicator } from "./components/Shared/LoadingIndicator";
import { ConfigurationProvider } from "./hooks/Config";
import { ManualProvider } from "./components/Help/context";
diff --git a/ui/v2.5/src/components/Changelog/Changelog.tsx b/ui/v2.5/src/components/Changelog/Changelog.tsx
index f4d18b71e..c99ad0f16 100644
--- a/ui/v2.5/src/components/Changelog/Changelog.tsx
+++ b/ui/v2.5/src/components/Changelog/Changelog.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { useChangelogStorage } from "src/hooks";
+import { useChangelogStorage } from "src/hooks/LocalForage";
import Version from "./Version";
import V010 from "src/docs/en/Changelog/v010.md";
import V011 from "src/docs/en/Changelog/v011.md";
diff --git a/ui/v2.5/src/components/Changelog/Version.tsx b/ui/v2.5/src/components/Changelog/Version.tsx
index cd5b99442..bc2f75138 100644
--- a/ui/v2.5/src/components/Changelog/Version.tsx
+++ b/ui/v2.5/src/components/Changelog/Version.tsx
@@ -2,7 +2,7 @@ import { faAngleDown, faAngleUp } from "@fortawesome/free-solid-svg-icons";
import React, { useState } from "react";
import { Button, Card, Collapse } from "react-bootstrap";
import { FormattedDate, FormattedMessage } from "react-intl";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
interface IVersionProps {
version: string;
diff --git a/ui/v2.5/src/components/Dialogs/GenerateDialog.tsx b/ui/v2.5/src/components/Dialogs/GenerateDialog.tsx
index f9eb805ce..4a0657efe 100644
--- a/ui/v2.5/src/components/Dialogs/GenerateDialog.tsx
+++ b/ui/v2.5/src/components/Dialogs/GenerateDialog.tsx
@@ -1,13 +1,14 @@
import React, { useState, useEffect, useMemo } from "react";
import { Form, Button } from "react-bootstrap";
import { mutateMetadataGenerate } from "src/core/StashService";
-import { Modal, Icon } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "../Shared/Modal";
+import { Icon } from "src/components/Shared/Icon";
+import { useToast } from "src/hooks/Toast";
import * as GQL from "src/core/generated-graphql";
import { FormattedMessage, useIntl } from "react-intl";
import { ConfigurationContext } from "src/hooks/Config";
import { Manual } from "../Help/Manual";
-import { withoutTypename } from "src/utils";
+import { withoutTypename } from "src/utils/data";
import { GenerateOptions } from "../Settings/Tasks/GenerateOptions";
import { SettingSection } from "../Settings/SettingSection";
import { faCogs, faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
@@ -169,7 +170,7 @@ export const GenerateDialog: React.FC = ({
}
return (
- = ({
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Dialogs/IdentifyDialog/FieldOptions.tsx b/ui/v2.5/src/components/Dialogs/IdentifyDialog/FieldOptions.tsx
index de9bd3b7b..ba027cd5c 100644
--- a/ui/v2.5/src/components/Dialogs/IdentifyDialog/FieldOptions.tsx
+++ b/ui/v2.5/src/components/Dialogs/IdentifyDialog/FieldOptions.tsx
@@ -1,6 +1,6 @@
import React, { useState, useEffect, useCallback } from "react";
import { Form, Button, Table } from "react-bootstrap";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
import * as GQL from "src/core/generated-graphql";
import { FormattedMessage, useIntl } from "react-intl";
import {
diff --git a/ui/v2.5/src/components/Dialogs/IdentifyDialog/IdentifyDialog.tsx b/ui/v2.5/src/components/Dialogs/IdentifyDialog/IdentifyDialog.tsx
index 366ae4687..7c5207f44 100644
--- a/ui/v2.5/src/components/Dialogs/IdentifyDialog/IdentifyDialog.tsx
+++ b/ui/v2.5/src/components/Dialogs/IdentifyDialog/IdentifyDialog.tsx
@@ -6,11 +6,13 @@ import {
useConfigureDefaults,
useListSceneScrapers,
} from "src/core/StashService";
-import { Icon, Modal, OperationButton } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { Icon } from "src/components/Shared/Icon";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { OperationButton } from "src/components/Shared/OperationButton";
+import { useToast } from "src/hooks/Toast";
import * as GQL from "src/core/generated-graphql";
import { FormattedMessage, useIntl } from "react-intl";
-import { withoutTypename } from "src/utils";
+import { withoutTypename } from "src/utils/data";
import {
SCRAPER_PREFIX,
STASH_BOX_PREFIX,
@@ -403,7 +405,7 @@ export const IdentifyDialog: React.FC = ({
}
return (
- = ({
setEditingField={(v) => setEditingField(v)}
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Dialogs/IdentifyDialog/Sources.tsx b/ui/v2.5/src/components/Dialogs/IdentifyDialog/Sources.tsx
index 9cc0c6a51..b18e661bc 100644
--- a/ui/v2.5/src/components/Dialogs/IdentifyDialog/Sources.tsx
+++ b/ui/v2.5/src/components/Dialogs/IdentifyDialog/Sources.tsx
@@ -1,6 +1,7 @@
import React, { useState, useEffect } from "react";
import { Form, Button, ListGroup } from "react-bootstrap";
-import { Modal, Icon } from "src/components/Shared";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { Icon } from "src/components/Shared/Icon";
import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import { IScraperSource } from "./constants";
@@ -53,7 +54,7 @@ export const SourcesEditor: React.FC = ({
}
return (
- = ({
defaultOptions={defaultOptions}
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Dialogs/ReleaseNotesDialog.tsx b/ui/v2.5/src/components/Dialogs/ReleaseNotesDialog.tsx
index 16bd00375..860e7a62d 100644
--- a/ui/v2.5/src/components/Dialogs/ReleaseNotesDialog.tsx
+++ b/ui/v2.5/src/components/Dialogs/ReleaseNotesDialog.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Form } from "react-bootstrap";
-import { Modal } from "src/components/Shared";
+import { ModalComponent } from "../Shared/Modal";
import { faCogs } from "@fortawesome/free-solid-svg-icons";
import { useIntl } from "react-intl";
import { MarkdownPage } from "../Shared/MarkdownPage";
@@ -17,7 +17,7 @@ export const ReleaseNotesDialog: React.FC = ({
const intl = useIntl();
return (
- = ({
))}
-
+
);
};
diff --git a/ui/v2.5/src/components/Dialogs/SubmitDraft.tsx b/ui/v2.5/src/components/Dialogs/SubmitDraft.tsx
index dca73532f..ac0e99937 100644
--- a/ui/v2.5/src/components/Dialogs/SubmitDraft.tsx
+++ b/ui/v2.5/src/components/Dialogs/SubmitDraft.tsx
@@ -2,8 +2,8 @@ import React, { useState } from "react";
import { useMutation, DocumentNode } from "@apollo/client";
import { Button, Form } from "react-bootstrap";
import * as GQL from "src/core/generated-graphql";
-import { Modal } from "src/components/Shared";
-import { getStashboxBase } from "src/utils";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { getStashboxBase } from "src/utils/stashbox";
import { FormattedMessage, useIntl } from "react-intl";
import { faPaperPlane } from "@fortawesome/free-solid-svg-icons";
@@ -78,7 +78,7 @@ export const SubmitStashBoxDraft: React.FC = ({
undefined;
return (
- = ({
{error.message}
>
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/FrontPage/FrontPage.tsx b/ui/v2.5/src/components/FrontPage/FrontPage.tsx
index d68e2ca00..856afb48b 100644
--- a/ui/v2.5/src/components/FrontPage/FrontPage.tsx
+++ b/ui/v2.5/src/components/FrontPage/FrontPage.tsx
@@ -1,10 +1,10 @@
import React, { useState } from "react";
import { FormattedMessage, useIntl } from "react-intl";
import { useConfigureUI } from "src/core/StashService";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { Button } from "react-bootstrap";
import { FrontPageConfig } from "./FrontPageConfig";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { Control } from "./Control";
import { ConfigurationContext } from "src/hooks/Config";
import {
diff --git a/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx b/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx
index 4bbf6a7c0..39668abc5 100644
--- a/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx
+++ b/ui/v2.5/src/components/FrontPage/FrontPageConfig.tsx
@@ -1,7 +1,7 @@
import React, { useEffect, useMemo, useState } from "react";
import { FormattedMessage, IntlShape, useIntl } from "react-intl";
import { useFindSavedFilters } from "src/core/StashService";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { Button, Form, Modal } from "react-bootstrap";
import {
FilterMode,
diff --git a/ui/v2.5/src/components/Galleries/DeleteGalleriesDialog.tsx b/ui/v2.5/src/components/Galleries/DeleteGalleriesDialog.tsx
index 4e128dd28..fe9de2d97 100644
--- a/ui/v2.5/src/components/Galleries/DeleteGalleriesDialog.tsx
+++ b/ui/v2.5/src/components/Galleries/DeleteGalleriesDialog.tsx
@@ -2,8 +2,8 @@ import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { useGalleryDestroy } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "../Shared/Modal";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { FormattedMessage, useIntl } from "react-intl";
import { faTrashAlt } from "@fortawesome/free-solid-svg-icons";
@@ -119,7 +119,7 @@ export const DeleteGalleriesDialog: React.FC = (
}
return (
- = (
onChange={() => setDeleteGenerated(!deleteGenerated)}
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Galleries/EditGalleriesDialog.tsx b/ui/v2.5/src/components/Galleries/EditGalleriesDialog.tsx
index 867f996b1..68fb1f310 100644
--- a/ui/v2.5/src/components/Galleries/EditGalleriesDialog.tsx
+++ b/ui/v2.5/src/components/Galleries/EditGalleriesDialog.tsx
@@ -4,10 +4,11 @@ import { FormattedMessage, useIntl } from "react-intl";
import isEqual from "lodash-es/isEqual";
import { useBulkGalleryUpdate } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { StudioSelect, Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
-import { FormUtils } from "src/utils";
-import MultiSet from "../Shared/MultiSet";
+import { StudioSelect } from "../Shared/Select";
+import { ModalComponent } from "../Shared/Modal";
+import { useToast } from "src/hooks/Toast";
+import FormUtils from "src/utils/form";
+import { MultiSet } from "../Shared/MultiSet";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
import {
getAggregateInputIDs,
@@ -226,7 +227,7 @@ export const EditGalleriesDialog: React.FC = (
function render() {
return (
- = (
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Galleries/Galleries.tsx b/ui/v2.5/src/components/Galleries/Galleries.tsx
index 568d9a46c..8f4591ac0 100644
--- a/ui/v2.5/src/components/Galleries/Galleries.tsx
+++ b/ui/v2.5/src/components/Galleries/Galleries.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "../Shared/constants";
import { PersistanceLevel } from "src/hooks/ListHook";
import Gallery from "./GalleryDetails/Gallery";
import GalleryCreate from "./GalleryDetails/GalleryCreate";
diff --git a/ui/v2.5/src/components/Galleries/GalleryCard.tsx b/ui/v2.5/src/components/Galleries/GalleryCard.tsx
index b17b1cbf3..88fe37f2a 100644
--- a/ui/v2.5/src/components/Galleries/GalleryCard.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryCard.tsx
@@ -2,17 +2,15 @@ import { Button, ButtonGroup } from "react-bootstrap";
import React from "react";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import {
- GridCard,
- HoverPopover,
- Icon,
- TagLink,
- TruncatedText,
-} from "src/components/Shared";
-import { PopoverCountButton } from "src/components/Shared/PopoverCountButton";
-import { NavUtils } from "src/utils";
-import { ConfigurationContext } from "src/hooks/Config";
+import { GridCard } from "../Shared/GridCard";
+import { HoverPopover } from "../Shared/HoverPopover";
+import { Icon } from "../Shared/Icon";
+import { TagLink } from "../Shared/TagLink";
+import { TruncatedText } from "../Shared/TruncatedText";
import { PerformerPopoverButton } from "../Shared/PerformerPopoverButton";
+import { PopoverCountButton } from "../Shared/PopoverCountButton";
+import NavUtils from "src/utils/navigation";
+import { ConfigurationContext } from "src/hooks/Config";
import { RatingBanner } from "../Shared/RatingBanner";
import { faBox, faPlayCircle, faTag } from "@fortawesome/free-solid-svg-icons";
import { galleryTitle } from "src/core/galleries";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/Gallery.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/Gallery.tsx
index 11f643d1e..dc508ad15 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/Gallery.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/Gallery.tsx
@@ -9,14 +9,12 @@ import {
useFindGallery,
useGalleryUpdate,
} from "src/core/StashService";
-import {
- ErrorMessage,
- LoadingIndicator,
- Icon,
- Counter,
-} from "src/components/Shared";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { Icon } from "src/components/Shared/Icon";
+import { Counter } from "src/components/Shared/Counter";
import Mousetrap from "mousetrap";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { OrganizedButton } from "src/components/Scenes/SceneDetails/OrganizedButton";
import { GalleryEditPanel } from "./GalleryEditPanel";
import { GalleryDetailPanel } from "./GalleryDetailPanel";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryAddPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryAddPanel.tsx
index 04a9db305..4f54ac445 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryAddPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryAddPanel.tsx
@@ -5,7 +5,7 @@ import { ListFilterModel } from "src/models/list-filter/filter";
import { ImageList } from "src/components/Images/ImageList";
import { showWhenSelected } from "src/hooks/ListHook";
import { mutateAddGalleryImages } from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { useIntl } from "react-intl";
import { faPlus } from "@fortawesome/free-solid-svg-icons";
import { galleryTitle } from "src/core/galleries";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryDetailPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryDetailPanel.tsx
index c2cfece58..463ced506 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryDetailPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryDetailPanel.tsx
@@ -2,8 +2,9 @@ import React from "react";
import { Link } from "react-router-dom";
import { FormattedDate, FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils } from "src/utils";
-import { TagLink, TruncatedText } from "src/components/Shared";
+import TextUtils from "src/utils/text";
+import { TagLink } from "src/components/Shared/TagLink";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
import { PerformerCard } from "src/components/Performers/PerformerCard";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { sortPerformers } from "src/core/performers";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
index ca5e292fd..575653a3a 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryEditPanel.tsx
@@ -25,13 +25,13 @@ import {
TagSelect,
SceneSelect,
StudioSelect,
- Icon,
- LoadingIndicator,
- URLField,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+} from "src/components/Shared/Select";
+import { Icon } from "src/components/Shared/Icon";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { URLField } from "src/components/Shared/URLField";
+import { useToast } from "src/hooks/Toast";
import { useFormik } from "formik";
-import { FormUtils } from "src/utils";
+import FormUtils from "src/utils/form";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { GalleryScrapeDialog } from "./GalleryScrapeDialog";
import { faSyncAlt } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryFileInfoPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryFileInfoPanel.tsx
index 5fd71c1ac..1ce1ac825 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryFileInfoPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryFileInfoPanel.tsx
@@ -1,12 +1,12 @@
import React, { useMemo, useState } from "react";
import { Accordion, Button, Card } from "react-bootstrap";
import { FormattedMessage, FormattedTime } from "react-intl";
-import { TruncatedText } from "src/components/Shared";
-import DeleteFilesDialog from "src/components/Shared/DeleteFilesDialog";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
+import { DeleteFilesDialog } from "src/components/Shared/DeleteFilesDialog";
import * as GQL from "src/core/generated-graphql";
import { mutateGallerySetPrimaryFile } from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { TextUtils } from "src/utils";
+import { useToast } from "src/hooks/Toast";
+import TextUtils from "src/utils/text";
import { TextField, URLField } from "src/utils/field";
interface IFileInfoPanelProps {
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryImagesPanel.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryImagesPanel.tsx
index bddd55da5..69fd7a6ee 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryImagesPanel.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryImagesPanel.tsx
@@ -5,7 +5,7 @@ import { ListFilterModel } from "src/models/list-filter/filter";
import { ImageList } from "src/components/Images/ImageList";
import { mutateRemoveGalleryImages } from "src/core/StashService";
import { showWhenSelected, PersistanceLevel } from "src/hooks/ListHook";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { useIntl } from "react-intl";
import { faMinus } from "@fortawesome/free-solid-svg-icons";
import { galleryTitle } from "src/core/galleries";
diff --git a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx
index 917e72b28..153510fd8 100644
--- a/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryDetails/GalleryScrapeDialog.tsx
@@ -1,8 +1,11 @@
import React, { useState } from "react";
import { FormattedMessage, useIntl } from "react-intl";
-import { StudioSelect, PerformerSelect } from "src/components/Shared";
+import {
+ StudioSelect,
+ PerformerSelect,
+ TagSelect,
+} from "src/components/Shared/Select";
import * as GQL from "src/core/generated-graphql";
-import { TagSelect } from "src/components/Shared/Select";
import {
ScrapeDialog,
ScrapeDialogRow,
@@ -17,7 +20,7 @@ import {
useTagCreate,
makePerformerCreateInput,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
function renderScrapedStudio(
result: ScrapeResult,
diff --git a/ui/v2.5/src/components/Galleries/GalleryList.tsx b/ui/v2.5/src/components/Galleries/GalleryList.tsx
index ab33cff3e..d2ba17d6f 100644
--- a/ui/v2.5/src/components/Galleries/GalleryList.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryList.tsx
@@ -8,8 +8,11 @@ import {
FindGalleriesQueryResult,
SlimGalleryDataFragment,
} from "src/core/generated-graphql";
-import { useGalleriesList } from "src/hooks";
-import { showWhenSelected, PersistanceLevel } from "src/hooks/ListHook";
+import {
+ showWhenSelected,
+ PersistanceLevel,
+ useGalleriesList,
+} from "src/hooks/ListHook";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
import { queryFindGalleries } from "src/core/StashService";
diff --git a/ui/v2.5/src/components/Galleries/GalleryViewer.tsx b/ui/v2.5/src/components/Galleries/GalleryViewer.tsx
index 868f63dc1..67736c50d 100644
--- a/ui/v2.5/src/components/Galleries/GalleryViewer.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryViewer.tsx
@@ -1,6 +1,6 @@
import React, { useMemo } from "react";
-import { useLightbox } from "src/hooks";
-import { LoadingIndicator } from "src/components/Shared";
+import { useLightbox } from "src/hooks/Lightbox/hooks";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import "flexbin/flexbin.css";
import {
CriterionModifier,
diff --git a/ui/v2.5/src/components/Galleries/GalleryWallCard.tsx b/ui/v2.5/src/components/Galleries/GalleryWallCard.tsx
index a357b6722..b5e1ff7ec 100644
--- a/ui/v2.5/src/components/Galleries/GalleryWallCard.tsx
+++ b/ui/v2.5/src/components/Galleries/GalleryWallCard.tsx
@@ -2,9 +2,9 @@ import React from "react";
import { useIntl } from "react-intl";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { TruncatedText } from "src/components/Shared";
-import { TextUtils } from "src/utils";
-import { useGalleryLightbox } from "src/hooks";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
+import TextUtils from "src/utils/text";
+import { useGalleryLightbox } from "src/hooks/Lightbox/hooks";
import { galleryTitle } from "src/core/galleries";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
diff --git a/ui/v2.5/src/components/Images/DeleteImagesDialog.tsx b/ui/v2.5/src/components/Images/DeleteImagesDialog.tsx
index 86f2ddbb8..31fa587f7 100644
--- a/ui/v2.5/src/components/Images/DeleteImagesDialog.tsx
+++ b/ui/v2.5/src/components/Images/DeleteImagesDialog.tsx
@@ -2,8 +2,8 @@ import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { useImagesDestroy } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { FormattedMessage, useIntl } from "react-intl";
import { faTrashAlt } from "@fortawesome/free-solid-svg-icons";
@@ -112,7 +112,7 @@ export const DeleteImagesDialog: React.FC = (
}
return (
- = (
onChange={() => setDeleteGenerated(!deleteGenerated)}
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Images/EditImagesDialog.tsx b/ui/v2.5/src/components/Images/EditImagesDialog.tsx
index 1f34ec078..86bb87abc 100644
--- a/ui/v2.5/src/components/Images/EditImagesDialog.tsx
+++ b/ui/v2.5/src/components/Images/EditImagesDialog.tsx
@@ -4,10 +4,11 @@ import { FormattedMessage, useIntl } from "react-intl";
import isEqual from "lodash-es/isEqual";
import { useBulkImageUpdate } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { StudioSelect, Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
-import { FormUtils } from "src/utils";
-import MultiSet from "../Shared/MultiSet";
+import { StudioSelect } from "src/components/Shared/Select";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { useToast } from "src/hooks/Toast";
+import FormUtils from "src/utils/form";
+import { MultiSet } from "../Shared/MultiSet";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
import {
getAggregateInputIDs,
@@ -216,7 +217,7 @@ export const EditImagesDialog: React.FC = (
function render() {
return (
- = (
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Images/ImageCard.tsx b/ui/v2.5/src/components/Images/ImageCard.tsx
index bbaa14134..50ae8bcc4 100644
--- a/ui/v2.5/src/components/Images/ImageCard.tsx
+++ b/ui/v2.5/src/components/Images/ImageCard.tsx
@@ -2,10 +2,13 @@ import React, { MouseEvent, useMemo } from "react";
import { Button, ButtonGroup } from "react-bootstrap";
import cx from "classnames";
import * as GQL from "src/core/generated-graphql";
-import { Icon, TagLink, HoverPopover, SweatDrops } from "src/components/Shared";
-import { PerformerPopoverButton } from "../Shared/PerformerPopoverButton";
-import { GridCard } from "../Shared/GridCard";
-import { RatingBanner } from "../Shared/RatingBanner";
+import { Icon } from "src/components/Shared/Icon";
+import { TagLink } from "src/components/Shared/TagLink";
+import { HoverPopover } from "src/components/Shared/HoverPopover";
+import { SweatDrops } from "src/components/Shared/SweatDrops";
+import { PerformerPopoverButton } from "src/components/Shared/PerformerPopoverButton";
+import { GridCard } from "src/components/Shared/GridCard";
+import { RatingBanner } from "src/components/Shared/RatingBanner";
import {
faBox,
faImages,
diff --git a/ui/v2.5/src/components/Images/ImageDetails/Image.tsx b/ui/v2.5/src/components/Images/ImageDetails/Image.tsx
index 0d70f3370..eb3d1211c 100644
--- a/ui/v2.5/src/components/Images/ImageDetails/Image.tsx
+++ b/ui/v2.5/src/components/Images/ImageDetails/Image.tsx
@@ -11,13 +11,11 @@ import {
useImageUpdate,
mutateMetadataScan,
} from "src/core/StashService";
-import {
- ErrorMessage,
- LoadingIndicator,
- Icon,
- Counter,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { Icon } from "src/components/Shared/Icon";
+import { Counter } from "src/components/Shared/Counter";
+import { useToast } from "src/hooks/Toast";
import * as Mousetrap from "mousetrap";
import { OCounterButton } from "src/components/Scenes/SceneDetails/OCounterButton";
import { OrganizedButton } from "src/components/Scenes/SceneDetails/OrganizedButton";
diff --git a/ui/v2.5/src/components/Images/ImageDetails/ImageDetailPanel.tsx b/ui/v2.5/src/components/Images/ImageDetails/ImageDetailPanel.tsx
index 7d7489068..c4e840e2c 100644
--- a/ui/v2.5/src/components/Images/ImageDetails/ImageDetailPanel.tsx
+++ b/ui/v2.5/src/components/Images/ImageDetails/ImageDetailPanel.tsx
@@ -1,8 +1,9 @@
import React, { useMemo } from "react";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils } from "src/utils";
-import { TagLink, TruncatedText } from "src/components/Shared";
+import TextUtils from "src/utils/text";
+import { TagLink } from "src/components/Shared/TagLink";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
import { PerformerCard } from "src/components/Performers/PerformerCard";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { sortPerformers } from "src/core/performers";
diff --git a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
index b21c84e00..b299c830f 100644
--- a/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
+++ b/ui/v2.5/src/components/Images/ImageDetails/ImageEditPanel.tsx
@@ -9,11 +9,11 @@ import {
PerformerSelect,
TagSelect,
StudioSelect,
- LoadingIndicator,
- URLField,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
-import { FormUtils } from "src/utils";
+} from "src/components/Shared/Select";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { URLField } from "src/components/Shared/URLField";
+import { useToast } from "src/hooks/Toast";
+import FormUtils from "src/utils/form";
import { useFormik } from "formik";
import { Prompt } from "react-router-dom";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
diff --git a/ui/v2.5/src/components/Images/ImageDetails/ImageFileInfoPanel.tsx b/ui/v2.5/src/components/Images/ImageDetails/ImageFileInfoPanel.tsx
index 85f0cf58b..026c51dea 100644
--- a/ui/v2.5/src/components/Images/ImageDetails/ImageFileInfoPanel.tsx
+++ b/ui/v2.5/src/components/Images/ImageDetails/ImageFileInfoPanel.tsx
@@ -1,12 +1,12 @@
import React, { useState } from "react";
import { Accordion, Button, Card } from "react-bootstrap";
import { FormattedMessage, FormattedNumber, FormattedTime } from "react-intl";
-import { TruncatedText } from "src/components/Shared";
-import DeleteFilesDialog from "src/components/Shared/DeleteFilesDialog";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
+import { DeleteFilesDialog } from "src/components/Shared/DeleteFilesDialog";
import * as GQL from "src/core/generated-graphql";
import { mutateImageSetPrimaryFile } from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { TextUtils } from "src/utils";
+import { useToast } from "src/hooks/Toast";
+import TextUtils from "src/utils/text";
import { TextField, URLField } from "src/utils/field";
interface IFileInfoPanelProps {
diff --git a/ui/v2.5/src/components/Images/ImageList.tsx b/ui/v2.5/src/components/Images/ImageList.tsx
index 76b0ccf32..99103f521 100644
--- a/ui/v2.5/src/components/Images/ImageList.tsx
+++ b/ui/v2.5/src/components/Images/ImageList.tsx
@@ -9,13 +9,14 @@ import {
} from "src/core/generated-graphql";
import * as GQL from "src/core/generated-graphql";
import { queryFindImages } from "src/core/StashService";
-import { useImagesList, useLightbox } from "src/hooks";
+import { useLightbox } from "src/hooks/Lightbox/hooks";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
import {
IListHookOperation,
showWhenSelected,
PersistanceLevel,
+ useImagesList,
} from "src/hooks/ListHook";
import { ImageCard } from "./ImageCard";
diff --git a/ui/v2.5/src/components/Images/Images.tsx b/ui/v2.5/src/components/Images/Images.tsx
index be16ed0b6..29538a6bb 100644
--- a/ui/v2.5/src/components/Images/Images.tsx
+++ b/ui/v2.5/src/components/Images/Images.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "../Shared/constants";
import { PersistanceLevel } from "src/hooks/ListHook";
import { Image } from "./ImageDetails/Image";
import { ImageList } from "./ImageList";
diff --git a/ui/v2.5/src/components/List/AddFilterDialog.tsx b/ui/v2.5/src/components/List/AddFilterDialog.tsx
index bad1a9dd9..c7c1e43c5 100644
--- a/ui/v2.5/src/components/List/AddFilterDialog.tsx
+++ b/ui/v2.5/src/components/List/AddFilterDialog.tsx
@@ -36,7 +36,7 @@ import { InputFilter } from "./Filters/InputFilter";
import { DateFilter } from "./Filters/DateFilter";
import { TimestampFilter } from "./Filters/TimestampFilter";
import { CountryCriterion } from "src/models/list-filter/criteria/country";
-import { CountrySelect } from "../Shared";
+import { CountrySelect } from "../Shared/CountrySelect";
import { StashIDCriterion } from "src/models/list-filter/criteria/stash-ids";
import { StashIDFilter } from "./Filters/StashIDFilter";
import { ConfigurationContext } from "src/hooks/Config";
diff --git a/ui/v2.5/src/components/List/FilterTags.tsx b/ui/v2.5/src/components/List/FilterTags.tsx
index 48e79da98..f1eb02283 100644
--- a/ui/v2.5/src/components/List/FilterTags.tsx
+++ b/ui/v2.5/src/components/List/FilterTags.tsx
@@ -5,7 +5,7 @@ import {
CriterionValue,
} from "src/models/list-filter/criteria/criterion";
import { useIntl } from "react-intl";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
interface IFilterTagsProps {
diff --git a/ui/v2.5/src/components/List/Filters/DurationFilter.tsx b/ui/v2.5/src/components/List/Filters/DurationFilter.tsx
index 3fffa954a..772bb0137 100644
--- a/ui/v2.5/src/components/List/Filters/DurationFilter.tsx
+++ b/ui/v2.5/src/components/List/Filters/DurationFilter.tsx
@@ -1,10 +1,10 @@
import React from "react";
import { Form } from "react-bootstrap";
import { useIntl } from "react-intl";
-import { CriterionModifier } from "../../../core/generated-graphql";
-import { DurationInput } from "../../Shared";
-import { INumberValue } from "../../../models/list-filter/types";
-import { Criterion } from "../../../models/list-filter/criteria/criterion";
+import { CriterionModifier } from "src/core/generated-graphql";
+import { DurationInput } from "src/components/Shared/DurationInput";
+import { INumberValue } from "src/models/list-filter/types";
+import { Criterion } from "src/models/list-filter/criteria/criterion";
interface IDurationFilterProps {
criterion: Criterion;
diff --git a/ui/v2.5/src/components/List/Filters/HierarchicalLabelValueFilter.tsx b/ui/v2.5/src/components/List/Filters/HierarchicalLabelValueFilter.tsx
index 68d75ad39..f43317aa4 100644
--- a/ui/v2.5/src/components/List/Filters/HierarchicalLabelValueFilter.tsx
+++ b/ui/v2.5/src/components/List/Filters/HierarchicalLabelValueFilter.tsx
@@ -1,9 +1,9 @@
import React from "react";
import { Form } from "react-bootstrap";
import { defineMessages, MessageDescriptor, useIntl } from "react-intl";
-import { FilterSelect, ValidTypes } from "../../Shared";
-import { Criterion } from "../../../models/list-filter/criteria/criterion";
-import { IHierarchicalLabelValue } from "../../../models/list-filter/types";
+import { FilterSelect, ValidTypes } from "src/components/Shared/Select";
+import { Criterion } from "src/models/list-filter/criteria/criterion";
+import { IHierarchicalLabelValue } from "src/models/list-filter/types";
interface IHierarchicalLabelValueFilterProps {
criterion: Criterion;
diff --git a/ui/v2.5/src/components/List/Filters/LabeledIdFilter.tsx b/ui/v2.5/src/components/List/Filters/LabeledIdFilter.tsx
index 09245adb9..12e49ca1c 100644
--- a/ui/v2.5/src/components/List/Filters/LabeledIdFilter.tsx
+++ b/ui/v2.5/src/components/List/Filters/LabeledIdFilter.tsx
@@ -1,8 +1,8 @@
import React from "react";
import { Form } from "react-bootstrap";
-import { FilterSelect, ValidTypes } from "../../Shared";
-import { Criterion } from "../../../models/list-filter/criteria/criterion";
-import { ILabeledId } from "../../../models/list-filter/types";
+import { FilterSelect, ValidTypes } from "src/components/Shared/Select";
+import { Criterion } from "src/models/list-filter/criteria/criterion";
+import { ILabeledId } from "src/models/list-filter/types";
interface ILabeledIdFilterProps {
criterion: Criterion;
diff --git a/ui/v2.5/src/components/List/ListFilter.tsx b/ui/v2.5/src/components/List/ListFilter.tsx
index 51e1acd7d..646bb9a28 100644
--- a/ui/v2.5/src/components/List/ListFilter.tsx
+++ b/ui/v2.5/src/components/List/ListFilter.tsx
@@ -17,9 +17,9 @@ import {
Overlay,
} from "react-bootstrap";
-import { Icon } from "src/components/Shared";
+import { Icon } from "../Shared/Icon";
import { ListFilterModel } from "src/models/list-filter/filter";
-import { useFocus } from "src/utils";
+import useFocus from "src/utils/focus";
import { ListFilterOptions } from "src/models/list-filter/filter-options";
import { FormattedMessage, useIntl } from "react-intl";
import { PersistanceLevel } from "src/hooks/ListHook";
diff --git a/ui/v2.5/src/components/List/ListOperationButtons.tsx b/ui/v2.5/src/components/List/ListOperationButtons.tsx
index 15a94b75e..c279020e9 100644
--- a/ui/v2.5/src/components/List/ListOperationButtons.tsx
+++ b/ui/v2.5/src/components/List/ListOperationButtons.tsx
@@ -9,7 +9,7 @@ import {
import Mousetrap from "mousetrap";
import { FormattedMessage, useIntl } from "react-intl";
import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
import {
faEllipsisH,
faPencilAlt,
diff --git a/ui/v2.5/src/components/List/ListViewOptions.tsx b/ui/v2.5/src/components/List/ListViewOptions.tsx
index ec31cf452..2dc84d09a 100644
--- a/ui/v2.5/src/components/List/ListViewOptions.tsx
+++ b/ui/v2.5/src/components/List/ListViewOptions.tsx
@@ -9,7 +9,7 @@ import {
} from "react-bootstrap";
import { DisplayMode } from "src/models/list-filter/types";
import { useIntl } from "react-intl";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
import {
faList,
faSquare,
diff --git a/ui/v2.5/src/components/List/SavedFilterList.tsx b/ui/v2.5/src/components/List/SavedFilterList.tsx
index 87be25365..0f0d497be 100644
--- a/ui/v2.5/src/components/List/SavedFilterList.tsx
+++ b/ui/v2.5/src/components/List/SavedFilterList.tsx
@@ -15,13 +15,13 @@ import {
useSaveFilter,
useSetDefaultFilter,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { ListFilterModel } from "src/models/list-filter/filter";
import { SavedFilterDataFragment } from "src/core/generated-graphql";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { PersistanceLevel } from "src/hooks/ListHook";
import { FormattedMessage, useIntl } from "react-intl";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
import { faSave, faTimes } from "@fortawesome/free-solid-svg-icons";
interface ISavedFilterListProps {
diff --git a/ui/v2.5/src/components/MainNavbar.tsx b/ui/v2.5/src/components/MainNavbar.tsx
index ba69ad52a..85eea19c0 100644
--- a/ui/v2.5/src/components/MainNavbar.tsx
+++ b/ui/v2.5/src/components/MainNavbar.tsx
@@ -11,8 +11,8 @@ import { LinkContainer } from "react-router-bootstrap";
import { Link, NavLink, useLocation, useHistory } from "react-router-dom";
import Mousetrap from "mousetrap";
-import { SessionUtils } from "src/utils";
-import Icon from "src/components/Shared/Icon";
+import SessionUtils from "src/utils/session";
+import { Icon } from "src/components/Shared/Icon";
import { ConfigurationContext } from "src/hooks/Config";
import { ManualStateContext } from "./Help/context";
import { SettingsButton } from "./SettingsButton";
diff --git a/ui/v2.5/src/components/Movies/EditMoviesDialog.tsx b/ui/v2.5/src/components/Movies/EditMoviesDialog.tsx
index dae4634af..5e59176f6 100644
--- a/ui/v2.5/src/components/Movies/EditMoviesDialog.tsx
+++ b/ui/v2.5/src/components/Movies/EditMoviesDialog.tsx
@@ -3,9 +3,10 @@ import { Form, Col, Row } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import { useBulkMovieUpdate } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Modal, StudioSelect } from "src/components/Shared";
-import { useToast } from "src/hooks";
-import { FormUtils } from "src/utils";
+import { ModalComponent } from "../Shared/Modal";
+import { StudioSelect } from "../Shared/Select";
+import { useToast } from "src/hooks/Toast";
+import FormUtils from "src/utils/form";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
import {
getAggregateInputValue,
@@ -100,7 +101,7 @@ export const EditMoviesDialog: React.FC = (
function render() {
return (
- = (
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Movies/MovieCard.tsx b/ui/v2.5/src/components/Movies/MovieCard.tsx
index 4f8558a3c..dc1087264 100644
--- a/ui/v2.5/src/components/Movies/MovieCard.tsx
+++ b/ui/v2.5/src/components/Movies/MovieCard.tsx
@@ -1,13 +1,11 @@
import React from "react";
import { Button, ButtonGroup } from "react-bootstrap";
import * as GQL from "src/core/generated-graphql";
-import {
- GridCard,
- HoverPopover,
- Icon,
- TagLink,
- TruncatedText,
-} from "src/components/Shared";
+import { GridCard } from "../Shared/GridCard";
+import { HoverPopover } from "../Shared/HoverPopover";
+import { Icon } from "../Shared/Icon";
+import { TagLink } from "../Shared/TagLink";
+import { TruncatedText } from "../Shared/TruncatedText";
import { FormattedMessage } from "react-intl";
import { RatingBanner } from "../Shared/RatingBanner";
import { faPlayCircle } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx
index 2f7076078..87bfb42eb 100644
--- a/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx
+++ b/ui/v2.5/src/components/Movies/MovieDetails/Movie.tsx
@@ -9,13 +9,11 @@ import {
useMovieDestroy,
} from "src/core/StashService";
import { useParams, useHistory } from "react-router-dom";
-import {
- DetailsEditNavbar,
- ErrorMessage,
- LoadingIndicator,
- Modal,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { useToast } from "src/hooks/Toast";
import { MovieScenesPanel } from "./MovieScenesPanel";
import { MovieDetailsPanel } from "./MovieDetailsPanel";
import { MovieEditPanel } from "./MovieEditPanel";
@@ -111,7 +109,7 @@ const MoviePage: React.FC = ({ movie }) => {
function renderDeleteAlert() {
return (
- = ({ movie }) => {
}}
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Movies/MovieDetails/MovieCreate.tsx b/ui/v2.5/src/components/Movies/MovieDetails/MovieCreate.tsx
index 38437a395..c34f43f89 100644
--- a/ui/v2.5/src/components/Movies/MovieDetails/MovieCreate.tsx
+++ b/ui/v2.5/src/components/Movies/MovieDetails/MovieCreate.tsx
@@ -2,8 +2,8 @@ import React, { useMemo, useState } from "react";
import * as GQL from "src/core/generated-graphql";
import { useMovieCreate } from "src/core/StashService";
import { useHistory, useLocation } from "react-router-dom";
-import { LoadingIndicator } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { useToast } from "src/hooks/Toast";
import { MovieEditPanel } from "./MovieEditPanel";
const MovieCreate: React.FC = () => {
diff --git a/ui/v2.5/src/components/Movies/MovieDetails/MovieDetailsPanel.tsx b/ui/v2.5/src/components/Movies/MovieDetails/MovieDetailsPanel.tsx
index 2c4851bf6..bccbe36b6 100644
--- a/ui/v2.5/src/components/Movies/MovieDetails/MovieDetailsPanel.tsx
+++ b/ui/v2.5/src/components/Movies/MovieDetails/MovieDetailsPanel.tsx
@@ -1,7 +1,8 @@
import React from "react";
import { useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { DurationUtils, TextUtils } from "src/utils";
+import DurationUtils from "src/utils/duration";
+import TextUtils from "src/utils/text";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { TextField, URLField } from "src/utils/field";
diff --git a/ui/v2.5/src/components/Movies/MovieDetails/MovieEditPanel.tsx b/ui/v2.5/src/components/Movies/MovieDetails/MovieEditPanel.tsx
index 8f25000bf..83935a256 100644
--- a/ui/v2.5/src/components/Movies/MovieDetails/MovieEditPanel.tsx
+++ b/ui/v2.5/src/components/Movies/MovieDetails/MovieEditPanel.tsx
@@ -7,16 +7,16 @@ import {
queryScrapeMovieURL,
useListMovieScrapers,
} from "src/core/StashService";
-import {
- LoadingIndicator,
- StudioSelect,
- DetailsEditNavbar,
- DurationInput,
- URLField,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { StudioSelect } from "src/components/Shared/Select";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { DurationInput } from "src/components/Shared/DurationInput";
+import { URLField } from "src/components/Shared/URLField";
+import { useToast } from "src/hooks/Toast";
import { Modal as BSModal, Form, Button, Col, Row } from "react-bootstrap";
-import { DurationUtils, FormUtils, ImageUtils } from "src/utils";
+import DurationUtils from "src/utils/duration";
+import FormUtils from "src/utils/form";
+import ImageUtils from "src/utils/image";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { useFormik } from "formik";
import { Prompt } from "react-router-dom";
diff --git a/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx b/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx
index 08c545e04..a6f53f179 100644
--- a/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx
+++ b/ui/v2.5/src/components/Movies/MovieDetails/MovieScrapeDialog.tsx
@@ -9,10 +9,10 @@ import {
ScrapeDialogRow,
ScrapedTextAreaRow,
} from "src/components/Shared/ScrapeDialog";
-import { StudioSelect } from "src/components/Shared";
-import { DurationUtils } from "src/utils";
+import { StudioSelect } from "src/components/Shared/Select";
+import DurationUtils from "src/utils/duration";
import { useStudioCreate } from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
function renderScrapedStudio(
result: ScrapeResult,
diff --git a/ui/v2.5/src/components/Movies/MovieList.tsx b/ui/v2.5/src/components/Movies/MovieList.tsx
index 51a6bd2b0..ec367d74f 100644
--- a/ui/v2.5/src/components/Movies/MovieList.tsx
+++ b/ui/v2.5/src/components/Movies/MovieList.tsx
@@ -16,7 +16,8 @@ import {
useMoviesList,
PersistanceLevel,
} from "src/hooks/ListHook";
-import { ExportDialog, DeleteEntityDialog } from "src/components/Shared";
+import { ExportDialog } from "../Shared/ExportDialog";
+import { DeleteEntityDialog } from "../Shared/DeleteEntityDialog";
import { MovieCard } from "./MovieCard";
import { EditMoviesDialog } from "./EditMoviesDialog";
diff --git a/ui/v2.5/src/components/Movies/Movies.tsx b/ui/v2.5/src/components/Movies/Movies.tsx
index af9b501b3..2c35759fb 100644
--- a/ui/v2.5/src/components/Movies/Movies.tsx
+++ b/ui/v2.5/src/components/Movies/Movies.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import Movie from "./MovieDetails/Movie";
import MovieCreate from "./MovieDetails/MovieCreate";
import { MovieList } from "./MovieList";
diff --git a/ui/v2.5/src/components/Performers/EditPerformersDialog.tsx b/ui/v2.5/src/components/Performers/EditPerformersDialog.tsx
index 4d25e7fab..5f02351a0 100644
--- a/ui/v2.5/src/components/Performers/EditPerformersDialog.tsx
+++ b/ui/v2.5/src/components/Performers/EditPerformersDialog.tsx
@@ -3,9 +3,9 @@ import { Col, Form, Row } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import { useBulkPerformerUpdate } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
-import MultiSet from "../Shared/MultiSet";
+import { ModalComponent } from "../Shared/Modal";
+import { useToast } from "src/hooks/Toast";
+import { MultiSet } from "../Shared/MultiSet";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
import {
getAggregateInputValue,
@@ -20,7 +20,7 @@ import {
import { IndeterminateCheckbox } from "../Shared/IndeterminateCheckbox";
import { BulkUpdateTextInput } from "../Shared/BulkUpdateTextInput";
import { faPencilAlt } from "@fortawesome/free-solid-svg-icons";
-import { FormUtils } from "../../utils";
+import FormUtils from "src/utils/form";
interface IListOperationProps {
selected: GQL.SlimPerformerDataFragment[];
@@ -181,7 +181,7 @@ export const EditPerformersDialog: React.FC = (
function render() {
return (
- = (
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Performers/PerformerCard.tsx b/ui/v2.5/src/components/Performers/PerformerCard.tsx
index 36189154d..684bed3a3 100644
--- a/ui/v2.5/src/components/Performers/PerformerCard.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerCard.tsx
@@ -2,14 +2,13 @@ import React from "react";
import { Link } from "react-router-dom";
import { useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { NavUtils, TextUtils } from "src/utils";
-import {
- GridCard,
- CountryFlag,
- HoverPopover,
- Icon,
- TagLink,
-} from "src/components/Shared";
+import NavUtils from "src/utils/navigation";
+import TextUtils from "src/utils/text";
+import { GridCard } from "../Shared/GridCard";
+import { CountryFlag } from "../Shared/CountryFlag";
+import { HoverPopover } from "../Shared/HoverPopover";
+import { Icon } from "../Shared/Icon";
+import { TagLink } from "../Shared/TagLink";
import { Button, ButtonGroup } from "react-bootstrap";
import {
Criterion,
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx
index c021441c6..357886ffb 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/Performer.tsx
@@ -12,17 +12,16 @@ import {
usePerformerDestroy,
mutateMetadataAutoTag,
} from "src/core/StashService";
-import {
- Counter,
- CountryFlag,
- DetailsEditNavbar,
- ErrorMessage,
- Icon,
- LoadingIndicator,
-} from "src/components/Shared";
-import { useLightbox, useToast } from "src/hooks";
+import { Counter } from "src/components/Shared/Counter";
+import { CountryFlag } from "src/components/Shared/CountryFlag";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { Icon } from "src/components/Shared/Icon";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { useLightbox } from "src/hooks/Lightbox/hooks";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { PerformerDetailsPanel } from "./PerformerDetailsPanel";
import { PerformerScenesPanel } from "./PerformerScenesPanel";
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerCreate.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerCreate.tsx
index 9306caeba..2e6bccded 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerCreate.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerCreate.tsx
@@ -1,6 +1,6 @@
import React, { useMemo, useState } from "react";
import { FormattedMessage, useIntl } from "react-intl";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { PerformerEditPanel } from "./PerformerEditPanel";
import { useLocation } from "react-router-dom";
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerDetailsPanel.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerDetailsPanel.tsx
index e8c4ffc3f..9a0aa9f07 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerDetailsPanel.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerDetailsPanel.tsx
@@ -1,8 +1,10 @@
import React from "react";
import { FormattedMessage, useIntl } from "react-intl";
-import { TagLink } from "src/components/Shared";
+import { TagLink } from "src/components/Shared/TagLink";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils, getStashboxBase, getCountryByISO } from "src/utils";
+import TextUtils from "src/utils/text";
+import { getStashboxBase } from "src/utils/stashbox";
+import { getCountryByISO } from "src/utils/country";
import { TextField, URLField } from "src/utils/field";
import { cmToImperial, kgToLbs } from "src/utils/units";
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
index 40f87c2a5..8af8c0117 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerEditPanel.tsx
@@ -13,17 +13,17 @@ import {
useTagCreate,
queryScrapePerformerURL,
} from "src/core/StashService";
-import {
- Icon,
- ImageInput,
- LoadingIndicator,
- CollapseButton,
- TagSelect,
- URLField,
- CountrySelect,
-} from "src/components/Shared";
-import { ImageUtils, getStashIDs } from "src/utils";
-import { useToast } from "src/hooks";
+import { Icon } from "src/components/Shared/Icon";
+import { ImageInput } from "src/components/Shared/ImageInput";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { CollapseButton } from "src/components/Shared/CollapseButton";
+import { TagSelect } from "src/components/Shared/Select";
+import { CountrySelect } from "src/components/Shared/CountrySelect";
+import { URLField } from "src/components/Shared/URLField";
+import ImageUtils from "src/utils/image";
+import { getStashIDs } from "src/utils/stashIds";
+import { stashboxDisplayName } from "src/utils/stashbox";
+import { useToast } from "src/hooks/Toast";
import { Prompt, useHistory } from "react-router-dom";
import { useFormik } from "formik";
import {
@@ -32,7 +32,6 @@ import {
stringToGender,
} from "src/utils/gender";
import { ConfigurationContext } from "src/hooks/Config";
-import { stashboxDisplayName } from "src/utils/stashbox";
import { PerformerScrapeDialog } from "./PerformerScrapeDialog";
import PerformerScrapeModal from "./PerformerScrapeModal";
import PerformerStashBoxModal, { IStashBox } from "./PerformerStashBoxModal";
@@ -68,7 +67,7 @@ export const PerformerEditPanel: React.FC = ({
const isNew = performer.id === undefined;
- // Editing state
+ // Editing stat
const [scraper, setScraper] = useState();
const [newTags, setNewTags] = useState();
const [isScraperModalOpen, setIsScraperModalOpen] = useState(false);
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx
index 96cfa40e7..0f62285f5 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeDialog.tsx
@@ -12,8 +12,8 @@ import {
} from "src/components/Shared/ScrapeDialog";
import { useTagCreate } from "src/core/StashService";
import { Form } from "react-bootstrap";
-import { TagSelect } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { TagSelect } from "src/components/Shared/Select";
+import { useToast } from "src/hooks/Toast";
import clone from "lodash-es/clone";
import {
genderStrings,
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeModal.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeModal.tsx
index 7400e5608..b402bfcbe 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeModal.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerScrapeModal.tsx
@@ -4,7 +4,8 @@ import { Button, Form } from "react-bootstrap";
import { useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { Modal, LoadingIndicator } from "src/components/Shared";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { useScrapePerformerList } from "src/core/StashService";
const CLASSNAME = "PerformerScrapeModal";
@@ -39,7 +40,7 @@ const PerformerScrapeModal: React.FC = ({
useEffect(() => inputRef.current?.focus(), []);
return (
- = ({
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerStashBoxModal.tsx b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerStashBoxModal.tsx
index 39d87c788..9fc237905 100644
--- a/ui/v2.5/src/components/Performers/PerformerDetails/PerformerStashBoxModal.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerDetails/PerformerStashBoxModal.tsx
@@ -4,7 +4,8 @@ import { Button, Form } from "react-bootstrap";
import { useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { Modal, LoadingIndicator } from "src/components/Shared";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { stashboxDisplayName } from "src/utils/stashbox";
const CLASSNAME = "PerformerScrapeModal";
@@ -50,7 +51,7 @@ const PerformerStashBoxModal: React.FC = ({
useEffect(() => inputRef.current?.focus(), []);
return (
- = ({
query !== "" && No results found.
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/Performers/PerformerList.tsx b/ui/v2.5/src/components/Performers/PerformerList.tsx
index 0cd8902ae..1fa96304e 100644
--- a/ui/v2.5/src/components/Performers/PerformerList.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerList.tsx
@@ -11,12 +11,16 @@ import {
queryFindPerformers,
usePerformersDestroy,
} from "src/core/StashService";
-import { usePerformersList } from "src/hooks";
-import { showWhenSelected, PersistanceLevel } from "src/hooks/ListHook";
+import {
+ showWhenSelected,
+ PersistanceLevel,
+ usePerformersList,
+} from "src/hooks/ListHook";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
-import { PerformerTagger } from "src/components/Tagger";
-import { ExportDialog, DeleteEntityDialog } from "src/components/Shared";
+import { PerformerTagger } from "../Tagger/performers/PerformerTagger";
+import { ExportDialog } from "../Shared/ExportDialog";
+import { DeleteEntityDialog } from "../Shared/DeleteEntityDialog";
import { IPerformerCardExtraCriteria, PerformerCard } from "./PerformerCard";
import { PerformerListTable } from "./PerformerListTable";
import { EditPerformersDialog } from "./EditPerformersDialog";
diff --git a/ui/v2.5/src/components/Performers/PerformerListTable.tsx b/ui/v2.5/src/components/Performers/PerformerListTable.tsx
index 0b7d1be57..1b2f858fd 100644
--- a/ui/v2.5/src/components/Performers/PerformerListTable.tsx
+++ b/ui/v2.5/src/components/Performers/PerformerListTable.tsx
@@ -5,8 +5,8 @@ import { useIntl } from "react-intl";
import { Button, Table } from "react-bootstrap";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { Icon } from "src/components/Shared";
-import { NavUtils } from "src/utils";
+import { Icon } from "../Shared/Icon";
+import NavUtils from "src/utils/navigation";
import { faHeart } from "@fortawesome/free-solid-svg-icons";
import { cmToImperial } from "src/utils/units";
diff --git a/ui/v2.5/src/components/Performers/Performers.tsx b/ui/v2.5/src/components/Performers/Performers.tsx
index 027b441bd..f919fdba5 100644
--- a/ui/v2.5/src/components/Performers/Performers.tsx
+++ b/ui/v2.5/src/components/Performers/Performers.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import { PersistanceLevel } from "src/hooks/ListHook";
import Performer from "./PerformerDetails/Performer";
import PerformerCreate from "./PerformerDetails/PerformerCreate";
diff --git a/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx b/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx
index 5617f7ac1..882664d26 100644
--- a/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx
+++ b/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx
@@ -14,16 +14,14 @@ import { Link, useHistory } from "react-router-dom";
import { FormattedMessage, FormattedNumber, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import {
- LoadingIndicator,
- ErrorMessage,
- HoverPopover,
- Icon,
- TagLink,
- SweatDrops,
-} from "src/components/Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { ErrorMessage } from "../Shared/ErrorMessage";
+import { HoverPopover } from "../Shared/HoverPopover";
+import { Icon } from "../Shared/Icon";
+import { TagLink } from "../Shared/TagLink";
+import { SweatDrops } from "../Shared/SweatDrops";
import { Pagination } from "src/components/List/Pagination";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { DeleteScenesDialog } from "src/components/Scenes/DeleteScenesDialog";
import { EditScenesDialog } from "../Scenes/EditScenesDialog";
import { PerformerPopoverButton } from "../Shared/PerformerPopoverButton";
diff --git a/ui/v2.5/src/components/SceneFilenameParser/SceneFilenameParser.tsx b/ui/v2.5/src/components/SceneFilenameParser/SceneFilenameParser.tsx
index 3fac41159..8bab43078 100644
--- a/ui/v2.5/src/components/SceneFilenameParser/SceneFilenameParser.tsx
+++ b/ui/v2.5/src/components/SceneFilenameParser/SceneFilenameParser.tsx
@@ -9,8 +9,8 @@ import {
useScenesUpdate,
} from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { LoadingIndicator } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { useToast } from "src/hooks/Toast";
import { Pagination } from "src/components/List/Pagination";
import { IParserInput, ParserInput } from "./ParserInput";
import { ParserField } from "./ParserField";
diff --git a/ui/v2.5/src/components/SceneFilenameParser/SceneParserRow.tsx b/ui/v2.5/src/components/SceneFilenameParser/SceneParserRow.tsx
index 446e085b2..2fa4f874f 100644
--- a/ui/v2.5/src/components/SceneFilenameParser/SceneParserRow.tsx
+++ b/ui/v2.5/src/components/SceneFilenameParser/SceneParserRow.tsx
@@ -10,7 +10,7 @@ import {
PerformerSelect,
TagSelect,
StudioSelect,
-} from "src/components/Shared";
+} from "src/components/Shared/Select";
import cx from "classnames";
import { objectTitle } from "src/core/files";
diff --git a/ui/v2.5/src/components/SceneFilenameParser/ShowFields.tsx b/ui/v2.5/src/components/SceneFilenameParser/ShowFields.tsx
index b707e9b17..c0dd6d8ce 100644
--- a/ui/v2.5/src/components/SceneFilenameParser/ShowFields.tsx
+++ b/ui/v2.5/src/components/SceneFilenameParser/ShowFields.tsx
@@ -7,7 +7,7 @@ import {
import React, { useState } from "react";
import { Button, Collapse } from "react-bootstrap";
import { useIntl } from "react-intl";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
interface IShowFieldsProps {
fields: Map;
diff --git a/ui/v2.5/src/components/ScenePlayer/ScenePlayerScrubber.tsx b/ui/v2.5/src/components/ScenePlayer/ScenePlayerScrubber.tsx
index 07a5417a8..9c7b92f97 100644
--- a/ui/v2.5/src/components/ScenePlayer/ScenePlayerScrubber.tsx
+++ b/ui/v2.5/src/components/ScenePlayer/ScenePlayerScrubber.tsx
@@ -8,7 +8,7 @@ import React, {
import { Button } from "react-bootstrap";
import axios from "axios";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { WebVTT } from "videojs-vtt.js";
interface IScenePlayerScrubberProps {
diff --git a/ui/v2.5/src/components/ScenePlayer/index.ts b/ui/v2.5/src/components/ScenePlayer/index.ts
deleted file mode 100644
index 04a525412..000000000
--- a/ui/v2.5/src/components/ScenePlayer/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./ScenePlayer";
diff --git a/ui/v2.5/src/components/Scenes/DeleteScenesDialog.tsx b/ui/v2.5/src/components/Scenes/DeleteScenesDialog.tsx
index c98785e1c..6a17ff5bf 100644
--- a/ui/v2.5/src/components/Scenes/DeleteScenesDialog.tsx
+++ b/ui/v2.5/src/components/Scenes/DeleteScenesDialog.tsx
@@ -2,8 +2,8 @@ import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { useScenesDestroy } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { FormattedMessage, useIntl } from "react-intl";
import { faTrashAlt } from "@fortawesome/free-solid-svg-icons";
@@ -126,7 +126,7 @@ export const DeleteScenesDialog: React.FC = (
}
return (
- = (
onChange={() => setDeleteGenerated(!deleteGenerated)}
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx b/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx
index b3551ae14..9fed7f54b 100644
--- a/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx
+++ b/ui/v2.5/src/components/Scenes/EditScenesDialog.tsx
@@ -4,10 +4,11 @@ import { FormattedMessage, useIntl } from "react-intl";
import isEqual from "lodash-es/isEqual";
import { useBulkSceneUpdate } from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { StudioSelect, Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
-import { FormUtils } from "src/utils";
-import MultiSet from "../Shared/MultiSet";
+import { StudioSelect } from "../Shared/Select";
+import { ModalComponent } from "../Shared/Modal";
+import { MultiSet } from "../Shared/MultiSet";
+import { useToast } from "src/hooks/Toast";
+import FormUtils from "src/utils/form";
import { RatingSystem } from "../Shared/Rating/RatingSystem";
import {
getAggregateInputIDs,
@@ -241,7 +242,7 @@ export const EditScenesDialog: React.FC = (
function render() {
return (
- = (
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Scenes/SceneCard.tsx b/ui/v2.5/src/components/Scenes/SceneCard.tsx
index d744ee348..3205fdcb8 100644
--- a/ui/v2.5/src/components/Scenes/SceneCard.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneCard.tsx
@@ -3,14 +3,13 @@ import { Button, ButtonGroup } from "react-bootstrap";
import { Link } from "react-router-dom";
import cx from "classnames";
import * as GQL from "src/core/generated-graphql";
-import {
- Icon,
- TagLink,
- HoverPopover,
- SweatDrops,
- TruncatedText,
-} from "src/components/Shared";
-import { NavUtils, TextUtils } from "src/utils";
+import { Icon } from "../Shared/Icon";
+import { TagLink } from "../Shared/TagLink";
+import { HoverPopover } from "../Shared/HoverPopover";
+import { SweatDrops } from "../Shared/SweatDrops";
+import { TruncatedText } from "../Shared/TruncatedText";
+import NavUtils from "src/utils/navigation";
+import TextUtils from "src/utils/text";
import { SceneQueue } from "src/models/sceneQueue";
import { ConfigurationContext } from "src/hooks/Config";
import { PerformerPopoverButton } from "../Shared/PerformerPopoverButton";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/ExternalPlayerButton.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/ExternalPlayerButton.tsx
index 8ee4d992c..eef8db914 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/ExternalPlayerButton.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/ExternalPlayerButton.tsx
@@ -2,7 +2,7 @@ import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons";
import React from "react";
import { Button } from "react-bootstrap";
import { useIntl } from "react-intl";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "src/components/Shared/Icon";
import { objectTitle } from "src/core/files";
import { SceneDataFragment } from "src/core/generated-graphql";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/OCounterButton.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/OCounterButton.tsx
index 19d9e337d..8fdb7dfd7 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/OCounterButton.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/OCounterButton.tsx
@@ -2,7 +2,9 @@ import { faBan, faMinus } from "@fortawesome/free-solid-svg-icons";
import React, { useState } from "react";
import { Button, ButtonGroup, Dropdown, DropdownButton } from "react-bootstrap";
import { useIntl } from "react-intl";
-import { Icon, LoadingIndicator, SweatDrops } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { SweatDrops } from "src/components/Shared/SweatDrops";
export interface IOCounterButtonProps {
value: number;
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/OrganizedButton.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/OrganizedButton.tsx
index 63e82f9d2..4d0d7dd51 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/OrganizedButton.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/OrganizedButton.tsx
@@ -1,7 +1,7 @@
import React from "react";
import cx from "classnames";
import { Button, Spinner } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "src/components/Shared/Icon";
import { defineMessages, useIntl } from "react-intl";
import { faBox } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx
index 09b575a68..1f4b8f740 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/QueueViewer.tsx
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import cx from "classnames";
import { Button, Form, Spinner } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "src/components/Shared/Icon";
import { useIntl } from "react-intl";
import {
faChevronDown,
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx
index 9c6d67574..7e244580a 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx
@@ -23,13 +23,11 @@ import {
queryFindScenesByID,
} from "src/core/StashService";
-import {
- ErrorMessage,
- LoadingIndicator,
- Icon,
- Counter,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { Icon } from "src/components/Shared/Icon";
+import { Counter } from "src/components/Shared/Counter";
+import { useToast } from "src/hooks/Toast";
import SceneQueue, { QueuedScene } from "src/models/sceneQueue";
import { ListFilterModel } from "src/models/list-filter/filter";
import Mousetrap from "mousetrap";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneCreate.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneCreate.tsx
index a197a5c46..4e289c52d 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneCreate.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneCreate.tsx
@@ -3,8 +3,8 @@ import { FormattedMessage, useIntl } from "react-intl";
import { useLocation } from "react-router-dom";
import { SceneEditPanel } from "./SceneEditPanel";
import { useFindScene } from "src/core/StashService";
-import { ImageUtils } from "src/utils";
-import { LoadingIndicator } from "src/components/Shared";
+import ImageUtils from "src/utils/image";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
const SceneCreate: React.FC = () => {
const intl = useIntl();
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneDetailPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneDetailPanel.tsx
index a38d79ca8..e52775960 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneDetailPanel.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneDetailPanel.tsx
@@ -4,7 +4,7 @@ import { FormattedDate, FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import TextUtils from "src/utils/text";
import { TagLink } from "src/components/Shared/TagLink";
-import TruncatedText from "src/components/Shared/TruncatedText";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
import { PerformerCard } from "src/components/Performers/PerformerCard";
import { sortPerformers } from "src/core/performers";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
index 78c9d3986..c21d9fab7 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneEditPanel.tsx
@@ -26,14 +26,16 @@ import {
TagSelect,
StudioSelect,
GallerySelect,
- Icon,
- LoadingIndicator,
- ImageInput,
- URLField,
-} from "src/components/Shared";
-import useToast from "src/hooks/Toast";
-import { ImageUtils, FormUtils, getStashIDs } from "src/utils";
-import { MovieSelect } from "src/components/Shared/Select";
+ MovieSelect,
+} from "src/components/Shared/Select";
+import { Icon } from "src/components/Shared/Icon";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { ImageInput } from "src/components/Shared/ImageInput";
+import { URLField } from "src/components/Shared/URLField";
+import { useToast } from "src/hooks/Toast";
+import ImageUtils from "src/utils/image";
+import FormUtils from "src/utils/form";
+import { getStashIDs } from "src/utils/stashIds";
import { useFormik } from "formik";
import { Prompt, useHistory } from "react-router-dom";
import { ConfigurationContext } from "src/hooks/Config";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneFileInfoPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneFileInfoPanel.tsx
index be7214487..8cccfc425 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneFileInfoPanel.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneFileInfoPanel.tsx
@@ -7,13 +7,15 @@ import {
useIntl,
} from "react-intl";
import { useHistory } from "react-router-dom";
-import { TruncatedText } from "src/components/Shared";
-import DeleteFilesDialog from "src/components/Shared/DeleteFilesDialog";
-import ReassignFilesDialog from "src/components/Shared/ReassignFilesDialog";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
+import { DeleteFilesDialog } from "src/components/Shared/DeleteFilesDialog";
+import { ReassignFilesDialog } from "src/components/Shared/ReassignFilesDialog";
import * as GQL from "src/core/generated-graphql";
import { mutateSceneSetPrimaryFile } from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { NavUtils, TextUtils, getStashboxBase } from "src/utils";
+import { useToast } from "src/hooks/Toast";
+import NavUtils from "src/utils/navigation";
+import TextUtils from "src/utils/text";
+import { getStashboxBase } from "src/utils/stashbox";
import { TextField, URLField } from "src/utils/field";
interface IFileInfoPanelProps {
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneMarkerForm.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneMarkerForm.tsx
index 2d24dfb8a..716f3ae6c 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneMarkerForm.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneMarkerForm.tsx
@@ -8,13 +8,10 @@ import {
useSceneMarkerUpdate,
useSceneMarkerDestroy,
} from "src/core/StashService";
-import {
- DurationInput,
- TagSelect,
- MarkerTitleSuggest,
-} from "src/components/Shared";
+import { DurationInput } from "src/components/Shared/DurationInput";
+import { TagSelect, MarkerTitleSuggest } from "src/components/Shared/Select";
import { getPlayerPosition } from "src/components/ScenePlayer/util";
-import useToast from "src/hooks/Toast";
+import { useToast } from "src/hooks/Toast";
interface IFormFields {
title: string;
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneQueryModal.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneQueryModal.tsx
index 1dfd4deed..dd9e7592a 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneQueryModal.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneQueryModal.tsx
@@ -3,14 +3,12 @@ import { Badge, Button, Col, Form, InputGroup, Row } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import {
- Modal,
- LoadingIndicator,
- TruncatedText,
- Icon,
-} from "src/components/Shared";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
+import { Icon } from "src/components/Shared/Icon";
import { queryScrapeSceneQuery } from "src/core/StashService";
-import useToast from "src/hooks/Toast";
+import { useToast } from "src/hooks/Toast";
import { faSearch } from "@fortawesome/free-solid-svg-icons";
interface ISceneSearchResultDetailsProps {
@@ -187,7 +185,7 @@ export const SceneQueryModal: React.FC = ({
}
return (
- = ({
renderResults()
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx
index eb10903dc..953b24b64 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneScrapeDialog.tsx
@@ -1,7 +1,11 @@
import React, { useMemo, useState } from "react";
-import { StudioSelect, PerformerSelect } from "src/components/Shared";
import * as GQL from "src/core/generated-graphql";
-import { MovieSelect, TagSelect } from "src/components/Shared/Select";
+import {
+ MovieSelect,
+ TagSelect,
+ StudioSelect,
+ PerformerSelect,
+} from "src/components/Shared/Select";
import {
ScrapeDialog,
ScrapeDialogRow,
@@ -19,7 +23,7 @@ import {
useTagCreate,
makePerformerCreateInput,
} from "src/core/StashService";
-import useToast from "src/hooks/Toast";
+import { useToast } from "src/hooks/Toast";
import DurationUtils from "src/utils/duration";
import { useIntl } from "react-intl";
diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/SceneVideoFilterPanel.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/SceneVideoFilterPanel.tsx
index 746a0acb6..f70451d4e 100644
--- a/ui/v2.5/src/components/Scenes/SceneDetails/SceneVideoFilterPanel.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneDetails/SceneVideoFilterPanel.tsx
@@ -1,7 +1,7 @@
import React, { useState } from "react";
import { FormattedMessage, useIntl } from "react-intl";
import { Button, Form } from "react-bootstrap";
-import TruncatedText from "src/components/Shared/TruncatedText";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
import { VIDEO_PLAYER_ID } from "src/components/ScenePlayer/util";
import * as GQL from "src/core/generated-graphql";
diff --git a/ui/v2.5/src/components/Scenes/SceneList.tsx b/ui/v2.5/src/components/Scenes/SceneList.tsx
index 2d4a2b9c9..3392f5626 100644
--- a/ui/v2.5/src/components/Scenes/SceneList.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneList.tsx
@@ -8,11 +8,14 @@ import {
SlimSceneDataFragment,
} from "src/core/generated-graphql";
import { queryFindScenes } from "src/core/StashService";
-import { useScenesList } from "src/hooks";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
-import { showWhenSelected, PersistanceLevel } from "src/hooks/ListHook";
-import Tagger from "src/components/Tagger";
+import {
+ showWhenSelected,
+ PersistanceLevel,
+ useScenesList,
+} from "src/hooks/ListHook";
+import { Tagger } from "../Tagger/scenes/SceneTagger";
import { IPlaySceneOptions, SceneQueue } from "src/models/sceneQueue";
import { WallPanel } from "../Wall/WallPanel";
import { SceneListTable } from "./SceneListTable";
diff --git a/ui/v2.5/src/components/Scenes/SceneListTable.tsx b/ui/v2.5/src/components/Scenes/SceneListTable.tsx
index 16b47f436..5a934b86e 100644
--- a/ui/v2.5/src/components/Scenes/SceneListTable.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneListTable.tsx
@@ -4,8 +4,9 @@ import React from "react";
import { Table, Button, Form } from "react-bootstrap";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { NavUtils, TextUtils } from "src/utils";
-import { Icon } from "src/components/Shared";
+import NavUtils from "src/utils/navigation";
+import TextUtils from "src/utils/text";
+import { Icon } from "src/components/Shared/Icon";
import { FormattedMessage } from "react-intl";
import { objectTitle } from "src/core/files";
diff --git a/ui/v2.5/src/components/Scenes/SceneMarkerList.tsx b/ui/v2.5/src/components/Scenes/SceneMarkerList.tsx
index 9958b0432..449f7b64c 100644
--- a/ui/v2.5/src/components/Scenes/SceneMarkerList.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneMarkerList.tsx
@@ -3,13 +3,12 @@ import React from "react";
import { useHistory } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import Mousetrap from "mousetrap";
import { FindSceneMarkersQueryResult } from "src/core/generated-graphql";
import { queryFindSceneMarkers } from "src/core/StashService";
-import { NavUtils } from "src/utils";
-import { useSceneMarkersList } from "src/hooks";
-import { PersistanceLevel } from "src/hooks/ListHook";
+import NavUtils from "src/utils/navigation";
+import { PersistanceLevel, useSceneMarkersList } from "src/hooks/ListHook";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
import { WallPanel } from "../Wall/WallPanel";
diff --git a/ui/v2.5/src/components/Scenes/SceneMergeDialog.tsx b/ui/v2.5/src/components/Scenes/SceneMergeDialog.tsx
index df2f77383..974913d93 100644
--- a/ui/v2.5/src/components/Scenes/SceneMergeDialog.tsx
+++ b/ui/v2.5/src/components/Scenes/SceneMergeDialog.tsx
@@ -1,18 +1,15 @@
-import { Form, Col, Row, Button, FormControl } from "react-bootstrap";
+import { Form, Col, Row, Button, FormControl, Modal } from "react-bootstrap";
import React, { useCallback, useEffect, useMemo, useState } from "react";
import * as GQL from "src/core/generated-graphql";
-import {
- GallerySelect,
- Icon,
- LoadingIndicator,
- Modal,
- SceneSelect,
- StringListSelect,
-} from "src/components/Shared";
-import { FormUtils, ImageUtils, TextUtils } from "src/utils";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { StringListSelect, GallerySelect, SceneSelect } from "../Shared/Select";
+import FormUtils from "src/utils/form";
+import ImageUtils from "src/utils/image";
+import TextUtils from "src/utils/text";
import { mutateSceneMerge, queryFindScenesByID } from "src/core/StashService";
import { FormattedMessage, useIntl } from "react-intl";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { faExchangeAlt, faSignInAlt } from "@fortawesome/free-solid-svg-icons";
import {
hasScrapedValues,
diff --git a/ui/v2.5/src/components/Scenes/Scenes.tsx b/ui/v2.5/src/components/Scenes/Scenes.tsx
index 97a9ea5c6..6bbbd1c68 100644
--- a/ui/v2.5/src/components/Scenes/Scenes.tsx
+++ b/ui/v2.5/src/components/Scenes/Scenes.tsx
@@ -2,7 +2,7 @@ import React, { lazy } from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import { PersistanceLevel } from "src/hooks/ListHook";
const SceneList = lazy(() => import("./SceneList"));
diff --git a/ui/v2.5/src/components/Settings/Inputs.tsx b/ui/v2.5/src/components/Settings/Inputs.tsx
index f8bc07461..9ecf1d54c 100644
--- a/ui/v2.5/src/components/Settings/Inputs.tsx
+++ b/ui/v2.5/src/components/Settings/Inputs.tsx
@@ -2,7 +2,7 @@ import { faChevronDown, faChevronUp } from "@fortawesome/free-solid-svg-icons";
import React, { PropsWithChildren, useState } from "react";
import { Button, Collapse, Form, Modal, ModalProps } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
import { StringListInput } from "../Shared/StringListInput";
interface ISetting {
diff --git a/ui/v2.5/src/components/Settings/Settings.tsx b/ui/v2.5/src/components/Settings/Settings.tsx
index 5041653ca..1b1149592 100644
--- a/ui/v2.5/src/components/Settings/Settings.tsx
+++ b/ui/v2.5/src/components/Settings/Settings.tsx
@@ -3,7 +3,7 @@ import { Tab, Nav, Row, Col } from "react-bootstrap";
import { useHistory, useLocation } from "react-router-dom";
import { FormattedMessage, useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import { SettingsAboutPanel } from "./SettingsAboutPanel";
import { SettingsConfigurationPanel } from "./SettingsSystemPanel";
import { SettingsInterfacePanel } from "./SettingsInterfacePanel/SettingsInterfacePanel";
diff --git a/ui/v2.5/src/components/Settings/SettingsInterfacePanel/SettingsInterfacePanel.tsx b/ui/v2.5/src/components/Settings/SettingsInterfacePanel/SettingsInterfacePanel.tsx
index 8e5fb1286..4336e1a7f 100644
--- a/ui/v2.5/src/components/Settings/SettingsInterfacePanel/SettingsInterfacePanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsInterfacePanel/SettingsInterfacePanel.tsx
@@ -1,11 +1,9 @@
import React from "react";
import { Button, Form } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
-import {
- DurationInput,
- PercentInput,
- LoadingIndicator,
-} from "src/components/Shared";
+import { DurationInput } from "src/components/Shared/DurationInput";
+import { PercentInput } from "src/components/Shared/PercentInput";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { CheckboxGroup } from "./CheckboxGroup";
import { SettingSection } from "../SettingSection";
import {
@@ -16,13 +14,13 @@ import {
StringSetting,
} from "../Inputs";
import { SettingStateContext } from "../context";
-import { DurationUtils } from "src/utils";
+import DurationUtils from "src/utils/duration";
import * as GQL from "src/core/generated-graphql";
import {
imageLightboxDisplayModeIntlMap,
imageLightboxScrollModeIntlMap,
} from "src/core/enums";
-import { useInterfaceLocalForage } from "src/hooks";
+import { useInterfaceLocalForage } from "src/hooks/LocalForage";
import {
ConnectionState,
connectionStateLabel,
diff --git a/ui/v2.5/src/components/Settings/SettingsLibraryPanel.tsx b/ui/v2.5/src/components/Settings/SettingsLibraryPanel.tsx
index d4de046c8..550c646c8 100644
--- a/ui/v2.5/src/components/Settings/SettingsLibraryPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsLibraryPanel.tsx
@@ -1,5 +1,6 @@
import React from "react";
-import { Icon, LoadingIndicator } from "src/components/Shared";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { StashSetting } from "./StashConfiguration";
import { SettingSection } from "./SettingSection";
import { BooleanSetting, StringListSetting, StringSetting } from "./Inputs";
diff --git a/ui/v2.5/src/components/Settings/SettingsPluginsPanel.tsx b/ui/v2.5/src/components/Settings/SettingsPluginsPanel.tsx
index 274c82b1c..0cd02703c 100644
--- a/ui/v2.5/src/components/Settings/SettingsPluginsPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsPluginsPanel.tsx
@@ -3,9 +3,11 @@ import { Button } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import { mutateReloadPlugins, usePlugins } from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { TextUtils } from "src/utils";
-import { CollapseButton, Icon, LoadingIndicator } from "src/components/Shared";
+import { useToast } from "src/hooks/Toast";
+import TextUtils from "src/utils/text";
+import { CollapseButton } from "../Shared/CollapseButton";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { SettingSection } from "./SettingSection";
import { Setting, SettingGroup } from "./Inputs";
import { faLink, faSyncAlt } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Settings/SettingsScrapingPanel.tsx b/ui/v2.5/src/components/Settings/SettingsScrapingPanel.tsx
index 99af505c0..d0453fbb4 100644
--- a/ui/v2.5/src/components/Settings/SettingsScrapingPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsScrapingPanel.tsx
@@ -8,9 +8,11 @@ import {
useListSceneScrapers,
useListGalleryScrapers,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { TextUtils } from "src/utils";
-import { CollapseButton, Icon, LoadingIndicator } from "src/components/Shared";
+import { useToast } from "src/hooks/Toast";
+import TextUtils from "src/utils/text";
+import { CollapseButton } from "../Shared/CollapseButton";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { ScrapeType } from "src/core/generated-graphql";
import { SettingSection } from "./SettingSection";
import { BooleanSetting, StringListSetting, StringSetting } from "./Inputs";
diff --git a/ui/v2.5/src/components/Settings/SettingsSecurityPanel.tsx b/ui/v2.5/src/components/Settings/SettingsSecurityPanel.tsx
index b0fd269e6..b99217938 100644
--- a/ui/v2.5/src/components/Settings/SettingsSecurityPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsSecurityPanel.tsx
@@ -5,8 +5,8 @@ import * as GQL from "src/core/generated-graphql";
import { Button, Form } from "react-bootstrap";
import { useIntl } from "react-intl";
import { SettingStateContext } from "./context";
-import { LoadingIndicator } from "../Shared";
-import { useToast } from "src/hooks";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { useToast } from "src/hooks/Toast";
import { useGenerateAPIKey } from "src/core/StashService";
type AuthenticationSettingsInput = Pick<
diff --git a/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx b/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx
index 248a6e3ac..2db88f926 100644
--- a/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsServicesPanel.tsx
@@ -8,8 +8,11 @@ import {
useAddTempDLNAIP,
useRemoveTempDLNAIP,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { DurationInput, Icon, LoadingIndicator, Modal } from "../Shared";
+import { useToast } from "src/hooks/Toast";
+import { DurationInput } from "../Shared/DurationInput";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { ModalComponent } from "../Shared/Modal";
import { SettingSection } from "./SettingSection";
import { BooleanSetting, StringListSetting, StringSetting } from "./Inputs";
import { SettingStateContext } from "./context";
@@ -236,7 +239,7 @@ export const SettingsServicesPanel: React.FC = () => {
const capitalised = `${text[0].toUpperCase()}${text.slice(1)}`;
return (
- {
Duration to {text} for - in minutes.
-
+
);
}
function renderTempWhitelistDialog() {
return (
- {
Duration to allow for - in minutes.
-
+
);
}
diff --git a/ui/v2.5/src/components/Settings/SettingsSystemPanel.tsx b/ui/v2.5/src/components/Settings/SettingsSystemPanel.tsx
index 43108a056..569714248 100644
--- a/ui/v2.5/src/components/Settings/SettingsSystemPanel.tsx
+++ b/ui/v2.5/src/components/Settings/SettingsSystemPanel.tsx
@@ -1,6 +1,6 @@
import React from "react";
import * as GQL from "src/core/generated-graphql";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { SettingSection } from "./SettingSection";
import {
BooleanSetting,
diff --git a/ui/v2.5/src/components/Settings/StashConfiguration.tsx b/ui/v2.5/src/components/Settings/StashConfiguration.tsx
index 57676b5fc..9680f2b18 100644
--- a/ui/v2.5/src/components/Settings/StashConfiguration.tsx
+++ b/ui/v2.5/src/components/Settings/StashConfiguration.tsx
@@ -2,7 +2,7 @@ import { faEllipsisV } from "@fortawesome/free-solid-svg-icons";
import React, { useState } from "react";
import { Button, Form, Row, Col, Dropdown } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
import * as GQL from "src/core/generated-graphql";
import { FolderSelectDialog } from "../Shared/FolderSelect/FolderSelectDialog";
import { BooleanSetting } from "./Inputs";
diff --git a/ui/v2.5/src/components/Settings/Tasks/DataManagementTasks.tsx b/ui/v2.5/src/components/Settings/Tasks/DataManagementTasks.tsx
index 0f57afd3c..767766e67 100644
--- a/ui/v2.5/src/components/Settings/Tasks/DataManagementTasks.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/DataManagementTasks.tsx
@@ -9,15 +9,15 @@ import {
mutateMetadataClean,
mutateAnonymiseDatabase,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { downloadFile } from "src/utils";
-import { Modal } from "../../Shared";
+import { useToast } from "src/hooks/Toast";
+import downloadFile from "src/utils/download";
+import { ModalComponent } from "src/components/Shared/Modal";
import { ImportDialog } from "./ImportDialog";
import * as GQL from "src/core/generated-graphql";
import { SettingSection } from "../SettingSection";
import { BooleanSetting, Setting } from "../Inputs";
import { ManualLink } from "src/components/Help/context";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
import { ConfigurationContext } from "src/hooks/Config";
import { FolderSelect } from "src/components/Shared/FolderSelect/FolderSelect";
import {
@@ -68,7 +68,7 @@ const CleanDialog: React.FC = ({
}
return (
- = ({
{msg}
-
+
);
};
@@ -195,7 +195,7 @@ export const DataManagementTasks: React.FC = ({
function renderImportAlert() {
return (
- = ({
cancel={{ onClick: () => setDialogOpen({ importAlert: false }) }}
>
{intl.formatMessage({ id: "actions.tasks.import_warning" })}
-
+
);
}
diff --git a/ui/v2.5/src/components/Settings/Tasks/DirectorySelectionDialog.tsx b/ui/v2.5/src/components/Settings/Tasks/DirectorySelectionDialog.tsx
index 5868037f5..30e64ebcd 100644
--- a/ui/v2.5/src/components/Settings/Tasks/DirectorySelectionDialog.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/DirectorySelectionDialog.tsx
@@ -6,7 +6,8 @@ import {
import React, { useState } from "react";
import { Button, Col, Form, Row } from "react-bootstrap";
import { useIntl } from "react-intl";
-import { Icon, Modal } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
+import { ModalComponent } from "src/components/Shared/Modal";
import { FolderSelect } from "src/components/Shared/FolderSelect/FolderSelect";
import { ConfigurationContext } from "src/hooks/Config";
@@ -39,7 +40,7 @@ export const DirectorySelectionDialog: React.FC<
}
return (
-
-
+
);
};
diff --git a/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx b/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx
index ff5025089..5ba251465 100644
--- a/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/ImportDialog.tsx
@@ -1,9 +1,9 @@
import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { mutateImportObjects } from "src/core/StashService";
-import { Modal } from "src/components/Shared";
+import { ModalComponent } from "src/components/Shared/Modal";
import * as GQL from "src/core/generated-graphql";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { useIntl } from "react-intl";
import { faPencilAlt } from "@fortawesome/free-solid-svg-icons";
@@ -114,7 +114,7 @@ export const ImportDialog: React.FC = (
}
return (
- = (
-
+
);
};
diff --git a/ui/v2.5/src/components/Settings/Tasks/JobTable.tsx b/ui/v2.5/src/components/Settings/Tasks/JobTable.tsx
index b88107434..2d394a5e0 100644
--- a/ui/v2.5/src/components/Settings/Tasks/JobTable.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/JobTable.tsx
@@ -6,7 +6,7 @@ import {
useJobsSubscribe,
} from "src/core/StashService";
import * as GQL from "src/core/generated-graphql";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
import { useIntl } from "react-intl";
import {
faBan,
diff --git a/ui/v2.5/src/components/Settings/Tasks/LibraryTasks.tsx b/ui/v2.5/src/components/Settings/Tasks/LibraryTasks.tsx
index d3d5bd3a6..eb7f89a58 100644
--- a/ui/v2.5/src/components/Settings/Tasks/LibraryTasks.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/LibraryTasks.tsx
@@ -7,18 +7,18 @@ import {
mutateMetadataGenerate,
useConfigureDefaults,
} from "src/core/StashService";
-import { withoutTypename } from "src/utils";
+import { withoutTypename } from "src/utils/data";
import { ConfigurationContext } from "src/hooks/Config";
import { IdentifyDialog } from "../../Dialogs/IdentifyDialog/IdentifyDialog";
import * as GQL from "src/core/generated-graphql";
import { DirectorySelectionDialog } from "./DirectorySelectionDialog";
import { ScanOptions } from "./ScanOptions";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { GenerateOptions } from "./GenerateOptions";
import { SettingSection } from "../SettingSection";
import { BooleanSetting, Setting, SettingGroup } from "../Inputs";
import { ManualLink } from "src/components/Help/context";
-import { Icon } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
import { faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
interface IAutoTagOptions {
diff --git a/ui/v2.5/src/components/Settings/Tasks/PluginTasks.tsx b/ui/v2.5/src/components/Settings/Tasks/PluginTasks.tsx
index d1d9ab9e9..396e1d66a 100644
--- a/ui/v2.5/src/components/Settings/Tasks/PluginTasks.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/PluginTasks.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { useIntl } from "react-intl";
import { Button, Form } from "react-bootstrap";
import { mutateRunPluginTask, usePlugins } from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import * as GQL from "src/core/generated-graphql";
import { SettingSection } from "../SettingSection";
import { Setting, SettingGroup } from "../Inputs";
diff --git a/ui/v2.5/src/components/Settings/Tasks/SettingsTasksPanel.tsx b/ui/v2.5/src/components/Settings/Tasks/SettingsTasksPanel.tsx
index 06c536eae..69db8b216 100644
--- a/ui/v2.5/src/components/Settings/Tasks/SettingsTasksPanel.tsx
+++ b/ui/v2.5/src/components/Settings/Tasks/SettingsTasksPanel.tsx
@@ -1,6 +1,6 @@
import React, { useState } from "react";
import { useIntl } from "react-intl";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { LibraryTasks } from "./LibraryTasks";
import { DataManagementTasks } from "./DataManagementTasks";
import { PluginTasks } from "./PluginTasks";
diff --git a/ui/v2.5/src/components/Settings/context.tsx b/ui/v2.5/src/components/Settings/context.tsx
index 9df77a1ef..eb5a4c96e 100644
--- a/ui/v2.5/src/components/Settings/context.tsx
+++ b/ui/v2.5/src/components/Settings/context.tsx
@@ -23,9 +23,9 @@ import {
useConfigureScraping,
useConfigureUI,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
-import { withoutTypename } from "src/utils";
-import { Icon } from "../Shared";
+import { useToast } from "src/hooks/Toast";
+import { withoutTypename } from "src/utils/data";
+import { Icon } from "../Shared/Icon";
export interface ISettingsContextState {
loading: boolean;
diff --git a/ui/v2.5/src/components/Setup/Migrate.tsx b/ui/v2.5/src/components/Setup/Migrate.tsx
index 57ac073c8..d0d86199b 100644
--- a/ui/v2.5/src/components/Setup/Migrate.tsx
+++ b/ui/v2.5/src/components/Setup/Migrate.tsx
@@ -5,7 +5,7 @@ import { getBaseURL } from "src/core/createClient";
import * as GQL from "src/core/generated-graphql";
import { useSystemStatus, mutateMigrate } from "src/core/StashService";
import { migrationNotes } from "src/docs/en/MigrationNotes";
-import { LoadingIndicator } from "../Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
import { MarkdownPage } from "../Shared/MarkdownPage";
export const Migrate: React.FC = () => {
diff --git a/ui/v2.5/src/components/Setup/Setup.tsx b/ui/v2.5/src/components/Setup/Setup.tsx
index 5e8b542d0..edd102bc8 100644
--- a/ui/v2.5/src/components/Setup/Setup.tsx
+++ b/ui/v2.5/src/components/Setup/Setup.tsx
@@ -13,7 +13,9 @@ import { mutateSetup, useSystemStatus } from "src/core/StashService";
import { Link } from "react-router-dom";
import { ConfigurationContext } from "src/hooks/Config";
import StashConfiguration from "../Settings/StashConfiguration";
-import { Icon, LoadingIndicator, Modal } from "../Shared";
+import { Icon } from "../Shared/Icon";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { ModalComponent } from "../Shared/Modal";
import { FolderSelectDialog } from "../Shared/FolderSelect/FolderSelectDialog";
import {
faEllipsisH,
@@ -110,7 +112,7 @@ export const Setup: React.FC = () => {
}
return (
- {
-
+
);
}
diff --git a/ui/v2.5/src/components/Shared/BulkUpdateTextInput.tsx b/ui/v2.5/src/components/Shared/BulkUpdateTextInput.tsx
index a64754d61..542ab5b3b 100644
--- a/ui/v2.5/src/components/Shared/BulkUpdateTextInput.tsx
+++ b/ui/v2.5/src/components/Shared/BulkUpdateTextInput.tsx
@@ -2,7 +2,7 @@ import { faBan } from "@fortawesome/free-solid-svg-icons";
import React from "react";
import { Button, Form, FormControlProps, InputGroup } from "react-bootstrap";
import { useIntl } from "react-intl";
-import Icon from "./Icon";
+import { Icon } from "./Icon";
interface IBulkUpdateTextInputProps extends FormControlProps {
valueChanged: (value: string | undefined) => void;
diff --git a/ui/v2.5/src/components/Shared/CollapseButton.tsx b/ui/v2.5/src/components/Shared/CollapseButton.tsx
index 2216121de..78099d0e8 100644
--- a/ui/v2.5/src/components/Shared/CollapseButton.tsx
+++ b/ui/v2.5/src/components/Shared/CollapseButton.tsx
@@ -4,7 +4,7 @@ import {
} from "@fortawesome/free-solid-svg-icons";
import React, { useState } from "react";
import { Button, Collapse } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "./Icon";
interface IProps {
text: string;
diff --git a/ui/v2.5/src/components/Shared/Counter.tsx b/ui/v2.5/src/components/Shared/Counter.tsx
index 8fb0bd55c..c0aad2faf 100644
--- a/ui/v2.5/src/components/Shared/Counter.tsx
+++ b/ui/v2.5/src/components/Shared/Counter.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Badge } from "react-bootstrap";
import { FormattedNumber, useIntl } from "react-intl";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
interface IProps {
abbreviateCounter?: boolean;
@@ -43,5 +43,3 @@ export const Counter: React.FC = ({
);
}
};
-
-export default Counter;
diff --git a/ui/v2.5/src/components/Shared/CountryFlag.tsx b/ui/v2.5/src/components/Shared/CountryFlag.tsx
index 4ee5fb1a3..c5f5959f7 100644
--- a/ui/v2.5/src/components/Shared/CountryFlag.tsx
+++ b/ui/v2.5/src/components/Shared/CountryFlag.tsx
@@ -1,13 +1,13 @@
import React from "react";
import { useIntl } from "react-intl";
-import { getCountryByISO } from "src/utils";
+import { getCountryByISO } from "src/utils/country";
interface ICountryFlag {
country?: string | null;
className?: string;
}
-const CountryFlag: React.FC = ({
+export const CountryFlag: React.FC = ({
className,
country: isoCountry,
}) => {
@@ -24,5 +24,3 @@ const CountryFlag: React.FC = ({
/>
);
};
-
-export default CountryFlag;
diff --git a/ui/v2.5/src/components/Shared/CountryLabel.tsx b/ui/v2.5/src/components/Shared/CountryLabel.tsx
index 82c83bfc4..4c200399f 100644
--- a/ui/v2.5/src/components/Shared/CountryLabel.tsx
+++ b/ui/v2.5/src/components/Shared/CountryLabel.tsx
@@ -1,14 +1,17 @@
import React from "react";
import { useIntl } from "react-intl";
-import { CountryFlag } from "src/components/Shared";
-import { getCountryByISO } from "src/utils";
+import { CountryFlag } from "./CountryFlag";
+import { getCountryByISO } from "src/utils/country";
interface IProps {
country: string | undefined;
showFlag?: boolean;
}
-const CountryLabel: React.FC = ({ country, showFlag = true }) => {
+export const CountryLabel: React.FC = ({
+ country,
+ showFlag = true,
+}) => {
const { locale } = useIntl();
// #3063 - use alpha2 values only
@@ -22,5 +25,3 @@ const CountryLabel: React.FC = ({ country, showFlag = true }) => {
);
};
-
-export default CountryLabel;
diff --git a/ui/v2.5/src/components/Shared/CountrySelect.tsx b/ui/v2.5/src/components/Shared/CountrySelect.tsx
index 0062b8ffd..bd93b4113 100644
--- a/ui/v2.5/src/components/Shared/CountrySelect.tsx
+++ b/ui/v2.5/src/components/Shared/CountrySelect.tsx
@@ -1,8 +1,8 @@
import React from "react";
import Creatable from "react-select/creatable";
import { useIntl } from "react-intl";
-import { getCountries } from "src/utils";
-import CountryLabel from "./CountryLabel";
+import { getCountries } from "src/utils/country";
+import { CountryLabel } from "./CountryLabel";
interface IProps {
value?: string;
@@ -13,7 +13,7 @@ interface IProps {
isClearable?: boolean;
}
-const CountrySelect: React.FC = ({
+export const CountrySelect: React.FC = ({
value,
onChange,
disabled = false,
@@ -47,5 +47,3 @@ const CountrySelect: React.FC = ({
/>
);
};
-
-export default CountrySelect;
diff --git a/ui/v2.5/src/components/Shared/DeleteEntityDialog.tsx b/ui/v2.5/src/components/Shared/DeleteEntityDialog.tsx
index cf6284982..4fd5114c8 100644
--- a/ui/v2.5/src/components/Shared/DeleteEntityDialog.tsx
+++ b/ui/v2.5/src/components/Shared/DeleteEntityDialog.tsx
@@ -2,8 +2,8 @@ import React, { useState } from "react";
import { defineMessages, FormattedMessage, useIntl } from "react-intl";
import { FetchResult } from "@apollo/client";
-import Modal from "src/components/Shared/Modal";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "./Modal";
+import { useToast } from "src/hooks/Toast";
import { faTrashAlt } from "@fortawesome/free-solid-svg-icons";
interface IDeletionEntity {
@@ -39,7 +39,7 @@ const messages = defineMessages({
},
});
-const DeleteEntityDialog: React.FC = ({
+export const DeleteEntityDialog: React.FC = ({
selected,
onClose,
singularEntity,
@@ -77,7 +77,7 @@ const DeleteEntityDialog: React.FC = ({
}
return (
- = ({
/>
)}
-
+
);
};
-
-export default DeleteEntityDialog;
diff --git a/ui/v2.5/src/components/Shared/DeleteFilesDialog.tsx b/ui/v2.5/src/components/Shared/DeleteFilesDialog.tsx
index 9e23c400f..e6898c87a 100644
--- a/ui/v2.5/src/components/Shared/DeleteFilesDialog.tsx
+++ b/ui/v2.5/src/components/Shared/DeleteFilesDialog.tsx
@@ -1,7 +1,7 @@
import React, { useState } from "react";
import { mutateDeleteFiles } from "src/core/StashService";
-import { Modal } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "./Modal";
+import { useToast } from "src/hooks/Toast";
import { FormattedMessage, useIntl } from "react-intl";
import { faTrashAlt } from "@fortawesome/free-solid-svg-icons";
@@ -88,7 +88,7 @@ export const DeleteFilesDialog: React.FC = (
}
return (
- = (
>
{message}
{renderDeleteFileAlert()}
-
+
);
};
-
-export default DeleteFilesDialog;
diff --git a/ui/v2.5/src/components/Shared/DetailsEditNavbar.tsx b/ui/v2.5/src/components/Shared/DetailsEditNavbar.tsx
index 5c4854c02..fb5646ff5 100644
--- a/ui/v2.5/src/components/Shared/DetailsEditNavbar.tsx
+++ b/ui/v2.5/src/components/Shared/DetailsEditNavbar.tsx
@@ -1,7 +1,7 @@
import { Button, Modal } from "react-bootstrap";
import React, { useState } from "react";
import { FormattedMessage, useIntl } from "react-intl";
-import { ImageInput } from "src/components/Shared/ImageInput";
+import { ImageInput } from "./ImageInput";
import cx from "classnames";
interface IProps {
diff --git a/ui/v2.5/src/components/Shared/DurationInput.tsx b/ui/v2.5/src/components/Shared/DurationInput.tsx
index b5839790b..0e346acd7 100644
--- a/ui/v2.5/src/components/Shared/DurationInput.tsx
+++ b/ui/v2.5/src/components/Shared/DurationInput.tsx
@@ -5,8 +5,8 @@ import {
} from "@fortawesome/free-solid-svg-icons";
import React, { useState, useEffect } from "react";
import { Button, ButtonGroup, InputGroup, Form } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
-import { DurationUtils } from "src/utils";
+import { Icon } from "./Icon";
+import DurationUtils from "src/utils/duration";
interface IProps {
disabled?: boolean;
diff --git a/ui/v2.5/src/components/Shared/ErrorMessage.tsx b/ui/v2.5/src/components/Shared/ErrorMessage.tsx
index 2e40a35df..b0cdb12f3 100644
--- a/ui/v2.5/src/components/Shared/ErrorMessage.tsx
+++ b/ui/v2.5/src/components/Shared/ErrorMessage.tsx
@@ -4,10 +4,8 @@ interface IProps {
error: string | ReactNode;
}
-const ErrorMessage: React.FC = ({ error }) => (
+export const ErrorMessage: React.FC = ({ error }) => (
Error: {error}
);
-
-export default ErrorMessage;
diff --git a/ui/v2.5/src/components/Shared/ExportDialog.tsx b/ui/v2.5/src/components/Shared/ExportDialog.tsx
index 3c0ad5b7c..bf855d732 100644
--- a/ui/v2.5/src/components/Shared/ExportDialog.tsx
+++ b/ui/v2.5/src/components/Shared/ExportDialog.tsx
@@ -1,8 +1,8 @@
import React, { useState } from "react";
import { Form } from "react-bootstrap";
import { mutateExportObjects } from "src/core/StashService";
-import Modal from "src/components/Shared/Modal";
-import useToast from "src/hooks/Toast";
+import { ModalComponent } from "./Modal";
+import { useToast } from "src/hooks/Toast";
import downloadFile from "src/utils/download";
import { ExportObjectsInput } from "src/core/generated-graphql";
import { useIntl } from "react-intl";
@@ -46,7 +46,7 @@ export const ExportDialog: React.FC = (
}
return (
- = (
/>
-
+
);
};
diff --git a/ui/v2.5/src/components/Shared/FolderSelect/FolderSelect.tsx b/ui/v2.5/src/components/Shared/FolderSelect/FolderSelect.tsx
index fc167ecc2..a31671677 100644
--- a/ui/v2.5/src/components/Shared/FolderSelect/FolderSelect.tsx
+++ b/ui/v2.5/src/components/Shared/FolderSelect/FolderSelect.tsx
@@ -2,8 +2,8 @@ import React, { useEffect, useState, useMemo } from "react";
import { FormattedMessage, useIntl } from "react-intl";
import { Button, InputGroup, Form } from "react-bootstrap";
import debounce from "lodash-es/debounce";
-import Icon from "src/components/Shared/Icon";
-import LoadingIndicator from "src/components/Shared/LoadingIndicator";
+import { Icon } from "../Icon";
+import { LoadingIndicator } from "../LoadingIndicator";
import { useDirectory } from "src/core/StashService";
import { faTimes } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Shared/GridCard.tsx b/ui/v2.5/src/components/Shared/GridCard.tsx
index 427a03325..332bcaf04 100644
--- a/ui/v2.5/src/components/Shared/GridCard.tsx
+++ b/ui/v2.5/src/components/Shared/GridCard.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Card, Form } from "react-bootstrap";
import { Link } from "react-router-dom";
import cx from "classnames";
-import TruncatedText from "./TruncatedText";
+import { TruncatedText } from "./TruncatedText";
interface ICardProps {
className?: string;
diff --git a/ui/v2.5/src/components/Shared/Icon.tsx b/ui/v2.5/src/components/Shared/Icon.tsx
index d1f2616f6..f5cb23964 100644
--- a/ui/v2.5/src/components/Shared/Icon.tsx
+++ b/ui/v2.5/src/components/Shared/Icon.tsx
@@ -9,7 +9,7 @@ interface IIcon {
size?: SizeProp;
}
-const Icon: React.FC = ({ icon, className, color, size }) => (
+export const Icon: React.FC = ({ icon, className, color, size }) => (
= ({ icon, className, color, size }) => (
size={size}
/>
);
-
-export default Icon;
diff --git a/ui/v2.5/src/components/Shared/ImageInput.tsx b/ui/v2.5/src/components/Shared/ImageInput.tsx
index f1ace6f83..cf25aa887 100644
--- a/ui/v2.5/src/components/Shared/ImageInput.tsx
+++ b/ui/v2.5/src/components/Shared/ImageInput.tsx
@@ -8,8 +8,8 @@ import {
Row,
} from "react-bootstrap";
import { useIntl } from "react-intl";
-import Modal from "./Modal";
-import Icon from "./Icon";
+import { ModalComponent } from "./Modal";
+import { Icon } from "./Icon";
import { faFile, faLink } from "@fortawesome/free-solid-svg-icons";
interface IImageInput {
@@ -64,7 +64,7 @@ export const ImageInput: React.FC = ({
function renderDialog() {
return (
- setIsShowDialog(false)}
header={intl.formatMessage({ id: "dialogs.set_image_url_title" })}
@@ -90,7 +90,7 @@ export const ImageInput: React.FC = ({
-
+
);
}
diff --git a/ui/v2.5/src/components/Shared/LoadingIndicator.tsx b/ui/v2.5/src/components/Shared/LoadingIndicator.tsx
index f52498f0b..3b9247c91 100644
--- a/ui/v2.5/src/components/Shared/LoadingIndicator.tsx
+++ b/ui/v2.5/src/components/Shared/LoadingIndicator.tsx
@@ -12,7 +12,7 @@ interface ILoadingProps {
const CLASSNAME = "LoadingIndicator";
const CLASSNAME_MESSAGE = `${CLASSNAME}-message`;
-const LoadingIndicator: React.FC = ({
+export const LoadingIndicator: React.FC = ({
message,
inline = false,
small = false,
@@ -27,5 +27,3 @@ const LoadingIndicator: React.FC = ({
)}
);
-
-export default LoadingIndicator;
diff --git a/ui/v2.5/src/components/Shared/Modal.tsx b/ui/v2.5/src/components/Shared/Modal.tsx
index 8cf3b8029..df2e2f270 100644
--- a/ui/v2.5/src/components/Shared/Modal.tsx
+++ b/ui/v2.5/src/components/Shared/Modal.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Button, Modal, Spinner, ModalProps } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "./Icon";
import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
import { FormattedMessage } from "react-intl";
@@ -27,7 +27,7 @@ interface IModal {
const defaultOnHide = () => {};
-const ModalComponent: React.FC = ({
+export const ModalComponent: React.FC = ({
children,
show,
icon,
@@ -99,5 +99,3 @@ const ModalComponent: React.FC = ({
);
-
-export default ModalComponent;
diff --git a/ui/v2.5/src/components/Shared/MultiSet.tsx b/ui/v2.5/src/components/Shared/MultiSet.tsx
index 3ffa83367..641035188 100644
--- a/ui/v2.5/src/components/Shared/MultiSet.tsx
+++ b/ui/v2.5/src/components/Shared/MultiSet.tsx
@@ -21,7 +21,7 @@ interface IMultiSetProps {
onSetMode: (mode: GQL.BulkUpdateIdMode) => void;
}
-const MultiSet: React.FC = (props) => {
+export const MultiSet: React.FC = (props) => {
const intl = useIntl();
const modes = [
GQL.BulkUpdateIdMode.Set,
@@ -100,5 +100,3 @@ const MultiSet: React.FC = (props) => {
);
};
-
-export default MultiSet;
diff --git a/ui/v2.5/src/components/Shared/OperationButton.tsx b/ui/v2.5/src/components/Shared/OperationButton.tsx
index c71d9e139..89155467c 100644
--- a/ui/v2.5/src/components/Shared/OperationButton.tsx
+++ b/ui/v2.5/src/components/Shared/OperationButton.tsx
@@ -1,6 +1,6 @@
import React, { useState, useRef, useEffect } from "react";
import { Button, ButtonProps } from "react-bootstrap";
-import LoadingIndicator from "src/components/Shared/LoadingIndicator";
+import { LoadingIndicator } from "./LoadingIndicator";
interface IOperationButton extends ButtonProps {
operation?: () => Promise;
diff --git a/ui/v2.5/src/components/Shared/PercentInput.tsx b/ui/v2.5/src/components/Shared/PercentInput.tsx
index 783ead755..66357a05b 100644
--- a/ui/v2.5/src/components/Shared/PercentInput.tsx
+++ b/ui/v2.5/src/components/Shared/PercentInput.tsx
@@ -5,8 +5,8 @@ import {
} from "@fortawesome/free-solid-svg-icons";
import React, { useState, useEffect } from "react";
import { Button, ButtonGroup, InputGroup, Form } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
-import { PercentUtils } from "src/utils";
+import { Icon } from "./Icon";
+import PercentUtils from "src/utils/percent";
interface IProps {
disabled?: boolean;
diff --git a/ui/v2.5/src/components/Shared/PerformerPopoverButton.tsx b/ui/v2.5/src/components/Shared/PerformerPopoverButton.tsx
index d12da10d3..9d0cfb6fe 100644
--- a/ui/v2.5/src/components/Shared/PerformerPopoverButton.tsx
+++ b/ui/v2.5/src/components/Shared/PerformerPopoverButton.tsx
@@ -5,7 +5,7 @@ import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
import { sortPerformers } from "src/core/performers";
import { HoverPopover } from "./HoverPopover";
-import Icon from "./Icon";
+import { Icon } from "./Icon";
import { TagLink } from "./TagLink";
interface IProps {
diff --git a/ui/v2.5/src/components/Shared/PopoverCountButton.tsx b/ui/v2.5/src/components/Shared/PopoverCountButton.tsx
index 33822898f..6d6ef8571 100644
--- a/ui/v2.5/src/components/Shared/PopoverCountButton.tsx
+++ b/ui/v2.5/src/components/Shared/PopoverCountButton.tsx
@@ -11,8 +11,8 @@ import { FormattedNumber, useIntl } from "react-intl";
import { Link } from "react-router-dom";
import { IUIConfig } from "src/core/config";
import { ConfigurationContext } from "src/hooks/Config";
-import { TextUtils } from "src/utils";
-import Icon from "./Icon";
+import TextUtils from "src/utils/text";
+import { Icon } from "./Icon";
type PopoverLinkType = "scene" | "image" | "gallery" | "movie" | "performer";
diff --git a/ui/v2.5/src/components/Shared/Rating/RatingStars.tsx b/ui/v2.5/src/components/Shared/Rating/RatingStars.tsx
index 448b55fff..99e2e5be6 100644
--- a/ui/v2.5/src/components/Shared/Rating/RatingStars.tsx
+++ b/ui/v2.5/src/components/Shared/Rating/RatingStars.tsx
@@ -1,6 +1,6 @@
import React, { useState } from "react";
import { Button } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "../Icon";
import { faStar as fasStar } from "@fortawesome/free-solid-svg-icons";
import { faStar as farStar } from "@fortawesome/free-regular-svg-icons";
import {
diff --git a/ui/v2.5/src/components/Shared/ReassignFilesDialog.tsx b/ui/v2.5/src/components/Shared/ReassignFilesDialog.tsx
index 8a15359b2..7629d0379 100644
--- a/ui/v2.5/src/components/Shared/ReassignFilesDialog.tsx
+++ b/ui/v2.5/src/components/Shared/ReassignFilesDialog.tsx
@@ -1,10 +1,11 @@
import React, { useState } from "react";
-import { Modal, SceneSelect } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import { ModalComponent } from "./Modal";
+import { SceneSelect } from "./Select";
+import { useToast } from "src/hooks/Toast";
import { useIntl } from "react-intl";
import { faSignOutAlt } from "@fortawesome/free-solid-svg-icons";
import { Col, Form, Row } from "react-bootstrap";
-import { FormUtils } from "src/utils";
+import FormUtils from "src/utils/form";
import { mutateSceneAssignFile } from "src/core/StashService";
interface IFile {
@@ -59,7 +60,7 @@ export const ReassignFilesDialog: React.FC = (
}
return (
- = (
-
+
);
};
-
-export default ReassignFilesDialog;
diff --git a/ui/v2.5/src/components/Shared/ScrapeDialog.tsx b/ui/v2.5/src/components/Shared/ScrapeDialog.tsx
index 57609635e..410534e41 100644
--- a/ui/v2.5/src/components/Shared/ScrapeDialog.tsx
+++ b/ui/v2.5/src/components/Shared/ScrapeDialog.tsx
@@ -8,9 +8,9 @@ import {
FormControl,
Badge,
} from "react-bootstrap";
-import { CollapseButton } from "src/components/Shared/CollapseButton";
-import Icon from "src/components/Shared/Icon";
-import Modal from "src/components/Shared/Modal";
+import { CollapseButton } from "./CollapseButton";
+import { Icon } from "./Icon";
+import { ModalComponent } from "./Modal";
import isEqual from "lodash-es/isEqual";
import clone from "lodash-es/clone";
import { FormattedMessage, useIntl } from "react-intl";
@@ -20,8 +20,8 @@ import {
faPlus,
faTimes,
} from "@fortawesome/free-solid-svg-icons";
-import { getCountryByISO } from "src/utils";
-import CountrySelect from "./CountrySelect";
+import { getCountryByISO } from "src/utils/country";
+import { CountrySelect } from "./CountrySelect";
export class ScrapeResult {
public newValue?: T;
@@ -367,7 +367,7 @@ export const ScrapeDialog: React.FC = (
) => {
const intl = useIntl();
return (
- = (
{props.renderScrapeRows()}
-
+
);
};
diff --git a/ui/v2.5/src/components/Shared/Select.tsx b/ui/v2.5/src/components/Shared/Select.tsx
index 9149d7d8a..32a3fde8b 100644
--- a/ui/v2.5/src/components/Shared/Select.tsx
+++ b/ui/v2.5/src/components/Shared/Select.tsx
@@ -23,7 +23,7 @@ import {
useStudioCreate,
usePerformerCreate,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { SelectComponents } from "react-select/dist/declarations/src/components";
import { ConfigurationContext } from "src/hooks/Config";
import { useIntl } from "react-intl";
diff --git a/ui/v2.5/src/components/Shared/StringListInput.tsx b/ui/v2.5/src/components/Shared/StringListInput.tsx
index 6ea0929e6..ad89b6f63 100644
--- a/ui/v2.5/src/components/Shared/StringListInput.tsx
+++ b/ui/v2.5/src/components/Shared/StringListInput.tsx
@@ -1,7 +1,7 @@
import { faMinus } from "@fortawesome/free-solid-svg-icons";
import React from "react";
import { Button, Form, InputGroup } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "./Icon";
interface IStringListInputProps {
value: string[];
diff --git a/ui/v2.5/src/components/Shared/SuccessIcon.tsx b/ui/v2.5/src/components/Shared/SuccessIcon.tsx
index 79d56d979..84ca81551 100644
--- a/ui/v2.5/src/components/Shared/SuccessIcon.tsx
+++ b/ui/v2.5/src/components/Shared/SuccessIcon.tsx
@@ -1,13 +1,11 @@
import { faCheckCircle } from "@fortawesome/free-regular-svg-icons";
import React from "react";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "./Icon";
interface ISuccessIconProps {
className?: string;
}
-const SuccessIcon: React.FC = ({ className }) => (
+export const SuccessIcon: React.FC = ({ className }) => (
);
-
-export default SuccessIcon;
diff --git a/ui/v2.5/src/components/Shared/ThreeStateCheckbox.tsx b/ui/v2.5/src/components/Shared/ThreeStateCheckbox.tsx
index 3e7cb8ac5..6db8c295b 100644
--- a/ui/v2.5/src/components/Shared/ThreeStateCheckbox.tsx
+++ b/ui/v2.5/src/components/Shared/ThreeStateCheckbox.tsx
@@ -1,7 +1,7 @@
import { faCheck, faMinus, faTimes } from "@fortawesome/free-solid-svg-icons";
import React from "react";
import { Button } from "react-bootstrap";
-import Icon from "./Icon";
+import { Icon } from "./Icon";
interface IThreeStateCheckbox {
value: boolean | undefined;
diff --git a/ui/v2.5/src/components/Shared/TruncatedText.tsx b/ui/v2.5/src/components/Shared/TruncatedText.tsx
index c73d8ae2d..d9ee8262a 100644
--- a/ui/v2.5/src/components/Shared/TruncatedText.tsx
+++ b/ui/v2.5/src/components/Shared/TruncatedText.tsx
@@ -15,7 +15,7 @@ interface ITruncatedTextProps {
className?: string;
}
-const TruncatedText: React.FC = ({
+export const TruncatedText: React.FC = ({
text,
className,
lineCount = 1,
@@ -66,5 +66,3 @@ const TruncatedText: React.FC = ({
);
};
-
-export default TruncatedText;
diff --git a/ui/v2.5/src/components/Shared/URLField.tsx b/ui/v2.5/src/components/Shared/URLField.tsx
index d9818ddef..413f24fd9 100644
--- a/ui/v2.5/src/components/Shared/URLField.tsx
+++ b/ui/v2.5/src/components/Shared/URLField.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { useIntl } from "react-intl";
import { Button, InputGroup, Form } from "react-bootstrap";
-import Icon from "src/components/Shared/Icon";
+import { Icon } from "./Icon";
import { FormikHandlers } from "formik";
import { faFileDownload } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Shared/constants.ts b/ui/v2.5/src/components/Shared/constants.ts
new file mode 100644
index 000000000..091ec045c
--- /dev/null
+++ b/ui/v2.5/src/components/Shared/constants.ts
@@ -0,0 +1 @@
+export const TITLE_SUFFIX = " | Stash";
diff --git a/ui/v2.5/src/components/Shared/index.ts b/ui/v2.5/src/components/Shared/index.ts
deleted file mode 100644
index 24ad5a8f7..000000000
--- a/ui/v2.5/src/components/Shared/index.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-export * from "./Select";
-export { default as Icon } from "./Icon";
-export { default as Modal } from "./Modal";
-export { CollapseButton } from "./CollapseButton";
-export { DetailsEditNavbar } from "./DetailsEditNavbar";
-export { DurationInput } from "./DurationInput";
-export { PercentInput } from "./PercentInput";
-export { TagLink } from "./TagLink";
-export { HoverPopover } from "./HoverPopover";
-export { default as LoadingIndicator } from "./LoadingIndicator";
-export { ImageInput } from "./ImageInput";
-export { SweatDrops } from "./SweatDrops";
-export { default as Counter } from "./Counter";
-export { default as CountryFlag } from "./CountryFlag";
-export { default as SuccessIcon } from "./SuccessIcon";
-export { default as ErrorMessage } from "./ErrorMessage";
-export { default as TruncatedText } from "./TruncatedText";
-export { GridCard } from "./GridCard";
-export { ExportDialog } from "./ExportDialog";
-export { default as DeleteEntityDialog } from "./DeleteEntityDialog";
-export { IndeterminateCheckbox } from "./IndeterminateCheckbox";
-export { OperationButton } from "./OperationButton";
-export { URLField } from "./URLField";
-export { default as CountrySelect } from "./CountrySelect";
-export { default as CountryLabel } from "./CountryLabel";
-
-export const TITLE_SUFFIX = " | Stash";
diff --git a/ui/v2.5/src/components/Stats.tsx b/ui/v2.5/src/components/Stats.tsx
index 7cc17b59a..79e206282 100644
--- a/ui/v2.5/src/components/Stats.tsx
+++ b/ui/v2.5/src/components/Stats.tsx
@@ -1,8 +1,8 @@
import React from "react";
import { useStats } from "src/core/StashService";
import { FormattedMessage, FormattedNumber } from "react-intl";
-import { LoadingIndicator } from "src/components/Shared";
-import { TextUtils } from "src/utils";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import TextUtils from "src/utils/text";
export const Stats: React.FC = () => {
const { data, error, loading } = useStats();
diff --git a/ui/v2.5/src/components/Studios/StudioCard.tsx b/ui/v2.5/src/components/Studios/StudioCard.tsx
index 49d8cc359..3a5f51635 100644
--- a/ui/v2.5/src/components/Studios/StudioCard.tsx
+++ b/ui/v2.5/src/components/Studios/StudioCard.tsx
@@ -1,8 +1,8 @@
import React from "react";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { NavUtils } from "src/utils";
-import { GridCard } from "src/components/Shared";
+import NavUtils from "src/utils/navigation";
+import { GridCard } from "src/components/Shared/GridCard";
import { ButtonGroup } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
import { PopoverCountButton } from "../Shared/PopoverCountButton";
diff --git a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx
index 68886cd27..4038b8924 100644
--- a/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx
+++ b/ui/v2.5/src/components/Studios/StudioDetails/Studio.tsx
@@ -12,15 +12,13 @@ import {
useStudioDestroy,
mutateMetadataAutoTag,
} from "src/core/StashService";
-import { ImageUtils } from "src/utils";
-import {
- Counter,
- DetailsEditNavbar,
- Modal,
- LoadingIndicator,
- ErrorMessage,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import ImageUtils from "src/utils/image";
+import { Counter } from "src/components/Shared/Counter";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { StudioScenesPanel } from "./StudioScenesPanel";
import { StudioGalleriesPanel } from "./StudioGalleriesPanel";
@@ -121,7 +119,7 @@ const StudioPage: React.FC = ({ studio }) => {
function renderDeleteAlert() {
return (
- = ({ studio }) => {
}}
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Studios/StudioDetails/StudioCreate.tsx b/ui/v2.5/src/components/Studios/StudioDetails/StudioCreate.tsx
index 1e69aea93..43ba61f0a 100644
--- a/ui/v2.5/src/components/Studios/StudioDetails/StudioCreate.tsx
+++ b/ui/v2.5/src/components/Studios/StudioDetails/StudioCreate.tsx
@@ -4,9 +4,9 @@ import { useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import { useStudioCreate } from "src/core/StashService";
-import { ImageUtils } from "src/utils";
-import { LoadingIndicator } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import ImageUtils from "src/utils/image";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { useToast } from "src/hooks/Toast";
import { StudioEditPanel } from "./StudioEditPanel";
const StudioCreate: React.FC = () => {
diff --git a/ui/v2.5/src/components/Studios/StudioDetails/StudioDetailsPanel.tsx b/ui/v2.5/src/components/Studios/StudioDetails/StudioDetailsPanel.tsx
index a329bc8d0..dc96a258c 100644
--- a/ui/v2.5/src/components/Studios/StudioDetails/StudioDetailsPanel.tsx
+++ b/ui/v2.5/src/components/Studios/StudioDetails/StudioDetailsPanel.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Badge } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { TextField, URLField } from "src/utils/field";
diff --git a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
index 4e19a4c26..bb58d8178 100644
--- a/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
+++ b/ui/v2.5/src/components/Studios/StudioDetails/StudioEditPanel.tsx
@@ -3,9 +3,13 @@ import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import * as yup from "yup";
import Mousetrap from "mousetrap";
-import { Icon, StudioSelect, DetailsEditNavbar } from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
+import { StudioSelect } from "src/components/Shared/Select";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
import { Button, Form, Col, Row } from "react-bootstrap";
-import { FormUtils, ImageUtils, getStashIDs } from "src/utils";
+import FormUtils from "src/utils/form";
+import ImageUtils from "src/utils/image";
+import { getStashIDs } from "src/utils/stashIds";
import { RatingSystem } from "src/components/Shared/Rating/RatingSystem";
import { useFormik } from "formik";
import { Prompt } from "react-router-dom";
diff --git a/ui/v2.5/src/components/Studios/StudioList.tsx b/ui/v2.5/src/components/Studios/StudioList.tsx
index 7e14190df..b3eef0113 100644
--- a/ui/v2.5/src/components/Studios/StudioList.tsx
+++ b/ui/v2.5/src/components/Studios/StudioList.tsx
@@ -7,12 +7,16 @@ import {
FindStudiosQueryResult,
SlimStudioDataFragment,
} from "src/core/generated-graphql";
-import { useStudiosList } from "src/hooks";
-import { showWhenSelected, PersistanceLevel } from "src/hooks/ListHook";
+import {
+ showWhenSelected,
+ PersistanceLevel,
+ useStudiosList,
+} from "src/hooks/ListHook";
import { ListFilterModel } from "src/models/list-filter/filter";
import { DisplayMode } from "src/models/list-filter/types";
import { queryFindStudios, useStudiosDestroy } from "src/core/StashService";
-import { ExportDialog, DeleteEntityDialog } from "src/components/Shared";
+import { ExportDialog } from "../Shared/ExportDialog";
+import { DeleteEntityDialog } from "../Shared/DeleteEntityDialog";
import { StudioCard } from "./StudioCard";
interface IStudioList {
diff --git a/ui/v2.5/src/components/Studios/Studios.tsx b/ui/v2.5/src/components/Studios/Studios.tsx
index b21a4c3ac..542a8d175 100644
--- a/ui/v2.5/src/components/Studios/Studios.tsx
+++ b/ui/v2.5/src/components/Studios/Studios.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import Studio from "./StudioDetails/Studio";
import StudioCreate from "./StudioDetails/StudioCreate";
import { StudioList } from "./StudioList";
diff --git a/ui/v2.5/src/components/Tagger/IncludeButton.tsx b/ui/v2.5/src/components/Tagger/IncludeButton.tsx
index b60e7e12d..23205a529 100644
--- a/ui/v2.5/src/components/Tagger/IncludeButton.tsx
+++ b/ui/v2.5/src/components/Tagger/IncludeButton.tsx
@@ -1,7 +1,7 @@
import { faCheck, faTimes } from "@fortawesome/free-solid-svg-icons";
import React from "react";
import { Button } from "react-bootstrap";
-import { Icon } from "../Shared";
+import { Icon } from "../Shared/Icon";
interface IIncludeExcludeButton {
exclude: boolean;
diff --git a/ui/v2.5/src/components/Tagger/PerformerFieldSelector.tsx b/ui/v2.5/src/components/Tagger/PerformerFieldSelector.tsx
index 3862ea7ac..4d4c41d90 100644
--- a/ui/v2.5/src/components/Tagger/PerformerFieldSelector.tsx
+++ b/ui/v2.5/src/components/Tagger/PerformerFieldSelector.tsx
@@ -3,8 +3,9 @@ import React, { useState } from "react";
import { Button, Row, Col } from "react-bootstrap";
import { useIntl } from "react-intl";
-import { Modal, Icon } from "src/components/Shared";
-import { TextUtils } from "src/utils";
+import { ModalComponent } from "../Shared/Modal";
+import { Icon } from "../Shared/Icon";
+import TextUtils from "src/utils/text";
interface IProps {
fields: string[];
@@ -44,7 +45,7 @@ const PerformerFieldSelect: React.FC = ({
);
return (
- = ({
These fields will be tagged by default. Click the button to toggle.
{fields.map((f) => renderField(f))}
-
+
);
};
diff --git a/ui/v2.5/src/components/Tagger/PerformerModal.tsx b/ui/v2.5/src/components/Tagger/PerformerModal.tsx
index c3d5d9beb..e41d59f93 100755
--- a/ui/v2.5/src/components/Tagger/PerformerModal.tsx
+++ b/ui/v2.5/src/components/Tagger/PerformerModal.tsx
@@ -4,12 +4,10 @@ import { FormattedMessage, useIntl } from "react-intl";
import cx from "classnames";
import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
-import {
- LoadingIndicator,
- Icon,
- Modal,
- TruncatedText,
-} from "src/components/Shared";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { Icon } from "../Shared/Icon";
+import { ModalComponent } from "../Shared/Modal";
+import { TruncatedText } from "../Shared/TruncatedText";
import * as GQL from "src/core/generated-graphql";
import { stringToGender } from "src/utils/gender";
import { getCountryByISO } from "src/utils/country";
@@ -189,7 +187,7 @@ const PerformerModal: React.FC = ({
}
return (
- = ({
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/Tagger/context.tsx b/ui/v2.5/src/components/Tagger/context.tsx
index dc9b3aa7b..095c77a39 100644
--- a/ui/v2.5/src/components/Tagger/context.tsx
+++ b/ui/v2.5/src/components/Tagger/context.tsx
@@ -20,7 +20,8 @@ import {
useStudioUpdate,
useTagCreate,
} from "src/core/StashService";
-import { useLocalForage, useToast } from "src/hooks";
+import { useLocalForage } from "src/hooks/LocalForage";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { ITaggerSource, SCRAPER_PREFIX, STASH_BOX_PREFIX } from "./constants";
diff --git a/ui/v2.5/src/components/Tagger/index.ts b/ui/v2.5/src/components/Tagger/index.ts
deleted file mode 100644
index 9869909f4..000000000
--- a/ui/v2.5/src/components/Tagger/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { Tagger as default } from "./scenes/SceneTagger";
-export { PerformerTagger } from "./performers/PerformerTagger";
diff --git a/ui/v2.5/src/components/Tagger/performers/Config.tsx b/ui/v2.5/src/components/Tagger/performers/Config.tsx
index ea44b75e3..99b117552 100644
--- a/ui/v2.5/src/components/Tagger/performers/Config.tsx
+++ b/ui/v2.5/src/components/Tagger/performers/Config.tsx
@@ -3,7 +3,7 @@ import { Badge, Button, Card, Collapse, Form } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
import { ConfigurationContext } from "src/hooks/Config";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { ITaggerConfig, PERFORMER_FIELDS } from "../constants";
import PerformerFieldSelector from "../PerformerFieldSelector";
diff --git a/ui/v2.5/src/components/Tagger/performers/PerformerTagger.tsx b/ui/v2.5/src/components/Tagger/performers/PerformerTagger.tsx
index 0a38fab4f..e386bd2fb 100755
--- a/ui/v2.5/src/components/Tagger/performers/PerformerTagger.tsx
+++ b/ui/v2.5/src/components/Tagger/performers/PerformerTagger.tsx
@@ -3,10 +3,11 @@ import { Button, Card, Form, InputGroup, ProgressBar } from "react-bootstrap";
import { FormattedMessage, useIntl } from "react-intl";
import { Link } from "react-router-dom";
import { HashLink } from "react-router-hash-link";
-import { useLocalForage } from "src/hooks";
+import { useLocalForage } from "src/hooks/LocalForage";
import * as GQL from "src/core/generated-graphql";
-import { LoadingIndicator, Modal } from "src/components/Shared";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { ModalComponent } from "src/components/Shared/Modal";
import {
stashBoxPerformerQuery,
useJobsSubscribe,
@@ -387,7 +388,7 @@ const PerformerTaggerList: React.FC = ({
return (
- = ({
}}
/>
-
-
+ = ({
-
+
*/}
-
+
);
};
diff --git a/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx b/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx
index 25a97c112..b63f92361 100755
--- a/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx
+++ b/ui/v2.5/src/components/Tagger/scenes/StudioResult.tsx
@@ -3,12 +3,9 @@ import { Button, ButtonGroup } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
import cx from "classnames";
-import {
- Icon,
- OperationButton,
- StudioSelect,
- ValidTypes,
-} from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
+import { OperationButton } from "src/components/Shared/OperationButton";
+import { StudioSelect, ValidTypes } from "src/components/Shared/Select";
import * as GQL from "src/core/generated-graphql";
import { OptionalField } from "../IncludeButton";
diff --git a/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx b/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx
index 4a4c9de44..05b11b9f6 100644
--- a/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx
+++ b/ui/v2.5/src/components/Tagger/scenes/TaggerScene.tsx
@@ -5,12 +5,10 @@ import { Button, Collapse, Form, InputGroup } from "react-bootstrap";
import { FormattedMessage } from "react-intl";
import { sortPerformers } from "src/core/performers";
-import {
- Icon,
- OperationButton,
- TagLink,
- TruncatedText,
-} from "src/components/Shared";
+import { Icon } from "src/components/Shared/Icon";
+import { OperationButton } from "src/components/Shared/OperationButton";
+import { TagLink } from "src/components/Shared/TagLink";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
import { parsePath, prepareQueryString } from "src/components/Tagger/utils";
import { ScenePreview } from "src/components/Scenes/SceneCard";
import { TaggerStateContext } from "../context";
diff --git a/ui/v2.5/src/components/Tags/TagCard.tsx b/ui/v2.5/src/components/Tags/TagCard.tsx
index d5f9c365f..7c2d2afcf 100644
--- a/ui/v2.5/src/components/Tags/TagCard.tsx
+++ b/ui/v2.5/src/components/Tags/TagCard.tsx
@@ -2,9 +2,10 @@ import { Button, ButtonGroup } from "react-bootstrap";
import React from "react";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { NavUtils } from "src/utils";
+import NavUtils from "src/utils/navigation";
import { FormattedMessage } from "react-intl";
-import { Icon, TruncatedText } from "../Shared";
+import { Icon } from "../Shared/Icon";
+import { TruncatedText } from "../Shared/TruncatedText";
import { GridCard } from "../Shared/GridCard";
import { PopoverCountButton } from "../Shared/PopoverCountButton";
import { faMapMarkerAlt, faUser } from "@fortawesome/free-solid-svg-icons";
diff --git a/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx b/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx
index 7cb4685c2..6bfce3ac2 100644
--- a/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx
+++ b/ui/v2.5/src/components/Tags/TagDetails/Tag.tsx
@@ -12,16 +12,14 @@ import {
useTagDestroy,
mutateMetadataAutoTag,
} from "src/core/StashService";
-import { ImageUtils } from "src/utils";
-import {
- Counter,
- DetailsEditNavbar,
- ErrorMessage,
- Modal,
- LoadingIndicator,
- Icon,
-} from "src/components/Shared";
-import { useToast } from "src/hooks";
+import ImageUtils from "src/utils/image";
+import { Counter } from "src/components/Shared/Counter";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { ErrorMessage } from "src/components/Shared/ErrorMessage";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { Icon } from "src/components/Shared/Icon";
+import { useToast } from "src/hooks/Toast";
import { ConfigurationContext } from "src/hooks/Config";
import { tagRelationHook } from "src/core/tags";
import { TagScenesPanel } from "./TagScenesPanel";
@@ -179,7 +177,7 @@ const TagPage: React.FC = ({ tag }) => {
function renderDeleteAlert() {
return (
- = ({ tag }) => {
}}
/>
-
+
);
}
diff --git a/ui/v2.5/src/components/Tags/TagDetails/TagCreate.tsx b/ui/v2.5/src/components/Tags/TagDetails/TagCreate.tsx
index b11a45352..6639130e5 100644
--- a/ui/v2.5/src/components/Tags/TagDetails/TagCreate.tsx
+++ b/ui/v2.5/src/components/Tags/TagDetails/TagCreate.tsx
@@ -3,9 +3,9 @@ import { useHistory, useLocation } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
import { useTagCreate } from "src/core/StashService";
-import { ImageUtils } from "src/utils";
-import { LoadingIndicator } from "src/components/Shared";
-import { useToast } from "src/hooks";
+import ImageUtils from "src/utils/image";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import { useToast } from "src/hooks/Toast";
import { tagRelationHook } from "src/core/tags";
import { TagEditPanel } from "./TagEditPanel";
diff --git a/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx b/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
index 7491b56ce..515802732 100644
--- a/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
+++ b/ui/v2.5/src/components/Tags/TagDetails/TagEditPanel.tsx
@@ -2,9 +2,11 @@ import React, { useEffect } from "react";
import { FormattedMessage, useIntl } from "react-intl";
import * as GQL from "src/core/generated-graphql";
import * as yup from "yup";
-import { DetailsEditNavbar, TagSelect } from "src/components/Shared";
+import { DetailsEditNavbar } from "src/components/Shared/DetailsEditNavbar";
+import { TagSelect } from "src/components/Shared/Select";
import { Form, Col, Row } from "react-bootstrap";
-import { FormUtils, ImageUtils } from "src/utils";
+import FormUtils from "src/utils/form";
+import ImageUtils from "src/utils/image";
import { useFormik } from "formik";
import { Prompt } from "react-router-dom";
import Mousetrap from "mousetrap";
diff --git a/ui/v2.5/src/components/Tags/TagDetails/TagMergeDialog.tsx b/ui/v2.5/src/components/Tags/TagDetails/TagMergeDialog.tsx
index a2c51383f..55eeb2f2e 100644
--- a/ui/v2.5/src/components/Tags/TagDetails/TagMergeDialog.tsx
+++ b/ui/v2.5/src/components/Tags/TagDetails/TagMergeDialog.tsx
@@ -1,11 +1,12 @@
import { Form, Col, Row } from "react-bootstrap";
import React, { useState } from "react";
import * as GQL from "src/core/generated-graphql";
-import { Modal, TagSelect } from "src/components/Shared";
-import { FormUtils } from "src/utils";
+import { ModalComponent } from "src/components/Shared/Modal";
+import { TagSelect } from "src/components/Shared/Select";
+import FormUtils from "src/utils/form";
import { useTagsMerge } from "src/core/StashService";
import { useIntl } from "react-intl";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { useHistory } from "react-router-dom";
import { faSignInAlt, faSignOutAlt } from "@fortawesome/free-solid-svg-icons";
@@ -72,7 +73,7 @@ export const TagMergeModal: React.FC = ({
}
return (
- = ({
)}
-
+
);
};
diff --git a/ui/v2.5/src/components/Tags/TagList.tsx b/ui/v2.5/src/components/Tags/TagList.tsx
index a2569a660..245f2ec9b 100644
--- a/ui/v2.5/src/components/Tags/TagList.tsx
+++ b/ui/v2.5/src/components/Tags/TagList.tsx
@@ -18,10 +18,12 @@ import {
useTagDestroy,
useTagsDestroy,
} from "src/core/StashService";
-import { useToast } from "src/hooks";
+import { useToast } from "src/hooks/Toast";
import { FormattedMessage, FormattedNumber, useIntl } from "react-intl";
-import { NavUtils } from "src/utils";
-import { Icon, Modal, DeleteEntityDialog } from "src/components/Shared";
+import NavUtils from "src/utils/navigation";
+import { Icon } from "../Shared/Icon";
+import { ModalComponent } from "../Shared/Modal";
+import { DeleteEntityDialog } from "../Shared/DeleteEntityDialog";
import { TagCard } from "./TagCard";
import { ExportDialog } from "../Shared/ExportDialog";
import { tagRelationHook } from "../../core/tags";
@@ -236,7 +238,7 @@ export const TagList: React.FC = ({ filterHook }) => {
}
if (filter.displayMode === DisplayMode.List) {
const deleteAlert = (
- {}}
show={!!deletingTag}
icon={faTrashAlt}
@@ -253,7 +255,7 @@ export const TagList: React.FC = ({ filterHook }) => {
values={{ entityName: deletingTag && deletingTag.name }}
/>
-
+
);
const tagElements = result.data.findTags.tags.map((tag) => {
diff --git a/ui/v2.5/src/components/Tags/TagPopover.tsx b/ui/v2.5/src/components/Tags/TagPopover.tsx
index 8ec2ff36e..38b220486 100644
--- a/ui/v2.5/src/components/Tags/TagPopover.tsx
+++ b/ui/v2.5/src/components/Tags/TagPopover.tsx
@@ -1,6 +1,7 @@
import React from "react";
-import { ErrorMessage, LoadingIndicator } from "../Shared";
-import { HoverPopover } from "src/components/Shared";
+import { ErrorMessage } from "../Shared/ErrorMessage";
+import { LoadingIndicator } from "../Shared/LoadingIndicator";
+import { HoverPopover } from "../Shared/HoverPopover";
import { useFindTag } from "../../core/StashService";
import { TagCard } from "./TagCard";
import { ConfigurationContext } from "../../hooks/Config";
diff --git a/ui/v2.5/src/components/Tags/Tags.tsx b/ui/v2.5/src/components/Tags/Tags.tsx
index c5f8bd9dc..66e2e9ab6 100644
--- a/ui/v2.5/src/components/Tags/Tags.tsx
+++ b/ui/v2.5/src/components/Tags/Tags.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Route, Switch } from "react-router-dom";
import { useIntl } from "react-intl";
import { Helmet } from "react-helmet";
-import { TITLE_SUFFIX } from "src/components/Shared";
+import { TITLE_SUFFIX } from "src/components/Shared/constants";
import Tag from "./TagDetails/Tag";
import TagCreate from "./TagDetails/TagCreate";
import { TagList } from "./TagList";
diff --git a/ui/v2.5/src/components/Wall/WallItem.tsx b/ui/v2.5/src/components/Wall/WallItem.tsx
index e655f4773..8f3555944 100644
--- a/ui/v2.5/src/components/Wall/WallItem.tsx
+++ b/ui/v2.5/src/components/Wall/WallItem.tsx
@@ -1,7 +1,8 @@
import React, { useRef, useState, useEffect, useMemo } from "react";
import { Link } from "react-router-dom";
import * as GQL from "src/core/generated-graphql";
-import { TextUtils, NavUtils } from "src/utils";
+import TextUtils from "src/utils/text";
+import NavUtils from "src/utils/navigation";
import cx from "classnames";
import { SceneQueue } from "src/models/sceneQueue";
import { ConfigurationContext } from "src/hooks/Config";
diff --git a/ui/v2.5/src/core/config.ts b/ui/v2.5/src/core/config.ts
index c43780735..93bac87f9 100644
--- a/ui/v2.5/src/core/config.ts
+++ b/ui/v2.5/src/core/config.ts
@@ -1,5 +1,5 @@
import { IntlShape } from "react-intl";
-import { ITypename } from "src/utils";
+import { ITypename } from "src/utils/data";
import { RatingSystemOptions } from "src/utils/rating";
import { FilterMode, SortDirectionEnum } from "./generated-graphql";
diff --git a/ui/v2.5/src/core/files.ts b/ui/v2.5/src/core/files.ts
index 78095bf65..1c2505840 100644
--- a/ui/v2.5/src/core/files.ts
+++ b/ui/v2.5/src/core/files.ts
@@ -1,4 +1,4 @@
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import * as GQL from "src/core/generated-graphql";
interface IFile {
diff --git a/ui/v2.5/src/core/galleries.ts b/ui/v2.5/src/core/galleries.ts
index 21bf662cd..bedc2453e 100644
--- a/ui/v2.5/src/core/galleries.ts
+++ b/ui/v2.5/src/core/galleries.ts
@@ -1,4 +1,4 @@
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import * as GQL from "src/core/generated-graphql";
interface IFile {
diff --git a/ui/v2.5/src/hooks/Lightbox/Lightbox.tsx b/ui/v2.5/src/hooks/Lightbox/Lightbox.tsx
index 0e99a3289..aa2f9fb39 100644
--- a/ui/v2.5/src/hooks/Lightbox/Lightbox.tsx
+++ b/ui/v2.5/src/hooks/Lightbox/Lightbox.tsx
@@ -12,8 +12,11 @@ import cx from "classnames";
import Mousetrap from "mousetrap";
import debounce from "lodash-es/debounce";
-import { Icon, LoadingIndicator } from "src/components/Shared";
-import { useInterval, usePageVisibility, useToast } from "src/hooks";
+import { Icon } from "src/components/Shared/Icon";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
+import useInterval from "../Interval";
+import usePageVisibility from "../PageVisibility";
+import { useToast } from "../Toast";
import { FormattedMessage, useIntl } from "react-intl";
import { LightboxImage } from "./LightboxImage";
import { ConfigurationContext } from "../Config";
diff --git a/ui/v2.5/src/hooks/Lightbox/context.tsx b/ui/v2.5/src/hooks/Lightbox/context.tsx
index 2f857d5fb..6c9240542 100644
--- a/ui/v2.5/src/hooks/Lightbox/context.tsx
+++ b/ui/v2.5/src/hooks/Lightbox/context.tsx
@@ -21,7 +21,8 @@ interface IContext {
export const LightboxContext = React.createContext({
setLightboxState: () => {},
});
-const Lightbox: React.FC = ({ children }) => {
+
+export const LightboxProvider: React.FC = ({ children }) => {
const [lightboxState, setLightboxState] = useState({
images: [],
isVisible: false,
@@ -58,5 +59,3 @@ const Lightbox: React.FC = ({ children }) => {
);
};
-
-export default Lightbox;
diff --git a/ui/v2.5/src/hooks/Lightbox/index.ts b/ui/v2.5/src/hooks/Lightbox/index.ts
deleted file mode 100644
index 493207ae7..000000000
--- a/ui/v2.5/src/hooks/Lightbox/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from "./context";
-export * from "./hooks";
diff --git a/ui/v2.5/src/hooks/ListHook.tsx b/ui/v2.5/src/hooks/ListHook.tsx
index 74f5c6608..620d3fbfa 100644
--- a/ui/v2.5/src/hooks/ListHook.tsx
+++ b/ui/v2.5/src/hooks/ListHook.tsx
@@ -33,7 +33,7 @@ import {
FilterMode,
} from "src/core/generated-graphql";
import { useInterfaceLocalForage } from "src/hooks/LocalForage";
-import { LoadingIndicator } from "src/components/Shared";
+import { LoadingIndicator } from "src/components/Shared/LoadingIndicator";
import { ListFilter } from "src/components/List/ListFilter";
import { FilterTags } from "src/components/List/FilterTags";
import { Pagination, PaginationIndex } from "src/components/List/Pagination";
@@ -60,7 +60,7 @@ import {
CriterionValue,
} from "src/models/list-filter/criteria/criterion";
import { AddFilterDialog } from "src/components/List/AddFilterDialog";
-import { TextUtils } from "src/utils";
+import TextUtils from "src/utils/text";
import { FormattedNumber } from "react-intl";
import { ConfigurationContext } from "./Config";
diff --git a/ui/v2.5/src/hooks/Toast.tsx b/ui/v2.5/src/hooks/Toast.tsx
index 5489fa405..4ef8a7b12 100644
--- a/ui/v2.5/src/hooks/Toast.tsx
+++ b/ui/v2.5/src/hooks/Toast.tsx
@@ -77,12 +77,10 @@ function createHookObject(toastFunc: (toast: IToast) => void) {
};
}
-const useToasts = () => {
+export const useToast = () => {
const setToast = useContext(ToastContext);
const [hookObject, setHookObject] = useState(createHookObject(setToast));
useEffect(() => setHookObject(createHookObject(setToast)), [setToast]);
return hookObject;
};
-
-export default useToasts;
diff --git a/ui/v2.5/src/hooks/index.ts b/ui/v2.5/src/hooks/index.ts
deleted file mode 100644
index 457ce6cd0..000000000
--- a/ui/v2.5/src/hooks/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export { default as useToast } from "./Toast";
-export { default as useInterval } from "./Interval";
-export { default as usePageVisibility } from "./PageVisibility";
-export {
- useInterfaceLocalForage,
- useChangelogStorage,
- useLocalForage,
-} from "./LocalForage";
-export {
- useScenesList,
- useSceneMarkersList,
- useImagesList,
- useGalleriesList,
- useStudiosList,
- usePerformersList,
-} from "./ListHook";
-export { useLightbox, useGalleryLightbox } from "./Lightbox";
diff --git a/ui/v2.5/src/models/list-filter/criteria/country.ts b/ui/v2.5/src/models/list-filter/criteria/country.ts
index 56b67f6bb..e35626ae8 100644
--- a/ui/v2.5/src/models/list-filter/criteria/country.ts
+++ b/ui/v2.5/src/models/list-filter/criteria/country.ts
@@ -1,6 +1,6 @@
import { IntlShape } from "react-intl";
import { CriterionModifier } from "src/core/generated-graphql";
-import { getCountryByISO } from "src/utils";
+import { getCountryByISO } from "src/utils/country";
import { StringCriterion, StringCriterionOption } from "./criterion";
const countryCriterionOption = new StringCriterionOption(
diff --git a/ui/v2.5/src/utils/duration.ts b/ui/v2.5/src/utils/duration.ts
index ca81863d6..7e45cdecc 100644
--- a/ui/v2.5/src/utils/duration.ts
+++ b/ui/v2.5/src/utils/duration.ts
@@ -45,7 +45,9 @@ const stringToSeconds = (v?: string) => {
return seconds;
};
-export default {
+const DurationUtils = {
secondsToString,
stringToSeconds,
};
+
+export default DurationUtils;
diff --git a/ui/v2.5/src/utils/editabletext.tsx b/ui/v2.5/src/utils/editabletext.tsx
index 43d52ec5f..a7d143afb 100644
--- a/ui/v2.5/src/utils/editabletext.tsx
+++ b/ui/v2.5/src/utils/editabletext.tsx
@@ -1,8 +1,8 @@
import React from "react";
import { Form } from "react-bootstrap";
import { DurationInput } from "src/components/Shared/DurationInput";
-import { FilterSelect } from "src/components/Shared";
-import { DurationUtils } from ".";
+import { FilterSelect } from "src/components/Shared/Select";
+import DurationUtils from "./duration";
const renderTextArea = (options: {
value: string | undefined;
@@ -202,4 +202,5 @@ const EditableTextUtils = {
renderFilterSelect,
renderMultiSelect,
};
+
export default EditableTextUtils;
diff --git a/ui/v2.5/src/utils/field.tsx b/ui/v2.5/src/utils/field.tsx
index a22b042cc..c947b8355 100644
--- a/ui/v2.5/src/utils/field.tsx
+++ b/ui/v2.5/src/utils/field.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { FormattedMessage } from "react-intl";
-import { TruncatedText } from "../components/Shared";
+import { TruncatedText } from "src/components/Shared/TruncatedText";
interface ITextField {
id?: string;
diff --git a/ui/v2.5/src/utils/form.tsx b/ui/v2.5/src/utils/form.tsx
index ea2e9bb4c..ff1bc3f6c 100644
--- a/ui/v2.5/src/utils/form.tsx
+++ b/ui/v2.5/src/utils/form.tsx
@@ -164,4 +164,5 @@ const FormUtils = {
renderFilterSelect,
renderMultiSelect,
};
+
export default FormUtils;
diff --git a/ui/v2.5/src/utils/image.tsx b/ui/v2.5/src/utils/image.tsx
index 484c5d055..b31387e83 100644
--- a/ui/v2.5/src/utils/image.tsx
+++ b/ui/v2.5/src/utils/image.tsx
@@ -66,9 +66,10 @@ const imageToDataURL = async (url: string) => {
});
};
-const Image = {
+const ImageUtils = {
onImageChange,
usePasteImage,
imageToDataURL,
};
-export default Image;
+
+export default ImageUtils;
diff --git a/ui/v2.5/src/utils/index.ts b/ui/v2.5/src/utils/index.ts
deleted file mode 100644
index 4ed80cc3e..000000000
--- a/ui/v2.5/src/utils/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export { default as ScreenUtils } from "./screen";
-export { default as ImageUtils } from "./image";
-export { default as NavUtils } from "./navigation";
-export { default as TableUtils } from "./table";
-export { default as TextUtils } from "./text";
-export { default as EditableTextUtils } from "./editabletext";
-export { default as FormUtils } from "./form";
-export { default as DurationUtils } from "./duration";
-export { default as PercentUtils } from "./percent";
-export { default as SessionUtils } from "./session";
-export { default as flattenMessages } from "./flattenMessages";
-export * from "./country";
-export { default as useFocus } from "./focus";
-export { default as downloadFile } from "./download";
-export * from "./data";
-export { getStashIDs } from "./stashIds";
-export * from "./stashbox";
-export * from "./gender";
diff --git a/ui/v2.5/src/utils/navigation.ts b/ui/v2.5/src/utils/navigation.ts
index eefcf994b..e9a0bb324 100644
--- a/ui/v2.5/src/utils/navigation.ts
+++ b/ui/v2.5/src/utils/navigation.ts
@@ -309,7 +309,7 @@ const makeGalleryImagesUrl = (
return `/images?${filter.makeQueryParameters()}`;
};
-export default {
+const NavUtils = {
makePerformerScenesUrl,
makePerformerImagesUrl,
makePerformerGalleriesUrl,
@@ -333,3 +333,5 @@ export default {
makeChildStudiosUrl,
makeGalleryImagesUrl,
};
+
+export default NavUtils;
diff --git a/ui/v2.5/src/utils/percent.ts b/ui/v2.5/src/utils/percent.ts
index 6616733af..893ec60b0 100644
--- a/ui/v2.5/src/utils/percent.ts
+++ b/ui/v2.5/src/utils/percent.ts
@@ -11,7 +11,9 @@ const stringToNumber = (v?: string) => {
return parseInt(numStr, 10);
};
-export default {
+const PercentUtils = {
numberToString,
stringToNumber,
};
+
+export default PercentUtils;
diff --git a/ui/v2.5/src/utils/screen.ts b/ui/v2.5/src/utils/screen.ts
index e79fb1c84..16b13feb4 100644
--- a/ui/v2.5/src/utils/screen.ts
+++ b/ui/v2.5/src/utils/screen.ts
@@ -1,6 +1,8 @@
const isMobile = () =>
window.matchMedia("only screen and (max-width: 767px)").matches;
-export default {
+const ScreenUtils = {
isMobile,
};
+
+export default ScreenUtils;
diff --git a/ui/v2.5/src/utils/session.ts b/ui/v2.5/src/utils/session.ts
index 2e0d3cdf3..33c307034 100644
--- a/ui/v2.5/src/utils/session.ts
+++ b/ui/v2.5/src/utils/session.ts
@@ -4,6 +4,8 @@ const isLoggedIn = () => {
return new Cookies().get("session") !== undefined;
};
-export default {
+const SessionUtils = {
isLoggedIn,
};
+
+export default SessionUtils;
diff --git a/ui/v2.5/src/utils/table.tsx b/ui/v2.5/src/utils/table.tsx
index 84646c591..ca408696e 100644
--- a/ui/v2.5/src/utils/table.tsx
+++ b/ui/v2.5/src/utils/table.tsx
@@ -93,7 +93,7 @@ const renderMultiSelect = (options: {
);
-const Table = {
+const TableUtils = {
renderEditableTextTableRow,
renderTextArea,
renderInputGroup,
@@ -102,4 +102,5 @@ const Table = {
renderFilterSelect,
renderMultiSelect,
};
-export default Table;
+
+export default TableUtils;
diff --git a/ui/v2.5/vite.config.js b/ui/v2.5/vite.config.js
index 12127307c..f62110422 100644
--- a/ui/v2.5/vite.config.js
+++ b/ui/v2.5/vite.config.js
@@ -9,6 +9,11 @@ export default defineConfig({
build: {
outDir: "build",
reportCompressedSize: false,
+ rollupOptions: {
+ output: {
+ experimentalDeepDynamicChunkOptimization: true,
+ },
+ },
},
optimizeDeps: {
entries: "src/index.tsx",
diff --git a/ui/v2.5/yarn.lock b/ui/v2.5/yarn.lock
index 58ff6c697..4b0d3cb4e 100644
--- a/ui/v2.5/yarn.lock
+++ b/ui/v2.5/yarn.lock
@@ -21,10 +21,10 @@
resize-observer-polyfill "^1.5.1"
throttle-debounce "^5.0.0"
-"@apollo/client@^3.7.0", "@apollo/client@^3.7.4":
- version "3.7.5"
- resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.5.tgz#d2ab6e284822296c9102ff57ab3a8dcbaa818052"
- integrity sha512-HEAhX2n2Y8Y2BwRr0UdteT94OTM7pn64K5/rTk/oLIdg/h7R2d83LdsCGDxSH5sBiqDqlv9vou4xdyTxxRWj/g==
+"@apollo/client@^3.7.0", "@apollo/client@^3.7.8":
+ version "3.7.8"
+ resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.8.tgz#e1c8dfd02cbbe1baf9b18fa86918904efd9cc580"
+ integrity sha512-o1NxF4ytET2w9HSVMLwYUEEdv6H3XPpbh9M+ABVGnUVT0s6T9pgqRtYO4pFP1TmeDmb1pbRfVhFwh3gC167j5Q==
dependencies:
"@graphql-typed-document-node/core" "^3.1.1"
"@wry/context" "^0.7.0"
@@ -63,7 +63,7 @@
signedsource "^1.0.0"
yargs "^15.3.1"
-"@ardatan/sync-fetch@0.0.1":
+"@ardatan/sync-fetch@^0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz#3385d3feedceb60a896518a1db857ec1e945348f"
integrity sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==
@@ -78,11 +78,11 @@
"@babel/highlight" "^7.18.6"
"@babel/compat-data@^7.20.5":
- version "7.20.10"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
- integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
+ version "7.20.14"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8"
+ integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==
-"@babel/core@^7.14.0", "@babel/core@^7.20.5", "@babel/core@^7.20.7", "@babel/core@^7.9.0":
+"@babel/core@^7.14.0", "@babel/core@^7.20.12", "@babel/core@^7.9.0":
version "7.20.12"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
@@ -104,9 +104,9 @@
semver "^6.3.0"
"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
- integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
+ version "7.20.14"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce"
+ integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==
dependencies:
"@babel/types" "^7.20.7"
"@jridgewell/gen-mapping" "^0.3.2"
@@ -271,9 +271,9 @@
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.16.8", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7":
- version "7.20.13"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.13.tgz#ddf1eb5a813588d2fb1692b70c6fce75b945c088"
- integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==
+ version "7.20.15"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89"
+ integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==
"@babel/plugin-proposal-class-properties@^7.0.0":
version "7.18.6"
@@ -344,9 +344,9 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-block-scoping@^7.0.0":
- version "7.20.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a"
- integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==
+ version "7.20.15"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz#3e1b2aa9cbbe1eb8d644c823141a9c5c2a22392d"
+ integrity sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
@@ -503,7 +503,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.9"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7":
version "7.20.13"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b"
integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==
@@ -551,10 +551,25 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@csstools/selector-specificity@^2.0.2":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.1.0.tgz#923ebf8ba47e854863ae72510d9cbf7b44d525ea"
- integrity sha512-zJ6hb3FDgBbO8d2e83vg6zq7tNvDqSq9RwdwfzJ8tdm9JHNvANq2fqwyRn6mlpUb7CwTs5ILdUrGwi9Gk4vY5w==
+"@csstools/css-parser-algorithms@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.0.1.tgz#ff02629c7c95d1f4f8ea84d5ef1173461610535e"
+ integrity sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw==
+
+"@csstools/css-tokenizer@^2.0.1":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.0.2.tgz#3635560ffc8f1994295d7ce3482e14f956d3f9e1"
+ integrity sha512-prUTipz0NZH7Lc5wyBUy93NFy3QYDMVEQgSeZzNdpMbKRd6V2bgRFyJ+O0S0Dw0MXWuE/H9WXlJk3kzMZRHZ/g==
+
+"@csstools/media-query-list-parser@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.1.tgz#d85a366811563a5d002755ed10e5212a1613c91d"
+ integrity sha512-X2/OuzEbjaxhzm97UJ+95GrMeT29d1Ib+Pu+paGLuRWZnWRK9sI9r3ikmKXPWGA1C4y4JEdBEFpp9jEqCvLeRA==
+
+"@csstools/selector-specificity@^2.1.1":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz#c9c61d9fe5ca5ac664e1153bb0aa0eba1c6d6308"
+ integrity sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==
"@emotion/babel-plugin@^11.10.5":
version "11.10.5"
@@ -770,17 +785,17 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@floating-ui/core@^1.0.5":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.1.0.tgz#0a1dee4bbce87ff71602625d33f711cafd8afc08"
- integrity sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==
+"@floating-ui/core@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.2.1.tgz#074182a1d277f94569c50a6b456e62585d463c8e"
+ integrity sha512-LSqwPZkK3rYfD7GKoIeExXOyYx6Q1O4iqZWwIehDNuv3Dv425FIAE8PRwtAx1imEolFTHgBEcoFHm9MDnYgPCg==
"@floating-ui/dom@^1.0.1":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.1.0.tgz#29fea1344fdef15b6ba270a733d20b7134fee5c2"
- integrity sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.2.1.tgz#8f93906e1a3b9f606ce78afb058e874344dcbe07"
+ integrity sha512-Rt45SmRiV8eU+xXSB9t0uMYiQ/ZWGE/jumse2o3i5RGlyvcbqOF4q+1qBnzLE2kZ5JGhq0iMkcGXUKbFe7MpTA==
dependencies:
- "@floating-ui/core" "^1.0.5"
+ "@floating-ui/core" "^1.2.1"
"@formatjs/ecma402-abstract@1.14.3":
version "1.14.3"
@@ -811,10 +826,10 @@
dependencies:
tslib "^2.4.0"
-"@formatjs/icu-messageformat-parser@2.1.14":
- version "2.1.14"
- resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.14.tgz#d7bc8c82bfce1eb8e3232e6d7e3d6ea92ba390cc"
- integrity sha512-0KqeVOb72losEhUW+59vhZGGd14s1f35uThfEMVKZHKLEObvJdFTiI3ZQwvTMUCzLEMxnS6mtnYPmG4mTvwd3Q==
+"@formatjs/icu-messageformat-parser@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.2.0.tgz#9221f7f4dbaf634a84e459a49017a872e708dcfa"
+ integrity sha512-NT/jKI9nvqNIsosTm+Cxv3BHutB1RIDFa4rAa2b664Od4sBnXtK7afXvAqNa3XDFxljKTij9Cp+kRMJbXozUww==
dependencies:
"@formatjs/ecma402-abstract" "1.14.3"
"@formatjs/icu-skeleton-parser" "1.3.18"
@@ -895,17 +910,17 @@
"@formatjs/intl-localematcher" "0.2.32"
tslib "^2.4.0"
-"@formatjs/intl@2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.6.4.tgz#3374aba0a269955966a99b2d84d931bbbb394418"
- integrity sha512-xUuVxcJpyUxRjIaaaaFes3acTRS9T6vkL7onXBmfVT5+HTakVDGeRA7DYQD9u8ZUdzlqxe/4AuIuC+E9zBTngQ==
+"@formatjs/intl@2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.6.5.tgz#349dc624a06978b143135201dcf63d40ba3cd816"
+ integrity sha512-kNH221hsdbTAMdsF6JAxSFV4N/9p5azXZvCLQBxl10Q4D2caPODLtne98gRhinIJ8Hv3djBabPdJG32OQaHuMA==
dependencies:
"@formatjs/ecma402-abstract" "1.14.3"
"@formatjs/fast-memoize" "1.2.8"
- "@formatjs/icu-messageformat-parser" "2.1.14"
+ "@formatjs/icu-messageformat-parser" "2.2.0"
"@formatjs/intl-displaynames" "6.2.4"
"@formatjs/intl-listformat" "7.1.7"
- intl-messageformat "10.2.6"
+ intl-messageformat "10.3.0"
tslib "^2.4.0"
"@formatjs/ts-transformer@^2.6.0":
@@ -917,38 +932,38 @@
tslib "^2.0.1"
typescript "^4.0"
-"@fortawesome/fontawesome-common-types@6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.1.tgz#411e02a820744d3f7e0d8d9df9d82b471beaa073"
- integrity sha512-Sz07mnQrTekFWLz5BMjOzHl/+NooTdW8F8kDQxjWwbpOJcnoSg4vUDng8d/WR1wOxM0O+CY9Zw0nR054riNYtQ==
+"@fortawesome/fontawesome-common-types@6.3.0":
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.3.0.tgz#51f734e64511dbc3674cd347044d02f4dd26e86b"
+ integrity sha512-4BC1NMoacEBzSXRwKjZ/X/gmnbp/HU5Qqat7E8xqorUtBFZS+bwfGH5/wqOC2K6GV0rgEobp3OjGRMa5fK9pFg==
-"@fortawesome/fontawesome-svg-core@^6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.1.tgz#e87e905e444b5e7b715af09b64d27b53d4c8f9d9"
- integrity sha512-HELwwbCz6C1XEcjzyT1Jugmz2NNklMrSPjZOWMlc+ZsHIVk+XOvOXLGGQtFBwSyqfJDNgRq4xBCwWOaZ/d9DEA==
+"@fortawesome/fontawesome-svg-core@^6.3.0":
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.3.0.tgz#b6a17d48d231ac1fad93e43fca7271676bf316cf"
+ integrity sha512-uz9YifyKlixV6AcKlOX8WNdtF7l6nakGyLYxYaCa823bEBqyj/U2ssqtctO38itNEwXb8/lMzjdoJ+aaJuOdrw==
dependencies:
- "@fortawesome/fontawesome-common-types" "6.2.1"
+ "@fortawesome/fontawesome-common-types" "6.3.0"
-"@fortawesome/free-brands-svg-icons@^6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.2.1.tgz#04a6d6f7898f7ef392aba7a65030a584d4f4c84f"
- integrity sha512-L8l4MfdHPmZlJ72PvzdfwOwbwcCAL0vx48tJRnI6u1PJXh+j2f3yDoKyQgO3qjEsgD5Fr2tQV/cPP8F/k6aUig==
+"@fortawesome/free-brands-svg-icons@^6.3.0":
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.3.0.tgz#436e5fcba4f4f0902edcceaec5c4ff887ba7328f"
+ integrity sha512-xI0c+a8xnKItAXCN8rZgCNCJQiVAd2Y7p9e2ND6zN3J3ekneu96qrePieJ7yA7073C1JxxoM3vH1RU7rYsaj8w==
dependencies:
- "@fortawesome/fontawesome-common-types" "6.2.1"
+ "@fortawesome/fontawesome-common-types" "6.3.0"
-"@fortawesome/free-regular-svg-icons@^6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.1.tgz#650e56d937755a8341f2eef258ecb6f95458820f"
- integrity sha512-wiqcNDNom75x+pe88FclpKz7aOSqS2lOivZeicMV5KRwOAeypxEYWAK/0v+7r+LrEY30+qzh8r2XDaEHvoLsMA==
+"@fortawesome/free-regular-svg-icons@^6.3.0":
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.3.0.tgz#286f87f777e6c96af59151e86647c81083029ee2"
+ integrity sha512-cZnwiVHZ51SVzWHOaNCIA+u9wevZjCuAGSvSYpNlm6A4H4Vhwh8481Bf/5rwheIC3fFKlgXxLKaw8Xeroz8Ntg==
dependencies:
- "@fortawesome/fontawesome-common-types" "6.2.1"
+ "@fortawesome/fontawesome-common-types" "6.3.0"
-"@fortawesome/free-solid-svg-icons@^6.2.1":
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.1.tgz#2290ea5adcf1537cbd0c43de6feb38af02141d27"
- integrity sha512-oKuqrP5jbfEPJWTij4sM+/RvgX+RMFwx3QZCZcK9PrBDgxC35zuc7AOFsyMjMd/PIFPeB2JxyqDr5zs/DZFPPw==
+"@fortawesome/free-solid-svg-icons@^6.3.0":
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.3.0.tgz#d3bd33ae18bb15fdfc3ca136e2fea05f32768a65"
+ integrity sha512-x5tMwzF2lTH8pyv8yeZRodItP2IVlzzmBuD1M7BjawWgg9XAvktqJJ91Qjgoaf8qJpHQ8FEU9VxRfOkLhh86QA==
dependencies:
- "@fortawesome/fontawesome-common-types" "6.2.1"
+ "@fortawesome/fontawesome-common-types" "6.3.0"
"@fortawesome/react-fontawesome@^0.2.0":
version "0.2.0"
@@ -957,23 +972,23 @@
dependencies:
prop-types "^15.8.1"
-"@graphql-codegen/cli@^2.16.4":
- version "2.16.4"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.16.4.tgz#c8e6df2dc8cccfd61a088de0ada9a05842ad8ad6"
- integrity sha512-MBbdzIIaNZ8BTlFXG00toxU5rIV7Ltf2myaze88HpI5YPVfVJKlfccE6l0/Gv+nLv88CIM/PZrnFLdVtlBmrZw==
+"@graphql-codegen/cli@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-3.0.0.tgz#eb367adfe51349e4822518183fc7ea7c06aea11b"
+ integrity sha512-16nuFabHCfPQ/d+v52OvR1ueL8eiJvS/nRuvuEV8d9T1fkborHKRw4lhyKVebu9izFBs6G0CvVCLhgVzQwHSLw==
dependencies:
"@babel/generator" "^7.18.13"
"@babel/template" "^7.18.10"
"@babel/types" "^7.18.13"
- "@graphql-codegen/core" "2.6.8"
- "@graphql-codegen/plugin-helpers" "^3.1.2"
+ "@graphql-codegen/core" "^3.0.0"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
"@graphql-tools/apollo-engine-loader" "^7.3.6"
- "@graphql-tools/code-file-loader" "^7.3.13"
+ "@graphql-tools/code-file-loader" "^7.3.17"
"@graphql-tools/git-loader" "^7.2.13"
"@graphql-tools/github-loader" "^7.3.20"
"@graphql-tools/graphql-file-loader" "^7.5.0"
"@graphql-tools/json-file-loader" "^7.4.1"
- "@graphql-tools/load" "7.8.0"
+ "@graphql-tools/load" "^7.8.0"
"@graphql-tools/prisma-loader" "^7.2.49"
"@graphql-tools/url-loader" "^7.13.2"
"@graphql-tools/utils" "^9.0.0"
@@ -981,10 +996,10 @@
chalk "^4.1.0"
chokidar "^3.5.2"
cosmiconfig "^7.0.0"
- cosmiconfig-typescript-loader "4.3.0"
+ cosmiconfig-typescript-loader "^4.3.0"
debounce "^1.2.0"
detect-indent "^6.0.0"
- graphql-config "4.4.0"
+ graphql-config "^4.4.0"
inquirer "^8.0.0"
is-glob "^4.0.1"
json-to-pretty-yaml "^1.2.2"
@@ -993,16 +1008,17 @@
shell-quote "^1.7.3"
string-env-interpolation "^1.0.1"
ts-log "^2.2.3"
+ ts-node "^10.9.1"
tslib "^2.4.0"
yaml "^1.10.0"
yargs "^17.0.0"
-"@graphql-codegen/core@2.6.8":
- version "2.6.8"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.6.8.tgz#00c4011e3619ddbc6af5e41b2f254d6f6759556e"
- integrity sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ==
+"@graphql-codegen/core@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-3.0.0.tgz#ff6d643bb9d80c54ddd9ee5c68194888c971ae45"
+ integrity sha512-WUfAUTmUcgeHPR7F5ZQqaBqJLJb5+3Lvp6v9SrnupKOFed+Q3u8CvZL6sPTvDpqqW8Ucjy59DEZqumPLp99pdQ==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.1"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
"@graphql-tools/schema" "^9.0.0"
"@graphql-tools/utils" "^9.1.1"
tslib "~2.4.0"
@@ -1019,10 +1035,10 @@
lodash "~4.17.0"
tslib "~2.4.0"
-"@graphql-codegen/plugin-helpers@^3.1.1", "@graphql-codegen/plugin-helpers@^3.1.2":
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-3.1.2.tgz#69a2e91178f478ea6849846ade0a59a844d34389"
- integrity sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg==
+"@graphql-codegen/plugin-helpers@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-4.0.0.tgz#9c10e4700dc6efe657781dff47347d0c99674061"
+ integrity sha512-vgNGTanT36hC4RAC/LAThMEjDvnu3WCyx6MtKZcPUtfCWFxbUAr88+OarGl1LAEiOef0agIREC7tIBXCqjKkJA==
dependencies:
"@graphql-tools/utils" "^9.0.0"
change-case-all "1.0.15"
@@ -1031,31 +1047,31 @@
lodash "~4.17.0"
tslib "~2.4.0"
-"@graphql-codegen/schema-ast@^2.6.1":
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-2.6.1.tgz#8ba1b38827c034b51ecd3ce88622c2ae6cd3fe1a"
- integrity sha512-5TNW3b1IHJjCh07D2yQNGDQzUpUl2AD+GVe1Dzjqyx/d2Fn0TPMxLsHsKPS4Plg4saO8FK/QO70wLsP7fdbQ1w==
+"@graphql-codegen/schema-ast@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-3.0.0.tgz#3311a58184f885853d33d8272c527ff5bdf3023b"
+ integrity sha512-5gC8nNk/bxufS2LBSpaPExRgn6eNo8LQdtwDtwfM9XGEzt/F6rIBQoyOmqqwkiBmgu1PHHH8kLZMBYvYB1x5DA==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.2"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
"@graphql-tools/utils" "^9.0.0"
tslib "~2.4.0"
-"@graphql-codegen/time@^3.2.3":
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/time/-/time-3.2.3.tgz#a58aaf5bb71ffdea5ea9da9d4c980c3f4f3bdf29"
- integrity sha512-mnDUVEC8w45XKXUOaJU6plVJ2vLEwClWSCmN34vSSf5PqMLEyf8RotAZfXpSPXExbDZ8/BfKqoQbENG75oHuQA==
+"@graphql-codegen/time@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/time/-/time-4.0.0.tgz#70f225d1902dc83a778770da8166d322b6dc430e"
+ integrity sha512-2hnkYej1pTOGfL1xCzxuvDKYfE1EPjdOYeZP3iw8v8azWrO4UG0XFX4Zteii4u9YhZlSmp5kWPTHpL6F3lOPmw==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.1"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
moment "~2.29.1"
-"@graphql-codegen/typescript-operations@^2.5.12":
- version "2.5.12"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.5.12.tgz#36af48b34d70d98a9a2adea1ab79e26fcab23a92"
- integrity sha512-/w8IgRIQwmebixf514FOQp2jXOe7vxZbMiSFoQqJgEgzrr42joPsgu4YGU+owv2QPPmu4736OcX8FSavb7SLiA==
+"@graphql-codegen/typescript-operations@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.0.tgz#e67c9dedb739a20f8a1d2c9a9631701c269de0c1"
+ integrity sha512-t+Lk+lxkUFDh6F0t8CErowOccP3bZwxhl66qmEeBcOrC7jQrSCnRZoFvOXhFKFBJe/y4DIJiizgSr34AqjiJIQ==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.2"
- "@graphql-codegen/typescript" "^2.8.7"
- "@graphql-codegen/visitor-plugin-common" "2.13.7"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
+ "@graphql-codegen/typescript" "^3.0.0"
+ "@graphql-codegen/visitor-plugin-common" "3.0.0"
auto-bind "~4.0.0"
tslib "~2.4.0"
@@ -1070,14 +1086,14 @@
change-case-all "1.0.14"
tslib "~2.4.0"
-"@graphql-codegen/typescript@^2.8.7":
- version "2.8.7"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.8.7.tgz#da34261b779a001d7d53b8f454bafc002b06e041"
- integrity sha512-Nm5keWqIgg/VL7fivGmglF548tJRP2ttSmfTMuAdY5GNGTJTVZOzNbIOfnbVEDMMWF4V+quUuSyeUQ6zRxtX1w==
+"@graphql-codegen/typescript@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-3.0.0.tgz#473dde1646540039bca5db4b6daf174d13af0ce3"
+ integrity sha512-FQWyuIUy1y+fxb9+EZfvdBHBQpYExlIBHV5sg2WGNCsyVyCqBTl0mO8icyOtsQPVg6YFMFe8JJO69vQbwHma5w==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.2"
- "@graphql-codegen/schema-ast" "^2.6.1"
- "@graphql-codegen/visitor-plugin-common" "2.13.7"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
+ "@graphql-codegen/schema-ast" "^3.0.0"
+ "@graphql-codegen/visitor-plugin-common" "3.0.0"
auto-bind "~4.0.0"
tslib "~2.4.0"
@@ -1097,12 +1113,12 @@
parse-filepath "^1.0.2"
tslib "~2.4.0"
-"@graphql-codegen/visitor-plugin-common@2.13.7":
- version "2.13.7"
- resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.7.tgz#591e054a970a0d572bdfb765bf948dae21bf8aed"
- integrity sha512-xE6iLDhr9sFM1qwCGJcCXRu5MyA0moapG2HVejwyAXXLubYKYwWnoiEigLH2b5iauh6xsl6XP8hh9D1T1dn5Cw==
+"@graphql-codegen/visitor-plugin-common@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.0.0.tgz#527185eb3b1b06739702084bc6263713e167a166"
+ integrity sha512-ZoNlCmmkGClB137SpJT9og/nkihLN7Z4Ynl9Ir3OlbDuI20dbpyXsclpr9QGLcxEcfQeVfhGw9CooW7wZJJ8LA==
dependencies:
- "@graphql-codegen/plugin-helpers" "^3.1.2"
+ "@graphql-codegen/plugin-helpers" "^4.0.0"
"@graphql-tools/optimize" "^1.3.0"
"@graphql-tools/relay-operation-optimizer" "^6.5.0"
"@graphql-tools/utils" "^9.0.0"
@@ -1114,197 +1130,179 @@
tslib "~2.4.0"
"@graphql-tools/apollo-engine-loader@^7.3.6":
- version "7.3.22"
- resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.22.tgz#ace09442dd0aa758a7a42dac3b73252c7935c531"
- integrity sha512-4zbL2k7Tcr+qDHBmqKTfrxgOgGkRw0x8NAmrNQVyDYhpP9NiRANmq4DTUgqSPEFiZ6Dx6FYGD4fldRq1JYSYqQ==
+ version "7.3.26"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.26.tgz#91e54460d5579933e42a2010b8688c3459c245d8"
+ integrity sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ==
dependencies:
- "@ardatan/sync-fetch" "0.0.1"
- "@graphql-tools/utils" "9.1.4"
- "@whatwg-node/fetch" "^0.6.0"
+ "@ardatan/sync-fetch" "^0.0.1"
+ "@graphql-tools/utils" "^9.2.1"
+ "@whatwg-node/fetch" "^0.8.0"
tslib "^2.4.0"
-"@graphql-tools/batch-execute@8.5.15":
- version "8.5.15"
- resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.15.tgz#f61ac71d11e57c9b9f8b8b60fc882e4e9762d182"
- integrity sha512-qb12M8XCK6SBJmZDS8Lzd4PVJFsIwNUkYmFuqcTiBqOI/WsoDlQDZI++ghRpGcusLkL9uzcIOTT/61OeHhsaLg==
+"@graphql-tools/batch-execute@8.5.18":
+ version "8.5.18"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.18.tgz#2f0e91cc12e8eed32f14bc814f27c6a498b75e17"
+ integrity sha512-mNv5bpZMLLwhkmPA6+RP81A6u3KF4CSKLf3VX9hbomOkQR4db8pNs8BOvpZU54wKsUzMzdlws/2g/Dabyb2Vsg==
dependencies:
- "@graphql-tools/utils" "9.1.4"
- dataloader "2.1.0"
+ "@graphql-tools/utils" "9.2.1"
+ dataloader "2.2.2"
tslib "^2.4.0"
value-or-promise "1.0.12"
-"@graphql-tools/code-file-loader@^7.3.13":
- version "7.3.16"
- resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.16.tgz#58aa85c250175cebe0ea4309214357768d550f93"
- integrity sha512-109UFvQjZEntHwjPaHpWvgUudHenGngbXvSImabPc2fdrtgja5KC0h7thCg379Yw6IORHGrF2XbJwS1hAGPPWw==
+"@graphql-tools/code-file-loader@^7.3.17":
+ version "7.3.21"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.21.tgz#3eed4ff4610cf0a6f4b1be17d0bce1eec9359479"
+ integrity sha512-dj+OLnz1b8SYkXcuiy0CUQ25DWnOEyandDlOcdBqU3WVwh5EEVbn0oXUYm90fDlq2/uut00OrtC5Wpyhi3tAvA==
dependencies:
- "@graphql-tools/graphql-tag-pluck" "7.4.3"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/graphql-tag-pluck" "7.5.0"
+ "@graphql-tools/utils" "9.2.1"
globby "^11.0.3"
tslib "^2.4.0"
unixify "^1.0.0"
-"@graphql-tools/delegate@9.0.23":
- version "9.0.23"
- resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.23.tgz#5233c9648acf2b26744ebbdc91e84b45facd1b42"
- integrity sha512-pTmC2ZUGRp/j4bwQRccZV+J2ETMeHYF9RmEXHHdj0S7/LOpyfFE3mGvRV2+n6MzXpPCPp+mh037LWF+q4wLcJw==
+"@graphql-tools/delegate@9.0.27", "@graphql-tools/delegate@^9.0.27":
+ version "9.0.27"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.27.tgz#e500554bace46cc7ededd48a0c28079f747c9f49"
+ integrity sha512-goYewiPls/RDXiRTl1S2tRPlsyDQCxlDWqd0uEIzQZ6aWSyiutfwQnTzdbZPXK0qOblEVMIqFhSGrB6fp0OkBA==
dependencies:
- "@graphql-tools/batch-execute" "8.5.15"
- "@graphql-tools/executor" "0.0.12"
- "@graphql-tools/schema" "9.0.14"
- "@graphql-tools/utils" "9.1.4"
- dataloader "2.1.0"
- tslib "~2.4.0"
+ "@graphql-tools/batch-execute" "8.5.18"
+ "@graphql-tools/executor" "0.0.14"
+ "@graphql-tools/schema" "9.0.16"
+ "@graphql-tools/utils" "9.2.1"
+ dataloader "2.2.2"
+ tslib "~2.5.0"
value-or-promise "1.0.12"
-"@graphql-tools/executor-graphql-ws@0.0.7":
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.7.tgz#5e7b0e6d02d3b64727bfb37c0f2c1e13badcb829"
- integrity sha512-C6EExKoukn4vu3BbvlqsqtC91F4pTLPDZvRceYjpFzTCQSGFSjfrxQGP/haGlemXVRpIDxBy7wpXoQlsF8UmFA==
+"@graphql-tools/executor-graphql-ws@^0.0.11":
+ version "0.0.11"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.11.tgz#c6536aa862f76a9c7ac83e7e07fe8d5119e6de38"
+ integrity sha512-muRj6j897ks2iKqe3HchWFFzd+jFInSRuLPvHJ7e4WPrejFvaZx3BQ9gndfJvVkfYUZIFm13stCGXaJJTbVM0Q==
dependencies:
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
"@repeaterjs/repeater" "3.0.4"
"@types/ws" "^8.0.0"
- graphql-ws "5.11.2"
+ graphql-ws "5.11.3"
isomorphic-ws "5.0.0"
tslib "^2.4.0"
- ws "8.12.0"
+ ws "8.12.1"
-"@graphql-tools/executor-http@0.1.1":
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-0.1.1.tgz#9c4a43811d36d1be2319fd241d5538e2fac45bce"
- integrity sha512-bFE6StI7CJEIYGRkAnTYxutSV4OtC1c4MQU3nStOYZZO7KmzIgEQZ4ygPSPrRb+jtRsMCBEqPqlYOD4Rq02aMw==
+"@graphql-tools/executor-http@^0.1.7":
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/executor-http/-/executor-http-0.1.9.tgz#ddd74ef376b4a2ed59c622acbcca068890854a30"
+ integrity sha512-tNzMt5qc1ptlHKfpSv9wVBVKCZ7gks6Yb/JcYJluxZIT4qRV+TtOFjpptfBU63usgrGVOVcGjzWc/mt7KhmmpQ==
dependencies:
- "@graphql-tools/utils" "9.1.4"
- "@repeaterjs/repeater" "3.0.4"
- "@whatwg-node/fetch" "0.6.2"
- dset "3.1.2"
+ "@graphql-tools/utils" "^9.2.1"
+ "@repeaterjs/repeater" "^3.0.4"
+ "@whatwg-node/fetch" "^0.8.1"
+ dset "^3.1.2"
extract-files "^11.0.0"
- meros "1.2.1"
+ meros "^1.2.1"
tslib "^2.4.0"
- value-or-promise "1.0.12"
+ value-or-promise "^1.0.12"
-"@graphql-tools/executor-legacy-ws@0.0.6":
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-0.0.6.tgz#236dd5b3d4d19492978b1458b74928e8c69d16ff"
- integrity sha512-L1hRuSvBUCNerYDhfeSZXFeqliDlnNXa3fDHTp7efI3Newpbevqa19Fm0mVzsCL7gqIKOwzrPORwh7kOVE/vew==
+"@graphql-tools/executor-legacy-ws@^0.0.9":
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-0.0.9.tgz#1ff517998f750af2be9c1dae8924665a136e4986"
+ integrity sha512-L7oDv7R5yoXzMH+KLKDB2WHVijfVW4dB2H+Ae1RdW3MFvwbYjhnIB6QzHqKEqksjp/FndtxZkbuTIuAOsYGTYw==
dependencies:
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
"@types/ws" "^8.0.0"
isomorphic-ws "5.0.0"
tslib "^2.4.0"
- ws "8.12.0"
+ ws "8.12.1"
-"@graphql-tools/executor@0.0.12":
- version "0.0.12"
- resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-0.0.12.tgz#d885c7fa98a8aaeaa771163b71fb98ce9f52f9bd"
- integrity sha512-bWpZcYRo81jDoTVONTnxS9dDHhEkNVjxzvFCH4CRpuyzD3uL+5w3MhtxIh24QyWm4LvQ4f+Bz3eMV2xU2I5+FA==
+"@graphql-tools/executor@0.0.14":
+ version "0.0.14"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/executor/-/executor-0.0.14.tgz#7c6073d75c77dd6e7fab0c835761ed09c85a3bc6"
+ integrity sha512-YiBbN9NT0FgqPJ35+Eg0ty1s5scOZTgiPf+6hLVJBd5zHEURwojEMCTKJ9e0RNZHETp2lN+YaTFGTSoRk0t4Sw==
dependencies:
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
"@graphql-typed-document-node/core" "3.1.1"
"@repeaterjs/repeater" "3.0.4"
tslib "^2.4.0"
value-or-promise "1.0.12"
"@graphql-tools/git-loader@^7.2.13":
- version "7.2.16"
- resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.16.tgz#8c025cad12a623ac91e421eb01380cc177070e7c"
- integrity sha512-8DsxYfSouhgKPOBcc7MzuOTM4M/j2UNFn2ehXD0MX9q41t3dKffufJZKsKxE6VyyCUoVYdlRFhUWEyOHPVdcfQ==
+ version "7.2.20"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.20.tgz#b17917c89be961c272bfbf205dcf32287247494b"
+ integrity sha512-D/3uwTzlXxG50HI8BEixqirT4xiUp6AesTdfotRXAs2d4CT9wC6yuIWOHkSBqgI1cwKWZb6KXZr467YPS5ob1w==
dependencies:
- "@graphql-tools/graphql-tag-pluck" "7.4.3"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/graphql-tag-pluck" "7.5.0"
+ "@graphql-tools/utils" "9.2.1"
is-glob "4.0.3"
micromatch "^4.0.4"
tslib "^2.4.0"
unixify "^1.0.0"
"@graphql-tools/github-loader@^7.3.20":
- version "7.3.23"
- resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.23.tgz#9688f4b9cd9596229f0f8c7eed7a8f500806defa"
- integrity sha512-oYTZCvW520KNVVonjucDSMhabCFnHwtM1rJbyUkA1JFyzpmmNAAyNMWOOPcU/Q9rTESrsH+Hbja0mfpjpnBKLA==
+ version "7.3.27"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.27.tgz#77a2fbaeb7bf5f8edc4a865252ecb527a5399e01"
+ integrity sha512-fFFC35qenyhjb8pfcYXKknAt0CXP5CkQYtLfJXgTXSgBjIsfAVMrqxQ/Y0ejeM19XNF/C3VWJ7rE308yOX6ywA==
dependencies:
- "@ardatan/sync-fetch" "0.0.1"
- "@graphql-tools/graphql-tag-pluck" "7.4.3"
- "@graphql-tools/utils" "9.1.4"
- "@whatwg-node/fetch" "^0.6.0"
+ "@ardatan/sync-fetch" "^0.0.1"
+ "@graphql-tools/graphql-tag-pluck" "^7.4.6"
+ "@graphql-tools/utils" "^9.2.1"
+ "@whatwg-node/fetch" "^0.8.0"
tslib "^2.4.0"
"@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.5.0":
- version "7.5.14"
- resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.14.tgz#6c6527e353cf9adcbda2cdc8a85face03ad8fe04"
- integrity sha512-JGer4g57kq4wtsvqv8uZsT4ZG1lLsz1x5yHDfSj2OxyiWw2f1jFkzgby7Ut3H2sseJiQzeeDYZcbm06qgR32pg==
+ version "7.5.16"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.16.tgz#d954b25ee14c6421ddcef43f4320a82e9800cb23"
+ integrity sha512-lK1N3Y2I634FS12nd4bu7oAJbai3bUc28yeX+boT+C83KTO4ujGHm+6hPC8X/FRGwhKOnZBxUM7I5nvb3HiUxw==
dependencies:
- "@graphql-tools/import" "6.7.15"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/import" "6.7.17"
+ "@graphql-tools/utils" "9.2.1"
globby "^11.0.3"
tslib "^2.4.0"
unixify "^1.0.0"
-"@graphql-tools/graphql-tag-pluck@7.4.3":
- version "7.4.3"
- resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.4.3.tgz#b07f2263c383d9605d941c836dc01a7bbc6e56a7"
- integrity sha512-w+nrJVQw+NTuaZNQG5AwSh4Qe+urP/s4rUz5s1T007rDnv1kvkiX+XHOCnIfJzXOTuvFmG4GGYw/x0CuSRaGZQ==
+"@graphql-tools/graphql-tag-pluck@7.5.0", "@graphql-tools/graphql-tag-pluck@^7.4.6":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.5.0.tgz#be99bc6b5e8331a2379ab4585d71b057eb981497"
+ integrity sha512-76SYzhSlH50ZWkhWH6OI94qrxa8Ww1ZeOU04MdtpSeQZVT2rjGWeTb3xM3kjTVWQJsr/YJBhDeNPGlwNUWfX4Q==
dependencies:
"@babel/parser" "^7.16.8"
"@babel/plugin-syntax-import-assertions" "7.20.0"
"@babel/traverse" "^7.16.8"
"@babel/types" "^7.16.8"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
tslib "^2.4.0"
-"@graphql-tools/import@6.7.15":
- version "6.7.15"
- resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.7.15.tgz#7553e48140797255588b26d423a89aa042196928"
- integrity sha512-WNhvauAt2I2iUg+JdQK5oQebKLXqUZWe8naP13K1jOkbTQT7hK3P/4I9AaVmzt0KXRJW5Uow3RgdHZ7eUBKVsA==
+"@graphql-tools/import@6.7.17":
+ version "6.7.17"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.7.17.tgz#ab51ed08bcbf757f952abf3f40793ce3db42d4a3"
+ integrity sha512-bn9SgrECXq3WIasgNP7ful/uON51wBajPXtxdY+z/ce7jLWaFE6lzwTDB/GAgiZ+jo7nb0ravlxteSAz2qZmuA==
dependencies:
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
resolve-from "5.0.0"
tslib "^2.4.0"
"@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.1":
- version "7.4.15"
- resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.4.15.tgz#ed229d98784350623d2ef32628690db405fa6780"
- integrity sha512-pH+hbsDetcEpj+Tmi7ZRUkxzJez2DLdSQuvK5Qi38FX/Nz/5nZKRfW9nqIptGYbuS9+2JPrt9WWNn1aGtegIFQ==
+ version "7.4.17"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.4.17.tgz#3f08e74ab1a3534c02dc97875acc7f15aa460011"
+ integrity sha512-KOSTP43nwjPfXgas90rLHAFgbcSep4nmiYyR9xRVz4ZAmw8VYHcKhOLTSGylCAzi7KUfyBXajoW+6Z7dQwdn3g==
dependencies:
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
globby "^11.0.3"
tslib "^2.4.0"
unixify "^1.0.0"
-"@graphql-tools/load@7.8.0":
- version "7.8.0"
- resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.0.tgz#bd4d2e2a5117de9a60f9691a218217e96afc2ea7"
- integrity sha512-l4FGgqMW0VOqo+NMYizwV8Zh+KtvVqOf93uaLo9wJ3sS3y/egPCgxPMDJJ/ufQZG3oZ/0oWeKt68qop3jY0yZg==
+"@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.8.0":
+ version "7.8.12"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.12.tgz#6457fe6ec8cd2e2b5ca0d2752464bc937d186cca"
+ integrity sha512-JwxgNS2c6i6oIdKttcbXns/lpKiyN7c6/MkkrJ9x2QE9rXk5HOhSJxRvPmOueCuAin1542xUrcDRGBXJ7thSig==
dependencies:
- "@graphql-tools/schema" "9.0.4"
- "@graphql-tools/utils" "8.12.0"
+ "@graphql-tools/schema" "9.0.16"
+ "@graphql-tools/utils" "9.2.1"
p-limit "3.1.0"
tslib "^2.4.0"
-"@graphql-tools/load@^7.5.5":
- version "7.8.10"
- resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.10.tgz#c62ccc850e6f846e8214f1ae05e675a864d79b80"
- integrity sha512-Mc1p7ZSxrW5yGG3BLQnhiL8RPG0HdxFVoHV7fpx2adp4o1V7BzDjKRSbCnAxShA1wA4n8wbA+n7NTC0edi4eNA==
+"@graphql-tools/merge@8.3.18", "@graphql-tools/merge@^8.2.6":
+ version "8.3.18"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.18.tgz#bfbb517c68598a885809f16ce5c3bb1ebb8f04a2"
+ integrity sha512-R8nBglvRWPAyLpZL/f3lxsY7wjnAeE0l056zHhcO/CgpvK76KYUt9oEkR05i8Hmt8DLRycBN0FiotJ0yDQWTVA==
dependencies:
- "@graphql-tools/schema" "9.0.14"
- "@graphql-tools/utils" "9.1.4"
- p-limit "3.1.0"
- tslib "^2.4.0"
-
-"@graphql-tools/merge@8.3.16", "@graphql-tools/merge@^8.2.6":
- version "8.3.16"
- resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.16.tgz#fede610687b148e34ff861e8b038dcd71e20039b"
- integrity sha512-In0kcOZcPIpYOKaqdrJ3thdLPE7TutFnL9tbrHUy2zCinR2O/blpRC48jPckcs0HHrUQ0pGT4HqvzMkZUeEBAw==
- dependencies:
- "@graphql-tools/utils" "9.1.4"
- tslib "^2.4.0"
-
-"@graphql-tools/merge@8.3.6":
- version "8.3.6"
- resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.6.tgz#97a936d4c8e8f935e58a514bb516c476437b5b2c"
- integrity sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==
- dependencies:
- "@graphql-tools/utils" "8.12.0"
+ "@graphql-tools/utils" "9.2.1"
tslib "^2.4.0"
"@graphql-tools/optimize@^1.3.0":
@@ -1315,12 +1313,12 @@
tslib "^2.4.0"
"@graphql-tools/prisma-loader@^7.2.49":
- version "7.2.55"
- resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.2.55.tgz#facaef00cfe962050258f6d2535e9fa3af7be7b4"
- integrity sha512-cEZ/0SdcJy7hra9JrH29coD3jrNIIcjkzis8RhsZJl/jDH/wpLQDX1mhg4jvm/j9NhVVV+ZPC8wuujuxf2M3Dw==
+ version "7.2.64"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.2.64.tgz#e9fc85054b15a22a16c8e69ad4f9543da30c0164"
+ integrity sha512-W8GfzfBKiBSIEgw+/nJk6zUlF6k/jterlNoFhM27mBsbeMtWxKnm1+gEU6KA0N1PNEdq2RIa2W4AfVfVBl2GgQ==
dependencies:
- "@graphql-tools/url-loader" "7.17.4"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/url-loader" "7.17.13"
+ "@graphql-tools/utils" "9.2.1"
"@types/js-yaml" "^4.0.0"
"@types/json-stable-stringify" "^1.0.32"
"@types/jsonwebtoken" "^9.0.0"
@@ -1340,65 +1338,49 @@
yaml-ast-parser "^0.0.43"
"@graphql-tools/relay-operation-optimizer@^6.5.0":
- version "6.5.15"
- resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.15.tgz#35f9c40ec7b500dacd792592d7007d6ad5c7a10b"
- integrity sha512-ILviTglS0eYc4e3rbQ65KlMZ3MWggxer5hro9iDWoN4+amlG3SNo8ejkgZtmI8uQL6Se0NcFt9eASB2SGd64pw==
+ version "6.5.17"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.17.tgz#4e4e2675d696a2a31f106b09ed436c43f7976f37"
+ integrity sha512-hHPEX6ccRF3+9kfVz0A3In//Dej7QrHOLGZEokBmPDMDqn9CS7qUjpjyGzclbOX0tRBtLfuFUZ68ABSac3P1nA==
dependencies:
"@ardatan/relay-compiler" "12.0.0"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/utils" "9.2.1"
tslib "^2.4.0"
-"@graphql-tools/schema@9.0.14", "@graphql-tools/schema@^9.0.0":
- version "9.0.14"
- resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.14.tgz#9a658ab82d5a7d4db73f68a44900d4c88a98f0bc"
- integrity sha512-U6k+HY3Git+dsOEhq+dtWQwYg2CAgue8qBvnBXoKu5eEeH284wymMUoNm0e4IycOgMCJANVhClGEBIkLRu3FQQ==
+"@graphql-tools/schema@9.0.16", "@graphql-tools/schema@^9.0.0":
+ version "9.0.16"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.16.tgz#7d340d69e6094dc01a2b9e625c7bb4fff89ea521"
+ integrity sha512-kF+tbYPPf/6K2aHG3e1SWIbapDLQaqnIHVRG6ow3onkFoowwtKszvUyOASL6Krcv2x9bIMvd1UkvRf9OaoROQQ==
dependencies:
- "@graphql-tools/merge" "8.3.16"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/merge" "8.3.18"
+ "@graphql-tools/utils" "9.2.1"
tslib "^2.4.0"
value-or-promise "1.0.12"
-"@graphql-tools/schema@9.0.4":
- version "9.0.4"
- resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.4.tgz#1a74608b57abf90fae6fd929d25e5482c57bc05d"
- integrity sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==
+"@graphql-tools/url-loader@7.17.13", "@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.9.7":
+ version "7.17.13"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.17.13.tgz#d4ee8193792ab1c42db2fbdf5f6ca75fa819ac40"
+ integrity sha512-FEmbvw68kxeZLn4VYGAl+NuBPk09ZnxymjW07A6mCtiDayFgYfHdWeRzXn/iM5PzsEuCD73R1sExtNQ/ISiajg==
dependencies:
- "@graphql-tools/merge" "8.3.6"
- "@graphql-tools/utils" "8.12.0"
- tslib "^2.4.0"
- value-or-promise "1.0.11"
-
-"@graphql-tools/url-loader@7.17.4", "@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.9.7":
- version "7.17.4"
- resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.17.4.tgz#4c25fde9223f761ce502c809fa585b152982e2e0"
- integrity sha512-nB2fhkn4LTYjU2qoTOBZYmWQRVYsCI0K2LScwD49QVMNAPWthg/lHao4hFUe70aTInT8oquvl8d0rIb7fRWOvA==
- dependencies:
- "@ardatan/sync-fetch" "0.0.1"
- "@graphql-tools/delegate" "9.0.23"
- "@graphql-tools/executor-graphql-ws" "0.0.7"
- "@graphql-tools/executor-http" "0.1.1"
- "@graphql-tools/executor-legacy-ws" "0.0.6"
- "@graphql-tools/utils" "9.1.4"
- "@graphql-tools/wrap" "9.3.2"
+ "@ardatan/sync-fetch" "^0.0.1"
+ "@graphql-tools/delegate" "^9.0.27"
+ "@graphql-tools/executor-graphql-ws" "^0.0.11"
+ "@graphql-tools/executor-http" "^0.1.7"
+ "@graphql-tools/executor-legacy-ws" "^0.0.9"
+ "@graphql-tools/utils" "^9.2.1"
+ "@graphql-tools/wrap" "^9.3.6"
"@types/ws" "^8.0.0"
- "@whatwg-node/fetch" "^0.6.0"
- isomorphic-ws "5.0.0"
+ "@whatwg-node/fetch" "^0.8.0"
+ isomorphic-ws "^5.0.0"
tslib "^2.4.0"
value-or-promise "^1.0.11"
- ws "8.12.0"
+ ws "^8.12.0"
-"@graphql-tools/utils@8.12.0":
- version "8.12.0"
- resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.12.0.tgz#243bc4f5fc2edbc9e8fd1038189e57d837cbe31f"
- integrity sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==
- dependencies:
- tslib "^2.4.0"
-
-"@graphql-tools/utils@9.1.4", "@graphql-tools/utils@^9.0.0", "@graphql-tools/utils@^9.1.1":
- version "9.1.4"
- resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.1.4.tgz#2c9e0aefc9655dd73247667befe3c850ec014f3f"
- integrity sha512-hgIeLt95h9nQgQuzbbdhuZmh+8WV7RZ/6GbTj6t3IU4Zd2zs9yYJ2jgW/krO587GMOY8zCwrjNOMzD40u3l7Vg==
+"@graphql-tools/utils@9.2.1", "@graphql-tools/utils@^9.0.0", "@graphql-tools/utils@^9.1.1", "@graphql-tools/utils@^9.2.1":
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57"
+ integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==
dependencies:
+ "@graphql-typed-document-node/core" "^3.1.1"
tslib "^2.4.0"
"@graphql-tools/utils@^8.8.0":
@@ -1408,14 +1390,14 @@
dependencies:
tslib "^2.4.0"
-"@graphql-tools/wrap@9.3.2":
- version "9.3.2"
- resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-9.3.2.tgz#3372986214e2e83636e7382500f3c87e79bc26d1"
- integrity sha512-jqBMJZyKFATxWA3alPhGRWh/ZluaPWrXFumXRaqAwK9QdCAxM24jG8Kmy3FrTfeyxNqDyzDlHZobtwwDKurm5g==
+"@graphql-tools/wrap@^9.3.6":
+ version "9.3.6"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-9.3.6.tgz#23beaf9c3713160adda511c6a498d1c7077c2848"
+ integrity sha512-HtQIYoPz48bzpMYZzoeMmzIIYuVxcaUuLD7dH7GtIhwe2f4hpPDE+JLUPxpYiaXdY10l7kP9wycK+FtRfCsFlw==
dependencies:
- "@graphql-tools/delegate" "9.0.23"
- "@graphql-tools/schema" "9.0.14"
- "@graphql-tools/utils" "9.1.4"
+ "@graphql-tools/delegate" "9.0.27"
+ "@graphql-tools/schema" "9.0.16"
+ "@graphql-tools/utils" "9.2.1"
tslib "^2.4.0"
value-or-promise "1.0.12"
@@ -1544,7 +1526,7 @@
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
-"@repeaterjs/repeater@3.0.4":
+"@repeaterjs/repeater@3.0.4", "@repeaterjs/repeater@^3.0.4":
version "3.0.4"
resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca"
integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==
@@ -1555,9 +1537,9 @@
integrity sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==
"@restart/hooks@^0.4.7":
- version "0.4.8"
- resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.8.tgz#67ada92e36527956865ab9b1ddfb87d37aa1db42"
- integrity sha512-Ivvp1FZ0Lja80iUTYAhbzy+stxwO7FbPHP95ypCtIh0wyOLiayQywXhVJ2ZYP5S1AjW2GmKHeRU4UglMwTG2sA==
+ version "0.4.9"
+ resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.9.tgz#ad858fb39d99e252cccce19416adc18fc3f18fcb"
+ integrity sha512-3BekqcwB6Umeya+16XPooARn4qEPW6vNvwYnlofIYe6h9qG1/VeD7UvShCWx11eFz5ELYmwIEshz+MkPX3wjcQ==
dependencies:
dequal "^2.0.2"
@@ -1711,7 +1693,7 @@
dependencies:
"@types/lodash" "*"
-"@types/lodash@*", "@types/lodash@^4.14.175":
+"@types/lodash@*":
version "4.14.191"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa"
integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==
@@ -1738,15 +1720,10 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
-"@types/node@*":
- version "18.11.18"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
- integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
-
-"@types/node@^14.18.36":
- version "14.18.36"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.36.tgz#c414052cb9d43fab67d679d5f3c641be911f5835"
- integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==
+"@types/node@*", "@types/node@^18.13.0":
+ version "18.13.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850"
+ integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==
"@types/normalize-package-data@^2.4.0":
version "2.4.1"
@@ -1763,10 +1740,10 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-"@types/react-dom@^17.0.18":
- version "17.0.18"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.18.tgz#8f7af38f5d9b42f79162eea7492e5a1caff70dc2"
- integrity sha512-rLVtIfbwyur2iFKykP2w0pl/1unw26b5td16d5xMgp7/yjTHomkyxPYChFoCr/FtEX1lN9wY6lFj1qvKdS5kDw==
+"@types/react-dom@^17.0.19":
+ version "17.0.19"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.19.tgz#36feef3aa35d045cacd5ed60fe0eef5272f19492"
+ integrity sha512-PiYG40pnQRdPHnlf7tZnp0aQ6q9tspYr72vD61saO6zFCybLfMqwUCN0va1/P+86DXn18ZWeW30Bk7xlC5eEAQ==
dependencies:
"@types/react" "^17"
@@ -1849,10 +1826,10 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
-"@types/video.js@*", "@types/video.js@^7.3.50":
- version "7.3.50"
- resolved "https://registry.yarnpkg.com/@types/video.js/-/video.js-7.3.50.tgz#5354323fcf0ab99352d79ddce75843faa82297e0"
- integrity sha512-xG0xoeyLGuWhtWMBBLRVhTEOfT2n6AjhNoWhFWVbpa6A8hSMi4eNvttuHYXsn6NslITu7IUdKPDRQ2bAWgXKDA==
+"@types/video.js@*", "@types/video.js@^7.3.51":
+ version "7.3.51"
+ resolved "https://registry.yarnpkg.com/@types/video.js/-/video.js-7.3.51.tgz#ce69e02681ed6ed8abe61bb3802dd032a74d63e8"
+ integrity sha512-xLlt/ZfCuWYBvG2MRn018RvaEplcK6dI63aOiVUeeAWFyjx3Br1hL749ndFgbrvNdY4m9FoHG1FQ/PB6IpfSAQ==
"@types/videojs-mobile-ui@^0.5.0":
version "0.5.0"
@@ -1880,93 +1857,94 @@
dependencies:
"@types/node" "*"
-"@typescript-eslint/eslint-plugin@^5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389"
- integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==
+"@typescript-eslint/eslint-plugin@^5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8"
+ integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==
dependencies:
- "@typescript-eslint/scope-manager" "5.49.0"
- "@typescript-eslint/type-utils" "5.49.0"
- "@typescript-eslint/utils" "5.49.0"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/type-utils" "5.52.0"
+ "@typescript-eslint/utils" "5.52.0"
debug "^4.3.4"
+ grapheme-splitter "^1.0.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
regexpp "^3.2.0"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/parser@^5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90"
- integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==
+"@typescript-eslint/parser@^5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4"
+ integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==
dependencies:
- "@typescript-eslint/scope-manager" "5.49.0"
- "@typescript-eslint/types" "5.49.0"
- "@typescript-eslint/typescript-estree" "5.49.0"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/typescript-estree" "5.52.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e"
- integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==
+"@typescript-eslint/scope-manager@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1"
+ integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==
dependencies:
- "@typescript-eslint/types" "5.49.0"
- "@typescript-eslint/visitor-keys" "5.49.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/visitor-keys" "5.52.0"
-"@typescript-eslint/type-utils@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125"
- integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==
+"@typescript-eslint/type-utils@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa"
+ integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==
dependencies:
- "@typescript-eslint/typescript-estree" "5.49.0"
- "@typescript-eslint/utils" "5.49.0"
+ "@typescript-eslint/typescript-estree" "5.52.0"
+ "@typescript-eslint/utils" "5.52.0"
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3"
- integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==
+"@typescript-eslint/types@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b"
+ integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==
-"@typescript-eslint/typescript-estree@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8"
- integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==
+"@typescript-eslint/typescript-estree@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca"
+ integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==
dependencies:
- "@typescript-eslint/types" "5.49.0"
- "@typescript-eslint/visitor-keys" "5.49.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/visitor-keys" "5.52.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32"
- integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==
+"@typescript-eslint/utils@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72"
+ integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.49.0"
- "@typescript-eslint/types" "5.49.0"
- "@typescript-eslint/typescript-estree" "5.49.0"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/typescript-estree" "5.52.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
-"@typescript-eslint/visitor-keys@5.49.0":
- version "5.49.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe"
- integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==
+"@typescript-eslint/visitor-keys@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f"
+ integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==
dependencies:
- "@typescript-eslint/types" "5.49.0"
+ "@typescript-eslint/types" "5.52.0"
eslint-visitor-keys "^3.3.0"
-"@videojs/http-streaming@2.15.1":
- version "2.15.1"
- resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-2.15.1.tgz#f559f155b2c8400af10d767d4e134971c71b1344"
- integrity sha512-/uuN3bVkEeJAdrhu5Hyb19JoUo3CMys7yf2C1vUjeL1wQaZ4Oe8JrZzRrnWZ0rjvPgKfNLPXQomsRtgrMoRMJQ==
+"@videojs/http-streaming@2.16.0":
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-2.16.0.tgz#47f86e793fc773db26dbd9aeb3e5130b767c78fa"
+ integrity sha512-mGNTqjENzP86XGM6HSWdWVO/KAsDlf5+idW2W7dL1+NkzWpwZlSEYhrdEVVnhoOb0A6E7JW6LM611/JA7Jn/3A==
dependencies:
"@babel/runtime" "^7.12.5"
"@videojs/vhs-utils" "3.0.5"
@@ -1995,31 +1973,63 @@
global "~4.4.0"
is-function "^1.0.1"
-"@vitejs/plugin-react@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz#ad21fb81377970dd4021a31cd95a03eb6f5c4c48"
- integrity sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==
+"@vitejs/plugin-react@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240"
+ integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==
dependencies:
- "@babel/core" "^7.20.7"
+ "@babel/core" "^7.20.12"
"@babel/plugin-transform-react-jsx-self" "^7.18.6"
"@babel/plugin-transform-react-jsx-source" "^7.19.6"
magic-string "^0.27.0"
react-refresh "^0.14.0"
-"@whatwg-node/fetch@0.6.2", "@whatwg-node/fetch@^0.6.0":
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.6.2.tgz#fe4837505f6fc91bcfd6e12cdcec66f4aecfeecc"
- integrity sha512-fCUycF1W+bI6XzwJFnbdDuxIldfKM3w8+AzVCLGlucm0D+AQ8ZMm2j84hdcIhfV6ZdE4Y1HFVrHosAxdDZ+nPw==
+"@whatwg-node/events@^0.0.2":
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.2.tgz#7b7107268d2982fc7b7aff5ee6803c64018f84dd"
+ integrity sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==
+
+"@whatwg-node/fetch@^0.6.0":
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.6.9.tgz#6cc694cc0378e27b8dfed427c5bf633eda6972b9"
+ integrity sha512-JfrBCJdMu9n9OARc0e/hPHcD98/8Nz1CKSdGYDg6VbObDkV/Ys30xe5i/wPOatYbxuvatj1kfWeHf7iNX3i17w==
dependencies:
"@peculiar/webcrypto" "^1.4.0"
- abort-controller "^3.0.0"
+ "@whatwg-node/node-fetch" "^0.0.5"
busboy "^1.6.0"
- form-data-encoder "^1.7.1"
- formdata-node "^4.3.1"
- node-fetch "^2.6.7"
- undici "^5.12.0"
urlpattern-polyfill "^6.0.2"
- web-streams-polyfill "^3.2.0"
+ web-streams-polyfill "^3.2.1"
+
+"@whatwg-node/fetch@^0.8.0", "@whatwg-node/fetch@^0.8.1":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.8.1.tgz#ee3c94746132f217e17f78f9e073bb342043d630"
+ integrity sha512-Fkd1qQHK2tAWxKlC85h9L86Lgbq3BzxMnHSnTsnzNZMMzn6Xi+HlN8/LJ90LxorhSqD54td+Q864LgwUaYDj1Q==
+ dependencies:
+ "@peculiar/webcrypto" "^1.4.0"
+ "@whatwg-node/node-fetch" "^0.3.0"
+ busboy "^1.6.0"
+ urlpattern-polyfill "^6.0.2"
+ web-streams-polyfill "^3.2.1"
+
+"@whatwg-node/node-fetch@^0.0.5":
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.0.5.tgz#bebf18891088e5e2fc449dea8d1bc94af5ec38df"
+ integrity sha512-hbccmaSZaItdsRuBKBEEhLoO+5oXJPxiyd0kG2xXd0Dh3Rt+vZn4pADHxuSiSHLd9CM+S2z4+IxlEGbWUgiz9g==
+ dependencies:
+ "@whatwg-node/events" "^0.0.2"
+ busboy "^1.6.0"
+ tslib "^2.3.1"
+
+"@whatwg-node/node-fetch@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@whatwg-node/node-fetch/-/node-fetch-0.3.0.tgz#7c7e90d03fa09d0ddebff29add6f16d923327d58"
+ integrity sha512-mPM8WnuHiI/3kFxDeE0SQQXAElbz4onqmm64fEGCwYEcBes2UsvIDI8HwQIqaXCH42A9ajJUPv4WsYoN/9oG6w==
+ dependencies:
+ "@whatwg-node/events" "^0.0.2"
+ busboy "^1.6.0"
+ fast-querystring "^1.1.1"
+ fast-url-parser "^1.1.3"
+ tslib "^2.3.1"
"@wry/context@^0.7.0":
version "0.7.0"
@@ -2047,13 +2057,6 @@
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440"
integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==
-abort-controller@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
- integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
- dependencies:
- event-target-shim "^5.0.0"
-
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@@ -2299,10 +2302,10 @@ axe-core@^4.6.2:
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece"
integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==
-axios@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.5.tgz#858c129d286e7ee3b1e970961cde410ba3ea3740"
- integrity sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==
+axios@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.3.tgz#e7011384ba839b885007c9c9fae1ff23dceb295b"
+ integrity sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
@@ -2445,14 +2448,14 @@ braces@^3.0.2, braces@~3.0.2:
fill-range "^7.0.1"
browserslist@^4.21.3:
- version "4.21.4"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
- integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
+ version "4.21.5"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
+ integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
dependencies:
- caniuse-lite "^1.0.30001400"
- electron-to-chromium "^1.4.251"
- node-releases "^2.0.6"
- update-browserslist-db "^1.0.9"
+ caniuse-lite "^1.0.30001449"
+ electron-to-chromium "^1.4.284"
+ node-releases "^2.0.8"
+ update-browserslist-db "^1.0.10"
bser@2.1.1:
version "2.1.1"
@@ -2516,10 +2519,10 @@ camelcase@^5.0.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-caniuse-lite@^1.0.30001400:
- version "1.0.30001449"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz#a8d11f6a814c75c9ce9d851dc53eb1d1dfbcd657"
- integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==
+caniuse-lite@^1.0.30001449:
+ version "1.0.30001453"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001453.tgz#6d3a1501622bf424a3cee5ad9550e640b0de3de8"
+ integrity sha512-R9o/uySW38VViaTrOtwfbFEiBFUh7ST3uIG4OEymIG3/uKdHDO4xk/FaqfUw0d+irSUyFPy3dZszf9VvSTPnsA==
capital-case@^1.0.4:
version "1.0.4"
@@ -2765,12 +2768,12 @@ cookie@^0.4.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
-cosmiconfig-typescript-loader@4.3.0:
+cosmiconfig-typescript-loader@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073"
integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==
-cosmiconfig@8.0.0:
+cosmiconfig@8.0.0, cosmiconfig@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97"
integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==
@@ -2780,7 +2783,7 @@ cosmiconfig@8.0.0:
parse-json "^5.0.0"
path-type "^4.0.0"
-cosmiconfig@^7.0.0, cosmiconfig@^7.1.0:
+cosmiconfig@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
@@ -2817,6 +2820,14 @@ css-functions-list@^3.1.0:
resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.1.0.tgz#cf5b09f835ad91a00e5959bcfc627cd498e1321b"
integrity sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==
+css-tree@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
+ integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+ dependencies:
+ mdn-data "2.0.30"
+ source-map-js "^1.0.1"
+
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -2832,10 +2843,10 @@ damerau-levenshtein@^1.0.8:
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
-dataloader@2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7"
- integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ==
+dataloader@2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0"
+ integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==
debounce@^1.2.0:
version "1.2.1"
@@ -2917,9 +2928,9 @@ defaults@^1.0.3:
clone "^1.0.2"
define-properties@^1.1.3, define-properties@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
- integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
+ integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
dependencies:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
@@ -3006,7 +3017,7 @@ dotenv@^16.0.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
-dset@3.1.2:
+dset@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a"
integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==
@@ -3018,10 +3029,10 @@ ecdsa-sig-formatter@1.0.11:
dependencies:
safe-buffer "^5.0.1"
-electron-to-chromium@^1.4.251:
- version "1.4.284"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
- integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
+electron-to-chromium@^1.4.284:
+ version "1.4.299"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.299.tgz#faa2069cd4879a73e540e533178db5c618768d41"
+ integrity sha512-lQ7ijJghH6pCGbfWXr6EY+KYCMaRSjgsY925r1p/TlpSfVM1VjHTcn1gAc15VM4uwti283X6QtjPTXdpoSGiZQ==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -3119,7 +3130,7 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-esbuild@^0.16.3:
+esbuild@^0.16.14:
version "0.16.17"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259"
integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==
@@ -3262,10 +3273,10 @@ eslint-plugin-react-hooks@^4.6.0:
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-eslint-plugin-react@^7.32.1:
- version "7.32.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.1.tgz#88cdeb4065da8ca0b64e1274404f53a0f9890200"
- integrity sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==
+eslint-plugin-react@^7.32.2:
+ version "7.32.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10"
+ integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==
dependencies:
array-includes "^3.1.6"
array.prototype.flatmap "^1.3.1"
@@ -3316,10 +3327,10 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
-eslint@^8.32.0:
- version "8.32.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861"
- integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==
+eslint@^8.34.0:
+ version "8.34.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6"
+ integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==
dependencies:
"@eslint/eslintrc" "^1.4.1"
"@humanwhocodes/config-array" "^0.11.8"
@@ -3376,9 +3387,9 @@ esprima@^4.0.0:
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
- integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.1.tgz#ddb8e1e2666750113b78c15f59e977564f52b116"
+ integrity sha512-3ZggxvMv5EEY1ssUVyHSVt0oPreyBfbUi1XikJVfjFiBeBDLdrb0IWoDiEwqT/2sUQi0TGaWtFhOGDD8RTpXgQ==
dependencies:
estraverse "^5.1.0"
@@ -3404,11 +3415,6 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-event-target-shim@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
- integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
-
extend@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
@@ -3454,6 +3460,11 @@ extract-react-intl-messages@^4.1.1:
sort-keys "^4.0.0"
write-json-file "^4.3.0"
+fast-decode-uri-component@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543"
+ integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -3480,6 +3491,20 @@ fast-levenshtein@^2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+fast-querystring@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/fast-querystring/-/fast-querystring-1.1.1.tgz#f4c56ef56b1a954880cfd8c01b83f9e1a3d3fda2"
+ integrity sha512-qR2r+e3HvhEFmpdHMv//U8FnFlnYjaC6QKDuaXALDkw2kvHO8WDjxH+f/rHGR4Me4pnk8p9JAkRNTjYHAKRn2Q==
+ dependencies:
+ fast-decode-uri-component "^1.0.1"
+
+fast-url-parser@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d"
+ integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==
+ dependencies:
+ punycode "^1.3.2"
+
fastest-levenshtein@^1.0.16:
version "1.0.16"
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
@@ -3599,11 +3624,6 @@ for-each@^0.3.3:
dependencies:
is-callable "^1.1.3"
-form-data-encoder@^1.7.1:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040"
- integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==
-
form-data@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
@@ -3622,14 +3642,6 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-formdata-node@^4.3.1:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2"
- integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==
- dependencies:
- node-domexception "1.0.0"
- web-streams-polyfill "4.0.0-beta.3"
-
formik@^2.2.9:
version "2.2.9"
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
@@ -3702,7 +3714,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3:
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
@@ -3775,9 +3787,9 @@ globals@^11.1.0:
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.19.0:
- version "13.19.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
- integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
+ version "13.20.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
+ integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
dependencies:
type-fest "^0.20.2"
@@ -3827,10 +3839,10 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
-graphql-config@4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.4.0.tgz#4b2d34d846bd4b9a40afbadfc5a4426668963c43"
- integrity sha512-QUrX7R4htnTBTi83a0IlIilWVfiLEG8ANFlHRcxoZiTvOXTbgan67SUdGe1OlopbDuyNgtcy4ladl3Gvk4C36A==
+graphql-config@^4.4.0:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.4.1.tgz#2b1b5215b38911c0b15ff9b2e878101c984802d6"
+ integrity sha512-B8wlvfBHZ5WnI4IiuQZRqql6s+CKz7S+xpUeTb28Z8nRBi8tH9ChEBgT5FnTyE05PUhHlrS2jK9ICJ4YBl9OtQ==
dependencies:
"@graphql-tools/graphql-file-loader" "^7.3.7"
"@graphql-tools/json-file-loader" "^7.3.7"
@@ -3860,10 +3872,10 @@ graphql-tag@^2.11.0, graphql-tag@^2.12.6:
dependencies:
tslib "^2.1.0"
-graphql-ws@5.11.2, graphql-ws@^5.11.2:
- version "5.11.2"
- resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.11.2.tgz#d5e0acae8b4d4a4cf7be410a24135cfcefd7ddc0"
- integrity sha512-4EiZ3/UXYcjm+xFGP544/yW1+DVI8ZpKASFbzrV5EDTFWJp0ZvLl4Dy2fSZAzz9imKp5pZMIcjB0x/H69Pv/6w==
+graphql-ws@5.11.3, graphql-ws@^5.11.3:
+ version "5.11.3"
+ resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.11.3.tgz#eaf8e6baf669d167975cff13ad86abca4ecfe82f"
+ integrity sha512-fU8zwSgAX2noXAsuFiCZ8BtXeXZOzXyK5u1LloCdacsVth4skdBMPO74EG51lBoWSIZ8beUocdpV8+cQHBODnQ==
"graphql@14 - 16", graphql@^16.6.0:
version "16.6.0"
@@ -3970,36 +3982,9 @@ html-tags@^3.2.0:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961"
integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==
-htmlparser2@^3.10.0:
- version "3.10.1"
- resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz"
- integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
- dependencies:
- domelementtype "^1.3.1"
- domhandler "^2.3.0"
- domutils "^1.5.1"
- entities "^1.1.1"
- inherits "^2.0.1"
- readable-stream "^3.1.1"
-
-http-cache-semantics@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
- integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
-
-http-errors@^1.7.3:
- version "1.8.0"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz"
- integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
http-proxy-agent@^5.0.0:
version "5.0.0"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
dependencies:
"@tootallnate/once" "2"
@@ -4033,7 +4018,7 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.2.0, ignore@^5.2.1:
+ignore@^5.2.0, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
@@ -4044,9 +4029,9 @@ immediate@~3.0.5:
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
immutable@^4.0.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16"
- integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a"
+ integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==
immutable@~3.7.6:
version "3.7.6"
@@ -4131,11 +4116,11 @@ inquirer@^8.0.0:
wrap-ansi "^7.0.0"
internal-slot@^1.0.3, internal-slot@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3"
- integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
+ integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
dependencies:
- get-intrinsic "^1.1.3"
+ get-intrinsic "^1.2.0"
has "^1.0.3"
side-channel "^1.0.4"
@@ -4159,14 +4144,14 @@ intl-messageformat-parser@^5.3.7:
dependencies:
"@formatjs/intl-numberformat" "^5.5.2"
-intl-messageformat@10.2.6:
- version "10.2.6"
- resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.2.6.tgz#a51d924d891356eaab02fe308ec3c70c450f31bb"
- integrity sha512-qaTfGjXhdgDup5h3O8406GlQjEj0ky3q0cWWu/lL+H6vJA+sY2/8e4l4XrRPbi9vp38Pop0gO5dsrMO0DdEEBw==
+intl-messageformat@10.3.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.3.0.tgz#6a3a30882bf94dfa7014cc642c66abdafd942c0e"
+ integrity sha512-FKeBZKH9T2Ue4RUXCuwY/hEaRHU8cgICevlGKog0qSBuz/amtRKNBLetBLmRxiHeEkF7JBBckC+56GIwshlRwA==
dependencies:
"@formatjs/ecma402-abstract" "1.14.3"
"@formatjs/fast-memoize" "1.2.8"
- "@formatjs/icu-messageformat-parser" "2.1.14"
+ "@formatjs/icu-messageformat-parser" "2.2.0"
tslib "^2.4.0"
invariant@^2.2.4:
@@ -4457,7 +4442,7 @@ isomorphic-fetch@^3.0.0:
node-fetch "^2.6.1"
whatwg-fetch "^3.4.1"
-isomorphic-ws@5.0.0:
+isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf"
integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==
@@ -4853,9 +4838,9 @@ mdast-util-find-and-replace@^2.0.0:
unist-util-visit-parents "^5.0.0"
mdast-util-from-markdown@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268"
- integrity sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894"
+ integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==
dependencies:
"@types/mdast" "^3.0.0"
"@types/unist" "^2.0.0"
@@ -4871,9 +4856,9 @@ mdast-util-from-markdown@^1.0.0:
uvu "^0.5.0"
mdast-util-gfm-autolink-literal@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz#4032dcbaddaef7d4f2f3768ed830475bb22d3970"
- integrity sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz#67a13abe813d7eba350453a5333ae1bc0ec05c06"
+ integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==
dependencies:
"@types/mdast" "^3.0.0"
ccount "^2.0.0"
@@ -4881,26 +4866,26 @@ mdast-util-gfm-autolink-literal@^1.0.0:
micromark-util-character "^1.0.0"
mdast-util-gfm-footnote@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz#11d2d40a1a673a399c459e467fa85e00223191fe"
- integrity sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz#ce5e49b639c44de68d5bf5399877a14d5020424e"
+ integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-markdown "^1.3.0"
micromark-util-normalize-identifier "^1.0.0"
mdast-util-gfm-strikethrough@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.2.tgz#6b4fa4ae37d449ccb988192ac0afbb2710ffcefd"
- integrity sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz#5470eb105b483f7746b8805b9b989342085795b7"
+ integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-markdown "^1.3.0"
mdast-util-gfm-table@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz#184e900979fe790745fc3dabf77a4114595fcd7f"
- integrity sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz#3552153a146379f0f9c4c1101b071d70bbed1a46"
+ integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==
dependencies:
"@types/mdast" "^3.0.0"
markdown-table "^3.0.0"
@@ -4908,17 +4893,17 @@ mdast-util-gfm-table@^1.0.0:
mdast-util-to-markdown "^1.3.0"
mdast-util-gfm-task-list-item@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz#6f35f09c6e2bcbe88af62fdea02ac199cc802c5c"
- integrity sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz#b280fcf3b7be6fd0cc012bbe67a59831eb34097b"
+ integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-markdown "^1.3.0"
mdast-util-gfm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz#16fcf70110ae689a06d77e8f4e346223b64a0ea6"
- integrity sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz#e92f4d8717d74bdba6de57ed21cc8b9552e2d0b6"
+ integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==
dependencies:
mdast-util-from-markdown "^1.0.0"
mdast-util-gfm-autolink-literal "^1.0.0"
@@ -4937,16 +4922,15 @@ mdast-util-phrasing@^3.0.0:
unist-util-is "^5.0.0"
mdast-util-to-hast@^12.1.0:
- version "12.2.6"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.6.tgz#fb90830f427de8d2a7518753e560435531b97ee6"
- integrity sha512-Kfo1JNUsi6r6CI7ZOJ6yt/IEKMjMK4nNjQ8C+yc8YBbIlDSp9dmj0zY90ryiu6Vy4CVGv0zi1H4ZoIaYVV8cwA==
+ version "12.3.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49"
+ integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==
dependencies:
"@types/hast" "^2.0.0"
"@types/mdast" "^3.0.0"
mdast-util-definitions "^5.0.0"
micromark-util-sanitize-uri "^1.1.0"
trim-lines "^3.0.0"
- unist-builder "^3.0.0"
unist-util-generated "^2.0.0"
unist-util-position "^4.0.0"
unist-util-visit "^4.0.0"
@@ -4972,6 +4956,11 @@ mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
dependencies:
"@types/mdast" "^3.0.0"
+mdn-data@2.0.30:
+ version "2.0.30"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
+ integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
memoize-one@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
@@ -5017,7 +5006,7 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-meros@1.2.1:
+meros@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/meros/-/meros-1.2.1.tgz#056f7a76e8571d0aaf3c7afcbe7eb6407ff7329e"
integrity sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g==
@@ -5358,9 +5347,9 @@ minimist-options@4.1.0, minimist-options@^4.0.2:
kind-of "^6.0.3"
minimist@^1.2.0, minimist@^1.2.6:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
- integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
mkdirp@^1.0.3:
version "1.0.4"
@@ -5420,11 +5409,6 @@ mux.js@6.0.1:
"@babel/runtime" "^7.11.2"
global "^4.4.0"
-nanoclone@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4"
- integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==
-
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
@@ -5448,11 +5432,6 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
-node-domexception@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
- integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
-
node-fetch@2.6.7:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
@@ -5460,10 +5439,10 @@ node-fetch@2.6.7:
dependencies:
whatwg-url "^5.0.0"
-node-fetch@^2.6.1, node-fetch@^2.6.7:
- version "2.6.8"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e"
- integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==
+node-fetch@^2.6.1:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
+ integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
dependencies:
whatwg-url "^5.0.0"
@@ -5472,10 +5451,10 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
-node-releases@^2.0.6:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae"
- integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==
+node-releases@^2.0.8:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
+ integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
normalize-package-data@^2.5.0:
version "2.5.0"
@@ -5835,7 +5814,7 @@ postcss-value-parser@^4.2.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@^8.4.19, postcss@^8.4.20, postcss@^8.4.21:
+postcss@^8.4.21:
version "8.4.21"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
@@ -5849,10 +5828,10 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-prettier@^2.8.3:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632"
- integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==
+prettier@^2.8.4:
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
+ integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
process@^0.11.10:
version "0.11.10"
@@ -5883,7 +5862,7 @@ prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.2,
object-assign "^4.1.1"
react-is "^16.13.1"
-property-expr@^2.0.4:
+property-expr@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.5.tgz#278bdb15308ae16af3e3b9640024524f4dc02cb4"
integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==
@@ -5898,6 +5877,11 @@ proxy-from-env@^1.1.0:
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+punycode@^1.3.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
punycode@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
@@ -5977,20 +5961,20 @@ react-helmet@^6.1.0:
react-fast-compare "^3.1.1"
react-side-effect "^2.1.0"
-react-intl@^6.2.6:
- version "6.2.6"
- resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.2.6.tgz#d7517e8bf0bdaed164bf58d5e6c14bd4f2d67281"
- integrity sha512-GHvcFBvo7erL94qNpwNPZE2wkoKxAcXwXQCXOR6yP+tuNImd/PKJreBbAAu9K4zCWBi07SQBPnxv9jzLssx9yg==
+react-intl@^6.2.8:
+ version "6.2.8"
+ resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.2.8.tgz#f61fffc14e69490607d3be9253704ac5afc49d56"
+ integrity sha512-Njzmbmk58rBx6i0bGQbBLYj+KbR9IXbFfbK2u0AFayjDx+VJW30MdJV6aNL9EiPaXfcOcAYm31R777e/UHWeEw==
dependencies:
"@formatjs/ecma402-abstract" "1.14.3"
- "@formatjs/icu-messageformat-parser" "2.1.14"
- "@formatjs/intl" "2.6.4"
+ "@formatjs/icu-messageformat-parser" "2.2.0"
+ "@formatjs/intl" "2.6.5"
"@formatjs/intl-displaynames" "6.2.4"
"@formatjs/intl-listformat" "7.1.7"
"@types/hoist-non-react-statics" "^3.3.1"
"@types/react" "16 || 17 || 18"
hoist-non-react-statics "^3.3.2"
- intl-messageformat "10.2.6"
+ intl-messageformat "10.3.0"
tslib "^2.4.0"
react-is@^16.13.1, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0:
@@ -6090,7 +6074,7 @@ react-router@5.3.4:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
-react-select@^5.6.1:
+react-select@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.7.0.tgz#82921b38f1fcf1471a0b62304da01f2896cd8ce6"
integrity sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==
@@ -6334,10 +6318,10 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
-rollup@^3.7.0:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.11.0.tgz#89c487441b18b7c689a0c9aa4221e03b87535461"
- integrity sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==
+rollup@^3.10.0:
+ version "3.15.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.15.0.tgz#6f4105e8c4b8145229657b74ad660b02fbfacc05"
+ integrity sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==
optionalDependencies:
fsevents "~2.3.2"
@@ -6400,10 +6384,10 @@ safe-regex-test@^1.0.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-sass@^1.57.1:
- version "1.57.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5"
- integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==
+sass@^1.58.1:
+ version "1.58.1"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.1.tgz#17ab0390076a50578ed0733f1cc45429e03405f6"
+ integrity sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
@@ -6490,9 +6474,9 @@ shebang-regex@^3.0.0:
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shell-quote@^1.7.3:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.4.tgz#33fe15dee71ab2a81fcbd3a52106c5cfb9fb75d8"
- integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba"
+ integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==
side-channel@^1.0.4:
version "1.0.4"
@@ -6556,7 +6540,7 @@ sort-keys@^4.0.0:
dependencies:
is-plain-obj "^2.0.0"
-"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
@@ -6732,29 +6716,28 @@ style-to-object@^0.4.0:
dependencies:
inline-style-parser "0.1.1"
-stylelint-config-prettier@^9.0.4:
- version "9.0.4"
- resolved "https://registry.yarnpkg.com/stylelint-config-prettier/-/stylelint-config-prettier-9.0.4.tgz#1b1dda614d5b3ef6c1f583fa6fa55f88245eb00b"
- integrity sha512-38nIGTGpFOiK5LjJ8Ma1yUgpKENxoKSOhbDNSemY7Ep0VsJoXIW9Iq/2hSt699oB9tReynfWicTAoIHiq8Rvbg==
-
-stylelint-order@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-6.0.1.tgz#a43349d99b38dd4e00bc9c5045794f2a73754e51"
- integrity sha512-C9gJDZArRBZvn+4MPgggwYTp7dK49WPnYa5+6tBEkZnW/YWj4xBVNJdQjIik14w5orlF9RqFpYDHN0FPWIFOSQ==
+stylelint-order@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-6.0.2.tgz#df54d3ed9aa5a45d4563ada0375e670140a798c2"
+ integrity sha512-yuac0BE6toHd27wUPvYVVQicAJthKFIv1HPQFH3Q0dExiO3Z6Uam7geoO0tUd5Z9ddsATYK++1qWNDX4RxMH5Q==
dependencies:
- postcss "^8.4.20"
+ postcss "^8.4.21"
postcss-sorting "^8.0.1"
-stylelint@^14.16.1:
- version "14.16.1"
- resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.16.1.tgz#b911063530619a1bbe44c2b875fd8181ebdc742d"
- integrity sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==
+stylelint@^15.1.0:
+ version "15.1.0"
+ resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-15.1.0.tgz#24d7cbe06250ceca3b276393bfdeaaaba4356195"
+ integrity sha512-Tw8OyIiYhxnIHUzgoLlCyWgCUKsPYiP3TDgs7M1VbayS+q5qZly2yxABg+YPe/hFRWiu0cOtptCtpyrn1CrnYw==
dependencies:
- "@csstools/selector-specificity" "^2.0.2"
+ "@csstools/css-parser-algorithms" "^2.0.1"
+ "@csstools/css-tokenizer" "^2.0.1"
+ "@csstools/media-query-list-parser" "^2.0.1"
+ "@csstools/selector-specificity" "^2.1.1"
balanced-match "^2.0.0"
colord "^2.9.3"
- cosmiconfig "^7.1.0"
+ cosmiconfig "^8.0.0"
css-functions-list "^3.1.0"
+ css-tree "^2.3.1"
debug "^4.3.4"
fast-glob "^3.2.12"
fastest-levenshtein "^1.0.16"
@@ -6763,7 +6746,7 @@ stylelint@^14.16.1:
globby "^11.1.0"
globjoin "^0.1.4"
html-tags "^3.2.0"
- ignore "^5.2.1"
+ ignore "^5.2.4"
import-lazy "^4.0.0"
imurmurhash "^0.1.4"
is-plain-object "^5.0.0"
@@ -6773,7 +6756,7 @@ stylelint@^14.16.1:
micromatch "^4.0.5"
normalize-path "^3.0.0"
picocolors "^1.0.0"
- postcss "^8.4.19"
+ postcss "^8.4.21"
postcss-media-query-parser "^0.2.3"
postcss-resolve-nested-selector "^0.1.1"
postcss-safe-parser "^6.0.0"
@@ -6787,7 +6770,7 @@ stylelint@^14.16.1:
svg-tags "^1.0.0"
table "^6.8.1"
v8-compile-cache "^2.3.0"
- write-file-atomic "^4.0.2"
+ write-file-atomic "^5.0.0"
stylis@4.1.3:
version "4.1.3"
@@ -6869,6 +6852,11 @@ through@^2.3.6, through@^2.3.8:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+tiny-case@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03"
+ integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==
+
tiny-invariant@^1.0.2:
version "1.3.1"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
@@ -6981,7 +6969,12 @@ tslib@^1.10.0, tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.4.1, tslib@~2.4.0:
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
+
+tslib@~2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
@@ -7030,6 +7023,11 @@ type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+type-fest@^2.19.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
+ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+
typed-array-length@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -7081,13 +7079,6 @@ uncontrollable@^7.2.1:
invariant "^2.2.4"
react-lifecycles-compat "^3.0.4"
-undici@^5.12.0:
- version "5.16.0"
- resolved "https://registry.yarnpkg.com/undici/-/undici-5.16.0.tgz#6b64f9b890de85489ac6332bd45ca67e4f7d9943"
- integrity sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==
- dependencies:
- busboy "^1.6.0"
-
unified@^10.0.0:
version "10.1.2"
resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
@@ -7101,13 +7092,6 @@ unified@^10.0.0:
trough "^2.0.0"
vfile "^5.0.0"
-unist-builder@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.1.tgz#258b89dcadd3c973656b2327b347863556907f58"
- integrity sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==
- dependencies:
- "@types/unist" "^2.0.0"
-
unist-util-generated@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae"
@@ -7169,7 +7153,7 @@ unixify@^1.0.0:
dependencies:
normalize-path "^2.1.1"
-update-browserslist-db@^1.0.9:
+update-browserslist-db@^1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
@@ -7253,28 +7237,23 @@ value-equal@^1.0.1:
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
-value-or-promise@1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140"
- integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==
-
-value-or-promise@1.0.12, value-or-promise@^1.0.11:
+value-or-promise@1.0.12, value-or-promise@^1.0.11, value-or-promise@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c"
integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==
vfile-message@^3.0.0:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.3.tgz#1360c27a99234bebf7bddbbbca67807115e6b0dd"
- integrity sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea"
+ integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
dependencies:
"@types/unist" "^2.0.0"
unist-util-stringify-position "^3.0.0"
vfile@^5.0.0:
- version "5.3.6"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.6.tgz#61b2e70690cc835a5d0d0fd135beae74e5a39546"
- integrity sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==
+ version "5.3.7"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7"
+ integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
dependencies:
"@types/unist" "^2.0.0"
is-buffer "^2.0.0"
@@ -7282,12 +7261,12 @@ vfile@^5.0.0:
vfile-message "^3.0.0"
"video.js@^6 || ^7", video.js@^7.21.1:
- version "7.21.1"
- resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.21.1.tgz#c018e1d0f0643661fcebd5ca355e9723cc82312a"
- integrity sha512-AvHfr14ePDHCfW5Lx35BvXk7oIonxF6VGhSxocmTyqotkQpxwYdmt4tnQSV7MYzNrYHb0GI8tJMt20NDkCQrxg==
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.21.2.tgz#2dbf17b435690be739b15748bd53d3002f548e3a"
+ integrity sha512-Zbo23oT4CbtIxeAtfTvzdl7OlN/P34ir7hDzXFtLZB+BtJsaLy0Rgh/06dBMJSGEjQCDo4MUS6uPonuX0Nl3Kg==
dependencies:
"@babel/runtime" "^7.12.5"
- "@videojs/http-streaming" "2.15.1"
+ "@videojs/http-streaming" "2.16.0"
"@videojs/vhs-utils" "^3.0.4"
"@videojs/xhr" "2.6.0"
aes-decrypter "3.1.3"
@@ -7344,15 +7323,15 @@ vite-tsconfig-paths@^4.0.5:
globrex "^0.1.2"
tsconfck "^2.0.1"
-vite@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.4.tgz#4612ce0b47bbb233a887a54a4ae0c6e240a0da31"
- integrity sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==
+vite@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.1.tgz#3b18b81a4e85ce3df5cbdbf4c687d93ebf402e6b"
+ integrity sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==
dependencies:
- esbuild "^0.16.3"
- postcss "^8.4.20"
+ esbuild "^0.16.14"
+ postcss "^8.4.21"
resolve "^1.22.1"
- rollup "^3.7.0"
+ rollup "^3.10.0"
optionalDependencies:
fsevents "~2.3.2"
@@ -7370,20 +7349,15 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
-web-streams-polyfill@4.0.0-beta.3:
- version "4.0.0-beta.3"
- resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38"
- integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==
-
-web-streams-polyfill@^3.2.0:
+web-streams-polyfill@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
webcrypto-core@^1.7.4:
- version "1.7.5"
- resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.5.tgz#c02104c953ca7107557f9c165d194c6316587ca4"
- integrity sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==
+ version "1.7.6"
+ resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.6.tgz#e32c4a12a13de4251f8f9ef336a6cba7cdec9b55"
+ integrity sha512-TBPiewB4Buw+HI3EQW+Bexm19/W4cP/qZG/02QJCXN+iN+T5sl074vZ3rJcle/ZtDBQSgjkbsQO/1eFcxnSBUA==
dependencies:
"@peculiar/asn1-schema" "^2.1.6"
"@peculiar/json-schema" "^1.1.12"
@@ -7499,10 +7473,10 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5"
-write-file-atomic@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
- integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
+write-file-atomic@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0"
+ integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w==
dependencies:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
@@ -7519,10 +7493,10 @@ write-json-file@^4.3.0:
sort-keys "^4.0.0"
write-file-atomic "^3.0.0"
-ws@8.12.0:
- version "8.12.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8"
- integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==
+ws@8.12.1, ws@^8.12.0:
+ version "8.12.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f"
+ integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==
y18n@^4.0.0:
version "4.0.3"
@@ -7612,18 +7586,15 @@ yocto-queue@^0.1.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-yup@^0.32.11:
- version "0.32.11"
- resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5"
- integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==
+yup@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/yup/-/yup-1.0.0.tgz#de4e32f9d2e45b1ab428076fc916c84db861b8ce"
+ integrity sha512-bRZIyMkoe212ahGJTE32cr2dLkJw53Va+Uw5mzsBKpcef9zCGQ23k/xtpQUfGwdWPKvCIlR8CzFwchs2rm2XpQ==
dependencies:
- "@babel/runtime" "^7.15.4"
- "@types/lodash" "^4.14.175"
- lodash "^4.17.21"
- lodash-es "^4.17.21"
- nanoclone "^0.2.1"
- property-expr "^2.0.4"
+ property-expr "^2.0.5"
+ tiny-case "^1.0.3"
toposort "^2.0.2"
+ type-fest "^2.19.0"
zen-observable-ts@^1.2.5:
version "1.2.5"