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"