diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d733434..74b826f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,7 @@ This project and everyone participating in it are governed by our [Code of Condu ## Working with Styles and Scripts -When contributing changes to CSS or JavaScript files, please follow these guidelines to ensure both original and minified versions are properly maintained. +When contributing changes to CSS or JavaScript files for themes, please follow these guidelines to ensure both original and minified versions are properly maintained. ### Minification Process diff --git a/README.md b/README.md index caecd2d..e45d67b 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,146 @@ - +

- +SwaggerUI.Themes Logo

# SwaggerUI.Themes - - -

+

- Build Passing + Build - Tests Passing + Tests

-

Customize your API documentation in ASP.NET Core applications!

+### Beautiful, modern themes for Swagger/OpenAPI documentation in ASP.NET Core + +Make your API documentation look great with themes that fit your style. + +**[Get Started](https://github.com/teociaps/SwaggerUI.Themes/wiki/Getting-Started)** • **[View Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** • **[Full Documentation](https://github.com/teociaps/SwaggerUI.Themes/wiki)** + +--- + +| Package | Purpose | NuGet | +|---------|---------|-------| +| **AspNetCore.SwaggerUI.Themes** | For [Swashbuckle.AspNetCore][swashbuckle-link] | [![swashbuckle-nuget]][swashbuckle-nuget-link] | +| **NSwag.AspNetCore.Themes** | For [NSwag.AspNetCore][nswag-link] | [![nswag-nuget]][nswag-nuget-link] | + +--- + +
+ +> [!WARNING] +> **Version 3.0.0 Breaking Changes** +> +> Upgrading from v2.0.0? Please review the **[Migration Guide](https://github.com/teociaps/SwaggerUI.Themes/wiki/Migration-v3)** for important API changes. + + +## 🚀 Quick Start + +```bash +# Install package +dotnet add package AspNetCore.SwaggerUI.Themes +# or +dotnet add package NSwag.AspNetCore.Themes +``` + +```csharp +// Apply a theme - that's it! +app.UseSwaggerUI(Theme.Dark); // Swashbuckle +// or +app.UseSwaggerUi(Theme.Dark); // NSwag +``` + +## ✨ Features + +- **[Built-in Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** - Choose from predefined themes ready to use + +- **[Custom Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Custom-Themes)** - Build your own themes with full control, or create standalone themes with zero dependencies + +- **[Advanced Features](https://github.com/teociaps/SwaggerUI.Themes/wiki/Advanced-Options)** - Enhance your documentation with new capabilities + +**Discover more in the [Wiki](https://github.com/teociaps/SwaggerUI.Themes/wiki)!** + +## 💡 Basic Usage Examples + +### Swashbuckle + +```csharp +using AspNetCore.Swagger.Themes; + +... + +// Simple +app.UseSwaggerUI(Theme.Dark); + +// Or with advanced options +app.UseSwaggerUI(Theme.Dark, c => +{ + c.EnableAllAdvancedOptions(); +}); + +... +``` - - - - -
- Explore the Wiki to learn more and get started. -
+### NSwag +```csharp +using AspNetCore.Swagger.Themes; -
+... +// Simple +app.UseSwaggerUi(Theme.Dark); -| Package | Purpose | -| :------ | :------ | -| [![Swashbuckle Nuget Version]](https://www.nuget.org/packages/AspNetCore.SwaggerUI.Themes/) | Customize the style for [Swashbuckle.AspNetCore.SwaggerUI] | -| [![NSwag Nuget Version]](https://www.nuget.org/packages/NSwag.AspNetCore.Themes/) | Customize the style for [NSwag.AspNetCore] | +// Or with advanced options +app.UseSwaggerUi(Theme.Dark, c => +{ + c.EnableAllAdvancedOptions(); +}); +... +``` -## Features +### Custom Theme -- **[Predefined Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)**: choose from a variety of themes to customize the Swagger documentation interface. Options include a default style that preserves the classic Swagger UI look, along with fresh, modern styles. +```csharp +public class MyTheme : Theme +{ + protected MyTheme() : base("my-theme.css") { } + public static MyTheme Custom => new(); +} -- **[Custom Styles](https://github.com/teociaps/SwaggerUI.Themes/wiki/Custom-Styles)**: design your own Swagger UI style by either extending the classic or modern base styles or creating a completely new look. +// Usage +app.UseSwaggerUI(MyTheme.Custom); // Swashbuckle -- **[Advanced Options](https://github.com/teociaps/SwaggerUI.Themes/wiki/Advanced-Options)**: access expanded features with both classic and modern styles for an optimized API documentation experience. +app.UseSwaggerUi(MyTheme.Custom); // NSwag +``` +**Learn more in the [Wiki](https://github.com/teociaps/SwaggerUI.Themes/wiki)!** -## Contributing +## 🤝 Contributing -If you have any suggestions, bug reports, or contributions, feel free to open an [issue](https://github.com/teociaps/SwaggerUI.Themes/issues) or submit a [pull request](https://github.com/teociaps/SwaggerUI.Themes/pulls). +Contributions are welcome! See the [Contributing Guide](CONTRIBUTING.md) for details. +## 📜 License -## Release +MIT Licensed - see [LICENSE](LICENSE) for details. -See the [release notes](https://github.com/teociaps/SwaggerUI.Themes/releases) for details. +--- +
+**Made with ❤️ by [@teociaps](https://github.com/teociaps)** -[Swashbuckle Nuget Version]: https://img.shields.io/nuget/v/AspNetCore.SwaggerUI.Themes?logo=nuget&label=AspNetCore.SwaggerUI.Themes&color=blue -[NSwag Nuget Version]: https://img.shields.io/nuget/v/NSwag.AspNetCore.Themes?logo=nuget&label=NSwag.AspNetCore.Themes&color=blue +
-[Swashbuckle.AspNetCore.SwaggerUI]: https://github.com/domaindrivendev/Swashbuckle.AspNetCore -[NSwag.AspNetCore]: https://github.com/RicoSuter/NSwag?tab=readme-ov-file#aspnet-and-aspnet-core + +[swashbuckle-nuget]: https://img.shields.io/nuget/v/AspNetCore.SwaggerUI.Themes?logo=nuget&label=Version&color=blue +[swashbuckle-nuget-link]: https://www.nuget.org/packages/AspNetCore.SwaggerUI.Themes/ +[nswag-nuget]: https://img.shields.io/nuget/v/NSwag.AspNetCore.Themes?logo=nuget&label=Version&color=blue +[nswag-nuget-link]: https://www.nuget.org/packages/NSwag.AspNetCore.Themes/ +[swashbuckle-link]: https://github.com/domaindrivendev/Swashbuckle.AspNetCore +[nswag-link]: https://github.com/RicoSuter/NSwag \ No newline at end of file diff --git a/build/NuGet.props b/build/NuGet.props index 95f861f..dd5d805 100644 --- a/build/NuGet.props +++ b/build/NuGet.props @@ -20,7 +20,7 @@ - + diff --git a/package-readme.md b/package-readme.md deleted file mode 100644 index ecf20c3..0000000 --- a/package-readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# SwaggerUI.Themes - -Change style to your API documentation in ASP.NET Core applications. - - -## Features -- __New Themes__: Choose from a variety of themes to customize the Swagger documentation interface. Options include a default style that preserves the classic Swagger UI look, along with fresh, modern styles. -- __Advanced Options__: Access expanded features with both classic and modern styles for an optimized API documentation experience. -- __Custom Styles__: Design your own Swagger UI style by either extending the classic or modern base styles or creating a completely new look. -- __Easy Integration__: and add style parameters to the existing Swagger UI setup for a seamless upgrade. - - -[Getting started](https://github.com/teociaps/SwaggerUI.Themes/wiki/Getting-Started)! \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/Program.cs b/samples/Sample.AspNetCore.SwaggerUI.NSwag/Program.cs index e98c54d..ab0e6aa 100644 --- a/samples/Sample.AspNetCore.SwaggerUI.NSwag/Program.cs +++ b/samples/Sample.AspNetCore.SwaggerUI.NSwag/Program.cs @@ -1,5 +1,5 @@ using Sample.AspNetCore.SwaggerUI.NSwag; -using SwaggerThemes; +using System.Reflection; var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); @@ -16,9 +16,10 @@ //app.UseSwaggerUi(inlineStyle, c => c.DocumentTitle = "Sample Title"); //app.UseSwaggerUi(CustomMinifiedStyle.CustomMin, c => - app.UseSwaggerUi(CustomModernStyle.CustomModern, c => - //app.UseSwaggerUi(Assembly.GetExecutingAssembly(), "modern.custom.css", c => - //app.UseSwaggerUi(ModernStyle.Dark, c => + //app.UseSwaggerUi(CustomTheme.Custom, c => + //app.UseSwaggerUi(Assembly.GetExecutingAssembly(), "custom.css", c => + app.UseSwaggerUi(Assembly.GetExecutingAssembly(), "standalone.custom.css", c => // Fully independent - no common.css or ui.js + //app.UseSwaggerUi(Theme.Dark, c => { c.DocumentTitle = "Sample Title"; c.EnableAllAdvancedOptions(); diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/Sample.AspNetCore.SwaggerUI.NSwag.csproj b/samples/Sample.AspNetCore.SwaggerUI.NSwag/Sample.AspNetCore.SwaggerUI.NSwag.csproj index a745d8a..50d5c02 100644 --- a/samples/Sample.AspNetCore.SwaggerUI.NSwag/Sample.AspNetCore.SwaggerUI.NSwag.csproj +++ b/samples/Sample.AspNetCore.SwaggerUI.NSwag/Sample.AspNetCore.SwaggerUI.NSwag.csproj @@ -8,14 +8,6 @@ false - - - - - - - - @@ -29,9 +21,9 @@ - + - + @@ -39,4 +31,4 @@ - + \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomStyle.cs b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomStyle.cs deleted file mode 100644 index 26ec2a1..0000000 --- a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomStyle.cs +++ /dev/null @@ -1,29 +0,0 @@ -using AspNetCore.Swagger.Themes; - -namespace SwaggerThemes; - -public class CustomModernStyle : ModernStyle -{ - protected CustomModernStyle(string fileName) : base(fileName) - { - } - - public static CustomModernStyle CustomModern => new("modern.custom.css"); -} - -public class CustomStyle : Style -{ - protected CustomStyle(string fileName) : base(fileName) - { - } - - public static CustomStyle Custom => new("classic.custom.css"); -} -public class CustomMinifiedStyle : Style -{ - protected CustomMinifiedStyle(string fileName) : base(fileName, true) - { - } - - public static CustomMinifiedStyle CustomMin => new("minifiedCustom.css"); -} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomTheme.cs b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomTheme.cs new file mode 100644 index 0000000..8c992ab --- /dev/null +++ b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/CustomTheme.cs @@ -0,0 +1,21 @@ +using AspNetCore.Swagger.Themes; + +namespace SwaggerThemes; + +public class CustomTheme : Theme +{ + protected CustomTheme(string fileName) : base(fileName) + { + } + + public static CustomTheme Custom => new("custom.css"); +} + +public class CustomMinifiedStyle : Theme +{ + protected CustomMinifiedStyle(string fileName, bool useMinified) : base(fileName, useMinified) + { + } + + public static CustomMinifiedStyle CustomMin => new("minifiedCustom.css", true); +} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/classic.custom.css b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/classic.custom.css deleted file mode 100644 index 76fe963..0000000 --- a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/classic.custom.css +++ /dev/null @@ -1,174 +0,0 @@ -/* - Classic Custom Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --body-background-color: #120e1f; - --swagger-main-color: white; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .1); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #606060; - /* Top-bar */ - --topbar-background-color: #161629; - --topbar-select-border-color: #4990e2; - --topbar-select-label-color: #bfbfbf; - --topbar-download-url-button-background-color: #5b5b5b; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #4990e2; - --swagger-info-link-hover: #1b78e5; - --api-version-background-color: #616161; - --api-version-stamp-background-color: #23891f; - --api-version-color: #cdcdcd; - /* Authorize Section/Modal */ - --scheme-container-background-color: #12173b; - --scheme-container-box-shadow-color: rgba(67, 67, 67, 0.3); - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #ecf0f1; - --btn-authorize-font-color: #ecf0f1; - --btn-authorize-svg-fill-color: #ecf0f1; - /* Operations */ - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-border-bottom-color: rgba(59, 65, 81, .3); - --opblock-border-color: black; - --opblock-shadow-color: rgba(59, 59, 59, .19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(56, 203, 82, .1); - --opblock-post-method-color: #49cc90; - --opblock-post-border-color: #49cc90; - /*PUT*/ - --opblock-put-background-color: rgba(255, 189, 63, .1); - --opblock-put-method-color: #eb9532; - --opblock-put-border-color: #eb9532; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 4, 4, .1); - --opblock-delete-method-color: #c0392b; - --opblock-delete-border-color: #c0392b; - /*GET*/ - --opblock-get-background-color: rgb(33, 161, 255, .1); - --opblock-get-method-color: #61affe; - --opblock-get-border-color: #61affe; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(62, 73, 114, .1); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(37, 64, 211, .1); - --opblock-options-method-color: #263795; - --opblock-options-border-color: #263795; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #999; - --response-control-media-type-color: green; - --opblock-pre-microlight-background-color: #333; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #7d8293; - --download-contents-color: white; - --copy-to-clipboard-background-color: #7d8293; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #999; - --table-thead-border-bottom-color: rgba(59, 65, 81, .2); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #a1a1a1; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #5fa9ff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #aaa; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #41444e; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0c0c0c; - --input-border-color: #6d6d6d; - --input-invalid-background-color: #210101; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #333333; - --input-disabled-color: #757575; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #a5a5a5; - --textarea-curl-background-color: #41444e; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(0, 0, 0, .8); - --dialog-background-color: #161616; - --dialog-border-color: #333436; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #999; - --model-property-primitive-color: #676767; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #8d8a8a; - --model-section-border-color: rgba(96, 96, 96, .3); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #bec6cf; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #6464db; - --model-prop-format-color: #b7b7b7; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; -} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/classic.custom.css b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/custom.css similarity index 99% rename from samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/classic.custom.css rename to samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/custom.css index 76fe963..ead96b4 100644 --- a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/classic.custom.css +++ b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/custom.css @@ -1,5 +1,5 @@ /* - Classic Custom Style + Custom Style https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/modern.custom.css b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/modern.custom.css deleted file mode 100644 index aad962e..0000000 --- a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/modern.custom.css +++ /dev/null @@ -1,188 +0,0 @@ -/* - Modern Custom Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --scrollbar-thumb-color: hsl(0, 0%, 45%); - --scrollbar-thumb-hover-color: hsl(0, 0%, 55%); - --body-background-color: #350c30; - --swagger-main-color: white; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .1); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #606060; - /* Top-bar */ - --topbar-pinned-background-color: rgba(0, 0, 0, .3); - --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); - --topbar-pin-icon-color: white; - --topbar-border-color: gray; - --topbar-background-color: #161629; - --topbar-select-border-color: #4990e2; - --topbar-select-label-color: #bfbfbf; - --topbar-download-url-button-background-color: #5b5b5b; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #4990e2; - --swagger-info-link-hover: #1b78e5; - --api-version-background-color: #616161; - --api-version-stamp-background-color: #23891f; - --api-version-color: #cdcdcd; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: black; - --auth-wrapper-border-color: #383636; - --auth-wrapper-box-shadow-color: #c1c1c1; - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #49cc90; - --btn-authorize-font-color: #49cc90; - --btn-authorize-svg-fill-color: #49cc90; - /* Operations */ - --opblock-tag-section-border-color: #312c2c; - --opblock-border-color: black; - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-border-bottom-color: rgba(109, 113, 121, .3); - --opblock-shadow-color: rgba(59, 59, 59, .19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(56, 203, 82, .1); - --opblock-post-method-color: #49cc90; - --opblock-post-border-color: #49cc90; - /*PUT*/ - --opblock-put-background-color: rgba(255, 189, 63, .1); - --opblock-put-method-color: #eb9532; - --opblock-put-border-color: #eb9532; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 4, 4, .1); - --opblock-delete-method-color: #c0392b; - --opblock-delete-border-color: #c0392b; - /*GET*/ - --opblock-get-background-color: rgb(33, 161, 255, .1); - --opblock-get-method-color: #61affe; - --opblock-get-border-color: #61affe; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(62, 73, 114, .1); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(37, 64, 211, .1); - --opblock-options-method-color: #263795; - --opblock-options-border-color: #263795; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #999; - --response-control-media-type-color: green; - --opblock-pre-microlight-background-color: #333; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #7d8293; - --download-contents-color: white; - --copy-to-clipboard-background-color: #7d8293; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #999; - --table-thead-border-bottom-color: rgba(59, 65, 81, .2); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #a1a1a1; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #5fa9ff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #aaa; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #41444e; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0c0c0c; - --input-border-color: #6d6d6d; - --input-invalid-background-color: #210101; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #333333; - --input-disabled-color: #757575; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #a5a5a5; - --textarea-curl-background-color: #41444e; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(0, 0, 0, .8); - --dialog-background-color: #161616; - --dialog-border-color: #333436; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #999; - --model-property-primitive-color: #676767; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #8d8a8a; - --model-section-border-color: rgba(96, 96, 96, .3); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #bec6cf; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #6464db; - --model-prop-format-color: #b7b7b7; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #00000085; - --scroll-to-top-button-hover-background-color: #0d0d0d85; - --scroll-to-top-button-border-color: #232323; - --scroll-to-top-button-icon-color: #d1cccc; - --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); -} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/standalone.custom.css b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/standalone.custom.css new file mode 100644 index 0000000..36d414e --- /dev/null +++ b/samples/Sample.AspNetCore.SwaggerUI.NSwag/SwaggerThemes/standalone.custom.css @@ -0,0 +1,118 @@ +/* + Standalone Custom Style + + https://github.com/teociaps/SwaggerUI.Themes +*/ + +/* + This is a fully independent theme that doesn't rely on common.css or ui.js + Perfect for completely custom designs +*/ + +:root { + --standalone-primary: #ff6b35; + --standalone-bg: #1a1a2e; + --standalone-surface: #16213e; + --standalone-text: #eaeaea; +} + +body { + background-color: var(--standalone-bg) !important; + color: var(--standalone-text) !important; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; +} + +.swagger-ui { + color: var(--standalone-text) !important; +} + +/* Topbar */ +.swagger-ui .topbar { + background-color: var(--standalone-surface) !important; + border-bottom: 2px solid var(--standalone-primary) !important; +} + +/* Info section */ +.swagger-ui .info .title { + color: var(--standalone-primary) !important; +} + +.swagger-ui .info a { + color: var(--standalone-primary) !important; +} + +/* Operations */ +.swagger-ui .opblock { + background: var(--standalone-surface) !important; + border: 1px solid var(--standalone-primary) !important; + margin: 10px 0 !important; +} + +.swagger-ui .opblock .opblock-summary-method { + background: var(--standalone-primary) !important; + color: #fff !important; +} + +.swagger-ui .opblock.opblock-get { + border-color: #61affe !important; +} + +.swagger-ui .opblock.opblock-get .opblock-summary-method { + background: #61affe !important; +} + +.swagger-ui .opblock.opblock-post { + border-color: #49cc90 !important; +} + +.swagger-ui .opblock.opblock-post .opblock-summary-method { + background: #49cc90 !important; +} + +.swagger-ui .opblock.opblock-put { + border-color: #fca130 !important; +} + +.swagger-ui .opblock.opblock-put .opblock-summary-method { + background: #fca130 !important; +} + +.swagger-ui .opblock.opblock-delete { + border-color: #f93e3e !important; +} + +.swagger-ui .opblock.opblock-delete .opblock-summary-method { + background: #f93e3e !important; +} + +/* Models */ +.swagger-ui section.models { + background: var(--standalone-surface) !important; + border: 1px solid var(--standalone-primary) !important; +} + +.swagger-ui .model-box { + background: var(--standalone-bg) !important; +} + +/* Buttons */ +.swagger-ui .btn { + background: var(--standalone-primary) !important; + color: #fff !important; + border: 1px solid var(--standalone-primary) !important; +} + +.swagger-ui .btn.execute { + background: var(--standalone-primary) !important; +} + +/* Inputs */ +.swagger-ui input[type=text], +.swagger-ui input[type=password], +.swagger-ui input[type=email], +.swagger-ui textarea, +.swagger-ui select { + background: var(--standalone-bg) !important; + color: var(--standalone-text) !important; + border: 1px solid var(--standalone-primary) !important; +} diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Program.cs b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Program.cs index 386d4c8..2370653 100644 --- a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Program.cs +++ b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Program.cs @@ -1,5 +1,5 @@ using Sample.AspNetCore.SwaggerUI.Swashbuckle; -using SwaggerThemes; +using System.Reflection; var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); @@ -17,9 +17,10 @@ //app.UseSwaggerUI(inlineStyle, c => c.DocumentTitle = "Sample Title"); //app.UseSwaggerUI(CustomMinifiedStyle.CustomMin, c => - app.UseSwaggerUI(CustomModernStyle.CustomModern, c => - //app.UseSwaggerUI(Assembly.GetExecutingAssembly(), "modern.custom.css", c => - //app.UseSwaggerUI(ModernStyle.Dark, c => + //app.UseSwaggerUI(CustomTheme.Custom, c => + //app.UseSwaggerUI(Assembly.GetExecutingAssembly(), "custom.css", c => + app.UseSwaggerUI(Assembly.GetExecutingAssembly(), "standalone.custom.css", c => // Fully independent - no common.css or ui.js + //app.UseSwaggerUI(Theme.Dark, c => { c.DocumentTitle = "Sample Title"; c.EnableAllAdvancedOptions(); diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Sample.AspNetCore.SwaggerUI.Swashbuckle.csproj b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Sample.AspNetCore.SwaggerUI.Swashbuckle.csproj index 2f08426..c690065 100644 --- a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Sample.AspNetCore.SwaggerUI.Swashbuckle.csproj +++ b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/Sample.AspNetCore.SwaggerUI.Swashbuckle.csproj @@ -8,10 +8,6 @@ false - - - - @@ -25,9 +21,9 @@ - + - + diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomStyle.cs b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomStyle.cs deleted file mode 100644 index e2f7954..0000000 --- a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomStyle.cs +++ /dev/null @@ -1,30 +0,0 @@ -using AspNetCore.Swagger.Themes; - -namespace SwaggerThemes; - -public class CustomModernStyle : ModernStyle -{ - protected CustomModernStyle(string fileName) : base(fileName) - { - } - - public static CustomModernStyle CustomModern => new("modern.custom.css"); -} - -public class CustomStyle : Style -{ - protected CustomStyle(string fileName) : base(fileName) - { - } - - public static CustomStyle Custom => new("classic.custom.css"); -} - -public class CustomMinifiedStyle : Style -{ - protected CustomMinifiedStyle(string fileName) : base(fileName, true) - { - } - - public static CustomMinifiedStyle CustomMin => new("minifiedCustom.css"); -} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomTheme.cs b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomTheme.cs new file mode 100644 index 0000000..8c992ab --- /dev/null +++ b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/CustomTheme.cs @@ -0,0 +1,21 @@ +using AspNetCore.Swagger.Themes; + +namespace SwaggerThemes; + +public class CustomTheme : Theme +{ + protected CustomTheme(string fileName) : base(fileName) + { + } + + public static CustomTheme Custom => new("custom.css"); +} + +public class CustomMinifiedStyle : Theme +{ + protected CustomMinifiedStyle(string fileName, bool useMinified) : base(fileName, useMinified) + { + } + + public static CustomMinifiedStyle CustomMin => new("minifiedCustom.css", true); +} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/custom.css b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/custom.css new file mode 100644 index 0000000..64bbe07 --- /dev/null +++ b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/custom.css @@ -0,0 +1,8 @@ +/* + Custom Style + + https://github.com/teociaps/SwaggerUI.Themes +*/ +body { + background-color: #4cff00; +} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/modern.custom.css b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/modern.custom.css deleted file mode 100644 index aad962e..0000000 --- a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/modern.custom.css +++ /dev/null @@ -1,188 +0,0 @@ -/* - Modern Custom Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --scrollbar-thumb-color: hsl(0, 0%, 45%); - --scrollbar-thumb-hover-color: hsl(0, 0%, 55%); - --body-background-color: #350c30; - --swagger-main-color: white; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .1); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #606060; - /* Top-bar */ - --topbar-pinned-background-color: rgba(0, 0, 0, .3); - --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); - --topbar-pin-icon-color: white; - --topbar-border-color: gray; - --topbar-background-color: #161629; - --topbar-select-border-color: #4990e2; - --topbar-select-label-color: #bfbfbf; - --topbar-download-url-button-background-color: #5b5b5b; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #4990e2; - --swagger-info-link-hover: #1b78e5; - --api-version-background-color: #616161; - --api-version-stamp-background-color: #23891f; - --api-version-color: #cdcdcd; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: black; - --auth-wrapper-border-color: #383636; - --auth-wrapper-box-shadow-color: #c1c1c1; - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #49cc90; - --btn-authorize-font-color: #49cc90; - --btn-authorize-svg-fill-color: #49cc90; - /* Operations */ - --opblock-tag-section-border-color: #312c2c; - --opblock-border-color: black; - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-border-bottom-color: rgba(109, 113, 121, .3); - --opblock-shadow-color: rgba(59, 59, 59, .19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(56, 203, 82, .1); - --opblock-post-method-color: #49cc90; - --opblock-post-border-color: #49cc90; - /*PUT*/ - --opblock-put-background-color: rgba(255, 189, 63, .1); - --opblock-put-method-color: #eb9532; - --opblock-put-border-color: #eb9532; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 4, 4, .1); - --opblock-delete-method-color: #c0392b; - --opblock-delete-border-color: #c0392b; - /*GET*/ - --opblock-get-background-color: rgb(33, 161, 255, .1); - --opblock-get-method-color: #61affe; - --opblock-get-border-color: #61affe; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(62, 73, 114, .1); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(37, 64, 211, .1); - --opblock-options-method-color: #263795; - --opblock-options-border-color: #263795; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #999; - --response-control-media-type-color: green; - --opblock-pre-microlight-background-color: #333; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #7d8293; - --download-contents-color: white; - --copy-to-clipboard-background-color: #7d8293; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #999; - --table-thead-border-bottom-color: rgba(59, 65, 81, .2); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #a1a1a1; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #5fa9ff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #aaa; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #41444e; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0c0c0c; - --input-border-color: #6d6d6d; - --input-invalid-background-color: #210101; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #333333; - --input-disabled-color: #757575; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #a5a5a5; - --textarea-curl-background-color: #41444e; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(0, 0, 0, .8); - --dialog-background-color: #161616; - --dialog-border-color: #333436; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #999; - --model-property-primitive-color: #676767; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #8d8a8a; - --model-section-border-color: rgba(96, 96, 96, .3); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #bec6cf; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #6464db; - --model-prop-format-color: #b7b7b7; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #00000085; - --scroll-to-top-button-hover-background-color: #0d0d0d85; - --scroll-to-top-button-border-color: #232323; - --scroll-to-top-button-icon-color: #d1cccc; - --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); -} \ No newline at end of file diff --git a/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/standalone.custom.css b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/standalone.custom.css new file mode 100644 index 0000000..36d414e --- /dev/null +++ b/samples/Sample.AspNetCore.SwaggerUI.Swashbuckle/SwaggerThemes/standalone.custom.css @@ -0,0 +1,118 @@ +/* + Standalone Custom Style + + https://github.com/teociaps/SwaggerUI.Themes +*/ + +/* + This is a fully independent theme that doesn't rely on common.css or ui.js + Perfect for completely custom designs +*/ + +:root { + --standalone-primary: #ff6b35; + --standalone-bg: #1a1a2e; + --standalone-surface: #16213e; + --standalone-text: #eaeaea; +} + +body { + background-color: var(--standalone-bg) !important; + color: var(--standalone-text) !important; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important; +} + +.swagger-ui { + color: var(--standalone-text) !important; +} + +/* Topbar */ +.swagger-ui .topbar { + background-color: var(--standalone-surface) !important; + border-bottom: 2px solid var(--standalone-primary) !important; +} + +/* Info section */ +.swagger-ui .info .title { + color: var(--standalone-primary) !important; +} + +.swagger-ui .info a { + color: var(--standalone-primary) !important; +} + +/* Operations */ +.swagger-ui .opblock { + background: var(--standalone-surface) !important; + border: 1px solid var(--standalone-primary) !important; + margin: 10px 0 !important; +} + +.swagger-ui .opblock .opblock-summary-method { + background: var(--standalone-primary) !important; + color: #fff !important; +} + +.swagger-ui .opblock.opblock-get { + border-color: #61affe !important; +} + +.swagger-ui .opblock.opblock-get .opblock-summary-method { + background: #61affe !important; +} + +.swagger-ui .opblock.opblock-post { + border-color: #49cc90 !important; +} + +.swagger-ui .opblock.opblock-post .opblock-summary-method { + background: #49cc90 !important; +} + +.swagger-ui .opblock.opblock-put { + border-color: #fca130 !important; +} + +.swagger-ui .opblock.opblock-put .opblock-summary-method { + background: #fca130 !important; +} + +.swagger-ui .opblock.opblock-delete { + border-color: #f93e3e !important; +} + +.swagger-ui .opblock.opblock-delete .opblock-summary-method { + background: #f93e3e !important; +} + +/* Models */ +.swagger-ui section.models { + background: var(--standalone-surface) !important; + border: 1px solid var(--standalone-primary) !important; +} + +.swagger-ui .model-box { + background: var(--standalone-bg) !important; +} + +/* Buttons */ +.swagger-ui .btn { + background: var(--standalone-primary) !important; + color: #fff !important; + border: 1px solid var(--standalone-primary) !important; +} + +.swagger-ui .btn.execute { + background: var(--standalone-primary) !important; +} + +/* Inputs */ +.swagger-ui input[type=text], +.swagger-ui input[type=password], +.swagger-ui input[type=email], +.swagger-ui textarea, +.swagger-ui select { + background: var(--standalone-bg) !important; + color: var(--standalone-text) !important; + border: 1px solid var(--standalone-primary) !important; +} diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore.Swagger.Themes.Common.csproj b/src/AspNetCore.Swagger.Themes.Common/AspNetCore.Swagger.Themes.Common.csproj index d07aac0..8396d9f 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore.Swagger.Themes.Common.csproj +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore.Swagger.Themes.Common.csproj @@ -3,20 +3,14 @@ - + + - - - - - - - diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseStyle.cs b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseTheme.cs similarity index 72% rename from src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseStyle.cs rename to src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseTheme.cs index ac523be..e86280d 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseStyle.cs +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/BaseTheme.cs @@ -1,21 +1,21 @@ namespace AspNetCore.Swagger.Themes; /// -/// Represents the base class used to create a style for Swagger UI. +/// Represents the base class used to create a theme for Swagger UI. /// -public abstract class BaseStyle +public abstract class BaseTheme { /// /// Initializes a new instance with the specified CSS file name and an option to use the minified version. /// /// /// If is and the provided file name ends with ".css", the constructor will use - /// the corresponding ".min.css" file. If useMinified is false, the non-minified ".css" file is used regardless of + /// the corresponding ".min.css" file. If useMinified is , the non-minified ".css" file is used regardless of /// the input extension. /// /// The name of the CSS file to use. Must include the ".css" or ".min.css" extension. /// to use the minified ".min.css" version of the file; otherwise, . - protected BaseStyle(string fileName, bool useMinified = true) + protected BaseTheme(string fileName, bool useMinified = false) { CheckFileNameExtension(fileName); @@ -28,26 +28,26 @@ protected BaseStyle(string fileName, bool useMinified = true) : baseFileName; } - internal virtual BaseStyle Common { get; } + internal virtual BaseTheme Common { get; } internal virtual bool LoadAdditionalJs => false; /// - /// Gets the file name associated with the selected style. + /// Gets the file name associated with the selected theme. /// public string FileName { get; } /// - /// Returns the file name as a string representation of the style. + /// Returns the file name as a string representation of the theme. /// - /// The file name associated with the style. - public override string ToString() => $"{GetStyleName()} Style"; + /// The file name associated with the theme. + public override string ToString() => $"{GetThemeName()} Theme"; /// - /// Gets the name of the style without the file extension. + /// Gets the name of the theme without the file extension. /// - /// The style name. - protected virtual string GetStyleName() + /// The theme name. + protected virtual string GetThemeName() { var nameWithoutExtension = FileName .Replace(".min.css", "", StringComparison.OrdinalIgnoreCase) @@ -61,7 +61,7 @@ private static void CheckFileNameExtension(string fileName) if (!fileName.EndsWith(".css", StringComparison.OrdinalIgnoreCase) && !fileName.EndsWith(".min.css", StringComparison.OrdinalIgnoreCase)) { - throw new ArgumentException("The file name extension doesn't match the CSS style format!", nameof(fileName)); + throw new ArgumentException("The file name extension doesn't match the CSS theme format!", nameof(fileName)); } } } \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/FileProvider.cs b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/FileProvider.cs index c99c35b..06c4ef1 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/FileProvider.cs +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/FileProvider.cs @@ -14,12 +14,12 @@ internal static class FileProvider internal const string StylesPath = "/styles/"; internal const string ScriptsPath = "/scripts/"; - internal const string JsFilename = "modern.min.js"; + internal const string JsFilename = "ui.min.js"; - internal static string GetResourceText(string fileName, Type styleType = null) + internal static string GetResourceText(string fileName, Type themeType = null) { - var assembly = styleType?.Assembly ?? Assembly.GetExecutingAssembly(); - var resourceNamespace = DetermineResourceNamespace(fileName, styleType); + var assembly = themeType?.Assembly ?? Assembly.GetExecutingAssembly(); + var resourceNamespace = DetermineResourceNamespace(fileName, themeType); var resourceName = $"{resourceNamespace}.{fileName}"; using var stream = assembly.GetManifestResourceStream(resourceName) @@ -29,7 +29,7 @@ internal static string GetResourceText(string fileName, Type styleType = null) return reader.ReadToEnd(); } - internal static string GetResourceText(string fileName, Assembly assembly, out string commonStyle, out bool loadModernJs) + internal static string GetResourceText(string fileName, Assembly assembly, out string commonStyle, out bool loadJs) { if (!IsCssFile(fileName)) throw new InvalidOperationException($"{fileName} is not a valid name for CSS files. It must end with '.css' or '.min.css'."); @@ -43,9 +43,8 @@ internal static string GetResourceText(string fileName, Assembly assembly, out s var resourceName = resourceNamespaces[0]; - // Retrieve the common style based on the css filename (classic or modern) and check if JS needs to be loaded for modern styles - // This is a shortcut to inherit common style without making a new style class - commonStyle = RetrieveCommonStyleFromCustom(resourceName, out loadModernJs); + // Retrieve the common theme and determine if JS needs to be loaded + commonStyle = RetrieveCommonStyleFromCustom(resourceName, out loadJs); using var stream = assembly.GetManifestResourceStream(resourceName) ?? throw new FileNotFoundException($"Can't find {fileName} resource in assembly {assembly.GetName().Name}."); @@ -98,35 +97,32 @@ private static bool IsCssFile(string fileName) => fileName.EndsWith(".css", StringComparison.OrdinalIgnoreCase) || fileName.EndsWith(".min.css", StringComparison.OrdinalIgnoreCase); - private static string DetermineResourceNamespace(string fileName, Type styleType) + private static string DetermineResourceNamespace(string fileName, Type themeType) { - if (IsCssFile(fileName) && styleType is not null && styleType.BaseType != typeof(BaseStyle)) - return styleType.Namespace; + if (IsCssFile(fileName) && themeType is not null && themeType.BaseType != typeof(BaseTheme)) + return themeType.Namespace; return IsCssFile(fileName) ? _StylesNamespace : _ScriptsNamespace; } - private static string RetrieveCommonStyleFromCustom(string resourceName, out bool loadModernJs) + private static string RetrieveCommonStyleFromCustom(string resourceName, out bool loadJs) { - string commonStyle = string.Empty; - loadModernJs = false; + loadJs = false; - int index = resourceName.IndexOf(_CustomStylesNamespace); - if (index == -1) - return commonStyle; - - string styleSuffix = resourceName[(index + _CustomStylesNamespace.Length)..]; + if (!resourceName.Contains(_CustomStylesNamespace)) + return string.Empty; - bool isClassicStyle = styleSuffix.StartsWith("classic.", StringComparison.OrdinalIgnoreCase); - bool isModernStyle = loadModernJs = styleSuffix.StartsWith("modern.", StringComparison.OrdinalIgnoreCase); - - if (isClassicStyle) - return GetResourceText("common.min.css"); + // Extract filename from resource name + int index = resourceName.IndexOf(_CustomStylesNamespace); + string fileName = resourceName[(index + _CustomStylesNamespace.Length)..]; - if (isModernStyle) - return GetResourceText("modern.common.min.css"); + // If filename contains "standalone", don't load anything (fully independent) + if (fileName.Contains("standalone", StringComparison.OrdinalIgnoreCase)) + return string.Empty; - return commonStyle; + // Otherwise, load both common theme and JS + loadJs = true; + return GetResourceText("common.min.css"); } #endregion Private diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/ModernStyle.cs b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/ModernStyle.cs deleted file mode 100644 index 939fa55..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/ModernStyle.cs +++ /dev/null @@ -1,56 +0,0 @@ -namespace AspNetCore.Swagger.Themes; - -/// -/// Represents a modern style for Swagger UI. -/// -public class ModernStyle : BaseStyle -{ - /// - protected ModernStyle(string fileName, bool useMinified = false) : base(fileName, useMinified) - { - } - - internal override ModernStyle Common => new("modern.common.css", true); - - internal override bool LoadAdditionalJs => true; - - /// - /// Apply a modern light style to your Swagger UI. - /// - public static ModernStyle Light => new("modern.light.css", true); - - /// - /// Apply a modern sleek dark style to your Swagger UI. - /// - public static ModernStyle Dark => new("modern.dark.css", true); - - /// - /// Apply a modern forest tones style to your Swagger UI. - /// - public static ModernStyle Forest => new("modern.forest.css", true); - - /// - /// Apply a modern deep sea tones style to your Swagger UI. - /// - public static ModernStyle DeepSea => new("modern.deepsea.css", true); - - /// - /// Apply a modern futuristic style to your Swagger UI. - /// - public static ModernStyle Futuristic => new("modern.futuristic.css", true); - - /// - /// Apply a modern desert tones style to your Swagger UI. - /// - public static ModernStyle Desert => new("modern.desert.css", true); - - /// - protected override string GetStyleName() - { - var nameWithoutExtension = FileName - .Replace(".min.css", "", StringComparison.OrdinalIgnoreCase) - .Replace(".css", "", StringComparison.OrdinalIgnoreCase); - - return char.ToUpper(nameWithoutExtension[0]) + nameWithoutExtension[1..].Replace('.', ' '); - } -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.js b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.js similarity index 98% rename from src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.js rename to src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.js index 0c9ffb3..583b763 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.js +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.js @@ -1,5 +1,5 @@ /* - Modern UI + Swagger UI https://github.com/teociaps/SwaggerUI.Themes */ @@ -11,7 +11,7 @@ window.onpageshow = function () { if (document.getElementById("swagger-ui") != null) { clearInterval(swaggerUILoaded); - console.log('Hello modern Swagger UI!'); + console.log('Hello Swagger UI!'); setUpPinnableTopbar({$PINNABLE_TOPBAR}); diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.min.js b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.min.js similarity index 74% rename from src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.min.js rename to src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.min.js index 8434f93..7e8d8ad 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/modern.min.js +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Scripts/ui.min.js @@ -1,5 +1,5 @@ -/*Modern UI*/const rootElement=document.documentElement;function setUpPinnableTopbar(e){if(!1===e)return;let t=document.querySelector(".topbar-wrapper"),n=document.createElement("button");n.setAttribute("id","pin-topbar-btn"),n.addEventListener("click",()=>pinOrUnpinTopbar(n)),t.appendChild(n),pinOrUnpinTopbar(n)}function pinOrUnpinTopbar(e){e.parentNode.parentNode.parentNode.classList.contains("pinned")?(e.parentNode.parentNode.parentNode.classList.remove("pinned"),setUnpinnedIconTo(e),e.setAttribute("title","Pin topbar")):(e.parentNode.parentNode.parentNode.classList.add("pinned"),setPinnedIconTo(e),e.setAttribute("title","Unpin topbar")),e?.blur()}function setPinnedIconTo(e){e.innerHTML=` +/*Swagger UI*/const rootElement=document.documentElement;function setUpPinnableTopbar(e){if(!1===e)return;let t=document.querySelector(".topbar-wrapper"),n=document.createElement("button");n.setAttribute("id","pin-topbar-btn"),n.addEventListener("click",()=>pinOrUnpinTopbar(n)),t.appendChild(n),pinOrUnpinTopbar(n)}function pinOrUnpinTopbar(e){e.parentNode.parentNode.parentNode.classList.contains("pinned")?(e.parentNode.parentNode.parentNode.classList.remove("pinned"),setUnpinnedIconTo(e),e.setAttribute("title","Pin topbar")):(e.parentNode.parentNode.parentNode.classList.add("pinned"),setPinnedIconTo(e),e.setAttribute("title","Unpin topbar")),e?.blur()}function setPinnedIconTo(e){e.innerHTML=` `}function setUnpinnedIconTo(e){e.innerHTML=` - `}function setUpScrollToTopButton(e){if(!1===e)return;let t=document.createElement("div");t.classList.add("scroll-to-top-wrapper");let n=document.createElement("button");n.setAttribute("id","scroll-to-top-btn"),n.setAttribute("title","Back to top"),n.addEventListener("click",()=>{scrollToTop(),n?.blur()}),t.appendChild(n);let $=document.getElementById("swagger-ui");$.appendChild(t);let o=()=>{window.scrollY>=200?n.classList.add("showBtn"):n.classList.remove("showBtn")};window.addEventListener("scroll",o),window.addEventListener("resize",o)}function scrollToTop(){rootElement.scrollTo({top:0,behavior:"smooth"})}function setUpExpandAndCollapseOperationsButtons(e){if(!1===e)return;let t=document.querySelectorAll(".opblock-tag-section");t.forEach(e=>{let t=e.querySelector("h3"),n=t.querySelector("button.expand-operation");if(n){let $=document.createElement("button");$.setAttribute("title","Expand/Collapse all the operations"),$.classList.add("expand-collapse-all-btn"),$.innerHTML="Expand/Collapse All",t.insertBefore($,n),$.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();let n=e.querySelectorAll(".opblock .opblock-control-arrow"),$=Array.from(n).every(e=>"true"===e.getAttribute("aria-expanded"));$?n.forEach(e=>{"true"===e.getAttribute("aria-expanded")&&e.click()}):n.forEach(e=>{"false"===e.getAttribute("aria-expanded")&&e.click()})})}})}window.onpageshow=function(){let e=setInterval(function(){null!=document.getElementById("swagger-ui")&&(clearInterval(e),console.log("Hello modern Swagger UI!"),setUpPinnableTopbar({$PINNABLE_TOPBAR}),setUpScrollToTopButton({$BACK_TO_TOP}),setUpExpandAndCollapseOperationsButtons({$EXPAND_COLLAPSE_ALL_OPERATIONS}))},100)}; \ No newline at end of file + `}function setUpScrollToTopButton(e){if(!1===e)return;let t=document.createElement("div");t.classList.add("scroll-to-top-wrapper");let n=document.createElement("button");n.setAttribute("id","scroll-to-top-btn"),n.setAttribute("title","Back to top"),n.addEventListener("click",()=>{scrollToTop(),n?.blur()}),t.appendChild(n);let $=document.getElementById("swagger-ui");$.appendChild(t);let o=()=>{window.scrollY>=200?n.classList.add("showBtn"):n.classList.remove("showBtn")};window.addEventListener("scroll",o),window.addEventListener("resize",o)}function scrollToTop(){rootElement.scrollTo({top:0,behavior:"smooth"})}function setUpExpandAndCollapseOperationsButtons(e){if(!1===e)return;let t=document.querySelectorAll(".opblock-tag-section");t.forEach(e=>{let t=e.querySelector("h3"),n=t.querySelector("button.expand-operation");if(n){let $=document.createElement("button");$.setAttribute("title","Expand/Collapse all the operations"),$.classList.add("expand-collapse-all-btn"),$.innerHTML="Expand/Collapse All",t.insertBefore($,n),$.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();let n=e.querySelectorAll(".opblock .opblock-control-arrow"),$=Array.from(n).every(e=>"true"===e.getAttribute("aria-expanded"));$?n.forEach(e=>{"true"===e.getAttribute("aria-expanded")&&e.click()}):n.forEach(e=>{"false"===e.getAttribute("aria-expanded")&&e.click()})})}})}window.onpageshow=function(){let e=setInterval(function(){null!=document.getElementById("swagger-ui")&&(clearInterval(e),console.log("Hello Swagger UI!"),setUpPinnableTopbar({$PINNABLE_TOPBAR}),setUpScrollToTopButton({$BACK_TO_TOP}),setUpExpandAndCollapseOperationsButtons({$EXPAND_COLLAPSE_ALL_OPERATIONS}))},100)}; \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Style.cs b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Style.cs deleted file mode 100644 index 6baaf4a..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Style.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace AspNetCore.Swagger.Themes; - -/// -/// Represents a style for Swagger UI. -/// -public class Style : BaseStyle -{ - /// - protected Style(string fileName, bool useMinified = false) : base(fileName, useMinified) - { - } - - internal override Style Common => new("common.css", true); - - /// - /// Apply a light style to your Swagger UI. - /// - public static Style Light => new("light.css", true); - - /// - /// Apply a dark style to your Swagger UI. - /// - public static Style Dark => new("dark.css", true); - - /// - /// Apply a forest tones style to your Swagger UI. - /// - public static Style Forest => new("forest.css", true); - - /// - /// Apply a deep sea tones style to your Swagger UI. - /// - public static Style DeepSea => new("deepsea.css", true); - - /// - /// Apply a desert tones style to your Swagger UI. - /// - public static Style Desert => new("desert.css", true); -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.css index 5b8d97c..9a6edd5 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.css @@ -1,20 +1,67 @@ /* - Common Style + Common Theme https://github.com/teociaps/SwaggerUI.Themes */ +@charset "UTF-8"; + +*::-webkit-scrollbar { + width: 16px; +} + +*::-webkit-scrollbar-thumb { + height: 56px; + border-radius: 8px; + border: 4px solid transparent; + background-clip: content-box; + background-color: var(--scrollbar-thumb-color, hsl(0, 0%, 65%)); + transition: background-color 0.3s; +} + + *::-webkit-scrollbar-thumb:hover { + background-color: var(--scrollbar-thumb-hover-color, hsl(0, 0%, 45%)); + } + +body::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb-color, hsl(0, 0%, 65%)); +} + +* { + font-family: system-ui, sans-serif; +} + + *:focus { + font-family: system-ui, sans-serif; + outline: none !important; + } + + *:focus-visible { + outline: auto !important; + outline-offset: 1px; + } + body { background-color: var(--body-background-color, #fafafa); padding-bottom: 1rem; } +*, +::after, +::before { + box-sizing: border-box; +} + .swagger-ui { color: var(--swagger-main-color, #3b4151); + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.15; + margin: 0; } -/* Loading */ -.swagger-ui .loading-container .loading:after { + /* Loading */ + .swagger-ui .loading-container .loading:after { color: var(--swagger-main-color, #3b4151); } @@ -40,100 +87,299 @@ body { /* Top-bar */ .swagger-ui .topbar { - background-color: var(--topbar-background-color, #1b1b1b); + background-color: transparent; + z-index: 1000; + padding: 0; } - .swagger-ui .topbar .download-url-wrapper input[type=text], - .swagger-ui .topbar .download-url-wrapper .select-label select { - border: 2px solid var(--topbar-select-border-color, #62a03f); + + .swagger-ui .topbar.pinned { + position: sticky; + top: 10px; } - .swagger-ui .topbar .download-url-wrapper .select-label { - color: var(--topbar-select-label-color, #f0f0f0); + .swagger-ui .topbar.pinned::before { + content: ''; + position: absolute; + inset: -10px 0 0; + pointer-events: none; + user-select: none; + backdrop-filter: blur(20px); + -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent); + mask-image: linear-gradient(to bottom, black 40%, transparent); + background: linear-gradient(90deg, rgba(0, 0, 0, 0) 5%, rgba(8, 8, 8, 0.4) 50%, rgba(0, 0, 0, 0) 95%); + } + + .swagger-ui .topbar .topbar-wrapper { + background-color: var(--topbar-background-color, black); + border: 1px solid var(--topbar-border-color, gray); + border-top: 0; + border-radius: 0 0 .5rem .5rem; + padding: .5rem; + box-shadow: 0 5px 15px 0 var(--topbar-pinned-shadow-color, rgba(0, 0, 0, .5)); } - .swagger-ui .topbar .download-url-wrapper .download-url-button { - background: var(--topbar-download-url-button-background-color, #62a03f); - color: var(--topbar-download-url-button-color, #fff); + .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn svg { + fill: var(--topbar-pin-icon-color, white); + } + + .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn { + cursor: pointer; + background: transparent; + border: none; + margin: .8rem; + padding: .2rem; + transition: all .2s; + rotate: z 359deg; + } + + .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:hover, + .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:focus-within { + scale: 1.05; + animation: pintobbar 1.2s infinite; + } + + .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:active { + scale: 0.95; + } + + .swagger-ui .topbar.pinned .topbar-wrapper { + background-color: var(--topbar-pinned-background-color, rgba(0, 0, 0, .7)); + border: 1px solid var(--topbar-border-color, gray); + border-radius: .5rem; + backdrop-filter: blur(20px); } - /* Info-box (title, description, contact info...) */ - .swagger-ui .info li, - .swagger-ui .info p, - .swagger-ui .info table, - .swagger-ui .info h1, - .swagger-ui .info h2, - .swagger-ui .info h3, - .swagger-ui .info h4, - .swagger-ui .info h5, - .swagger-ui .info .base-url, - .swagger-ui .info .title { - color: var(--swagger-main-color, #3b4151); + .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn { + translate: 0 5px; + rotate: z 0deg; + } + + .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:hover, + .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:focus-within { + animation: unpintobbar 1.2s infinite; + } + +@keyframes pintobbar { + 30% { + rotate: z 313deg; + translate: 0px 1px; } - .swagger-ui .info a { - color: var(--swagger-info-link, #4990e2); + 40% { + translate: 0 5px; } - .swagger-ui .info a:hover { - color: var(--swagger-info-link-hover, #1f69c0); - } + 50% { + rotate: z 313deg; + } +} - .swagger-ui .info .title small { - background: var(--api-version-background-color, #7d8492); +@-moz-keyframes pintobbar { + 30% { + rotate: z 313deg; + translate: 0px 1px; } - .swagger-ui .info .title small.version-stamp { - background-color: var(--api-version-stamp-background-color, #89bf04); - } + 40% { + translate: 0 5px; + } - .swagger-ui .info .title small pre { - color: var(--api-version-color, #fff); - } + 50% { + rotate: z 313deg; + } +} - /* Authorize Section */ - .swagger-ui .scheme-container { - background: var(--scheme-container-background-color, #fff); - box-shadow: 0 1px 2px 0 var(--scheme-container-box-shadow-color, rgba(0,0,0,.15)); +@-webkit-keyframes pintobbar { + 30% { + rotate: z 313deg; + translate: 0px 1px; } - .swagger-ui .scheme-container .schemes > label { - color: var(--swagger-main-color, #3b4151); - } - /* Authorize Modal */ - .swagger-ui .auth-container { - border-bottom: 1px solid var(--auth-container-border-bottom-color, #ebebeb); - color: var(--swagger-main-color, #3b4151); + 40% { + translate: 0 5px; } - .swagger-ui .auth-container .errors { - background-color: var(--auth-container-background-color, #fee); - color: var(--auth-container-errors-color, red); - } + 50% { + rotate: z 313deg; + } +} - .swagger-ui .btn.authorize { - background-color: var(--btn-authorize-background-color, transparent); - border-color: var(--btn-authorize-border-color, #49cc90); - color: var(--btn-authorize-font-color, #49cc90); +@keyframes unpintobbar { + 10% { + translate: 0 1px; } - .swagger-ui .btn.authorize svg { - fill: var(--btn-authorize-svg-fill-color, #49cc90); - } + 70% { + rotate: z 50deg; + translate: -3px 1px; + } +} + +@-moz-keyframes unpintobbar { + 10% { + translate: 0 -4px; + } + + 70% { + rotate: z 50deg; + translate: -3px 1px; + } +} + +@-webkit-keyframes unpintobbar { + 10% { + translate: 0 -4px; + } - /* List of Operations */ - .swagger-ui .opblock-tag, - .swagger-ui .opblock-tag small, - .swagger-ui .parameter__type { + 70% { + rotate: z 50deg; + translate: -3px 1px; + } +} + +.swagger-ui .topbar .download-url-wrapper input[type=text], +.swagger-ui .topbar .download-url-wrapper .select-label select { + border: 2px solid var(--topbar-select-border-color, #62a03f); +} + +.swagger-ui .topbar .download-url-wrapper .select-label { + color: var(--topbar-select-label-color, #f0f0f0); +} + +.swagger-ui .topbar .download-url-wrapper .download-url-button { + background: var(--topbar-download-url-button-background-color, #62a03f); + color: var(--topbar-download-url-button-color, #fff); +} + +/* Info-box (title, description, contact info...) */ +.swagger-ui .info li, +.swagger-ui .info p, +.swagger-ui .info table, +.swagger-ui .info h1, +.swagger-ui .info h2, +.swagger-ui .info h3, +.swagger-ui .info h4, +.swagger-ui .info h5, +.swagger-ui .info .base-url, +.swagger-ui .info .title { + color: var(--swagger-main-color, #3b4151); +} + +.swagger-ui .info a { + color: var(--swagger-info-link, #4990e2); +} + + .swagger-ui .info a:hover { + color: var(--swagger-info-link-hover, #1f69c0); + } + +.swagger-ui .info .title small { + background: var(--api-version-background-color, #7d8492); +} + + .swagger-ui .info .title small.version-stamp { + background-color: var(--api-version-stamp-background-color, #89bf04); + } + + .swagger-ui .info .title small pre { + color: var(--api-version-color, #fff); /*version text*/ + } + +/* Authorize Section */ +.swagger-ui .scheme-container { + background: transparent; + box-shadow: none; + margin: 0; + padding: 0; +} + +.swagger-ui .auth-wrapper { + display: flex; + flex: 1; + justify-content: flex-end; + border: 1px solid var(--auth-wrapper-border-color, #d5d5d5); + padding: 0; + border-radius: 5px; + box-shadow: 0px 3px 5px -5px var(--auth-wrapper-box-shadow-color, black); + background: var(--auth-wrapper-background-color, white); +} + +.swagger-ui .scheme-container .schemes > label { + color: var(--swagger-main-color, #3b4151); +} +/* Authorize Modal */ +.swagger-ui .auth-container { + border-bottom: 1px solid var(--auth-container-border-bottom-color, #ebebeb); /*divider; overridden by :last-of-type*/ + color: var(--swagger-main-color, #3b4151); +} + + .swagger-ui .auth-container .errors { + background-color: var(--auth-container-background-color, #fee); + color: var(--auth-container-errors-color, red); + } + +.swagger-ui .btn.authorize { + background-color: var(--btn-authorize-background-color, transparent); + border-color: var(--btn-authorize-border-color, #49cc90); + color: var(--btn-authorize-font-color, #49cc90); +} + + .swagger-ui .btn.authorize svg { + fill: var(--btn-authorize-svg-fill-color, #49cc90); + } + +/* List of Operations */ +.swagger-ui .opblock-tag-section { + display: flex; + flex-direction: column; + border: 1px solid var(--opblock-tag-section-border-color, #dddddd); + border-radius: 0.5rem; + margin-block: 1rem; + overflow: clip; +} + + .swagger-ui .opblock-tag-section .expand-collapse-all-btn { + display: none; + user-select: none; + } + + .swagger-ui .opblock-tag-section.is-open .expand-collapse-all-btn { + background: var(--opblock-tag-section-expandcollapse-background-color, rgb(220 220 220 / 45%)); color: var(--swagger-main-color, #3b4151); + border: 1px solid var(--opblock-tag-section-border-color, #dddddd); + border-radius: .5rem; + padding: 5px 10px; + font-size: medium; + margin-inline: 10px; + display: block; } - .swagger-ui .opblock-tag { - border-bottom: 1px solid var(--opblock-tag-border-bottom-color, rgba(59,65,81,.3)); +.swagger-ui .opblock-tag, +.swagger-ui .opblock-tag small, +.swagger-ui .parameter__type { + color: var(--swagger-main-color, #3b4151); +} + +.swagger-ui .opblock-tag { + align-items: center; + cursor: pointer; + display: flex; + padding: 10px 20px 10px 10px; + color: var(--swagger-main-color, #3b4151); + font-size: 24px; + border-bottom: 0 dashed var(--opblock-tag-border-bottom-color, #e1e1e1); + margin: 0; + transition: all .2s; +} + + .swagger-ui .opblock-tag:hover, + .swagger-ui .opblock-tag:focus-within { + background: var(--opblock-tag-background-color-hover, rgba(0,0,0,.02)); } - .swagger-ui .opblock-tag:hover { - background: var(--opblock-tag-background-color-hover, rgba(0,0,0,.02)); - } + .swagger-ui .opblock-tag + div .operation-tag-content { + margin-inline: 5px; + } #STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag { position: sticky; @@ -149,560 +395,707 @@ body { background: var(--opblock-tag-pinned-background-color-hover, #f1f1f1); } - .swagger-ui .opblock { - border: 1px solid var(--opblock-border-color, #000); - box-shadow: 0 0 3px var(--opblock-shadow-color, rgba(0,0,0,.19)); +.swagger-ui:has(> .topbar.pinned) .opblock-tag-section.is-open .opblock-tag { + top: 4.9rem; +} + +.swagger-ui .opblock { + border: 1px solid var(--opblock-border-color, #000); + box-shadow: 0 0 3px var(--opblock-shadow-color, rgba(0,0,0,.19)); +} + + .swagger-ui .opblock .tab-header .tab-item.active h4 span:after { /*line after tab header (e.g. Parameters inside operations)*/ + background: var(--opblock-tabheader-underline-color, gray); } - .swagger-ui .opblock .tab-header .tab-item.active h4 span:after { - background: var(--opblock-tabheader-underline-color, gray); - } + .swagger-ui .opblock .opblock-summary button svg { /*op icons*/ + fill: var(--opblock-summary-svg-icons-color, #000); + } - .swagger-ui .opblock .opblock-summary button svg { - fill: var(--opblock-summary-svg-icons-color, #000); - } + .swagger-ui .opblock.is-open .opblock-summary { + border-bottom: 1px solid var(--opblock-summary-border-bottom-color, #000); + } - .swagger-ui .opblock.is-open .opblock-summary { - border-bottom: 1px solid var(--opblock-summary-border-bottom-color, #000); - } + .swagger-ui .opblock .opblock-section-header { + background: var(--opblock-section-header-background-color, hsla(0,0%,100%,.8)); + box-shadow: 0 1px 2px var(--opblock-section-header-shadow-color, rgba(0,0,0,.1)); + } - .swagger-ui .opblock .opblock-section-header { - background: var(--opblock-section-header-background-color, hsla(0,0%,100%,.8)); - box-shadow: 0 1px 2px var(--opblock-section-header-shadow-color, rgba(0,0,0,.1)); + .swagger-ui .opblock .opblock-section-header > label, + .swagger-ui .opblock .opblock-section-header h4 { + color: var(--swagger-main-color, #3b4151); } - .swagger-ui .opblock .opblock-section-header > label, - .swagger-ui .opblock .opblock-section-header h4 { - color: var(--swagger-main-color, #3b4151); - } + .swagger-ui .opblock .opblock-summary-method { + background: var(--opblock-summary-method-background-color, #000); + color: var(--opblock-summary-method-color, #fff); + text-shadow: 0 1px 0 var(--opblock-summary-method-shadow-color, rgba(0,0,0,.1)); + } - .swagger-ui .opblock .opblock-summary-method { - background: var(--opblock-summary-method-background-color, #000); - color: var(--opblock-summary-method-color, #fff); - text-shadow: 0 1px 0 var(--opblock-summary-method-shadow-color, rgba(0,0,0,.1)); - } + .swagger-ui .opblock .opblock-summary-operation-id, + .swagger-ui .opblock .opblock-summary-path, + .swagger-ui .opblock .opblock-summary-path__deprecated, + .swagger-ui .opblock .opblock-summary-description { + color: var(--swagger-main-color, #3b4151); + word-break: normal; + } + /* POST */ + .swagger-ui .opblock.opblock-post { + background: var(--opblock-post-background-color, rgba(73,204,144,.1)); + border-color: var(--opblock-post-border-color, #49cc90); + } - .swagger-ui .opblock .opblock-summary-operation-id, - .swagger-ui .opblock .opblock-summary-path, - .swagger-ui .opblock .opblock-summary-path__deprecated, - .swagger-ui .opblock .opblock-summary-description { - color: var(--swagger-main-color, #3b4151); - word-break: normal; + .swagger-ui .opblock.opblock-post .opblock-summary-method { + background: var(--opblock-post-method-color, #49cc90); } - /* POST */ - .swagger-ui .opblock.opblock-post { - background: var(--opblock-post-background-color, rgba(73,204,144,.1)); + + .swagger-ui .opblock.opblock-post .opblock-summary { border-color: var(--opblock-post-border-color, #49cc90); } - .swagger-ui .opblock.opblock-post .opblock-summary-method { - background: var(--opblock-post-method-color, #49cc90); - } + .swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after { + background: var(--opblock-post-method-color, #49cc90); + border-radius: 1rem; + } + /* PUT */ + .swagger-ui .opblock.opblock-put { + background: var(--opblock-put-background-color, rgba(252,161,48,.1)); + border-color: var(--opblock-put-border-color, #fca130); + } - .swagger-ui .opblock.opblock-post .opblock-summary { - border-color: var(--opblock-post-border-color, #49cc90); - } + .swagger-ui .opblock.opblock-put .opblock-summary-method { + background: var(--opblock-put-method-color, #fca130); + } - .swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after { - background: var(--opblock-post-method-color, #49cc90); - } - /* PUT */ - .swagger-ui .opblock.opblock-put { - background: var(--opblock-put-background-color, rgba(252,161,48,.1)); + .swagger-ui .opblock.opblock-put .opblock-summary { border-color: var(--opblock-put-border-color, #fca130); } - .swagger-ui .opblock.opblock-put .opblock-summary-method { - background: var(--opblock-put-method-color, #fca130); - } + .swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after { + background: var(--opblock-put-method-color, #fca130); + } + /* DELETE */ + .swagger-ui .opblock.opblock-delete { + background: var(--opblock-delete-background-color, rgba(249,62,62,.1)); + border-color: var(--opblock-delete-border-color, #f93e3e); + } - .swagger-ui .opblock.opblock-put .opblock-summary { - border-color: var(--opblock-put-border-color, #fca130); - } + .swagger-ui .opblock.opblock-delete .opblock-summary-method { + background: var(--opblock-delete-method-color, #f93e3e); + } - .swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after { - background: var(--opblock-put-method-color, #fca130); - } - /* DELETE */ - .swagger-ui .opblock.opblock-delete { - background: var(--opblock-delete-background-color, rgba(249,62,62,.1)); + .swagger-ui .opblock.opblock-delete .opblock-summary { border-color: var(--opblock-delete-border-color, #f93e3e); } - .swagger-ui .opblock.opblock-delete .opblock-summary-method { - background: var(--opblock-delete-method-color, #f93e3e); - } + .swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after { + background: var(--opblock-delete-method-color, #f93e3e); + } + /* GET */ + .swagger-ui .opblock.opblock-get { + background: var(--opblock-get-background-color, rgba(97,175,254,.1)); + border-color: var(--opblock-get-border-color, #61affe); + } - .swagger-ui .opblock.opblock-delete .opblock-summary { - border-color: var(--opblock-delete-border-color, #f93e3e); - } + .swagger-ui .opblock.opblock-get .opblock-summary-method { + background: var(--opblock-get-method-color, #61affe); + } - .swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after { - background: var(--opblock-delete-method-color, #f93e3e); - } - /* GET */ - .swagger-ui .opblock.opblock-get { - background: var(--opblock-get-background-color, rgba(97,175,254,.1)); + .swagger-ui .opblock.opblock-get .opblock-summary { border-color: var(--opblock-get-border-color, #61affe); } - .swagger-ui .opblock.opblock-get .opblock-summary-method { - background: var(--opblock-get-method-color, #61affe); - } + .swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after { + background: var(--opblock-get-method-color, #61affe); + } + /* PATCH */ + .swagger-ui .opblock.opblock-patch { + background: var(--opblock-patch-background-color, rgba(80,227,194,.1)); + border-color: var(--opblock-patch-border-color, #50e3c2); + } - .swagger-ui .opblock.opblock-get .opblock-summary { - border-color: var(--opblock-get-border-color, #61affe); - } + .swagger-ui .opblock.opblock-patch .opblock-summary-method { + background: var(--opblock-patch-method-color, #50e3c2); + } - .swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after { - background: var(--opblock-get-method-color, #61affe); - } - /* PATCH */ - .swagger-ui .opblock.opblock-patch { - background: var(--opblock-patch-background-color, rgba(80,227,194,.1)); + .swagger-ui .opblock.opblock-patch .opblock-summary { border-color: var(--opblock-patch-border-color, #50e3c2); } - .swagger-ui .opblock.opblock-patch .opblock-summary-method { - background: var(--opblock-patch-method-color, #50e3c2); - } + .swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after { + background: var(--opblock-patch-method-color, #50e3c2); + } + /* HEAD */ + .swagger-ui .opblock.opblock-head { + background: var(--opblock-head-background-color, rgba(144,18,254,.1)); + border-color: var(--opblock-head-border-color, #9012fe); + } - .swagger-ui .opblock.opblock-patch .opblock-summary { - border-color: var(--opblock-patch-border-color, #50e3c2); - } + .swagger-ui .opblock.opblock-head .opblock-summary-method { + background: var(--opblock-head-method-color, #9012fe) + } - .swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after { - background: var(--opblock-patch-method-color, #50e3c2); - } - /* HEAD */ - .swagger-ui .opblock.opblock-head { - background: var(--opblock-head-background-color, rgba(144,18,254,.1)); - border-color: var(--opblock-head-border-color, #9012fe); + .swagger-ui .opblock.opblock-head .opblock-summary { + border-color: var(--opblock-head-border-color, #9012fe) } - .swagger-ui .opblock.opblock-head .opblock-summary-method { - background: var(--opblock-head-method-color, #9012fe) - } + .swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after { + background: var(--opblock-head-method-color, #9012fe) + } + /* OPTIONS */ + .swagger-ui .opblock.opblock-options { + background: var(--opblock-options-background-color, rgba(13,90,167,.1)); + border-color: var(--opblock-options-border-color, #0d5aa7); + } - .swagger-ui .opblock.opblock-head .opblock-summary { - border-color: var(--opblock-head-border-color, #9012fe) - } + .swagger-ui .opblock.opblock-options .opblock-summary-method { + background: var(--opblock-options-method-color, #0d5aa7); + } - .swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after { - background: var(--opblock-head-method-color, #9012fe) - } - /* OPTIONS */ - .swagger-ui .opblock.opblock-options { - background: var(--opblock-options-background-color, rgba(13,90,167,.1)); + .swagger-ui .opblock.opblock-options .opblock-summary { border-color: var(--opblock-options-border-color, #0d5aa7); } - .swagger-ui .opblock.opblock-options .opblock-summary-method { - background: var(--opblock-options-method-color, #0d5aa7); - } + .swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after { + background: var(--opblock-options-method-color, #0d5aa7); + } + /* Deprecated Operation */ + .swagger-ui .opblock.opblock-deprecated { + background: var(--opblock-deprecated-background-color, hsla(0,0%,92%,.1)); + border-color: var(--opblock-deprecated-border-color, #ebebeb); + } - .swagger-ui .opblock.opblock-options .opblock-summary { - border-color: var(--opblock-options-border-color, #0d5aa7); - } + .swagger-ui .opblock.opblock-deprecated .opblock-summary-method { + background: var(--opblock-deprecated-method-color, #ebebeb); + } - .swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after { - background: var(--opblock-options-method-color, #0d5aa7); - } - /* Deprecated Operation */ - .swagger-ui .opblock.opblock-deprecated { - background: var(--opblock-deprecated-background-color, hsla(0,0%,92%,.1)); + .swagger-ui .opblock.opblock-deprecated .opblock-summary { border-color: var(--opblock-deprecated-border-color, #ebebeb); } - .swagger-ui .opblock.opblock-deprecated .opblock-summary-method { - background: var(--opblock-deprecated-method-color, #ebebeb); - } + .swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after { + background: var(--opblock-deprecated-method-color, #ebebeb); + } - .swagger-ui .opblock.opblock-deprecated .opblock-summary { - border-color: var(--opblock-deprecated-border-color, #ebebeb); - } +/* Tab options (e.g. Example Value | Schema) */ +.swagger-ui .tab li { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after { - background: var(--opblock-deprecated-method-color, #ebebeb); - } + .swagger-ui .tab li:first-of-type:after { /*Divider between tabs*/ + background: var(--swagger-tabs-divider-color, rgba(0,0,0,.2)); + } + +/* Texts in operations */ +.swagger-ui .opblock-description-wrapper, +.swagger-ui .opblock-external-docs-wrapper, +.swagger-ui .opblock-title_normal, +.swagger-ui .opblock-description-wrapper h4, +.swagger-ui .opblock-external-docs-wrapper h4, +.swagger-ui .opblock-title_normal h4, +.swagger-ui .opblock-description-wrapper p, +.swagger-ui .opblock-external-docs-wrapper p, +.swagger-ui .opblock-title_normal p, +.swagger-ui .responses-inner h4, +.swagger-ui .responses-inner h5, +.swagger-ui .response-col_status, +.swagger-ui .response-col_links { + color: var(--swagger-main-color, #3b4151); +} - /* Tab options (e.g. Example Value | Schema) */ - .swagger-ui .tab li { - color: var(--swagger-main-color, #3b4151); + /* Text when API call fails */ + .swagger-ui .response-col_status .response-undocumented, + .swagger-ui .response-col_links .response-undocumented { + color: var(--response-undocumented-color, #909090); } - .swagger-ui .tab li:first-of-type:after { - background: var(--swagger-tabs-divider-color, rgba(0,0,0,.2)); - } - - /* Texts in operations */ - .swagger-ui .opblock-description-wrapper, - .swagger-ui .opblock-external-docs-wrapper, - .swagger-ui .opblock-title_normal, - .swagger-ui .opblock-description-wrapper h4, - .swagger-ui .opblock-external-docs-wrapper h4, - .swagger-ui .opblock-title_normal h4, - .swagger-ui .opblock-description-wrapper p, - .swagger-ui .opblock-external-docs-wrapper p, - .swagger-ui .opblock-title_normal p, - .swagger-ui .responses-inner h4, - .swagger-ui .responses-inner h5, - .swagger-ui .response-col_status, - .swagger-ui .response-col_links { - color: var(--swagger-main-color, #3b4151); - } +/* Response media type selection */ +.swagger-ui .response-control-media-type--accept-controller select { + border-color: var(--response-control-media-type-color, green); +} - /* Text when API call fails */ - .swagger-ui .response-col_status .response-undocumented, - .swagger-ui .response-col_links .response-undocumented { - color: var(--response-undocumented-color, #909090); - } +.swagger-ui .response-control-media-type__accept-message { + color: var(--response-control-media-type-color, green); +} - /* Response media type selection */ - .swagger-ui .response-control-media-type--accept-controller select { - border-color: var(--response-control-media-type-color, green); - } +/* Code highlighted one color (e.g. response headers) */ +.swagger-ui .opblock-body pre.microlight { + background: var(--opblock-pre-microlight-background-color, #333) !important; + color: var(--opblock-pre-microlight-color, #fff) !important; +} - .swagger-ui .response-control-media-type__accept-message { - color: var(--response-control-media-type-color, green); - } +/* Download & copy to clipboard button of a content */ +.swagger-ui .download-contents { + background: var(--download-contents-background-color, #7d8293); + color: var(--download-contents-color, #fff); +} - /* Code highlighted one color (e.g. response headers) */ - .swagger-ui .opblock-body pre.microlight { - background: var(--opblock-pre-microlight-background-color, #333) !important; - color: var(--opblock-pre-microlight-color, #fff) !important; - } +.swagger-ui .copy-to-clipboard { + background: var(--copy-to-clipboard-background-color, #7d8293); +} - /* Download & copy to clipboard button of a content */ - .swagger-ui .download-contents { - background: var(--download-contents-background-color, #7d8293); - color: var(--download-contents-color, #fff); + .swagger-ui .copy-to-clipboard button { + background: var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); } - .swagger-ui .copy-to-clipboard { - background: var(--copy-to-clipboard-background-color, #7d8293); - } +/* Other of operations */ +.swagger-ui .filter .operation-filter-input { + border: 2px solid var(--filter-operation-filter-input-border-color, #d8dde7); +} - .swagger-ui .copy-to-clipboard button { - background: var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } +.swagger-ui .download-url-wrapper .failed, +.swagger-ui .filter .failed { + color: var(--filter-download-failed-color, red) +} - /* Other of operations */ - .swagger-ui .filter .operation-filter-input { - border: 2px solid var(--filter-operation-filter-input-border-color, #d8dde7); - } +.swagger-ui .download-url-wrapper .loading, +.swagger-ui .filter .loading { + color: var(--filter-download-loading-color, #aaa); +} - .swagger-ui .download-url-wrapper .failed, - .swagger-ui .filter .failed { - color: var(--filter-download-failed-color, red) - } +.swagger-ui section h3 { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui .download-url-wrapper .loading, - .swagger-ui .filter .loading { - color: var(--filter-download-loading-color, #aaa); - } +.swagger-ui .servers > label, +.swagger-ui table.headers td { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui section h3 { - color: var(--swagger-main-color, #3b4151); - } +.swagger-ui table.headers .header-example { + color: var(--table-headers-example-color, #999); +} - .swagger-ui .servers > label, - .swagger-ui table.headers td { - color: var(--swagger-main-color, #3b4151); - } +.swagger-ui table thead tr td, +.swagger-ui table thead tr th { + border-bottom: 1px solid var(--table-thead-border-bottom-color, rgba(59,65,81,.2)); + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui table.headers .header-example { - color: var(--table-headers-example-color, #999); - } +.swagger-ui .parameter__name { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui table thead tr td, - .swagger-ui table thead tr th { - border-bottom: 1px solid var(--table-thead-border-bottom-color, rgba(59,65,81,.2)); - color: var(--swagger-main-color, #3b4151); + .swagger-ui .parameter__name.required span { + color: var(--parameter-name-required-symbol-color, red); } - .swagger-ui .parameter__name { - color: var(--swagger-main-color, #3b4151); + .swagger-ui .parameter__name.required::after { + color: var(--parameter-name-required-color, rgba(255,0,0,.6)); } - .swagger-ui .parameter__name.required span { - color: var(--parameter-name-required-symbol-color, red); - } +.swagger-ui .parameter__extension, +.swagger-ui .parameter__in, /*e.g query, body etc. operation input*/ +.swagger-ui .response__extension { + color: var(--parameter-in-extension-color, gray); +} - .swagger-ui .parameter__name.required::after { - color: var(--parameter-name-required-color, rgba(255,0,0,.6)); - } +.swagger-ui .parameter__deprecated { + color: var(--parameter-deprecated-color, red); +} - .swagger-ui .parameter__extension, - .swagger-ui .parameter__in, - .swagger-ui .response__extension { - color: var(--parameter-in-extension-color, gray); +/* Buttons */ +.swagger-ui .btn { + background: var(--button-background-color, transparent); + border: 2px solid var(--button-border-color, gray); + box-shadow: 0 1px 2px var(--button-shadow-color, rgba(0,0,0,.1)); + color: var(--swagger-main-color, #3b4151); +} + + .swagger-ui .btn:hover { + box-shadow: 0 0 5px var(--button-shadow-hover-color, rgba(0,0,0,.3)); } - .swagger-ui .parameter__deprecated { - color: var(--parameter-deprecated-color, red); + .swagger-ui .btn.cancel { + background-color: var(--button-cancel-background-color, transparent); + border-color: var(--button-cancel-border-color, #ff6060); + color: var(--button-cancel-color, #ff6060); } - /* Buttons */ - .swagger-ui .btn { - background: var(--button-background-color, transparent); - border: 2px solid var(--button-border-color, gray); - box-shadow: 0 1px 2px var(--button-shadow-color, rgba(0,0,0,.1)); - color: var(--swagger-main-color, #3b4151); + .swagger-ui .btn.execute { + background-color: var(--button-execute-background-color, #4990e2); + border-color: var(--button-execute-border-color, #4990e2); + color: var(--button-execute-color, #fff); } - .swagger-ui .btn:hover { - box-shadow: 0 0 5px var(--button-shadow-hover-color, rgba(0,0,0,.3)); - } +.swagger-ui button.invalid { + background: var(--button-invalid-background-color, #feebeb); + border-color: var(--button-invalid-border-color, #f93e3e); +} +/* The button to expand group of operations (or methods when grouped by method): arrow icon */ +.swagger-ui .expand-methods svg, +.swagger-ui .expand-operation svg { + fill: var(--expand-operation-svg-arrow-color, #707070); +} - .swagger-ui .btn.cancel { - background-color: var(--button-cancel-background-color, transparent); - border-color: var(--button-cancel-border-color, #ff6060); - color: var(--button-cancel-color, #ff6060); - } +.swagger-ui .expand-methods:hover svg, +.swagger-ui .expand-operation:hover svg { + fill: var(--expand-operation-svg-arrow-hover-color, #404040); +} - .swagger-ui .btn.execute { - background-color: var(--button-execute-background-color, #4990e2); - border-color: var(--button-execute-border-color, #4990e2); - color: var(--button-execute-color, #fff); - } +/* Form elements */ +.swagger-ui select { + background: var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat); + border: 2px solid var(--select-border-color, #41444e); + box-shadow: 0 1px 2px 0 var(--select-shadow-color, rgba(0,0,0,.25)); + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui button.invalid { - background: var(--button-invalid-background-color, #feebeb); - border-color: var(--button-invalid-border-color, #f93e3e); - } - /* The button to expand group of operations (or methods when grouped by method): arrow icon */ - .swagger-ui .expand-methods svg, - .swagger-ui .expand-operation svg { - fill: var(--expand-operation-svg-arrow-color, #707070); + .swagger-ui select[multiple] { + background: var(--select-background-color, #f7f7f7); } - .swagger-ui .expand-methods:hover svg, - .swagger-ui .expand-operation:hover svg { - fill: var(--expand-operation-svg-arrow-hover-color, #404040); - } +.swagger-ui label { + color: var(--swagger-main-color, #3b4151); +} - /* Form elements */ - .swagger-ui select { - background: var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat); - border: 2px solid var(--select-border-color, #41444e); - box-shadow: 0 1px 2px 0 var(--select-shadow-color, rgba(0,0,0,.25)); - color: var(--swagger-main-color, #3b4151); - } +.swagger-ui input[type=email], +.swagger-ui input[type=file], +.swagger-ui input[type=password], +.swagger-ui input[type=search], +.swagger-ui input[type=text], +.swagger-ui textarea { + background: var(--input-background-color, #fff); + border: 1px solid var(--input-border-color, #d9d9d9); + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui select[multiple] { - background: var(--select-background-color, #f7f7f7); - } + .swagger-ui input[type=email].invalid, + .swagger-ui input[type=file].invalid, + .swagger-ui input[type=password].invalid, + .swagger-ui input[type=search].invalid, + .swagger-ui input[type=text].invalid, + .swagger-ui textarea.invalid, + .swagger-ui select.invalid { + background: var(--input-invalid-background-color, #feebeb); + border-color: var(--input-invalid-border-color, #f93e3e); + color: var(--input-invalid-color, #3b4151); + } + +.swagger-ui input[disabled], +.swagger-ui select[disabled] { + background-color: var(--input-disabled-background-color, #fafafa); + color: var(--input-disabled-color, #888); +} - .swagger-ui label { - color: var(--swagger-main-color, #3b4151); +.swagger-ui select[disabled] { + border-color: var(--select-disabled-border-color, #888) +} + +.swagger-ui textarea[disabled] { + background-color: var(--textarea-disabled-background-color, #41444e); + color: var(--textarea-disabled-color, #fff); +} + +.swagger-ui textarea { + background: var(--textarea-background-color, hsla(0,0%,100%,.8)); + color: var(--swagger-main-color, #3b4151); +} + + .swagger-ui textarea:focus { + border: 2px solid var(--textarea-border-focus-color, #61affe); } - .swagger-ui input[type=email], - .swagger-ui input[type=file], - .swagger-ui input[type=password], - .swagger-ui input[type=search], - .swagger-ui input[type=text], - .swagger-ui textarea { - background: var(--input-background-color, #fff); - border: 1px solid var(--input-border-color, #d9d9d9); - color: var(--swagger-main-color, #3b4151); + .swagger-ui textarea.curl { + background: var(--textarea-curl-background-color, #41444e); + color: var(--textarea-curl-color, #fff); } - .swagger-ui input[type=email].invalid, - .swagger-ui input[type=file].invalid, - .swagger-ui input[type=password].invalid, - .swagger-ui input[type=search].invalid, - .swagger-ui input[type=text].invalid, - .swagger-ui textarea.invalid, - .swagger-ui select.invalid { - background: var(--input-invalid-background-color, #feebeb); - border-color: var(--input-invalid-border-color, #f93e3e); - color: var(--input-invalid-color, #3b4151); - } +.swagger-ui .checkbox { + color: var(--checkbox-color, #303030); +} - .swagger-ui input[disabled], - .swagger-ui select[disabled] { - background-color: var(--input-disabled-background-color, #fafafa); - color: var(--input-disabled-color, #888); + .swagger-ui .checkbox p { + color: var(--swagger-main-color, #3b4151); } - .swagger-ui select[disabled] { - border-color: var(--select-disabled-border-color, #888) + .swagger-ui .checkbox input[type=checkbox] + label > .item { + background: var(--checkbox-label-item-background-color, #e8e8e8); + box-shadow: 0 0 0 2px var(--checkbox-label-item-shadow-color, #e8e8e8); } - .swagger-ui textarea[disabled] { - background-color: var(--textarea-disabled-background-color, #41444e); - color: var(--textarea-disabled-color, #fff); + .swagger-ui .checkbox input[type=checkbox]:checked + label > .item { + background: var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); } - .swagger-ui textarea { - background: var(--textarea-background-color, hsla(0,0%,100%,.8)); - color: var(--swagger-main-color, #3b4151); - } +/* Dialog (pop-up) */ +.swagger-ui .dialog-ux .backdrop-ux { + background: var(--dialog-backdrop-color, rgba(0,0,0,.8)); +} - .swagger-ui textarea:focus { - border: 2px solid var(--textarea-border-focus-color, #61affe); - } +.swagger-ui .dialog-ux .modal-ux { + background: var(--dialog-background-color, #fff); + border: 1px solid var(--dialog-border-color, #ebebeb); + box-shadow: 0 10px 30px 0 var(--dialog-shadow-color, rgba(0,0,0,.2)); +} - .swagger-ui textarea.curl { - background: var(--textarea-curl-background-color, #41444e); - color: var(--textarea-curl-color, #fff); - } +.swagger-ui .dialog-ux .modal-ux-content p, +.swagger-ui .dialog-ux .modal-ux-header h3, +.swagger-ui .dialog-ux .modal-ux-content h4 { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui .checkbox { - color: var(--checkbox-color, #303030); +.swagger-ui .dialog-ux .modal-ux-header { + border-bottom: 1px solid var(--dialog-border-color, #ebebeb); +} + + .swagger-ui .dialog-ux .modal-ux-header button svg { + fill: var(--dialog-close-button-icon-color, black); } - .swagger-ui .checkbox p { - color: var(--swagger-main-color, #3b4151); - } +/* Models (Schemes) */ +.swagger-ui .model { + color: var(--swagger-main-color, #3b4151); +} - .swagger-ui .checkbox input[type=checkbox] + label > .item { - background: var(--checkbox-label-item-background-color, #e8e8e8); - box-shadow: 0 0 0 2px var(--checkbox-label-item-shadow-color, #e8e8e8); - } + .swagger-ui .model .deprecated span, + .swagger-ui .model .deprecated td { + color: var(--model-deprecated-color, #a0a0a0) !important; + } + +.swagger-ui .model-toggle { + cursor: pointer; + -webkit-transition: -webkit-transform .15s ease-in; + transition: -webkit-transform .15s ease-in; + transition: transform .15s ease-in; + transition: transform .15s ease-in, -webkit-transform .15s ease-in; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} - .swagger-ui .checkbox input[type=checkbox]:checked + label > .item { - background: var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } + .swagger-ui .model-toggle.collapsed { + -webkit-transform: rotate(0deg); + transform: rotate(0deg) + } - /* Dialog (pop-up) */ - .swagger-ui .dialog-ux .backdrop-ux { - background: var(--dialog-backdrop-color, rgba(0,0,0,.8)); + .swagger-ui .model-toggle::after { + background: var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); } - .swagger-ui .dialog-ux .modal-ux { - background: var(--dialog-background-color, #fff); - border: 1px solid var(--dialog-border-color, #ebebeb); - box-shadow: 0 10px 30px 0 var(--dialog-shadow-color, rgba(0,0,0,.2)); +.swagger-ui .model-hint { /*URL of schema inside a model (as property)*/ + background: var(--model-hint-background-color, rgba(0,0,0,.7)); + color: var(--model-hint-color, #ebebeb); +} + +.swagger-ui .model .property { + color: var(--model-property-color, #999); +} + + .swagger-ui .model .property.primitive { /*property primitive (e.g. nullable)*/ + color: var(--model-property-primitive-color, #6b6b6b); } - .swagger-ui .dialog-ux .modal-ux-content p, - .swagger-ui .dialog-ux .modal-ux-header h3, - .swagger-ui .dialog-ux .modal-ux-content h4 { - color: var(--swagger-main-color, #3b4151); +.swagger-ui table.model tr.property-row .star { + color: var(--model-property-required-symbol-color, red); +} + +.swagger-ui .model .external-docs, +.swagger-ui table.model tr.description { + color: var(--model-property-description, #666); +} + +.swagger-ui table.model tr.extension { + color: var(--model-property-extension, #777); +} + +.swagger-ui section.models { + border: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); + border-radius: 0.5rem; + padding: 0; + margin: 0; +} + + .swagger-ui section.models.is-open h4 { + border-bottom: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); } - .swagger-ui .dialog-ux .modal-ux-header { - border-bottom: 1px solid var(--dialog-border-color, #ebebeb); + .swagger-ui section.models h4 { + color: var(--model-section-header-color, #606060); + padding: 0; } - .swagger-ui .dialog-ux .modal-ux-header button svg { - fill: var(--dialog-close-button-icon-color, black); + .swagger-ui section.models h4:hover { + background: var(--model-section-header-hover-background-color, rgba(0,0,0,.02)); } - /* Models (Schemes) */ - .swagger-ui .model { - color: var(--swagger-main-color, #3b4151); - } - - .swagger-ui .model .deprecated span, - .swagger-ui .model .deprecated td { - color: var(--model-deprecated-color, #a0a0a0) !important; + .swagger-ui section.models h4 svg { + fill: var(--expand-model-svg-arrow-color, #707070); } - .swagger-ui .model-toggle::after { - background: var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } + .swagger-ui section.models h4 button.models-control { + color: var(--model-section-header-color, #606060); + padding: 20px; + } - .swagger-ui .model-hint { - background: var(--model-hint-background-color, rgba(0,0,0,.7)); - color: var(--model-hint-color, #ebebeb); + .swagger-ui section.models h5 { + color: var(--model-section-little-header-color, #707070); } - .swagger-ui .model .property { - color: var(--model-property-color, #999); + .swagger-ui section.models .model-container { /*container of each model*/ + background: var(--model-container-background-color, rgba(0,0,0,.05)); } - .swagger-ui .model .property.primitive { - color: var(--model-property-primitive-color, #6b6b6b); + .swagger-ui section.models .model-container:hover { + background: var(--model-container-hover-background-color, rgba(0,0,0,.07)); } - .swagger-ui table.model tr.property-row .star { - color: var(--model-property-required-symbol-color, red); - } +.swagger-ui .model-box { /*box of each model*/ + background: var(--model-box-background-color, rgba(0,0,0,.1)); +} - .swagger-ui .model .external-docs, - .swagger-ui table.model tr.description { - color: var(--model-property-description, #666); - } +.swagger-ui .model-title { /*model name*/ + color: var(--model-title-color, #505050); +} - .swagger-ui table.model tr.extension { - color: var(--model-property-extension, #777); - } +.swagger-ui .model-deprecated-warning { + color: var(--model-deprecated-warning-color, #f93e3e); +} - .swagger-ui section.models { - border: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); +.swagger-ui .prop-type { /*property type (e.g string)*/ + color: var(--model-prop-type-color, #55a); +} + +.swagger-ui .prop-format { /*property format (e.g. date)*/ + color: var(--model-prop-format-color, #606060); +} + +.swagger-ui .scopes h2 { + color: var(--swagger-main-color, #3b4151); +} + + .swagger-ui .scopes h2 a { + color: var(--swagger-info-link, #4990e2); } - .swagger-ui section.models.is-open h4 { - border-bottom: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); - } +/* Rendered Markdown text */ +.swagger-ui .markdown pre, +.swagger-ui .renderedMarkdown pre { + color: var(--rendered-markdown-pre-color, #000); +} - .swagger-ui section.models h4 { - color: var(--model-section-header-color, #606060); - } +.swagger-ui .markdown code, +.swagger-ui .renderedMarkdown code { + background: var(--rendered-markdown-code-background-color, rgba(0,0,0,.05)); + color: var(--rendered-markdown-code-color, #9012fe); +} - .swagger-ui section.models h4:hover { - background: var(--model-section-header-hover-background-color, rgba(0,0,0,.02)); - } +.scroll-to-top-wrapper { + position: fixed; + bottom: 0; + left: 0; + right: 0; + text-align: end; + box-sizing: border-box; + margin: 0 auto; + max-width: 1460px; + padding: 0 20px; + width: 100%; + pointer-events: none; +} - .swagger-ui section.models h4 svg { - fill: var(--expand-model-svg-arrow-color, #707070); - } +#scroll-to-top-btn { + background-color: var(--scroll-to-top-button-background-color, #000000d1); + border: 1px solid var(--scroll-to-top-button-border-color, #d1c9c9); + border-radius: 50%; + color: white; + cursor: pointer; + width: 2.5rem; + aspect-ratio: 1; + backdrop-filter: blur(20px); + margin: 10px; + position: relative; + transition: background-color .5s, opacity .6s .2s, translate .8s, scale .2s; + opacity: 0; + translate: 0 100px; + box-shadow: 0 0 10px 0 var(--scroll-to-top-button-shadow-color, rgba(0, 0, 0, .4)); +} - .swagger-ui section.models h5 { - color: var(--model-section-little-header-color, #707070); - } + #scroll-to-top-btn.showBtn { + opacity: 1; + translate: 0 0; + pointer-events: auto; + } + + #scroll-to-top-btn::before { + position: absolute; + content: ''; + top: 10px; + left: 12px; + right: 12px; + background-color: var(--scroll-to-top-button-icon-color, #fff); + border-radius: 1rem; + height: 2px; + } + + #scroll-to-top-btn::after { + position: absolute; + content: ''; + top: 15px; + left: 50%; + border: solid var(--scroll-to-top-button-icon-color, #fff); + border-width: 0 2px 2px 0; + padding: 3px; + transform: rotate(-135deg); + translate: -50% 4px; + } - .swagger-ui section.models .model-container { - background: var(--model-container-background-color, rgba(0,0,0,.05)); + #scroll-to-top-btn:hover, + #scroll-to-top-btn:focus-within { + background-color: var(--scroll-to-top-button-hover-background-color, #0d0d0dba); + } + + #scroll-to-top-btn:hover::after, + #scroll-to-top-btn:focus-within::after { + animation: bounceUp 1.2s ease-in infinite; } - .swagger-ui section.models .model-container:hover { - background: var(--model-container-hover-background-color, rgba(0,0,0,.07)); - } + #scroll-to-top-btn:active { + scale: 0.95; + } - .swagger-ui .model-box { - background: var(--model-box-background-color, rgba(0,0,0,.1)); +@keyframes bounceUp { + 100% { + translate: -50% 4px; } - .swagger-ui .model-title { - color: var(--model-title-color, #505050); + 25% { + translate: -50% 6px; } - .swagger-ui .model-deprecated-warning { - color: var(--model-deprecated-warning-color, #f93e3e); + 60% { + translate: -50% -2px; } +} - .swagger-ui .prop-type { - color: var(--model-prop-type-color, #55a); +@-moz-keyframes bounceUp { + 100% { + translate: -50% 4px; } - .swagger-ui .prop-format { - color: var(--model-prop-format-color, #606060); + 25% { + translate: -50% 6px; } - .swagger-ui .scopes h2 { - color: var(--swagger-main-color, #3b4151); + 60% { + translate: -50% -2px; } +} - .swagger-ui .scopes h2 a { - color: var(--swagger-info-link, #4990e2); - } +@-webkit-keyframes bounceUp { + 100% { + translate: -50% 4px; + } - /* Rendered Markdown text */ - .swagger-ui .markdown pre, - .swagger-ui .renderedMarkdown pre { - color: var(--rendered-markdown-pre-color, #000); + 25% { + translate: -50% 6px; } - .swagger-ui .markdown code, - .swagger-ui .renderedMarkdown code { - background: var(--rendered-markdown-code-background-color, rgba(0,0,0,.05)); - color: var(--rendered-markdown-code-color, #9012fe); + 60% { + translate: -50% -2px; } +} @media only screen and (max-width: 680px) { .swagger-ui .opblock .opblock-summary-operation-id, diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.min.css index 39ced39..ce76ec5 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/common.min.css @@ -1 +1 @@ -/*Common Style*/.swagger-ui,.swagger-ui .auth-container,.swagger-ui .checkbox p,.swagger-ui .dialog-ux .modal-ux-content h4,.swagger-ui .dialog-ux .modal-ux-content p,.swagger-ui .dialog-ux .modal-ux-header h3,.swagger-ui .errors-wrapper .errors h4,.swagger-ui .errors-wrapper hgroup h4,.swagger-ui .info .base-url,.swagger-ui .info .title,.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table,.swagger-ui .loading-container .loading:after,.swagger-ui .model,.swagger-ui .opblock .opblock-section-header h4,.swagger-ui .opblock .opblock-section-header>label,.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-tag,.swagger-ui .opblock-tag small,.swagger-ui .opblock-title_normal,.swagger-ui .opblock-title_normal h4,.swagger-ui .opblock-title_normal p,.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .response-col_links,.swagger-ui .response-col_status,.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .scheme-container .schemes>label,.swagger-ui .scopes h2,.swagger-ui .servers>label,.swagger-ui .tab li,.swagger-ui label,.swagger-ui section h3,.swagger-ui table.headers td{color:var(--swagger-main-color,#3b4151)}body{background-color:var(--body-background-color,#fafafa);padding-bottom:1rem}.swagger-ui .loading-container .loading:before{border:2px solid var(--loading-container-border-color,rgba(85,85,85,.1));border-top-color:var(--loading-container-border-top-color,rgba(0,0,0,.6))}.swagger-ui .errors-wrapper{background:var(--errors-wrapper-background-color,rgba(249,62,62,.1));border:2px solid var(--errors-wrapper-border-color,#f93e3e)}.swagger-ui .errors-wrapper .errors small{color:var(--errors-wrapper-errors-color,#606060)}.swagger-ui .topbar{background-color:var(--topbar-background-color,#1b1b1b)}.swagger-ui .topbar .download-url-wrapper .select-label select,.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid var(--topbar-select-border-color,#62a03f)}.swagger-ui .topbar .download-url-wrapper .select-label{color:var(--topbar-select-label-color,#f0f0f0)}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:var(--topbar-download-url-button-background-color,#62a03f);color:var(--topbar-download-url-button-color,#fff)}.swagger-ui .info a,.swagger-ui .scopes h2 a{color:var(--swagger-info-link,#4990e2)}.swagger-ui .info a:hover{color:var(--swagger-info-link-hover,#1f69c0)}.swagger-ui .info .title small{background:var(--api-version-background-color,#7d8492)}.swagger-ui .info .title small.version-stamp{background-color:var(--api-version-stamp-background-color,#89bf04)}.swagger-ui .info .title small pre{color:var(--api-version-color,#fff)}.swagger-ui .scheme-container{background:var(--scheme-container-background-color,#fff);box-shadow:0 1px 2px 0 var(--scheme-container-box-shadow-color,rgba(0,0,0,.15))}.swagger-ui .auth-container{border-bottom:1px solid var(--auth-container-border-bottom-color,#ebebeb)}.swagger-ui .auth-container .errors{background-color:var(--auth-container-background-color,#fee);color:var(--auth-container-errors-color,red)}.swagger-ui .btn.authorize{background-color:var(--btn-authorize-background-color,transparent);border-color:var(--btn-authorize-border-color,#49cc90);color:var(--btn-authorize-font-color,#49cc90)}.swagger-ui .btn.authorize svg{fill:var(--btn-authorize-svg-fill-color,#49cc90)}.swagger-ui .opblock-tag{border-bottom:1px solid var(--opblock-tag-border-bottom-color,rgba(59,65,81,.3))}.swagger-ui .opblock-tag:hover{background:var(--opblock-tag-background-color-hover,rgba(0,0,0,.02))}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag{position:sticky;top:0;z-index:4;margin-bottom:1rem;border-bottom:1px dashed var(--opblock-tag-border-bottom-color,#e1e1e1);background:var(--body-background-color,#fafafa)}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:focus-within,#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:hover{background:var(--opblock-tag-pinned-background-color-hover,#f1f1f1)}.swagger-ui .opblock{border:1px solid var(--opblock-border-color,#000);box-shadow:0 0 3px var(--opblock-shadow-color,rgba(0,0,0,.19))}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:var(--opblock-tabheader-underline-color,gray)}.swagger-ui .opblock .opblock-summary button svg{fill:var(--opblock-summary-svg-icons-color,#000)}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--opblock-summary-border-bottom-color,#000)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-post .opblock-summary{border-color:var(--opblock-post-border-color,#49cc90)}.swagger-ui .opblock .opblock-section-header{background:var(--opblock-section-header-background-color,hsla(0,0%,100%,.8));box-shadow:0 1px 2px var(--opblock-section-header-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-method{background:var(--opblock-summary-method-background-color,#000);color:var(--opblock-summary-method-color,#fff);text-shadow:0 1px 0 var(--opblock-summary-method-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--swagger-main-color,#3b4151);word-break:normal}.swagger-ui .opblock.opblock-post{background:var(--opblock-post-background-color,rgba(73,204,144,.1))}.swagger-ui .opblock.opblock-post .opblock-summary-method,.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:var(--opblock-post-method-color,#49cc90)}.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-put .opblock-summary{border-color:var(--opblock-put-border-color,#fca130)}.swagger-ui .opblock.opblock-put{background:var(--opblock-put-background-color,rgba(252,161,48,.1))}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:var(--opblock-put-method-color,#fca130)}.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:var(--opblock-delete-border-color,#f93e3e)}.swagger-ui .opblock.opblock-delete{background:var(--opblock-delete-background-color,rgba(249,62,62,.1))}.swagger-ui .opblock.opblock-delete .opblock-summary-method,.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:var(--opblock-delete-method-color,#f93e3e)}.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-get .opblock-summary{border-color:var(--opblock-get-border-color,#61affe)}.swagger-ui .opblock.opblock-get{background:var(--opblock-get-background-color,rgba(97,175,254,.1))}.swagger-ui .opblock.opblock-get .opblock-summary-method,.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:var(--opblock-get-method-color,#61affe)}.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:var(--opblock-patch-border-color,#50e3c2)}.swagger-ui .opblock.opblock-patch{background:var(--opblock-patch-background-color,rgba(80,227,194,.1))}.swagger-ui .opblock.opblock-patch .opblock-summary-method,.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:var(--opblock-patch-method-color,#50e3c2)}.swagger-ui .opblock.opblock-head,.swagger-ui .opblock.opblock-head .opblock-summary{border-color:var(--opblock-head-border-color,#9012fe)}.swagger-ui .opblock.opblock-head{background:var(--opblock-head-background-color,rgba(144,18,254,.1))}.swagger-ui .opblock.opblock-head .opblock-summary-method,.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:var(--opblock-head-method-color,#9012fe)}.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-options .opblock-summary{border-color:var(--opblock-options-border-color,#0d5aa7)}.swagger-ui .opblock.opblock-options{background:var(--opblock-options-background-color,rgba(13,90,167,.1))}.swagger-ui .opblock.opblock-options .opblock-summary-method,.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:var(--opblock-options-method-color,#0d5aa7)}.swagger-ui .opblock.opblock-deprecated,.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:var(--opblock-deprecated-border-color,#ebebeb)}.swagger-ui .opblock.opblock-deprecated{background:var(--opblock-deprecated-background-color,hsla(0,0%,92%,.1))}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method,.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:var(--opblock-deprecated-method-color,#ebebeb)}.swagger-ui .tab li:first-of-type:after{background:var(--swagger-tabs-divider-color,rgba(0,0,0,.2))}.swagger-ui .response-col_links .response-undocumented,.swagger-ui .response-col_status .response-undocumented{color:var(--response-undocumented-color,#909090)}.swagger-ui .response-control-media-type--accept-controller select{border-color:var(--response-control-media-type-color,green)}.swagger-ui .response-control-media-type__accept-message{color:var(--response-control-media-type-color,green)}.swagger-ui .opblock-body pre.microlight{background:var(--opblock-pre-microlight-background-color,#333)!important;color:var(--opblock-pre-microlight-color,#fff)!important}.swagger-ui .download-contents{background:var(--download-contents-background-color,#7d8293);color:var(--download-contents-color,#fff)}.swagger-ui .copy-to-clipboard{background:var(--copy-to-clipboard-background-color,#7d8293)}.swagger-ui .copy-to-clipboard button{background:var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .filter .operation-filter-input{border:2px solid var(--filter-operation-filter-input-border-color,#d8dde7)}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:var(--filter-download-failed-color,red)}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:var(--filter-download-loading-color,#aaa)}.swagger-ui table.headers .header-example{color:var(--table-headers-example-color,#999)}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid var(--table-thead-border-bottom-color,rgba(59,65,81,.2));color:var(--swagger-main-color,#3b4151)}.swagger-ui .parameter__name.required span{color:var(--parameter-name-required-symbol-color,red)}.swagger-ui .parameter__name.required::after{color:var(--parameter-name-required-color,rgba(255,0,0,.6))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in,.swagger-ui .response__extension{color:var(--parameter-in-extension-color,gray)}.swagger-ui .parameter__deprecated{color:var(--parameter-deprecated-color,red)}.swagger-ui .btn,.swagger-ui select,.swagger-ui textarea{color:var(--swagger-main-color,#3b4151)}.swagger-ui .btn{background:var(--button-background-color,transparent);border:2px solid var(--button-border-color,gray);box-shadow:0 1px 2px var(--button-shadow-color,rgba(0,0,0,.1))}.swagger-ui .btn:hover{box-shadow:0 0 5px var(--button-shadow-hover-color,rgba(0,0,0,.3))}.swagger-ui .btn.cancel{background-color:var(--button-cancel-background-color,transparent);border-color:var(--button-cancel-border-color,#ff6060);color:var(--button-cancel-color,#ff6060)}.swagger-ui .btn.execute{background-color:var(--button-execute-background-color,#4990e2);border-color:var(--button-execute-border-color,#4990e2);color:var(--button-execute-color,#fff)}.swagger-ui button.invalid{background:var(--button-invalid-background-color,#feebeb);border-color:var(--button-invalid-border-color,#f93e3e)}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{fill:var(--expand-operation-svg-arrow-color,#707070)}.swagger-ui .expand-methods:hover svg,.swagger-ui .expand-operation:hover svg{fill:var(--expand-operation-svg-arrow-hover-color,#404040)}.swagger-ui select{background:var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat);border:2px solid var(--select-border-color,#41444e);box-shadow:0 1px 2px 0 var(--select-shadow-color,rgba(0,0,0,.25))}.swagger-ui select[multiple]{background:var(--select-background-color,#f7f7f7)}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:var(--input-background-color,#fff);border:1px solid var(--input-border-color,#d9d9d9);color:var(--swagger-main-color,#3b4151)}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui select.invalid,.swagger-ui textarea.invalid{background:var(--input-invalid-background-color,#feebeb);border-color:var(--input-invalid-border-color,#f93e3e);color:var(--input-invalid-color,#3b4151)}.swagger-ui input[disabled],.swagger-ui select[disabled]{background-color:var(--input-disabled-background-color,#fafafa);color:var(--input-disabled-color,#888)}.swagger-ui select[disabled]{border-color:var(--select-disabled-border-color,#888)}.swagger-ui textarea[disabled]{background-color:var(--textarea-disabled-background-color,#41444e);color:var(--textarea-disabled-color,#fff)}.swagger-ui textarea{background:var(--textarea-background-color,hsla(0,0%,100%,.8))}.swagger-ui textarea:focus{border:2px solid var(--textarea-border-focus-color,#61affe)}.swagger-ui textarea.curl{background:var(--textarea-curl-background-color,#41444e);color:var(--textarea-curl-color,#fff)}.swagger-ui .checkbox{color:var(--checkbox-color,#303030)}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:var(--checkbox-label-item-background-color,#e8e8e8);box-shadow:0 0 0 2px var(--checkbox-label-item-shadow-color,#e8e8e8)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .dialog-ux .backdrop-ux{background:var(--dialog-backdrop-color,rgba(0,0,0,.8))}.swagger-ui .dialog-ux .modal-ux{background:var(--dialog-background-color,#fff);border:1px solid var(--dialog-border-color,#ebebeb);box-shadow:0 10px 30px 0 var(--dialog-shadow-color,rgba(0,0,0,.2))}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--dialog-border-color,#ebebeb)}.swagger-ui .dialog-ux .modal-ux-header button svg{fill:var(--dialog-close-button-icon-color,black)}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:var(--model-deprecated-color,#a0a0a0)!important}.swagger-ui .model-toggle::after{background:var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .model-hint{background:var(--model-hint-background-color,rgba(0,0,0,.7));color:var(--model-hint-color,#ebebeb)}.swagger-ui .model .property{color:var(--model-property-color,#999)}.swagger-ui .model .property.primitive{color:var(--model-property-primitive-color,#6b6b6b)}.swagger-ui table.model tr.property-row .star{color:var(--model-property-required-symbol-color,red)}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:var(--model-property-description,#666)}.swagger-ui table.model tr.extension{color:var(--model-property-extension,#777)}.swagger-ui section.models{border:1px solid var(--model-section-border-color,rgba(59,65,81,.3))}.swagger-ui section.models.is-open h4{border-bottom:1px solid var(--model-section-border-color,rgba(59,65,81,.3))}.swagger-ui section.models h4{color:var(--model-section-header-color,#606060)}.swagger-ui section.models h4:hover{background:var(--model-section-header-hover-background-color,rgba(0,0,0,.02))}.swagger-ui section.models h4 svg{fill:var(--expand-model-svg-arrow-color,#707070)}.swagger-ui section.models h5{color:var(--model-section-little-header-color,#707070)}.swagger-ui section.models .model-container{background:var(--model-container-background-color,rgba(0,0,0,.05))}.swagger-ui section.models .model-container:hover{background:var(--model-container-hover-background-color,rgba(0,0,0,.07))}.swagger-ui .model-box{background:var(--model-box-background-color,rgba(0,0,0,.1))}.swagger-ui .model-title{color:var(--model-title-color,#505050)}.swagger-ui .model-deprecated-warning{color:var(--model-deprecated-warning-color,#f93e3e)}.swagger-ui .prop-type{color:var(--model-prop-type-color,#55a)}.swagger-ui .prop-format{color:var(--model-prop-format-color,#606060)}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{color:var(--rendered-markdown-pre-color,#000)}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:var(--rendered-markdown-code-background-color,rgba(0,0,0,.05));color:var(--rendered-markdown-code-color,#9012fe)}@media only screen and (max-width:680px){.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{word-break:break-all}} \ No newline at end of file +/*Common Theme*/@charset "UTF-8";*,:focus{font-family:system-ui,sans-serif}.swagger-ui,.swagger-ui .checkbox p,.swagger-ui .dialog-ux .modal-ux-content h4,.swagger-ui .dialog-ux .modal-ux-content p,.swagger-ui .dialog-ux .modal-ux-header h3,.swagger-ui .errors-wrapper .errors h4,.swagger-ui .errors-wrapper hgroup h4,.swagger-ui .info .base-url,.swagger-ui .info .title,.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table,.swagger-ui .loading-container .loading:after,.swagger-ui .model,.swagger-ui .opblock .opblock-section-header h4,.swagger-ui .opblock .opblock-section-header>label,.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-tag,.swagger-ui .opblock-tag small,.swagger-ui .opblock-title_normal,.swagger-ui .opblock-title_normal h4,.swagger-ui .opblock-title_normal p,.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .response-col_links,.swagger-ui .response-col_status,.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .scheme-container .schemes>label,.swagger-ui .scopes h2,.swagger-ui .servers>label,.swagger-ui .tab li,.swagger-ui label,.swagger-ui section h3,.swagger-ui table.headers td{color:var(--swagger-main-color,#3b4151)}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb{height:56px;border-radius:8px;border:4px solid transparent;background-clip:content-box;background-color:var(--scrollbar-thumb-color,#a5a5a5);transition:background-color .3s}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#727272)}body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#a5a5a5)}:focus{outline:0!important}:focus-visible{outline:auto!important;outline-offset:1px}body{background-color:var(--body-background-color,#fafafa);padding-bottom:1rem}*,::after,::before{box-sizing:border-box}.swagger-ui{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.15;margin:0}.swagger-ui .loading-container .loading:before{border:2px solid var(--loading-container-border-color,rgba(85,85,85,.1));border-top-color:var(--loading-container-border-top-color,rgba(0,0,0,.6))}.swagger-ui .errors-wrapper{background:var(--errors-wrapper-background-color,rgba(249,62,62,.1));border:2px solid var(--errors-wrapper-border-color,#f93e3e)}.swagger-ui .errors-wrapper .errors small{color:var(--errors-wrapper-errors-color,#606060)}.swagger-ui .topbar{background-color:transparent;z-index:1000;padding:0}.swagger-ui .topbar.pinned{position:sticky;top:10px}.swagger-ui .topbar.pinned::before{content:'';position:absolute;inset:-10px 0 0;pointer-events:none;user-select:none;backdrop-filter:blur(20px);-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent);mask-image:linear-gradient(to bottom,black 40%,transparent);background:linear-gradient(90deg,rgba(0,0,0,0) 5%,rgba(8,8,8,.4) 50%,rgba(0,0,0,0) 95%)}.swagger-ui .topbar .topbar-wrapper{background-color:var(--topbar-background-color,#000);border:1px solid var(--topbar-border-color,gray);border-top:0;border-radius:0 0 .5rem .5rem;padding:.5rem;box-shadow:0 5px 15px 0 var(--topbar-pinned-shadow-color,rgba(0,0,0,.5))}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn svg{fill:var(--topbar-pin-icon-color,white)}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn{cursor:pointer;background:0 0;border:none;margin:.8rem;padding:.2rem;transition:.2s;rotate:z 359deg}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:focus-within,.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:hover{scale:1.05;animation:1.2s infinite pintobbar}#scroll-to-top-btn:active,.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:active{scale:0.95}.swagger-ui .topbar.pinned .topbar-wrapper{background-color:var(--topbar-pinned-background-color,rgba(0,0,0,.7));border:1px solid var(--topbar-border-color,gray);border-radius:.5rem;backdrop-filter:blur(20px)}.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn{translate:0 5px;rotate:z 0deg}.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:focus-within,.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:hover{animation:1.2s infinite unpintobbar}@keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@-moz-keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@-webkit-keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@keyframes unpintobbar{10%{translate:0 1px}70%{rotate:z 50deg;translate:-3px 1px}}@-moz-keyframes unpintobbar{10%{translate:0 -4px}70%{rotate:z 50deg;translate:-3px 1px}}@-webkit-keyframes unpintobbar{10%{translate:0 -4px}70%{rotate:z 50deg;translate:-3px 1px}}.swagger-ui .topbar .download-url-wrapper .select-label select,.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid var(--topbar-select-border-color,#62a03f)}.swagger-ui .topbar .download-url-wrapper .select-label{color:var(--topbar-select-label-color,#f0f0f0)}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:var(--topbar-download-url-button-background-color,#62a03f);color:var(--topbar-download-url-button-color,#fff)}.swagger-ui .info a,.swagger-ui .scopes h2 a{color:var(--swagger-info-link,#4990e2)}.swagger-ui .info a:hover{color:var(--swagger-info-link-hover,#1f69c0)}.swagger-ui .info .title small{background:var(--api-version-background-color,#7d8492)}.swagger-ui .info .title small.version-stamp{background-color:var(--api-version-stamp-background-color,#89bf04)}.swagger-ui .info .title small pre{color:var(--api-version-color,#fff)}.swagger-ui .scheme-container{background:0 0;box-shadow:none;margin:0;padding:0}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end;border:1px solid var(--auth-wrapper-border-color,#d5d5d5);padding:0;border-radius:5px;box-shadow:0 3px 5px -5px var(--auth-wrapper-box-shadow-color,#000);background:var(--auth-wrapper-background-color,#fff)}.swagger-ui .auth-container{border-bottom:1px solid var(--auth-container-border-bottom-color,#ebebeb);color:var(--swagger-main-color,#3b4151)}.swagger-ui .auth-container .errors{background-color:var(--auth-container-background-color,#fee);color:var(--auth-container-errors-color,red)}.swagger-ui .btn.authorize{background-color:var(--btn-authorize-background-color,transparent);border-color:var(--btn-authorize-border-color,#49cc90);color:var(--btn-authorize-font-color,#49cc90)}.swagger-ui .btn.authorize svg{fill:var(--btn-authorize-svg-fill-color,#49cc90)}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column;border:1px solid var(--opblock-tag-section-border-color,#ddd);border-radius:.5rem;margin-block:1rem;overflow:clip}.swagger-ui .opblock-tag-section .expand-collapse-all-btn{display:none;user-select:none}.swagger-ui .opblock-tag-section.is-open .expand-collapse-all-btn{background:var(--opblock-tag-section-expandcollapse-background-color,rgb(220 220 220 / 45%));color:var(--swagger-main-color,#3b4151);border:1px solid var(--opblock-tag-section-border-color,#ddd);border-radius:.5rem;padding:5px 10px;font-size:medium;margin-inline:10px;display:block}.swagger-ui .opblock-tag{align-items:center;cursor:pointer;display:flex;padding:10px 20px 10px 10px;color:var(--swagger-main-color,#3b4151);font-size:24px;border-bottom:0 dashed var(--opblock-tag-border-bottom-color,#e1e1e1);margin:0;transition:.2s}.swagger-ui .opblock-tag:focus-within,.swagger-ui .opblock-tag:hover{background:var(--opblock-tag-background-color-hover,rgba(0,0,0,.02))}.swagger-ui .opblock-tag+div .operation-tag-content{margin-inline:5px}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag{position:sticky;top:0;z-index:4;margin-bottom:1rem;border-bottom:1px dashed var(--opblock-tag-border-bottom-color,#e1e1e1);background:var(--body-background-color,#fafafa)}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:focus-within,#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:hover{background:var(--opblock-tag-pinned-background-color-hover,#f1f1f1)}.swagger-ui:has(> .topbar.pinned) .opblock-tag-section.is-open .opblock-tag{top:4.9rem}.swagger-ui .opblock{border:1px solid var(--opblock-border-color,#000);box-shadow:0 0 3px var(--opblock-shadow-color,rgba(0,0,0,.19))}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:var(--opblock-tabheader-underline-color,gray)}.swagger-ui .opblock .opblock-summary button svg{fill:var(--opblock-summary-svg-icons-color,#000)}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--opblock-summary-border-bottom-color,#000)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-post .opblock-summary{border-color:var(--opblock-post-border-color,#49cc90)}.swagger-ui .opblock .opblock-section-header{background:var(--opblock-section-header-background-color,hsla(0,0%,100%,.8));box-shadow:0 1px 2px var(--opblock-section-header-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-method{background:var(--opblock-summary-method-background-color,#000);color:var(--opblock-summary-method-color,#fff);text-shadow:0 1px 0 var(--opblock-summary-method-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--swagger-main-color,#3b4151);word-break:normal}.swagger-ui .opblock.opblock-post{background:var(--opblock-post-background-color,rgba(73,204,144,.1))}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:var(--opblock-post-method-color,#49cc90)}.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-put .opblock-summary{border-color:var(--opblock-put-border-color,#fca130)}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:var(--opblock-post-method-color,#49cc90);border-radius:1rem}.swagger-ui .opblock.opblock-put{background:var(--opblock-put-background-color,rgba(252,161,48,.1))}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:var(--opblock-put-method-color,#fca130)}.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:var(--opblock-delete-border-color,#f93e3e)}.swagger-ui .opblock.opblock-delete{background:var(--opblock-delete-background-color,rgba(249,62,62,.1))}.swagger-ui .opblock.opblock-delete .opblock-summary-method,.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:var(--opblock-delete-method-color,#f93e3e)}.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-get .opblock-summary{border-color:var(--opblock-get-border-color,#61affe)}.swagger-ui .opblock.opblock-get{background:var(--opblock-get-background-color,rgba(97,175,254,.1))}.swagger-ui .opblock.opblock-get .opblock-summary-method,.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:var(--opblock-get-method-color,#61affe)}.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:var(--opblock-patch-border-color,#50e3c2)}.swagger-ui .opblock.opblock-patch{background:var(--opblock-patch-background-color,rgba(80,227,194,.1))}.swagger-ui .opblock.opblock-patch .opblock-summary-method,.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:var(--opblock-patch-method-color,#50e3c2)}.swagger-ui .opblock.opblock-head,.swagger-ui .opblock.opblock-head .opblock-summary{border-color:var(--opblock-head-border-color,#9012fe)}.swagger-ui .opblock.opblock-head{background:var(--opblock-head-background-color,rgba(144,18,254,.1))}.swagger-ui .opblock.opblock-head .opblock-summary-method,.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:var(--opblock-head-method-color,#9012fe)}.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-options .opblock-summary{border-color:var(--opblock-options-border-color,#0d5aa7)}.swagger-ui .opblock.opblock-options{background:var(--opblock-options-background-color,rgba(13,90,167,.1))}.swagger-ui .opblock.opblock-options .opblock-summary-method,.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:var(--opblock-options-method-color,#0d5aa7)}.swagger-ui .opblock.opblock-deprecated,.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:var(--opblock-deprecated-border-color,#ebebeb)}.swagger-ui .opblock.opblock-deprecated{background:var(--opblock-deprecated-background-color,hsla(0,0%,92%,.1))}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method,.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:var(--opblock-deprecated-method-color,#ebebeb)}.swagger-ui .tab li:first-of-type:after{background:var(--swagger-tabs-divider-color,rgba(0,0,0,.2))}.swagger-ui .response-col_links .response-undocumented,.swagger-ui .response-col_status .response-undocumented{color:var(--response-undocumented-color,#909090)}.swagger-ui .response-control-media-type--accept-controller select{border-color:var(--response-control-media-type-color,green)}.swagger-ui .response-control-media-type__accept-message{color:var(--response-control-media-type-color,green)}.swagger-ui .opblock-body pre.microlight{background:var(--opblock-pre-microlight-background-color,#333)!important;color:var(--opblock-pre-microlight-color,#fff)!important}.swagger-ui .download-contents{background:var(--download-contents-background-color,#7d8293);color:var(--download-contents-color,#fff)}.swagger-ui .copy-to-clipboard{background:var(--copy-to-clipboard-background-color,#7d8293)}.swagger-ui .copy-to-clipboard button{background:var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .filter .operation-filter-input{border:2px solid var(--filter-operation-filter-input-border-color,#d8dde7)}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:var(--filter-download-failed-color,red)}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:var(--filter-download-loading-color,#aaa)}.swagger-ui table.headers .header-example{color:var(--table-headers-example-color,#999)}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid var(--table-thead-border-bottom-color,rgba(59,65,81,.2));color:var(--swagger-main-color,#3b4151)}.swagger-ui .parameter__name.required span{color:var(--parameter-name-required-symbol-color,red)}.swagger-ui .parameter__name.required::after{color:var(--parameter-name-required-color,rgba(255,0,0,.6))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in,.swagger-ui .response__extension{color:var(--parameter-in-extension-color,gray)}.swagger-ui .parameter__deprecated{color:var(--parameter-deprecated-color,red)}.swagger-ui .btn,.swagger-ui select,.swagger-ui textarea{color:var(--swagger-main-color,#3b4151)}.swagger-ui .btn{background:var(--button-background-color,transparent);border:2px solid var(--button-border-color,gray);box-shadow:0 1px 2px var(--button-shadow-color,rgba(0,0,0,.1))}.swagger-ui .btn:hover{box-shadow:0 0 5px var(--button-shadow-hover-color,rgba(0,0,0,.3))}.swagger-ui .btn.cancel{background-color:var(--button-cancel-background-color,transparent);border-color:var(--button-cancel-border-color,#ff6060);color:var(--button-cancel-color,#ff6060)}.swagger-ui .btn.execute{background-color:var(--button-execute-background-color,#4990e2);border-color:var(--button-execute-border-color,#4990e2);color:var(--button-execute-color,#fff)}.swagger-ui button.invalid{background:var(--button-invalid-background-color,#feebeb);border-color:var(--button-invalid-border-color,#f93e3e)}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{fill:var(--expand-operation-svg-arrow-color,#707070)}.swagger-ui .expand-methods:hover svg,.swagger-ui .expand-operation:hover svg{fill:var(--expand-operation-svg-arrow-hover-color,#404040)}.swagger-ui select{background:var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat);border:2px solid var(--select-border-color,#41444e);box-shadow:0 1px 2px 0 var(--select-shadow-color,rgba(0,0,0,.25))}.swagger-ui select[multiple]{background:var(--select-background-color,#f7f7f7)}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:var(--input-background-color,#fff);border:1px solid var(--input-border-color,#d9d9d9);color:var(--swagger-main-color,#3b4151)}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui select.invalid,.swagger-ui textarea.invalid{background:var(--input-invalid-background-color,#feebeb);border-color:var(--input-invalid-border-color,#f93e3e);color:var(--input-invalid-color,#3b4151)}.swagger-ui input[disabled],.swagger-ui select[disabled]{background-color:var(--input-disabled-background-color,#fafafa);color:var(--input-disabled-color,#888)}.swagger-ui select[disabled]{border-color:var(--select-disabled-border-color,#888)}.swagger-ui textarea[disabled]{background-color:var(--textarea-disabled-background-color,#41444e);color:var(--textarea-disabled-color,#fff)}.swagger-ui textarea{background:var(--textarea-background-color,hsla(0,0%,100%,.8))}.swagger-ui textarea:focus{border:2px solid var(--textarea-border-focus-color,#61affe)}.swagger-ui textarea.curl{background:var(--textarea-curl-background-color,#41444e);color:var(--textarea-curl-color,#fff)}.swagger-ui .checkbox{color:var(--checkbox-color,#303030)}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:var(--checkbox-label-item-background-color,#e8e8e8);box-shadow:0 0 0 2px var(--checkbox-label-item-shadow-color,#e8e8e8)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .dialog-ux .backdrop-ux{background:var(--dialog-backdrop-color,rgba(0,0,0,.8))}.swagger-ui .dialog-ux .modal-ux{background:var(--dialog-background-color,#fff);border:1px solid var(--dialog-border-color,#ebebeb);box-shadow:0 10px 30px 0 var(--dialog-shadow-color,rgba(0,0,0,.2))}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--dialog-border-color,#ebebeb)}.swagger-ui .dialog-ux .modal-ux-header button svg{fill:var(--dialog-close-button-icon-color,black)}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:var(--model-deprecated-color,#a0a0a0)!important}.swagger-ui .model-toggle{cursor:pointer;-webkit-transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{-webkit-transform:rotate(0);transform:rotate(0)}.swagger-ui .model-toggle::after{background:var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .model-hint{background:var(--model-hint-background-color,rgba(0,0,0,.7));color:var(--model-hint-color,#ebebeb)}.swagger-ui .model .property{color:var(--model-property-color,#999)}.swagger-ui .model .property.primitive{color:var(--model-property-primitive-color,#6b6b6b)}.swagger-ui table.model tr.property-row .star{color:var(--model-property-required-symbol-color,red)}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:var(--model-property-description,#666)}.swagger-ui table.model tr.extension{color:var(--model-property-extension,#777)}.swagger-ui section.models{border:1px solid var(--model-section-border-color,rgba(59,65,81,.3));border-radius:.5rem;padding:0;margin:0}.swagger-ui section.models.is-open h4{border-bottom:1px solid var(--model-section-border-color,rgba(59,65,81,.3))}.swagger-ui section.models h4{color:var(--model-section-header-color,#606060);padding:0}.swagger-ui section.models h4:hover{background:var(--model-section-header-hover-background-color,rgba(0,0,0,.02))}.swagger-ui section.models h4 svg{fill:var(--expand-model-svg-arrow-color,#707070)}.swagger-ui section.models h4 button.models-control{color:var(--model-section-header-color,#606060);padding:20px}.swagger-ui section.models h5{color:var(--model-section-little-header-color,#707070)}.swagger-ui section.models .model-container{background:var(--model-container-background-color,rgba(0,0,0,.05))}.swagger-ui section.models .model-container:hover{background:var(--model-container-hover-background-color,rgba(0,0,0,.07))}.swagger-ui .model-box{background:var(--model-box-background-color,rgba(0,0,0,.1))}.swagger-ui .model-title{color:var(--model-title-color,#505050)}.swagger-ui .model-deprecated-warning{color:var(--model-deprecated-warning-color,#f93e3e)}.swagger-ui .prop-type{color:var(--model-prop-type-color,#55a)}.swagger-ui .prop-format{color:var(--model-prop-format-color,#606060)}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{color:var(--rendered-markdown-pre-color,#000)}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:var(--rendered-markdown-code-background-color,rgba(0,0,0,.05));color:var(--rendered-markdown-code-color,#9012fe)}.scroll-to-top-wrapper{position:fixed;bottom:0;left:0;right:0;text-align:end;box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%;pointer-events:none}#scroll-to-top-btn{background-color:var(--scroll-to-top-button-background-color,#000000d1);border:1px solid var(--scroll-to-top-button-border-color,#d1c9c9);border-radius:50%;color:#fff;cursor:pointer;width:2.5rem;aspect-ratio:1;backdrop-filter:blur(20px);margin:10px;position:relative;transition:background-color .5s,opacity .6s .2s,translate .8s,scale .2s;opacity:0;translate:0 100px;box-shadow:0 0 10px 0 var(--scroll-to-top-button-shadow-color,rgba(0,0,0,.4))}#scroll-to-top-btn.showBtn{opacity:1;translate:0 0;pointer-events:auto}#scroll-to-top-btn::before{position:absolute;content:'';top:10px;left:12px;right:12px;background-color:var(--scroll-to-top-button-icon-color,#fff);border-radius:1rem;height:2px}#scroll-to-top-btn::after{position:absolute;content:'';top:15px;left:50%;border:solid var(--scroll-to-top-button-icon-color,#fff);border-width:0 2px 2px 0;padding:3px;transform:rotate(-135deg);translate:-50% 4px}#scroll-to-top-btn:focus-within,#scroll-to-top-btn:hover{background-color:var(--scroll-to-top-button-hover-background-color,#0d0d0dba)}#scroll-to-top-btn:focus-within::after,#scroll-to-top-btn:hover::after{animation:1.2s ease-in infinite bounceUp}@keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@-moz-keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@-webkit-keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@media only screen and (max-width:680px){.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{word-break:break-all}} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.css index a04bbd5..ce542f8 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.css @@ -1,11 +1,13 @@ /* - Dark Style + Dark Theme https://github.com/teociaps/SwaggerUI.Themes */ @media (prefers-color-scheme: dark) { :root { + --scrollbar-thumb-color: hsl(0, 0%, 45%); + --scrollbar-thumb-hover-color: hsl(0, 0%, 55%); --body-background-color: #101010; --swagger-main-color: #ecf0f1; /* Loading */ @@ -17,6 +19,10 @@ --errors-wrapper-errors-color: #606060; /* Top-bar */ --topbar-background-color: black; + --topbar-pinned-background-color: rgba(0, 0, 0, .3); + --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); + --topbar-pin-icon-color: white; + --topbar-border-color: gray; --topbar-select-border-color: #5b5b5b; --topbar-select-label-color: #dfd9d9; --topbar-download-url-button-background-color: #5b5b5b; @@ -28,20 +34,23 @@ --api-version-stamp-background-color: #23891f; --api-version-color: #cdcdcd; /* Authorize Section/Modal */ - --scheme-container-background-color: #202020; - --scheme-container-box-shadow-color: rgba(67, 67, 67, 0.3); + --auth-wrapper-background-color: black; + --auth-wrapper-border-color: #383636; + --auth-wrapper-box-shadow-color: #c1c1c1; --auth-container-border-bottom-color: #ebebeb; --auth-container-background-color: #ddd; --auth-container-errors-color: red; --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #ecf0f1; - --btn-authorize-font-color: #ecf0f1; - --btn-authorize-svg-fill-color: #ecf0f1; + --btn-authorize-border-color: #49cc90; + --btn-authorize-font-color: #49cc90; + --btn-authorize-svg-fill-color: #49cc90; /* Operations */ + --opblock-tag-section-border-color: #312c2c; + --opblock-border-color: black; + --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); --opblock-tag-pinned-background-color-hover: #0e0e0e; - --opblock-tag-border-bottom-color: rgba(59, 65, 81, .3); - --opblock-border-color: black; + --opblock-tag-border-bottom-color: rgba(109, 113, 121, .3); --opblock-shadow-color: rgba(59, 59, 59, .19); --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); --opblock-summary-svg-icons-color: white; @@ -173,5 +182,11 @@ --rendered-markdown-pre-color: #000; --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); --rendered-markdown-code-color: #9012fe; + /* Scroll to top button */ + --scroll-to-top-button-background-color: #00000085; + --scroll-to-top-button-hover-background-color: #0d0d0d85; + --scroll-to-top-button-border-color: #232323; + --scroll-to-top-button-icon-color: #d1cccc; + --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); } } \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.min.css index 87b636e..0d45e7f 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/dark.min.css @@ -1 +1 @@ -/*Dark Style*/@media (prefers-color-scheme:dark){:root{--body-background-color:#101010;--swagger-main-color:#ecf0f1;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .1);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#606060;--topbar-background-color:black;--topbar-select-border-color:#5b5b5b;--topbar-select-label-color:#dfd9d9;--topbar-download-url-button-background-color:#5b5b5b;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#4990e2;--swagger-info-link-hover:#1b78e5;--api-version-background-color:#616161;--api-version-stamp-background-color:#23891f;--api-version-color:#cdcdcd;--scheme-container-background-color:#202020;--scheme-container-box-shadow-color:rgba(67, 67, 67, 0.3);--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#ecf0f1;--btn-authorize-font-color:#ecf0f1;--btn-authorize-svg-fill-color:#ecf0f1;--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#0e0e0e;--opblock-tag-border-bottom-color:rgba(59, 65, 81, .3);--opblock-border-color:black;--opblock-shadow-color:rgba(59, 59, 59, .19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(56, 203, 82, .1);--opblock-post-method-color:#49cc90;--opblock-post-border-color:#49cc90;--opblock-put-background-color:rgba(255, 189, 63, .1);--opblock-put-method-color:#eb9532;--opblock-put-border-color:#eb9532;--opblock-delete-background-color:rgba(255, 4, 4, .1);--opblock-delete-method-color:#c0392b;--opblock-delete-border-color:#c0392b;--opblock-get-background-color:rgb(33, 161, 255, .1);--opblock-get-method-color:#61affe;--opblock-get-border-color:#61affe;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(62, 73, 114, .1);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(37, 64, 211, .1);--opblock-options-method-color:#263795;--opblock-options-border-color:#263795;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#999;--response-control-media-type-color:green;--opblock-pre-microlight-background-color:#333;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#7d8293;--download-contents-color:white;--copy-to-clipboard-background-color:#7d8293;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#999;--table-thead-border-bottom-color:rgba(59, 65, 81, .2);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#a1a1a1;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#4990e2;--button-execute-border-color:#5fa9ff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#aaa;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#41444e;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0c0c0c;--input-border-color:#6d6d6d;--input-invalid-background-color:#210101;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#333333;--input-disabled-color:#757575;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#a5a5a5;--textarea-curl-background-color:#41444e;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(0, 0, 0, .8);--dialog-background-color:#161616;--dialog-border-color:#333436;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#999;--model-property-primitive-color:#676767;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#8d8a8a;--model-section-border-color:rgba(96, 96, 96, .3);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#bec6cf;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#6464db;--model-prop-format-color:#b7b7b7;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe}} \ No newline at end of file +/*Dark Theme*/@media (prefers-color-scheme:dark){:root{--scrollbar-thumb-color:hsl(0, 0%, 45%);--scrollbar-thumb-hover-color:hsl(0, 0%, 55%);--body-background-color:#101010;--swagger-main-color:#ecf0f1;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .1);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#606060;--topbar-background-color:black;--topbar-pinned-background-color:rgba(0, 0, 0, .3);--topbar-pinned-shadow-color:rgba(0, 0, 0, .6);--topbar-pin-icon-color:white;--topbar-border-color:gray;--topbar-select-border-color:#5b5b5b;--topbar-select-label-color:#dfd9d9;--topbar-download-url-button-background-color:#5b5b5b;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#4990e2;--swagger-info-link-hover:#1b78e5;--api-version-background-color:#616161;--api-version-stamp-background-color:#23891f;--api-version-color:#cdcdcd;--auth-wrapper-background-color:black;--auth-wrapper-border-color:#383636;--auth-wrapper-box-shadow-color:#c1c1c1;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#49cc90;--btn-authorize-font-color:#49cc90;--btn-authorize-svg-fill-color:#49cc90;--opblock-tag-section-border-color:#312c2c;--opblock-border-color:black;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#0e0e0e;--opblock-tag-border-bottom-color:rgba(109, 113, 121, .3);--opblock-shadow-color:rgba(59, 59, 59, .19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(56, 203, 82, .1);--opblock-post-method-color:#49cc90;--opblock-post-border-color:#49cc90;--opblock-put-background-color:rgba(255, 189, 63, .1);--opblock-put-method-color:#eb9532;--opblock-put-border-color:#eb9532;--opblock-delete-background-color:rgba(255, 4, 4, .1);--opblock-delete-method-color:#c0392b;--opblock-delete-border-color:#c0392b;--opblock-get-background-color:rgb(33, 161, 255, .1);--opblock-get-method-color:#61affe;--opblock-get-border-color:#61affe;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(62, 73, 114, .1);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(37, 64, 211, .1);--opblock-options-method-color:#263795;--opblock-options-border-color:#263795;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#999;--response-control-media-type-color:green;--opblock-pre-microlight-background-color:#333;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#7d8293;--download-contents-color:white;--copy-to-clipboard-background-color:#7d8293;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#999;--table-thead-border-bottom-color:rgba(59, 65, 81, .2);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#a1a1a1;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#4990e2;--button-execute-border-color:#5fa9ff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#aaa;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#41444e;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0c0c0c;--input-border-color:#6d6d6d;--input-invalid-background-color:#210101;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#333333;--input-disabled-color:#757575;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#a5a5a5;--textarea-curl-background-color:#41444e;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(0, 0, 0, .8);--dialog-background-color:#161616;--dialog-border-color:#333436;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#999;--model-property-primitive-color:#676767;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#8d8a8a;--model-section-border-color:rgba(96, 96, 96, .3);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#bec6cf;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#6464db;--model-prop-format-color:#b7b7b7;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#00000085;--scroll-to-top-button-hover-background-color:#0d0d0d85;--scroll-to-top-button-border-color:#232323;--scroll-to-top-button-icon-color:#d1cccc;--scroll-to-top-button-shadow-color:rgba(0, 0, 0, .3)}} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.css index d87f55f..385bd56 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.css @@ -1,10 +1,12 @@ /* - DeepSea Style + DeepSea Theme https://github.com/teociaps/SwaggerUI.Themes */ :root { + --scrollbar-thumb-color: hsl(207, 100%, 23%); + --scrollbar-thumb-hover-color: hsl(207, 100%, 30%); --body-background-color: #0a1229; --swagger-main-color: #fff; /* Loading */ @@ -16,6 +18,10 @@ --errors-wrapper-errors-color: #bdbdbd; /* Top-bar */ --topbar-background-color: #010225; + --topbar-pinned-background-color: rgb(0, 0, 30, .5); + --topbar-pinned-shadow-color: rgba(0, 0, 16, .5); + --topbar-pin-icon-color: white; + --topbar-border-color: #008ab3; --topbar-select-border-color: #007dd5; --topbar-select-label-color: #f1f1f1; --topbar-download-url-button-background-color: #165d9a; @@ -27,8 +33,9 @@ --api-version-stamp-background-color: #44c0fb; --api-version-color: white; /* Authorize Section/Modal */ - --scheme-container-background-color: #1d6968; - --scheme-container-box-shadow-color: rgba(0, 0, 0, .3); + --auth-wrapper-background-color: #1d6968; + --auth-wrapper-border-color: #60ffdc; + --auth-wrapper-box-shadow-color: rgba(0, 0, 0, .3); --auth-container-border-bottom-color: #171725; --auth-container-background-color: #1c366f; --auth-container-errors-color: red; @@ -37,11 +44,13 @@ --btn-authorize-font-color: #fbffff; --btn-authorize-svg-fill-color: #fbffff; /* Operations */ - --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); - --opblock-tag-pinned-background-color-hover: #091024; - --opblock-tag-border-bottom-color: rgba(250, 250, 250, .3); + --opblock-tag-section-border-color: #065687; --opblock-border-color: white; --opblock-shadow-color: rgba(0, 0, 0, .2); + --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); + --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); + --opblock-tag-pinned-background-color-hover: #091024; + --opblock-tag-border-bottom-color: #065687c9; --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); --opblock-summary-svg-icons-color: white; --opblock-summary-border-bottom-color: white; @@ -156,7 +165,7 @@ --model-property-required-symbol-color: red; --model-property-description: #b9b9b9; --model-property-extension: #aba6a6; - --model-section-border-color: rgba(136, 170, 212, .50); + --model-section-border-color: rgba(56, 131, 223, .5); --model-section-header-color: white; --model-section-header-hover-background-color: rgba(0, 0, 0, .02); --expand-model-svg-arrow-color: white; @@ -172,4 +181,10 @@ --rendered-markdown-pre-color: #000; --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); --rendered-markdown-code-color: #9012fe; + /* Scroll to top button */ + --scroll-to-top-button-background-color: #02001ec2; + --scroll-to-top-button-hover-background-color: #020d35b8; + --scroll-to-top-button-border-color: #002648; + --scroll-to-top-button-icon-color: #7becff; + --scroll-to-top-button-shadow-color: rgba(8, 25, 114, .5); } \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.min.css index 13b2c1b..b4a4a67 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/deepsea.min.css @@ -1 +1 @@ -/*DeepSea Style*/:root{--body-background-color:#0a1229;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#010225;--topbar-select-border-color:#007dd5;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#165d9a;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#99a5ff;--swagger-info-link-hover:#3484d5;--api-version-background-color:#d15647;--api-version-stamp-background-color:#44c0fb;--api-version-color:white;--scheme-container-background-color:#1d6968;--scheme-container-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#171725;--auth-container-background-color:#1c366f;--auth-container-errors-color:red;--btn-authorize-background-color:#1c2541;--btn-authorize-border-color:#45e1d1;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#091024;--opblock-tag-border-bottom-color:rgba(250, 250, 250, .3);--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(33, 161, 255, .1);--opblock-post-method-color:#61affe;--opblock-post-border-color:#61affe;--opblock-put-background-color:rgba(0, 73, 133, .2);--opblock-put-method-color:#004985;--opblock-put-border-color:#004985;--opblock-delete-background-color:rgba(20, 41, 111, .14);--opblock-delete-method-color:#14296f;--opblock-delete-border-color:#14296f;--opblock-get-background-color:rgba(0, 127, 110, .2);--opblock-get-method-color:#007f6e;--opblock-get-border-color:#007f6e;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(43, 55, 99, .36);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(129, 0, 100, .3);--opblock-options-method-color:#810064;--opblock-options-border-color:#810064;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#00ffe8;--opblock-pre-microlight-background-color:#1b2847;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#0e0d2e;--download-contents-color:white;--copy-to-clipboard-background-color:#0e0d2e;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgba(0, 0, 0, .20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#a8a8a8;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#1f81ff;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#16589f;--button-execute-border-color:#5f9eff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0e0d2edc url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#949cf5;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0e0d2edc;--input-border-color:#949cf5;--input-invalid-background-color:#630000;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#1b2847;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#171122;--textarea-disabled-background-color:#1b2847;--textarea-disabled-color:#ebe3e3;--textarea-background-color:#0e0d2edc;--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#94cef5;--textarea-curl-color:#fff;--checkbox-color:#151431;--checkbox-label-item-background-color:#165d9a;--checkbox-label-item-shadow-color:#165d9a;--checkbox-label-item-icon:#165d9a url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(2, 0, 18, 0.80);--dialog-background-color:#081c3b;--dialog-border-color:#0e3779;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(136, 170, 212, .50);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#8a8a8a;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#dedede;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#4ca3ff;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe} \ No newline at end of file +/*DeepSea Theme*/:root{--scrollbar-thumb-color:hsl(207, 100%, 23%);--scrollbar-thumb-hover-color:hsl(207, 100%, 30%);--body-background-color:#0a1229;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#010225;--topbar-pinned-background-color:rgb(0, 0, 30, .5);--topbar-pinned-shadow-color:rgba(0, 0, 16, .5);--topbar-pin-icon-color:white;--topbar-border-color:#008ab3;--topbar-select-border-color:#007dd5;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#165d9a;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#99a5ff;--swagger-info-link-hover:#3484d5;--api-version-background-color:#d15647;--api-version-stamp-background-color:#44c0fb;--api-version-color:white;--auth-wrapper-background-color:#1d6968;--auth-wrapper-border-color:#60ffdc;--auth-wrapper-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#171725;--auth-container-background-color:#1c366f;--auth-container-errors-color:red;--btn-authorize-background-color:#1c2541;--btn-authorize-border-color:#45e1d1;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-section-border-color:#065687;--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#091024;--opblock-tag-border-bottom-color:#065687c9;--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(33, 161, 255, .1);--opblock-post-method-color:#61affe;--opblock-post-border-color:#61affe;--opblock-put-background-color:rgba(0, 73, 133, .2);--opblock-put-method-color:#004985;--opblock-put-border-color:#004985;--opblock-delete-background-color:rgba(20, 41, 111, .14);--opblock-delete-method-color:#14296f;--opblock-delete-border-color:#14296f;--opblock-get-background-color:rgba(0, 127, 110, .2);--opblock-get-method-color:#007f6e;--opblock-get-border-color:#007f6e;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(43, 55, 99, .36);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(129, 0, 100, .3);--opblock-options-method-color:#810064;--opblock-options-border-color:#810064;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#00ffe8;--opblock-pre-microlight-background-color:#1b2847;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#0e0d2e;--download-contents-color:white;--copy-to-clipboard-background-color:#0e0d2e;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgba(0, 0, 0, .20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#a8a8a8;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#1f81ff;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#16589f;--button-execute-border-color:#5f9eff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0e0d2edc url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#949cf5;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0e0d2edc;--input-border-color:#949cf5;--input-invalid-background-color:#630000;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#1b2847;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#171122;--textarea-disabled-background-color:#1b2847;--textarea-disabled-color:#ebe3e3;--textarea-background-color:#0e0d2edc;--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#94cef5;--textarea-curl-color:#fff;--checkbox-color:#151431;--checkbox-label-item-background-color:#165d9a;--checkbox-label-item-shadow-color:#165d9a;--checkbox-label-item-icon:#165d9a url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(2, 0, 18, 0.80);--dialog-background-color:#081c3b;--dialog-border-color:#0e3779;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(56, 131, 223, .5);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#8a8a8a;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#dedede;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#4ca3ff;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#02001ec2;--scroll-to-top-button-hover-background-color:#020d35b8;--scroll-to-top-button-border-color:#002648;--scroll-to-top-button-icon-color:#7becff;--scroll-to-top-button-shadow-color:rgba(8, 25, 114, .5)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.css index 75bf1c0..60682b2 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.css @@ -1,10 +1,12 @@ /* - Desert Style + Desert Theme https://github.com/teociaps/SwaggerUI.Themes */ :root { + --scrollbar-thumb-color: hsl(40, 40%, 30%); + --scrollbar-thumb-hover-color: hsl(40, 40%, 35%); --body-background-color: #c58c59; --swagger-main-color: #ffffff; /* Loading */ @@ -16,6 +18,10 @@ --errors-wrapper-errors-color: #3f1616; /* Top-bar */ --topbar-background-color: #573420; + --topbar-pinned-background-color: rgba(0, 0, 0, .5); + --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); + --topbar-pin-icon-color: white; + --topbar-border-color: #60360b; --topbar-select-border-color: #8F5933; --topbar-select-label-color: #ffeec8; --topbar-download-url-button-background-color: #774109; @@ -27,8 +33,9 @@ --api-version-stamp-background-color: #a96105; --api-version-color: #ffffff; /* Authorize Section/Modal */ - --scheme-container-background-color: #cd753d; - --scheme-container-box-shadow-color: rgb(51 0 0 / 30%); + --auth-wrapper-background-color: #cd753d; + --auth-wrapper-border-color: #b25f2a; + --auth-wrapper-box-shadow-color: #6b48178c; --auth-container-border-bottom-color: #ebebeb; --auth-container-background-color: #ddd; --auth-container-errors-color: red; @@ -37,11 +44,13 @@ --btn-authorize-font-color: #caff85; --btn-authorize-svg-fill-color: #caff85; /* Operations */ + --opblock-tag-section-border-color: #92491a; + --opblock-border-color: black; + --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 10%); --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); --opblock-tag-pinned-background-color-hover: #bb8656; - --opblock-tag-border-bottom-color: rgb(78, 56, 56, 0.30); - --opblock-border-color: black; - --opblock-shadow-color: rgba(59, 59, 59, .19); + --opblock-tag-border-bottom-color: rgb(78, 38, 18, 0.30); + --opblock-shadow-color: rgb(74, 25, 25, 0.19); --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); --opblock-summary-svg-icons-color: white; --opblock-summary-border-bottom-color: black; @@ -172,4 +181,10 @@ --rendered-markdown-pre-color: #000; --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); --rendered-markdown-code-color: #9012fe; + /* Scroll to top button */ + --scroll-to-top-button-background-color: #2c120285; + --scroll-to-top-button-hover-background-color: #3d210c85; + --scroll-to-top-button-border-color: #60360b; + --scroll-to-top-button-icon-color: #ffedbc; + --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); } \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.min.css index 9c8e398..03f22c7 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/desert.min.css @@ -1 +1 @@ -/*Desert Style*/:root{--body-background-color:#c58c59;--swagger-main-color:#ffffff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .2);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#3f1616;--topbar-background-color:#573420;--topbar-select-border-color:#8F5933;--topbar-select-label-color:#ffeec8;--topbar-download-url-button-background-color:#774109;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#cedaff;--swagger-info-link-hover:#a4d5ff;--api-version-background-color:#85ce34;--api-version-stamp-background-color:#a96105;--api-version-color:#ffffff;--scheme-container-background-color:#cd753d;--scheme-container-box-shadow-color:rgb(51 0 0 / 30%);--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#a0e249;--btn-authorize-font-color:#caff85;--btn-authorize-svg-fill-color:#caff85;--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#bb8656;--opblock-tag-border-bottom-color:rgb(78, 56, 56, 0.30);--opblock-border-color:black;--opblock-shadow-color:rgba(59, 59, 59, .19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgb(125 113 58 / 24%);--opblock-post-method-color:#7D713A;--opblock-post-border-color:#7D713A;--opblock-put-background-color:rgb(193 91 22 / 16%);--opblock-put-method-color:#c15b16;--opblock-put-border-color:#c15b16;--opblock-delete-background-color:rgb(157 66 26 / 17%);--opblock-delete-method-color:#9d421a;--opblock-delete-border-color:#9d421a;--opblock-get-background-color:rgb(84 150 182 / 18%);--opblock-get-method-color:#5496B6;--opblock-get-border-color:#5496B6;--opblock-patch-background-color:rgb(141 111 155 / 18%);--opblock-patch-method-color:#8D6F9B;--opblock-patch-border-color:#8D6F9B;--opblock-head-background-color:rgb(67 64 99 / 18%);--opblock-head-method-color:#434063;--opblock-head-border-color:#434063;--opblock-options-background-color:rgb(241 145 121 / 20%);--opblock-options-method-color:#F19179;--opblock-options-border-color:#F19179;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:#d9d0d0;--response-undocumented-color:#ece2e2;--response-control-media-type-color:#5dff5d;--opblock-pre-microlight-background-color:#301d00;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#896648;--download-contents-color:white;--copy-to-clipboard-background-color:#896648;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#ece2e2;--table-thead-border-bottom-color:rgb(79, 52, 52, 0.20);--parameter-name-required-symbol-color:#590000;--parameter-name-required-color:rgb(53 0 0 / 80%);--parameter-in-extension-color:#dfd7d7;--parameter-deprecated-color:#610000;--button-background-color:transparent;--button-border-color:#ffdbaf;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#da4e4e;--button-cancel-color:#ffb8b8;--button-execute-background-color:#4990e2;--button-execute-border-color:#9fccff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:white;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#301d00 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#8F5933;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#301d00;--input-border-color:#8F5933;--input-invalid-background-color:#6f0f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#ffb3b3;--input-disabled-background-color:#572f25;--input-disabled-color:#b3b3b3;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#b5794f;--textarea-curl-background-color:#301d00;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(20 0 0 / 80%);--dialog-background-color:#935F39;--dialog-border-color:#F2D58C;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#e1c3c3;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#e9dede;--model-property-primitive-color:#fdebeb;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#cdbebe;--model-section-border-color:rgb(67 1 1 / 30%);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#e3d2d2;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#ffffff;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#fffa4d;--model-prop-format-color:#f9ffc5;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe} \ No newline at end of file +/*Desert Theme*/:root{--scrollbar-thumb-color:hsl(40, 40%, 30%);--scrollbar-thumb-hover-color:hsl(40, 40%, 35%);--body-background-color:#c58c59;--swagger-main-color:#ffffff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .2);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#3f1616;--topbar-background-color:#573420;--topbar-pinned-background-color:rgba(0, 0, 0, .5);--topbar-pinned-shadow-color:rgba(0, 0, 0, .6);--topbar-pin-icon-color:white;--topbar-border-color:#60360b;--topbar-select-border-color:#8F5933;--topbar-select-label-color:#ffeec8;--topbar-download-url-button-background-color:#774109;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#cedaff;--swagger-info-link-hover:#a4d5ff;--api-version-background-color:#85ce34;--api-version-stamp-background-color:#a96105;--api-version-color:#ffffff;--auth-wrapper-background-color:#cd753d;--auth-wrapper-border-color:#b25f2a;--auth-wrapper-box-shadow-color:#6b48178c;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#a0e249;--btn-authorize-font-color:#caff85;--btn-authorize-svg-fill-color:#caff85;--opblock-tag-section-border-color:#92491a;--opblock-border-color:black;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 10%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#bb8656;--opblock-tag-border-bottom-color:rgb(78, 38, 18, 0.30);--opblock-shadow-color:rgb(74, 25, 25, 0.19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgb(125 113 58 / 24%);--opblock-post-method-color:#7D713A;--opblock-post-border-color:#7D713A;--opblock-put-background-color:rgb(193 91 22 / 16%);--opblock-put-method-color:#c15b16;--opblock-put-border-color:#c15b16;--opblock-delete-background-color:rgb(157 66 26 / 17%);--opblock-delete-method-color:#9d421a;--opblock-delete-border-color:#9d421a;--opblock-get-background-color:rgb(84 150 182 / 18%);--opblock-get-method-color:#5496B6;--opblock-get-border-color:#5496B6;--opblock-patch-background-color:rgb(141 111 155 / 18%);--opblock-patch-method-color:#8D6F9B;--opblock-patch-border-color:#8D6F9B;--opblock-head-background-color:rgb(67 64 99 / 18%);--opblock-head-method-color:#434063;--opblock-head-border-color:#434063;--opblock-options-background-color:rgb(241 145 121 / 20%);--opblock-options-method-color:#F19179;--opblock-options-border-color:#F19179;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:#d9d0d0;--response-undocumented-color:#ece2e2;--response-control-media-type-color:#5dff5d;--opblock-pre-microlight-background-color:#301d00;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#896648;--download-contents-color:white;--copy-to-clipboard-background-color:#896648;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#ece2e2;--table-thead-border-bottom-color:rgb(79, 52, 52, 0.20);--parameter-name-required-symbol-color:#590000;--parameter-name-required-color:rgb(53 0 0 / 80%);--parameter-in-extension-color:#dfd7d7;--parameter-deprecated-color:#610000;--button-background-color:transparent;--button-border-color:#ffdbaf;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#da4e4e;--button-cancel-color:#ffb8b8;--button-execute-background-color:#4990e2;--button-execute-border-color:#9fccff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:white;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#301d00 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#8F5933;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#301d00;--input-border-color:#8F5933;--input-invalid-background-color:#6f0f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#ffb3b3;--input-disabled-background-color:#572f25;--input-disabled-color:#b3b3b3;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#b5794f;--textarea-curl-background-color:#301d00;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(20 0 0 / 80%);--dialog-background-color:#935F39;--dialog-border-color:#F2D58C;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#e1c3c3;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#e9dede;--model-property-primitive-color:#fdebeb;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#cdbebe;--model-section-border-color:rgb(67 1 1 / 30%);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#e3d2d2;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#ffffff;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#fffa4d;--model-prop-format-color:#f9ffc5;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#2c120285;--scroll-to-top-button-hover-background-color:#3d210c85;--scroll-to-top-button-border-color:#60360b;--scroll-to-top-button-icon-color:#ffedbc;--scroll-to-top-button-shadow-color:rgba(0, 0, 0, .3)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.css index c7a7818..c7aaed1 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.css @@ -1,10 +1,12 @@ /* - Forest Style + Forest Theme https://github.com/teociaps/SwaggerUI.Themes */ :root { + --scrollbar-thumb-color: hsl(115, 100%, 30%); + --scrollbar-thumb-hover-color: hsl(115, 100%, 40%); --body-background-color: #0e2702; --swagger-main-color: #fff; /* Loading */ @@ -16,6 +18,10 @@ --errors-wrapper-errors-color: #bdbdbd; /* Top-bar */ --topbar-background-color: #0f1a01; + --topbar-pinned-background-color: rgb(0, 25, 2, .5); + --topbar-pinned-shadow-color: rgba(0, 10, 2, .5); + --topbar-pin-icon-color: white; + --topbar-border-color: #095300; --topbar-select-border-color: #43b715; --topbar-select-label-color: #f1f1f1; --topbar-download-url-button-background-color: #43b715; @@ -27,8 +33,9 @@ --api-version-stamp-background-color: #907a48; --api-version-color: black; /* Authorize Section/Modal */ - --scheme-container-background-color: #2d2010; - --scheme-container-box-shadow-color: rgba(0, 0, 0, .3); + --auth-wrapper-background-color: #2d2010; + --auth-wrapper-border-color: #422e15; + --auth-wrapper-box-shadow-color: rgba(0, 0, 0, .3); --auth-container-border-bottom-color: #251717; --auth-container-background-color: #3a4928; --auth-container-errors-color: red; @@ -37,11 +44,13 @@ --btn-authorize-font-color: #fbffff; --btn-authorize-svg-fill-color: #fbffff; /* Operations */ - --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); - --opblock-tag-pinned-background-color-hover: #0d2402; - --opblock-tag-border-bottom-color: rgba(250, 250, 250, .3); + --opblock-tag-section-border-color: rgb(62, 165, 55); --opblock-border-color: white; --opblock-shadow-color: rgba(0, 0, 0, .2); + --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); + --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); + --opblock-tag-pinned-background-color-hover: #0d2402; + --opblock-tag-border-bottom-color: rgba(212, 191, 136, .5); --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); --opblock-summary-svg-icons-color: white; --opblock-summary-border-bottom-color: white; @@ -172,4 +181,10 @@ --rendered-markdown-pre-color: #000; --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); --rendered-markdown-code-color: #9012fe; + /* Scroll to top button */ + --scroll-to-top-button-background-color: #002c02db; + --scroll-to-top-button-hover-background-color: #003e03ca; + --scroll-to-top-button-border-color: #43b715; + --scroll-to-top-button-icon-color: #7cff54; + --scroll-to-top-button-shadow-color: rgba(8, 114, 36, .50); } \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.min.css index ded268b..a50bd88 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/forest.min.css @@ -1 +1 @@ -/*Forest Style*/:root{--body-background-color:#0e2702;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#0f1a01;--topbar-select-border-color:#43b715;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#43b715;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#e9d98d;--swagger-info-link-hover:#bccf29;--api-version-background-color:#d4bf88;--api-version-stamp-background-color:#907a48;--api-version-color:black;--scheme-container-background-color:#2d2010;--scheme-container-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#251717;--auth-container-background-color:#3a4928;--auth-container-errors-color:red;--btn-authorize-background-color:#451f1f;--btn-authorize-border-color:#ededed;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#0d2402;--opblock-tag-border-bottom-color:rgba(250, 250, 250, .3);--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(62, 163, 54, .24);--opblock-post-method-color:#228738;--opblock-post-border-color:#228738;--opblock-put-background-color:rgba(255, 167, 0, .3);--opblock-put-method-color:#c95f00;--opblock-put-border-color:#c95f00;--opblock-delete-background-color:rgba(255, 0, 0, .14);--opblock-delete-method-color:#631f03;--opblock-delete-border-color:#631f03;--opblock-get-background-color:rgba(151, 255, 0, .17);--opblock-get-method-color:#9f9400;--opblock-get-border-color:#9f9400;--opblock-patch-background-color:rgba(133, 117, 69, .25);--opblock-patch-method-color:#857545;--opblock-patch-border-color:#857545;--opblock-head-background-color:rgba(55, 50, 6, .8);--opblock-head-method-color:#4b4719;--opblock-head-border-color:#4b4719;--opblock-options-background-color:rgba(19, 22, 19, .3);--opblock-options-method-color:#131613;--opblock-options-border-color:#131613;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#74ff74;--opblock-pre-microlight-background-color:#47331b;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#2e0d0d;--download-contents-color:white;--copy-to-clipboard-background-color:#2e0d0d;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgb(0, 0, 0, 0.20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#58a851;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#346719;--button-execute-border-color:#478d26;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#2b1414e0 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#9ef594;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#2b1414e0;--input-border-color:#9ef594;--input-invalid-background-color:#510f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#47331b;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#211;--textarea-disabled-background-color:#47331b;--textarea-disabled-color:#ebe3e3;--textarea-background-color:hsla(0, 36%, 12%, .8);--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#9ef594;--textarea-curl-color:#fff;--checkbox-color:#311414;--checkbox-label-item-background-color:#2c7a30;--checkbox-label-item-shadow-color:#2c7a30;--checkbox-label-item-icon:#2c7a30 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(2, 18, 0, .8);--dialog-background-color:#29351b;--dialog-border-color:#4b6b3c;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(212, 191, 136, .5);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#d9d9d9;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#2fff41;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe} \ No newline at end of file +/*Forest Theme*/:root{--scrollbar-thumb-color:hsl(115, 100%, 30%);--scrollbar-thumb-hover-color:hsl(115, 100%, 40%);--body-background-color:#0e2702;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#0f1a01;--topbar-pinned-background-color:rgb(0, 25, 2, .5);--topbar-pinned-shadow-color:rgba(0, 10, 2, .5);--topbar-pin-icon-color:white;--topbar-border-color:#095300;--topbar-select-border-color:#43b715;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#43b715;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#e9d98d;--swagger-info-link-hover:#bccf29;--api-version-background-color:#d4bf88;--api-version-stamp-background-color:#907a48;--api-version-color:black;--auth-wrapper-background-color:#2d2010;--auth-wrapper-border-color:#422e15;--auth-wrapper-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#251717;--auth-container-background-color:#3a4928;--auth-container-errors-color:red;--btn-authorize-background-color:#451f1f;--btn-authorize-border-color:#ededed;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-section-border-color:rgb(62, 165, 55);--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#0d2402;--opblock-tag-border-bottom-color:rgba(212, 191, 136, .5);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(62, 163, 54, .24);--opblock-post-method-color:#228738;--opblock-post-border-color:#228738;--opblock-put-background-color:rgba(255, 167, 0, .3);--opblock-put-method-color:#c95f00;--opblock-put-border-color:#c95f00;--opblock-delete-background-color:rgba(255, 0, 0, .14);--opblock-delete-method-color:#631f03;--opblock-delete-border-color:#631f03;--opblock-get-background-color:rgba(151, 255, 0, .17);--opblock-get-method-color:#9f9400;--opblock-get-border-color:#9f9400;--opblock-patch-background-color:rgba(133, 117, 69, .25);--opblock-patch-method-color:#857545;--opblock-patch-border-color:#857545;--opblock-head-background-color:rgba(55, 50, 6, .8);--opblock-head-method-color:#4b4719;--opblock-head-border-color:#4b4719;--opblock-options-background-color:rgba(19, 22, 19, .3);--opblock-options-method-color:#131613;--opblock-options-border-color:#131613;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#74ff74;--opblock-pre-microlight-background-color:#47331b;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#2e0d0d;--download-contents-color:white;--copy-to-clipboard-background-color:#2e0d0d;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgb(0, 0, 0, 0.20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#58a851;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#346719;--button-execute-border-color:#478d26;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#2b1414e0 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#9ef594;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#2b1414e0;--input-border-color:#9ef594;--input-invalid-background-color:#510f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#47331b;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#211;--textarea-disabled-background-color:#47331b;--textarea-disabled-color:#ebe3e3;--textarea-background-color:hsla(0, 36%, 12%, .8);--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#9ef594;--textarea-curl-color:#fff;--checkbox-color:#311414;--checkbox-label-item-background-color:#2c7a30;--checkbox-label-item-shadow-color:#2c7a30;--checkbox-label-item-icon:#2c7a30 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(2, 18, 0, .8);--dialog-background-color:#29351b;--dialog-border-color:#4b6b3c;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(212, 191, 136, .5);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#d9d9d9;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#2fff41;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#002c02db;--scroll-to-top-button-hover-background-color:#003e03ca;--scroll-to-top-button-border-color:#43b715;--scroll-to-top-button-icon-color:#7cff54;--scroll-to-top-button-shadow-color:rgba(8, 114, 36, .50)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.css similarity index 99% rename from src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.css rename to src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.css index 27d6d88..016ce80 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.css @@ -1,5 +1,5 @@ /* - Modern Futuristic Style + Futuristic Theme https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.min.css new file mode 100644 index 0000000..c62cf55 --- /dev/null +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/futuristic.min.css @@ -0,0 +1 @@ +/*Futuristic Theme*/:root{--scrollbar-thumb-color:hsl(194, 100%, 50%);--scrollbar-thumb-hover-color:hsl(194, 100%, 60%);--body-background-color:#020511;--swagger-main-color:#f6f6f6;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .1);--errors-wrapper-border-color:#f12323;--errors-wrapper-errors-color:#d5d5d5;--topbar-background-color:#04091c;--topbar-pinned-background-color:rgb(0, 1, 29, .6);--topbar-pinned-shadow-color:rgba(35, 116, 125, .6);--topbar-pin-icon-color:white;--topbar-border-color:#00f1ff;--topbar-select-border-color:#00f1ff;--topbar-select-label-color:#efe9e9;--topbar-download-url-button-background-color:#3c76c6;--topbar-download-url-button-color:#efe9e9;--swagger-info-link:#75b5ff;--swagger-info-link-hover:#a1d0eb;--api-version-background-color:#00bb87;--api-version-stamp-background-color:#443390;--api-version-color:#ffffff;--auth-wrapper-background-color:#0f0222;--auth-wrapper-border-color:#00f1ff;--auth-wrapper-box-shadow-color:#c1c1c1;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#17ecb2;--btn-authorize-font-color:#17ecb2;--btn-authorize-svg-fill-color:#17ecb2;--opblock-tag-section-border-color:#418f89;--opblock-border-color:#00ffea;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(4, 7, 44, .2);--opblock-tag-pinned-background-color-hover:#03081c;--opblock-tag-border-bottom-color:rgba(0, 255, 234, .5);--opblock-shadow-color:rgba(255, 255, 255, .5);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(63, 169, 233, .15);--opblock-post-method-color:#40aced;--opblock-post-border-color:#40aced;--opblock-put-background-color:rgba(105, 7, 212, .15);--opblock-put-method-color:#6907D4;--opblock-put-border-color:#6907D4;--opblock-delete-background-color:rgba(201, 47, 97, .15);--opblock-delete-method-color:#C92F61;--opblock-delete-border-color:#C92F61;--opblock-get-background-color:rgba(23, 236, 178, .15);--opblock-get-method-color:#17ECB2;--opblock-get-border-color:#17ECB2;--opblock-patch-background-color:rgba(101, 39, 132, .25);--opblock-patch-method-color:#652784;--opblock-patch-border-color:#652784;--opblock-head-background-color:rgba(39, 39, 101, .25);--opblock-head-method-color:#272765;--opblock-head-border-color:#272765;--opblock-options-background-color:rgba(179, 54, 178, .2);--opblock-options-method-color:#B336B2;--opblock-options-border-color:#B336B2;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#999;--response-control-media-type-color:#00ff68;--opblock-pre-microlight-background-color:#01236291;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#00a5d8;--download-contents-color:white;--copy-to-clipboard-background-color:#00a5d8;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#999;--table-thead-border-bottom-color:rgba(59, 65, 81, .2);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#9a9a9a;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#dadada;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:rgba(64, 172, 237, .5);--button-execute-border-color:#5fa9ff;--button-execute-color:#ebe3e3;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#aaa;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#030329 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#2c4367;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#010123;--input-border-color:#124b81;--input-invalid-background-color:#210101;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#1b2833;--input-disabled-color:#1b2833;--select-disabled-border-color:#575875;--textarea-disabled-background-color:#1b2833;--textarea-disabled-color:#8da5d0;--textarea-background-color:hsl(241.44deg 100% 5.98% / 80%);--textarea-border-focus-color:#59a5b2;--textarea-curl-background-color:#213168;--textarea-curl-color:#fff;--checkbox-color:#0f1639;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(3, 0, 16, .85);--dialog-background-color:#100223;--dialog-border-color:#40216b;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(30, 122, 167, .7);--model-hint-color:#ebebeb;--model-property-color:#c9c9c9;--model-property-primitive-color:#676767;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#8d8a8a;--model-section-border-color:rgba(200, 200, 200, .3);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#9a9a9a;--model-container-background-color:rgba(13, 32, 77, .1);--model-container-hover-background-color:rgba(70, 0, 179, .1);--model-box-background-color:rgba(101, 0, 255, .1);--model-title-color:#e7e9ea;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#25e1ff;--model-prop-format-color:#cfcfcf;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#02001285;--scroll-to-top-button-hover-background-color:#02002085;--scroll-to-top-button-border-color:#00c2ff;--scroll-to-top-button-icon-color:#d1cccc;--scroll-to-top-button-shadow-color:rgba(30, 134, 130, .3)}.swagger-ui .topbar .topbar-wrapper{border:3px solid var(--topbar-border-color);border-top:0;box-shadow:0 0 8px 4px var(--topbar-pinned-shadow-color),inset 0 -4px 10px 0 var(--topbar-pinned-shadow-color)}.swagger-ui .topbar.pinned .topbar-wrapper{border:2px solid var(--topbar-border-color);box-shadow:0 0 8px 4px var(--topbar-pinned-shadow-color),inset 0 0 8px 4px var(--topbar-pinned-shadow-color)}.swagger-ui .auth-wrapper{box-shadow:0 0 3px 0 var(--auth-wrapper-border-color),inset 0 0 3px 0 var(--auth-wrapper-border-color)}.swagger-ui .btn.authorize:hover{box-shadow:0 0 3px 0 var(--btn-authorize-border-color),inset 0 0 3px 0 var(--btn-authorize-border-color);text-shadow:0 0 1px var(--btn-authorize-border-color)}.swagger-ui .opblock-tag-section{box-shadow:0 0 3px 0 var(--opblock-tag-section-border-color),inset 0 0 3px 0 var(--opblock-tag-section-border-color)}.swagger-ui .opblock{box-shadow:0 0 3px 0 var(--opblock-shadow-color),inset 0 0 5px 0 var(--opblock-shadow-color)}.swagger-ui .btn:hover{box-shadow:0 0 3px 0 var(--button-border-color),inset 0 0 3px 0 var(--button-border-color)}.swagger-ui .dialog-ux .modal-ux{box-shadow:0 0 5px 0 var(--dialog-border-color),inset 0 0 5px 0 var(--dialog-border-color)}.swagger-ui section.models{box-shadow:0 0 3px 0 var(--model-section-border-color),inset 0 0 3px 0 var(--model-section-border-color)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.css index 2d00ccd..449952b 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.css @@ -1,5 +1,5 @@ /* - Light Style + Light Theme https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.min.css index cd0a510..5e13d71 100644 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.min.css +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/light.min.css @@ -1 +1 @@ -/*Light Style*/ \ No newline at end of file +/*Light Theme*/ \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.css deleted file mode 100644 index 5ef45e6..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.css +++ /dev/null @@ -1,1107 +0,0 @@ -/* - Modern Common Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -@charset "UTF-8"; - -*::-webkit-scrollbar { - width: 16px; -} - -*::-webkit-scrollbar-thumb { - height: 56px; - border-radius: 8px; - border: 4px solid transparent; - background-clip: content-box; - background-color: var(--scrollbar-thumb-color, hsl(0, 0%, 65%)); - transition: background-color 0.3s; -} - - *::-webkit-scrollbar-thumb:hover { - background-color: var(--scrollbar-thumb-hover-color, hsl(0, 0%, 45%)); - } - -body::-webkit-scrollbar-thumb { - background-color: var(--scrollbar-thumb-color, hsl(0, 0%, 65%)); -} - -* { - font-family: system-ui, sans-serif; -} - - *:focus { - font-family: system-ui, sans-serif; - outline: none !important; - } - - *:focus-visible { - outline: auto !important; - outline-offset: 1px; - } - -body { - background-color: var(--body-background-color, #fafafa); - padding-bottom: 1rem; -} - -*, -::after, -::before { - box-sizing: border-box; -} - -.swagger-ui { - color: var(--swagger-main-color, #3b4151); - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; - line-height: 1.15; - margin: 0; -} - - /* Loading */ - .swagger-ui .loading-container .loading:after { - color: var(--swagger-main-color, #3b4151); - } - - .swagger-ui .loading-container .loading:before { - border: 2px solid var(--loading-container-border-color, rgba(85,85,85,.1)); - border-top-color: var(--loading-container-border-top-color, rgba(0,0,0,.6)); - } - - /* Errors container (e.g. when failed to load API definition) */ - .swagger-ui .errors-wrapper { - background: var(--errors-wrapper-background-color, rgba(249,62,62,.1)); - border: 2px solid var(--errors-wrapper-border-color, #f93e3e); - } - - .swagger-ui .errors-wrapper .errors h4, - .swagger-ui .errors-wrapper hgroup h4 { - color: var(--swagger-main-color, #3b4151); - } - - .swagger-ui .errors-wrapper .errors small { - color: var(--errors-wrapper-errors-color, #606060); - } - - /* Top-bar */ - .swagger-ui .topbar { - background-color: transparent; - z-index: 1000; - padding: 0; - } - - .swagger-ui .topbar.pinned { - position: sticky; - top: 10px; - } - - .swagger-ui .topbar.pinned::before { - content: ''; - position: absolute; - inset: -10px 0 0; - pointer-events: none; - user-select: none; - backdrop-filter: blur(20px); - -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent); - mask-image: linear-gradient(to bottom, black 40%, transparent); - background: linear-gradient(90deg, rgba(0, 0, 0, 0) 5%, rgba(8, 8, 8, 0.4) 50%, rgba(0, 0, 0, 0) 95%); - } - - .swagger-ui .topbar .topbar-wrapper { - background-color: var(--topbar-background-color, black); - border: 1px solid var(--topbar-border-color, gray); - border-top: 0; - border-radius: 0 0 .5rem .5rem; - padding: .5rem; - box-shadow: 0 5px 15px 0 var(--topbar-pinned-shadow-color, rgba(0, 0, 0, .5)); - } - - .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn svg { - fill: var(--topbar-pin-icon-color, white); - } - - .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn { - cursor: pointer; - background: transparent; - border: none; - margin: .8rem; - padding: .2rem; - transition: all .2s; - rotate: z 359deg; - } - - .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:hover, - .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:focus-within { - scale: 1.05; - animation: pintobbar 1.2s infinite; - } - - .swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:active { - scale: 0.95; - } - - .swagger-ui .topbar.pinned .topbar-wrapper { - background-color: var(--topbar-pinned-background-color, rgba(0, 0, 0, .7)); - border: 1px solid var(--topbar-border-color, gray); - border-radius: .5rem; - backdrop-filter: blur(20px); - } - - .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn { - translate: 0 5px; - rotate: z 0deg; - } - - .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:hover, - .swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:focus-within { - animation: unpintobbar 1.2s infinite; - } - -@keyframes pintobbar { - 30% { - rotate: z 313deg; - translate: 0px 1px; - } - - 40% { - translate: 0 5px; - } - - 50% { - rotate: z 313deg; - } -} - -@-moz-keyframes pintobbar { - 30% { - rotate: z 313deg; - translate: 0px 1px; - } - - 40% { - translate: 0 5px; - } - - 50% { - rotate: z 313deg; - } -} - -@-webkit-keyframes pintobbar { - 30% { - rotate: z 313deg; - translate: 0px 1px; - } - - 40% { - translate: 0 5px; - } - - 50% { - rotate: z 313deg; - } -} - -@keyframes unpintobbar { - 10% { - translate: 0 1px; - } - - 70% { - rotate: z 50deg; - translate: -3px 1px; - } -} - -@-moz-keyframes unpintobbar { - 10% { - translate: 0 -4px; - } - - 70% { - rotate: z 50deg; - translate: -3px 1px; - } -} - -@-webkit-keyframes unpintobbar { - 10% { - translate: 0 -4px; - } - - 70% { - rotate: z 50deg; - translate: -3px 1px; - } -} - -.swagger-ui .topbar .download-url-wrapper input[type=text], -.swagger-ui .topbar .download-url-wrapper .select-label select { - border: 2px solid var(--topbar-select-border-color, #62a03f); -} - -.swagger-ui .topbar .download-url-wrapper .select-label { - color: var(--topbar-select-label-color, #f0f0f0); -} - -.swagger-ui .topbar .download-url-wrapper .download-url-button { - background: var(--topbar-download-url-button-background-color, #62a03f); - color: var(--topbar-download-url-button-color, #fff); -} - -/* Info-box (title, description, contact info...) */ -.swagger-ui .info li, -.swagger-ui .info p, -.swagger-ui .info table, -.swagger-ui .info h1, -.swagger-ui .info h2, -.swagger-ui .info h3, -.swagger-ui .info h4, -.swagger-ui .info h5, -.swagger-ui .info .base-url, -.swagger-ui .info .title { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui .info a { - color: var(--swagger-info-link, #4990e2); -} - - .swagger-ui .info a:hover { - color: var(--swagger-info-link-hover, #1f69c0); - } - -.swagger-ui .info .title small { - background: var(--api-version-background-color, #7d8492); -} - - .swagger-ui .info .title small.version-stamp { - background-color: var(--api-version-stamp-background-color, #89bf04); - } - - .swagger-ui .info .title small pre { - color: var(--api-version-color, #fff); /*version text*/ - } - -/* Authorize Section */ -.swagger-ui .scheme-container { - background: transparent; - box-shadow: none; - margin: 0; - padding: 0; -} - -.swagger-ui .auth-wrapper { - display: flex; - flex: 1; - justify-content: flex-end; - border: 1px solid var(--auth-wrapper-border-color, #d5d5d5); - padding: 0; - border-radius: 5px; - box-shadow: 0px 3px 5px -5px var(--auth-wrapper-box-shadow-color, black); - background: var(--auth-wrapper-background-color, white); -} - -.swagger-ui .scheme-container .schemes > label { - color: var(--swagger-main-color, #3b4151); -} -/* Authorize Modal */ -.swagger-ui .auth-container { - border-bottom: 1px solid var(--auth-container-border-bottom-color, #ebebeb); /*divider; overridden by :last-of-type*/ - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .auth-container .errors { - background-color: var(--auth-container-background-color, #fee); - color: var(--auth-container-errors-color, red); - } - -.swagger-ui .btn.authorize { - background-color: var(--btn-authorize-background-color, transparent); - border-color: var(--btn-authorize-border-color, #49cc90); - color: var(--btn-authorize-font-color, #49cc90); -} - - .swagger-ui .btn.authorize svg { - fill: var(--btn-authorize-svg-fill-color, #49cc90); - } - -/* List of Operations */ -.swagger-ui .opblock-tag-section { - display: flex; - flex-direction: column; - border: 1px solid var(--opblock-tag-section-border-color, #dddddd); - border-radius: 0.5rem; - margin-block: 1rem; - overflow: clip; -} - - .swagger-ui .opblock-tag-section .expand-collapse-all-btn { - display: none; - user-select: none; - } - - .swagger-ui .opblock-tag-section.is-open .expand-collapse-all-btn { - background: var(--opblock-tag-section-expandcollapse-background-color, rgb(220 220 220 / 45%)); - color: var(--swagger-main-color, #3b4151); - border: 1px solid var(--opblock-tag-section-border-color, #dddddd); - border-radius: .5rem; - padding: 5px 10px; - font-size: medium; - margin-inline: 10px; - display: block; - } - -.swagger-ui .opblock-tag, -.swagger-ui .opblock-tag small, -.swagger-ui .parameter__type { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui .opblock-tag { - align-items: center; - cursor: pointer; - display: flex; - padding: 10px 20px 10px 10px; - color: var(--swagger-main-color, #3b4151); - font-size: 24px; - border-bottom: 0 dashed var(--opblock-tag-border-bottom-color, #e1e1e1); - margin: 0; - transition: all .2s; -} - - .swagger-ui .opblock-tag:hover, - .swagger-ui .opblock-tag:focus-within { - background: var(--opblock-tag-background-color-hover, rgba(0,0,0,.02)); - } - - .swagger-ui .opblock-tag + div .operation-tag-content { - margin-inline: 5px; - } - -#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag { - position: sticky; - top: 0; - z-index: 4; - margin-bottom: 1rem; - border-bottom: 1px dashed var(--opblock-tag-border-bottom-color, #e1e1e1); - background: var(--body-background-color, #fafafa); -} - - #STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:hover, - #STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:focus-within { - background: var(--opblock-tag-pinned-background-color-hover, #f1f1f1); - } - -.swagger-ui:has(> .topbar.pinned) .opblock-tag-section.is-open .opblock-tag { - top: 4.9rem; -} - -.swagger-ui .opblock { - border: 1px solid var(--opblock-border-color, #000); - box-shadow: 0 0 3px var(--opblock-shadow-color, rgba(0,0,0,.19)); -} - - .swagger-ui .opblock .tab-header .tab-item.active h4 span:after { /*line after tab header (e.g. Parameters inside operations)*/ - background: var(--opblock-tabheader-underline-color, gray); - } - - .swagger-ui .opblock .opblock-summary button svg { /*op icons*/ - fill: var(--opblock-summary-svg-icons-color, #000); - } - - .swagger-ui .opblock.is-open .opblock-summary { - border-bottom: 1px solid var(--opblock-summary-border-bottom-color, #000); - } - - .swagger-ui .opblock .opblock-section-header { - background: var(--opblock-section-header-background-color, hsla(0,0%,100%,.8)); - box-shadow: 0 1px 2px var(--opblock-section-header-shadow-color, rgba(0,0,0,.1)); - } - - .swagger-ui .opblock .opblock-section-header > label, - .swagger-ui .opblock .opblock-section-header h4 { - color: var(--swagger-main-color, #3b4151); - } - - .swagger-ui .opblock .opblock-summary-method { - background: var(--opblock-summary-method-background-color, #000); - color: var(--opblock-summary-method-color, #fff); - text-shadow: 0 1px 0 var(--opblock-summary-method-shadow-color, rgba(0,0,0,.1)); - } - - .swagger-ui .opblock .opblock-summary-operation-id, - .swagger-ui .opblock .opblock-summary-path, - .swagger-ui .opblock .opblock-summary-path__deprecated, - .swagger-ui .opblock .opblock-summary-description { - color: var(--swagger-main-color, #3b4151); - word-break: normal; - } - /* POST */ - .swagger-ui .opblock.opblock-post { - background: var(--opblock-post-background-color, rgba(73,204,144,.1)); - border-color: var(--opblock-post-border-color, #49cc90); - } - - .swagger-ui .opblock.opblock-post .opblock-summary-method { - background: var(--opblock-post-method-color, #49cc90); - } - - .swagger-ui .opblock.opblock-post .opblock-summary { - border-color: var(--opblock-post-border-color, #49cc90); - } - - .swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after { - background: var(--opblock-post-method-color, #49cc90); - border-radius: 1rem; - } - /* PUT */ - .swagger-ui .opblock.opblock-put { - background: var(--opblock-put-background-color, rgba(252,161,48,.1)); - border-color: var(--opblock-put-border-color, #fca130); - } - - .swagger-ui .opblock.opblock-put .opblock-summary-method { - background: var(--opblock-put-method-color, #fca130); - } - - .swagger-ui .opblock.opblock-put .opblock-summary { - border-color: var(--opblock-put-border-color, #fca130); - } - - .swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after { - background: var(--opblock-put-method-color, #fca130); - } - /* DELETE */ - .swagger-ui .opblock.opblock-delete { - background: var(--opblock-delete-background-color, rgba(249,62,62,.1)); - border-color: var(--opblock-delete-border-color, #f93e3e); - } - - .swagger-ui .opblock.opblock-delete .opblock-summary-method { - background: var(--opblock-delete-method-color, #f93e3e); - } - - .swagger-ui .opblock.opblock-delete .opblock-summary { - border-color: var(--opblock-delete-border-color, #f93e3e); - } - - .swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after { - background: var(--opblock-delete-method-color, #f93e3e); - } - /* GET */ - .swagger-ui .opblock.opblock-get { - background: var(--opblock-get-background-color, rgba(97,175,254,.1)); - border-color: var(--opblock-get-border-color, #61affe); - } - - .swagger-ui .opblock.opblock-get .opblock-summary-method { - background: var(--opblock-get-method-color, #61affe); - } - - .swagger-ui .opblock.opblock-get .opblock-summary { - border-color: var(--opblock-get-border-color, #61affe); - } - - .swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after { - background: var(--opblock-get-method-color, #61affe); - } - /* PATCH */ - .swagger-ui .opblock.opblock-patch { - background: var(--opblock-patch-background-color, rgba(80,227,194,.1)); - border-color: var(--opblock-patch-border-color, #50e3c2); - } - - .swagger-ui .opblock.opblock-patch .opblock-summary-method { - background: var(--opblock-patch-method-color, #50e3c2); - } - - .swagger-ui .opblock.opblock-patch .opblock-summary { - border-color: var(--opblock-patch-border-color, #50e3c2); - } - - .swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after { - background: var(--opblock-patch-method-color, #50e3c2); - } - /* HEAD */ - .swagger-ui .opblock.opblock-head { - background: var(--opblock-head-background-color, rgba(144,18,254,.1)); - border-color: var(--opblock-head-border-color, #9012fe); - } - - .swagger-ui .opblock.opblock-head .opblock-summary-method { - background: var(--opblock-head-method-color, #9012fe) - } - - .swagger-ui .opblock.opblock-head .opblock-summary { - border-color: var(--opblock-head-border-color, #9012fe) - } - - .swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after { - background: var(--opblock-head-method-color, #9012fe) - } - /* OPTIONS */ - .swagger-ui .opblock.opblock-options { - background: var(--opblock-options-background-color, rgba(13,90,167,.1)); - border-color: var(--opblock-options-border-color, #0d5aa7); - } - - .swagger-ui .opblock.opblock-options .opblock-summary-method { - background: var(--opblock-options-method-color, #0d5aa7); - } - - .swagger-ui .opblock.opblock-options .opblock-summary { - border-color: var(--opblock-options-border-color, #0d5aa7); - } - - .swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after { - background: var(--opblock-options-method-color, #0d5aa7); - } - /* Deprecated Operation */ - .swagger-ui .opblock.opblock-deprecated { - background: var(--opblock-deprecated-background-color, hsla(0,0%,92%,.1)); - border-color: var(--opblock-deprecated-border-color, #ebebeb); - } - - .swagger-ui .opblock.opblock-deprecated .opblock-summary-method { - background: var(--opblock-deprecated-method-color, #ebebeb); - } - - .swagger-ui .opblock.opblock-deprecated .opblock-summary { - border-color: var(--opblock-deprecated-border-color, #ebebeb); - } - - .swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after { - background: var(--opblock-deprecated-method-color, #ebebeb); - } - -/* Tab options (e.g. Example Value | Schema) */ -.swagger-ui .tab li { - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .tab li:first-of-type:after { /*Divider between tabs*/ - background: var(--swagger-tabs-divider-color, rgba(0,0,0,.2)); - } - -/* Texts in operations */ -.swagger-ui .opblock-description-wrapper, -.swagger-ui .opblock-external-docs-wrapper, -.swagger-ui .opblock-title_normal, -.swagger-ui .opblock-description-wrapper h4, -.swagger-ui .opblock-external-docs-wrapper h4, -.swagger-ui .opblock-title_normal h4, -.swagger-ui .opblock-description-wrapper p, -.swagger-ui .opblock-external-docs-wrapper p, -.swagger-ui .opblock-title_normal p, -.swagger-ui .responses-inner h4, -.swagger-ui .responses-inner h5, -.swagger-ui .response-col_status, -.swagger-ui .response-col_links { - color: var(--swagger-main-color, #3b4151); -} - - /* Text when API call fails */ - .swagger-ui .response-col_status .response-undocumented, - .swagger-ui .response-col_links .response-undocumented { - color: var(--response-undocumented-color, #909090); - } - -/* Response media type selection */ -.swagger-ui .response-control-media-type--accept-controller select { - border-color: var(--response-control-media-type-color, green); -} - -.swagger-ui .response-control-media-type__accept-message { - color: var(--response-control-media-type-color, green); -} - -/* Code highlighted one color (e.g. response headers) */ -.swagger-ui .opblock-body pre.microlight { - background: var(--opblock-pre-microlight-background-color, #333) !important; - color: var(--opblock-pre-microlight-color, #fff) !important; -} - -/* Download & copy to clipboard button of a content */ -.swagger-ui .download-contents { - background: var(--download-contents-background-color, #7d8293); - color: var(--download-contents-color, #fff); -} - -.swagger-ui .copy-to-clipboard { - background: var(--copy-to-clipboard-background-color, #7d8293); -} - - .swagger-ui .copy-to-clipboard button { - background: var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } - -/* Other of operations */ -.swagger-ui .filter .operation-filter-input { - border: 2px solid var(--filter-operation-filter-input-border-color, #d8dde7); -} - -.swagger-ui .download-url-wrapper .failed, -.swagger-ui .filter .failed { - color: var(--filter-download-failed-color, red) -} - -.swagger-ui .download-url-wrapper .loading, -.swagger-ui .filter .loading { - color: var(--filter-download-loading-color, #aaa); -} - -.swagger-ui section h3 { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui .servers > label, -.swagger-ui table.headers td { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui table.headers .header-example { - color: var(--table-headers-example-color, #999); -} - -.swagger-ui table thead tr td, -.swagger-ui table thead tr th { - border-bottom: 1px solid var(--table-thead-border-bottom-color, rgba(59,65,81,.2)); - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui .parameter__name { - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .parameter__name.required span { - color: var(--parameter-name-required-symbol-color, red); - } - - .swagger-ui .parameter__name.required::after { - color: var(--parameter-name-required-color, rgba(255,0,0,.6)); - } - -.swagger-ui .parameter__extension, -.swagger-ui .parameter__in, /*e.g query, body etc. operation input*/ -.swagger-ui .response__extension { - color: var(--parameter-in-extension-color, gray); -} - -.swagger-ui .parameter__deprecated { - color: var(--parameter-deprecated-color, red); -} - -/* Buttons */ -.swagger-ui .btn { - background: var(--button-background-color, transparent); - border: 2px solid var(--button-border-color, gray); - box-shadow: 0 1px 2px var(--button-shadow-color, rgba(0,0,0,.1)); - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .btn:hover { - box-shadow: 0 0 5px var(--button-shadow-hover-color, rgba(0,0,0,.3)); - } - - .swagger-ui .btn.cancel { - background-color: var(--button-cancel-background-color, transparent); - border-color: var(--button-cancel-border-color, #ff6060); - color: var(--button-cancel-color, #ff6060); - } - - .swagger-ui .btn.execute { - background-color: var(--button-execute-background-color, #4990e2); - border-color: var(--button-execute-border-color, #4990e2); - color: var(--button-execute-color, #fff); - } - -.swagger-ui button.invalid { - background: var(--button-invalid-background-color, #feebeb); - border-color: var(--button-invalid-border-color, #f93e3e); -} -/* The button to expand group of operations (or methods when grouped by method): arrow icon */ -.swagger-ui .expand-methods svg, -.swagger-ui .expand-operation svg { - fill: var(--expand-operation-svg-arrow-color, #707070); -} - -.swagger-ui .expand-methods:hover svg, -.swagger-ui .expand-operation:hover svg { - fill: var(--expand-operation-svg-arrow-hover-color, #404040); -} - -/* Form elements */ -.swagger-ui select { - background: var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat); - border: 2px solid var(--select-border-color, #41444e); - box-shadow: 0 1px 2px 0 var(--select-shadow-color, rgba(0,0,0,.25)); - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui select[multiple] { - background: var(--select-background-color, #f7f7f7); - } - -.swagger-ui label { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui input[type=email], -.swagger-ui input[type=file], -.swagger-ui input[type=password], -.swagger-ui input[type=search], -.swagger-ui input[type=text], -.swagger-ui textarea { - background: var(--input-background-color, #fff); - border: 1px solid var(--input-border-color, #d9d9d9); - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui input[type=email].invalid, - .swagger-ui input[type=file].invalid, - .swagger-ui input[type=password].invalid, - .swagger-ui input[type=search].invalid, - .swagger-ui input[type=text].invalid, - .swagger-ui textarea.invalid, - .swagger-ui select.invalid { - background: var(--input-invalid-background-color, #feebeb); - border-color: var(--input-invalid-border-color, #f93e3e); - color: var(--input-invalid-color, #3b4151); - } - -.swagger-ui input[disabled], -.swagger-ui select[disabled] { - background-color: var(--input-disabled-background-color, #fafafa); - color: var(--input-disabled-color, #888); -} - -.swagger-ui select[disabled] { - border-color: var(--select-disabled-border-color, #888) -} - -.swagger-ui textarea[disabled] { - background-color: var(--textarea-disabled-background-color, #41444e); - color: var(--textarea-disabled-color, #fff); -} - -.swagger-ui textarea { - background: var(--textarea-background-color, hsla(0,0%,100%,.8)); - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui textarea:focus { - border: 2px solid var(--textarea-border-focus-color, #61affe); - } - - .swagger-ui textarea.curl { - background: var(--textarea-curl-background-color, #41444e); - color: var(--textarea-curl-color, #fff); - } - -.swagger-ui .checkbox { - color: var(--checkbox-color, #303030); -} - - .swagger-ui .checkbox p { - color: var(--swagger-main-color, #3b4151); - } - - .swagger-ui .checkbox input[type=checkbox] + label > .item { - background: var(--checkbox-label-item-background-color, #e8e8e8); - box-shadow: 0 0 0 2px var(--checkbox-label-item-shadow-color, #e8e8e8); - } - - .swagger-ui .checkbox input[type=checkbox]:checked + label > .item { - background: var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } - -/* Dialog (pop-up) */ -.swagger-ui .dialog-ux .backdrop-ux { - background: var(--dialog-backdrop-color, rgba(0,0,0,.8)); -} - -.swagger-ui .dialog-ux .modal-ux { - background: var(--dialog-background-color, #fff); - border: 1px solid var(--dialog-border-color, #ebebeb); - box-shadow: 0 10px 30px 0 var(--dialog-shadow-color, rgba(0,0,0,.2)); -} - -.swagger-ui .dialog-ux .modal-ux-content p, -.swagger-ui .dialog-ux .modal-ux-header h3, -.swagger-ui .dialog-ux .modal-ux-content h4 { - color: var(--swagger-main-color, #3b4151); -} - -.swagger-ui .dialog-ux .modal-ux-header { - border-bottom: 1px solid var(--dialog-border-color, #ebebeb); -} - - .swagger-ui .dialog-ux .modal-ux-header button svg { - fill: var(--dialog-close-button-icon-color, black); - } - -/* Models (Schemes) */ -.swagger-ui .model { - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .model .deprecated span, - .swagger-ui .model .deprecated td { - color: var(--model-deprecated-color, #a0a0a0) !important; - } - -.swagger-ui .model-toggle { - cursor: pointer; - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} - - .swagger-ui .model-toggle.collapsed { - -webkit-transform: rotate(0deg); - transform: rotate(0deg) - } - - .swagger-ui .model-toggle::after { - background: var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat); - } - -.swagger-ui .model-hint { /*URL of schema inside a model (as property)*/ - background: var(--model-hint-background-color, rgba(0,0,0,.7)); - color: var(--model-hint-color, #ebebeb); -} - -.swagger-ui .model .property { - color: var(--model-property-color, #999); -} - - .swagger-ui .model .property.primitive { /*property primitive (e.g. nullable)*/ - color: var(--model-property-primitive-color, #6b6b6b); - } - -.swagger-ui table.model tr.property-row .star { - color: var(--model-property-required-symbol-color, red); -} - -.swagger-ui .model .external-docs, -.swagger-ui table.model tr.description { - color: var(--model-property-description, #666); -} - -.swagger-ui table.model tr.extension { - color: var(--model-property-extension, #777); -} - -.swagger-ui section.models { - border: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); - border-radius: 0.5rem; - padding: 0; - margin: 0; -} - - .swagger-ui section.models.is-open h4 { - border-bottom: 1px solid var(--model-section-border-color, rgba(59,65,81,.3)); - } - - .swagger-ui section.models h4 { - color: var(--model-section-header-color, #606060); - padding: 0; - } - - .swagger-ui section.models h4:hover { - background: var(--model-section-header-hover-background-color, rgba(0,0,0,.02)); - } - - .swagger-ui section.models h4 svg { - fill: var(--expand-model-svg-arrow-color, #707070); - } - - .swagger-ui section.models h4 button.models-control { - color: var(--model-section-header-color, #606060); - padding: 20px; - } - - .swagger-ui section.models h5 { - color: var(--model-section-little-header-color, #707070); - } - - .swagger-ui section.models .model-container { /*container of each model*/ - background: var(--model-container-background-color, rgba(0,0,0,.05)); - } - - .swagger-ui section.models .model-container:hover { - background: var(--model-container-hover-background-color, rgba(0,0,0,.07)); - } - -.swagger-ui .model-box { /*box of each model*/ - background: var(--model-box-background-color, rgba(0,0,0,.1)); -} - -.swagger-ui .model-title { /*model name*/ - color: var(--model-title-color, #505050); -} - -.swagger-ui .model-deprecated-warning { - color: var(--model-deprecated-warning-color, #f93e3e); -} - -.swagger-ui .prop-type { /*property type (e.g string)*/ - color: var(--model-prop-type-color, #55a); -} - -.swagger-ui .prop-format { /*property format (e.g. date)*/ - color: var(--model-prop-format-color, #606060); -} - -.swagger-ui .scopes h2 { - color: var(--swagger-main-color, #3b4151); -} - - .swagger-ui .scopes h2 a { - color: var(--swagger-info-link, #4990e2); - } - -/* Rendered Markdown text */ -.swagger-ui .markdown pre, -.swagger-ui .renderedMarkdown pre { - color: var(--rendered-markdown-pre-color, #000); -} - -.swagger-ui .markdown code, -.swagger-ui .renderedMarkdown code { - background: var(--rendered-markdown-code-background-color, rgba(0,0,0,.05)); - color: var(--rendered-markdown-code-color, #9012fe); -} - -.scroll-to-top-wrapper { - position: fixed; - bottom: 0; - left: 0; - right: 0; - text-align: end; - box-sizing: border-box; - margin: 0 auto; - max-width: 1460px; - padding: 0 20px; - width: 100%; - pointer-events: none; -} - -#scroll-to-top-btn { - background-color: var(--scroll-to-top-button-background-color, #000000d1); - border: 1px solid var(--scroll-to-top-button-border-color, #d1c9c9); - border-radius: 50%; - color: white; - cursor: pointer; - width: 2.5rem; - aspect-ratio: 1; - backdrop-filter: blur(20px); - margin: 10px; - position: relative; - transition: background-color .5s, opacity .6s .2s, translate .8s, scale .2s; - opacity: 0; - translate: 0 100px; - box-shadow: 0 0 10px 0 var(--scroll-to-top-button-shadow-color, rgba(0, 0, 0, .4)); -} - - #scroll-to-top-btn.showBtn { - opacity: 1; - translate: 0 0; - pointer-events: auto; - } - - #scroll-to-top-btn::before { - position: absolute; - content: ''; - top: 10px; - left: 12px; - right: 12px; - background-color: var(--scroll-to-top-button-icon-color, #fff); - border-radius: 1rem; - height: 2px; - } - - #scroll-to-top-btn::after { - position: absolute; - content: ''; - top: 15px; - left: 50%; - border: solid var(--scroll-to-top-button-icon-color, #fff); - border-width: 0 2px 2px 0; - padding: 3px; - transform: rotate(-135deg); - translate: -50% 4px; - } - - #scroll-to-top-btn:hover, - #scroll-to-top-btn:focus-within { - background-color: var(--scroll-to-top-button-hover-background-color, #0d0d0dba); - } - - #scroll-to-top-btn:hover::after, - #scroll-to-top-btn:focus-within::after { - animation: bounceUp 1.2s ease-in infinite; - } - - #scroll-to-top-btn:active { - scale: 0.95; - } - -@keyframes bounceUp { - 100% { - translate: -50% 4px; - } - - 25% { - translate: -50% 6px; - } - - 60% { - translate: -50% -2px; - } -} - -@-moz-keyframes bounceUp { - 100% { - translate: -50% 4px; - } - - 25% { - translate: -50% 6px; - } - - 60% { - translate: -50% -2px; - } -} - -@-webkit-keyframes bounceUp { - 100% { - translate: -50% 4px; - } - - 25% { - translate: -50% 6px; - } - - 60% { - translate: -50% -2px; - } -} - -@media only screen and (max-width: 680px) { - .swagger-ui .opblock .opblock-summary-operation-id, - .swagger-ui .opblock .opblock-summary-path, - .swagger-ui .opblock .opblock-summary-path__deprecated, - .swagger-ui .opblock .opblock-summary-description { - word-break: break-all; - } -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.min.css deleted file mode 100644 index 1b83dd2..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.common.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Common Style*/@charset "UTF-8";*,:focus{font-family:system-ui,sans-serif}.swagger-ui,.swagger-ui .checkbox p,.swagger-ui .dialog-ux .modal-ux-content h4,.swagger-ui .dialog-ux .modal-ux-content p,.swagger-ui .dialog-ux .modal-ux-header h3,.swagger-ui .errors-wrapper .errors h4,.swagger-ui .errors-wrapper hgroup h4,.swagger-ui .info .base-url,.swagger-ui .info .title,.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table,.swagger-ui .loading-container .loading:after,.swagger-ui .model,.swagger-ui .opblock .opblock-section-header h4,.swagger-ui .opblock .opblock-section-header>label,.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-tag,.swagger-ui .opblock-tag small,.swagger-ui .opblock-title_normal,.swagger-ui .opblock-title_normal h4,.swagger-ui .opblock-title_normal p,.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .response-col_links,.swagger-ui .response-col_status,.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .scheme-container .schemes>label,.swagger-ui .scopes h2,.swagger-ui .servers>label,.swagger-ui .tab li,.swagger-ui label,.swagger-ui section h3,.swagger-ui table.headers td{color:var(--swagger-main-color,#3b4151)}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-thumb{height:56px;border-radius:8px;border:4px solid transparent;background-clip:content-box;background-color:var(--scrollbar-thumb-color,#a5a5a5);transition:background-color .3s}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#727272)}body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#a5a5a5)}:focus{outline:0!important}:focus-visible{outline:auto!important;outline-offset:1px}body{background-color:var(--body-background-color,#fafafa);padding-bottom:1rem}*,::after,::before{box-sizing:border-box}.swagger-ui{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.15;margin:0}.swagger-ui .loading-container .loading:before{border:2px solid var(--loading-container-border-color,rgba(85,85,85,.1));border-top-color:var(--loading-container-border-top-color,rgba(0,0,0,.6))}.swagger-ui .errors-wrapper{background:var(--errors-wrapper-background-color,rgba(249,62,62,.1));border:2px solid var(--errors-wrapper-border-color,#f93e3e)}.swagger-ui .errors-wrapper .errors small{color:var(--errors-wrapper-errors-color,#606060)}.swagger-ui .topbar{background-color:transparent;z-index:1000;padding:0}.swagger-ui .topbar.pinned{position:sticky;top:10px}.swagger-ui .topbar.pinned::before{content:'';position:absolute;inset:-10px 0 0;pointer-events:none;user-select:none;backdrop-filter:blur(20px);-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent);mask-image:linear-gradient(to bottom,black 40%,transparent);background:linear-gradient(90deg,rgba(0,0,0,0) 5%,rgba(8,8,8,.4) 50%,rgba(0,0,0,0) 95%)}.swagger-ui .topbar .topbar-wrapper{background-color:var(--topbar-background-color,#000);border:1px solid var(--topbar-border-color,gray);border-top:0;border-radius:0 0 .5rem .5rem;padding:.5rem;box-shadow:0 5px 15px 0 var(--topbar-pinned-shadow-color,rgba(0,0,0,.5))}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn svg{fill:var(--topbar-pin-icon-color,white)}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn{cursor:pointer;background:0 0;border:none;margin:.8rem;padding:.2rem;transition:.2s;rotate:z 359deg}.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:focus-within,.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:hover{scale:1.05;animation:1.2s infinite pintobbar}#scroll-to-top-btn:active,.swagger-ui .topbar .topbar-wrapper #pin-topbar-btn:active{scale:0.95}.swagger-ui .topbar.pinned .topbar-wrapper{background-color:var(--topbar-pinned-background-color,rgba(0,0,0,.7));border:1px solid var(--topbar-border-color,gray);border-radius:.5rem;backdrop-filter:blur(20px)}.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn{translate:0 5px;rotate:z 0deg}.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:focus-within,.swagger-ui .topbar.pinned .topbar-wrapper #pin-topbar-btn:hover{animation:1.2s infinite unpintobbar}@keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@-moz-keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@-webkit-keyframes pintobbar{30%{rotate:z 313deg;translate:0px 1px}40%{translate:0 5px}50%{rotate:z 313deg}}@keyframes unpintobbar{10%{translate:0 1px}70%{rotate:z 50deg;translate:-3px 1px}}@-moz-keyframes unpintobbar{10%{translate:0 -4px}70%{rotate:z 50deg;translate:-3px 1px}}@-webkit-keyframes unpintobbar{10%{translate:0 -4px}70%{rotate:z 50deg;translate:-3px 1px}}.swagger-ui .topbar .download-url-wrapper .select-label select,.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid var(--topbar-select-border-color,#62a03f)}.swagger-ui .topbar .download-url-wrapper .select-label{color:var(--topbar-select-label-color,#f0f0f0)}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:var(--topbar-download-url-button-background-color,#62a03f);color:var(--topbar-download-url-button-color,#fff)}.swagger-ui .info a,.swagger-ui .scopes h2 a{color:var(--swagger-info-link,#4990e2)}.swagger-ui .info a:hover{color:var(--swagger-info-link-hover,#1f69c0)}.swagger-ui .info .title small{background:var(--api-version-background-color,#7d8492)}.swagger-ui .info .title small.version-stamp{background-color:var(--api-version-stamp-background-color,#89bf04)}.swagger-ui .info .title small pre{color:var(--api-version-color,#fff)}.swagger-ui .scheme-container{background:0 0;box-shadow:none;margin:0;padding:0}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end;border:1px solid var(--auth-wrapper-border-color,#d5d5d5);padding:0;border-radius:5px;box-shadow:0 3px 5px -5px var(--auth-wrapper-box-shadow-color,#000);background:var(--auth-wrapper-background-color,#fff)}.swagger-ui .auth-container{border-bottom:1px solid var(--auth-container-border-bottom-color,#ebebeb);color:var(--swagger-main-color,#3b4151)}.swagger-ui .auth-container .errors{background-color:var(--auth-container-background-color,#fee);color:var(--auth-container-errors-color,red)}.swagger-ui .btn.authorize{background-color:var(--btn-authorize-background-color,transparent);border-color:var(--btn-authorize-border-color,#49cc90);color:var(--btn-authorize-font-color,#49cc90)}.swagger-ui .btn.authorize svg{fill:var(--btn-authorize-svg-fill-color,#49cc90)}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column;border:1px solid var(--opblock-tag-section-border-color,#ddd);border-radius:.5rem;margin-block:1rem;overflow:clip}.swagger-ui .opblock-tag-section .expand-collapse-all-btn{display:none;user-select:none}.swagger-ui .opblock-tag-section.is-open .expand-collapse-all-btn{background:var(--opblock-tag-section-expandcollapse-background-color,rgb(220 220 220 / 45%));color:var(--swagger-main-color,#3b4151);border:1px solid var(--opblock-tag-section-border-color,#ddd);border-radius:.5rem;padding:5px 10px;font-size:medium;margin-inline:10px;display:block}.swagger-ui .opblock-tag{align-items:center;cursor:pointer;display:flex;padding:10px 20px 10px 10px;color:var(--swagger-main-color,#3b4151);font-size:24px;border-bottom:0 dashed var(--opblock-tag-border-bottom-color,#e1e1e1);margin:0;transition:.2s}.swagger-ui .opblock-tag:focus-within,.swagger-ui .opblock-tag:hover{background:var(--opblock-tag-background-color-hover,rgba(0,0,0,.02))}.swagger-ui .opblock-tag+div .operation-tag-content{margin-inline:5px}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag{position:sticky;top:0;z-index:4;margin-bottom:1rem;border-bottom:1px dashed var(--opblock-tag-border-bottom-color,#e1e1e1);background:var(--body-background-color,#fafafa)}#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:focus-within,#STICKY_OPERATIONS.swagger-ui .opblock-tag-section.is-open .opblock-tag:hover{background:var(--opblock-tag-pinned-background-color-hover,#f1f1f1)}.swagger-ui:has(> .topbar.pinned) .opblock-tag-section.is-open .opblock-tag{top:4.9rem}.swagger-ui .opblock{border:1px solid var(--opblock-border-color,#000);box-shadow:0 0 3px var(--opblock-shadow-color,rgba(0,0,0,.19))}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:var(--opblock-tabheader-underline-color,gray)}.swagger-ui .opblock .opblock-summary button svg{fill:var(--opblock-summary-svg-icons-color,#000)}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--opblock-summary-border-bottom-color,#000)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-post .opblock-summary{border-color:var(--opblock-post-border-color,#49cc90)}.swagger-ui .opblock .opblock-section-header{background:var(--opblock-section-header-background-color,hsla(0,0%,100%,.8));box-shadow:0 1px 2px var(--opblock-section-header-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-method{background:var(--opblock-summary-method-background-color,#000);color:var(--opblock-summary-method-color,#fff);text-shadow:0 1px 0 var(--opblock-summary-method-shadow-color,rgba(0,0,0,.1))}.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--swagger-main-color,#3b4151);word-break:normal}.swagger-ui .opblock.opblock-post{background:var(--opblock-post-background-color,rgba(73,204,144,.1))}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:var(--opblock-post-method-color,#49cc90)}.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-put .opblock-summary{border-color:var(--opblock-put-border-color,#fca130)}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:var(--opblock-post-method-color,#49cc90);border-radius:1rem}.swagger-ui .opblock.opblock-put{background:var(--opblock-put-background-color,rgba(252,161,48,.1))}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:var(--opblock-put-method-color,#fca130)}.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:var(--opblock-delete-border-color,#f93e3e)}.swagger-ui .opblock.opblock-delete{background:var(--opblock-delete-background-color,rgba(249,62,62,.1))}.swagger-ui .opblock.opblock-delete .opblock-summary-method,.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:var(--opblock-delete-method-color,#f93e3e)}.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-get .opblock-summary{border-color:var(--opblock-get-border-color,#61affe)}.swagger-ui .opblock.opblock-get{background:var(--opblock-get-background-color,rgba(97,175,254,.1))}.swagger-ui .opblock.opblock-get .opblock-summary-method,.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:var(--opblock-get-method-color,#61affe)}.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:var(--opblock-patch-border-color,#50e3c2)}.swagger-ui .opblock.opblock-patch{background:var(--opblock-patch-background-color,rgba(80,227,194,.1))}.swagger-ui .opblock.opblock-patch .opblock-summary-method,.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:var(--opblock-patch-method-color,#50e3c2)}.swagger-ui .opblock.opblock-head,.swagger-ui .opblock.opblock-head .opblock-summary{border-color:var(--opblock-head-border-color,#9012fe)}.swagger-ui .opblock.opblock-head{background:var(--opblock-head-background-color,rgba(144,18,254,.1))}.swagger-ui .opblock.opblock-head .opblock-summary-method,.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:var(--opblock-head-method-color,#9012fe)}.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-options .opblock-summary{border-color:var(--opblock-options-border-color,#0d5aa7)}.swagger-ui .opblock.opblock-options{background:var(--opblock-options-background-color,rgba(13,90,167,.1))}.swagger-ui .opblock.opblock-options .opblock-summary-method,.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:var(--opblock-options-method-color,#0d5aa7)}.swagger-ui .opblock.opblock-deprecated,.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:var(--opblock-deprecated-border-color,#ebebeb)}.swagger-ui .opblock.opblock-deprecated{background:var(--opblock-deprecated-background-color,hsla(0,0%,92%,.1))}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method,.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:var(--opblock-deprecated-method-color,#ebebeb)}.swagger-ui .tab li:first-of-type:after{background:var(--swagger-tabs-divider-color,rgba(0,0,0,.2))}.swagger-ui .response-col_links .response-undocumented,.swagger-ui .response-col_status .response-undocumented{color:var(--response-undocumented-color,#909090)}.swagger-ui .response-control-media-type--accept-controller select{border-color:var(--response-control-media-type-color,green)}.swagger-ui .response-control-media-type__accept-message{color:var(--response-control-media-type-color,green)}.swagger-ui .opblock-body pre.microlight{background:var(--opblock-pre-microlight-background-color,#333)!important;color:var(--opblock-pre-microlight-color,#fff)!important}.swagger-ui .download-contents{background:var(--download-contents-background-color,#7d8293);color:var(--download-contents-color,#fff)}.swagger-ui .copy-to-clipboard{background:var(--copy-to-clipboard-background-color,#7d8293)}.swagger-ui .copy-to-clipboard button{background:var(--copy-to-clipboard-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .filter .operation-filter-input{border:2px solid var(--filter-operation-filter-input-border-color,#d8dde7)}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:var(--filter-download-failed-color,red)}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:var(--filter-download-loading-color,#aaa)}.swagger-ui table.headers .header-example{color:var(--table-headers-example-color,#999)}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid var(--table-thead-border-bottom-color,rgba(59,65,81,.2));color:var(--swagger-main-color,#3b4151)}.swagger-ui .parameter__name.required span{color:var(--parameter-name-required-symbol-color,red)}.swagger-ui .parameter__name.required::after{color:var(--parameter-name-required-color,rgba(255,0,0,.6))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in,.swagger-ui .response__extension{color:var(--parameter-in-extension-color,gray)}.swagger-ui .parameter__deprecated{color:var(--parameter-deprecated-color,red)}.swagger-ui .btn,.swagger-ui select,.swagger-ui textarea{color:var(--swagger-main-color,#3b4151)}.swagger-ui .btn{background:var(--button-background-color,transparent);border:2px solid var(--button-border-color,gray);box-shadow:0 1px 2px var(--button-shadow-color,rgba(0,0,0,.1))}.swagger-ui .btn:hover{box-shadow:0 0 5px var(--button-shadow-hover-color,rgba(0,0,0,.3))}.swagger-ui .btn.cancel{background-color:var(--button-cancel-background-color,transparent);border-color:var(--button-cancel-border-color,#ff6060);color:var(--button-cancel-color,#ff6060)}.swagger-ui .btn.execute{background-color:var(--button-execute-background-color,#4990e2);border-color:var(--button-execute-border-color,#4990e2);color:var(--button-execute-color,#fff)}.swagger-ui button.invalid{background:var(--button-invalid-background-color,#feebeb);border-color:var(--button-invalid-border-color,#f93e3e)}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{fill:var(--expand-operation-svg-arrow-color,#707070)}.swagger-ui .expand-methods:hover svg,.swagger-ui .expand-operation:hover svg{fill:var(--expand-operation-svg-arrow-hover-color,#404040)}.swagger-ui select{background:var(--select-background-icon, #f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat);border:2px solid var(--select-border-color,#41444e);box-shadow:0 1px 2px 0 var(--select-shadow-color,rgba(0,0,0,.25))}.swagger-ui select[multiple]{background:var(--select-background-color,#f7f7f7)}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:var(--input-background-color,#fff);border:1px solid var(--input-border-color,#d9d9d9);color:var(--swagger-main-color,#3b4151)}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui select.invalid,.swagger-ui textarea.invalid{background:var(--input-invalid-background-color,#feebeb);border-color:var(--input-invalid-border-color,#f93e3e);color:var(--input-invalid-color,#3b4151)}.swagger-ui input[disabled],.swagger-ui select[disabled]{background-color:var(--input-disabled-background-color,#fafafa);color:var(--input-disabled-color,#888)}.swagger-ui select[disabled]{border-color:var(--select-disabled-border-color,#888)}.swagger-ui textarea[disabled]{background-color:var(--textarea-disabled-background-color,#41444e);color:var(--textarea-disabled-color,#fff)}.swagger-ui textarea{background:var(--textarea-background-color,hsla(0,0%,100%,.8))}.swagger-ui textarea:focus{border:2px solid var(--textarea-border-focus-color,#61affe)}.swagger-ui textarea.curl{background:var(--textarea-curl-background-color,#41444e);color:var(--textarea-curl-color,#fff)}.swagger-ui .checkbox{color:var(--checkbox-color,#303030)}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:var(--checkbox-label-item-background-color,#e8e8e8);box-shadow:0 0 0 2px var(--checkbox-label-item-shadow-color,#e8e8e8)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:var(--checkbox-label-item-icon, #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .dialog-ux .backdrop-ux{background:var(--dialog-backdrop-color,rgba(0,0,0,.8))}.swagger-ui .dialog-ux .modal-ux{background:var(--dialog-background-color,#fff);border:1px solid var(--dialog-border-color,#ebebeb);box-shadow:0 10px 30px 0 var(--dialog-shadow-color,rgba(0,0,0,.2))}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--dialog-border-color,#ebebeb)}.swagger-ui .dialog-ux .modal-ux-header button svg{fill:var(--dialog-close-button-icon-color,black)}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:var(--model-deprecated-color,#a0a0a0)!important}.swagger-ui .model-toggle{cursor:pointer;-webkit-transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{-webkit-transform:rotate(0);transform:rotate(0)}.swagger-ui .model-toggle::after{background:var(--model-arrow-icon, url('data:image/svg+xml;charset=utf-8,') 50% no-repeat)}.swagger-ui .model-hint{background:var(--model-hint-background-color,rgba(0,0,0,.7));color:var(--model-hint-color,#ebebeb)}.swagger-ui .model .property{color:var(--model-property-color,#999)}.swagger-ui .model .property.primitive{color:var(--model-property-primitive-color,#6b6b6b)}.swagger-ui table.model tr.property-row .star{color:var(--model-property-required-symbol-color,red)}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:var(--model-property-description,#666)}.swagger-ui table.model tr.extension{color:var(--model-property-extension,#777)}.swagger-ui section.models{border:1px solid var(--model-section-border-color,rgba(59,65,81,.3));border-radius:.5rem;padding:0;margin:0}.swagger-ui section.models.is-open h4{border-bottom:1px solid var(--model-section-border-color,rgba(59,65,81,.3))}.swagger-ui section.models h4{color:var(--model-section-header-color,#606060);padding:0}.swagger-ui section.models h4:hover{background:var(--model-section-header-hover-background-color,rgba(0,0,0,.02))}.swagger-ui section.models h4 svg{fill:var(--expand-model-svg-arrow-color,#707070)}.swagger-ui section.models h4 button.models-control{color:var(--model-section-header-color,#606060);padding:20px}.swagger-ui section.models h5{color:var(--model-section-little-header-color,#707070)}.swagger-ui section.models .model-container{background:var(--model-container-background-color,rgba(0,0,0,.05))}.swagger-ui section.models .model-container:hover{background:var(--model-container-hover-background-color,rgba(0,0,0,.07))}.swagger-ui .model-box{background:var(--model-box-background-color,rgba(0,0,0,.1))}.swagger-ui .model-title{color:var(--model-title-color,#505050)}.swagger-ui .model-deprecated-warning{color:var(--model-deprecated-warning-color,#f93e3e)}.swagger-ui .prop-type{color:var(--model-prop-type-color,#55a)}.swagger-ui .prop-format{color:var(--model-prop-format-color,#606060)}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{color:var(--rendered-markdown-pre-color,#000)}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:var(--rendered-markdown-code-background-color,rgba(0,0,0,.05));color:var(--rendered-markdown-code-color,#9012fe)}.scroll-to-top-wrapper{position:fixed;bottom:0;left:0;right:0;text-align:end;box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%;pointer-events:none}#scroll-to-top-btn{background-color:var(--scroll-to-top-button-background-color,#000000d1);border:1px solid var(--scroll-to-top-button-border-color,#d1c9c9);border-radius:50%;color:#fff;cursor:pointer;width:2.5rem;aspect-ratio:1;backdrop-filter:blur(20px);margin:10px;position:relative;transition:background-color .5s,opacity .6s .2s,translate .8s,scale .2s;opacity:0;translate:0 100px;box-shadow:0 0 10px 0 var(--scroll-to-top-button-shadow-color,rgba(0,0,0,.4))}#scroll-to-top-btn.showBtn{opacity:1;translate:0 0;pointer-events:auto}#scroll-to-top-btn::before{position:absolute;content:'';top:10px;left:12px;right:12px;background-color:var(--scroll-to-top-button-icon-color,#fff);border-radius:1rem;height:2px}#scroll-to-top-btn::after{position:absolute;content:'';top:15px;left:50%;border:solid var(--scroll-to-top-button-icon-color,#fff);border-width:0 2px 2px 0;padding:3px;transform:rotate(-135deg);translate:-50% 4px}#scroll-to-top-btn:focus-within,#scroll-to-top-btn:hover{background-color:var(--scroll-to-top-button-hover-background-color,#0d0d0dba)}#scroll-to-top-btn:focus-within::after,#scroll-to-top-btn:hover::after{animation:1.2s ease-in infinite bounceUp}@keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@-moz-keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@-webkit-keyframes bounceUp{100%{translate:-50% 4px}25%{translate:-50% 6px}60%{translate:-50% -2px}}@media only screen and (max-width:680px){.swagger-ui .opblock .opblock-summary-description,.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{word-break:break-all}} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.css deleted file mode 100644 index f189010..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.css +++ /dev/null @@ -1,192 +0,0 @@ -/* - Modern Dark Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -@media (prefers-color-scheme: dark) { - :root { - --scrollbar-thumb-color: hsl(0, 0%, 45%); - --scrollbar-thumb-hover-color: hsl(0, 0%, 55%); - --body-background-color: #101010; - --swagger-main-color: #ecf0f1; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .1); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #606060; - /* Top-bar */ - --topbar-background-color: black; - --topbar-pinned-background-color: rgba(0, 0, 0, .3); - --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); - --topbar-pin-icon-color: white; - --topbar-border-color: gray; - --topbar-select-border-color: #5b5b5b; - --topbar-select-label-color: #dfd9d9; - --topbar-download-url-button-background-color: #5b5b5b; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #4990e2; - --swagger-info-link-hover: #1b78e5; - --api-version-background-color: #616161; - --api-version-stamp-background-color: #23891f; - --api-version-color: #cdcdcd; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: black; - --auth-wrapper-border-color: #383636; - --auth-wrapper-box-shadow-color: #c1c1c1; - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #49cc90; - --btn-authorize-font-color: #49cc90; - --btn-authorize-svg-fill-color: #49cc90; - /* Operations */ - --opblock-tag-section-border-color: #312c2c; - --opblock-border-color: black; - --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-pinned-background-color-hover: #0e0e0e; - --opblock-tag-border-bottom-color: rgba(109, 113, 121, .3); - --opblock-shadow-color: rgba(59, 59, 59, .19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(56, 203, 82, .1); - --opblock-post-method-color: #49cc90; - --opblock-post-border-color: #49cc90; - /*PUT*/ - --opblock-put-background-color: rgba(255, 189, 63, .1); - --opblock-put-method-color: #eb9532; - --opblock-put-border-color: #eb9532; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 4, 4, .1); - --opblock-delete-method-color: #c0392b; - --opblock-delete-border-color: #c0392b; - /*GET*/ - --opblock-get-background-color: rgb(33, 161, 255, .1); - --opblock-get-method-color: #61affe; - --opblock-get-border-color: #61affe; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(62, 73, 114, .1); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(37, 64, 211, .1); - --opblock-options-method-color: #263795; - --opblock-options-border-color: #263795; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #999; - --response-control-media-type-color: green; - --opblock-pre-microlight-background-color: #333; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #7d8293; - --download-contents-color: white; - --copy-to-clipboard-background-color: #7d8293; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #999; - --table-thead-border-bottom-color: rgba(59, 65, 81, .2); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #a1a1a1; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #5fa9ff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #aaa; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #41444e; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0c0c0c; - --input-border-color: #6d6d6d; - --input-invalid-background-color: #210101; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #333333; - --input-disabled-color: #757575; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #a5a5a5; - --textarea-curl-background-color: #41444e; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(0, 0, 0, .8); - --dialog-background-color: #161616; - --dialog-border-color: #333436; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #999; - --model-property-primitive-color: #676767; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #8d8a8a; - --model-section-border-color: rgba(96, 96, 96, .3); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #bec6cf; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #6464db; - --model-prop-format-color: #b7b7b7; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #00000085; - --scroll-to-top-button-hover-background-color: #0d0d0d85; - --scroll-to-top-button-border-color: #232323; - --scroll-to-top-button-icon-color: #d1cccc; - --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); - } -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.min.css deleted file mode 100644 index 16cbfb2..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.dark.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Dark Style*/@media (prefers-color-scheme:dark){:root{--scrollbar-thumb-color:hsl(0, 0%, 45%);--scrollbar-thumb-hover-color:hsl(0, 0%, 55%);--body-background-color:#101010;--swagger-main-color:#ecf0f1;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .1);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#606060;--topbar-background-color:black;--topbar-pinned-background-color:rgba(0, 0, 0, .3);--topbar-pinned-shadow-color:rgba(0, 0, 0, .6);--topbar-pin-icon-color:white;--topbar-border-color:gray;--topbar-select-border-color:#5b5b5b;--topbar-select-label-color:#dfd9d9;--topbar-download-url-button-background-color:#5b5b5b;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#4990e2;--swagger-info-link-hover:#1b78e5;--api-version-background-color:#616161;--api-version-stamp-background-color:#23891f;--api-version-color:#cdcdcd;--auth-wrapper-background-color:black;--auth-wrapper-border-color:#383636;--auth-wrapper-box-shadow-color:#c1c1c1;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#49cc90;--btn-authorize-font-color:#49cc90;--btn-authorize-svg-fill-color:#49cc90;--opblock-tag-section-border-color:#312c2c;--opblock-border-color:black;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#0e0e0e;--opblock-tag-border-bottom-color:rgba(109, 113, 121, .3);--opblock-shadow-color:rgba(59, 59, 59, .19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(56, 203, 82, .1);--opblock-post-method-color:#49cc90;--opblock-post-border-color:#49cc90;--opblock-put-background-color:rgba(255, 189, 63, .1);--opblock-put-method-color:#eb9532;--opblock-put-border-color:#eb9532;--opblock-delete-background-color:rgba(255, 4, 4, .1);--opblock-delete-method-color:#c0392b;--opblock-delete-border-color:#c0392b;--opblock-get-background-color:rgb(33, 161, 255, .1);--opblock-get-method-color:#61affe;--opblock-get-border-color:#61affe;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(62, 73, 114, .1);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(37, 64, 211, .1);--opblock-options-method-color:#263795;--opblock-options-border-color:#263795;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#999;--response-control-media-type-color:green;--opblock-pre-microlight-background-color:#333;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#7d8293;--download-contents-color:white;--copy-to-clipboard-background-color:#7d8293;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#999;--table-thead-border-bottom-color:rgba(59, 65, 81, .2);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#a1a1a1;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#4990e2;--button-execute-border-color:#5fa9ff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#aaa;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#41444e;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0c0c0c;--input-border-color:#6d6d6d;--input-invalid-background-color:#210101;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#333333;--input-disabled-color:#757575;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#a5a5a5;--textarea-curl-background-color:#41444e;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(0, 0, 0, .8);--dialog-background-color:#161616;--dialog-border-color:#333436;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#999;--model-property-primitive-color:#676767;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#8d8a8a;--model-section-border-color:rgba(96, 96, 96, .3);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#bec6cf;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#6464db;--model-prop-format-color:#b7b7b7;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#00000085;--scroll-to-top-button-hover-background-color:#0d0d0d85;--scroll-to-top-button-border-color:#232323;--scroll-to-top-button-icon-color:#d1cccc;--scroll-to-top-button-shadow-color:rgba(0, 0, 0, .3)}} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.css deleted file mode 100644 index 0107c0a..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.css +++ /dev/null @@ -1,190 +0,0 @@ -/* - Modern DeepSea Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --scrollbar-thumb-color: hsl(207, 100%, 23%); - --scrollbar-thumb-hover-color: hsl(207, 100%, 30%); - --body-background-color: #0a1229; - --swagger-main-color: #fff; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .5); - --errors-wrapper-border-color: #f95c5c; - --errors-wrapper-errors-color: #bdbdbd; - /* Top-bar */ - --topbar-background-color: #010225; - --topbar-pinned-background-color: rgb(0, 0, 30, .5); - --topbar-pinned-shadow-color: rgba(0, 0, 16, .5); - --topbar-pin-icon-color: white; - --topbar-border-color: #008ab3; - --topbar-select-border-color: #007dd5; - --topbar-select-label-color: #f1f1f1; - --topbar-download-url-button-background-color: #165d9a; - --topbar-download-url-button-color: #f1f1f1; - /* Info-box */ - --swagger-info-link: #99a5ff; - --swagger-info-link-hover: #3484d5; - --api-version-background-color: #d15647; - --api-version-stamp-background-color: #44c0fb; - --api-version-color: white; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: #1d6968; - --auth-wrapper-border-color: #60ffdc; - --auth-wrapper-box-shadow-color: rgba(0, 0, 0, .3); - --auth-container-border-bottom-color: #171725; - --auth-container-background-color: #1c366f; - --auth-container-errors-color: red; - --btn-authorize-background-color: #1c2541; - --btn-authorize-border-color: #45e1d1; - --btn-authorize-font-color: #fbffff; - --btn-authorize-svg-fill-color: #fbffff; - /* Operations */ - --opblock-tag-section-border-color: #065687; - --opblock-border-color: white; - --opblock-shadow-color: rgba(0, 0, 0, .2); - --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); - --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); - --opblock-tag-pinned-background-color-hover: #091024; - --opblock-tag-border-bottom-color: #065687c9; - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: white; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: #3b2e1e; - --opblock-summary-method-color: #fff; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(33, 161, 255, .1); - --opblock-post-method-color: #61affe; - --opblock-post-border-color: #61affe; - /*PUT*/ - --opblock-put-background-color: rgba(0, 73, 133, .2); - --opblock-put-method-color: #004985; - --opblock-put-border-color: #004985; - /*DELETE*/ - --opblock-delete-background-color: rgba(20, 41, 111, .14); - --opblock-delete-method-color: #14296f; - --opblock-delete-border-color: #14296f; - /*GET*/ - --opblock-get-background-color: rgba(0, 127, 110, .2); - --opblock-get-method-color: #007f6e; - --opblock-get-border-color: #007f6e; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(43, 55, 99, .36); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(129, 0, 100, .3); - --opblock-options-method-color: #810064; - --opblock-options-border-color: #810064; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 100%, .14); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #b0b0b0; - --response-control-media-type-color: #00ffe8; - --opblock-pre-microlight-background-color: #1b2847; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #0e0d2e; - --download-contents-color: white; - --copy-to-clipboard-background-color: #0e0d2e; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #c1c1c1; - --table-headers-example-color: #c4c4c4; - --table-thead-border-bottom-color: rgba(0, 0, 0, .20); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #a8a8a8; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #1f81ff; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #16589f; - --button-execute-border-color: #5f9eff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #dbdbdb; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0e0d2edc url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #949cf5; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0e0d2edc; - --input-border-color: #949cf5; - --input-invalid-background-color: #630000; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #1b2847; - --input-disabled-color: #ebe3e3; - --select-disabled-border-color: #171122; - --textarea-disabled-background-color: #1b2847; - --textarea-disabled-color: #ebe3e3; - --textarea-background-color: #0e0d2edc; - --textarea-border-focus-color: #d5d5d5; - --textarea-curl-background-color: #94cef5; - --textarea-curl-color: #fff; - --checkbox-color: #151431; - --checkbox-label-item-background-color: #165d9a; - --checkbox-label-item-shadow-color: #165d9a; - --checkbox-label-item-icon: #165d9a url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgb(2, 0, 18, 0.80); - --dialog-background-color: #081c3b; - --dialog-border-color: #0e3779; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .3); - --model-hint-color: #ebebeb; - --model-property-color: #b5b5b5; - --model-property-primitive-color: #8b8b8b; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #aba6a6; - --model-section-border-color: rgba(56, 131, 223, .5); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #8a8a8a; - --model-container-background-color: rgba(20, 20, 20, .05); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #dedede; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #4ca3ff; - --model-prop-format-color: #fff; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #02001ec2; - --scroll-to-top-button-hover-background-color: #020d35b8; - --scroll-to-top-button-border-color: #002648; - --scroll-to-top-button-icon-color: #7becff; - --scroll-to-top-button-shadow-color: rgba(8, 25, 114, .5); -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.min.css deleted file mode 100644 index 1f236c1..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.deepsea.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern DeepSea Style*/:root{--scrollbar-thumb-color:hsl(207, 100%, 23%);--scrollbar-thumb-hover-color:hsl(207, 100%, 30%);--body-background-color:#0a1229;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#010225;--topbar-pinned-background-color:rgb(0, 0, 30, .5);--topbar-pinned-shadow-color:rgba(0, 0, 16, .5);--topbar-pin-icon-color:white;--topbar-border-color:#008ab3;--topbar-select-border-color:#007dd5;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#165d9a;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#99a5ff;--swagger-info-link-hover:#3484d5;--api-version-background-color:#d15647;--api-version-stamp-background-color:#44c0fb;--api-version-color:white;--auth-wrapper-background-color:#1d6968;--auth-wrapper-border-color:#60ffdc;--auth-wrapper-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#171725;--auth-container-background-color:#1c366f;--auth-container-errors-color:red;--btn-authorize-background-color:#1c2541;--btn-authorize-border-color:#45e1d1;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-section-border-color:#065687;--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#091024;--opblock-tag-border-bottom-color:#065687c9;--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(33, 161, 255, .1);--opblock-post-method-color:#61affe;--opblock-post-border-color:#61affe;--opblock-put-background-color:rgba(0, 73, 133, .2);--opblock-put-method-color:#004985;--opblock-put-border-color:#004985;--opblock-delete-background-color:rgba(20, 41, 111, .14);--opblock-delete-method-color:#14296f;--opblock-delete-border-color:#14296f;--opblock-get-background-color:rgba(0, 127, 110, .2);--opblock-get-method-color:#007f6e;--opblock-get-border-color:#007f6e;--opblock-patch-background-color:rgba(255, 0, 165, .1);--opblock-patch-method-color:#9b59b6;--opblock-patch-border-color:#9b59b6;--opblock-head-background-color:rgba(43, 55, 99, .36);--opblock-head-method-color:#3e4972;--opblock-head-border-color:#3e4972;--opblock-options-background-color:rgba(129, 0, 100, .3);--opblock-options-method-color:#810064;--opblock-options-border-color:#810064;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#00ffe8;--opblock-pre-microlight-background-color:#1b2847;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#0e0d2e;--download-contents-color:white;--copy-to-clipboard-background-color:#0e0d2e;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgba(0, 0, 0, .20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#a8a8a8;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#1f81ff;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#16589f;--button-execute-border-color:#5f9eff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#0e0d2edc url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#949cf5;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#0e0d2edc;--input-border-color:#949cf5;--input-invalid-background-color:#630000;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#1b2847;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#171122;--textarea-disabled-background-color:#1b2847;--textarea-disabled-color:#ebe3e3;--textarea-background-color:#0e0d2edc;--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#94cef5;--textarea-curl-color:#fff;--checkbox-color:#151431;--checkbox-label-item-background-color:#165d9a;--checkbox-label-item-shadow-color:#165d9a;--checkbox-label-item-icon:#165d9a url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(2, 0, 18, 0.80);--dialog-background-color:#081c3b;--dialog-border-color:#0e3779;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(56, 131, 223, .5);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#8a8a8a;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#dedede;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#4ca3ff;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#02001ec2;--scroll-to-top-button-hover-background-color:#020d35b8;--scroll-to-top-button-border-color:#002648;--scroll-to-top-button-icon-color:#7becff;--scroll-to-top-button-shadow-color:rgba(8, 25, 114, .5)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.css deleted file mode 100644 index 5b1eae4..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.css +++ /dev/null @@ -1,190 +0,0 @@ -/* - Modern Desert Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --scrollbar-thumb-color: hsl(40, 40%, 30%); - --scrollbar-thumb-hover-color: hsl(40, 40%, 35%); - --body-background-color: #c58c59; - --swagger-main-color: #ffffff; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .2); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #3f1616; - /* Top-bar */ - --topbar-background-color: #573420; - --topbar-pinned-background-color: rgba(0, 0, 0, .5); - --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); - --topbar-pin-icon-color: white; - --topbar-border-color: #60360b; - --topbar-select-border-color: #8F5933; - --topbar-select-label-color: #ffeec8; - --topbar-download-url-button-background-color: #774109; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #cedaff; - --swagger-info-link-hover: #a4d5ff; - --api-version-background-color: #85ce34; - --api-version-stamp-background-color: #a96105; - --api-version-color: #ffffff; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: #cd753d; - --auth-wrapper-border-color: #b25f2a; - --auth-wrapper-box-shadow-color: #6b48178c; - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #a0e249; - --btn-authorize-font-color: #caff85; - --btn-authorize-svg-fill-color: #caff85; - /* Operations */ - --opblock-tag-section-border-color: #92491a; - --opblock-border-color: black; - --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 10%); - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-pinned-background-color-hover: #bb8656; - --opblock-tag-border-bottom-color: rgb(78, 38, 18, 0.30); - --opblock-shadow-color: rgb(74, 25, 25, 0.19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgb(125 113 58 / 24%); - --opblock-post-method-color: #7D713A; - --opblock-post-border-color: #7D713A; - /*PUT*/ - --opblock-put-background-color: rgb(193 91 22 / 16%); - --opblock-put-method-color: #c15b16; - --opblock-put-border-color: #c15b16; - /*DELETE*/ - --opblock-delete-background-color: rgb(157 66 26 / 17%); - --opblock-delete-method-color: #9d421a; - --opblock-delete-border-color: #9d421a; - /*GET*/ - --opblock-get-background-color: rgb(84 150 182 / 18%); - --opblock-get-method-color: #5496B6; - --opblock-get-border-color: #5496B6; - /*PATCH*/ - --opblock-patch-background-color: rgb(141 111 155 / 18%); - --opblock-patch-method-color: #8D6F9B; - --opblock-patch-border-color: #8D6F9B; - /*HEAD*/ - --opblock-head-background-color: rgb(67 64 99 / 18%); - --opblock-head-method-color: #434063; - --opblock-head-border-color: #434063; - /*OPTIONS*/ - --opblock-options-background-color: rgb(241 145 121 / 20%); - --opblock-options-method-color: #F19179; - --opblock-options-border-color: #F19179; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: #d9d0d0; - /* Other of operations */ - --response-undocumented-color: #ece2e2; - --response-control-media-type-color: #5dff5d; - --opblock-pre-microlight-background-color: #301d00; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #896648; - --download-contents-color: white; - --copy-to-clipboard-background-color: #896648; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #ece2e2; - --table-thead-border-bottom-color: rgb(79, 52, 52, 0.20); - --parameter-name-required-symbol-color: #590000; - --parameter-name-required-color: rgb(53 0 0 / 80%); - --parameter-in-extension-color: #dfd7d7; - --parameter-deprecated-color: #610000; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #ffdbaf; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #da4e4e; - --button-cancel-color: #ffb8b8; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #9fccff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: white; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #301d00 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #8F5933; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #301d00; - --input-border-color: #8F5933; - --input-invalid-background-color: #6f0f0f; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #ffb3b3; - --input-disabled-background-color: #572f25; - --input-disabled-color: #b3b3b3; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #b5794f; - --textarea-curl-background-color: #301d00; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgb(20 0 0 / 80%); - --dialog-background-color: #935F39; - --dialog-border-color: #F2D58C; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #e1c3c3; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #e9dede; - --model-property-primitive-color: #fdebeb; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #cdbebe; - --model-section-border-color: rgb(67 1 1 / 30%); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #e3d2d2; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #ffffff; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #fffa4d; - --model-prop-format-color: #f9ffc5; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #2c120285; - --scroll-to-top-button-hover-background-color: #3d210c85; - --scroll-to-top-button-border-color: #60360b; - --scroll-to-top-button-icon-color: #ffedbc; - --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.min.css deleted file mode 100644 index d72a021..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.desert.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Desert Style*/:root{--scrollbar-thumb-color:hsl(40, 40%, 30%);--scrollbar-thumb-hover-color:hsl(40, 40%, 35%);--body-background-color:#c58c59;--swagger-main-color:#ffffff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .2);--errors-wrapper-border-color:#f93e3e;--errors-wrapper-errors-color:#3f1616;--topbar-background-color:#573420;--topbar-pinned-background-color:rgba(0, 0, 0, .5);--topbar-pinned-shadow-color:rgba(0, 0, 0, .6);--topbar-pin-icon-color:white;--topbar-border-color:#60360b;--topbar-select-border-color:#8F5933;--topbar-select-label-color:#ffeec8;--topbar-download-url-button-background-color:#774109;--topbar-download-url-button-color:#dfd9d9;--swagger-info-link:#cedaff;--swagger-info-link-hover:#a4d5ff;--api-version-background-color:#85ce34;--api-version-stamp-background-color:#a96105;--api-version-color:#ffffff;--auth-wrapper-background-color:#cd753d;--auth-wrapper-border-color:#b25f2a;--auth-wrapper-box-shadow-color:#6b48178c;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#a0e249;--btn-authorize-font-color:#caff85;--btn-authorize-svg-fill-color:#caff85;--opblock-tag-section-border-color:#92491a;--opblock-border-color:black;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 10%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .1);--opblock-tag-pinned-background-color-hover:#bb8656;--opblock-tag-border-bottom-color:rgb(78, 38, 18, 0.30);--opblock-shadow-color:rgb(74, 25, 25, 0.19);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgb(125 113 58 / 24%);--opblock-post-method-color:#7D713A;--opblock-post-border-color:#7D713A;--opblock-put-background-color:rgb(193 91 22 / 16%);--opblock-put-method-color:#c15b16;--opblock-put-border-color:#c15b16;--opblock-delete-background-color:rgb(157 66 26 / 17%);--opblock-delete-method-color:#9d421a;--opblock-delete-border-color:#9d421a;--opblock-get-background-color:rgb(84 150 182 / 18%);--opblock-get-method-color:#5496B6;--opblock-get-border-color:#5496B6;--opblock-patch-background-color:rgb(141 111 155 / 18%);--opblock-patch-method-color:#8D6F9B;--opblock-patch-border-color:#8D6F9B;--opblock-head-background-color:rgb(67 64 99 / 18%);--opblock-head-method-color:#434063;--opblock-head-border-color:#434063;--opblock-options-background-color:rgb(241 145 121 / 20%);--opblock-options-method-color:#F19179;--opblock-options-border-color:#F19179;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:#d9d0d0;--response-undocumented-color:#ece2e2;--response-control-media-type-color:#5dff5d;--opblock-pre-microlight-background-color:#301d00;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#896648;--download-contents-color:white;--copy-to-clipboard-background-color:#896648;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#ece2e2;--table-thead-border-bottom-color:rgb(79, 52, 52, 0.20);--parameter-name-required-symbol-color:#590000;--parameter-name-required-color:rgb(53 0 0 / 80%);--parameter-in-extension-color:#dfd7d7;--parameter-deprecated-color:#610000;--button-background-color:transparent;--button-border-color:#ffdbaf;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#da4e4e;--button-cancel-color:#ffb8b8;--button-execute-background-color:#4990e2;--button-execute-border-color:#9fccff;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:white;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#301d00 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#8F5933;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#301d00;--input-border-color:#8F5933;--input-invalid-background-color:#6f0f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#ffb3b3;--input-disabled-background-color:#572f25;--input-disabled-color:#b3b3b3;--select-disabled-border-color:#888;--textarea-disabled-background-color:#2b2b2b;--textarea-disabled-color:#b3b3b3;--textarea-background-color:hsla(0, 0%, 0%, .8);--textarea-border-focus-color:#b5794f;--textarea-curl-background-color:#301d00;--textarea-curl-color:#fff;--checkbox-color:#303030;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgb(20 0 0 / 80%);--dialog-background-color:#935F39;--dialog-border-color:#F2D58C;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#e1c3c3;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .7);--model-hint-color:#ebebeb;--model-property-color:#e9dede;--model-property-primitive-color:#fdebeb;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#cdbebe;--model-section-border-color:rgb(67 1 1 / 30%);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#e3d2d2;--model-container-background-color:rgba(20, 20, 20, .1);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#ffffff;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#fffa4d;--model-prop-format-color:#f9ffc5;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#2c120285;--scroll-to-top-button-hover-background-color:#3d210c85;--scroll-to-top-button-border-color:#60360b;--scroll-to-top-button-icon-color:#ffedbc;--scroll-to-top-button-shadow-color:rgba(0, 0, 0, .3)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.css deleted file mode 100644 index 8dc3114..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.css +++ /dev/null @@ -1,190 +0,0 @@ -/* - Modern Forest Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -:root { - --scrollbar-thumb-color: hsl(115, 100%, 30%); - --scrollbar-thumb-hover-color: hsl(115, 100%, 40%); - --body-background-color: #0e2702; - --swagger-main-color: #fff; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .5); - --errors-wrapper-border-color: #f95c5c; - --errors-wrapper-errors-color: #bdbdbd; - /* Top-bar */ - --topbar-background-color: #0f1a01; - --topbar-pinned-background-color: rgb(0, 25, 2, .5); - --topbar-pinned-shadow-color: rgba(0, 10, 2, .5); - --topbar-pin-icon-color: white; - --topbar-border-color: #095300; - --topbar-select-border-color: #43b715; - --topbar-select-label-color: #f1f1f1; - --topbar-download-url-button-background-color: #43b715; - --topbar-download-url-button-color: #f1f1f1; - /* Info-box */ - --swagger-info-link: #e9d98d; - --swagger-info-link-hover: #bccf29; - --api-version-background-color: #d4bf88; - --api-version-stamp-background-color: #907a48; - --api-version-color: black; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: #2d2010; - --auth-wrapper-border-color: #422e15; - --auth-wrapper-box-shadow-color: rgba(0, 0, 0, .3); - --auth-container-border-bottom-color: #251717; - --auth-container-background-color: #3a4928; - --auth-container-errors-color: red; - --btn-authorize-background-color: #451f1f; - --btn-authorize-border-color: #ededed; - --btn-authorize-font-color: #fbffff; - --btn-authorize-svg-fill-color: #fbffff; - /* Operations */ - --opblock-tag-section-border-color: rgb(62, 165, 55); - --opblock-border-color: white; - --opblock-shadow-color: rgba(0, 0, 0, .2); - --opblock-tag-section-expandcollapse-background-color: rgb(0 0 0 / 45%); - --opblock-tag-background-color-hover: rgba(0, 0, 0, .05); - --opblock-tag-pinned-background-color-hover: #0d2402; - --opblock-tag-border-bottom-color: rgba(212, 191, 136, .5); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: white; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: #3b2e1e; - --opblock-summary-method-color: #fff; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(62, 163, 54, .24); - --opblock-post-method-color: #228738; - --opblock-post-border-color: #228738; - /*PUT*/ - --opblock-put-background-color: rgba(255, 167, 0, .3); - --opblock-put-method-color: #c95f00; - --opblock-put-border-color: #c95f00; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 0, 0, .14); - --opblock-delete-method-color: #631f03; - --opblock-delete-border-color: #631f03; - /*GET*/ - --opblock-get-background-color: rgba(151, 255, 0, .17); - --opblock-get-method-color: #9f9400; - --opblock-get-border-color: #9f9400; - /*PATCH*/ - --opblock-patch-background-color: rgba(133, 117, 69, .25); - --opblock-patch-method-color: #857545; - --opblock-patch-border-color: #857545; - /*HEAD*/ - --opblock-head-background-color: rgba(55, 50, 6, .8); - --opblock-head-method-color: #4b4719; - --opblock-head-border-color: #4b4719; - /*OPTIONS*/ - --opblock-options-background-color: rgba(19, 22, 19, .3); - --opblock-options-method-color: #131613; - --opblock-options-border-color: #131613; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 100%, .14); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #b0b0b0; - --response-control-media-type-color: #74ff74; - --opblock-pre-microlight-background-color: #47331b; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #2e0d0d; - --download-contents-color: white; - --copy-to-clipboard-background-color: #2e0d0d; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #c1c1c1; - --table-headers-example-color: #c4c4c4; - --table-thead-border-bottom-color: rgb(0, 0, 0, 0.20); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #58a851; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #346719; - --button-execute-border-color: #478d26; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #dbdbdb; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #2b1414e0 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #9ef594; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #2b1414e0; - --input-border-color: #9ef594; - --input-invalid-background-color: #510f0f; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #47331b; - --input-disabled-color: #ebe3e3; - --select-disabled-border-color: #211; - --textarea-disabled-background-color: #47331b; - --textarea-disabled-color: #ebe3e3; - --textarea-background-color: hsla(0, 36%, 12%, .8); - --textarea-border-focus-color: #d5d5d5; - --textarea-curl-background-color: #9ef594; - --textarea-curl-color: #fff; - --checkbox-color: #311414; - --checkbox-label-item-background-color: #2c7a30; - --checkbox-label-item-shadow-color: #2c7a30; - --checkbox-label-item-icon: #2c7a30 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(2, 18, 0, .8); - --dialog-background-color: #29351b; - --dialog-border-color: #4b6b3c; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .3); - --model-hint-color: #ebebeb; - --model-property-color: #b5b5b5; - --model-property-primitive-color: #8b8b8b; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #aba6a6; - --model-section-border-color: rgba(212, 191, 136, .5); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .05); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #d9d9d9; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #2fff41; - --model-prop-format-color: #fff; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #002c02db; - --scroll-to-top-button-hover-background-color: #003e03ca; - --scroll-to-top-button-border-color: #43b715; - --scroll-to-top-button-icon-color: #7cff54; - --scroll-to-top-button-shadow-color: rgba(8, 114, 36, .50); -} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.min.css deleted file mode 100644 index cfe8011..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.forest.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Forest Style*/:root{--scrollbar-thumb-color:hsl(115, 100%, 30%);--scrollbar-thumb-hover-color:hsl(115, 100%, 40%);--body-background-color:#0e2702;--swagger-main-color:#fff;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .5);--errors-wrapper-border-color:#f95c5c;--errors-wrapper-errors-color:#bdbdbd;--topbar-background-color:#0f1a01;--topbar-pinned-background-color:rgb(0, 25, 2, .5);--topbar-pinned-shadow-color:rgba(0, 10, 2, .5);--topbar-pin-icon-color:white;--topbar-border-color:#095300;--topbar-select-border-color:#43b715;--topbar-select-label-color:#f1f1f1;--topbar-download-url-button-background-color:#43b715;--topbar-download-url-button-color:#f1f1f1;--swagger-info-link:#e9d98d;--swagger-info-link-hover:#bccf29;--api-version-background-color:#d4bf88;--api-version-stamp-background-color:#907a48;--api-version-color:black;--auth-wrapper-background-color:#2d2010;--auth-wrapper-border-color:#422e15;--auth-wrapper-box-shadow-color:rgba(0, 0, 0, .3);--auth-container-border-bottom-color:#251717;--auth-container-background-color:#3a4928;--auth-container-errors-color:red;--btn-authorize-background-color:#451f1f;--btn-authorize-border-color:#ededed;--btn-authorize-font-color:#fbffff;--btn-authorize-svg-fill-color:#fbffff;--opblock-tag-section-border-color:rgb(62, 165, 55);--opblock-border-color:white;--opblock-shadow-color:rgba(0, 0, 0, .2);--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(0, 0, 0, .05);--opblock-tag-pinned-background-color-hover:#0d2402;--opblock-tag-border-bottom-color:rgba(212, 191, 136, .5);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:white;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:#3b2e1e;--opblock-summary-method-color:#fff;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(62, 163, 54, .24);--opblock-post-method-color:#228738;--opblock-post-border-color:#228738;--opblock-put-background-color:rgba(255, 167, 0, .3);--opblock-put-method-color:#c95f00;--opblock-put-border-color:#c95f00;--opblock-delete-background-color:rgba(255, 0, 0, .14);--opblock-delete-method-color:#631f03;--opblock-delete-border-color:#631f03;--opblock-get-background-color:rgba(151, 255, 0, .17);--opblock-get-method-color:#9f9400;--opblock-get-border-color:#9f9400;--opblock-patch-background-color:rgba(133, 117, 69, .25);--opblock-patch-method-color:#857545;--opblock-patch-border-color:#857545;--opblock-head-background-color:rgba(55, 50, 6, .8);--opblock-head-method-color:#4b4719;--opblock-head-border-color:#4b4719;--opblock-options-background-color:rgba(19, 22, 19, .3);--opblock-options-method-color:#131613;--opblock-options-border-color:#131613;--opblock-deprecated-background-color:hsla(0, 0%, 100%, .14);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#b0b0b0;--response-control-media-type-color:#74ff74;--opblock-pre-microlight-background-color:#47331b;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#2e0d0d;--download-contents-color:white;--copy-to-clipboard-background-color:#2e0d0d;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#c1c1c1;--table-headers-example-color:#c4c4c4;--table-thead-border-bottom-color:rgb(0, 0, 0, 0.20);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#878585;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#58a851;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:#346719;--button-execute-border-color:#478d26;--button-execute-color:white;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#dbdbdb;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#2b1414e0 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#9ef594;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#2b1414e0;--input-border-color:#9ef594;--input-invalid-background-color:#510f0f;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#47331b;--input-disabled-color:#ebe3e3;--select-disabled-border-color:#211;--textarea-disabled-background-color:#47331b;--textarea-disabled-color:#ebe3e3;--textarea-background-color:hsla(0, 36%, 12%, .8);--textarea-border-focus-color:#d5d5d5;--textarea-curl-background-color:#9ef594;--textarea-curl-color:#fff;--checkbox-color:#311414;--checkbox-label-item-background-color:#2c7a30;--checkbox-label-item-shadow-color:#2c7a30;--checkbox-label-item-icon:#2c7a30 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(2, 18, 0, .8);--dialog-background-color:#29351b;--dialog-border-color:#4b6b3c;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(0, 0, 0, .3);--model-hint-color:#ebebeb;--model-property-color:#b5b5b5;--model-property-primitive-color:#8b8b8b;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#aba6a6;--model-section-border-color:rgba(212, 191, 136, .5);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#707070;--model-container-background-color:rgba(20, 20, 20, .05);--model-container-hover-background-color:rgba(0, 0, 0, .1);--model-box-background-color:rgba(0, 0, 0, .15);--model-title-color:#d9d9d9;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#2fff41;--model-prop-format-color:#fff;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#002c02db;--scroll-to-top-button-hover-background-color:#003e03ca;--scroll-to-top-button-border-color:#43b715;--scroll-to-top-button-icon-color:#7cff54;--scroll-to-top-button-shadow-color:rgba(8, 114, 36, .50)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.min.css deleted file mode 100644 index 045904d..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.futuristic.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Futuristic Style*/:root{--scrollbar-thumb-color:hsl(194, 100%, 50%);--scrollbar-thumb-hover-color:hsl(194, 100%, 60%);--body-background-color:#020511;--swagger-main-color:#f6f6f6;--loading-container-border-color:rgba(200, 200, 200, .1);--loading-container-border-top-color:rgba(255, 255, 255, .6);--errors-wrapper-background-color:rgb(255, 0, 0, .1);--errors-wrapper-border-color:#f12323;--errors-wrapper-errors-color:#d5d5d5;--topbar-background-color:#04091c;--topbar-pinned-background-color:rgb(0, 1, 29, .6);--topbar-pinned-shadow-color:rgba(35, 116, 125, .6);--topbar-pin-icon-color:white;--topbar-border-color:#00f1ff;--topbar-select-border-color:#00f1ff;--topbar-select-label-color:#efe9e9;--topbar-download-url-button-background-color:#3c76c6;--topbar-download-url-button-color:#efe9e9;--swagger-info-link:#75b5ff;--swagger-info-link-hover:#a1d0eb;--api-version-background-color:#00bb87;--api-version-stamp-background-color:#443390;--api-version-color:#ffffff;--auth-wrapper-background-color:#0f0222;--auth-wrapper-border-color:#00f1ff;--auth-wrapper-box-shadow-color:#c1c1c1;--auth-container-border-bottom-color:#ebebeb;--auth-container-background-color:#ddd;--auth-container-errors-color:red;--btn-authorize-background-color:transparent;--btn-authorize-border-color:#17ecb2;--btn-authorize-font-color:#17ecb2;--btn-authorize-svg-fill-color:#17ecb2;--opblock-tag-section-border-color:#418f89;--opblock-border-color:#00ffea;--opblock-tag-section-expandcollapse-background-color:rgb(0 0 0 / 45%);--opblock-tag-background-color-hover:rgba(4, 7, 44, .2);--opblock-tag-pinned-background-color-hover:#03081c;--opblock-tag-border-bottom-color:rgba(0, 255, 234, .5);--opblock-shadow-color:rgba(255, 255, 255, .5);--opblock-tabheader-underline-color:rgba(255, 255, 255, .6);--opblock-summary-svg-icons-color:white;--opblock-summary-border-bottom-color:black;--opblock-section-header-background-color:#0000004a;--opblock-section-header-shadow-color:rgba(0, 0, 0, .1);--opblock-summary-method-background-color:black;--opblock-summary-method-color:white;--opblock-summary-method-shadow-color:rgba(0, 0, 0, .1);--opblock-post-background-color:rgba(63, 169, 233, .15);--opblock-post-method-color:#40aced;--opblock-post-border-color:#40aced;--opblock-put-background-color:rgba(105, 7, 212, .15);--opblock-put-method-color:#6907D4;--opblock-put-border-color:#6907D4;--opblock-delete-background-color:rgba(201, 47, 97, .15);--opblock-delete-method-color:#C92F61;--opblock-delete-border-color:#C92F61;--opblock-get-background-color:rgba(23, 236, 178, .15);--opblock-get-method-color:#17ECB2;--opblock-get-border-color:#17ECB2;--opblock-patch-background-color:rgba(101, 39, 132, .25);--opblock-patch-method-color:#652784;--opblock-patch-border-color:#652784;--opblock-head-background-color:rgba(39, 39, 101, .25);--opblock-head-method-color:#272765;--opblock-head-border-color:#272765;--opblock-options-background-color:rgba(179, 54, 178, .2);--opblock-options-method-color:#B336B2;--opblock-options-border-color:#B336B2;--opblock-deprecated-background-color:hsla(0, 0%, 87%, .1);--opblock-deprecated-method-color:#a59595;--opblock-deprecated-border-color:#a59595;--swagger-tabs-divider-color:gray;--response-undocumented-color:#999;--response-control-media-type-color:#00ff68;--opblock-pre-microlight-background-color:#01236291;--opblock-pre-microlight-color:#ebe3e3;--download-contents-background-color:#00a5d8;--download-contents-color:white;--copy-to-clipboard-background-color:#00a5d8;--copy-to-clipboard-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--filter-operation-filter-input-border-color:#d8dde7;--filter-download-failed-color:red;--filter-download-loading-color:#aaa;--table-headers-example-color:#999;--table-thead-border-bottom-color:rgba(59, 65, 81, .2);--parameter-name-required-symbol-color:red;--parameter-name-required-color:rgba(255, 0, 0, .8);--parameter-in-extension-color:#9a9a9a;--parameter-deprecated-color:red;--button-background-color:transparent;--button-border-color:#dadada;--button-shadow-color:rgba(0, 0, 0, .1);--button-shadow-hover-color:rgba(0, 0, 0, .3);--button-cancel-background-color:transparent;--button-cancel-border-color:#ff6060;--button-cancel-color:#ff6060;--button-execute-background-color:rgba(64, 172, 237, .5);--button-execute-border-color:#5fa9ff;--button-execute-color:#ebe3e3;--button-invalid-background-color:#feebeb;--button-invalid-border-color:#f93e3e;--expand-operation-svg-arrow-color:#aaa;--expand-operation-svg-arrow-hover-color:white;--select-background-icon:#030329 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;--select-border-color:#2c4367;--select-shadow-color:rgba(0, 0, 0, .25);--input-background-color:#010123;--input-border-color:#124b81;--input-invalid-background-color:#210101;--input-invalid-border-color:#f93e3e;--input-invalid-color:#f3ebeb;--input-disabled-background-color:#1b2833;--input-disabled-color:#1b2833;--select-disabled-border-color:#575875;--textarea-disabled-background-color:#1b2833;--textarea-disabled-color:#8da5d0;--textarea-background-color:hsl(241.44deg 100% 5.98% / 80%);--textarea-border-focus-color:#59a5b2;--textarea-curl-background-color:#213168;--textarea-curl-color:#fff;--checkbox-color:#0f1639;--checkbox-label-item-background-color:#e8e8e8;--checkbox-label-item-shadow-color:#e8e8e8;--checkbox-label-item-icon:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--dialog-backdrop-color:rgba(3, 0, 16, .85);--dialog-background-color:#100223;--dialog-border-color:#40216b;--dialog-shadow-color:rgba(0, 0, 0, .2);--dialog-close-button-icon-color:#fff;--model-deprecated-color:#a0a0a0;--model-arrow-icon:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;--model-hint-background-color:rgba(30, 122, 167, .7);--model-hint-color:#ebebeb;--model-property-color:#c9c9c9;--model-property-primitive-color:#676767;--model-property-required-symbol-color:red;--model-property-description:#b9b9b9;--model-property-extension:#8d8a8a;--model-section-border-color:rgba(200, 200, 200, .3);--model-section-header-color:white;--model-section-header-hover-background-color:rgba(0, 0, 0, .02);--expand-model-svg-arrow-color:white;--model-section-little-header-color:#9a9a9a;--model-container-background-color:rgba(13, 32, 77, .1);--model-container-hover-background-color:rgba(70, 0, 179, .1);--model-box-background-color:rgba(101, 0, 255, .1);--model-title-color:#e7e9ea;--model-deprecated-warning-color:#f93e3e;--model-prop-type-color:#25e1ff;--model-prop-format-color:#cfcfcf;--rendered-markdown-pre-color:#000;--rendered-markdown-code-background-color:rgba(0, 0, 0, .05);--rendered-markdown-code-color:#9012fe;--scroll-to-top-button-background-color:#02001285;--scroll-to-top-button-hover-background-color:#02002085;--scroll-to-top-button-border-color:#00c2ff;--scroll-to-top-button-icon-color:#d1cccc;--scroll-to-top-button-shadow-color:rgba(30, 134, 130, .3)}.swagger-ui .topbar .topbar-wrapper{border:3px solid var(--topbar-border-color);border-top:0;box-shadow:0 0 8px 4px var(--topbar-pinned-shadow-color),inset 0 -4px 10px 0 var(--topbar-pinned-shadow-color)}.swagger-ui .topbar.pinned .topbar-wrapper{border:2px solid var(--topbar-border-color);box-shadow:0 0 8px 4px var(--topbar-pinned-shadow-color),inset 0 0 8px 4px var(--topbar-pinned-shadow-color)}.swagger-ui .auth-wrapper{box-shadow:0 0 3px 0 var(--auth-wrapper-border-color),inset 0 0 3px 0 var(--auth-wrapper-border-color)}.swagger-ui .btn.authorize:hover{box-shadow:0 0 3px 0 var(--btn-authorize-border-color),inset 0 0 3px 0 var(--btn-authorize-border-color);text-shadow:0 0 1px var(--btn-authorize-border-color)}.swagger-ui .opblock-tag-section{box-shadow:0 0 3px 0 var(--opblock-tag-section-border-color),inset 0 0 3px 0 var(--opblock-tag-section-border-color)}.swagger-ui .opblock{box-shadow:0 0 3px 0 var(--opblock-shadow-color),inset 0 0 5px 0 var(--opblock-shadow-color)}.swagger-ui .btn:hover{box-shadow:0 0 3px 0 var(--button-border-color),inset 0 0 3px 0 var(--button-border-color)}.swagger-ui .dialog-ux .modal-ux{box-shadow:0 0 5px 0 var(--dialog-border-color),inset 0 0 5px 0 var(--dialog-border-color)}.swagger-ui section.models{box-shadow:0 0 3px 0 var(--model-section-border-color),inset 0 0 3px 0 var(--model-section-border-color)} \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.css deleted file mode 100644 index b2ce0c7..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.css +++ /dev/null @@ -1,7 +0,0 @@ -/* - Modern Light Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -/* TODO: add custom style or continue to use common? */ \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.min.css b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.min.css deleted file mode 100644 index e4fe18b..0000000 --- a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Styles/modern.light.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Modern Light Style*/ \ No newline at end of file diff --git a/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Theme.cs b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Theme.cs new file mode 100644 index 0000000..3f6f42f --- /dev/null +++ b/src/AspNetCore.Swagger.Themes.Common/AspNetCore/Swagger/Themes/Theme.cs @@ -0,0 +1,56 @@ +namespace AspNetCore.Swagger.Themes; + +/// +/// Represents a theme for Swagger UI. +/// +public class Theme : BaseTheme +{ + /// + protected Theme(string fileName, bool useMinified = false) : base(fileName, useMinified) + { + } + + internal override Theme Common => new("common.css", true); + + internal override bool LoadAdditionalJs => true; + + /// + /// Apply a light theme to your Swagger UI. + /// + public static Theme Light => new("light.css", true); + + /// + /// Apply a sleek dark theme to your Swagger UI. + /// + public static Theme Dark => new("dark.css", true); + + /// + /// Apply a forest tones theme to your Swagger UI. + /// + public static Theme Forest => new("forest.css", true); + + /// + /// Apply a deep sea tones theme to your Swagger UI. + /// + public static Theme DeepSea => new("deepsea.css", true); + + /// + /// Apply a futuristic theme to your Swagger UI. + /// + public static Theme Futuristic => new("futuristic.css", true); + + /// + /// Apply a desert tones theme to your Swagger UI. + /// + public static Theme Desert => new("desert.css", true); + + /// + protected override string GetThemeName() + { + var nameWithoutExtension = FileName + .Replace(".min.css", "", StringComparison.OrdinalIgnoreCase) + .Replace(".css", "", StringComparison.OrdinalIgnoreCase); + + return char.ToUpper(nameWithoutExtension[0]) + nameWithoutExtension[1..]; + } +} \ No newline at end of file diff --git a/src/AspNetCore.SwaggerUI.Themes/AspNetCore.SwaggerUI.Themes.csproj b/src/AspNetCore.SwaggerUI.Themes/AspNetCore.SwaggerUI.Themes.csproj index 0fce925..312b5c4 100644 --- a/src/AspNetCore.SwaggerUI.Themes/AspNetCore.SwaggerUI.Themes.csproj +++ b/src/AspNetCore.SwaggerUI.Themes/AspNetCore.SwaggerUI.Themes.csproj @@ -24,7 +24,7 @@ - + diff --git a/src/AspNetCore.SwaggerUI.Themes/Microsoft/AspNetCore/Builder/SwaggerUIBuilderExtensions.cs b/src/AspNetCore.SwaggerUI.Themes/Microsoft/AspNetCore/Builder/SwaggerUIBuilderExtensions.cs index ca6e16e..397824d 100644 --- a/src/AspNetCore.SwaggerUI.Themes/Microsoft/AspNetCore/Builder/SwaggerUIBuilderExtensions.cs +++ b/src/AspNetCore.SwaggerUI.Themes/Microsoft/AspNetCore/Builder/SwaggerUIBuilderExtensions.cs @@ -10,45 +10,45 @@ namespace Microsoft.AspNetCore.Builder; public static class SwaggerUIBuilderExtensions { /// - /// Registers the Swagger UI middleware with a specified style and optional configuration. + /// Registers the Swagger UI middleware with a specified theme and optional configuration. /// /// The application builder instance. - /// The style to apply. + /// The theme to apply. /// The Swagger UI options. /// The for chaining. - /// Thrown when is null. + /// Thrown when is null. public static IApplicationBuilder UseSwaggerUI( this IApplicationBuilder application, - BaseStyle style, + BaseTheme theme, SwaggerUIOptions options) { - ArgumentNullException.ThrowIfNull(style); + ArgumentNullException.ThrowIfNull(theme); options ??= new SwaggerUIOptions(); - ConfigureSwaggerUIOptions(application, options, style).Invoke(options); + ConfigureSwaggerUIOptions(application, options, theme).Invoke(options); return application.UseSwaggerUI(options); } /// - /// Registers the Swagger UI middleware with a specified style and optional setup action. + /// Registers the Swagger UI middleware with a specified theme and optional setup action. /// /// The application builder instance. - /// The style to apply. + /// The theme to apply. /// An optional action to configure Swagger UI options. /// The for chaining. - /// Thrown when is null. + /// Thrown when is null. public static IApplicationBuilder UseSwaggerUI( this IApplicationBuilder application, - BaseStyle style, + BaseTheme theme, Action setupAction = null) { - ArgumentNullException.ThrowIfNull(style); + ArgumentNullException.ThrowIfNull(theme); var options = new SwaggerUIOptions(); setupAction?.Invoke(options); - var optionsAction = ConfigureSwaggerUIOptions(application, options, style); + var optionsAction = ConfigureSwaggerUIOptions(application, options, theme); if (setupAction is not null) optionsAction += setupAction; @@ -57,33 +57,33 @@ public static IApplicationBuilder UseSwaggerUI( } /// - /// Registers the Swagger UI middleware applying the provided CSS style and optional setup action. + /// Registers the Swagger UI middleware applying the provided CSS theme and optional setup action. /// /// The application builder instance. - /// The CSS style to apply. + /// The CSS theme to apply. /// An optional action to configure Swagger UI options. /// The for chaining. - /// Thrown when is null. + /// Thrown when is null. public static IApplicationBuilder UseSwaggerUI( this IApplicationBuilder application, - string cssStyleContent, + string cssThemeContent, Action setupAction = null) { - ArgumentNullException.ThrowIfNull(cssStyleContent); + ArgumentNullException.ThrowIfNull(cssThemeContent); - const string CustomCssStylePath = $"{FileProvider.StylesPath}custom.css"; - FileProvider.AddGetEndpoint(application, CustomCssStylePath, cssStyleContent); - setupAction += options => options.InjectStylesheet(CustomCssStylePath); + const string CustomCssThemePath = $"{FileProvider.StylesPath}custom.css"; + FileProvider.AddGetEndpoint(application, CustomCssThemePath, cssThemeContent); + setupAction += options => options.InjectStylesheet(CustomCssThemePath); return application.UseSwaggerUI(setupAction); } /// - /// Registers the Swagger UI middleware applying the provided CSS style and optional setup action. + /// Registers the Swagger UI middleware applying the provided CSS theme and optional setup action. /// /// The application builder instance. /// The assembly where the embedded CSS file is situated. - /// The CSS style filename (e.g. "myCustomStyle.css"). + /// The CSS theme filename (e.g. "myCustomTheme.css"). /// An optional action to configure Swagger UI options. /// The for chaining. /// Thrown when or is null. @@ -99,20 +99,20 @@ public static IApplicationBuilder UseSwaggerUI( var options = new SwaggerUIOptions(); setupAction?.Invoke(options); - var stylesheet = FileProvider.GetResourceText(cssFilename, assembly, out var commonStyle, out var loadModernJs); + var theme = FileProvider.GetResourceText(cssFilename, assembly, out var commonTheme, out var loadJs); - if (!string.IsNullOrEmpty(commonStyle)) + if (!string.IsNullOrEmpty(commonTheme)) { - commonStyle = AdvancedOptions.Apply(commonStyle, options.ConfigObject.AdditionalItems, MimeTypes.Text.Css); - const string CommonCssStylePath = $"{FileProvider.StylesPath}common.css"; - FileProvider.AddGetEndpoint(application, CommonCssStylePath, commonStyle); - setupAction += options => options.InjectStylesheet(CommonCssStylePath); + commonTheme = AdvancedOptions.Apply(commonTheme, options.ConfigObject.AdditionalItems, MimeTypes.Text.Css); + const string CommonCssThemePath = $"{FileProvider.StylesPath}common.css"; + FileProvider.AddGetEndpoint(application, CommonCssThemePath, commonTheme); + setupAction += options => options.InjectStylesheet(CommonCssThemePath); - if (loadModernJs && AdvancedOptions.AnyJsFeatureEnabled(options.ConfigObject.AdditionalItems)) - setupAction += InjectModernJavascript(application, options); + if (loadJs && AdvancedOptions.AnyJsFeatureEnabled(options.ConfigObject.AdditionalItems)) + setupAction += InjectJavascript(application, options); } - FileProvider.AddGetEndpoint(application, FileProvider.StylesPath + cssFilename, stylesheet); + FileProvider.AddGetEndpoint(application, FileProvider.StylesPath + cssFilename, theme); setupAction += options => options.InjectStylesheet(FileProvider.StylesPath + cssFilename); return application.UseSwaggerUI(setupAction); @@ -120,48 +120,48 @@ public static IApplicationBuilder UseSwaggerUI( #region Private - private static Action ConfigureSwaggerUIOptions(IApplicationBuilder application, SwaggerUIOptions options, BaseStyle style) + private static Action ConfigureSwaggerUIOptions(IApplicationBuilder application, SwaggerUIOptions options, BaseTheme theme) { - ImportSwaggerStyle(application, options, style); + ImportSwaggerTheme(application, options, theme); - var optionsAction = InjectCommonStyle(application, options, style); - optionsAction += InjectStyle(style); + var optionsAction = InjectCommonTheme(application, options, theme); + optionsAction += InjectTheme(theme); - if (style.LoadAdditionalJs && AdvancedOptions.AnyJsFeatureEnabled(options.ConfigObject.AdditionalItems)) - optionsAction += InjectModernJavascript(application, options); + if (theme.LoadAdditionalJs && AdvancedOptions.AnyJsFeatureEnabled(options.ConfigObject.AdditionalItems)) + optionsAction += InjectJavascript(application, options); return optionsAction; } - private static void ImportSwaggerStyle(IApplicationBuilder application, SwaggerUIOptions options, BaseStyle style, bool isCommonStyle = false) + private static void ImportSwaggerTheme(IApplicationBuilder application, SwaggerUIOptions options, BaseTheme theme, bool isCommonTheme = false) { - var stylesheet = FileProvider.GetResourceText(style.FileName, style.GetType()); + var themeContent = FileProvider.GetResourceText(theme.FileName, theme.GetType()); - if (isCommonStyle) - stylesheet = AdvancedOptions.Apply(stylesheet, options.ConfigObject.AdditionalItems, MimeTypes.Text.Css); + if (isCommonTheme) + themeContent = AdvancedOptions.Apply(themeContent, options.ConfigObject.AdditionalItems, MimeTypes.Text.Css); - FileProvider.AddGetEndpoint(application, ComposeStylePath(style), stylesheet); + FileProvider.AddGetEndpoint(application, ComposeThemePath(theme), themeContent); } - private static Action InjectStyle(BaseStyle style) + private static Action InjectTheme(BaseTheme theme) { - return options => options.InjectStylesheet(ComposeStylePath(style)); + return options => options.InjectStylesheet(ComposeThemePath(theme)); } - private static string ComposeStylePath(BaseStyle style) + private static string ComposeThemePath(BaseTheme theme) { - return FileProvider.StylesPath + style.FileName; + return FileProvider.StylesPath + theme.FileName; } - private static Action InjectCommonStyle(IApplicationBuilder application, SwaggerUIOptions options, BaseStyle style) + private static Action InjectCommonTheme(IApplicationBuilder application, SwaggerUIOptions options, BaseTheme theme) { - var commonStyle = style.Common; - ImportSwaggerStyle(application, options, commonStyle, true); + var commonTheme = theme.Common; + ImportSwaggerTheme(application, options, commonTheme, true); - return InjectStyle(commonStyle); + return InjectTheme(commonTheme); } - private static Action InjectModernJavascript(IApplicationBuilder application, SwaggerUIOptions options) + private static Action InjectJavascript(IApplicationBuilder application, SwaggerUIOptions options) { var javascript = FileProvider.GetResourceText(FileProvider.JsFilename); javascript = AdvancedOptions.Apply(javascript, options.ConfigObject.AdditionalItems, MimeTypes.Text.Javascript); diff --git a/src/AspNetCore.SwaggerUI.Themes/package-readme.md b/src/AspNetCore.SwaggerUI.Themes/package-readme.md new file mode 100644 index 0000000..917be5f --- /dev/null +++ b/src/AspNetCore.SwaggerUI.Themes/package-readme.md @@ -0,0 +1,66 @@ +
+ +

+SwaggerUI.Themes Logo +

+ +# AspNetCore.SwaggerUI.Themes + +### Beautiful, modern themes for Swashbuckle Swagger UI in ASP.NET Core + +Make your API documentation look great with themes that fit your style. + +**[Get Started](https://github.com/teociaps/SwaggerUI.Themes/wiki/Getting-Started)** • **[View Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** • **[Documentation](https://github.com/teociaps/SwaggerUI.Themes/wiki)** + +
+ +> ⚠️ **Version 3.0 Breaking Changes** +> Upgrading from v2.0.0? Please review the **[Migration Guide](https://github.com/teociaps/SwaggerUI.Themes/wiki/Migration-v3)** for important API changes. + +## Installation + +```bash +dotnet add package AspNetCore.SwaggerUI.Themes +``` + +## Quick Start + +```csharp +app.UseSwaggerUI(Theme.Dark); +``` + +> **Note**: The `UseSwaggerUI()` method is provided by Swashbuckle.AspNetCore. This package adds convenient overloads to apply themes seamlessly. + +## Features + +- **[Built-in Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** - Predefined themes ready to use + +- **[Advanced Features](https://github.com/teociaps/SwaggerUI.Themes/wiki/Advanced-Options)** - Unlock new capabilities to enhance your Swagger UI + +- **[Custom Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Custom-Themes)** - Create your own themes with full control or build standalone themes + +## Usage + +```csharp +using AspNetCore.Swagger.Themes; + +... + +// Use a built-in theme +app.UseSwaggerUI(Theme.Dark); + +// Or with advanced features +app.UseSwaggerUI(Theme.Dark, c => +{ + c.EnableAllAdvancedOptions(); +}); + +// Or use your custom theme from assembly +app.UseSwaggerUI(Assembly.GetExecutingAssembly(), "my-theme.css"); + +... +``` + +--- + +#### Discover all the features and customization options in the [documentation](https://github.com/teociaps/SwaggerUI.Themes/wiki)! \ No newline at end of file diff --git a/src/AspNetCore.SwaggerUI.Themes/readme.txt b/src/AspNetCore.SwaggerUI.Themes/readme.txt index 94239be..90c9275 100644 --- a/src/AspNetCore.SwaggerUI.Themes/readme.txt +++ b/src/AspNetCore.SwaggerUI.Themes/readme.txt @@ -2,11 +2,20 @@ ## RELEASE NOTES ## #-------------------# -v2.1.0 +v3.0.0 -Changes: -- .NET 10 support! -- .NET 6 & .NET 7 support dropped. +BREAKING CHANGES: +- API redesign: Style → Theme (all classes renamed) +- Classic themes removed (modern-only going forward) +- See migration guide: https://github.com/teociaps/SwaggerUI.Themes/wiki/Migration-v3 +Other Changes: +- .NET 10 support; .NET 6 & 7 discontinued +- Unified theme system with modern defaults +- Standalone theme support (zero dependencies) +- Minification control via useMinified parameter +- Advanced features available on all themes +- 50% smaller package footprint +- Enhanced performance and clarity -More info: https://github.com/teociaps/SwaggerUI.Themes?tab=readme-ov-file#swaggeruithemes \ No newline at end of file +For details: https://github.com/teociaps/SwaggerUI.Themes?tab=readme-ov-file#swaggeruithemes \ No newline at end of file diff --git a/src/NSwag.AspNetCore.Themes/Microsoft/AspNetCore/Builder/NSwagBuilderExtensions.cs b/src/NSwag.AspNetCore.Themes/Microsoft/AspNetCore/Builder/NSwagBuilderExtensions.cs index 8078dc7..7b40eef 100644 --- a/src/NSwag.AspNetCore.Themes/Microsoft/AspNetCore/Builder/NSwagBuilderExtensions.cs +++ b/src/NSwag.AspNetCore.Themes/Microsoft/AspNetCore/Builder/NSwagBuilderExtensions.cs @@ -11,57 +11,57 @@ namespace Microsoft.AspNetCore.Builder; public static class NSwagBuilderExtensions { /// - /// Registers the Swagger UI middleware with a specified style and optional settings setup action. + /// Registers the Swagger UI middleware with a specified theme and optional settings setup action. /// /// The application builder instance. - /// The style to apply. + /// The theme to apply. /// An optional action to configure Swagger UI settings. /// The for chaining. - /// Thrown when is null. + /// Thrown when is null. public static IApplicationBuilder UseSwaggerUi( this IApplicationBuilder application, - BaseStyle style, + BaseTheme theme, Action configureSettings = null) { - ArgumentNullException.ThrowIfNull(style); + ArgumentNullException.ThrowIfNull(theme); return application.UseSwaggerUi(uiSettings => { configureSettings?.Invoke(uiSettings); - uiSettings.CustomInlineStyles = GetSwaggerStyleCss(style, uiSettings); + uiSettings.CustomInlineStyles = GetSwaggerThemeCss(theme, uiSettings); - if (style.LoadAdditionalJs && AdvancedOptions.AnyJsFeatureEnabled(uiSettings.AdditionalSettings)) + if (theme.LoadAdditionalJs && AdvancedOptions.AnyJsFeatureEnabled(uiSettings.AdditionalSettings)) AddCustomJavascript(application, uiSettings); }); } /// - /// Registers the Swagger UI middleware applying the provided CSS style and optional setup action. + /// Registers the Swagger UI middleware applying the provided CSS theme and optional setup action. /// /// The application builder instance. - /// The CSS style to apply. + /// The CSS theme to apply. /// An optional action to configure Swagger UI options. /// The for chaining. - /// Thrown when is null. + /// Thrown when is null. public static IApplicationBuilder UseSwaggerUi( this IApplicationBuilder application, - string cssStyleContent, + string cssThemeContent, Action setupAction = null) { - ArgumentNullException.ThrowIfNull(cssStyleContent); + ArgumentNullException.ThrowIfNull(cssThemeContent); - setupAction += options => options.CustomInlineStyles = cssStyleContent; + setupAction += options => options.CustomInlineStyles = cssThemeContent; return application.UseSwaggerUi(setupAction); } /// - /// Registers the Swagger UI middleware applying the provided CSS style and optional setup action. + /// Registers the Swagger UI middleware applying the provided CSS theme and optional setup action. /// /// The application builder instance. /// The assembly where the embedded CSS file is situated. - /// The CSS style filename (e.g. "myCustomStyle.css"). + /// The CSS theme filename (e.g. "myCustomTheme.css"). /// An optional action to configure Swagger UI options. /// The for chaining. /// Thrown when or is null. @@ -77,18 +77,18 @@ public static IApplicationBuilder UseSwaggerUi( var settings = new SwaggerUiSettings(); configureSettings?.Invoke(settings); - var stylesheet = FileProvider.GetResourceText(cssFilename, assembly, out var commonStyle, out var loadModernJs); + var theme = FileProvider.GetResourceText(cssFilename, assembly, out var commonTheme, out var loadJs); - if (!string.IsNullOrEmpty(commonStyle)) + if (!string.IsNullOrEmpty(commonTheme)) { - commonStyle = AdvancedOptions.Apply(commonStyle, settings.AdditionalSettings, MimeTypes.Text.Css); - stylesheet = commonStyle + Environment.NewLine + stylesheet; + commonTheme = AdvancedOptions.Apply(commonTheme, settings.AdditionalSettings, MimeTypes.Text.Css); + theme = commonTheme + Environment.NewLine + theme; - if (loadModernJs && AdvancedOptions.AnyJsFeatureEnabled(settings.AdditionalSettings)) + if (loadJs && AdvancedOptions.AnyJsFeatureEnabled(settings.AdditionalSettings)) configureSettings += settings => AddCustomJavascript(application, settings); } - configureSettings += options => options.CustomInlineStyles = stylesheet; + configureSettings += options => options.CustomInlineStyles = theme; return application.UseSwaggerUi(configureSettings); } @@ -97,23 +97,23 @@ public static IApplicationBuilder UseSwaggerUi( #region Private - private static string GetSwaggerStyleCss(BaseStyle style, SwaggerUiSettings settings) + private static string GetSwaggerThemeCss(BaseTheme theme, SwaggerUiSettings settings) { var sb = new StringBuilder(); - string baseCss = FileProvider.GetResourceText(style.Common.FileName); + string baseCss = FileProvider.GetResourceText(theme.Common.FileName); baseCss = AdvancedOptions.Apply(baseCss, settings.AdditionalSettings, MimeTypes.Text.Css); - string styleCss = FileProvider.GetResourceText(style.FileName, style.GetType()); + string themeCss = FileProvider.GetResourceText(theme.FileName, theme.GetType()); sb.Append(baseCss); sb.Append('\n'); - sb.Append(styleCss); + sb.Append(themeCss); return sb.ToString(); } - private static string GetSwaggerStyleJavascriptPath(IApplicationBuilder application, SwaggerUiSettings settings) + private static string GetSwaggerThemeJavascriptPath(IApplicationBuilder application, SwaggerUiSettings settings) { string javascript = FileProvider.GetResourceText(FileProvider.JsFilename); javascript = AdvancedOptions.Apply(javascript, settings.AdditionalSettings, MimeTypes.Text.Javascript); @@ -125,7 +125,7 @@ private static string GetSwaggerStyleJavascriptPath(IApplicationBuilder applicat } private static void AddCustomJavascript(IApplicationBuilder application, SwaggerUiSettings settings) - => settings.CustomJavaScriptPath = GetSwaggerStyleJavascriptPath(application, settings); + => settings.CustomJavaScriptPath = GetSwaggerThemeJavascriptPath(application, settings); #endregion Private } \ No newline at end of file diff --git a/src/NSwag.AspNetCore.Themes/NSwag.AspNetCore.Themes.csproj b/src/NSwag.AspNetCore.Themes/NSwag.AspNetCore.Themes.csproj index df352a9..d2ff579 100644 --- a/src/NSwag.AspNetCore.Themes/NSwag.AspNetCore.Themes.csproj +++ b/src/NSwag.AspNetCore.Themes/NSwag.AspNetCore.Themes.csproj @@ -24,7 +24,7 @@ - + diff --git a/src/NSwag.AspNetCore.Themes/package-readme.md b/src/NSwag.AspNetCore.Themes/package-readme.md new file mode 100644 index 0000000..761e63e --- /dev/null +++ b/src/NSwag.AspNetCore.Themes/package-readme.md @@ -0,0 +1,66 @@ +
+ +

+SwaggerUI.Themes Logo +

+ +# NSwag.AspNetCore.Themes + +### Beautiful, modern themes for NSwag Swagger UI in ASP.NET Core + +Make your API documentation look great with themes that fit your style. + +**[Get Started](https://github.com/teociaps/SwaggerUI.Themes/wiki/Getting-Started)** • **[View Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** • **[Documentation](https://github.com/teociaps/SwaggerUI.Themes/wiki)** + +
+ +> ⚠️ **Version 3.0 Breaking Changes** +> Upgrading from v2.0.0? Please review the **[Migration Guide](https://github.com/teociaps/SwaggerUI.Themes/wiki/Migration-v3)** for important API changes. + +## Installation + +```bash +dotnet add package NSwag.AspNetCore.Themes +``` + +## Quick Start + +```csharp +app.UseSwaggerUi(Theme.Dark); +``` + +> **Note**: The `UseSwaggerUi()` method is provided by NSwag.AspNetCore. This package adds convenient overloads to apply themes seamlessly. + +## Features + +- **[Built-in Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Predefined-Themes)** - Predefined themes ready to use + +- **[Advanced Features](https://github.com/teociaps/SwaggerUI.Themes/wiki/Advanced-Options)** - Unlock new capabilities to enhance your Swagger UI + +- **[Custom Themes](https://github.com/teociaps/SwaggerUI.Themes/wiki/Custom-Themes)** - Create your own themes with full control or build standalone themes + +## Usage + +```csharp +using AspNetCore.Swagger.Themes; + +... + +// Use a built-in theme +app.UseSwaggerUi(Theme.Dark); + +// Or with advanced features +app.UseSwaggerUi(Theme.Dark, c => +{ + c.EnableAllAdvancedOptions(); +}); + +// Or use your custom theme from assembly +app.UseSwaggerUi(Assembly.GetExecutingAssembly(), "my-theme.css"); + +... +``` + +--- + +#### Discover all the features and customization options in the [documentation](https://github.com/teociaps/SwaggerUI.Themes/wiki)! \ No newline at end of file diff --git a/src/NSwag.AspNetCore.Themes/readme.txt b/src/NSwag.AspNetCore.Themes/readme.txt index 94239be..90c9275 100644 --- a/src/NSwag.AspNetCore.Themes/readme.txt +++ b/src/NSwag.AspNetCore.Themes/readme.txt @@ -2,11 +2,20 @@ ## RELEASE NOTES ## #-------------------# -v2.1.0 +v3.0.0 -Changes: -- .NET 10 support! -- .NET 6 & .NET 7 support dropped. +BREAKING CHANGES: +- API redesign: Style → Theme (all classes renamed) +- Classic themes removed (modern-only going forward) +- See migration guide: https://github.com/teociaps/SwaggerUI.Themes/wiki/Migration-v3 +Other Changes: +- .NET 10 support; .NET 6 & 7 discontinued +- Unified theme system with modern defaults +- Standalone theme support (zero dependencies) +- Minification control via useMinified parameter +- Advanced features available on all themes +- 50% smaller package footprint +- Enhanced performance and clarity -More info: https://github.com/teociaps/SwaggerUI.Themes?tab=readme-ov-file#swaggeruithemes \ No newline at end of file +For details: https://github.com/teociaps/SwaggerUI.Themes?tab=readme-ov-file#swaggeruithemes \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/AspNetCore.Swagger.Themes.Tests.csproj b/tests/AspNetCore.SwaggerUI.Themes.Tests/AspNetCore.Swagger.Themes.Tests.csproj index 84fab79..1cf3e55 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/AspNetCore.Swagger.Themes.Tests.csproj +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/AspNetCore.Swagger.Themes.Tests.csproj @@ -9,12 +9,10 @@ - + - - - - + + diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Program.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/Program.cs index 23b9ec9..b5dcf6a 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Program.cs +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/Program.cs @@ -17,7 +17,7 @@ void RegisterTestStyleEndpoint() { - foreach (var style in new StyleTestData()) + foreach (var style in new ThemeTestData()) { var fullPath = StylesPath + style.FileName; AddGetEndpoint(app, fullPath, GetResourceText(style.FileName, style.GetType())); diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/StyleTestData.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/StyleTestData.cs deleted file mode 100644 index 072aa45..0000000 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/StyleTestData.cs +++ /dev/null @@ -1,28 +0,0 @@ -using AspNetCore.Swagger.Themes.Tests.Styles; - -namespace AspNetCore.Swagger.Themes.Tests; - -/// -/// List of all styles to test. -/// -public class StyleTestData : TheoryData -{ - public StyleTestData() - { - AddRange( - Style.Light, - Style.Dark, - Style.Forest, - Style.DeepSea, - Style.Desert, - ModernStyle.Light, - ModernStyle.Dark, - ModernStyle.Forest, - ModernStyle.DeepSea, - ModernStyle.Futuristic, - ModernStyle.Desert, - CustomStyle.Custom, - CustomModernStyle.CustomModern - ); - } -} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomStyle.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomStyle.cs deleted file mode 100644 index 44b76bf..0000000 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomStyle.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace AspNetCore.Swagger.Themes.Tests.Styles; - -public class CustomModernStyle : ModernStyle -{ - protected CustomModernStyle(string fileName) : base(fileName) - { - } - - public static CustomModernStyle CustomModern => new("modern.custom.css"); -} - -public class CustomStyle : Style -{ - protected CustomStyle(string fileName) : base(fileName) - { - } - - public static CustomStyle Custom => new("custom.css"); -} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomTheme.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomTheme.cs new file mode 100644 index 0000000..08e9de7 --- /dev/null +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/CustomTheme.cs @@ -0,0 +1,10 @@ +namespace AspNetCore.Swagger.Themes.Tests.Styles; + +public class CustomTheme : Theme +{ + protected CustomTheme(string fileName) : base(fileName) + { + } + + public static CustomTheme Custom => new("custom.css"); +} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/custom.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/custom.css index 737f381..6cbdbfe 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/custom.css +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/custom.css @@ -1,5 +1,5 @@ /* - Custom Style + Custom Theme https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/modern.custom.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/modern.custom.css deleted file mode 100644 index 2cea74f..0000000 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/modern.custom.css +++ /dev/null @@ -1,190 +0,0 @@ -/* - Modern Custom Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -@media (prefers-color-scheme: dark) { - :root { - --scrollbar-thumb-color: hsl(0, 0%, 45%); - --scrollbar-thumb-hover-color: hsl(0, 0%, 55%); - --body-background-color: #120e1f; - --swagger-main-color: white; - /* Loading */ - --loading-container-border-color: rgba(200, 200, 200, .1); - --loading-container-border-top-color: rgba(255, 255, 255, .6); - /* Errors container */ - --errors-wrapper-background-color: rgb(255, 0, 0, .1); - --errors-wrapper-border-color: #f93e3e; - --errors-wrapper-errors-color: #606060; - /* Top-bar */ - --topbar-pinned-background-color: rgba(0, 0, 0, .3); - --topbar-pinned-shadow-color: rgba(0, 0, 0, .6); - --topbar-pin-icon-color: white; - --topbar-border-color: gray; - --topbar-background-color: #161629; - --topbar-select-border-color: #4990e2; - --topbar-select-label-color: #bfbfbf; - --topbar-download-url-button-background-color: #5b5b5b; - --topbar-download-url-button-color: #dfd9d9; - /* Info-box */ - --swagger-info-link: #4990e2; - --swagger-info-link-hover: #1b78e5; - --api-version-background-color: #616161; - --api-version-stamp-background-color: #23891f; - --api-version-color: #cdcdcd; - /* Authorize Section/Modal */ - --auth-wrapper-background-color: black; - --auth-wrapper-border-color: #383636; - --auth-wrapper-box-shadow-color: #c1c1c1; - --auth-container-border-bottom-color: #ebebeb; - --auth-container-background-color: #ddd; - --auth-container-errors-color: red; - --btn-authorize-background-color: transparent; - --btn-authorize-border-color: #49cc90; - --btn-authorize-font-color: #49cc90; - --btn-authorize-svg-fill-color: #49cc90; - /* Operations */ - --opblock-tag-section-border-color: #312c2c; - --opblock-border-color: black; - --opblock-tag-background-color-hover: rgba(0, 0, 0, .1); - --opblock-tag-border-bottom-color: rgba(109, 113, 121, .3); - --opblock-shadow-color: rgba(59, 59, 59, .19); - --opblock-tabheader-underline-color: rgba(255, 255, 255, .6); - --opblock-summary-svg-icons-color: white; - --opblock-summary-border-bottom-color: black; - --opblock-section-header-background-color: #0000004a; - --opblock-section-header-shadow-color: rgba(0, 0, 0, .1); - --opblock-summary-method-background-color: black; - --opblock-summary-method-color: white; - --opblock-summary-method-shadow-color: rgba(0, 0, 0, .1); - /*POST*/ - --opblock-post-background-color: rgba(56, 203, 82, .1); - --opblock-post-method-color: #49cc90; - --opblock-post-border-color: #49cc90; - /*PUT*/ - --opblock-put-background-color: rgba(255, 189, 63, .1); - --opblock-put-method-color: #eb9532; - --opblock-put-border-color: #eb9532; - /*DELETE*/ - --opblock-delete-background-color: rgba(255, 4, 4, .1); - --opblock-delete-method-color: #c0392b; - --opblock-delete-border-color: #c0392b; - /*GET*/ - --opblock-get-background-color: rgb(33, 161, 255, .1); - --opblock-get-method-color: #61affe; - --opblock-get-border-color: #61affe; - /*PATCH*/ - --opblock-patch-background-color: rgba(255, 0, 165, .1); - --opblock-patch-method-color: #9b59b6; - --opblock-patch-border-color: #9b59b6; - /*HEAD*/ - --opblock-head-background-color: rgba(62, 73, 114, .1); - --opblock-head-method-color: #3e4972; - --opblock-head-border-color: #3e4972; - /*OPTIONS*/ - --opblock-options-background-color: rgba(37, 64, 211, .1); - --opblock-options-method-color: #263795; - --opblock-options-border-color: #263795; - /*Deprecated*/ - --opblock-deprecated-background-color: hsla(0, 0%, 87%, .1); - --opblock-deprecated-method-color: #a59595; - --opblock-deprecated-border-color: #a59595; - /* Tabs */ - --swagger-tabs-divider-color: gray; - /* Other of operations */ - --response-undocumented-color: #999; - --response-control-media-type-color: green; - --opblock-pre-microlight-background-color: #333; - --opblock-pre-microlight-color: #ebe3e3; - --download-contents-background-color: #7d8293; - --download-contents-color: white; - --copy-to-clipboard-background-color: #7d8293; - --copy-to-clipboard-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --filter-operation-filter-input-border-color: #d8dde7; - --filter-download-failed-color: red; - --filter-download-loading-color: #aaa; - --table-headers-example-color: #999; - --table-thead-border-bottom-color: rgba(59, 65, 81, .2); - --parameter-name-required-symbol-color: red; - --parameter-name-required-color: rgba(255, 0, 0, .8); - --parameter-in-extension-color: #878585; - --parameter-deprecated-color: red; - /* Buttons */ - --button-background-color: transparent; - --button-border-color: #a1a1a1; - --button-shadow-color: rgba(0, 0, 0, .1); - --button-shadow-hover-color: rgba(0, 0, 0, .3); - --button-cancel-background-color: transparent; - --button-cancel-border-color: #ff6060; - --button-cancel-color: #ff6060; - --button-execute-background-color: #4990e2; - --button-execute-border-color: #5fa9ff; - --button-execute-color: white; - --button-invalid-background-color: #feebeb; - --button-invalid-border-color: #f93e3e; - /* Expand operation icon */ - --expand-operation-svg-arrow-color: #aaa; - --expand-operation-svg-arrow-hover-color: white; - /* Form elements */ - --select-background-icon: #0c0c0c url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat; - --select-border-color: #41444e; - --select-shadow-color: rgba(0, 0, 0, .25); - --input-background-color: #0c0c0c; - --input-border-color: #6d6d6d; - --input-invalid-background-color: #210101; - --input-invalid-border-color: #f93e3e; - --input-invalid-color: #f3ebeb; - --input-disabled-background-color: #333333; - --input-disabled-color: #757575; - --select-disabled-border-color: #888; - --textarea-disabled-background-color: #2b2b2b; - --textarea-disabled-color: #b3b3b3; - --textarea-background-color: hsla(0, 0%, 0%, .8); - --textarea-border-focus-color: #a5a5a5; - --textarea-curl-background-color: #41444e; - --textarea-curl-color: #fff; - --checkbox-color: #303030; - --checkbox-label-item-background-color: #e8e8e8; - --checkbox-label-item-shadow-color: #e8e8e8; - --checkbox-label-item-icon: #e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - /* Dialog */ - --dialog-backdrop-color: rgba(0, 0, 0, .8); - --dialog-background-color: #161616; - --dialog-border-color: #333436; - --dialog-shadow-color: rgba(0, 0, 0, .2); - --dialog-close-button-icon-color: #fff; - /* Models */ - --model-deprecated-color: #a0a0a0; - --model-arrow-icon: url('data:image/svg+xml;charset=utf-8,') 50% no-repeat; - --model-hint-background-color: rgba(0, 0, 0, .7); - --model-hint-color: #ebebeb; - --model-property-color: #999; - --model-property-primitive-color: #676767; - --model-property-required-symbol-color: red; - --model-property-description: #b9b9b9; - --model-property-extension: #8d8a8a; - --model-section-border-color: rgba(96, 96, 96, .3); - --model-section-header-color: white; - --model-section-header-hover-background-color: rgba(0, 0, 0, .02); - --expand-model-svg-arrow-color: white; - --model-section-little-header-color: #707070; - --model-container-background-color: rgba(20, 20, 20, .1); - --model-container-hover-background-color: rgba(0, 0, 0, .1); - --model-box-background-color: rgba(0, 0, 0, .15); - --model-title-color: #bec6cf; - --model-deprecated-warning-color: #f93e3e; - --model-prop-type-color: #6464db; - --model-prop-format-color: #b7b7b7; - /* Rendered Markdown */ - --rendered-markdown-pre-color: #000; - --rendered-markdown-code-background-color: rgba(0, 0, 0, .05); - --rendered-markdown-code-color: #9012fe; - /* Scroll to top button */ - --scroll-to-top-button-background-color: #00000085; - --scroll-to-top-button-hover-background-color: #0d0d0d85; - --scroll-to-top-button-border-color: #232323; - --scroll-to-top-button-icon-color: #d1cccc; - --scroll-to-top-button-shadow-color: rgba(0, 0, 0, .3); - } -} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/style.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/theme.css similarity index 89% rename from tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/style.css rename to tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/theme.css index 9fa6726..7ccefa3 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/style.css +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/theme.css @@ -1,5 +1,5 @@ /* - Test Style + Test Theme https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/classic.style.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/classic.style.css deleted file mode 100644 index 67d55ee..0000000 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/classic.style.css +++ /dev/null @@ -1,9 +0,0 @@ -/* - Test Classic Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -body { - background-color: var(--body-background-color, #fafafa); -} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/style.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/custom.theme.css similarity index 85% rename from tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/style.css rename to tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/custom.theme.css index 9fa6726..74f1330 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Styles/style.css +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/custom.theme.css @@ -1,5 +1,5 @@ /* - Test Style + Test Custom Theme https://github.com/teociaps/SwaggerUI.Themes */ diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/modern.style.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/modern.style.css deleted file mode 100644 index f4e7d60..0000000 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/modern.style.css +++ /dev/null @@ -1,9 +0,0 @@ -/* - Test Modern Style - - https://github.com/teociaps/SwaggerUI.Themes -*/ - -body { - background-color: var(--body-background-color, #fafafa); -} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/standalone.theme.css b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/standalone.theme.css new file mode 100644 index 0000000..e6e3083 --- /dev/null +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/SwaggerThemes/standalone.theme.css @@ -0,0 +1,15 @@ +/* + Test Standalone Theme + + https://github.com/teociaps/SwaggerUI.Themes +*/ + +/* Standalone theme - should NOT load common.css or ui.js */ + +:root { + --test-standalone-color: #ff0000; +} + +body { + background-color: var(--test-standalone-color); +} diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/StyleProviderTests.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeProviderTests.cs similarity index 55% rename from tests/AspNetCore.SwaggerUI.Themes.Tests/StyleProviderTests.cs rename to tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeProviderTests.cs index d6df51c..bb27dec 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/StyleProviderTests.cs +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeProviderTests.cs @@ -5,9 +5,9 @@ namespace AspNetCore.Swagger.Themes.Tests; -public class StyleProviderTests : IClassFixture> +public class ThemeProviderTests : IClassFixture> { - private readonly StyleProviderWebApplicationFactory _styleProviderWebApplicationFactory; + private readonly ThemeProviderWebApplicationFactory _themeProviderWebApplicationFactory; private readonly Dictionary _advancedOptions = new() { @@ -17,10 +17,10 @@ public class StyleProviderTests : IClassFixture styleProviderWebApplicationFactory) + public ThemeProviderTests(ThemeProviderWebApplicationFactory themeProviderWebApplicationFactory) { - _styleProviderWebApplicationFactory = styleProviderWebApplicationFactory; - _styleProviderWebApplicationFactory.CreateClient(); + _themeProviderWebApplicationFactory = themeProviderWebApplicationFactory; + _themeProviderWebApplicationFactory.CreateClient(); } [Fact] @@ -28,10 +28,10 @@ public void GetResourceText_ThrowsFileNotFoundException_WhenResourceNotFound() { // Arrange const string InvalidFileName = "nonexistent.css"; - var styleType = typeof(BaseStyle); + var themeType = typeof(BaseTheme); // Act & Assert - var exception = Assert.Throws(() => GetResourceText(InvalidFileName, styleType)); + var exception = Assert.Throws(() => GetResourceText(InvalidFileName, themeType)); exception.Message.ShouldContain("Can't find"); } @@ -44,41 +44,41 @@ public void GetResourceText_ThrowsInvalidOperationException_WhenNotCssFile() var assembly = Assembly.GetExecutingAssembly(); // Act & Assert - var exception = Assert.Throws(() => GetResourceText(InvalidFileName, assembly, out string commonStyle, out bool loadModernJs)); + var exception = Assert.Throws(() => GetResourceText(InvalidFileName, assembly, out string commonStyle, out bool loadJs)); exception.Message.ShouldContain("not a valid name for CSS files"); } [Theory] - [ClassData(typeof(StyleTestData))] - public void GetResourceText_ShouldEmbedAndRetrieveStyleFromExecutingAssembly(BaseStyle style) + [ClassData(typeof(ThemeTestData))] + public void GetResourceText_ShouldEmbedAndRetrieveThemeStyleFromExecutingAssembly(BaseTheme Theme) { // Arrange/Act - var styleText = GetResourceText(style.FileName, style.GetType()); + var styleText = GetResourceText(Theme.FileName, Theme.GetType()); // Assert - Verify correct header format based on file type - if (style.FileName.EndsWith(".min.css")) + if (Theme.FileName.EndsWith(".min.css")) { - styleText.ShouldStartWith($"/*{style}*/"); + styleText.ShouldStartWith($"/*{Theme}*/"); } else { styleText.ShouldStartWith($""" /* - {style} + {Theme} https://github.com/teociaps/SwaggerUI.Themes */ """); } - if (style.LoadAdditionalJs && AdvancedOptions.AnyJsFeatureEnabled(_advancedOptions)) + if (AdvancedOptions.AnyJsFeatureEnabled(_advancedOptions)) { // Arrange/Act - Test minified JS var minJsFile = GetResourceText(JsFilename); // Assert - minJsFile.ShouldStartWith("/*Modern UI*/"); + minJsFile.ShouldStartWith("/*Swagger UI*/"); } } @@ -86,25 +86,25 @@ public void GetResourceText_ShouldEmbedAndRetrieveStyleFromExecutingAssembly(Bas public void GetResourceText_ShouldThrowFileNotFoundException_WhenExternalCssWithoutDeclaredStyle() { // Arrange - const string ExternalFileName = "style.css"; + const string ExternalFileName = "theme.css"; // Act/Assert Should.Throw(() => GetResourceText(ExternalFileName), typeof(FileNotFoundException)); } [Fact] - public void GetResourceText_ShouldGetCssStyle_WhenExternalCssLoadedWithinAssemblyNamespace() + public void GetResourceText_ShouldGetCommonCssStyleWithJS_WhenExternalCssLoadedWithinAssemblyNamespace() { // Arrange - const string ExternalFileName = "style.css"; + const string ExternalFileName = "custom.Theme.css"; // Act - var styleContent = GetResourceText(ExternalFileName, Assembly.GetExecutingAssembly(), out var commonClassicStyle, out var loadModernJs); + var styleContent = GetResourceText(ExternalFileName, Assembly.GetExecutingAssembly(), out var commonStyle, out var loadJs); // Assert styleContent.ShouldBe(""" /* - Test Style + Test Custom Theme https://github.com/teociaps/SwaggerUI.Themes */ @@ -114,74 +114,59 @@ Test Style } """); - commonClassicStyle.ShouldBeEmpty(); - loadModernJs.ShouldBeFalse(); + // Common Theme is always minified version + commonStyle.ShouldStartWith("/*Common Theme*/"); + loadJs.ShouldBeTrue(); } [Fact] - public void GetResourceText_ShouldGetCommonClassicCssStyle_WhenExternalCssHasClassicPrefix() + public void GetResourceText_ShouldNotLoadCommonStyleOrJS_WhenStandaloneStyleInCustomNamespace() { // Arrange - const string ExternalFileName = "classic.style.css"; + const string ExternalFileName = "standalone.Theme.css"; // Act - var styleContent = GetResourceText(ExternalFileName, Assembly.GetExecutingAssembly(), out var commonClassicStyle, out var loadModernJs); + var styleContent = GetResourceText(ExternalFileName, Assembly.GetExecutingAssembly(), out var commonStyle, out var loadJs); // Assert - styleContent.ShouldBe(""" + styleContent.ShouldStartWith(""" /* - Test Classic Style + Test Standalone Theme https://github.com/teociaps/SwaggerUI.Themes */ - body { - background-color: var(--body-background-color, #fafafa); - } + /* Standalone Theme - should NOT load common.css or ui.js */ """); - // Common style is always minified version - commonClassicStyle.ShouldStartWith("/*Common Style*/"); - loadModernJs.ShouldBeFalse(); + // Standalone Theme should NOT load common Theme or JS + commonStyle.ShouldBeEmpty(); + loadJs.ShouldBeFalse(); } - [Fact] - public void GetResourceText_ShouldGetCommonModernCssStyleWithJS_WhenExternalCssHasModernPrefix() + [Theory] + [InlineData("standalone.custom.css")] + [InlineData("STANDALONE.theme.css")] + [InlineData("my.standalone.Theme.css")] + public void GetResourceText_ShouldRecognizeStandaloneKeyword_CaseInsensitive(string fileName) { - // Arrange - const string ExternalFileName = "modern.style.css"; - - // Act - var styleContent = GetResourceText(ExternalFileName, Assembly.GetExecutingAssembly(), out var commonModernStyle, out var loadModernJs); + // Note: This test verifies the logic without actually having these files + // The actual behavior is tested in GetResourceText_ShouldNotLoadCommonStyleOrJS_WhenStandaloneStyleInCustomNamespace // Assert - styleContent.ShouldBe(""" - /* - Test Modern Style - - https://github.com/teociaps/SwaggerUI.Themes - */ - - body { - background-color: var(--body-background-color, #fafafa); - } - """); - - // Common modern style is always minified version - commonModernStyle.ShouldStartWith("/*Modern Common Style*/"); - loadModernJs.ShouldBeTrue(); + fileName.Contains("standalone", StringComparison.OrdinalIgnoreCase).ShouldBeTrue(); } [Theory] - [ClassData(typeof(StyleTestData))] - public async Task AddGetEndpoint_ShouldReturnStyleContent_WhenWebApplication(BaseStyle style) + [ClassData(typeof(ThemeTestData))] + public async Task AddGetEndpoint_ShouldReturnStyleContent_WhenWebApplication(BaseTheme Theme) { // Arrange - var fullPath = StylesPath + style.FileName; - var styleText = GetResourceText(style.FileName, style.GetType()); + var fullPath = StylesPath + Theme.FileName; + var styleText = GetResourceText(Theme.FileName, Theme.GetType()); // Act - var response = await _styleProviderWebApplicationFactory.Client.GetAsync(fullPath); + var response = await _themeProviderWebApplicationFactory.Client.GetAsync(fullPath); // Assert response.StatusCode.ShouldBe(System.Net.HttpStatusCode.OK); @@ -189,13 +174,13 @@ public async Task AddGetEndpoint_ShouldReturnStyleContent_WhenWebApplication(Bas } [Theory] - [ClassData(typeof(StyleTestData))] - public async Task AddGetEndpoint_ShouldReturnCssContent_WhenNotWebApplication(BaseStyle style) + [ClassData(typeof(ThemeTestData))] + public async Task AddGetEndpoint_ShouldReturnCssContent_WhenNotWebApplication(BaseTheme Theme) { // Arrange var mockAppBuilder = new MockApplicationBuilder(); - var path = StylesPath + style.FileName; - var content = GetResourceText(style.FileName, style.GetType()); + var path = StylesPath + Theme.FileName; + var content = GetResourceText(Theme.FileName, Theme.GetType()); // Act AddGetEndpoint(mockAppBuilder, path, content); diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeTestData.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeTestData.cs new file mode 100644 index 0000000..4deaa60 --- /dev/null +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/ThemeTestData.cs @@ -0,0 +1,22 @@ +using AspNetCore.Swagger.Themes.Tests.Styles; + +namespace AspNetCore.Swagger.Themes.Tests; + +/// +/// List of all styles to test. +/// +public class ThemeTestData : TheoryData +{ + public ThemeTestData() + { + AddRange( + Theme.Light, + Theme.Dark, + Theme.Forest, + Theme.DeepSea, + Theme.Desert, + Theme.Futuristic, + CustomTheme.Custom + ); + } +} \ No newline at end of file diff --git a/tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/StyleProviderWebApplicationFactory.cs b/tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/ThemeProviderWebApplicationFactory.cs similarity index 94% rename from tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/StyleProviderWebApplicationFactory.cs rename to tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/ThemeProviderWebApplicationFactory.cs index b74644c..6693e83 100644 --- a/tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/StyleProviderWebApplicationFactory.cs +++ b/tests/AspNetCore.SwaggerUI.Themes.Tests/Utilities/ThemeProviderWebApplicationFactory.cs @@ -9,7 +9,7 @@ namespace AspNetCore.Swagger.Themes.Tests.Utilities; /// /// A type in the entry point assembly of the application. Typically the Program classes can be used. /// -public class StyleProviderWebApplicationFactory : WebApplicationFactory +public class ThemeProviderWebApplicationFactory : WebApplicationFactory where TProgram : class { ///