From 5ed5af4fab752ca47f00bf67d0485c21396cc3dc Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 7 Jul 2025 13:21:29 +0800 Subject: [PATCH] Add new webapp example --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 2 + Directory.Packages.props | 21 +- README.WebApp.md | 15 +- lsw.Abp.AntDesignUI.sln | 80 - .../Bundling/BlazorGlobalScriptContributor.cs | 10 +- .../Bundling/AbpStyles.razor | 2 +- .../Components/DynamicLayoutComponent.razor | 10 + .../Components/LayoutHook.razor | 7 + .../Components/LayoutHook.razor.cs | 43 + .../Layout/PageLayout.cs | 43 +- .../Themes/AntDesignTheme/DefaultLayout.razor | 3 + samples/.DS_Store | Bin 6148 -> 0 bytes samples/BookStore/.prettierrc | 5 - samples/BookStore/common.props | 16 - .../BookStore.Blazor/BookStore.Blazor.csproj | 38 - .../BookStore.Blazor/BookStoreBlazorModule.cs | 89 - .../BookStoreBrandingProvider.cs | 14 - .../BookStoreBundleContributor.cs | 19 - .../Menus/BookStoreMenuContributor.cs | 67 - .../BookStore.Blazor/Menus/BookStoreMenus.cs | 10 - .../src/BookStore.Blazor/Pages/Index.razor | 27 - .../src/BookStore.Blazor/Pages/Index.razor.cs | 13 - .../BookStore.Blazor/Pages/Index.razor.css | 1 - .../Properties/launchSettings.json | 29 - .../src/BookStore.Blazor/_Imports.razor | 13 - .../BookStore.Blazor/wwwroot/appsettings.json | 24 - .../src/BookStore.Blazor/wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../src/BookStore.Blazor/wwwroot/global.css | 27158 ---------------- .../src/BookStore.Blazor/wwwroot/global.js | 59 - .../src/BookStore.Blazor/wwwroot/index.html | 29 - .../src/BookStore.Blazor/wwwroot/logo.svg | 43 - .../src/BookStore.Blazor/wwwroot/main.css | 49 - .../BookStore.BlazorServer.csproj | 55 - .../BookStoreBlazorModule.cs | 245 - .../BookStoreBrandingProvider.cs | 10 - .../Menus/BookStoreMenuContributor.cs | 52 - .../BookStore.BlazorServer/Pages/Index.razor | 24 - .../Pages/Index.razor.cs | 15 - .../Pages/Index.razor.css | 1 - .../BookStore.BlazorServer/Pages/_Host.cshtml | 40 - .../Pages/_ViewImports.cshtml | 4 - .../src/BookStore.BlazorServer/_Imports.razor | 12 - .../BookStore.BlazorServer/appsettings.json | 16 - .../BookStore.BlazorServer/package-lock.json | 424 - .../src/BookStore.BlazorServer/package.json | 9 - .../src/BookStore.BlazorServer/tempkey.jwk | 1 - .../wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/global-styles.css | 3 - .../src/BookStore.BlazorServer/yarn.lock | 335 - .../BookStore.DbMigrator.csproj | 53 - .../BookStoreDbMigratorModule.cs | 19 - .../Properties/launchSettings.json | 10 - .../src/BookStore.DbMigrator/appsettings.json | 33 - .../appsettings.secrets.json | 2 - .../src/BookStore.DbMigrator/tempkey.jwk | 1 - .../src/BookStore.DbMigrator/tempkey.rsa | 13 - .../BookStoreDomainSharedModule.cs | 58 - .../BookStoreModuleExtensionConfigurator.cs | 82 - .../Identity/IdentityUserType.cs | 7 - .../Localization/BookStore/ar.json | 8 - .../Localization/BookStore/cs.json | 8 - .../Localization/BookStore/de-DE.json | 8 - .../Localization/BookStore/en.json | 11 - .../Localization/BookStore/es.json | 8 - .../Localization/BookStore/fi.json | 8 - .../Localization/BookStore/fr.json | 8 - .../Localization/BookStore/hi.json | 8 - .../Localization/BookStore/hu.json | 8 - .../Localization/BookStore/is.json | 8 - .../Localization/BookStore/it.json | 8 - .../Localization/BookStore/nl.json | 8 - .../Localization/BookStore/pl-PL.json | 8 - .../Localization/BookStore/pt-BR.json | 8 - .../Localization/BookStore/ro-RO.json | 8 - .../Localization/BookStore/ru.json | 8 - .../Localization/BookStore/sk.json | 8 - .../Localization/BookStore/sl.json | 8 - .../Localization/BookStore/tr.json | 8 - .../Localization/BookStore/vi.json | 8 - .../Localization/BookStore/zh-Hans.json | 11 - .../Localization/BookStore/zh-Hant.json | 8 - .../src/BookStore.Domain/BookStoreConsts.cs | 8 - .../Data/BookStoreDbMigrationService.cs | 219 - .../IdentityServerDataSeedContributor.cs | 306 - .../BookStore.EntityFrameworkCore.csproj | 30 - .../EntityFrameworkCore/BookStoreDbContext.cs | 87 - .../BookStoreDbContextFactory.cs | 32 - .../BookStoreEfCoreEntityExtensionMappings.cs | 44 - .../BookStoreEntityFrameworkCoreModule.cs | 51 - ...yFrameworkCoreBookStoreDbSchemaMigrator.cs | 34 - .../20250516090951_initial.Designer.cs | 2683 -- .../Migrations/20250516090951_initial.cs | 1592 - .../BookStoreDbContextModelSnapshot.cs | 2680 -- .../Properties/AssemblyInfo.cs | 2 - .../BookStore.HttpApi.Host.csproj | 39 - .../BookStoreBrandingProvider.cs | 10 - .../BookStoreHttpApiHostModule.cs | 250 - .../Controllers/HomeController.cs | 12 - .../src/BookStore.HttpApi.Host/Program.cs | 53 - .../Properties/launchSettings.json | 27 - .../abp.resourcemapping.js | 11 - .../BookStore.HttpApi.Host/appsettings.json | 19 - .../appsettings.secrets.json | 2 - .../BookStore.HttpApi.Host/package-lock.json | 406 - .../src/BookStore.HttpApi.Host/package.json | 8 - .../src/BookStore.HttpApi.Host/tempkey.jwk | 1 - .../src/BookStore.HttpApi.Host/tempkey.rsa | 1 - .../wwwroot/global-styles.css | 1 - .../src/BookStore.HttpApi.Host/yarn.lock | 325 - .../Models/Test/TestModel.cs | 10 - .../BookStoreApplicationTestBase.cs | 6 - .../Samples/SampleAppServiceTests.cs | 32 - .../BookStore.Domain.Tests.csproj | 18 - .../BookStoreDomainTestBase.cs | 6 - .../BookStoreDomainTestModule.cs | 12 - .../Samples/SampleDomainTests.cs | 44 - ...BookStore.EntityFrameworkCore.Tests.csproj | 20 - .../BookStoreEntityFrameworkCoreTestBase.cs | 8 - .../BookStoreEntityFrameworkCoreTestModule.cs | 61 - .../Samples/SampleRepositoryTests.cs | 43 - .../ClientDemoService.cs | 25 - .../Program.cs | 22 - .../appsettings.secrets.json | 2 - .../BookStore.TestBase.csproj | 26 - .../BookStoreTestBaseModule.cs | 61 - .../BookStoreTestDataSeedContributor.cs | 15 - .../Security/FakeCurrentPrincipalAccessor.cs | 42 - samples/BookStoreWebApp/.DS_Store | Bin 6148 -> 0 bytes samples/BookStoreWebApp/.gitattributes | 1 - samples/BookStoreWebApp/.gitignore | 265 - samples/BookStoreWebApp/.prettierrc | 5 - samples/BookStoreWebApp/BookStoreWebApp.sln | 137 - .../BookStoreWebApp.sln.DotSettings | 23 - samples/BookStoreWebApp/README.md | 66 - ...okStoreWebApp.Application.Contracts.csproj | 25 - ...okStoreWebAppApplicationContractsModule.cs | 28 - .../BookStoreWebAppDtoExtensions.cs | 28 - ...StoreWebAppPermissionDefinitionProvider.cs | 20 - .../Permissions/BookStoreWebAppPermissions.cs | 9 - .../BookStoreWebApp.Application.csproj | 25 - .../BookStoreWebAppAppService.cs | 17 - ...StoreWebAppApplicationAutoMapperProfile.cs | 13 - .../BookStoreWebAppApplicationModule.cs | 31 - .../Properties/AssemblyInfo.cs | 2 - .../BookStoreWebAppBlazorAutoMapperProfile.cs | 11 - .../BookStoreWebAppBrandingProvider.cs | 10 - .../BookStoreWebAppBundleContributor.cs | 19 - .../BookStoreWebAppComponentBase.cs | 12 - .../Menus/BookStoreWebAppMenus.cs | 10 - .../Pages/Index.razor.cs | 6 - .../Pages/Index.razor.css | 1 - .../BookStoreWebApp.Blazor.Client/Program.cs | 22 - .../Properties/launchSettings.json | 12 - .../wwwroot/appsettings.json | 18 - .../wwwroot/appsettings.secrets.json | 2 - .../wwwroot/global.css | 27124 --------------- .../wwwroot/global.js | 11 - .../wwwroot/main.css | 55 - .../BookStoreWebAppBrandingProvider.cs | 10 - .../BookStoreWebAppComponentBase.cs | 12 - .../src/BookStoreWebApp.Blazor/Program.cs | 56 - .../Properties/launchSettings.json | 28 - .../abp.resourcemapping.js | 11 - .../BookStoreWebApp.Blazor/appsettings.json | 16 - .../appsettings.secrets.json | 2 - .../BookStoreWebApp.Blazor/package-lock.json | 424 - .../src/BookStoreWebApp.Blazor/package.json | 9 - .../wwwroot/blazor-global-styles.css | 22 - .../wwwroot/favicon.ico | Bin 32038 -> 0 bytes .../wwwroot/global-styles.css | 8 - .../src/BookStoreWebApp.Blazor/yarn.lock | 335 - .../BookStoreWebApp.DbMigrator.csproj | 45 - .../BookStoreWebAppDbMigratorModule.cs | 14 - .../DbMigratorHostedService.cs | 51 - .../src/BookStoreWebApp.DbMigrator/Program.cs | 41 - .../appsettings.json | 13 - .../appsettings.secrets.json | 2 - .../BookStoreWebApp.Domain.Shared.csproj | 32 - .../BookStoreWebAppDomainErrorCodes.cs | 6 - .../BookStoreWebAppDomainSharedModule.cs | 58 - ...ookStoreWebAppGlobalFeatureConfigurator.cs | 22 - .../Localization/BookStoreWebApp/ar.json | 8 - .../Localization/BookStoreWebApp/cs.json | 8 - .../Localization/BookStoreWebApp/de.json | 8 - .../Localization/BookStoreWebApp/es.json | 8 - .../Localization/BookStoreWebApp/fi.json | 8 - .../Localization/BookStoreWebApp/fr.json | 8 - .../Localization/BookStoreWebApp/hi.json | 8 - .../Localization/BookStoreWebApp/hr.json | 8 - .../Localization/BookStoreWebApp/hu.json | 8 - .../Localization/BookStoreWebApp/is.json | 8 - .../Localization/BookStoreWebApp/it.json | 8 - .../Localization/BookStoreWebApp/nl.json | 8 - .../Localization/BookStoreWebApp/pl-PL.json | 8 - .../Localization/BookStoreWebApp/pt-BR.json | 8 - .../Localization/BookStoreWebApp/ro-RO.json | 8 - .../Localization/BookStoreWebApp/ru.json | 8 - .../Localization/BookStoreWebApp/sk.json | 8 - .../Localization/BookStoreWebApp/sl.json | 8 - .../Localization/BookStoreWebApp/tr.json | 8 - .../Localization/BookStoreWebApp/vi.json | 8 - .../Localization/BookStoreWebApp/zh-Hans.json | 8 - .../Localization/BookStoreWebApp/zh-Hant.json | 8 - .../Localization/BookStoreWebAppResource.cs | 9 - .../MultiTenancy/MultiTenancyConsts.cs | 10 - .../BookStoreWebApp.Domain.csproj | 28 - .../BookStoreWebAppConsts.cs | 8 - .../BookStoreWebAppDomainModule.cs | 68 - .../Data/IBookStoreWebAppDbSchemaMigrator.cs | 8 - .../NullBookStoreWebAppDbSchemaMigrator.cs | 15 - .../Properties/AssemblyInfo.cs | 3 - ...ookStoreWebAppSettingDefinitionProvider.cs | 12 - .../Settings/BookStoreWebAppSettings.cs | 9 - .../BookStoreWebApp.HttpApi.Client.csproj | 29 - .../BookStoreWebAppHttpApiClientModule.cs | 38 - .../BookStoreWebApp.HttpApi.csproj | 24 - .../BookStoreWebAppHttpApiModule.cs | 41 - .../Controllers/BookStoreWebAppController.cs | 14 - .../Properties/AssemblyInfo.cs | 2 - .../BookStoreWebAppApplicationTestBase.cs | 9 - .../BookStoreWebAppApplicationTestModule.cs | 12 - .../BookStoreWebApp.Domain.Tests.csproj | 20 - .../BookStoreWebAppDomainTestBase.cs | 10 - .../BookStoreWebAppDomainTestModule.cs | 12 - ...ebApp.HttpApi.Client.ConsoleTestApp.csproj | 33 - .../BookStoreWebAppConsoleApiClientModule.cs | 30 - .../ClientDemoService.cs | 25 - .../ConsoleTestAppHostedService.cs | 40 - .../Program.cs | 22 - .../appsettings.json | 17 - .../appsettings.secrets.json | 2 - .../BookStoreWebApp.MongoDB.Tests.csproj | 24 - .../MongoDBSampleAppServiceTests.cs | 11 - .../MongoDb/BookStoreWebAppMongoCollection.cs | 9 - ...StoreWebAppMongoDbCollectionFixtureBase.cs | 9 - .../MongoDb/BookStoreWebAppMongoDbTestBase.cs | 6 - .../BookStoreWebAppMongoDbTestModule.cs | 20 - .../Domains/MongoDBSampleDomainTests.cs | 10 - .../BookStoreWebApp.TestBase.csproj | 31 - .../BookStoreWebAppTestBase.cs | 60 - .../BookStoreWebAppTestConsts.cs | 6 - .../BookStoreWebAppTestDataSeedContributor.cs | 15 - samples/WebApp/.editorconfig | 2 + samples/{BookStore => WebApp}/.gitattributes | 0 samples/{BookStore => WebApp}/.gitignore | 20 +- samples/WebApp/BookStore.abpmdl | 105 + samples/WebApp/BookStore.abpsln | 50 + samples/{BookStore => WebApp}/BookStore.sln | 70 +- .../BookStore.sln.DotSettings | 0 samples/WebApp/NuGet.Config | 13 + samples/WebApp/README.md | 56 + .../{BookStoreWebApp => WebApp}/common.props | 2 +- .../run-profiles/Default.abprun.json | 17 + .../BookStore.Application.Contracts.abppkg | 3 + ....Application.Contracts.abppkg.analyze.json | 118 + .../BookStore.Application.Contracts.csproj | 10 +- .../BookStoreApplicationContractsModule.cs | 12 +- .../BookStoreDtoExtensions.cs | 2 +- .../BookStorePermissionDefinitionProvider.cs | 4 +- .../Permissions/BookStorePermissions.cs | 4 +- .../BookStore.Application.abppkg | 3 + .../BookStore.Application.abppkg.analyze.json | 123 + .../BookStore.Application.csproj | 7 +- .../BookStoreAppService.cs | 5 +- .../BookStoreApplicationAutoMapperProfile.cs | 2 +- .../BookStoreApplicationModule.cs | 14 +- .../Properties/AssemblyInfo.cs | 0 .../BookStore.Blazor.Client.abppkg | 3 + .../BookStore.Blazor.Client.csproj} | 22 +- .../BookStoreBlazorAutoMapperProfile.cs | 11 + .../BookStoreBlazorClientModule.cs} | 47 +- .../BookStoreBrandingProvider.cs | 19 + .../BookStoreComponentBase.cs | 2 +- .../Navigation/BookStoreMenuContributor.cs} | 77 +- .../Navigation}/BookStoreMenus.cs | 6 +- .../Pages/Index.razor | 2 +- .../Pages/Index.razor.cs | 14 + .../Pages/Index.razor.css | 17 + .../src/BookStore.Blazor.Client}/Program.cs | 4 +- .../src/BookStore.Blazor.Client}/Routes.razor | 2 +- .../BookStore.Blazor.Client}/_Imports.razor | 11 +- .../wwwroot/appsettings.Development.json | 0 .../wwwroot/appsettings.json | 7 + .../wwwroot/icon-192.png | Bin .../wwwroot/icon-512.png | Bin .../BookStore.Blazor.Client/wwwroot/main.css | 45 + .../wwwroot/manifest.json | 4 +- .../wwwroot/service-worker.js | 0 .../wwwroot/service-worker.published.js | 0 .../BookStore.Blazor/BookStore.Blazor.abppkg | 3 + .../BookStore.Blazor/BookStore.Blazor.csproj} | 34 +- .../BookStoreBlazorAutoMapperProfile.cs | 2 +- .../BookStoreBlazorModule.cs} | 197 +- .../BookStoreBrandingProvider.cs | 19 + .../BookStoreComponentBase.cs | 0 .../BookStoreScriptBundleContributor.cs | 11 + .../BookStoreStyleBundleContributor.cs | 11 + .../BookStore.Blazor}/Components/App.razor | 29 +- .../WebApp/src/BookStore.Blazor/Dockerfile | 5 + .../src/BookStore.Blazor/Dockerfile.local | 18 + .../src/BookStore.Blazor}/Program.cs | 36 +- .../Properties/launchSettings.json | 6 +- .../Themes/_ViewImports.cshtml | 4 + .../src/BookStore.Blazor}/_Imports.razor | 7 +- .../BookStore.Blazor}/abp.resourcemapping.js | 2 +- .../appsettings.Development.json | 0 .../src/BookStore.Blazor/appsettings.json | 18 + .../src/BookStore.Blazor/package-lock.json | 3196 ++ .../WebApp/src/BookStore.Blazor/package.json | 9 + .../src/BookStore.Blazor}/web.config | 2 +- .../src/BookStore.Blazor/wwwroot/favicon.ico | Bin 0 -> 38078 bytes .../wwwroot/global-scripts.js | 1 + .../wwwroot/global-styles.css} | 8 + .../wwwroot/images/getting-started/bg-01.png | Bin 0 -> 27830 bytes .../wwwroot/images/getting-started/book.png | Bin 0 -> 337312 bytes .../images/getting-started/discord.svg | 7 + .../images/getting-started/img-blog.png | Bin 0 -> 42029 bytes .../images/getting-started/img-community.png | Bin 0 -> 65374 bytes .../images/getting-started/img-support.png | Bin 0 -> 33989 bytes .../images/getting-started/instagram.svg | 23 + .../images/getting-started/stack-overflow.svg | 4 + .../images/getting-started/x-white.svg | 3 + .../images/getting-started/youtube.svg | 11 + .../logo/leptonxlite}/logo-dark-thumbnail.png | Bin .../images/logo/leptonxlite}/logo-dark.png | Bin .../leptonxlite}/logo-light-thumbnail.png | Bin .../images/logo/leptonxlite}/logo-light.png | Bin samples/WebApp/src/BookStore.Blazor/yarn.lock | 321 + .../BookStore.DbMigrator.abppkg | 1 + .../BookStore.DbMigrator.csproj | 46 + .../BookStoreDbMigratorModule.cs | 14 + .../DbMigratorHostedService.cs | 0 .../src/BookStore.DbMigrator/Dockerfile | 5 + .../src/BookStore.DbMigrator/Dockerfile.local | 6 + .../src/BookStore.DbMigrator/Program.cs | 4 +- .../src/BookStore.DbMigrator/appsettings.json | 15 + .../appsettings.secrets.json} | 0 .../BookStore.Domain.Shared.abppkg | 3 + ...ookStore.Domain.Shared.abppkg.analyze.json | 118 + .../BookStore.Domain.Shared.csproj | 18 +- .../BookStoreDomainErrorCodes.cs | 0 .../BookStoreDomainSharedModule.cs | 82 + .../BookStoreGlobalFeatureConfigurator.cs | 10 +- .../BookStoreModuleExtensionConfigurator.cs} | 6 +- .../Localization/BookStore/ar.json | 42 + .../Localization/BookStore/cs.json} | 11 +- .../Localization/BookStore/de-DE.json | 42 + .../Localization/BookStore/en-GB.json | 9 + .../Localization/BookStore}/en.json | 9 +- .../Localization/BookStore/es.json | 42 + .../Localization/BookStore/fi.json | 42 + .../Localization/BookStore/fr.json | 42 + .../Localization/BookStore/hi.json | 42 + .../Localization/BookStore/hu.json | 42 + .../Localization/BookStore/is.json} | 11 +- .../Localization/BookStore/it.json | 42 + .../Localization/BookStore/pt-BR.json | 42 + .../Localization/BookStore/ro-RO.json | 9 + .../Localization/BookStore/ru.json | 42 + .../Localization/BookStore/sk.json | 42 + .../Localization/BookStore/sv.json | 42 + .../Localization/BookStore/tr.json | 42 + .../Localization/BookStore/zh-Hans.json | 42 + .../Localization/BookStore/zh-Hant.json | 9 + .../Localization/BookStoreResource.cs | 0 .../MultiTenancy/MultiTenancyConsts.cs | 0 .../BookStore.Domain/BookStore.Domain.abppkg | 3 + .../BookStore.Domain.abppkg.analyze.json | 138 + .../BookStore.Domain/BookStore.Domain.csproj | 14 +- .../src/BookStore.Domain/BookStoreConsts.cs | 11 + .../BookStore.Domain/BookStoreDomainModule.cs | 31 +- .../Data/BookStoreDbMigrationService.cs} | 67 +- .../Data/IBookStoreDbSchemaMigrator.cs | 0 .../Data/NullBookStoreDbSchemaMigrator.cs | 0 ...PasswordPolicySettingDefinitionProvider.cs | 34 + .../OpenIddictDataSeedContributor.cs | 85 +- .../Properties/AssemblyInfo.cs | 0 .../BookStoreSettingDefinitionProvider.cs | 0 .../Settings/BookStoreSettings.cs | 0 .../BookStore.HttpApi.Client.abppkg | 3 + ...okStore.HttpApi.Client.abppkg.analyze.json | 118 + .../BookStore.HttpApi.Client.csproj | 10 +- .../BookStoreHttpApiClientModule.cs | 10 +- .../BookStore.HttpApi.abppkg | 3 + .../BookStore.HttpApi.abppkg.analyze.json | 118 + .../BookStore.HttpApi.csproj | 10 +- .../BookStoreHttpApiModule.cs | 12 +- .../Controllers/BookStoreController.cs | 0 .../Models/Test/TestModel.cs | 2 +- .../BookStore.MongoDB.abppkg | 3 + .../BookStore.MongoDB.abppkg.analyze.json | 145 + .../BookStore.MongoDB.csproj} | 17 +- .../MongoDb/BookStoreMongoDbContext.cs} | 8 +- .../MongoDb/BookStoreMongoDbModule.cs} | 25 +- .../MongoDbBookStoreDbSchemaMigrator.cs} | 17 +- .../Properties/AssemblyInfo.cs | 2 + .../BookStore.Application.Tests.abppkg | 3 + .../BookStore.Application.Tests.csproj | 5 +- .../BookStoreApplicationTestBase.cs | 9 + .../BookStoreApplicationTestModule.cs | 2 +- .../Samples/SampleAppServiceTests.cs | 4 +- .../BookStore.Domain.Tests.abppkg | 3 + .../BookStore.Domain.Tests.csproj} | 6 +- .../BookStoreDomainTestBase.cs | 10 + .../BookStoreDomainTestModule.cs | 12 + .../Samples/SampleDomainTests.cs | 4 +- ...Store.HttpApi.Client.ConsoleTestApp.abppkg | 3 + ...Store.HttpApi.Client.ConsoleTestApp.csproj | 14 +- .../BookStoreConsoleApiClientModule.cs | 0 .../ClientDemoService.cs | 38 + .../Program.cs} | 27 +- .../appsettings.json | 7 +- .../appsettings.secrets.json} | 0 .../BookStore.MongoDB.Tests.abppkg | 3 + .../BookStore.MongoDB.Tests.csproj | 24 + .../MongoDBSampleAppServiceTests.cs | 11 + .../MongoDb/BookStoreMongoCollection.cs | 9 + .../BookStoreMongoDbCollectionFixtureBase.cs | 9 + .../MongoDb/BookStoreMongoDbFixture.cs} | 8 +- .../MongoDb/BookStoreMongoDbTestBase.cs | 6 + .../MongoDb/BookStoreMongoDbTestModule.cs | 21 + .../Domains/MongoDBSampleDomainTests.cs | 10 + .../MongoDb/Samples/SampleRepositoryTests.cs | 10 +- .../BookStore.TestBase.abppkg | 3 + .../BookStore.TestBase.csproj | 45 + .../BookStore.TestBase/BookStoreTestBase.cs | 11 +- .../BookStoreTestBaseModule.cs} | 6 +- .../BookStore.TestBase/BookStoreTestConsts.cs | 6 + .../BookStoreTestDataBuilder.cs | 26 + .../Security/FakeCurrentPrincipalAccessor.cs | 5 +- .../test/BookStore.TestBase/appsettings.json} | 0 .../appsettings.secrets.json | 0 433 files changed, 6803 insertions(+), 69522 deletions(-) delete mode 100644 .DS_Store create mode 100644 modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/DynamicLayoutComponent.razor create mode 100644 modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor create mode 100644 modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor.cs delete mode 100644 samples/.DS_Store delete mode 100644 samples/BookStore/.prettierrc delete mode 100644 samples/BookStore/common.props delete mode 100644 samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj delete mode 100644 samples/BookStore/src/BookStore.Blazor/BookStoreBlazorModule.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/BookStoreBrandingProvider.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/BookStoreBundleContributor.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenuContributor.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenus.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/Pages/Index.razor delete mode 100644 samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.cs delete mode 100644 samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.css delete mode 100644 samples/BookStore/src/BookStore.Blazor/Properties/launchSettings.json delete mode 100644 samples/BookStore/src/BookStore.Blazor/_Imports.razor delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.json delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/favicon.ico delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/global.css delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/global.js delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/index.html delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/logo.svg delete mode 100644 samples/BookStore/src/BookStore.Blazor/wwwroot/main.css delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/BookStoreBrandingProvider.cs delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenuContributor.cs delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.cs delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.css delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Pages/_Host.cshtml delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/Pages/_ViewImports.cshtml delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/_Imports.razor delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/appsettings.json delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/package-lock.json delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/package.json delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/tempkey.jwk delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/wwwroot/favicon.ico delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/wwwroot/global-styles.css delete mode 100644 samples/BookStore/src/BookStore.BlazorServer/yarn.lock delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/Properties/launchSettings.json delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/appsettings.json delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/appsettings.secrets.json delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/tempkey.jwk delete mode 100644 samples/BookStore/src/BookStore.DbMigrator/tempkey.rsa delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Identity/IdentityUserType.cs delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ar.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/cs.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/es.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fi.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fr.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hi.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hu.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/is.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/it.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/nl.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pl-PL.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ru.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sk.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sl.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/tr.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/vi.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json delete mode 100644 samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json delete mode 100644 samples/BookStore/src/BookStore.Domain/BookStoreConsts.cs delete mode 100644 samples/BookStore/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs delete mode 100644 samples/BookStore/src/BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEfCoreEntityExtensionMappings.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEntityFrameworkCoreModule.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreBookStoreDbSchemaMigrator.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.Designer.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs delete mode 100644 samples/BookStore/src/BookStore.EntityFrameworkCore/Properties/AssemblyInfo.cs delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/BookStoreBrandingProvider.cs delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/Controllers/HomeController.cs delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/Program.cs delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/Properties/launchSettings.json delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/abp.resourcemapping.js delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/appsettings.secrets.json delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/package.json delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/tempkey.jwk delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/tempkey.rsa delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/global-styles.css delete mode 100644 samples/BookStore/src/BookStore.HttpApi.Host/yarn.lock delete mode 100644 samples/BookStore/src/BookStore.HttpApi/Models/Test/TestModel.cs delete mode 100644 samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs delete mode 100644 samples/BookStore/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs delete mode 100644 samples/BookStore/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj delete mode 100644 samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs delete mode 100644 samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs delete mode 100644 samples/BookStore/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs delete mode 100644 samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/BookStore.EntityFrameworkCore.Tests.csproj delete mode 100644 samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestBase.cs delete mode 100644 samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestModule.cs delete mode 100644 samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs delete mode 100644 samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs delete mode 100644 samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs delete mode 100644 samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json delete mode 100644 samples/BookStore/test/BookStore.TestBase/BookStore.TestBase.csproj delete mode 100644 samples/BookStore/test/BookStore.TestBase/BookStoreTestBaseModule.cs delete mode 100644 samples/BookStore/test/BookStore.TestBase/BookStoreTestDataSeedContributor.cs delete mode 100644 samples/BookStore/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs delete mode 100644 samples/BookStoreWebApp/.DS_Store delete mode 100644 samples/BookStoreWebApp/.gitattributes delete mode 100644 samples/BookStoreWebApp/.gitignore delete mode 100644 samples/BookStoreWebApp/.prettierrc delete mode 100644 samples/BookStoreWebApp/BookStoreWebApp.sln delete mode 100644 samples/BookStoreWebApp/BookStoreWebApp.sln.DotSettings delete mode 100644 samples/BookStoreWebApp/README.md delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebApp.Application.Contracts.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppApplicationContractsModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppDtoExtensions.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissionDefinitionProvider.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissions.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebApp.Application.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppAppService.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationAutoMapperProfile.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Application/Properties/AssemblyInfo.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorAutoMapperProfile.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBrandingProvider.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBundleContributor.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppComponentBase.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenus.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.css delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Program.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Properties/launchSettings.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.secrets.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.css delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.js delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/main.css delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBrandingProvider.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppComponentBase.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Program.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Properties/launchSettings.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/abp.resourcemapping.js delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.secrets.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package-lock.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/blazor-global-styles.css delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/favicon.ico delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/global-styles.css delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/yarn.lock delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebApp.DbMigrator.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebAppDbMigratorModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/DbMigratorHostedService.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/Program.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.secrets.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebApp.Domain.Shared.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainErrorCodes.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainSharedModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppGlobalFeatureConfigurator.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ar.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/cs.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/de.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/es.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fi.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fr.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hi.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hr.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hu.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/is.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/it.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/nl.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pl-PL.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pt-BR.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ro-RO.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ru.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sk.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sl.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/tr.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/vi.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hans.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hant.json delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebAppResource.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebApp.Domain.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppConsts.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppDomainModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/IBookStoreWebAppDbSchemaMigrator.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/NullBookStoreWebAppDbSchemaMigrator.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Properties/AssemblyInfo.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettingDefinitionProvider.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettings.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebApp.HttpApi.Client.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebAppHttpApiClientModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebApp.HttpApi.csproj delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebAppHttpApiModule.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Controllers/BookStoreWebAppController.cs delete mode 100644 samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/Properties/AssemblyInfo.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestBase.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestModule.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebApp.Domain.Tests.csproj delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestBase.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestModule.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebAppConsoleApiClientModule.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/Program.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.json delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/BookStoreWebApp.MongoDB.Tests.csproj delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoCollection.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbCollectionFixtureBase.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestBase.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestModule.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebApp.TestBase.csproj delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBase.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestConsts.cs delete mode 100644 samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestDataSeedContributor.cs create mode 100644 samples/WebApp/.editorconfig rename samples/{BookStore => WebApp}/.gitattributes (100%) rename samples/{BookStore => WebApp}/.gitignore (92%) create mode 100644 samples/WebApp/BookStore.abpmdl create mode 100644 samples/WebApp/BookStore.abpsln rename samples/{BookStore => WebApp}/BookStore.sln (75%) rename samples/{BookStore => WebApp}/BookStore.sln.DotSettings (100%) create mode 100644 samples/WebApp/NuGet.Config create mode 100644 samples/WebApp/README.md rename samples/{BookStoreWebApp => WebApp}/common.props (87%) create mode 100644 samples/WebApp/etc/abp-studio/run-profiles/Default.abprun.json create mode 100644 samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg create mode 100644 samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj (93%) rename samples/{BookStore => WebApp}/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs (85%) rename samples/{BookStore => WebApp}/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs (96%) rename samples/{BookStore => WebApp}/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs (91%) rename samples/{BookStore => WebApp}/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs (84%) create mode 100644 samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg create mode 100644 samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.Application/BookStore.Application.csproj (96%) rename samples/{BookStore => WebApp}/src/BookStore.Application/BookStoreAppService.cs (74%) rename samples/{BookStore => WebApp}/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs (94%) rename samples/{BookStore => WebApp}/src/BookStore.Application/BookStoreApplicationModule.cs (93%) rename samples/{BookStore => WebApp}/src/BookStore.Application/Properties/AssemblyInfo.cs (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.abppkg rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebApp.Blazor.Client.csproj => WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.csproj} (66%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorAutoMapperProfile.cs rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorClientModule.cs => WebApp/src/BookStore.Blazor.Client/BookStoreBlazorClientModule.cs} (78%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/BookStoreBrandingProvider.cs rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/src/BookStore.Blazor.Client}/BookStoreComponentBase.cs (87%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenuContributor.cs => WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenuContributor.cs} (50%) rename samples/{BookStore/src/BookStore.BlazorServer/Menus => WebApp/src/BookStore.Blazor.Client/Navigation}/BookStoreMenus.cs (64%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/Pages/Index.razor (88%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.cs create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.css rename samples/{BookStore/src/BookStore.Blazor => WebApp/src/BookStore.Blazor.Client}/Program.cs (87%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/Routes.razor (88%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/_Imports.razor (67%) rename samples/{BookStore/src/BookStore.Blazor => WebApp/src/BookStore.Blazor.Client}/wwwroot/appsettings.Development.json (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.json rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/wwwroot/icon-192.png (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/wwwroot/icon-512.png (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor.Client/wwwroot/main.css rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/wwwroot/manifest.json (84%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/wwwroot/service-worker.js (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client => WebApp/src/BookStore.Blazor.Client}/wwwroot/service-worker.published.js (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.abppkg rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebApp.Blazor.csproj => WebApp/src/BookStore.Blazor/BookStore.Blazor.csproj} (70%) rename samples/{BookStore => WebApp}/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs (91%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBlazorModule.cs => WebApp/src/BookStore.Blazor/BookStoreBlazorModule.cs} (59%) create mode 100644 samples/WebApp/src/BookStore.Blazor/BookStoreBrandingProvider.cs rename samples/{BookStore => WebApp}/src/BookStore.Blazor/BookStoreComponentBase.cs (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor/BookStoreScriptBundleContributor.cs create mode 100644 samples/WebApp/src/BookStore.Blazor/BookStoreStyleBundleContributor.cs rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor => WebApp/src/BookStore.Blazor}/Components/App.razor (82%) create mode 100644 samples/WebApp/src/BookStore.Blazor/Dockerfile create mode 100644 samples/WebApp/src/BookStore.Blazor/Dockerfile.local rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/src/BookStore.Blazor}/Program.cs (52%) rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/src/BookStore.Blazor}/Properties/launchSettings.json (81%) create mode 100644 samples/WebApp/src/BookStore.Blazor/Themes/_ViewImports.cshtml rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor => WebApp/src/BookStore.Blazor}/_Imports.razor (79%) rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/src/BookStore.Blazor}/abp.resourcemapping.js (96%) rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/src/BookStore.Blazor}/appsettings.Development.json (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor/appsettings.json create mode 100644 samples/WebApp/src/BookStore.Blazor/package-lock.json create mode 100644 samples/WebApp/src/BookStore.Blazor/package.json rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor => WebApp/src/BookStore.Blazor}/web.config (75%) create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/favicon.ico create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/global-scripts.js rename samples/{BookStore/src/BookStore.BlazorServer/wwwroot/blazor-global-styles.css => WebApp/src/BookStore.Blazor/wwwroot/global-styles.css} (57%) create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/bg-01.png create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/book.png create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/discord.svg create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-blog.png create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-community.png create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-support.png create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/instagram.svg create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/stack-overflow.svg create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/x-white.svg create mode 100644 samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/youtube.svg rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx => WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite}/logo-dark-thumbnail.png (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx => WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite}/logo-dark.png (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx => WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite}/logo-light-thumbnail.png (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx => WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite}/logo-light.png (100%) create mode 100644 samples/WebApp/src/BookStore.Blazor/yarn.lock create mode 100644 samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.abppkg create mode 100644 samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj create mode 100644 samples/WebApp/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs rename samples/{BookStore => WebApp}/src/BookStore.DbMigrator/DbMigratorHostedService.cs (100%) create mode 100644 samples/WebApp/src/BookStore.DbMigrator/Dockerfile create mode 100644 samples/WebApp/src/BookStore.DbMigrator/Dockerfile.local rename samples/{BookStore => WebApp}/src/BookStore.DbMigrator/Program.cs (93%) create mode 100644 samples/WebApp/src/BookStore.DbMigrator/appsettings.json rename samples/{BookStore/src/BookStore.HttpApi.Host/appsettings.Development.json => WebApp/src/BookStore.DbMigrator/appsettings.secrets.json} (100%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj (77%) rename samples/{BookStore => WebApp}/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs (100%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs rename samples/{BookStore => WebApp}/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs (61%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppModuleExtensionConfigurator.cs => WebApp/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs} (90%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ar.json rename samples/{BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en-GB.json => WebApp/src/BookStore.Domain.Shared/Localization/BookStore/cs.json} (62%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json rename samples/{BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp => WebApp/src/BookStore.Domain.Shared/Localization/BookStore}/en.json (62%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/es.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fi.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fr.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hi.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hu.json rename samples/{BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json => WebApp/src/BookStore.Domain.Shared/Localization/BookStore/is.json} (62%) create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/it.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ru.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sk.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sv.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/tr.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json create mode 100644 samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json rename samples/{BookStore => WebApp}/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs (100%) rename samples/{BookStore => WebApp}/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs (100%) create mode 100644 samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg create mode 100644 samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.Domain/BookStore.Domain.csproj (78%) create mode 100644 samples/WebApp/src/BookStore.Domain/BookStoreConsts.cs rename samples/{BookStore => WebApp}/src/BookStore.Domain/BookStoreDomainModule.cs (72%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Domain/Data/BookStoreWebAppDbMigrationService.cs => WebApp/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs} (54%) rename samples/{BookStore => WebApp}/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs (100%) rename samples/{BookStore => WebApp}/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs (100%) create mode 100644 samples/WebApp/src/BookStore.Domain/Identity/ChangeIdentityPasswordPolicySettingDefinitionProvider.cs rename samples/{BookStoreWebApp/src/BookStoreWebApp.Domain => WebApp/src/BookStore.Domain}/OpenIddict/OpenIddictDataSeedContributor.cs (79%) rename samples/{BookStore => WebApp}/src/BookStore.Domain/Properties/AssemblyInfo.cs (100%) rename samples/{BookStore => WebApp}/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs (100%) rename samples/{BookStore => WebApp}/src/BookStore.Domain/Settings/BookStoreSettings.cs (100%) create mode 100644 samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg create mode 100644 samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj (94%) rename samples/{BookStore => WebApp}/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs (100%) create mode 100644 samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg create mode 100644 samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg.analyze.json rename samples/{BookStore => WebApp}/src/BookStore.HttpApi/BookStore.HttpApi.csproj (92%) rename samples/{BookStore => WebApp}/src/BookStore.HttpApi/BookStoreHttpApiModule.cs (90%) rename samples/{BookStore => WebApp}/src/BookStore.HttpApi/Controllers/BookStoreController.cs (100%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.HttpApi => WebApp/src/BookStore.HttpApi}/Models/Test/TestModel.cs (76%) create mode 100644 samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg create mode 100644 samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg.analyze.json rename samples/{BookStoreWebApp/src/BookStoreWebApp.MongoDB/BookStoreWebApp.MongoDB.csproj => WebApp/src/BookStore.MongoDB/BookStore.MongoDB.csproj} (71%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbContext.cs => WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbContext.cs} (72%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbModule.cs => WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbModule.cs} (69%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/MongoDbBookStoreWebAppDbSchemaMigrator.cs => WebApp/src/BookStore.MongoDB/MongoDb/MongoDbBookStoreDbSchemaMigrator.cs} (70%) create mode 100644 samples/WebApp/src/BookStore.MongoDB/Properties/AssemblyInfo.cs create mode 100644 samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.abppkg rename samples/{BookStore => WebApp}/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj (77%) create mode 100644 samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs rename samples/{BookStore => WebApp}/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs (96%) rename samples/{BookStoreWebApp/test/BookStoreWebApp.Application.Tests => WebApp/test/BookStore.Application.Tests}/Samples/SampleAppServiceTests.cs (91%) create mode 100644 samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.abppkg rename samples/{BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebApp.Application.Tests.csproj => WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj} (55%) create mode 100644 samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs create mode 100644 samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs rename samples/{BookStoreWebApp/test/BookStoreWebApp.Domain.Tests => WebApp/test/BookStore.Domain.Tests}/Samples/SampleDomainTests.cs (95%) create mode 100644 samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.abppkg rename samples/{BookStore => WebApp}/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj (78%) rename samples/{BookStore => WebApp}/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStoreConsoleApiClientModule.cs (100%) create mode 100644 samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs rename samples/{BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs => WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs} (53%) rename samples/{BookStore => WebApp}/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json (67%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.Development.json => WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json} (100%) create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.abppkg create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.csproj create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoCollection.cs create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbCollectionFixtureBase.cs rename samples/{BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbFixture.cs => WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbFixture.cs} (82%) create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestBase.cs create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs create mode 100644 samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs rename samples/{BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests => WebApp/test/BookStore.MongoDB.Tests}/MongoDb/Samples/SampleRepositoryTests.cs (72%) create mode 100644 samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.abppkg create mode 100644 samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.csproj rename samples/{BookStore => WebApp}/test/BookStore.TestBase/BookStoreTestBase.cs (83%) rename samples/{BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBaseModule.cs => WebApp/test/BookStore.TestBase/BookStoreTestBaseModule.cs} (93%) create mode 100644 samples/WebApp/test/BookStore.TestBase/BookStoreTestConsts.cs create mode 100644 samples/WebApp/test/BookStore.TestBase/BookStoreTestDataBuilder.cs rename samples/{BookStoreWebApp/test/BookStoreWebApp.TestBase => WebApp/test/BookStore.TestBase}/Security/FakeCurrentPrincipalAccessor.cs (89%) rename samples/{BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.Development.json => WebApp/test/BookStore.TestBase/appsettings.json} (100%) rename samples/{BookStore/src/BookStore.BlazorServer => WebApp/test/BookStore.TestBase}/appsettings.secrets.json (100%) diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index ba1244b63a52c82e7189575503141bf08e0bf967..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Wl&^6upzU#AyKqsR)FGu*9|s4bN6=(zIDr0v0uo1)yTbCRjK#QJj!PR4IGl z7x)Flmj8f%VFhO%Me(F`i4d9_&767Mb7$^x;>i#Z>r9dsQG^x|B^=*xi4oB~dPe_H|h+x4hPeadKT{eE{a_vxoHmBjgDKZ-3Qc_JrJ~C{W{+I5NA%I6nO44)ofb`qqABW{dt+_z#x6WLAq_HF`k% zv`bxjL?Lypm_ID2Kb z>1#a9vtqot`JGj&-pZMpU-Q@em*E>R4ad=VQgouxbJ=?=L>?cvqxfl-P7fRFyMm9S zjHe?-$dVK;FP>#Q5z~&C@T5@OP*3=Ezkb-bGMlyT-rL#;TCMG)jbPTgwS99V*t&E3 z=&0^rynf^U!QtC{z{LmT0An~qm7Ozq3?I?3RCpJTcrLhnYLZojMkDH#mGmTU@%w~s z$;^8GT4~gEoB~b(r+|L51Q0^LC)x(*8r7=r!&^tPN0Jp-7W{bB&6E${fe4A&=tAD9SJw$Of=& UaIO&}F!x75$>1udz+YA17uM4kX#fBK diff --git a/.gitignore b/.gitignore index e6fc043..f557c30 100644 --- a/.gitignore +++ b/.gitignore @@ -403,3 +403,5 @@ FodyWeavers.xsd samples/BookStore/src/BookStore.BlazorServer/wwwroot/libs/ samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/libs/ + +.DS_Store diff --git a/Directory.Packages.props b/Directory.Packages.props index b84fba3..437361d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,6 +1,8 @@ 9.2.1 + 4.2.0 + 1.0.1 1.4.2 9.0.6 9.0.6 @@ -9,7 +11,6 @@ - @@ -105,7 +106,13 @@ - + + + + + + + @@ -144,7 +151,7 @@ - + @@ -153,10 +160,10 @@ - - - - + + + + diff --git a/README.WebApp.md b/README.WebApp.md index f622434..9795222 100644 --- a/README.WebApp.md +++ b/README.WebApp.md @@ -1,26 +1,29 @@ The first step is to use ABP CLI to create a new project. -`abp new BookStoreWebApp -u blazor-webapp -t app` +`abp new BookStore -u blazor-webapp -t app` > See the [ABP official documentation](https://docs.abp.io) to learn [ABP framework](https://github.com/abpframework/abp). **Replace LeptonXLiteTheme with AntBlazorTheme packages** * Replace `Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXLiteTheme` with `Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme` +* Replace `Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXLiteTheme.Bundling` with `Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.Bundling` * Replace `Volo.Abp.Identity.Blazor.WebAssembly` with `Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI` * Replace `Volo.Abp.SettingManagement.Blazor.WebAssembly` with `Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI` * Replace `Volo.Abp.TenantManagement.Blazor.WebAssembly` with `Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI` +* Replace `Volo.Abp.FeatureManagement.Blazor.WebAssembly` with `Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI` * Replace `Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme` with `Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme` * Replace `Volo.Abp.Identity.Blazor.Server` with `Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI` * Replace `Volo.Abp.SettingManagement.Blazor.Server` with `Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI` * Replace `Volo.Abp.TenantManagement.Blazor.Server` with `Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI` +* Replace `Volo.Abp.FeatureManagement.Blazor.Server` with `Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI` **Remove all Blazorise packages.** -**Replace BlazorLeptonXLiteThemeBundles with BlazorAntDesignThemeBundles** +**Replace `BlazorLeptonXLiteThemeBundles` with `BlazorAntDesignThemeBundles`** **Open `_Imports.razor` and add with the following:** @@ -33,7 +36,7 @@ The first step is to use ABP CLI to create a new project. @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Bundling ``` -**Open `BookStoreWebAppBlazorModule` make the following changes:** +**Open `BookStoreBlazorModule` make the following changes:** * Remove the `ConfigureBlazorise` method * Fix wrong using namespace @@ -41,7 +44,7 @@ The first step is to use ABP CLI to create a new project. * For example: replace `AbpIdentityBlazorServerModule` with `AbpIdentityBlazorServerAntDesignModule` * For example: replace `AbpAspNetCoreComponentsServerLeptonXLiteThemeModule` with `AbpAspNetCoreComponentsServerAntDesignThemeModule` -**Open `BookStoreWebAppBlazorClientModule` make the following changes:** +**Open `BookStoreBlazorClientModule` make the following changes:** * Remove the `ConfigureBlazorise` method * Fix wrong using namespace @@ -76,7 +79,7 @@ The first step is to use ABP CLI to create a new project. ```csharp @page "/" -@inherits BookStoreWebAppComponentBase +@inherits BookStoreComponentBase @@ -94,7 +97,7 @@ The first step is to use ABP CLI to create a new project. ``` -Run the `dotnet build` & `abp bundle` command in the `BookStoreWebApp.Blazor.Client` folder. +Run the `dotnet build` & `abp bundle` command in the `BookStore.Blazor.Client` folder. That's all, enjoy your code :). diff --git a/lsw.Abp.AntDesignUI.sln b/lsw.Abp.AntDesignUI.sln index be38f35..a49e84f 100644 --- a/lsw.Abp.AntDesignUI.sln +++ b/lsw.Abp.AntDesignUI.sln @@ -11,28 +11,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{0C43 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E36D7268-C7A6-4A7F-81DB-57070F4B049C}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BookStore", "BookStore", "{1F85F600-70F9-4286-B8BD-6A124D9DC43D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Application", "samples\BookStore\src\BookStore.Application\BookStore.Application.csproj", "{39E479A5-92DB-4F5B-918A-1920886D4D60}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Application.Contracts", "samples\BookStore\src\BookStore.Application.Contracts\BookStore.Application.Contracts.csproj", "{BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Blazor", "samples\BookStore\src\BookStore.Blazor\BookStore.Blazor.csproj", "{2A93E06E-1046-415B-81AC-D02995701EB6}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.DbMigrator", "samples\BookStore\src\BookStore.DbMigrator\BookStore.DbMigrator.csproj", "{ED293EED-7565-45DB-806B-80AB348E76EB}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Domain", "samples\BookStore\src\BookStore.Domain\BookStore.Domain.csproj", "{6280984E-3E41-4DD9-AFF4-502F99EC1ADB}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Domain.Shared", "samples\BookStore\src\BookStore.Domain.Shared\BookStore.Domain.Shared.csproj", "{68F43D62-A034-4BFE-8FAF-AE8FD337F7EA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.EntityFrameworkCore", "samples\BookStore\src\BookStore.EntityFrameworkCore\BookStore.EntityFrameworkCore.csproj", "{10ABF4AB-D8A0-46C0-8017-61455CEF2570}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi", "samples\BookStore\src\BookStore.HttpApi\BookStore.HttpApi.csproj", "{5290EAE2-F272-479D-BB76-0C059EEBA077}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi.Client", "samples\BookStore\src\BookStore.HttpApi.Client\BookStore.HttpApi.Client.csproj", "{DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi.Host", "samples\BookStore\src\BookStore.HttpApi.Host\BookStore.HttpApi.Host.csproj", "{8223814F-FD5F-4D77-8C37-6B578333ADE6}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PermissionManagement", "PermissionManagement", "{30DCF9C7-BEA3-46D8-83C4-748FF24FFB96}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lsw.Abp.PermissionManagement.Blazor.AntDesignUI", "modules\PermissionManagement\Lsw.Abp.PermissionManagement.Blazor.AntDesignUI\Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj", "{FD90132E-3B0E-4677-A7CE-8783FCC5E427}" @@ -81,8 +59,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lsw.Abp.AspnetCore.Componen EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme", "modules\AntDesignTheme\Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme\Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj", "{90DBF0A4-253D-4E75-8221-17455B404551}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.BlazorServer", "samples\BookStore\src\BookStore.BlazorServer\BookStore.BlazorServer.csproj", "{2B617147-6496-44E9-8D49-B571E7EBF2D6}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solution Items", "{75E22D62-7BE3-4166-BBD5-17B35B0AB2CA}" ProjectSection(SolutionItems) = preProject Directory.Packages.props = Directory.Packages.props @@ -101,46 +77,6 @@ Global {9EA4AA35-DEFC-4C25-8333-78137853EC5D}.Debug|Any CPU.Build.0 = Debug|Any CPU {9EA4AA35-DEFC-4C25-8333-78137853EC5D}.Release|Any CPU.ActiveCfg = Release|Any CPU {9EA4AA35-DEFC-4C25-8333-78137853EC5D}.Release|Any CPU.Build.0 = Release|Any CPU - {39E479A5-92DB-4F5B-918A-1920886D4D60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {39E479A5-92DB-4F5B-918A-1920886D4D60}.Debug|Any CPU.Build.0 = Debug|Any CPU - {39E479A5-92DB-4F5B-918A-1920886D4D60}.Release|Any CPU.ActiveCfg = Release|Any CPU - {39E479A5-92DB-4F5B-918A-1920886D4D60}.Release|Any CPU.Build.0 = Release|Any CPU - {BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640}.Release|Any CPU.Build.0 = Release|Any CPU - {2A93E06E-1046-415B-81AC-D02995701EB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2A93E06E-1046-415B-81AC-D02995701EB6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2A93E06E-1046-415B-81AC-D02995701EB6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2A93E06E-1046-415B-81AC-D02995701EB6}.Release|Any CPU.Build.0 = Release|Any CPU - {ED293EED-7565-45DB-806B-80AB348E76EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED293EED-7565-45DB-806B-80AB348E76EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED293EED-7565-45DB-806B-80AB348E76EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED293EED-7565-45DB-806B-80AB348E76EB}.Release|Any CPU.Build.0 = Release|Any CPU - {6280984E-3E41-4DD9-AFF4-502F99EC1ADB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6280984E-3E41-4DD9-AFF4-502F99EC1ADB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6280984E-3E41-4DD9-AFF4-502F99EC1ADB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6280984E-3E41-4DD9-AFF4-502F99EC1ADB}.Release|Any CPU.Build.0 = Release|Any CPU - {68F43D62-A034-4BFE-8FAF-AE8FD337F7EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {68F43D62-A034-4BFE-8FAF-AE8FD337F7EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {68F43D62-A034-4BFE-8FAF-AE8FD337F7EA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {68F43D62-A034-4BFE-8FAF-AE8FD337F7EA}.Release|Any CPU.Build.0 = Release|Any CPU - {10ABF4AB-D8A0-46C0-8017-61455CEF2570}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {10ABF4AB-D8A0-46C0-8017-61455CEF2570}.Debug|Any CPU.Build.0 = Debug|Any CPU - {10ABF4AB-D8A0-46C0-8017-61455CEF2570}.Release|Any CPU.ActiveCfg = Release|Any CPU - {10ABF4AB-D8A0-46C0-8017-61455CEF2570}.Release|Any CPU.Build.0 = Release|Any CPU - {5290EAE2-F272-479D-BB76-0C059EEBA077}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5290EAE2-F272-479D-BB76-0C059EEBA077}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5290EAE2-F272-479D-BB76-0C059EEBA077}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5290EAE2-F272-479D-BB76-0C059EEBA077}.Release|Any CPU.Build.0 = Release|Any CPU - {DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A}.Release|Any CPU.Build.0 = Release|Any CPU - {8223814F-FD5F-4D77-8C37-6B578333ADE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8223814F-FD5F-4D77-8C37-6B578333ADE6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8223814F-FD5F-4D77-8C37-6B578333ADE6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8223814F-FD5F-4D77-8C37-6B578333ADE6}.Release|Any CPU.Build.0 = Release|Any CPU {FD90132E-3B0E-4677-A7CE-8783FCC5E427}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FD90132E-3B0E-4677-A7CE-8783FCC5E427}.Debug|Any CPU.Build.0 = Debug|Any CPU {FD90132E-3B0E-4677-A7CE-8783FCC5E427}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -213,10 +149,6 @@ Global {90DBF0A4-253D-4E75-8221-17455B404551}.Debug|Any CPU.Build.0 = Debug|Any CPU {90DBF0A4-253D-4E75-8221-17455B404551}.Release|Any CPU.ActiveCfg = Release|Any CPU {90DBF0A4-253D-4E75-8221-17455B404551}.Release|Any CPU.Build.0 = Release|Any CPU - {2B617147-6496-44E9-8D49-B571E7EBF2D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2B617147-6496-44E9-8D49-B571E7EBF2D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2B617147-6496-44E9-8D49-B571E7EBF2D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2B617147-6496-44E9-8D49-B571E7EBF2D6}.Release|Any CPU.Build.0 = Release|Any CPU {9FE3143F-08A8-444F-B6B9-D4533FB57674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9FE3143F-08A8-444F-B6B9-D4533FB57674}.Debug|Any CPU.Build.0 = Debug|Any CPU {9FE3143F-08A8-444F-B6B9-D4533FB57674}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -227,17 +159,6 @@ Global EndGlobalSection GlobalSection(NestedProjects) = preSolution {9EA4AA35-DEFC-4C25-8333-78137853EC5D} = {6C9F4322-BDC7-42DA-ACBD-1AC641B907B4} - {1F85F600-70F9-4286-B8BD-6A124D9DC43D} = {E36D7268-C7A6-4A7F-81DB-57070F4B049C} - {39E479A5-92DB-4F5B-918A-1920886D4D60} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {BBBBFA7B-B24D-4ED4-9DAE-71A60EDAA640} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {2A93E06E-1046-415B-81AC-D02995701EB6} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {ED293EED-7565-45DB-806B-80AB348E76EB} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {6280984E-3E41-4DD9-AFF4-502F99EC1ADB} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {68F43D62-A034-4BFE-8FAF-AE8FD337F7EA} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {10ABF4AB-D8A0-46C0-8017-61455CEF2570} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {5290EAE2-F272-479D-BB76-0C059EEBA077} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {DD6FEF71-BAD5-498C-BEB9-5B7AB77B3E4A} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} - {8223814F-FD5F-4D77-8C37-6B578333ADE6} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} {30DCF9C7-BEA3-46D8-83C4-748FF24FFB96} = {0C432416-770F-4331-84E6-5835408A9BD8} {FD90132E-3B0E-4677-A7CE-8783FCC5E427} = {30DCF9C7-BEA3-46D8-83C4-748FF24FFB96} {8EC75594-FF27-4590-A726-B0C240EC0DC6} = {0C432416-770F-4331-84E6-5835408A9BD8} @@ -262,7 +183,6 @@ Global {BBA243C1-EEAD-42EE-ABA3-6912BE5F41D8} = {9F013513-EC16-46DF-BDEF-C9B5F0DA6C12} {2DCCFE7C-4BC5-46F8-8493-82352CE0EE71} = {9F013513-EC16-46DF-BDEF-C9B5F0DA6C12} {90DBF0A4-253D-4E75-8221-17455B404551} = {9F013513-EC16-46DF-BDEF-C9B5F0DA6C12} - {2B617147-6496-44E9-8D49-B571E7EBF2D6} = {1F85F600-70F9-4286-B8BD-6A124D9DC43D} {9FE3143F-08A8-444F-B6B9-D4533FB57674} = {9F013513-EC16-46DF-BDEF-C9B5F0DA6C12} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalScriptContributor.cs b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalScriptContributor.cs index fc85755..3cbaa71 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalScriptContributor.cs +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalScriptContributor.cs @@ -1,4 +1,7 @@ using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Volo.Abp.AspNetCore.Components.Web; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; @@ -7,7 +10,12 @@ public class BlazorGlobalScriptContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - context.Files.AddIfNotContains("/_framework/blazor.server.js"); + var options = context.ServiceProvider.GetRequiredService>().Value; + if (!options.IsBlazorWebApp) + { + context.Files.AddIfNotContains("/_framework/blazor.server.js"); + } context.Files.AddIfNotContains("/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); + context.Files.AddIfNotContains("/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/authentication-state-listener.js"); } } diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Bundling/AbpStyles.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Bundling/AbpStyles.razor index d51aa56..1d117b7 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Bundling/AbpStyles.razor +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Bundling/AbpStyles.razor @@ -71,4 +71,4 @@ } public void Dispose() => _persistingSubscription.Dispose(); -} +} \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/DynamicLayoutComponent.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/DynamicLayoutComponent.razor new file mode 100644 index 0000000..dc87328 --- /dev/null +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/DynamicLayoutComponent.razor @@ -0,0 +1,10 @@ +@using Microsoft.Extensions.Options +@inject IOptions AbpDynamicLayoutComponentOptions + +@if (AbpDynamicLayoutComponentOptions.Value.Components.Any()) +{ + foreach (var (componentType, parameters) in AbpDynamicLayoutComponentOptions.Value.Components) + { + + } +} \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor new file mode 100644 index 0000000..1994e8c --- /dev/null +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor @@ -0,0 +1,7 @@ +@if (LayoutHookViewModel.Hooks.Any()) +{ + foreach (var hook in LayoutHookViewModel.Hooks) + { + + } +} \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor.cs b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor.cs new file mode 100644 index 0000000..9789ede --- /dev/null +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Components/LayoutHook.razor.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; +using Volo.Abp.Ui.LayoutHooks; + +namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Components; + +public partial class LayoutHook : ComponentBase +{ + [Parameter] + public string Name { get; set; } = default!; + + [Parameter] + public string? Layout { get; set; } + + [Inject] + protected IOptions LayoutHookOptions { get; set; } = default!; + + protected LayoutHookViewModel LayoutHookViewModel { get; private set; } = default!; + + protected override Task OnInitializedAsync() + { + if (LayoutHookOptions.Value.Hooks.TryGetValue(Name, out var layoutHooks)) + { + layoutHooks = layoutHooks + .Where(x => IsComponentBase(x) && (string.IsNullOrWhiteSpace(x.Layout) || x.Layout == Layout)) + .ToList(); + } + + layoutHooks ??= new List(); + + LayoutHookViewModel = new LayoutHookViewModel(layoutHooks.ToArray(), Layout); + + return Task.CompletedTask; + } + + protected virtual bool IsComponentBase(LayoutHookInfo layoutHook) + { + return typeof(ComponentBase).IsAssignableFrom(layoutHook.ComponentType); + } +} \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs index 3070eaf..31e0d57 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs @@ -1,5 +1,6 @@ using System.Collections.ObjectModel; using System.ComponentModel; +using System.Runtime.CompilerServices; using Lsw.Abp.AntDesignUI; using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; using Volo.Abp.DependencyInjection; @@ -8,22 +9,44 @@ namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout; public class PageLayout : IScopedDependency, INotifyPropertyChanged { - private string _title; + private string? title; // TODO: Consider using this property for setting Page Title too. - public virtual string Title - { - get => _title; + public virtual string? Title { + get => title; + set { + title = value; + OnPropertyChanged(); + } + } + + private string? menuItemName; + + public string? MenuItemName { + get => menuItemName; set { - _title = value; - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Title))); + menuItemName = value; + OnPropertyChanged(); } } - public virtual ObservableCollection BreadcrumbItems { get; set; } = new(); + public virtual ObservableCollection BreadcrumbItems { get; } = new(); - public virtual ObservableCollection ToolbarItems { get; set; } = new(); + public virtual ObservableCollection ToolbarItems { get; } = new(); - public event PropertyChangedEventHandler PropertyChanged; -} + public event PropertyChangedEventHandler? PropertyChanged; + + protected void OnPropertyChanged([CallerMemberName] string? propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + public void Reset() + { + Title = string.Empty; + MenuItemName = string.Empty; + BreadcrumbItems.Clear(); + ToolbarItems.Clear(); + } +} \ No newline at end of file diff --git a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor index 17ea651..bd133d7 100644 --- a/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor +++ b/modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/DefaultLayout.razor @@ -1,6 +1,7 @@ @inherits LayoutComponentBase @using Microsoft.Extensions.Options @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Components @inject IOptions Options @@ -19,6 +20,7 @@
@Body
+
@@ -66,6 +68,7 @@ else } +
diff --git a/samples/.DS_Store b/samples/.DS_Store deleted file mode 100644 index 7dc0e69a62aadac1c51111d90ae61ac50b351a72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK-EPw`6h2-Hb2lM+F(ky5rQKH0@V8C7386#U?J_YWK&4rtEm|5!ZAveyN_hZy z6&`>G;0e$!c@;RvK9yE=sK5nO$VWQ`JVU?#-55py zw-*_30trOevw-3-n`3`P#*1HPN8@3^V}Fi{EFG5Z_N7>>)oydbr#LyUi30e#@*)DbDfvHG*1SGkj4pid2^EHu^tC{l*dEE4Q)a;WTV@> zH<@@(cXnIK^Y*4KHSr$pJ#4AnCy%GohP<==VE?Flk@a)^!RP=2_dR2`7-#SigC#0u zXI^-!`^Aj1oYB{v4l5(upI+6zZGWLJvt*pUj{ksFod53Z-iL!c)AMg~_n1^%i6KLGC(na%(J diff --git a/samples/BookStore/.prettierrc b/samples/BookStore/.prettierrc deleted file mode 100644 index 56af76b..0000000 --- a/samples/BookStore/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "useTabs": false, - "tabWidth": 4 -} diff --git a/samples/BookStore/common.props b/samples/BookStore/common.props deleted file mode 100644 index 77de976..0000000 --- a/samples/BookStore/common.props +++ /dev/null @@ -1,16 +0,0 @@ - - - latest - 1.0.0 - $(NoWarn);CS1591 - app - - - - - - $(NoWarn);0436 - - - - \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj b/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj deleted file mode 100644 index f20b7cb..0000000 --- a/samples/BookStore/src/BookStore.Blazor/BookStore.Blazor.csproj +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - net9.0 - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStore/src/BookStore.Blazor/BookStoreBlazorModule.cs b/samples/BookStore/src/BookStore.Blazor/BookStoreBlazorModule.cs deleted file mode 100644 index 2618ac3..0000000 --- a/samples/BookStore/src/BookStore.Blazor/BookStoreBlazorModule.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Net.Http; -using IdentityModel; -using Microsoft.AspNetCore.Components.WebAssembly.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using BookStore.Blazor.Menus; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme; -using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; -using Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI; -using Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI; -using Volo.Abp.Autofac.WebAssembly; -using Volo.Abp.AutoMapper; -using Volo.Abp.Modularity; -using Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI; -using Volo.Abp.UI.Navigation; - -namespace BookStore.Blazor; - -[DependsOn( - typeof(AbpAutofacWebAssemblyModule), - typeof(BookStoreHttpApiClientModule), - typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), - typeof(AbpAutoMapperModule), - typeof(AbpIdentityBlazorWebAssemblyAntDesignModule), - typeof(AbpTenantManagementBlazorWebAssemblyAntDesignModule), - typeof(AbpSettingManagementBlazorWebAssemblyAntDesignModule) -)] -public class BookStoreBlazorModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - var environment = context.Services.GetSingletonInstance(); - var builder = context.Services.GetSingletonInstance(); - - ConfigureAuthentication(builder); - ConfigureHttpClient(context, environment); - ConfigureRouter(context); - ConfigureUI(builder); - ConfigureMenu(context); - ConfigureAutoMapper(context); - } - - private void ConfigureRouter(ServiceConfigurationContext context) - { - Configure(options => { options.AppAssembly = typeof(BookStoreBlazorModule).Assembly; }); - } - - private void ConfigureMenu(ServiceConfigurationContext context) - { - Configure(options => - { - options.MenuContributors.Add(new BookStoreMenuContributor(context.Services.GetConfiguration())); - }); - } - - private static void ConfigureAuthentication(WebAssemblyHostBuilder builder) - { - builder.Services.AddOidcAuthentication(options => - { - builder.Configuration.Bind("AuthServer", options.ProviderOptions); - options.UserOptions.RoleClaim = JwtClaimTypes.Role; - options.ProviderOptions.DefaultScopes.Add("BookStore"); - options.ProviderOptions.DefaultScopes.Add("role"); - options.ProviderOptions.DefaultScopes.Add("email"); - options.ProviderOptions.DefaultScopes.Add("phone"); - }); - } - - private static void ConfigureUI(WebAssemblyHostBuilder builder) - { - builder.RootComponents.Add("#ApplicationContainer"); - } - - private static void ConfigureHttpClient(ServiceConfigurationContext context, - IWebAssemblyHostEnvironment environment) - { - context.Services.AddTransient(sp => new HttpClient - { - BaseAddress = new Uri(environment.BaseAddress) - }); - } - - private void ConfigureAutoMapper(ServiceConfigurationContext context) - { - Configure(options => { options.AddMaps(); }); - } -} diff --git a/samples/BookStore/src/BookStore.Blazor/BookStoreBrandingProvider.cs b/samples/BookStore/src/BookStore.Blazor/BookStoreBrandingProvider.cs deleted file mode 100644 index d787fdf..0000000 --- a/samples/BookStore/src/BookStore.Blazor/BookStoreBrandingProvider.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace BookStore.Blazor; - -[Dependency(ReplaceServices = true)] -public class BookStoreBrandingProvider : DefaultBrandingProvider -{ - public override string AppName => "BookStore"; - - public override string LogoUrl => "logo.svg"; - - // public override string LogoReverseUrl => "logo.svg"; -} diff --git a/samples/BookStore/src/BookStore.Blazor/BookStoreBundleContributor.cs b/samples/BookStore/src/BookStore.Blazor/BookStoreBundleContributor.cs deleted file mode 100644 index eb6054c..0000000 --- a/samples/BookStore/src/BookStore.Blazor/BookStoreBundleContributor.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Volo.Abp.Bundling; - -namespace BookStore.Blazor; - -/* Add your global styles/scripts here. - * See https://docs.abp.io/en/abp/latest/UI/Blazor/Global-Scripts-Styles to learn how to use it - */ -public class BookStoreBundleContributor : IBundleContributor -{ - public void AddScripts(BundleContext context) - { - - } - - public void AddStyles(BundleContext context) - { - context.Add("main.css", true); - } -} diff --git a/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenuContributor.cs b/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenuContributor.cs deleted file mode 100644 index e729800..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenuContributor.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using BookStore.Localization; -using Volo.Abp.Account.Localization; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.UI.Navigation; -using Volo.Abp.Users; - -namespace BookStore.Blazor.Menus; - -public class BookStoreMenuContributor : IMenuContributor -{ - private readonly IConfiguration _configuration; - - public BookStoreMenuContributor(IConfiguration configuration) - { - _configuration = configuration; - } - - public async Task ConfigureMenuAsync(MenuConfigurationContext context) - { - if (context.Menu.Name == StandardMenus.Main) - { - await ConfigureMainMenuAsync(context); - } - else if (context.Menu.Name == StandardMenus.User) - { - await ConfigureUserMenuAsync(context); - } - } - - private Task ConfigureMainMenuAsync(MenuConfigurationContext context) - { - var l = context.GetLocalizer(); - - context.Menu.Items.Insert( - 0, - new ApplicationMenuItem( - BookStoreMenus.Home, - l["Menu:Home"], - "/", - icon: "home" - ) - ); - - return Task.CompletedTask; - } - - private Task ConfigureUserMenuAsync(MenuConfigurationContext context) - { - var accountStringLocalizer = context.GetLocalizer(); - - var identityServerUrl = _configuration["AuthServer:Authority"] ?? ""; - - context.Menu.AddItem(new ApplicationMenuItem( - "Account.Manage", - accountStringLocalizer["MyAccount"], - $"{identityServerUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}", - icon: "fa fa-cog", - order: 1000, - null).RequireAuthenticated()); - - return Task.CompletedTask; - } -} diff --git a/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenus.cs b/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenus.cs deleted file mode 100644 index 3b31f55..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenus.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace BookStore.Blazor.Menus; - -public class BookStoreMenus -{ - private const string Prefix = "BookStore"; - public const string Home = Prefix + ".Home"; - - //Add your menu items here... - -} diff --git a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor b/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor deleted file mode 100644 index b4e1741..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor +++ /dev/null @@ -1,27 +0,0 @@ -@page "/" -@using Volo.Abp.MultiTenancy -@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings -@inherits BookStoreComponentBase -@* @inject ICurrentTenant CurrentTenant *@ -@inject AuthenticationStateProvider AuthenticationStateProvider - -
-
- - - - - -

@L["LongWelcomeMessage"]

- - @if (!CurrentUser.IsAuthenticated) - { - - @L["Login"] - - } -
-
diff --git a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.cs b/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.cs deleted file mode 100644 index 204adbe..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Threading.Tasks; -using AntDesign; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; -using Microsoft.AspNetCore.Components; -using Microsoft.Extensions.Options; - -namespace BookStore.Blazor.Pages; - -public partial class Index -{ - -} diff --git a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.css b/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.css deleted file mode 100644 index b154964..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.css +++ /dev/null @@ -1 +0,0 @@ -/* Write here your styles for the Index page */ \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Blazor/Properties/launchSettings.json b/samples/BookStore/src/BookStore.Blazor/Properties/launchSettings.json deleted file mode 100644 index ea8bd76..0000000 --- a/samples/BookStore/src/BookStore.Blazor/Properties/launchSettings.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "https://localhost:44307", - "sslPort": 44307 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "BookStore.Blazor": { - "commandName": "Project", - "launchBrowser": true, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", - "applicationUrl": "https://localhost:44307", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/samples/BookStore/src/BookStore.Blazor/_Imports.razor b/samples/BookStore/src/BookStore.Blazor/_Imports.razor deleted file mode 100644 index 95438aa..0000000 --- a/samples/BookStore/src/BookStore.Blazor/_Imports.razor +++ /dev/null @@ -1,13 +0,0 @@ -@using System.Net.Http -@using Microsoft.AspNetCore.Authorization -@using Microsoft.AspNetCore.Components.Authorization -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Components.Routing -@using Microsoft.AspNetCore.Components.Web -@using Microsoft.AspNetCore.Components.WebAssembly.Http -@using Microsoft.JSInterop -@using Volo.Abp.AspNetCore.Components.Web -@using BookStore.Blazor -@using AntDesign -@using Lsw.Abp.AntDesignUI -@using Lsw.Abp.AntDesignUI.Components diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.json b/samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.json deleted file mode 100644 index 9254106..0000000 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "App": { - "SelfUrl": "https://localhost:44307" - }, - "AuthServer": { - "Authority": "https://localhost:44306", - "ClientId": "BookStore_Blazor", - "ResponseType": "code" - }, - "RemoteServices": { - "Default": { - "BaseUrl": "https://localhost:44306" - } - }, - "AbpCli": { - "Bundle": { - "Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */ - "Name": "global", - "Parameters": { - - } - } - } -} diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/favicon.ico b/samples/BookStore/src/BookStore.Blazor/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 * { - line-height: 1; -} -.anticon svg { - display: inline-block; -} -.anticon::before { - display: none; -} -.anticon .anticon-icon { - display: block; -} -.anticon > .anticon { - line-height: 0; - vertical-align: 0; -} -.anticon[tabindex] { - cursor: pointer; -} -.anticon-spin, -.anticon-spin::before { - display: inline-block; - animation: loadingCircle 1s infinite linear; -} -.ant-fade-enter, -.ant-fade-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-fade-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-fade-enter.ant-fade-enter-active, -.ant-fade-appear.ant-fade-appear-active { - animation-name: antFadeIn; - animation-play-state: running; -} -.ant-fade-leave.ant-fade-leave-active { - animation-name: antFadeOut; - animation-play-state: running; - pointer-events: none; -} -.ant-fade-enter, -.ant-fade-appear { - opacity: 0; - animation-timing-function: linear; -} -.ant-fade-leave { - animation-timing-function: linear; -} -@keyframes antFadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes antFadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -.ant-move-up-enter, -.ant-move-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-up-enter.ant-move-up-enter-active, -.ant-move-up-appear.ant-move-up-appear-active { - animation-name: antMoveUpIn; - animation-play-state: running; -} -.ant-move-up-leave.ant-move-up-leave-active { - animation-name: antMoveUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-up-enter, -.ant-move-up-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-up-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-down-enter, -.ant-move-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-down-enter.ant-move-down-enter-active, -.ant-move-down-appear.ant-move-down-appear-active { - animation-name: antMoveDownIn; - animation-play-state: running; -} -.ant-move-down-leave.ant-move-down-leave-active { - animation-name: antMoveDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-down-enter, -.ant-move-down-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-down-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-left-enter, -.ant-move-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-left-enter.ant-move-left-enter-active, -.ant-move-left-appear.ant-move-left-appear-active { - animation-name: antMoveLeftIn; - animation-play-state: running; -} -.ant-move-left-leave.ant-move-left-leave-active { - animation-name: antMoveLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-left-enter, -.ant-move-left-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-left-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-right-enter, -.ant-move-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-right-enter.ant-move-right-enter-active, -.ant-move-right-appear.ant-move-right-appear-active { - animation-name: antMoveRightIn; - animation-play-state: running; -} -.ant-move-right-leave.ant-move-right-leave-active { - animation-name: antMoveRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-right-enter, -.ant-move-right-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-right-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -@keyframes antMoveDownIn { - 0% { - transform: translateY(100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveDownOut { - 0% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateY(100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveLeftIn { - 0% { - transform: translateX(-100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveLeftOut { - 0% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateX(-100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveRightIn { - 0% { - transform: translateX(100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveRightOut { - 0% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateX(100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveUpIn { - 0% { - transform: translateY(-100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveUpOut { - 0% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateY(-100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes loadingCircle { - 100% { - transform: rotate(360deg); - } -} -[ant-click-animating='true'], -[ant-click-animating-without-extra-node='true'] { - position: relative; -} -html { - --antd-wave-shadow-color: #1890ff; - --scroll-bar: 0; -} -[ant-click-animating-without-extra-node='true']::after, -.ant-click-animating-node { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - border-radius: inherit; - box-shadow: 0 0 0 0 #1890ff; - box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); - opacity: 0.2; - animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1); - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -@keyframes waveEffect { - 100% { - box-shadow: 0 0 0 #1890ff; - box-shadow: 0 0 0 6px var(--antd-wave-shadow-color); - } -} -@keyframes fadeEffect { - 100% { - opacity: 0; - } -} -.ant-slide-up-enter, -.ant-slide-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-up-enter.ant-slide-up-enter-active, -.ant-slide-up-appear.ant-slide-up-appear-active { - animation-name: antSlideUpIn; - animation-play-state: running; -} -.ant-slide-up-leave.ant-slide-up-leave-active { - animation-name: antSlideUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-up-enter, -.ant-slide-up-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-up-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-down-enter, -.ant-slide-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-down-enter.ant-slide-down-enter-active, -.ant-slide-down-appear.ant-slide-down-appear-active { - animation-name: antSlideDownIn; - animation-play-state: running; -} -.ant-slide-down-leave.ant-slide-down-leave-active { - animation-name: antSlideDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-down-enter, -.ant-slide-down-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-down-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-left-enter, -.ant-slide-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-left-enter.ant-slide-left-enter-active, -.ant-slide-left-appear.ant-slide-left-appear-active { - animation-name: antSlideLeftIn; - animation-play-state: running; -} -.ant-slide-left-leave.ant-slide-left-leave-active { - animation-name: antSlideLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-left-enter, -.ant-slide-left-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-left-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-right-enter, -.ant-slide-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-right-enter.ant-slide-right-enter-active, -.ant-slide-right-appear.ant-slide-right-appear-active { - animation-name: antSlideRightIn; - animation-play-state: running; -} -.ant-slide-right-leave.ant-slide-right-leave-active { - animation-name: antSlideRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-right-enter, -.ant-slide-right-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-right-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -@keyframes antSlideUpIn { - 0% { - transform: scaleY(0.8); - transform-origin: 0% 0%; - opacity: 0; - } - 100% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } -} -@keyframes antSlideUpOut { - 0% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } - 100% { - transform: scaleY(0.8); - transform-origin: 0% 0%; - opacity: 0; - } -} -@keyframes antSlideDownIn { - 0% { - transform: scaleY(0.8); - transform-origin: 100% 100%; - opacity: 0; - } - 100% { - transform: scaleY(1); - transform-origin: 100% 100%; - opacity: 1; - } -} -@keyframes antSlideDownOut { - 0% { - transform: scaleY(1); - transform-origin: 100% 100%; - opacity: 1; - } - 100% { - transform: scaleY(0.8); - transform-origin: 100% 100%; - opacity: 0; - } -} -@keyframes antSlideLeftIn { - 0% { - transform: scaleX(0.8); - transform-origin: 0% 0%; - opacity: 0; - } - 100% { - transform: scaleX(1); - transform-origin: 0% 0%; - opacity: 1; - } -} -@keyframes antSlideLeftOut { - 0% { - transform: scaleX(1); - transform-origin: 0% 0%; - opacity: 1; - } - 100% { - transform: scaleX(0.8); - transform-origin: 0% 0%; - opacity: 0; - } -} -@keyframes antSlideRightIn { - 0% { - transform: scaleX(0.8); - transform-origin: 100% 0%; - opacity: 0; - } - 100% { - transform: scaleX(1); - transform-origin: 100% 0%; - opacity: 1; - } -} -@keyframes antSlideRightOut { - 0% { - transform: scaleX(1); - transform-origin: 100% 0%; - opacity: 1; - } - 100% { - transform: scaleX(0.8); - transform-origin: 100% 0%; - opacity: 0; - } -} -.ant-zoom-enter, -.ant-zoom-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-enter.ant-zoom-enter-active, -.ant-zoom-appear.ant-zoom-appear-active { - animation-name: antZoomIn; - animation-play-state: running; -} -.ant-zoom-leave.ant-zoom-leave-active { - animation-name: antZoomOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-enter, -.ant-zoom-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-enter-prepare, -.ant-zoom-appear-prepare { - transform: none; -} -.ant-zoom-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-big-enter, -.ant-zoom-big-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-enter.ant-zoom-big-enter-active, -.ant-zoom-big-appear.ant-zoom-big-appear-active { - animation-name: antZoomBigIn; - animation-play-state: running; -} -.ant-zoom-big-leave.ant-zoom-big-leave-active { - animation-name: antZoomBigOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-big-enter, -.ant-zoom-big-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-big-enter-prepare, -.ant-zoom-big-appear-prepare { - transform: none; -} -.ant-zoom-big-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-big-fast-enter, -.ant-zoom-big-fast-appear { - animation-duration: 0.1s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-fast-leave { - animation-duration: 0.1s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active, -.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active { - animation-name: antZoomBigIn; - animation-play-state: running; -} -.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active { - animation-name: antZoomBigOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-big-fast-enter, -.ant-zoom-big-fast-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-big-fast-enter-prepare, -.ant-zoom-big-fast-appear-prepare { - transform: none; -} -.ant-zoom-big-fast-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-up-enter, -.ant-zoom-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-up-enter.ant-zoom-up-enter-active, -.ant-zoom-up-appear.ant-zoom-up-appear-active { - animation-name: antZoomUpIn; - animation-play-state: running; -} -.ant-zoom-up-leave.ant-zoom-up-leave-active { - animation-name: antZoomUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-up-enter, -.ant-zoom-up-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-up-enter-prepare, -.ant-zoom-up-appear-prepare { - transform: none; -} -.ant-zoom-up-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-down-enter, -.ant-zoom-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-down-enter.ant-zoom-down-enter-active, -.ant-zoom-down-appear.ant-zoom-down-appear-active { - animation-name: antZoomDownIn; - animation-play-state: running; -} -.ant-zoom-down-leave.ant-zoom-down-leave-active { - animation-name: antZoomDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-down-enter, -.ant-zoom-down-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-down-enter-prepare, -.ant-zoom-down-appear-prepare { - transform: none; -} -.ant-zoom-down-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-left-enter, -.ant-zoom-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-left-enter.ant-zoom-left-enter-active, -.ant-zoom-left-appear.ant-zoom-left-appear-active { - animation-name: antZoomLeftIn; - animation-play-state: running; -} -.ant-zoom-left-leave.ant-zoom-left-leave-active { - animation-name: antZoomLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-left-enter, -.ant-zoom-left-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-left-enter-prepare, -.ant-zoom-left-appear-prepare { - transform: none; -} -.ant-zoom-left-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-right-enter, -.ant-zoom-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-right-enter.ant-zoom-right-enter-active, -.ant-zoom-right-appear.ant-zoom-right-appear-active { - animation-name: antZoomRightIn; - animation-play-state: running; -} -.ant-zoom-right-leave.ant-zoom-right-leave-active { - animation-name: antZoomRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-right-enter, -.ant-zoom-right-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-right-enter-prepare, -.ant-zoom-right-appear-prepare { - transform: none; -} -.ant-zoom-right-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -@keyframes antZoomIn { - 0% { - transform: scale(0.2); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes antZoomOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0.2); - opacity: 0; - } -} -@keyframes antZoomBigIn { - 0% { - transform: scale(0.8); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes antZoomBigOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0.8); - opacity: 0; - } -} -@keyframes antZoomUpIn { - 0% { - transform: scale(0.8); - transform-origin: 50% 0%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 50% 0%; - } -} -@keyframes antZoomUpOut { - 0% { - transform: scale(1); - transform-origin: 50% 0%; - } - 100% { - transform: scale(0.8); - transform-origin: 50% 0%; - opacity: 0; - } -} -@keyframes antZoomLeftIn { - 0% { - transform: scale(0.8); - transform-origin: 0% 50%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 0% 50%; - } -} -@keyframes antZoomLeftOut { - 0% { - transform: scale(1); - transform-origin: 0% 50%; - } - 100% { - transform: scale(0.8); - transform-origin: 0% 50%; - opacity: 0; - } -} -@keyframes antZoomRightIn { - 0% { - transform: scale(0.8); - transform-origin: 100% 50%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 100% 50%; - } -} -@keyframes antZoomRightOut { - 0% { - transform: scale(1); - transform-origin: 100% 50%; - } - 100% { - transform: scale(0.8); - transform-origin: 100% 50%; - opacity: 0; - } -} -@keyframes antZoomDownIn { - 0% { - transform: scale(0.8); - transform-origin: 50% 100%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 50% 100%; - } -} -@keyframes antZoomDownOut { - 0% { - transform: scale(1); - transform-origin: 50% 100%; - } - 100% { - transform: scale(0.8); - transform-origin: 50% 100%; - opacity: 0; - } -} -.ant-motion-collapse-legacy { - overflow: hidden; -} -.ant-motion-collapse-legacy-active { - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-motion-collapse { - overflow: hidden; - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ -/* stylelint-disable no-duplicate-selectors */ -/* stylelint-disable */ -/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ -.antblaozr-animate-disabled.ant-scroll-number-only { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-drawer > * { - transition: none; -} -.antblaozr-animate-disabled .ant-modal-mask, -.antblaozr-animate-disabled .ant-modal { - animation: none; - transition: none; -} -.antblaozr-animate-disabled .ant-modal-mask.zoom-enter, -.antblaozr-animate-disabled .ant-modal.zoom-enter, -.antblaozr-animate-disabled .ant-modal-mask.zoom-leave, -.antblaozr-animate-disabled .ant-modal.zoom-leave, -.antblaozr-animate-disabled .ant-modal-mask.zoom-enter-active, -.antblaozr-animate-disabled .ant-modal.zoom-enter-active, -.antblaozr-animate-disabled .ant-modal-mask.zoom-leave-active, -.antblaozr-animate-disabled .ant-modal.zoom-leave-active { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-menu { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item .anticon, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title .anticon { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item .anticon + span, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title .anticon + span { - transition: none; -} -.antblaozr-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-bottom-content > .ant-tabs-tabpane, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated { - transition: none; -} -.antblaozr-animate-disabled.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transition: none; -} -.anticon svg { - vertical-align: unset; -} -.ant-affix { - position: fixed; - z-index: 10; -} -.ant-alert { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: flex; - align-items: center; - padding: 8px 15px; - word-wrap: break-word; - border-radius: 2px; -} -.ant-alert-content { - flex: 1; - min-width: 0; -} -.ant-alert-icon { - margin-right: 8px; -} -.ant-alert-description { - display: none; - font-size: 14px; - line-height: 22px; -} -.ant-alert-success { - background-color: #f6ffed; - border: 1px solid #b7eb8f; -} -.ant-alert-success .ant-alert-icon { - color: #52c41a; -} -.ant-alert-info { - background-color: #e6f7ff; - border: 1px solid #91d5ff; -} -.ant-alert-info .ant-alert-icon { - color: #1890ff; -} -.ant-alert-warning { - background-color: #fffbe6; - border: 1px solid #ffe58f; -} -.ant-alert-warning .ant-alert-icon { - color: #faad14; -} -.ant-alert-error { - background-color: #fff2f0; - border: 1px solid #ffccc7; -} -.ant-alert-error .ant-alert-icon { - color: #ff4d4f; -} -.ant-alert-error .ant-alert-description > pre { - margin: 0; - padding: 0; -} -.ant-alert-action { - margin-left: 8px; -} -.ant-alert-close-icon { - margin-left: 8px; - padding: 0; - overflow: hidden; - font-size: 12px; - line-height: 12px; - background-color: transparent; - border: none; - outline: none; - cursor: pointer; -} -.ant-alert-close-icon .anticon-close { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-alert-close-icon .anticon-close:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-alert-close-text { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-alert-close-text:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-alert-with-description { - align-items: flex-start; - padding: 15px 15px 15px 24px; -} -.ant-alert-with-description.ant-alert-no-icon { - padding: 15px 15px; -} -.ant-alert-with-description .ant-alert-icon { - margin-right: 15px; - font-size: 24px; -} -.ant-alert-with-description .ant-alert-message { - display: block; - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; -} -.ant-alert-message { - color: rgba(0, 0, 0, 0.85); -} -.ant-alert-with-description .ant-alert-description { - display: block; -} -.ant-alert.ant-alert-motion-leave { - overflow: hidden; - opacity: 1; - transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-alert.ant-alert-motion-leave-active { - max-height: 0; - margin-bottom: 0 !important; - padding-top: 0; - padding-bottom: 0; - opacity: 0; -} -.ant-alert-banner { - margin-bottom: 0; - border: 0; - border-radius: 0; -} -.ant-alert.ant-alert-rtl { - direction: rtl; -} -.ant-alert-rtl .ant-alert-icon { - margin-right: auto; - margin-left: 8px; -} -.ant-alert-rtl .ant-alert-action { - margin-right: 8px; - margin-left: auto; -} -.ant-alert-rtl .ant-alert-close-icon { - margin-right: 8px; - margin-left: auto; -} -.ant-alert-rtl.ant-alert-with-description { - padding-right: 24px; - padding-left: 15px; -} -.ant-alert-rtl.ant-alert-with-description .ant-alert-icon { - margin-right: auto; - margin-left: 15px; -} -.ant-anchor { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - padding-left: 2px; -} -.ant-anchor-wrapper { - margin-left: -4px; - padding-left: 4px; - overflow: auto; - background-color: transparent; -} -.ant-anchor-ink { - position: absolute; - top: 0; - left: 0; - height: 100%; -} -.ant-anchor-ink::before { - position: relative; - display: block; - width: 2px; - height: 100%; - margin: 0 auto; - background-color: #f0f0f0; - content: ' '; -} -.ant-anchor-ink-ball { - position: absolute; - left: 50%; - display: none; - width: 8px; - height: 8px; - background-color: #fff; - border: 2px solid #1890ff; - border-radius: 8px; - transform: translateX(-50%); - transition: top 0.3s ease-in-out; -} -.ant-anchor-ink-ball.ant-anchor-ink-ball-visible { - display: inline-block; -} -.ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink-ball { - display: none; -} -.ant-anchor-link { - padding: 4px 0 4px 16px; -} -.ant-anchor-link-title { - position: relative; - display: block; - margin-bottom: 3px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - white-space: nowrap; - text-overflow: ellipsis; - transition: all 0.3s; -} -.ant-anchor-link-title:only-child { - margin-bottom: 0; -} -.ant-anchor-link-active > .ant-anchor-link-title { - color: #1890ff; -} -.ant-anchor-link .ant-anchor-link { - padding-top: 2px; - padding-bottom: 2px; -} -.ant-anchor-rtl { - direction: rtl; -} -.ant-anchor-rtl.ant-anchor-wrapper { - margin-right: -4px; - margin-left: 0; - padding-right: 4px; - padding-left: 0; -} -.ant-anchor-rtl .ant-anchor-ink { - right: 0; - left: auto; -} -.ant-anchor-rtl .ant-anchor-ink-ball { - right: 50%; - left: 0; - transform: translateX(50%); -} -.ant-anchor-rtl .ant-anchor-link { - padding: 4px 16px 4px 0; -} -.ant-avatar { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - overflow: hidden; - color: #fff; - white-space: nowrap; - text-align: center; - vertical-align: middle; - background: #ccc; - width: 32px; - height: 32px; - line-height: 32px; - border-radius: 50%; -} -.ant-avatar-image { - background: transparent; -} -.ant-avatar .ant-image-img { - display: block; -} -.ant-avatar-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar.ant-avatar-icon { - font-size: 18px; -} -.ant-avatar.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; - border-radius: 50%; -} -.ant-avatar-lg-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar-lg.ant-avatar-icon { - font-size: 24px; -} -.ant-avatar-lg.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; - border-radius: 50%; -} -.ant-avatar-sm-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar-sm.ant-avatar-icon { - font-size: 14px; -} -.ant-avatar-sm.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-square { - border-radius: 2px; -} -.ant-avatar > img { - display: block; - width: 100%; - height: 100%; - object-fit: cover; -} -.ant-avatar-group { - display: inline-flex; -} -.ant-avatar-group .ant-avatar { - border: 1px solid #fff; -} -.ant-avatar-group .ant-avatar:not(:first-child) { - margin-left: -8px; -} -.ant-avatar-group-popover .ant-avatar + .ant-avatar { - margin-left: 3px; -} -.ant-avatar-group-rtl .ant-avatar:not(:first-child) { - margin-right: -8px; - margin-left: 0; -} -.ant-avatar-group-popover.ant-popover-rtl .ant-avatar + .ant-avatar { - margin-right: 3px; - margin-left: 0; -} -.ant-back-top { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - right: 100px; - bottom: 50px; - z-index: 10; - width: 40px; - height: 40px; - cursor: pointer; -} -.ant-back-top:empty { - display: none; -} -.ant-back-top-rtl { - right: auto; - left: 100px; - direction: rtl; -} -.ant-back-top-content { - width: 40px; - height: 40px; - overflow: hidden; - color: #fff; - text-align: center; - background-color: rgba(0, 0, 0, 0.45); - border-radius: 20px; - transition: all 0.3s; -} -.ant-back-top-content:hover { - background-color: rgba(0, 0, 0, 0.85); - transition: all 0.3s; -} -.ant-back-top-icon { - font-size: 24px; - line-height: 40px; -} -@media screen and (max-width: 768px) { - .ant-back-top { - right: 60px; - } - .ant-back-top-rtl { - right: auto; - left: 60px; - } -} -@media screen and (max-width: 480px) { - .ant-back-top { - right: 20px; - } - .ant-back-top-rtl { - right: auto; - left: 20px; - } -} -.ant-badge { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - line-height: 1; -} -.ant-badge-count { - z-index: auto; - min-width: 20px; - height: 20px; - padding: 0 6px; - color: #fff; - font-weight: normal; - font-size: 12px; - line-height: 20px; - white-space: nowrap; - text-align: center; - background: #ff4d4f; - border-radius: 10px; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-count a, -.ant-badge-count a:hover { - color: #fff; -} -.ant-badge-count-sm { - min-width: 14px; - height: 14px; - padding: 0; - font-size: 12px; - line-height: 14px; - border-radius: 7px; -} -.ant-badge-multiple-words { - padding: 0 8px; -} -.ant-badge-dot { - z-index: auto; - width: 6px; - min-width: 6px; - height: 6px; - background: #ff4d4f; - border-radius: 100%; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-dot.ant-scroll-number { - transition: background 1.5s; -} -.ant-badge-count, -.ant-badge-dot, -.ant-badge .ant-scroll-number-custom-component { - position: absolute; - top: 0; - right: 0; - transform: translate(50%, -50%); - transform-origin: 100% 0%; -} -.ant-badge-count.anticon-spin, -.ant-badge-dot.anticon-spin, -.ant-badge .ant-scroll-number-custom-component.anticon-spin { - animation: antBadgeLoadingCircle 1s infinite linear; -} -.ant-badge-status { - line-height: inherit; - vertical-align: baseline; -} -.ant-badge-status-dot { - position: relative; - top: -1px; - display: inline-block; - width: 6px; - height: 6px; - vertical-align: middle; - border-radius: 50%; -} -.ant-badge-status-success { - background-color: #52c41a; -} -.ant-badge-status-processing { - position: relative; - background-color: #1890ff; -} -.ant-badge-status-processing::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 50%; - animation: antStatusProcessing 1.2s infinite ease-in-out; - content: ''; -} -.ant-badge-status-default { - background-color: #d9d9d9; -} -.ant-badge-status-error { - background-color: #ff4d4f; -} -.ant-badge-status-warning { - background-color: #faad14; -} -.ant-badge-status-pink { - background: #eb2f96; -} -.ant-badge-status-magenta { - background: #eb2f96; -} -.ant-badge-status-red { - background: #f5222d; -} -.ant-badge-status-volcano { - background: #fa541c; -} -.ant-badge-status-orange { - background: #fa8c16; -} -.ant-badge-status-yellow { - background: #fadb14; -} -.ant-badge-status-gold { - background: #faad14; -} -.ant-badge-status-cyan { - background: #13c2c2; -} -.ant-badge-status-lime { - background: #a0d911; -} -.ant-badge-status-green { - background: #52c41a; -} -.ant-badge-status-blue { - background: #1890ff; -} -.ant-badge-status-geekblue { - background: #2f54eb; -} -.ant-badge-status-purple { - background: #722ed1; -} -.ant-badge-status-text { - margin-left: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-badge-zoom-appear, -.ant-badge-zoom-enter { - animation: antZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); - animation-fill-mode: both; -} -.ant-badge-zoom-leave { - animation: antZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6); - animation-fill-mode: both; -} -.ant-badge-not-a-wrapper .ant-badge-zoom-appear, -.ant-badge-not-a-wrapper .ant-badge-zoom-enter { - animation: antNoWrapperZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); -} -.ant-badge-not-a-wrapper .ant-badge-zoom-leave { - animation: antNoWrapperZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6); -} -.ant-badge-not-a-wrapper:not(.ant-badge-status) { - vertical-align: middle; -} -.ant-badge-not-a-wrapper .ant-scroll-number-custom-component, -.ant-badge-not-a-wrapper .ant-badge-count { - transform: none; -} -.ant-badge-not-a-wrapper .ant-scroll-number-custom-component, -.ant-badge-not-a-wrapper .ant-scroll-number { - position: relative; - top: auto; - display: block; - transform-origin: 50% 50%; -} -@keyframes antStatusProcessing { - 0% { - transform: scale(0.8); - opacity: 0.5; - } - 100% { - transform: scale(2.4); - opacity: 0; - } -} -.ant-scroll-number { - overflow: hidden; - direction: ltr; -} -.ant-scroll-number-only { - position: relative; - display: inline-block; - height: 20px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - /* stylelint-disable property-no-vendor-prefix */ - -webkit-transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - /* stylelint-enable property-no-vendor-prefix */ -} -.ant-scroll-number-only > p.ant-scroll-number-only-unit { - height: 20px; - margin: 0; - /* stylelint-disable property-no-vendor-prefix */ - -webkit-transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - /* stylelint-enable property-no-vendor-prefix */ -} -.ant-scroll-number-symbol { - vertical-align: top; -} -@keyframes antZoomBadgeIn { - 0% { - transform: scale(0) translate(50%, -50%); - opacity: 0; - } - 100% { - transform: scale(1) translate(50%, -50%); - } -} -@keyframes antZoomBadgeOut { - 0% { - transform: scale(1) translate(50%, -50%); - } - 100% { - transform: scale(0) translate(50%, -50%); - opacity: 0; - } -} -@keyframes antNoWrapperZoomBadgeIn { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - } -} -@keyframes antNoWrapperZoomBadgeOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0); - opacity: 0; - } -} -@keyframes antBadgeLoadingCircle { - 0% { - transform-origin: 50%; - } - 100% { - transform: translate(50%, -50%) rotate(360deg); - transform-origin: 50%; - } -} -.ant-ribbon-wrapper { - position: relative; -} -.ant-ribbon { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: 8px; - height: 22px; - padding: 0 8px; - color: #fff; - line-height: 22px; - white-space: nowrap; - background-color: #1890ff; - border-radius: 2px; -} -.ant-ribbon-text { - color: #fff; -} -.ant-ribbon-corner { - position: absolute; - top: 100%; - width: 8px; - height: 8px; - color: currentcolor; - border: 4px solid; - transform: scaleY(0.75); - transform-origin: top; -} -.ant-ribbon-corner::after { - position: absolute; - top: -4px; - left: -4px; - width: inherit; - height: inherit; - color: rgba(0, 0, 0, 0.25); - border: inherit; - content: ''; -} -.ant-ribbon-color-pink { - color: #eb2f96; - background: #eb2f96; -} -.ant-ribbon-color-magenta { - color: #eb2f96; - background: #eb2f96; -} -.ant-ribbon-color-red { - color: #f5222d; - background: #f5222d; -} -.ant-ribbon-color-volcano { - color: #fa541c; - background: #fa541c; -} -.ant-ribbon-color-orange { - color: #fa8c16; - background: #fa8c16; -} -.ant-ribbon-color-yellow { - color: #fadb14; - background: #fadb14; -} -.ant-ribbon-color-gold { - color: #faad14; - background: #faad14; -} -.ant-ribbon-color-cyan { - color: #13c2c2; - background: #13c2c2; -} -.ant-ribbon-color-lime { - color: #a0d911; - background: #a0d911; -} -.ant-ribbon-color-green { - color: #52c41a; - background: #52c41a; -} -.ant-ribbon-color-blue { - color: #1890ff; - background: #1890ff; -} -.ant-ribbon-color-geekblue { - color: #2f54eb; - background: #2f54eb; -} -.ant-ribbon-color-purple { - color: #722ed1; - background: #722ed1; -} -.ant-ribbon.ant-ribbon-placement-end { - right: -8px; - border-bottom-right-radius: 0; -} -.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner { - right: 0; - border-color: currentcolor transparent transparent currentcolor; -} -.ant-ribbon.ant-ribbon-placement-start { - left: -8px; - border-bottom-left-radius: 0; -} -.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner { - left: 0; - border-color: currentcolor currentcolor transparent transparent; -} -.ant-badge-rtl { - direction: rtl; -} -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-count, -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-dot, -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component { - right: auto; - left: 0; - direction: ltr; - transform: translate(-50%, -50%); - transform-origin: 0% 0%; -} -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component { - right: auto; - left: 0; - transform: translate(-50%, -50%); - transform-origin: 0% 0%; -} -.ant-badge-rtl .ant-badge-status-text { - margin-right: 8px; - margin-left: 0; -} -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-appear, -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-enter { - animation-name: antZoomBadgeInRtl; -} -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-leave { - animation-name: antZoomBadgeOutRtl; -} -.ant-ribbon-rtl { - direction: rtl; -} -.ant-ribbon-rtl.ant-ribbon-placement-end { - right: unset; - left: -8px; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 0; -} -.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner { - right: unset; - left: 0; - border-color: currentcolor currentcolor transparent transparent; -} -.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after { - border-color: currentcolor currentcolor transparent transparent; -} -.ant-ribbon-rtl.ant-ribbon-placement-start { - right: -8px; - left: unset; - border-bottom-right-radius: 0; - border-bottom-left-radius: 2px; -} -.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner { - right: 0; - left: unset; - border-color: currentcolor transparent transparent currentcolor; -} -.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after { - border-color: currentcolor transparent transparent currentcolor; -} -@keyframes antZoomBadgeInRtl { - 0% { - transform: scale(0) translate(-50%, -50%); - opacity: 0; - } - 100% { - transform: scale(1) translate(-50%, -50%); - } -} -@keyframes antZoomBadgeOutRtl { - 0% { - transform: scale(1) translate(-50%, -50%); - } - 100% { - transform: scale(0) translate(-50%, -50%); - opacity: 0; - } -} -.ant-badge-multiple-words:not(.ant-badge-count-overflow) { - font-size: 0; -} -.ant-badge-multiple-words:not(.ant-badge-count-overflow) .ant-scroll-number-only { - font-size: 12px; -} -.ant-badge .ant-scroll-number:only-child { - position: relative; - top: auto; - display: block; -} -.ant-badge .ant-badge-count:only-child { - transform: none; -} -.ant-breadcrumb { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-breadcrumb .anticon { - font-size: 14px; -} -.ant-breadcrumb ol { - display: flex; - flex-wrap: wrap; - margin: 0; - padding: 0; - list-style: none; -} -.ant-breadcrumb a { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-breadcrumb a:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb li:last-child { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb li:last-child a { - color: rgba(0, 0, 0, 0.85); -} -li:last-child > .ant-breadcrumb-separator { - display: none; -} -.ant-breadcrumb-separator { - margin: 0 8px; - color: rgba(0, 0, 0, 0.45); -} -.ant-breadcrumb-link > .anticon + span, -.ant-breadcrumb-link > .anticon + a { - margin-left: 4px; -} -.ant-breadcrumb-overlay-link > .anticon { - margin-left: 4px; -} -.ant-breadcrumb-rtl { - direction: rtl; -} -.ant-breadcrumb-rtl::before { - display: table; - content: ''; -} -.ant-breadcrumb-rtl::after { - display: table; - clear: both; - content: ''; -} -.ant-breadcrumb-rtl::before { - display: table; - content: ''; -} -.ant-breadcrumb-rtl::after { - display: table; - clear: both; - content: ''; -} -.ant-breadcrumb-rtl > span { - float: right; -} -.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + span, -.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + a { - margin-right: 4px; - margin-left: 0; -} -.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link > .anticon { - margin-right: 4px; - margin-left: 0; -} -.ant-breadcrumb-link .anticon + span { - margin-left: 4px; -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child a { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child .ant-breadcrumb-separator { - display: none; -} -.ant-breadcrumb-rtl > .ant-blazor-breadcrumb-item { - float: right; -} -.ant-blazor-breadcrum { - display: block; -} -.ant-btn { - line-height: 1.5715; - position: relative; - display: inline-block; - font-weight: 400; - white-space: nowrap; - text-align: center; - background-image: none; - border: 1px solid transparent; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); - cursor: pointer; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - user-select: none; - touch-action: manipulation; - height: 32px; - padding: 4px 15px; - font-size: 14px; - border-radius: 2px; - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: #fff; -} -.ant-btn > .anticon { - line-height: 1; -} -.ant-btn, -.ant-btn:active, -.ant-btn:focus { - outline: 0; -} -.ant-btn:not([disabled]):hover { - text-decoration: none; -} -.ant-btn:not([disabled]):active { - outline: 0; - box-shadow: none; -} -.ant-btn[disabled] { - cursor: not-allowed; -} -.ant-btn[disabled] > * { - pointer-events: none; -} -.ant-btn-lg { - height: 40px; - padding: 6.4px 15px; - font-size: 16px; - border-radius: 2px; -} -.ant-btn-sm { - height: 24px; - padding: 0px 7px; - font-size: 14px; - border-radius: 2px; -} -.ant-btn > a:only-child { - color: currentcolor; -} -.ant-btn > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:hover, -.ant-btn:focus { - color: #40a9ff; - border-color: #40a9ff; - background: #fff; -} -.ant-btn:hover > a:only-child, -.ant-btn:focus > a:only-child { - color: currentcolor; -} -.ant-btn:hover > a:only-child::after, -.ant-btn:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:active { - color: #096dd9; - border-color: #096dd9; - background: #fff; -} -.ant-btn:active > a:only-child { - color: currentcolor; -} -.ant-btn:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn[disabled], -.ant-btn[disabled]:hover, -.ant-btn[disabled]:focus, -.ant-btn[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn[disabled] > a:only-child, -.ant-btn[disabled]:hover > a:only-child, -.ant-btn[disabled]:focus > a:only-child, -.ant-btn[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn[disabled] > a:only-child::after, -.ant-btn[disabled]:hover > a:only-child::after, -.ant-btn[disabled]:focus > a:only-child::after, -.ant-btn[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:hover, -.ant-btn:focus, -.ant-btn:active { - text-decoration: none; - background: #fff; -} -.ant-btn > span { - display: inline-block; -} -.ant-btn-primary { - color: #fff; - border-color: #1890ff; - background: #1890ff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary:hover, -.ant-btn-primary:focus { - color: #fff; - border-color: #40a9ff; - background: #40a9ff; -} -.ant-btn-primary:hover > a:only-child, -.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-primary:hover > a:only-child::after, -.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary:active { - color: #fff; - border-color: #096dd9; - background: #096dd9; -} -.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary[disabled], -.ant-btn-primary[disabled]:hover, -.ant-btn-primary[disabled]:focus, -.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-primary[disabled] > a:only-child, -.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { - border-right-color: #40a9ff; - border-left-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { - border-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { - border-right-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { - border-right-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child), -.ant-btn-group .ant-btn-primary + .ant-btn-primary { - border-left-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], -.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { - border-left-color: #d9d9d9; -} -.ant-btn-ghost { - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: transparent; -} -.ant-btn-ghost > a:only-child { - color: currentcolor; -} -.ant-btn-ghost > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost:hover, -.ant-btn-ghost:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-ghost:hover > a:only-child, -.ant-btn-ghost:focus > a:only-child { - color: currentcolor; -} -.ant-btn-ghost:hover > a:only-child::after, -.ant-btn-ghost:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-ghost:active > a:only-child { - color: currentcolor; -} -.ant-btn-ghost:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost[disabled], -.ant-btn-ghost[disabled]:hover, -.ant-btn-ghost[disabled]:focus, -.ant-btn-ghost[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-ghost[disabled] > a:only-child, -.ant-btn-ghost[disabled]:hover > a:only-child, -.ant-btn-ghost[disabled]:focus > a:only-child, -.ant-btn-ghost[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-ghost[disabled] > a:only-child::after, -.ant-btn-ghost[disabled]:hover > a:only-child::after, -.ant-btn-ghost[disabled]:focus > a:only-child::after, -.ant-btn-ghost[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed { - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: #fff; - border-style: dashed; -} -.ant-btn-dashed > a:only-child { - color: currentcolor; -} -.ant-btn-dashed > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed:hover, -.ant-btn-dashed:focus { - color: #40a9ff; - border-color: #40a9ff; - background: #fff; -} -.ant-btn-dashed:hover > a:only-child, -.ant-btn-dashed:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dashed:hover > a:only-child::after, -.ant-btn-dashed:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed:active { - color: #096dd9; - border-color: #096dd9; - background: #fff; -} -.ant-btn-dashed:active > a:only-child { - color: currentcolor; -} -.ant-btn-dashed:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed[disabled], -.ant-btn-dashed[disabled]:hover, -.ant-btn-dashed[disabled]:focus, -.ant-btn-dashed[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dashed[disabled] > a:only-child, -.ant-btn-dashed[disabled]:hover > a:only-child, -.ant-btn-dashed[disabled]:focus > a:only-child, -.ant-btn-dashed[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dashed[disabled] > a:only-child::after, -.ant-btn-dashed[disabled]:hover > a:only-child::after, -.ant-btn-dashed[disabled]:focus > a:only-child::after, -.ant-btn-dashed[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger { - color: #fff; - border-color: #ff4d4f; - background: #ff4d4f; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-danger > a:only-child { - color: currentcolor; -} -.ant-btn-danger > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger:hover, -.ant-btn-danger:focus { - color: #fff; - border-color: #ff7875; - background: #ff7875; -} -.ant-btn-danger:hover > a:only-child, -.ant-btn-danger:focus > a:only-child { - color: currentcolor; -} -.ant-btn-danger:hover > a:only-child::after, -.ant-btn-danger:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger:active { - color: #fff; - border-color: #d9363e; - background: #d9363e; -} -.ant-btn-danger:active > a:only-child { - color: currentcolor; -} -.ant-btn-danger:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger[disabled], -.ant-btn-danger[disabled]:hover, -.ant-btn-danger[disabled]:focus, -.ant-btn-danger[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-danger[disabled] > a:only-child, -.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-danger[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-danger[disabled] > a:only-child::after, -.ant-btn-danger[disabled]:hover > a:only-child::after, -.ant-btn-danger[disabled]:focus > a:only-child::after, -.ant-btn-danger[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link { - color: #1890ff; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:hover, -.ant-btn-link:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-link:hover > a:only-child, -.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-link:hover > a:only-child::after, -.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link[disabled], -.ant-btn-link[disabled]:hover, -.ant-btn-link[disabled]:focus, -.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-link[disabled] > a:only-child, -.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:hover { - background: transparent; -} -.ant-btn-link:hover, -.ant-btn-link:focus, -.ant-btn-link:active { - border-color: transparent; -} -.ant-btn-link[disabled], -.ant-btn-link[disabled]:hover, -.ant-btn-link[disabled]:focus, -.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-link[disabled] > a:only-child, -.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text { - color: rgba(0, 0, 0, 0.85); - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-text > a:only-child { - color: currentcolor; -} -.ant-btn-text > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:hover, -.ant-btn-text:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-text:hover > a:only-child, -.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-text:hover > a:only-child::after, -.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text[disabled], -.ant-btn-text[disabled]:hover, -.ant-btn-text[disabled]:focus, -.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-text[disabled] > a:only-child, -.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:hover, -.ant-btn-text:focus { - color: rgba(0, 0, 0, 0.85); - background: rgba(0, 0, 0, 0.018); - border-color: transparent; -} -.ant-btn-text:active { - color: rgba(0, 0, 0, 0.85); - background: rgba(0, 0, 0, 0.028); - border-color: transparent; -} -.ant-btn-text[disabled], -.ant-btn-text[disabled]:hover, -.ant-btn-text[disabled]:focus, -.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-text[disabled] > a:only-child, -.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous { - color: #ff4d4f; - border-color: #ff4d4f; - background: #fff; -} -.ant-btn-dangerous > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous:hover, -.ant-btn-dangerous:focus { - color: #ff7875; - border-color: #ff7875; - background: #fff; -} -.ant-btn-dangerous:hover > a:only-child, -.ant-btn-dangerous:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous:hover > a:only-child::after, -.ant-btn-dangerous:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous:active { - color: #d9363e; - border-color: #d9363e; - background: #fff; -} -.ant-btn-dangerous:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous[disabled], -.ant-btn-dangerous[disabled]:hover, -.ant-btn-dangerous[disabled]:focus, -.ant-btn-dangerous[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous[disabled] > a:only-child, -.ant-btn-dangerous[disabled]:hover > a:only-child, -.ant-btn-dangerous[disabled]:focus > a:only-child, -.ant-btn-dangerous[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous[disabled] > a:only-child::after, -.ant-btn-dangerous[disabled]:hover > a:only-child::after, -.ant-btn-dangerous[disabled]:focus > a:only-child::after, -.ant-btn-dangerous[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary { - color: #fff; - border-color: #ff4d4f; - background: #ff4d4f; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-dangerous.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary:hover, -.ant-btn-dangerous.ant-btn-primary:focus { - color: #fff; - border-color: #ff7875; - background: #ff7875; -} -.ant-btn-dangerous.ant-btn-primary:hover > a:only-child, -.ant-btn-dangerous.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary:active { - color: #fff; - border-color: #d9363e; - background: #d9363e; -} -.ant-btn-dangerous.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary[disabled], -.ant-btn-dangerous.ant-btn-primary[disabled]:hover, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus, -.ant-btn-dangerous.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link { - color: #ff4d4f; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-dangerous.ant-btn-link:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-dangerous.ant-btn-link:focus { - color: #ff7875; - border-color: transparent; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:active { - color: #d9363e; - border-color: transparent; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text { - color: #ff4d4f; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:hover, -.ant-btn-dangerous.ant-btn-text:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text[disabled], -.ant-btn-dangerous.ant-btn-text[disabled]:hover, -.ant-btn-dangerous.ant-btn-text[disabled]:focus, -.ant-btn-dangerous.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:hover, -.ant-btn-dangerous.ant-btn-text:focus { - color: #ff7875; - border-color: transparent; - background: rgba(0, 0, 0, 0.018); -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:active { - color: #d9363e; - border-color: transparent; - background: rgba(0, 0, 0, 0.028); -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text[disabled], -.ant-btn-dangerous.ant-btn-text[disabled]:hover, -.ant-btn-dangerous.ant-btn-text[disabled]:focus, -.ant-btn-dangerous.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-icon-only { - width: 32px; - height: 32px; - padding: 2.4px 0; - font-size: 16px; - border-radius: 2px; - vertical-align: -3px; -} -.ant-btn-icon-only > * { - font-size: 16px; -} -.ant-btn-icon-only.ant-btn-lg { - width: 40px; - height: 40px; - padding: 4.9px 0; - font-size: 18px; - border-radius: 2px; -} -.ant-btn-icon-only.ant-btn-lg > * { - font-size: 18px; -} -.ant-btn-icon-only.ant-btn-sm { - width: 24px; - height: 24px; - padding: 0px 0; - font-size: 14px; - border-radius: 2px; -} -.ant-btn-icon-only.ant-btn-sm > * { - font-size: 14px; -} -.ant-btn-icon-only > .anticon { - display: flex; - justify-content: center; -} -.ant-btn-icon-only .anticon-loading { - padding: 0 !important; -} -a.ant-btn-icon-only { - vertical-align: -1px; -} -a.ant-btn-icon-only > .anticon { - display: inline; -} -.ant-btn-round { - height: 32px; - padding: 4px 16px; - font-size: 14px; - border-radius: 32px; -} -.ant-btn-round.ant-btn-lg { - height: 40px; - padding: 6.4px 20px; - font-size: 16px; - border-radius: 40px; -} -.ant-btn-round.ant-btn-sm { - height: 24px; - padding: 0px 12px; - font-size: 14px; - border-radius: 24px; -} -.ant-btn-round.ant-btn-icon-only { - width: auto; -} -.ant-btn-circle { - min-width: 32px; - padding-right: 0; - padding-left: 0; - text-align: center; - border-radius: 50%; -} -.ant-btn-circle.ant-btn-lg { - min-width: 40px; - border-radius: 50%; -} -.ant-btn-circle.ant-btn-sm { - min-width: 24px; - border-radius: 50%; -} -.ant-btn::before { - position: absolute; - top: -1px; - right: -1px; - bottom: -1px; - left: -1px; - z-index: 1; - display: none; - background: #fff; - border-radius: inherit; - opacity: 0.35; - transition: opacity 0.2s; - content: ''; - pointer-events: none; -} -.ant-btn .anticon { - transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-btn .anticon.anticon-plus > svg, -.ant-btn .anticon.anticon-minus > svg { - shape-rendering: optimizespeed; -} -.ant-btn.ant-btn-loading { - position: relative; - cursor: default; -} -.ant-btn.ant-btn-loading::before { - display: block; -} -.ant-btn > .ant-btn-loading-icon { - transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-btn > .ant-btn-loading-icon .anticon { - padding-right: 8px; - animation: none; -} -.ant-btn > .ant-btn-loading-icon .anticon svg { - animation: loadingCircle 1s infinite linear; -} -.ant-btn-group { - position: relative; - display: inline-flex; -} -.ant-btn-group > .ant-btn, -.ant-btn-group > span > .ant-btn { - position: relative; -} -.ant-btn-group > .ant-btn:hover, -.ant-btn-group > span > .ant-btn:hover, -.ant-btn-group > .ant-btn:focus, -.ant-btn-group > span > .ant-btn:focus, -.ant-btn-group > .ant-btn:active, -.ant-btn-group > span > .ant-btn:active { - z-index: 2; -} -.ant-btn-group > .ant-btn[disabled], -.ant-btn-group > span > .ant-btn[disabled] { - z-index: 0; -} -.ant-btn-group .ant-btn-icon-only { - font-size: 14px; -} -.ant-btn-group .ant-btn + .ant-btn, -.ant-btn + .ant-btn-group, -.ant-btn-group span + .ant-btn, -.ant-btn-group .ant-btn + span, -.ant-btn-group > span + span, -.ant-btn-group + .ant-btn, -.ant-btn-group + .ant-btn-group { - margin-left: -1px; -} -.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { - border-left-color: transparent; -} -.ant-btn-group .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn:first-child, -.ant-btn-group > span:first-child > .ant-btn { - margin-left: 0; -} -.ant-btn-group > .ant-btn:only-child { - border-radius: 2px; -} -.ant-btn-group > span:only-child > .ant-btn { - border-radius: 2px; -} -.ant-btn-group > .ant-btn:first-child:not(:last-child), -.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-btn-group > .ant-btn:last-child:not(:first-child), -.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:only-child { - border-radius: 2px; -} -.ant-btn-group-sm > span:only-child > .ant-btn { - border-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), -.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), -.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-btn-group > .ant-btn-group { - float: left; -} -.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { - padding-right: 8px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { - padding-left: 8px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-rtl.ant-btn-group .ant-btn + .ant-btn, -.ant-btn-rtl.ant-btn + .ant-btn-group, -.ant-btn-rtl.ant-btn-group span + .ant-btn, -.ant-btn-rtl.ant-btn-group .ant-btn + span, -.ant-btn-rtl.ant-btn-group > span + span, -.ant-btn-rtl.ant-btn-group + .ant-btn, -.ant-btn-rtl.ant-btn-group + .ant-btn-group, -.ant-btn-group-rtl.ant-btn-group .ant-btn + .ant-btn, -.ant-btn-group-rtl.ant-btn + .ant-btn-group, -.ant-btn-group-rtl.ant-btn-group span + .ant-btn, -.ant-btn-group-rtl.ant-btn-group .ant-btn + span, -.ant-btn-group-rtl.ant-btn-group > span + span, -.ant-btn-group-rtl.ant-btn-group + .ant-btn, -.ant-btn-group-rtl.ant-btn-group + .ant-btn-group { - margin-right: -1px; - margin-left: auto; -} -.ant-btn-group.ant-btn-group-rtl { - direction: rtl; -} -.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child), -.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { - border-radius: 0 2px 2px 0; -} -.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { - border-radius: 2px 0 0 2px; -} -.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), -.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { - border-radius: 0 2px 2px 0; -} -.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { - border-radius: 2px 0 0 2px; -} -.ant-btn:focus > span, -.ant-btn:active > span { - position: relative; -} -.ant-btn > .anticon + span, -.ant-btn > span + .anticon { - margin-left: 8px; -} -.ant-btn.ant-btn-background-ghost { - color: #fff; - border-color: #fff; -} -.ant-btn.ant-btn-background-ghost, -.ant-btn.ant-btn-background-ghost:hover, -.ant-btn.ant-btn-background-ghost:active, -.ant-btn.ant-btn-background-ghost:focus { - background: transparent; -} -.ant-btn.ant-btn-background-ghost:hover, -.ant-btn.ant-btn-background-ghost:focus { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-btn.ant-btn-background-ghost:active { - color: #096dd9; - border-color: #096dd9; -} -.ant-btn.ant-btn-background-ghost[disabled] { - color: rgba(0, 0, 0, 0.25); - background: transparent; - border-color: #d9d9d9; -} -.ant-btn-background-ghost.ant-btn-primary { - color: #1890ff; - border-color: #1890ff; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary:hover, -.ant-btn-background-ghost.ant-btn-primary:focus { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary:active { - color: #096dd9; - border-color: #096dd9; -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary[disabled], -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger { - color: #ff4d4f; - border-color: #ff4d4f; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger:hover, -.ant-btn-background-ghost.ant-btn-danger:focus { - color: #ff7875; - border-color: #ff7875; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger:active { - color: #d9363e; - border-color: #d9363e; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger[disabled], -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous { - color: #ff4d4f; - border-color: #ff4d4f; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover, -.ant-btn-background-ghost.ant-btn-dangerous:focus { - color: #ff7875; - border-color: #ff7875; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous:active { - color: #d9363e; - border-color: #d9363e; -} -.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled], -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link { - color: #ff4d4f; - border-color: transparent; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus { - color: #ff7875; - border-color: transparent; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active { - color: #d9363e; - border-color: transparent; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-two-chinese-chars::first-letter { - letter-spacing: 0.34em; -} -.ant-btn-two-chinese-chars > *:not(.anticon) { - margin-right: -0.34em; - letter-spacing: 0.34em; -} -.ant-btn.ant-btn-block { - width: 100%; -} -.ant-btn:empty { - display: inline-block; - width: 0; - visibility: hidden; - content: '\a0'; -} -a.ant-btn { - padding-top: 0.01px !important; - line-height: 30px; -} -a.ant-btn-disabled { - cursor: not-allowed; -} -a.ant-btn-disabled > * { - pointer-events: none; -} -a.ant-btn-disabled, -a.ant-btn-disabled:hover, -a.ant-btn-disabled:focus, -a.ant-btn-disabled:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -a.ant-btn-disabled > a:only-child, -a.ant-btn-disabled:hover > a:only-child, -a.ant-btn-disabled:focus > a:only-child, -a.ant-btn-disabled:active > a:only-child { - color: currentcolor; -} -a.ant-btn-disabled > a:only-child::after, -a.ant-btn-disabled:hover > a:only-child::after, -a.ant-btn-disabled:focus > a:only-child::after, -a.ant-btn-disabled:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -a.ant-btn-lg { - line-height: 38px; -} -a.ant-btn-sm { - line-height: 22px; -} -.ant-btn-compact-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl) { - margin-right: -1px; -} -.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-item-rtl { - margin-left: -1px; -} -.ant-btn-compact-item:hover, -.ant-btn-compact-item:focus, -.ant-btn-compact-item:active { - z-index: 2; -} -.ant-btn-compact-item[disabled] { - z-index: 0; -} -.ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item).ant-btn { - border-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-first-item:not(.ant-btn-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-last-item:not(.ant-btn-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-icon-only.ant-btn-compact-item { - flex: none; -} -.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled]) { - position: relative; -} -.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled])::after { - position: absolute; - top: -1px; - left: -1px; - display: inline-block; - width: 1px; - height: calc(100% + 1px * 2); - background-color: #40a9ff; - content: ' '; -} -.ant-btn-compact-item-rtl.ant-btn-compact-first-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-last-item) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-compact-last-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-first-item) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-first-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-last-item) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-last-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-first-item) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-primary:not([disabled]) + .ant-btn-compact-item-rtl.ant-btn-primary:not([disabled])::after { - right: -1px; -} -.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item) { - margin-bottom: -1px; -} -.ant-btn-compact-vertical-item:hover, -.ant-btn-compact-vertical-item:focus, -.ant-btn-compact-vertical-item:active { - z-index: 2; -} -.ant-btn-compact-vertical-item[disabled] { - z-index: 0; -} -.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item) { - border-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) { - position: relative; -} -.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])::after { - position: absolute; - top: -1px; - left: -1px; - display: inline-block; - width: calc(100% + 1px * 2); - height: 1px; - background-color: #40a9ff; - content: ' '; -} -.ant-btn-rtl { - direction: rtl; -} -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary { - border-right-color: #40a9ff; - border-left-color: #d9d9d9; -} -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { - border-right-color: #d9d9d9; - border-left-color: #40a9ff; -} -.ant-btn-rtl.ant-btn > .ant-btn-loading-icon .anticon { - padding-right: 0; - padding-left: 8px; -} -.ant-btn-rtl.ant-btn > .anticon + span, -.ant-btn-rtl.ant-btn > span + .anticon { - margin-right: 8px; - margin-left: 0; -} -.ant-card { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - background: #fff; - border-radius: 2px; -} -.ant-card-rtl { - direction: rtl; -} -.ant-card-hoverable { - cursor: pointer; - transition: box-shadow 0.3s, border-color 0.3s; -} -.ant-card-hoverable:hover { - border-color: transparent; - box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); -} -.ant-card-bordered { - border: 1px solid #f0f0f0; -} -.ant-card-head { - min-height: 48px; - margin-bottom: -1px; - padding: 0 24px; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - background: transparent; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-card-head::before { - display: table; - content: ''; -} -.ant-card-head::after { - display: table; - clear: both; - content: ''; -} -.ant-card-head::before { - display: table; - content: ''; -} -.ant-card-head::after { - display: table; - clear: both; - content: ''; -} -.ant-card-head-wrapper { - display: flex; - align-items: center; -} -.ant-card-head-title { - display: inline-block; - flex: 1; - padding: 16px 0; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-card-head-title > .ant-typography, -.ant-card-head-title > .ant-typography-edit-content { - left: 0; - margin-top: 0; - margin-bottom: 0; -} -.ant-card-head .ant-tabs-top { - clear: both; - margin-bottom: -17px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-card-head .ant-tabs-top-bar { - border-bottom: 1px solid #f0f0f0; -} -.ant-card-extra { - margin-left: auto; - padding: 16px 0; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-card-rtl .ant-card-extra { - margin-right: auto; - margin-left: 0; -} -.ant-card-body { - padding: 24px; -} -.ant-card-body::before { - display: table; - content: ''; -} -.ant-card-body::after { - display: table; - clear: both; - content: ''; -} -.ant-card-body::before { - display: table; - content: ''; -} -.ant-card-body::after { - display: table; - clear: both; - content: ''; -} -.ant-card-contain-grid .ant-card-body { - display: flex; - flex-wrap: wrap; -} -.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body { - margin: -1px 0 0 -1px; - padding: 0; -} -.ant-card-grid { - width: 33.33%; - padding: 24px; - border: 0; - border-radius: 0; - box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset; - transition: all 0.3s; -} -.ant-card-grid-hoverable:hover { - position: relative; - z-index: 1; - box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); -} -.ant-card-contain-tabs > .ant-card-head .ant-card-head-title { - min-height: 32px; - padding-bottom: 0; -} -.ant-card-contain-tabs > .ant-card-head .ant-card-extra { - padding-bottom: 0; -} -.ant-card-bordered .ant-card-cover { - margin-top: -1px; - margin-right: -1px; - margin-left: -1px; -} -.ant-card-cover > * { - display: block; - width: 100%; -} -.ant-card-cover img { - border-radius: 2px 2px 0 0; -} -.ant-card-actions { - display: flex; - margin: 0; - padding: 0; - list-style: none; - background: #fff; - border-top: 1px solid #f0f0f0; -} -.ant-card-actions::before { - display: table; - content: ''; -} -.ant-card-actions::after { - display: table; - clear: both; - content: ''; -} -.ant-card-actions::before { - display: table; - content: ''; -} -.ant-card-actions::after { - display: table; - clear: both; - content: ''; -} -.ant-card-actions > li { - margin: 12px 0; - color: rgba(0, 0, 0, 0.45); - text-align: center; -} -.ant-card-actions > li > span { - position: relative; - display: block; - min-width: 32px; - font-size: 14px; - line-height: 1.5715; - cursor: pointer; -} -.ant-card-actions > li > span:hover { - color: #1890ff; - transition: color 0.3s; -} -.ant-card-actions > li > span a:not(.ant-btn), -.ant-card-actions > li > span > .anticon { - display: inline-block; - width: 100%; - color: rgba(0, 0, 0, 0.45); - line-height: 22px; - transition: color 0.3s; -} -.ant-card-actions > li > span a:not(.ant-btn):hover, -.ant-card-actions > li > span > .anticon:hover { - color: #1890ff; -} -.ant-card-actions > li > span > .anticon { - font-size: 16px; - line-height: 22px; -} -.ant-card-actions > li:not(:last-child) { - border-right: 1px solid #f0f0f0; -} -.ant-card-rtl .ant-card-actions > li:not(:last-child) { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-card-type-inner .ant-card-head { - padding: 0 24px; - background: #fafafa; -} -.ant-card-type-inner .ant-card-head-title { - padding: 12px 0; - font-size: 14px; -} -.ant-card-type-inner .ant-card-body { - padding: 16px 24px; -} -.ant-card-type-inner .ant-card-extra { - padding: 13.5px 0; -} -.ant-card-meta { - display: flex; - margin: -4px 0; -} -.ant-card-meta::before { - display: table; - content: ''; -} -.ant-card-meta::after { - display: table; - clear: both; - content: ''; -} -.ant-card-meta::before { - display: table; - content: ''; -} -.ant-card-meta::after { - display: table; - clear: both; - content: ''; -} -.ant-card-meta-avatar { - padding-right: 16px; -} -.ant-card-rtl .ant-card-meta-avatar { - padding-right: 0; - padding-left: 16px; -} -.ant-card-meta-detail { - overflow: hidden; -} -.ant-card-meta-detail > div:not(:last-child) { - margin-bottom: 8px; -} -.ant-card-meta-title { - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-card-meta-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-card-loading { - overflow: hidden; -} -.ant-card-loading .ant-card-body { - user-select: none; -} -.ant-card-small > .ant-card-head { - min-height: 36px; - padding: 0 12px; - font-size: 14px; -} -.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-head-title { - padding: 8px 0; -} -.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-extra { - padding: 8px 0; - font-size: 14px; -} -.ant-card-small > .ant-card-body { - padding: 12px; -} -.ant-card-rtl .ant-skeleton-header { - padding: 0 0 0 16px; -} -.ant-carousel { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-carousel .slick-slider { - position: relative; - display: block; - box-sizing: border-box; - touch-action: pan-y; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: transparent; -} -.ant-carousel .slick-list { - position: relative; - display: block; - margin: 0; - padding: 0; - overflow: hidden; -} -.ant-carousel .slick-list:focus { - outline: none; -} -.ant-carousel .slick-list.dragging { - cursor: pointer; -} -.ant-carousel .slick-list .slick-slide { - pointer-events: none; -} -.ant-carousel .slick-list .slick-slide input.ant-radio-input, -.ant-carousel .slick-list .slick-slide input.ant-checkbox-input { - visibility: hidden; -} -.ant-carousel .slick-list .slick-slide.slick-active { - pointer-events: auto; -} -.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input, -.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input { - visibility: visible; -} -.ant-carousel .slick-list .slick-slide > div > div { - vertical-align: bottom; -} -.ant-carousel .slick-slider .slick-track, -.ant-carousel .slick-slider .slick-list { - transform: translate3d(0, 0, 0); - touch-action: pan-y; -} -.ant-carousel .slick-track { - position: relative; - top: 0; - left: 0; - display: block; -} -.ant-carousel .slick-track::before, -.ant-carousel .slick-track::after { - display: table; - content: ''; -} -.ant-carousel .slick-track::after { - clear: both; -} -.slick-loading .ant-carousel .slick-track { - visibility: hidden; -} -.ant-carousel .slick-slide { - display: none; - float: left; - height: 100%; - min-height: 1px; -} -.ant-carousel .slick-slide img { - display: block; -} -.ant-carousel .slick-slide.slick-loading img { - display: none; -} -.ant-carousel .slick-slide.dragging img { - pointer-events: none; -} -.ant-carousel .slick-initialized .slick-slide { - display: block; -} -.ant-carousel .slick-loading .slick-slide { - visibility: hidden; -} -.ant-carousel .slick-vertical .slick-slide { - display: block; - height: auto; -} -.ant-carousel .slick-arrow.slick-hidden { - display: none; -} -.ant-carousel .slick-prev, -.ant-carousel .slick-next { - position: absolute; - top: 50%; - display: block; - width: 20px; - height: 20px; - margin-top: -10px; - padding: 0; - color: transparent; - font-size: 0; - line-height: 0; - background: transparent; - border: 0; - outline: none; - cursor: pointer; -} -.ant-carousel .slick-prev:hover, -.ant-carousel .slick-next:hover, -.ant-carousel .slick-prev:focus, -.ant-carousel .slick-next:focus { - color: transparent; - background: transparent; - outline: none; -} -.ant-carousel .slick-prev:hover::before, -.ant-carousel .slick-next:hover::before, -.ant-carousel .slick-prev:focus::before, -.ant-carousel .slick-next:focus::before { - opacity: 1; -} -.ant-carousel .slick-prev.slick-disabled::before, -.ant-carousel .slick-next.slick-disabled::before { - opacity: 0.25; -} -.ant-carousel .slick-prev { - left: -25px; -} -.ant-carousel .slick-prev::before { - content: '←'; -} -.ant-carousel .slick-next { - right: -25px; -} -.ant-carousel .slick-next::before { - content: '→'; -} -.ant-carousel .slick-dots { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex !important; - justify-content: center; - margin-right: 15%; - margin-bottom: 0; - margin-left: 15%; - padding-left: 0; - list-style: none; -} -.ant-carousel .slick-dots-bottom { - bottom: 12px; -} -.ant-carousel .slick-dots-top { - top: 12px; - bottom: auto; -} -.ant-carousel .slick-dots li { - position: relative; - display: inline-block; - flex: 0 1 auto; - box-sizing: content-box; - width: 16px; - height: 3px; - margin: 0 4px; - padding: 0; - text-align: center; - text-indent: -999px; - vertical-align: top; - transition: all 0.5s; -} -.ant-carousel .slick-dots li button { - position: relative; - display: block; - width: 100%; - height: 3px; - padding: 0; - color: transparent; - font-size: 0; - background: #fff; - border: 0; - border-radius: 1px; - outline: none; - cursor: pointer; - opacity: 0.3; - transition: all 0.5s; -} -.ant-carousel .slick-dots li button:hover, -.ant-carousel .slick-dots li button:focus { - opacity: 0.75; -} -.ant-carousel .slick-dots li button::after { - position: absolute; - top: -4px; - right: -4px; - bottom: -4px; - left: -4px; - content: ''; -} -.ant-carousel .slick-dots li.slick-active { - width: 24px; -} -.ant-carousel .slick-dots li.slick-active button { - background: #fff; - opacity: 1; -} -.ant-carousel .slick-dots li.slick-active:hover, -.ant-carousel .slick-dots li.slick-active:focus { - opacity: 1; -} -.ant-carousel-vertical .slick-dots { - top: 50%; - bottom: auto; - flex-direction: column; - width: 3px; - height: auto; - margin: 0; - transform: translateY(-50%); -} -.ant-carousel-vertical .slick-dots-left { - right: auto; - left: 12px; -} -.ant-carousel-vertical .slick-dots-right { - right: 12px; - left: auto; -} -.ant-carousel-vertical .slick-dots li { - width: 3px; - height: 16px; - margin: 4px 0; - vertical-align: baseline; -} -.ant-carousel-vertical .slick-dots li button { - width: 3px; - height: 16px; -} -.ant-carousel-vertical .slick-dots li.slick-active { - width: 3px; - height: 24px; -} -.ant-carousel-vertical .slick-dots li.slick-active button { - width: 3px; - height: 24px; -} -.ant-carousel-rtl { - direction: rtl; -} -.ant-carousel-rtl .ant-carousel .slick-track { - right: 0; - left: auto; -} -.ant-carousel-rtl .ant-carousel .slick-prev { - right: -25px; - left: auto; -} -.ant-carousel-rtl .ant-carousel .slick-prev::before { - content: '→'; -} -.ant-carousel-rtl .ant-carousel .slick-next { - right: auto; - left: -25px; -} -.ant-carousel-rtl .ant-carousel .slick-next::before { - content: '←'; -} -.ant-carousel-rtl.ant-carousel .slick-dots { - flex-direction: row-reverse; -} -.ant-carousel-rtl.ant-carousel-vertical .slick-dots { - flex-direction: column; -} -.slick-dots { - display: block; -} -.slick-track { - opacity: 1; -} -.slick-list { - direction: ltr; -} -@keyframes antCheckboxEffect { - 0% { - transform: scale(1); - opacity: 0.5; - } - 100% { - transform: scale(1.6); - opacity: 0; - } -} -.ant-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-checkbox-wrapper:hover .ant-checkbox-inner, -.ant-checkbox:hover .ant-checkbox-inner, -.ant-checkbox-input:focus + .ant-checkbox-inner { - border-color: #1890ff; -} -.ant-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-checkbox:hover::after, -.ant-checkbox-wrapper:hover .ant-checkbox::after { - visibility: visible; -} -.ant-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-checkbox-checked .ant-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-checkbox-checked .ant-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-checkbox-disabled { - cursor: not-allowed; -} -.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-checkbox-disabled .ant-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-checkbox-disabled .ant-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-checkbox-disabled:hover::after, -.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after { - visibility: hidden; -} -.ant-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-checkbox-wrapper + .ant-checkbox-wrapper { - margin-left: 8px; -} -.ant-checkbox-wrapper.ant-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-checkbox-group-item { - margin-right: 8px; -} -.ant-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-checkbox-group-item + .ant-checkbox-group-item { - margin-left: 0; -} -.ant-checkbox-indeterminate .ant-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-checkbox-indeterminate .ant-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-checkbox-rtl { - direction: rtl; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item + .ant-checkbox-group-item { - margin-left: 8px; -} -.ant-checkbox + span:empty { - display: none; -} -.ant-checkbox-checked .ant-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-checkbox-input:checked + .ant-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-checkbox-input:checked + .ant-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25) !important; - animation-name: none; -} -.ant-checkbox-disabled .ant-checkbox-inner { - background-color: #f5f5f5 !important; - border-color: #d9d9d9 !important; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: #f5f5f5 !important; - border-collapse: separate; - animation-name: none; -} -.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25) !important; - animation-name: none; -} -.ant-collapse { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-bottom: 0; - border-radius: 2px; -} -.ant-collapse > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse > .ant-collapse-item:last-child, -.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { - border-radius: 0 0 2px 2px; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header { - position: relative; - display: flex; - flex-wrap: nowrap; - align-items: flex-start; - padding: 12px 16px; - color: rgba(0, 0, 0, 0.85); - line-height: 1.5715; - cursor: pointer; - transition: all 0.3s, visibility 0s; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - display: inline-block; - margin-right: 12px; - font-size: 12px; - vertical-align: -1px; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transition: transform 0.24s; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-header-text { - flex: auto; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra { - margin-left: auto; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header:focus { - outline: none; -} -.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only { - cursor: default; -} -.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text { - flex: none; - cursor: pointer; -} -.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only { - cursor: default; -} -.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only .ant-collapse-expand-icon { - cursor: pointer; -} -.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header { - padding-left: 12px; -} -.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header { - position: relative; - padding: 12px 16px; - padding-right: 40px; -} -.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - position: absolute; - top: 50%; - right: 16px; - left: auto; - margin: 0; - transform: translateY(-50%); -} -.ant-collapse-content { - color: rgba(0, 0, 0, 0.85); - background-color: #fff; - border-top: 1px solid #d9d9d9; -} -.ant-collapse-content > .ant-collapse-content-box { - padding: 16px; -} -.ant-collapse-content-hidden { - display: none; -} -.ant-collapse-item:last-child > .ant-collapse-content { - border-radius: 0 0 2px 2px; -} -.ant-collapse-borderless { - background-color: #fafafa; - border: 0; -} -.ant-collapse-borderless > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse-borderless > .ant-collapse-item:last-child, -.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { - border-radius: 0; -} -.ant-collapse-borderless > .ant-collapse-item:last-child { - border-bottom: 0; -} -.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { - background-color: transparent; - border-top: 0; -} -.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box { - padding-top: 4px; -} -.ant-collapse-ghost { - background-color: transparent; - border: 0; -} -.ant-collapse-ghost > .ant-collapse-item { - border-bottom: 0; -} -.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content { - background-color: transparent; - border-top: 0; -} -.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box { - padding-top: 12px; - padding-bottom: 12px; -} -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-collapse-rtl { - direction: rtl; -} -.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header { - position: relative; - padding: 12px 16px; - padding-left: 40px; -} -.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - position: absolute; - top: 50%; - right: auto; - left: 16px; - margin: 0; - transform: translateY(-50%); -} -.ant-collapse-rtl .ant-collapse > .ant-collapse-item > .ant-collapse-header { - padding: 12px 16px; - padding-right: 40px; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - margin-right: 0; - margin-left: 12px; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transform: rotate(180deg); -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra { - margin-right: auto; - margin-left: 0; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header { - padding-right: 12px; - padding-left: 0; -} -.ant-comment { - position: relative; - background-color: inherit; -} -.ant-comment-inner { - display: flex; - padding: 16px 0; -} -.ant-comment-avatar { - position: relative; - flex-shrink: 0; - margin-right: 12px; - cursor: pointer; -} -.ant-comment-avatar img { - width: 32px; - height: 32px; - border-radius: 50%; -} -.ant-comment-content { - position: relative; - flex: 1 1 auto; - min-width: 1px; - font-size: 14px; - word-wrap: break-word; -} -.ant-comment-content-author { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - margin-bottom: 4px; - font-size: 14px; -} -.ant-comment-content-author > a, -.ant-comment-content-author > span { - padding-right: 8px; - font-size: 12px; - line-height: 18px; -} -.ant-comment-content-author-name { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - transition: color 0.3s; -} -.ant-comment-content-author-name > * { - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-content-author-name > *:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-content-author-time { - color: #ccc; - white-space: nowrap; - cursor: auto; -} -.ant-comment-content-detail p { - margin-bottom: inherit; - white-space: pre-wrap; -} -.ant-comment-actions { - margin-top: 12px; - margin-bottom: inherit; - padding-left: 0; -} -.ant-comment-actions > li { - display: inline-block; - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-actions > li > span { - margin-right: 10px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - cursor: pointer; - transition: color 0.3s; - user-select: none; -} -.ant-comment-actions > li > span:hover { - color: #595959; -} -.ant-comment-nested { - margin-left: 44px; -} -.ant-comment-rtl { - direction: rtl; -} -.ant-comment-rtl .ant-comment-avatar { - margin-right: 0; - margin-left: 12px; -} -.ant-comment-rtl .ant-comment-content-author > a, -.ant-comment-rtl .ant-comment-content-author > span { - padding-right: 0; - padding-left: 8px; -} -.ant-comment-rtl .ant-comment-actions { - padding-right: 0; -} -.ant-comment-rtl .ant-comment-actions > li > span { - margin-right: 0; - margin-left: 10px; -} -.ant-comment-rtl .ant-comment-nested { - margin-right: 44px; - margin-left: 0; -} -.ant-comment-right .ant-comment-avatar { - margin-left: 12px; - margin-right: 0px; -} -.ant-comment-right .ant-comment-inner { - flex-direction: row-reverse; -} -.ant-comment-right .ant-comment-content-author { - flex-direction: row-reverse; -} -.ant-comment-right .ant-comment-content-detail, -.ant-comment-right .ant-comment-actions { - width: fit-content; - margin-left: auto; -} -.ant-comment-right.ant-comment-rtl .ant-comment-avatar { - margin-left: 0px; - margin-right: 12px; -} -.ant-picker-status-error.ant-picker, -.ant-picker-status-error.ant-picker:not([disabled]):hover { - background-color: #fff; - border-color: #ff4d4f; -} -.ant-picker-status-error.ant-picker-focused, -.ant-picker-status-error.ant-picker:focus { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-picker-status-error.ant-picker .ant-picker-active-bar { - background: #ff7875; -} -.ant-picker-status-warning.ant-picker, -.ant-picker-status-warning.ant-picker:not([disabled]):hover { - background-color: #fff; - border-color: #faad14; -} -.ant-picker-status-warning.ant-picker-focused, -.ant-picker-status-warning.ant-picker:focus { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-picker-status-warning.ant-picker .ant-picker-active-bar { - background: #ffc53d; -} -.ant-picker { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - padding: 4px 11px 4px; - position: relative; - display: inline-flex; - align-items: center; - background: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: border 0.3s, box-shadow 0.3s; -} -.ant-picker:hover, -.ant-picker-focused { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-picker:hover, -.ant-input-rtl .ant-picker-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-picker-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker.ant-picker-disabled { - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-picker.ant-picker-disabled .ant-picker-suffix { - color: rgba(0, 0, 0, 0.25); -} -.ant-picker.ant-picker-borderless { - background-color: transparent !important; - border-color: transparent !important; - box-shadow: none !important; -} -.ant-picker-input { - position: relative; - display: inline-flex; - align-items: center; - width: 100%; -} -.ant-picker-input > input { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - flex: auto; - min-width: 1px; - height: auto; - padding: 0; - background: transparent; - border: 0; -} -.ant-picker-input > input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-picker-input > input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-picker-input > input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-picker-input > input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-input > input:focus, -.ant-picker-input > input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-picker-input > input:focus, -.ant-input-rtl .ant-picker-input > input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-input > input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-picker-input > input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-picker-input > input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-picker-input > input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-picker-input > input-borderless, -.ant-picker-input > input-borderless:hover, -.ant-picker-input > input-borderless:focus, -.ant-picker-input > input-borderless-focused, -.ant-picker-input > input-borderless-disabled, -.ant-picker-input > input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-picker-input > input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-picker-input > input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-picker-input > input-sm { - padding: 0px 7px; -} -.ant-picker-input > input-rtl { - direction: rtl; -} -.ant-picker-input > input:focus { - box-shadow: none; -} -.ant-picker-input > input[disabled] { - background: transparent; -} -.ant-picker-input:hover .ant-picker-clear { - opacity: 1; -} -.ant-picker-input-placeholder > input { - color: #bfbfbf; -} -.ant-picker-large { - padding: 6.5px 11px 6.5px; -} -.ant-picker-large .ant-picker-input > input { - font-size: 16px; -} -.ant-picker-small { - padding: 0px 7px 0px; -} -.ant-picker-suffix { - display: flex; - flex: none; - align-self: center; - margin-left: 4px; - color: rgba(0, 0, 0, 0.25); - line-height: 1; - pointer-events: none; -} -.ant-picker-suffix > * { - vertical-align: top; -} -.ant-picker-suffix > *:not(:last-child) { - margin-right: 8px; -} -.ant-picker-clear { - position: absolute; - top: 50%; - right: 0; - color: rgba(0, 0, 0, 0.25); - line-height: 1; - background: #fff; - transform: translateY(-50%); - cursor: pointer; - opacity: 0; - transition: opacity 0.3s, color 0.3s; -} -.ant-picker-clear > * { - vertical-align: top; -} -.ant-picker-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-picker-separator { - position: relative; - display: inline-block; - width: 1em; - height: 16px; - color: rgba(0, 0, 0, 0.25); - font-size: 16px; - vertical-align: top; - cursor: default; -} -.ant-picker-focused .ant-picker-separator { - color: rgba(0, 0, 0, 0.45); -} -.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator { - cursor: not-allowed; -} -.ant-picker-range { - position: relative; - display: inline-flex; -} -.ant-picker-range .ant-picker-clear { - right: 11px; -} -.ant-picker-range:hover .ant-picker-clear { - opacity: 1; -} -.ant-picker-range .ant-picker-active-bar { - bottom: -1px; - height: 2px; - margin-left: 11px; - background: #1890ff; - opacity: 0; - transition: all 0.3s ease-out; - pointer-events: none; -} -.ant-picker-range.ant-picker-focused .ant-picker-active-bar { - opacity: 1; -} -.ant-picker-range-separator { - align-items: center; - padding: 0 8px; - line-height: 1; -} -.ant-picker-range.ant-picker-small .ant-picker-clear { - right: 7px; -} -.ant-picker-range.ant-picker-small .ant-picker-active-bar { - margin-left: 7px; -} -.ant-picker-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; -} -.ant-picker-dropdown-hidden { - display: none; -} -.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow { - top: 2.58561808px; - display: block; - transform: rotate(-135deg) translateY(1px); -} -.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow { - bottom: 2.58561808px; - display: block; - transform: rotate(45deg); -} -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight { - animation-name: antSlideDownIn; -} -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight { - animation-name: antSlideUpIn; -} -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight { - animation-name: antSlideDownOut; -} -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight { - animation-name: antSlideUpOut; -} -.ant-picker-dropdown-range { - padding: 7.54247233px 0; -} -.ant-picker-dropdown-range-hidden { - display: none; -} -.ant-picker-dropdown .ant-picker-panel > .ant-picker-time-panel { - padding-top: 4px; -} -.ant-picker-ranges { - margin-bottom: 0; - padding: 4px 12px; - overflow: hidden; - line-height: 34px; - text-align: left; - list-style: none; -} -.ant-picker-ranges > li { - display: inline-block; -} -.ant-picker-ranges .ant-picker-preset > .ant-tag-blue { - color: #1890ff; - background: #e6f7ff; - border-color: #91d5ff; - cursor: pointer; -} -.ant-picker-ranges .ant-picker-ok { - float: right; - margin-left: 8px; -} -.ant-picker-range-wrapper { - display: flex; -} -.ant-picker-range-arrow { - position: absolute; - z-index: 1; - display: none; - width: 11.3137085px; - height: 11.3137085px; - margin-left: 16.5px; - box-shadow: 2px 2px 6px -2px rgba(0, 0, 0, 0.1); - transition: left 0.3s ease-out; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-picker-range-arrow::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: #fff; - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-picker-panel-container { - overflow: hidden; - vertical-align: top; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - transition: margin 0.3s; -} -.ant-picker-panel-container .ant-picker-panels { - display: inline-flex; - flex-wrap: nowrap; - direction: ltr; -} -.ant-picker-panel-container .ant-picker-panel { - vertical-align: top; - background: transparent; - border-width: 0 0 1px 0; - border-radius: 0; -} -.ant-picker-panel-container .ant-picker-panel .ant-picker-content, -.ant-picker-panel-container .ant-picker-panel table { - text-align: center; -} -.ant-picker-panel-container .ant-picker-panel-focused { - border-color: #f0f0f0; -} -.ant-picker-compact-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl) { - margin-right: -1px; -} -.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-item-rtl { - margin-left: -1px; -} -.ant-picker-compact-item:hover, -.ant-picker-compact-item:focus, -.ant-picker-compact-item:active { - z-index: 2; -} -.ant-picker-compact-item.ant-picker-focused { - z-index: 2; -} -.ant-picker-compact-item[disabled] { - z-index: 0; -} -.ant-picker-compact-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-last-item).ant-picker { - border-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-first-item:not(.ant-picker-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-last-item:not(.ant-picker-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-picker-panel { - display: inline-flex; - flex-direction: column; - text-align: center; - background: #fff; - border: 1px solid #f0f0f0; - border-radius: 2px; - outline: none; -} -.ant-picker-panel-focused { - border-color: #1890ff; -} -.ant-picker-decade-panel, -.ant-picker-year-panel, -.ant-picker-quarter-panel, -.ant-picker-month-panel, -.ant-picker-week-panel, -.ant-picker-date-panel, -.ant-picker-time-panel { - display: flex; - flex-direction: column; - width: 280px; -} -.ant-picker-header { - display: flex; - padding: 0 8px; - color: rgba(0, 0, 0, 0.85); - border-bottom: 1px solid #f0f0f0; -} -.ant-picker-header > * { - flex: none; -} -.ant-picker-header button { - padding: 0; - color: rgba(0, 0, 0, 0.25); - line-height: 40px; - background: transparent; - border: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-picker-header > button { - min-width: 1.6em; - font-size: 14px; -} -.ant-picker-header > button:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-picker-header-view { - flex: auto; - font-weight: 500; - line-height: 40px; -} -.ant-picker-header-view button { - color: inherit; - font-weight: inherit; -} -.ant-picker-header-view button:not(:first-child) { - margin-left: 8px; -} -.ant-picker-header-view button:hover { - color: #1890ff; -} -.ant-picker-prev-icon, -.ant-picker-next-icon, -.ant-picker-super-prev-icon, -.ant-picker-super-next-icon { - position: relative; - display: inline-block; - width: 7px; - height: 7px; -} -.ant-picker-prev-icon::before, -.ant-picker-next-icon::before, -.ant-picker-super-prev-icon::before, -.ant-picker-super-next-icon::before { - position: absolute; - top: 0; - left: 0; - display: inline-block; - width: 7px; - height: 7px; - border: 0 solid currentcolor; - border-width: 1.5px 0 0 1.5px; - content: ''; -} -.ant-picker-super-prev-icon::after, -.ant-picker-super-next-icon::after { - position: absolute; - top: 4px; - left: 4px; - display: inline-block; - width: 7px; - height: 7px; - border: 0 solid currentcolor; - border-width: 1.5px 0 0 1.5px; - content: ''; -} -.ant-picker-prev-icon, -.ant-picker-super-prev-icon { - transform: rotate(-45deg); -} -.ant-picker-next-icon, -.ant-picker-super-next-icon { - transform: rotate(135deg); -} -.ant-picker-content { - width: 100%; - table-layout: fixed; - border-collapse: collapse; -} -.ant-picker-content th, -.ant-picker-content td { - position: relative; - min-width: 24px; - font-weight: 400; -} -.ant-picker-content th { - height: 30px; - color: rgba(0, 0, 0, 0.85); - line-height: 30px; -} -.ant-picker-cell { - padding: 3px 0; - color: rgba(0, 0, 0, 0.25); - cursor: pointer; -} -.ant-picker-cell-in-view { - color: rgba(0, 0, 0, 0.85); -} -.ant-picker-cell::before { - position: absolute; - top: 50%; - right: 0; - left: 0; - z-index: 1; - height: 24px; - transform: translateY(-50%); - transition: all 0.3s; - content: ''; -} -.ant-picker-cell .ant-picker-cell-inner { - position: relative; - z-index: 2; - display: inline-block; - min-width: 24px; - height: 24px; - line-height: 24px; - border-radius: 2px; - transition: background 0.3s, border 0.3s; -} -.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, -.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner { - background: #f5f5f5; -} -.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - border: 1px solid #1890ff; - border-radius: 2px; - content: ''; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range { - position: relative; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range::before { - background: #e6f7ff; -} -.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, -.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, -.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner { - color: #fff; - background: #1890ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before { - background: #e6f7ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start::before { - left: 50%; -} -.ant-picker-cell-in-view.ant-picker-cell-range-end::before { - right: 50%; -} -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after { - position: absolute; - top: 50%; - z-index: 0; - height: 24px; - border-top: 1px dashed #7ec1ff; - border-bottom: 1px dashed #7ec1ff; - transform: translateY(-50%); - transition: all 0.3s; - content: ''; -} -.ant-picker-cell-range-hover-start::after, -.ant-picker-cell-range-hover-end::after, -.ant-picker-cell-range-hover::after { - right: 0; - left: 2px; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before, -.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before, -.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before { - background: #cbe6ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner { - border-radius: 2px 0 0 2px; -} -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner { - border-radius: 0 2px 2px 0; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after, -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - position: absolute; - top: 0; - bottom: 0; - z-index: -1; - background: #cbe6ff; - transition: all 0.3s; - content: ''; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after { - right: -6px; - left: 0; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - right: 0; - left: -6px; -} -.ant-picker-cell-range-hover.ant-picker-cell-range-start::after { - right: 50%; -} -.ant-picker-cell-range-hover.ant-picker-cell-range-end::after { - left: 50%; -} -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, -.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { - left: 6px; - border-left: 1px dashed #7ec1ff; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, -.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { - right: 6px; - border-right: 1px dashed #7ec1ff; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-picker-cell-disabled { - color: rgba(0, 0, 0, 0.25); - pointer-events: none; -} -.ant-picker-cell-disabled .ant-picker-cell-inner { - background: transparent; -} -.ant-picker-cell-disabled::before { - background: rgba(0, 0, 0, 0.04); -} -.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-picker-decade-panel .ant-picker-content, -.ant-picker-year-panel .ant-picker-content, -.ant-picker-quarter-panel .ant-picker-content, -.ant-picker-month-panel .ant-picker-content { - height: 264px; -} -.ant-picker-decade-panel .ant-picker-cell-inner, -.ant-picker-year-panel .ant-picker-cell-inner, -.ant-picker-quarter-panel .ant-picker-cell-inner, -.ant-picker-month-panel .ant-picker-cell-inner { - padding: 0 8px; -} -.ant-picker-quarter-panel .ant-picker-content { - height: 56px; -} -.ant-picker-footer { - width: min-content; - min-width: 100%; - line-height: 38px; - text-align: center; - border-bottom: 1px solid transparent; -} -.ant-picker-panel .ant-picker-footer { - border-top: 1px solid #f0f0f0; -} -.ant-picker-footer-extra { - padding: 0 12px; - line-height: 38px; - text-align: left; -} -.ant-picker-footer-extra:not(:last-child) { - border-bottom: 1px solid #f0f0f0; -} -.ant-picker-now { - text-align: left; -} -.ant-picker-today-btn { - color: #1890ff; -} -.ant-picker-today-btn:hover { - color: #40a9ff; -} -.ant-picker-today-btn:active { - color: #096dd9; -} -.ant-picker-today-btn.ant-picker-today-btn-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-picker-decade-panel .ant-picker-cell-inner { - padding: 0 4px; -} -.ant-picker-decade-panel .ant-picker-cell::before { - display: none; -} -.ant-picker-year-panel .ant-picker-body, -.ant-picker-quarter-panel .ant-picker-body, -.ant-picker-month-panel .ant-picker-body { - padding: 0 8px; -} -.ant-picker-year-panel .ant-picker-cell-inner, -.ant-picker-quarter-panel .ant-picker-cell-inner, -.ant-picker-month-panel .ant-picker-cell-inner { - width: 60px; -} -.ant-picker-year-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-month-panel .ant-picker-cell-range-hover-start::after { - left: 14px; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after { - right: 14px; - border-right: 1px dashed #7ec1ff; - border-radius: 0 2px 2px 0; -} -.ant-picker-year-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-month-panel .ant-picker-cell-range-hover-end::after { - right: 14px; - border-right: 1px dashed #7ec1ff; - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after { - left: 14px; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-week-panel .ant-picker-body { - padding: 8px 12px; -} -.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner, -.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner, -.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner { - background: transparent !important; -} -.ant-picker-week-panel-row td { - transition: background 0.3s; -} -.ant-picker-week-panel-row:hover td { - background: #f5f5f5; -} -.ant-picker-week-panel-row-selected td, -.ant-picker-week-panel-row-selected:hover td { - background: #1890ff; -} -.ant-picker-week-panel-row-selected td.ant-picker-cell-week, -.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week { - color: rgba(255, 255, 255, 0.5); -} -.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before, -.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before { - border-color: #fff; -} -.ant-picker-week-panel-row-selected td .ant-picker-cell-inner, -.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner { - color: #fff; -} -.ant-picker-date-panel .ant-picker-body { - padding: 8px 12px; -} -.ant-picker-date-panel .ant-picker-content { - width: 252px; -} -.ant-picker-date-panel .ant-picker-content th { - width: 36px; -} -.ant-picker-datetime-panel { - display: flex; -} -.ant-picker-datetime-panel .ant-picker-time-panel { - border-left: 1px solid #f0f0f0; -} -.ant-picker-datetime-panel .ant-picker-date-panel, -.ant-picker-datetime-panel .ant-picker-time-panel { - transition: opacity 0.3s; -} -.ant-picker-datetime-panel-active .ant-picker-date-panel, -.ant-picker-datetime-panel-active .ant-picker-time-panel { - opacity: 0.3; -} -.ant-picker-datetime-panel-active .ant-picker-date-panel-active, -.ant-picker-datetime-panel-active .ant-picker-time-panel-active { - opacity: 1; -} -.ant-picker-time-panel { - width: auto; - min-width: auto; -} -.ant-picker-time-panel .ant-picker-content { - display: flex; - flex: auto; - height: 224px; -} -.ant-picker-time-panel-column { - flex: 1 0 auto; - width: 56px; - margin: 0; - padding: 0; - overflow-y: hidden; - text-align: left; - list-style: none; - transition: background 0.3s; -} -.ant-picker-time-panel-column::after { - display: block; - height: 196px; - content: ''; -} -.ant-picker-datetime-panel .ant-picker-time-panel-column::after { - height: 198px; -} -.ant-picker-time-panel-column:not(:first-child) { - border-left: 1px solid #f0f0f0; -} -.ant-picker-time-panel-column-active { - background: rgba(230, 247, 255, 0.2); -} -.ant-picker-time-panel-column:hover { - overflow-y: auto; -} -.ant-picker-time-panel-column > li { - margin: 0; - padding: 0; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner { - display: block; - width: 100%; - height: 28px; - margin: 0; - padding: 0 0 0 14px; - color: rgba(0, 0, 0, 0.85); - line-height: 28px; - border-radius: 0; - cursor: pointer; - transition: background 0.3s; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover { - background: #f5f5f5; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner { - background: #e6f7ff; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -/* stylelint-disable selector-type-no-unknown,selector-no-vendor-prefix */ -_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell, -:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell, -_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell, -:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell { - padding: 21px 0; -} -.ant-picker-rtl { - direction: rtl; -} -.ant-picker-rtl .ant-picker-suffix { - margin-right: 4px; - margin-left: 0; -} -.ant-picker-rtl .ant-picker-clear { - right: auto; - left: 0; -} -.ant-picker-rtl .ant-picker-separator { - transform: rotate(180deg); -} -.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child) { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-rtl.ant-picker-range .ant-picker-clear { - right: auto; - left: 11px; -} -.ant-picker-rtl.ant-picker-range .ant-picker-active-bar { - margin-right: 11px; - margin-left: 0; -} -.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar { - margin-right: 7px; -} -.ant-picker-dropdown-rtl .ant-picker-ranges { - text-align: right; -} -.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok { - float: left; - margin-right: 8px; - margin-left: 0; -} -.ant-picker-panel-rtl { - direction: rtl; -} -.ant-picker-panel-rtl .ant-picker-prev-icon, -.ant-picker-panel-rtl .ant-picker-super-prev-icon { - transform: rotate(135deg); -} -.ant-picker-panel-rtl .ant-picker-next-icon, -.ant-picker-panel-rtl .ant-picker-super-next-icon { - transform: rotate(-45deg); -} -.ant-picker-cell .ant-picker-cell-inner { - position: relative; - z-index: 2; - display: inline-block; - min-width: 24px; - height: 24px; - line-height: 24px; - border-radius: 2px; - transition: background 0.3s, border 0.3s; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before { - right: 50%; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before { - right: 0; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before { - right: 50%; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after { - right: 0; - left: -6px; -} -.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - right: -6px; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after { - right: 0; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after { - right: 50%; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner { - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner { - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { - right: 6px; - left: 0; - border-right: 1px dashed #7ec1ff; - border-left: none; - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { - right: 0; - left: 6px; - border-right: none; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after { - right: 6px; - left: 6px; - border-right: 1px dashed #7ec1ff; - border-left: 1px dashed #7ec1ff; - border-radius: 2px; -} -.ant-picker-dropdown-rtl .ant-picker-footer-extra { - direction: rtl; - text-align: right; -} -.ant-picker-panel-rtl .ant-picker-time-panel { - direction: ltr; -} -.ant-picker-inline { - border: none; - padding: 0; -} -.ant-picker-inline .ant-picker-range-arrow { - display: none !important; -} -.ant-descriptions-header { - display: flex; - align-items: center; - margin-bottom: 20px; -} -.ant-descriptions-title { - flex: auto; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: bold; - font-size: 16px; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-descriptions-extra { - margin-left: auto; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-descriptions-view { - width: 100%; - border-radius: 2px; -} -.ant-descriptions-view table { - width: 100%; - table-layout: fixed; -} -.ant-descriptions-row > th, -.ant-descriptions-row > td { - padding-bottom: 16px; -} -.ant-descriptions-row:last-child { - border-bottom: none; -} -.ant-descriptions-item-label { - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 1.5715; - text-align: start; -} -.ant-descriptions-item-label::after { - content: ':'; - position: relative; - top: -0.5px; - margin: 0 8px 0 2px; -} -.ant-descriptions-item-label.ant-descriptions-item-no-colon::after { - content: ' '; -} -.ant-descriptions-item-no-label::after { - margin: 0; - content: ''; -} -.ant-descriptions-item-content { - display: table-cell; - flex: 1; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - word-break: break-word; - overflow-wrap: break-word; -} -.ant-descriptions-item { - padding-bottom: 0; - vertical-align: top; -} -.ant-descriptions-item-container { - display: flex; -} -.ant-descriptions-item-container .ant-descriptions-item-label, -.ant-descriptions-item-container .ant-descriptions-item-content { - display: inline-flex; - align-items: baseline; -} -.ant-descriptions-middle .ant-descriptions-row > th, -.ant-descriptions-middle .ant-descriptions-row > td { - padding-bottom: 12px; -} -.ant-descriptions-small .ant-descriptions-row > th, -.ant-descriptions-small .ant-descriptions-row > td { - padding-bottom: 8px; -} -.ant-descriptions-bordered .ant-descriptions-view { - border: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-view > table { - table-layout: auto; - border-collapse: collapse; -} -.ant-descriptions-bordered .ant-descriptions-item-label, -.ant-descriptions-bordered .ant-descriptions-item-content { - padding: 16px 24px; - border-right: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-item-label:last-child, -.ant-descriptions-bordered .ant-descriptions-item-content:last-child { - border-right: none; -} -.ant-descriptions-bordered .ant-descriptions-item-label { - background-color: #fafafa; -} -.ant-descriptions-bordered .ant-descriptions-item-label::after { - display: none; -} -.ant-descriptions-bordered .ant-descriptions-row { - border-bottom: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-row:last-child { - border-bottom: none; -} -.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label, -.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content { - padding: 12px 24px; -} -.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label, -.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content { - padding: 8px 16px; -} -.ant-descriptions-rtl { - direction: rtl; -} -.ant-descriptions-rtl .ant-descriptions-item-label::after { - margin: 0 2px 0 8px; -} -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label, -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child, -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child { - border-left: none; -} -.ant-divider { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - border-top: 1px solid rgba(0, 0, 0, 0.06); -} -.ant-divider-vertical { - position: relative; - top: -0.06em; - display: inline-block; - height: 0.9em; - margin: 0 8px; - vertical-align: middle; - border-top: 0; - border-left: 1px solid rgba(0, 0, 0, 0.06); -} -.ant-divider-horizontal { - display: flex; - clear: both; - width: 100%; - min-width: 100%; - margin: 24px 0; -} -.ant-divider-horizontal.ant-divider-with-text { - display: flex; - margin: 16px 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - white-space: nowrap; - text-align: center; - border-top: 0; - border-top-color: rgba(0, 0, 0, 0.06); -} -.ant-divider-horizontal.ant-divider-with-text::before, -.ant-divider-horizontal.ant-divider-with-text::after { - position: relative; - top: 50%; - width: 50%; - border-top: 1px solid transparent; - border-top-color: inherit; - border-bottom: 0; - transform: translateY(50%); - content: ''; -} -.ant-divider-horizontal.ant-divider-with-text-left::before { - top: 50%; - width: 5%; -} -.ant-divider-horizontal.ant-divider-with-text-left::after { - top: 50%; - width: 95%; -} -.ant-divider-horizontal.ant-divider-with-text-right::before { - top: 50%; - width: 95%; -} -.ant-divider-horizontal.ant-divider-with-text-right::after { - top: 50%; - width: 5%; -} -.ant-divider-inner-text { - display: inline-block; - padding: 0 1em; -} -.ant-divider-dashed { - background: none; - border-color: rgba(0, 0, 0, 0.06); - border-style: dashed; - border-width: 1px 0 0; -} -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before, -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after { - border-style: dashed none none; -} -.ant-divider-vertical.ant-divider-dashed { - border-width: 0 0 0 1px; -} -.ant-divider-plain.ant-divider-with-text { - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::before { - width: 0; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::after { - width: 100%; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left .ant-divider-inner-text { - padding-left: 0; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::before { - width: 100%; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::after { - width: 0; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right .ant-divider-inner-text { - padding-right: 0; -} -.ant-divider-rtl { - direction: rtl; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before { - width: 95%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after { - width: 5%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before { - width: 5%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after { - width: 95%; -} -.ant-drawer { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - pointer-events: none; -} -.ant-drawer-inline { - position: absolute; -} -.ant-drawer-mask { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - background: rgba(0, 0, 0, 0.45); - pointer-events: auto; -} -.ant-drawer-content-wrapper { - position: absolute; - z-index: 1000; - transition: all 0.3s; -} -.ant-drawer-content-wrapper-hidden { - display: none; -} -.ant-drawer-left > .ant-drawer-content-wrapper { - top: 0; - bottom: 0; - left: 0; - box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-right > .ant-drawer-content-wrapper { - top: 0; - right: 0; - bottom: 0; - box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-top > .ant-drawer-content-wrapper { - top: 0; - right: 0; - left: 0; - box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-bottom > .ant-drawer-content-wrapper { - right: 0; - bottom: 0; - left: 0; - box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-content { - width: 100%; - height: 100%; - overflow: auto; - background: #fff; - pointer-events: auto; -} -.ant-drawer-wrapper-body { - display: flex; - flex-direction: column; - width: 100%; - height: 100%; -} -.ant-drawer-header { - display: flex; - flex: 0; - align-items: center; - padding: 16px 24px; - font-size: 16px; - line-height: 22px; - border-bottom: 1px solid #f0f0f0; -} -.ant-drawer-header-title { - display: flex; - flex: 1; - align-items: center; - min-width: 0; - min-height: 0; -} -.ant-drawer-extra { - flex: none; -} -.ant-drawer-close { - display: inline-block; - margin-right: 12px; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - font-size: 16px; - font-style: normal; - line-height: 1; - text-align: center; - text-transform: none; - text-decoration: none; - background: transparent; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; - text-rendering: auto; -} -.ant-drawer-close:focus, -.ant-drawer-close:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-drawer-title { - flex: 1; - margin: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 22px; -} -.ant-drawer-body { - flex: 1; - min-width: 0; - min-height: 0; - padding: 24px; - overflow: auto; -} -.ant-drawer-footer { - flex-shrink: 0; - padding: 10px 16px; - border-top: 1px solid #f0f0f0; -} -.panel-motion-enter-start, -.panel-motion-appear-start, -.panel-motion-leave-start { - transition: none; -} -.panel-motion-enter-active, -.panel-motion-appear-active, -.panel-motion-leave-active { - transition: all 0.3s; -} -.ant-drawer-mask-motion-enter-active, -.ant-drawer-mask-motion-appear-active, -.ant-drawer-mask-motion-leave-active { - transition: all 0.3s; -} -.ant-drawer-mask-motion-enter, -.ant-drawer-mask-motion-appear { - opacity: 0; -} -.ant-drawer-mask-motion-enter-active, -.ant-drawer-mask-motion-appear-active { - opacity: 1; -} -.ant-drawer-mask-motion-leave { - opacity: 1; -} -.ant-drawer-mask-motion-leave-active { - opacity: 0; -} -.ant-drawer-panel-motion-left-enter-start, -.ant-drawer-panel-motion-left-appear-start, -.ant-drawer-panel-motion-left-leave-start { - transition: none; -} -.ant-drawer-panel-motion-left-enter-active, -.ant-drawer-panel-motion-left-appear-active, -.ant-drawer-panel-motion-left-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-left-enter-start, -.ant-drawer-panel-motion-left-appear-start { - transform: translateX(-100%) !important; -} -.ant-drawer-panel-motion-left-enter-active, -.ant-drawer-panel-motion-left-appear-active { - transform: translateX(0); -} -.ant-drawer-panel-motion-left-leave { - transform: translateX(0); -} -.ant-drawer-panel-motion-left-leave-active { - transform: translateX(-100%); -} -.ant-drawer-panel-motion-right-enter-start, -.ant-drawer-panel-motion-right-appear-start, -.ant-drawer-panel-motion-right-leave-start { - transition: none; -} -.ant-drawer-panel-motion-right-enter-active, -.ant-drawer-panel-motion-right-appear-active, -.ant-drawer-panel-motion-right-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-right-enter-start, -.ant-drawer-panel-motion-right-appear-start { - transform: translateX(100%) !important; -} -.ant-drawer-panel-motion-right-enter-active, -.ant-drawer-panel-motion-right-appear-active { - transform: translateX(0); -} -.ant-drawer-panel-motion-right-leave { - transform: translateX(0); -} -.ant-drawer-panel-motion-right-leave-active { - transform: translateX(100%); -} -.ant-drawer-panel-motion-top-enter-start, -.ant-drawer-panel-motion-top-appear-start, -.ant-drawer-panel-motion-top-leave-start { - transition: none; -} -.ant-drawer-panel-motion-top-enter-active, -.ant-drawer-panel-motion-top-appear-active, -.ant-drawer-panel-motion-top-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-top-enter-start, -.ant-drawer-panel-motion-top-appear-start { - transform: translateY(-100%) !important; -} -.ant-drawer-panel-motion-top-enter-active, -.ant-drawer-panel-motion-top-appear-active { - transform: translateY(0); -} -.ant-drawer-panel-motion-top-leave { - transform: translateY(0); -} -.ant-drawer-panel-motion-top-leave-active { - transform: translateY(-100%); -} -.ant-drawer-panel-motion-bottom-enter-start, -.ant-drawer-panel-motion-bottom-appear-start, -.ant-drawer-panel-motion-bottom-leave-start { - transition: none; -} -.ant-drawer-panel-motion-bottom-enter-active, -.ant-drawer-panel-motion-bottom-appear-active, -.ant-drawer-panel-motion-bottom-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-bottom-enter-start, -.ant-drawer-panel-motion-bottom-appear-start { - transform: translateY(100%) !important; -} -.ant-drawer-panel-motion-bottom-enter-active, -.ant-drawer-panel-motion-bottom-appear-active { - transform: translateY(0); -} -.ant-drawer-panel-motion-bottom-leave { - transform: translateY(0); -} -.ant-drawer-panel-motion-bottom-leave-active { - transform: translateY(100%); -} -.ant-drawer-rtl { - direction: rtl; -} -.ant-drawer-rtl .ant-drawer-close { - margin-right: 0; - margin-left: 12px; -} -body:has(.ant-drawer-open .ant-drawer-mask) { - overflow: hidden; - padding-right: var(--ant-scrollbar-width); -} -.ant-dropdown-menu-item.ant-dropdown-menu-item-danger { - color: #ff4d4f; -} -.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover { - color: #fff; - background-color: #ff4d4f; -} -.ant-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - display: block; -} -.ant-dropdown::before { - position: absolute; - top: -4px; - right: 0; - bottom: -4px; - left: -7px; - z-index: -9999; - opacity: 0.0001; - content: ' '; -} -.ant-dropdown-wrap { - position: relative; -} -.ant-dropdown-wrap .ant-btn > .anticon-down { - font-size: 10px; -} -.ant-dropdown-wrap .anticon-down::before { - transition: transform 0.2s; -} -.ant-dropdown-wrap-open .anticon-down::before { - transform: rotate(180deg); -} -.ant-dropdown-hidden, -.ant-dropdown-menu-hidden, -.ant-dropdown-menu-submenu-hidden { - display: none; -} -.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft, -.ant-dropdown-show-arrow.ant-dropdown-placement-top, -.ant-dropdown-show-arrow.ant-dropdown-placement-topRight { - padding-bottom: 15.3137085px; -} -.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft, -.ant-dropdown-show-arrow.ant-dropdown-placement-bottom, -.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight { - padding-top: 15.3137085px; -} -.ant-dropdown-arrow { - position: absolute; - z-index: 1; - display: block; - width: 11.3137085px; - height: 11.3137085px; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-dropdown-arrow::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: #fff; - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-dropdown-placement-top > .ant-dropdown-arrow, -.ant-dropdown-placement-topLeft > .ant-dropdown-arrow, -.ant-dropdown-placement-topRight > .ant-dropdown-arrow { - bottom: 10px; - box-shadow: 3px 3px 7px -3px rgba(0, 0, 0, 0.1); - transform: rotate(45deg); -} -.ant-dropdown-placement-top > .ant-dropdown-arrow { - left: 50%; - transform: translateX(-50%) rotate(45deg); -} -.ant-dropdown-placement-topLeft > .ant-dropdown-arrow { - left: 16px; -} -.ant-dropdown-placement-topRight > .ant-dropdown-arrow { - right: 16px; -} -.ant-dropdown-placement-bottom > .ant-dropdown-arrow, -.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow, -.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow { - top: 9.41421356px; - box-shadow: 2px 2px 5px -2px rgba(0, 0, 0, 0.1); - transform: rotate(-135deg) translateY(-0.5px); -} -.ant-dropdown-placement-bottom > .ant-dropdown-arrow { - left: 50%; - transform: translateX(-50%) rotate(-135deg) translateY(-0.5px); -} -.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow { - left: 16px; -} -.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow { - right: 16px; -} -.ant-dropdown-menu { - position: relative; - margin: 0; - padding: 4px 0; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-dropdown-menu-item-group-title { - padding: 5px 12px; - color: rgba(0, 0, 0, 0.45); - transition: all 0.3s; -} -.ant-dropdown-menu-submenu-popup { - position: absolute; - z-index: 1050; - background: transparent; - box-shadow: none; - transform-origin: 0 0; -} -.ant-dropdown-menu-submenu-popup ul, -.ant-dropdown-menu-submenu-popup li { - list-style: none; -} -.ant-dropdown-menu-submenu-popup ul { - margin-right: 0.3em; - margin-left: 0.3em; -} -.ant-dropdown-menu-item { - position: relative; - display: flex; - align-items: center; -} -.ant-dropdown-menu-item-icon { - min-width: 12px; - margin-right: 8px; - font-size: 12px; -} -.ant-dropdown-menu-title-content { - flex: auto; -} -.ant-dropdown-menu-title-content > a { - color: inherit; - transition: all 0.3s; -} -.ant-dropdown-menu-title-content > a:hover { - color: inherit; -} -.ant-dropdown-menu-title-content > a::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - content: ''; -} -.ant-dropdown-menu-item, -.ant-dropdown-menu-submenu-title { - clear: both; - margin: 0; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - cursor: pointer; - transition: all 0.3s; -} -.ant-dropdown-menu-item-selected, -.ant-dropdown-menu-submenu-title-selected { - color: #1890ff; - background-color: #e6f7ff; -} -.ant-dropdown-menu-item:hover, -.ant-dropdown-menu-submenu-title:hover, -.ant-dropdown-menu-item.ant-dropdown-menu-item-active, -.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-active, -.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-active, -.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-active { - background-color: #f5f5f5; -} -.ant-dropdown-menu-item-disabled, -.ant-dropdown-menu-submenu-title-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-dropdown-menu-item-disabled:hover, -.ant-dropdown-menu-submenu-title-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-dropdown-menu-item-disabled a, -.ant-dropdown-menu-submenu-title-disabled a { - pointer-events: none; -} -.ant-dropdown-menu-item-divider, -.ant-dropdown-menu-submenu-title-divider { - height: 1px; - margin: 4px 0; - overflow: hidden; - line-height: 0; - background-color: #f0f0f0; -} -.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon, -.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon { - position: absolute; - right: 8px; -} -.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, -.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon { - margin-right: 0 !important; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; - font-style: normal; -} -.ant-dropdown-menu-item-group-list { - margin: 0 8px; - padding: 0; - list-style: none; -} -.ant-dropdown-menu-submenu-title { - padding-right: 24px; -} -.ant-dropdown-menu-submenu-vertical { - position: relative; -} -.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu { - position: absolute; - top: 0; - left: 100%; - min-width: 100%; - margin-left: 4px; - transform-origin: 0 0; -} -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title { - color: #1890ff; -} -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight { - animation-name: antSlideUpIn; -} -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight { - animation-name: antSlideDownIn; -} -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight { - animation-name: antSlideUpOut; -} -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight { - animation-name: antSlideDownOut; -} -.ant-dropdown-trigger > .anticon.anticon-down, -.ant-dropdown-link > .anticon.anticon-down, -.ant-dropdown-button > .anticon.anticon-down { - font-size: 10px; - vertical-align: baseline; -} -.ant-dropdown-button { - white-space: nowrap; -} -.ant-dropdown-button.ant-btn-group > .ant-btn-loading, -.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn { - cursor: default; - pointer-events: none; -} -.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn::before { - display: block; -} -.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only) { - padding-right: 8px; - padding-left: 8px; -} -.ant-dropdown-menu-dark, -.ant-dropdown-menu-dark .ant-dropdown-menu { - background: #001529; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a .ant-dropdown-menu-submenu-arrow::after { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a:hover { - color: #fff; - background: transparent; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { - color: #fff; - background: #1890ff; -} -.ant-dropdown-rtl { - direction: rtl; -} -.ant-dropdown-rtl.ant-dropdown::before { - right: -7px; - left: 0; -} -.ant-dropdown-menu.ant-dropdown-menu-rtl { - direction: rtl; - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item-group-title, -.ant-dropdown-menu-submenu-rtl .ant-dropdown-menu-item-group-title { - direction: rtl; - text-align: right; -} -.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl { - transform-origin: 100% 0; -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li { - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title { - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-item > span > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > span > .anticon:first-child { - margin-right: 0; - margin-left: 8px; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon { - right: auto; - left: 8px; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon { - margin-left: 0 !important; - transform: scaleX(-1); -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title { - padding-right: 12px; - padding-left: 24px; -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu { - right: 100%; - left: 0; - margin-right: 4px; - margin-left: 0; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow { - transform: rotate(180deg); -} -.ant-empty { - margin: 0 8px; - font-size: 14px; - line-height: 1.5715; - text-align: center; -} -.ant-empty-image { - height: 100px; - margin-bottom: 8px; -} -.ant-empty-image img { - height: 100%; -} -.ant-empty-image svg { - height: 100%; - margin: auto; -} -.ant-empty-footer { - margin-top: 16px; -} -.ant-empty-normal { - margin: 32px 0; - color: rgba(0, 0, 0, 0.25); -} -.ant-empty-normal .ant-empty-image { - height: 40px; -} -.ant-empty-small { - margin: 8px 0; - color: rgba(0, 0, 0, 0.25); -} -.ant-empty-small .ant-empty-image { - height: 35px; -} -.ant-empty-img-default-ellipse { - fill: #f5f5f5; - fill-opacity: 0.8; -} -.ant-empty-img-default-path-1 { - fill: #aeb8c2; -} -.ant-empty-img-default-path-2 { - fill: url('_content/AntDesign/css/#linearGradient-1'); -} -.ant-empty-img-default-path-3 { - fill: #f5f5f7; -} -.ant-empty-img-default-path-4 { - fill: #dce0e6; -} -.ant-empty-img-default-path-5 { - fill: #dce0e6; -} -.ant-empty-img-default-g { - fill: #fff; -} -.ant-empty-img-simple-ellipse { - fill: #f5f5f5; -} -.ant-empty-img-simple-g { - stroke: #d9d9d9; -} -.ant-empty-img-simple-path { - fill: #fafafa; -} -.ant-empty-rtl { - direction: rtl; -} -.ant-row { - display: flex; - flex-flow: row wrap; - min-width: 0; -} -.ant-row::before, -.ant-row::after { - display: flex; -} -.ant-row-no-wrap { - flex-wrap: nowrap; -} -.ant-row-start { - justify-content: flex-start; -} -.ant-row-center { - justify-content: center; -} -.ant-row-end { - justify-content: flex-end; -} -.ant-row-space-between { - justify-content: space-between; -} -.ant-row-space-around { - justify-content: space-around; -} -.ant-row-space-evenly { - justify-content: space-evenly; -} -.ant-row-top { - align-items: flex-start; -} -.ant-row-middle { - align-items: center; -} -.ant-row-bottom { - align-items: flex-end; -} -.ant-col { - position: relative; - max-width: 100%; - min-height: 1px; -} -.ant-col-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; -} -.ant-col-push-24 { - left: 100%; -} -.ant-col-pull-24 { - right: 100%; -} -.ant-col-offset-24 { - margin-left: 100%; -} -.ant-col-order-24 { - order: 24; -} -.ant-col-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; -} -.ant-col-push-23 { - left: 95.83333333%; -} -.ant-col-pull-23 { - right: 95.83333333%; -} -.ant-col-offset-23 { - margin-left: 95.83333333%; -} -.ant-col-order-23 { - order: 23; -} -.ant-col-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; -} -.ant-col-push-22 { - left: 91.66666667%; -} -.ant-col-pull-22 { - right: 91.66666667%; -} -.ant-col-offset-22 { - margin-left: 91.66666667%; -} -.ant-col-order-22 { - order: 22; -} -.ant-col-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; -} -.ant-col-push-21 { - left: 87.5%; -} -.ant-col-pull-21 { - right: 87.5%; -} -.ant-col-offset-21 { - margin-left: 87.5%; -} -.ant-col-order-21 { - order: 21; -} -.ant-col-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; -} -.ant-col-push-20 { - left: 83.33333333%; -} -.ant-col-pull-20 { - right: 83.33333333%; -} -.ant-col-offset-20 { - margin-left: 83.33333333%; -} -.ant-col-order-20 { - order: 20; -} -.ant-col-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; -} -.ant-col-push-19 { - left: 79.16666667%; -} -.ant-col-pull-19 { - right: 79.16666667%; -} -.ant-col-offset-19 { - margin-left: 79.16666667%; -} -.ant-col-order-19 { - order: 19; -} -.ant-col-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; -} -.ant-col-push-18 { - left: 75%; -} -.ant-col-pull-18 { - right: 75%; -} -.ant-col-offset-18 { - margin-left: 75%; -} -.ant-col-order-18 { - order: 18; -} -.ant-col-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; -} -.ant-col-push-17 { - left: 70.83333333%; -} -.ant-col-pull-17 { - right: 70.83333333%; -} -.ant-col-offset-17 { - margin-left: 70.83333333%; -} -.ant-col-order-17 { - order: 17; -} -.ant-col-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; -} -.ant-col-push-16 { - left: 66.66666667%; -} -.ant-col-pull-16 { - right: 66.66666667%; -} -.ant-col-offset-16 { - margin-left: 66.66666667%; -} -.ant-col-order-16 { - order: 16; -} -.ant-col-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; -} -.ant-col-push-15 { - left: 62.5%; -} -.ant-col-pull-15 { - right: 62.5%; -} -.ant-col-offset-15 { - margin-left: 62.5%; -} -.ant-col-order-15 { - order: 15; -} -.ant-col-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; -} -.ant-col-push-14 { - left: 58.33333333%; -} -.ant-col-pull-14 { - right: 58.33333333%; -} -.ant-col-offset-14 { - margin-left: 58.33333333%; -} -.ant-col-order-14 { - order: 14; -} -.ant-col-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; -} -.ant-col-push-13 { - left: 54.16666667%; -} -.ant-col-pull-13 { - right: 54.16666667%; -} -.ant-col-offset-13 { - margin-left: 54.16666667%; -} -.ant-col-order-13 { - order: 13; -} -.ant-col-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; -} -.ant-col-push-12 { - left: 50%; -} -.ant-col-pull-12 { - right: 50%; -} -.ant-col-offset-12 { - margin-left: 50%; -} -.ant-col-order-12 { - order: 12; -} -.ant-col-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; -} -.ant-col-push-11 { - left: 45.83333333%; -} -.ant-col-pull-11 { - right: 45.83333333%; -} -.ant-col-offset-11 { - margin-left: 45.83333333%; -} -.ant-col-order-11 { - order: 11; -} -.ant-col-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; -} -.ant-col-push-10 { - left: 41.66666667%; -} -.ant-col-pull-10 { - right: 41.66666667%; -} -.ant-col-offset-10 { - margin-left: 41.66666667%; -} -.ant-col-order-10 { - order: 10; -} -.ant-col-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; -} -.ant-col-push-9 { - left: 37.5%; -} -.ant-col-pull-9 { - right: 37.5%; -} -.ant-col-offset-9 { - margin-left: 37.5%; -} -.ant-col-order-9 { - order: 9; -} -.ant-col-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; -} -.ant-col-push-8 { - left: 33.33333333%; -} -.ant-col-pull-8 { - right: 33.33333333%; -} -.ant-col-offset-8 { - margin-left: 33.33333333%; -} -.ant-col-order-8 { - order: 8; -} -.ant-col-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; -} -.ant-col-push-7 { - left: 29.16666667%; -} -.ant-col-pull-7 { - right: 29.16666667%; -} -.ant-col-offset-7 { - margin-left: 29.16666667%; -} -.ant-col-order-7 { - order: 7; -} -.ant-col-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; -} -.ant-col-push-6 { - left: 25%; -} -.ant-col-pull-6 { - right: 25%; -} -.ant-col-offset-6 { - margin-left: 25%; -} -.ant-col-order-6 { - order: 6; -} -.ant-col-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; -} -.ant-col-push-5 { - left: 20.83333333%; -} -.ant-col-pull-5 { - right: 20.83333333%; -} -.ant-col-offset-5 { - margin-left: 20.83333333%; -} -.ant-col-order-5 { - order: 5; -} -.ant-col-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; -} -.ant-col-push-4 { - left: 16.66666667%; -} -.ant-col-pull-4 { - right: 16.66666667%; -} -.ant-col-offset-4 { - margin-left: 16.66666667%; -} -.ant-col-order-4 { - order: 4; -} -.ant-col-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; -} -.ant-col-push-3 { - left: 12.5%; -} -.ant-col-pull-3 { - right: 12.5%; -} -.ant-col-offset-3 { - margin-left: 12.5%; -} -.ant-col-order-3 { - order: 3; -} -.ant-col-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; -} -.ant-col-push-2 { - left: 8.33333333%; -} -.ant-col-pull-2 { - right: 8.33333333%; -} -.ant-col-offset-2 { - margin-left: 8.33333333%; -} -.ant-col-order-2 { - order: 2; -} -.ant-col-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; -} -.ant-col-push-1 { - left: 4.16666667%; -} -.ant-col-pull-1 { - right: 4.16666667%; -} -.ant-col-offset-1 { - margin-left: 4.16666667%; -} -.ant-col-order-1 { - order: 1; -} -.ant-col-0 { - display: none; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-offset-0 { - margin-left: 0; -} -.ant-col-order-0 { - order: 0; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-offset-0.ant-col-rtl { - margin-right: 0; -} -.ant-col-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; -} -.ant-col-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; -} -.ant-col-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; -} -.ant-col-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; -} -.ant-col-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; -} -.ant-col-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; -} -.ant-col-push-3.ant-col-rtl { - right: 12.5%; - left: auto; -} -.ant-col-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; -} -.ant-col-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; -} -.ant-col-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; -} -.ant-col-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; -} -.ant-col-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; -} -.ant-col-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; -} -.ant-col-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; -} -.ant-col-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; -} -.ant-col-push-6.ant-col-rtl { - right: 25%; - left: auto; -} -.ant-col-pull-6.ant-col-rtl { - right: auto; - left: 25%; -} -.ant-col-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; -} -.ant-col-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; -} -.ant-col-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; -} -.ant-col-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; -} -.ant-col-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; -} -.ant-col-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; -} -.ant-col-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; -} -.ant-col-push-9.ant-col-rtl { - right: 37.5%; - left: auto; -} -.ant-col-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; -} -.ant-col-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; -} -.ant-col-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; -} -.ant-col-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; -} -.ant-col-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; -} -.ant-col-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; -} -.ant-col-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; -} -.ant-col-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; -} -.ant-col-push-12.ant-col-rtl { - right: 50%; - left: auto; -} -.ant-col-pull-12.ant-col-rtl { - right: auto; - left: 50%; -} -.ant-col-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; -} -.ant-col-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; -} -.ant-col-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; -} -.ant-col-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; -} -.ant-col-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; -} -.ant-col-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; -} -.ant-col-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; -} -.ant-col-push-15.ant-col-rtl { - right: 62.5%; - left: auto; -} -.ant-col-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; -} -.ant-col-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; -} -.ant-col-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; -} -.ant-col-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; -} -.ant-col-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; -} -.ant-col-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; -} -.ant-col-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; -} -.ant-col-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; -} -.ant-col-push-18.ant-col-rtl { - right: 75%; - left: auto; -} -.ant-col-pull-18.ant-col-rtl { - right: auto; - left: 75%; -} -.ant-col-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; -} -.ant-col-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; -} -.ant-col-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; -} -.ant-col-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; -} -.ant-col-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; -} -.ant-col-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; -} -.ant-col-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; -} -.ant-col-push-21.ant-col-rtl { - right: 87.5%; - left: auto; -} -.ant-col-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; -} -.ant-col-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; -} -.ant-col-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; -} -.ant-col-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; -} -.ant-col-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; -} -.ant-col-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; -} -.ant-col-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; -} -.ant-col-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; -} -.ant-col-push-24.ant-col-rtl { - right: 100%; - left: auto; -} -.ant-col-pull-24.ant-col-rtl { - right: auto; - left: 100%; -} -.ant-col-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; -} -.ant-col-xs-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; -} -.ant-col-xs-push-24 { - left: 100%; -} -.ant-col-xs-pull-24 { - right: 100%; -} -.ant-col-xs-offset-24 { - margin-left: 100%; -} -.ant-col-xs-order-24 { - order: 24; -} -.ant-col-xs-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; -} -.ant-col-xs-push-23 { - left: 95.83333333%; -} -.ant-col-xs-pull-23 { - right: 95.83333333%; -} -.ant-col-xs-offset-23 { - margin-left: 95.83333333%; -} -.ant-col-xs-order-23 { - order: 23; -} -.ant-col-xs-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; -} -.ant-col-xs-push-22 { - left: 91.66666667%; -} -.ant-col-xs-pull-22 { - right: 91.66666667%; -} -.ant-col-xs-offset-22 { - margin-left: 91.66666667%; -} -.ant-col-xs-order-22 { - order: 22; -} -.ant-col-xs-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; -} -.ant-col-xs-push-21 { - left: 87.5%; -} -.ant-col-xs-pull-21 { - right: 87.5%; -} -.ant-col-xs-offset-21 { - margin-left: 87.5%; -} -.ant-col-xs-order-21 { - order: 21; -} -.ant-col-xs-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; -} -.ant-col-xs-push-20 { - left: 83.33333333%; -} -.ant-col-xs-pull-20 { - right: 83.33333333%; -} -.ant-col-xs-offset-20 { - margin-left: 83.33333333%; -} -.ant-col-xs-order-20 { - order: 20; -} -.ant-col-xs-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; -} -.ant-col-xs-push-19 { - left: 79.16666667%; -} -.ant-col-xs-pull-19 { - right: 79.16666667%; -} -.ant-col-xs-offset-19 { - margin-left: 79.16666667%; -} -.ant-col-xs-order-19 { - order: 19; -} -.ant-col-xs-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; -} -.ant-col-xs-push-18 { - left: 75%; -} -.ant-col-xs-pull-18 { - right: 75%; -} -.ant-col-xs-offset-18 { - margin-left: 75%; -} -.ant-col-xs-order-18 { - order: 18; -} -.ant-col-xs-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; -} -.ant-col-xs-push-17 { - left: 70.83333333%; -} -.ant-col-xs-pull-17 { - right: 70.83333333%; -} -.ant-col-xs-offset-17 { - margin-left: 70.83333333%; -} -.ant-col-xs-order-17 { - order: 17; -} -.ant-col-xs-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; -} -.ant-col-xs-push-16 { - left: 66.66666667%; -} -.ant-col-xs-pull-16 { - right: 66.66666667%; -} -.ant-col-xs-offset-16 { - margin-left: 66.66666667%; -} -.ant-col-xs-order-16 { - order: 16; -} -.ant-col-xs-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; -} -.ant-col-xs-push-15 { - left: 62.5%; -} -.ant-col-xs-pull-15 { - right: 62.5%; -} -.ant-col-xs-offset-15 { - margin-left: 62.5%; -} -.ant-col-xs-order-15 { - order: 15; -} -.ant-col-xs-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; -} -.ant-col-xs-push-14 { - left: 58.33333333%; -} -.ant-col-xs-pull-14 { - right: 58.33333333%; -} -.ant-col-xs-offset-14 { - margin-left: 58.33333333%; -} -.ant-col-xs-order-14 { - order: 14; -} -.ant-col-xs-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; -} -.ant-col-xs-push-13 { - left: 54.16666667%; -} -.ant-col-xs-pull-13 { - right: 54.16666667%; -} -.ant-col-xs-offset-13 { - margin-left: 54.16666667%; -} -.ant-col-xs-order-13 { - order: 13; -} -.ant-col-xs-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; -} -.ant-col-xs-push-12 { - left: 50%; -} -.ant-col-xs-pull-12 { - right: 50%; -} -.ant-col-xs-offset-12 { - margin-left: 50%; -} -.ant-col-xs-order-12 { - order: 12; -} -.ant-col-xs-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; -} -.ant-col-xs-push-11 { - left: 45.83333333%; -} -.ant-col-xs-pull-11 { - right: 45.83333333%; -} -.ant-col-xs-offset-11 { - margin-left: 45.83333333%; -} -.ant-col-xs-order-11 { - order: 11; -} -.ant-col-xs-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; -} -.ant-col-xs-push-10 { - left: 41.66666667%; -} -.ant-col-xs-pull-10 { - right: 41.66666667%; -} -.ant-col-xs-offset-10 { - margin-left: 41.66666667%; -} -.ant-col-xs-order-10 { - order: 10; -} -.ant-col-xs-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; -} -.ant-col-xs-push-9 { - left: 37.5%; -} -.ant-col-xs-pull-9 { - right: 37.5%; -} -.ant-col-xs-offset-9 { - margin-left: 37.5%; -} -.ant-col-xs-order-9 { - order: 9; -} -.ant-col-xs-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; -} -.ant-col-xs-push-8 { - left: 33.33333333%; -} -.ant-col-xs-pull-8 { - right: 33.33333333%; -} -.ant-col-xs-offset-8 { - margin-left: 33.33333333%; -} -.ant-col-xs-order-8 { - order: 8; -} -.ant-col-xs-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; -} -.ant-col-xs-push-7 { - left: 29.16666667%; -} -.ant-col-xs-pull-7 { - right: 29.16666667%; -} -.ant-col-xs-offset-7 { - margin-left: 29.16666667%; -} -.ant-col-xs-order-7 { - order: 7; -} -.ant-col-xs-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; -} -.ant-col-xs-push-6 { - left: 25%; -} -.ant-col-xs-pull-6 { - right: 25%; -} -.ant-col-xs-offset-6 { - margin-left: 25%; -} -.ant-col-xs-order-6 { - order: 6; -} -.ant-col-xs-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; -} -.ant-col-xs-push-5 { - left: 20.83333333%; -} -.ant-col-xs-pull-5 { - right: 20.83333333%; -} -.ant-col-xs-offset-5 { - margin-left: 20.83333333%; -} -.ant-col-xs-order-5 { - order: 5; -} -.ant-col-xs-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; -} -.ant-col-xs-push-4 { - left: 16.66666667%; -} -.ant-col-xs-pull-4 { - right: 16.66666667%; -} -.ant-col-xs-offset-4 { - margin-left: 16.66666667%; -} -.ant-col-xs-order-4 { - order: 4; -} -.ant-col-xs-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; -} -.ant-col-xs-push-3 { - left: 12.5%; -} -.ant-col-xs-pull-3 { - right: 12.5%; -} -.ant-col-xs-offset-3 { - margin-left: 12.5%; -} -.ant-col-xs-order-3 { - order: 3; -} -.ant-col-xs-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; -} -.ant-col-xs-push-2 { - left: 8.33333333%; -} -.ant-col-xs-pull-2 { - right: 8.33333333%; -} -.ant-col-xs-offset-2 { - margin-left: 8.33333333%; -} -.ant-col-xs-order-2 { - order: 2; -} -.ant-col-xs-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; -} -.ant-col-xs-push-1 { - left: 4.16666667%; -} -.ant-col-xs-pull-1 { - right: 4.16666667%; -} -.ant-col-xs-offset-1 { - margin-left: 4.16666667%; -} -.ant-col-xs-order-1 { - order: 1; -} -.ant-col-xs-0 { - display: none; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-xs-push-0 { - left: auto; -} -.ant-col-xs-pull-0 { - right: auto; -} -.ant-col-xs-offset-0 { - margin-left: 0; -} -.ant-col-xs-order-0 { - order: 0; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-xs-push-0.ant-col-rtl { - right: auto; -} -.ant-col-xs-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-xs-offset-0.ant-col-rtl { - margin-right: 0; -} -.ant-col-xs-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; -} -.ant-col-xs-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; -} -.ant-col-xs-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; -} -.ant-col-xs-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; -} -.ant-col-xs-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; -} -.ant-col-xs-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; -} -.ant-col-xs-push-3.ant-col-rtl { - right: 12.5%; - left: auto; -} -.ant-col-xs-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; -} -.ant-col-xs-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; -} -.ant-col-xs-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; -} -.ant-col-xs-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; -} -.ant-col-xs-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; -} -.ant-col-xs-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; -} -.ant-col-xs-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; -} -.ant-col-xs-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; -} -.ant-col-xs-push-6.ant-col-rtl { - right: 25%; - left: auto; -} -.ant-col-xs-pull-6.ant-col-rtl { - right: auto; - left: 25%; -} -.ant-col-xs-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; -} -.ant-col-xs-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; -} -.ant-col-xs-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; -} -.ant-col-xs-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; -} -.ant-col-xs-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; -} -.ant-col-xs-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; -} -.ant-col-xs-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; -} -.ant-col-xs-push-9.ant-col-rtl { - right: 37.5%; - left: auto; -} -.ant-col-xs-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; -} -.ant-col-xs-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; -} -.ant-col-xs-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; -} -.ant-col-xs-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; -} -.ant-col-xs-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; -} -.ant-col-xs-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; -} -.ant-col-xs-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; -} -.ant-col-xs-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; -} -.ant-col-xs-push-12.ant-col-rtl { - right: 50%; - left: auto; -} -.ant-col-xs-pull-12.ant-col-rtl { - right: auto; - left: 50%; -} -.ant-col-xs-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; -} -.ant-col-xs-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; -} -.ant-col-xs-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; -} -.ant-col-xs-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; -} -.ant-col-xs-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; -} -.ant-col-xs-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; -} -.ant-col-xs-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; -} -.ant-col-xs-push-15.ant-col-rtl { - right: 62.5%; - left: auto; -} -.ant-col-xs-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; -} -.ant-col-xs-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; -} -.ant-col-xs-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; -} -.ant-col-xs-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; -} -.ant-col-xs-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; -} -.ant-col-xs-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; -} -.ant-col-xs-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; -} -.ant-col-xs-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; -} -.ant-col-xs-push-18.ant-col-rtl { - right: 75%; - left: auto; -} -.ant-col-xs-pull-18.ant-col-rtl { - right: auto; - left: 75%; -} -.ant-col-xs-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; -} -.ant-col-xs-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; -} -.ant-col-xs-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; -} -.ant-col-xs-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; -} -.ant-col-xs-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; -} -.ant-col-xs-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; -} -.ant-col-xs-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; -} -.ant-col-xs-push-21.ant-col-rtl { - right: 87.5%; - left: auto; -} -.ant-col-xs-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; -} -.ant-col-xs-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; -} -.ant-col-xs-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; -} -.ant-col-xs-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; -} -.ant-col-xs-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; -} -.ant-col-xs-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; -} -.ant-col-xs-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; -} -.ant-col-xs-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; -} -.ant-col-xs-push-24.ant-col-rtl { - right: 100%; - left: auto; -} -.ant-col-xs-pull-24.ant-col-rtl { - right: auto; - left: 100%; -} -.ant-col-xs-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; -} -@media (min-width: 576px) { - .ant-col-sm-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-sm-push-24 { - left: 100%; - } - .ant-col-sm-pull-24 { - right: 100%; - } - .ant-col-sm-offset-24 { - margin-left: 100%; - } - .ant-col-sm-order-24 { - order: 24; - } - .ant-col-sm-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-sm-push-23 { - left: 95.83333333%; - } - .ant-col-sm-pull-23 { - right: 95.83333333%; - } - .ant-col-sm-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-sm-order-23 { - order: 23; - } - .ant-col-sm-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-sm-push-22 { - left: 91.66666667%; - } - .ant-col-sm-pull-22 { - right: 91.66666667%; - } - .ant-col-sm-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-sm-order-22 { - order: 22; - } - .ant-col-sm-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-sm-push-21 { - left: 87.5%; - } - .ant-col-sm-pull-21 { - right: 87.5%; - } - .ant-col-sm-offset-21 { - margin-left: 87.5%; - } - .ant-col-sm-order-21 { - order: 21; - } - .ant-col-sm-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-sm-push-20 { - left: 83.33333333%; - } - .ant-col-sm-pull-20 { - right: 83.33333333%; - } - .ant-col-sm-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-sm-order-20 { - order: 20; - } - .ant-col-sm-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-sm-push-19 { - left: 79.16666667%; - } - .ant-col-sm-pull-19 { - right: 79.16666667%; - } - .ant-col-sm-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-sm-order-19 { - order: 19; - } - .ant-col-sm-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-sm-push-18 { - left: 75%; - } - .ant-col-sm-pull-18 { - right: 75%; - } - .ant-col-sm-offset-18 { - margin-left: 75%; - } - .ant-col-sm-order-18 { - order: 18; - } - .ant-col-sm-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-sm-push-17 { - left: 70.83333333%; - } - .ant-col-sm-pull-17 { - right: 70.83333333%; - } - .ant-col-sm-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-sm-order-17 { - order: 17; - } - .ant-col-sm-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-sm-push-16 { - left: 66.66666667%; - } - .ant-col-sm-pull-16 { - right: 66.66666667%; - } - .ant-col-sm-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-sm-order-16 { - order: 16; - } - .ant-col-sm-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-sm-push-15 { - left: 62.5%; - } - .ant-col-sm-pull-15 { - right: 62.5%; - } - .ant-col-sm-offset-15 { - margin-left: 62.5%; - } - .ant-col-sm-order-15 { - order: 15; - } - .ant-col-sm-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-sm-push-14 { - left: 58.33333333%; - } - .ant-col-sm-pull-14 { - right: 58.33333333%; - } - .ant-col-sm-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-sm-order-14 { - order: 14; - } - .ant-col-sm-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-sm-push-13 { - left: 54.16666667%; - } - .ant-col-sm-pull-13 { - right: 54.16666667%; - } - .ant-col-sm-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-sm-order-13 { - order: 13; - } - .ant-col-sm-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-sm-push-12 { - left: 50%; - } - .ant-col-sm-pull-12 { - right: 50%; - } - .ant-col-sm-offset-12 { - margin-left: 50%; - } - .ant-col-sm-order-12 { - order: 12; - } - .ant-col-sm-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-sm-push-11 { - left: 45.83333333%; - } - .ant-col-sm-pull-11 { - right: 45.83333333%; - } - .ant-col-sm-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-sm-order-11 { - order: 11; - } - .ant-col-sm-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-sm-push-10 { - left: 41.66666667%; - } - .ant-col-sm-pull-10 { - right: 41.66666667%; - } - .ant-col-sm-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-sm-order-10 { - order: 10; - } - .ant-col-sm-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-sm-push-9 { - left: 37.5%; - } - .ant-col-sm-pull-9 { - right: 37.5%; - } - .ant-col-sm-offset-9 { - margin-left: 37.5%; - } - .ant-col-sm-order-9 { - order: 9; - } - .ant-col-sm-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-sm-push-8 { - left: 33.33333333%; - } - .ant-col-sm-pull-8 { - right: 33.33333333%; - } - .ant-col-sm-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-sm-order-8 { - order: 8; - } - .ant-col-sm-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-sm-push-7 { - left: 29.16666667%; - } - .ant-col-sm-pull-7 { - right: 29.16666667%; - } - .ant-col-sm-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-sm-order-7 { - order: 7; - } - .ant-col-sm-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-sm-push-6 { - left: 25%; - } - .ant-col-sm-pull-6 { - right: 25%; - } - .ant-col-sm-offset-6 { - margin-left: 25%; - } - .ant-col-sm-order-6 { - order: 6; - } - .ant-col-sm-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-sm-push-5 { - left: 20.83333333%; - } - .ant-col-sm-pull-5 { - right: 20.83333333%; - } - .ant-col-sm-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-sm-order-5 { - order: 5; - } - .ant-col-sm-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-sm-push-4 { - left: 16.66666667%; - } - .ant-col-sm-pull-4 { - right: 16.66666667%; - } - .ant-col-sm-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-sm-order-4 { - order: 4; - } - .ant-col-sm-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-sm-push-3 { - left: 12.5%; - } - .ant-col-sm-pull-3 { - right: 12.5%; - } - .ant-col-sm-offset-3 { - margin-left: 12.5%; - } - .ant-col-sm-order-3 { - order: 3; - } - .ant-col-sm-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-sm-push-2 { - left: 8.33333333%; - } - .ant-col-sm-pull-2 { - right: 8.33333333%; - } - .ant-col-sm-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-sm-order-2 { - order: 2; - } - .ant-col-sm-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-sm-push-1 { - left: 4.16666667%; - } - .ant-col-sm-pull-1 { - right: 4.16666667%; - } - .ant-col-sm-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-sm-order-1 { - order: 1; - } - .ant-col-sm-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-sm-push-0 { - left: auto; - } - .ant-col-sm-pull-0 { - right: auto; - } - .ant-col-sm-offset-0 { - margin-left: 0; - } - .ant-col-sm-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-sm-push-0.ant-col-rtl { - right: auto; - } - .ant-col-sm-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-sm-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-sm-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-sm-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-sm-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-sm-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-sm-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-sm-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-sm-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-sm-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-sm-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-sm-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-sm-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-sm-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-sm-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-sm-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-sm-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-sm-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-sm-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-sm-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-sm-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-sm-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-sm-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-sm-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-sm-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-sm-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-sm-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-sm-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-sm-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-sm-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-sm-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-sm-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-sm-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-sm-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-sm-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-sm-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-sm-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-sm-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-sm-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-sm-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-sm-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-sm-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-sm-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-sm-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-sm-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-sm-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-sm-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-sm-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-sm-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-sm-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-sm-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-sm-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-sm-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-sm-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-sm-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-sm-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-sm-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-sm-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-sm-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-sm-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-sm-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-sm-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-sm-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-sm-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-sm-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-sm-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-sm-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-sm-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-sm-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-sm-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-sm-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-sm-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-sm-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-sm-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 768px) { - .ant-col-md-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-md-push-24 { - left: 100%; - } - .ant-col-md-pull-24 { - right: 100%; - } - .ant-col-md-offset-24 { - margin-left: 100%; - } - .ant-col-md-order-24 { - order: 24; - } - .ant-col-md-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-md-push-23 { - left: 95.83333333%; - } - .ant-col-md-pull-23 { - right: 95.83333333%; - } - .ant-col-md-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-md-order-23 { - order: 23; - } - .ant-col-md-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-md-push-22 { - left: 91.66666667%; - } - .ant-col-md-pull-22 { - right: 91.66666667%; - } - .ant-col-md-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-md-order-22 { - order: 22; - } - .ant-col-md-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-md-push-21 { - left: 87.5%; - } - .ant-col-md-pull-21 { - right: 87.5%; - } - .ant-col-md-offset-21 { - margin-left: 87.5%; - } - .ant-col-md-order-21 { - order: 21; - } - .ant-col-md-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-md-push-20 { - left: 83.33333333%; - } - .ant-col-md-pull-20 { - right: 83.33333333%; - } - .ant-col-md-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-md-order-20 { - order: 20; - } - .ant-col-md-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-md-push-19 { - left: 79.16666667%; - } - .ant-col-md-pull-19 { - right: 79.16666667%; - } - .ant-col-md-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-md-order-19 { - order: 19; - } - .ant-col-md-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-md-push-18 { - left: 75%; - } - .ant-col-md-pull-18 { - right: 75%; - } - .ant-col-md-offset-18 { - margin-left: 75%; - } - .ant-col-md-order-18 { - order: 18; - } - .ant-col-md-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-md-push-17 { - left: 70.83333333%; - } - .ant-col-md-pull-17 { - right: 70.83333333%; - } - .ant-col-md-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-md-order-17 { - order: 17; - } - .ant-col-md-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-md-push-16 { - left: 66.66666667%; - } - .ant-col-md-pull-16 { - right: 66.66666667%; - } - .ant-col-md-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-md-order-16 { - order: 16; - } - .ant-col-md-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-md-push-15 { - left: 62.5%; - } - .ant-col-md-pull-15 { - right: 62.5%; - } - .ant-col-md-offset-15 { - margin-left: 62.5%; - } - .ant-col-md-order-15 { - order: 15; - } - .ant-col-md-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-md-push-14 { - left: 58.33333333%; - } - .ant-col-md-pull-14 { - right: 58.33333333%; - } - .ant-col-md-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-md-order-14 { - order: 14; - } - .ant-col-md-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-md-push-13 { - left: 54.16666667%; - } - .ant-col-md-pull-13 { - right: 54.16666667%; - } - .ant-col-md-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-md-order-13 { - order: 13; - } - .ant-col-md-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-md-push-12 { - left: 50%; - } - .ant-col-md-pull-12 { - right: 50%; - } - .ant-col-md-offset-12 { - margin-left: 50%; - } - .ant-col-md-order-12 { - order: 12; - } - .ant-col-md-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-md-push-11 { - left: 45.83333333%; - } - .ant-col-md-pull-11 { - right: 45.83333333%; - } - .ant-col-md-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-md-order-11 { - order: 11; - } - .ant-col-md-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-md-push-10 { - left: 41.66666667%; - } - .ant-col-md-pull-10 { - right: 41.66666667%; - } - .ant-col-md-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-md-order-10 { - order: 10; - } - .ant-col-md-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-md-push-9 { - left: 37.5%; - } - .ant-col-md-pull-9 { - right: 37.5%; - } - .ant-col-md-offset-9 { - margin-left: 37.5%; - } - .ant-col-md-order-9 { - order: 9; - } - .ant-col-md-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-md-push-8 { - left: 33.33333333%; - } - .ant-col-md-pull-8 { - right: 33.33333333%; - } - .ant-col-md-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-md-order-8 { - order: 8; - } - .ant-col-md-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-md-push-7 { - left: 29.16666667%; - } - .ant-col-md-pull-7 { - right: 29.16666667%; - } - .ant-col-md-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-md-order-7 { - order: 7; - } - .ant-col-md-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-md-push-6 { - left: 25%; - } - .ant-col-md-pull-6 { - right: 25%; - } - .ant-col-md-offset-6 { - margin-left: 25%; - } - .ant-col-md-order-6 { - order: 6; - } - .ant-col-md-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-md-push-5 { - left: 20.83333333%; - } - .ant-col-md-pull-5 { - right: 20.83333333%; - } - .ant-col-md-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-md-order-5 { - order: 5; - } - .ant-col-md-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-md-push-4 { - left: 16.66666667%; - } - .ant-col-md-pull-4 { - right: 16.66666667%; - } - .ant-col-md-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-md-order-4 { - order: 4; - } - .ant-col-md-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-md-push-3 { - left: 12.5%; - } - .ant-col-md-pull-3 { - right: 12.5%; - } - .ant-col-md-offset-3 { - margin-left: 12.5%; - } - .ant-col-md-order-3 { - order: 3; - } - .ant-col-md-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-md-push-2 { - left: 8.33333333%; - } - .ant-col-md-pull-2 { - right: 8.33333333%; - } - .ant-col-md-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-md-order-2 { - order: 2; - } - .ant-col-md-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-md-push-1 { - left: 4.16666667%; - } - .ant-col-md-pull-1 { - right: 4.16666667%; - } - .ant-col-md-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-md-order-1 { - order: 1; - } - .ant-col-md-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-md-push-0 { - left: auto; - } - .ant-col-md-pull-0 { - right: auto; - } - .ant-col-md-offset-0 { - margin-left: 0; - } - .ant-col-md-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-md-push-0.ant-col-rtl { - right: auto; - } - .ant-col-md-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-md-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-md-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-md-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-md-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-md-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-md-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-md-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-md-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-md-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-md-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-md-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-md-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-md-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-md-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-md-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-md-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-md-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-md-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-md-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-md-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-md-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-md-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-md-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-md-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-md-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-md-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-md-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-md-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-md-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-md-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-md-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-md-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-md-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-md-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-md-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-md-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-md-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-md-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-md-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-md-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-md-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-md-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-md-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-md-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-md-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-md-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-md-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-md-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-md-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-md-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-md-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-md-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-md-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-md-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-md-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-md-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-md-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-md-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-md-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-md-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-md-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-md-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-md-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-md-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-md-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-md-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-md-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-md-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-md-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-md-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-md-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-md-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-md-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 992px) { - .ant-col-lg-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-lg-push-24 { - left: 100%; - } - .ant-col-lg-pull-24 { - right: 100%; - } - .ant-col-lg-offset-24 { - margin-left: 100%; - } - .ant-col-lg-order-24 { - order: 24; - } - .ant-col-lg-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-lg-push-23 { - left: 95.83333333%; - } - .ant-col-lg-pull-23 { - right: 95.83333333%; - } - .ant-col-lg-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-lg-order-23 { - order: 23; - } - .ant-col-lg-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-lg-push-22 { - left: 91.66666667%; - } - .ant-col-lg-pull-22 { - right: 91.66666667%; - } - .ant-col-lg-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-lg-order-22 { - order: 22; - } - .ant-col-lg-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-lg-push-21 { - left: 87.5%; - } - .ant-col-lg-pull-21 { - right: 87.5%; - } - .ant-col-lg-offset-21 { - margin-left: 87.5%; - } - .ant-col-lg-order-21 { - order: 21; - } - .ant-col-lg-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-lg-push-20 { - left: 83.33333333%; - } - .ant-col-lg-pull-20 { - right: 83.33333333%; - } - .ant-col-lg-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-lg-order-20 { - order: 20; - } - .ant-col-lg-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-lg-push-19 { - left: 79.16666667%; - } - .ant-col-lg-pull-19 { - right: 79.16666667%; - } - .ant-col-lg-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-lg-order-19 { - order: 19; - } - .ant-col-lg-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-lg-push-18 { - left: 75%; - } - .ant-col-lg-pull-18 { - right: 75%; - } - .ant-col-lg-offset-18 { - margin-left: 75%; - } - .ant-col-lg-order-18 { - order: 18; - } - .ant-col-lg-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-lg-push-17 { - left: 70.83333333%; - } - .ant-col-lg-pull-17 { - right: 70.83333333%; - } - .ant-col-lg-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-lg-order-17 { - order: 17; - } - .ant-col-lg-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-lg-push-16 { - left: 66.66666667%; - } - .ant-col-lg-pull-16 { - right: 66.66666667%; - } - .ant-col-lg-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-lg-order-16 { - order: 16; - } - .ant-col-lg-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-lg-push-15 { - left: 62.5%; - } - .ant-col-lg-pull-15 { - right: 62.5%; - } - .ant-col-lg-offset-15 { - margin-left: 62.5%; - } - .ant-col-lg-order-15 { - order: 15; - } - .ant-col-lg-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-lg-push-14 { - left: 58.33333333%; - } - .ant-col-lg-pull-14 { - right: 58.33333333%; - } - .ant-col-lg-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-lg-order-14 { - order: 14; - } - .ant-col-lg-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-lg-push-13 { - left: 54.16666667%; - } - .ant-col-lg-pull-13 { - right: 54.16666667%; - } - .ant-col-lg-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-lg-order-13 { - order: 13; - } - .ant-col-lg-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-lg-push-12 { - left: 50%; - } - .ant-col-lg-pull-12 { - right: 50%; - } - .ant-col-lg-offset-12 { - margin-left: 50%; - } - .ant-col-lg-order-12 { - order: 12; - } - .ant-col-lg-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-lg-push-11 { - left: 45.83333333%; - } - .ant-col-lg-pull-11 { - right: 45.83333333%; - } - .ant-col-lg-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-lg-order-11 { - order: 11; - } - .ant-col-lg-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-lg-push-10 { - left: 41.66666667%; - } - .ant-col-lg-pull-10 { - right: 41.66666667%; - } - .ant-col-lg-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-lg-order-10 { - order: 10; - } - .ant-col-lg-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-lg-push-9 { - left: 37.5%; - } - .ant-col-lg-pull-9 { - right: 37.5%; - } - .ant-col-lg-offset-9 { - margin-left: 37.5%; - } - .ant-col-lg-order-9 { - order: 9; - } - .ant-col-lg-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-lg-push-8 { - left: 33.33333333%; - } - .ant-col-lg-pull-8 { - right: 33.33333333%; - } - .ant-col-lg-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-lg-order-8 { - order: 8; - } - .ant-col-lg-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-lg-push-7 { - left: 29.16666667%; - } - .ant-col-lg-pull-7 { - right: 29.16666667%; - } - .ant-col-lg-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-lg-order-7 { - order: 7; - } - .ant-col-lg-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-lg-push-6 { - left: 25%; - } - .ant-col-lg-pull-6 { - right: 25%; - } - .ant-col-lg-offset-6 { - margin-left: 25%; - } - .ant-col-lg-order-6 { - order: 6; - } - .ant-col-lg-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-lg-push-5 { - left: 20.83333333%; - } - .ant-col-lg-pull-5 { - right: 20.83333333%; - } - .ant-col-lg-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-lg-order-5 { - order: 5; - } - .ant-col-lg-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-lg-push-4 { - left: 16.66666667%; - } - .ant-col-lg-pull-4 { - right: 16.66666667%; - } - .ant-col-lg-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-lg-order-4 { - order: 4; - } - .ant-col-lg-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-lg-push-3 { - left: 12.5%; - } - .ant-col-lg-pull-3 { - right: 12.5%; - } - .ant-col-lg-offset-3 { - margin-left: 12.5%; - } - .ant-col-lg-order-3 { - order: 3; - } - .ant-col-lg-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-lg-push-2 { - left: 8.33333333%; - } - .ant-col-lg-pull-2 { - right: 8.33333333%; - } - .ant-col-lg-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-lg-order-2 { - order: 2; - } - .ant-col-lg-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-lg-push-1 { - left: 4.16666667%; - } - .ant-col-lg-pull-1 { - right: 4.16666667%; - } - .ant-col-lg-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-lg-order-1 { - order: 1; - } - .ant-col-lg-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-lg-push-0 { - left: auto; - } - .ant-col-lg-pull-0 { - right: auto; - } - .ant-col-lg-offset-0 { - margin-left: 0; - } - .ant-col-lg-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-lg-push-0.ant-col-rtl { - right: auto; - } - .ant-col-lg-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-lg-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-lg-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-lg-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-lg-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-lg-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-lg-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-lg-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-lg-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-lg-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-lg-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-lg-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-lg-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-lg-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-lg-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-lg-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-lg-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-lg-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-lg-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-lg-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-lg-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-lg-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-lg-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-lg-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-lg-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-lg-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-lg-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-lg-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-lg-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-lg-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-lg-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-lg-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-lg-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-lg-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-lg-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-lg-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-lg-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-lg-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-lg-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-lg-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-lg-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-lg-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-lg-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-lg-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-lg-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-lg-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-lg-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-lg-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-lg-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-lg-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-lg-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-lg-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-lg-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-lg-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-lg-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-lg-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-lg-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-lg-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-lg-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-lg-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-lg-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-lg-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-lg-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-lg-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-lg-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-lg-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-lg-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-lg-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-lg-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-lg-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-lg-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-lg-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-lg-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-lg-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 1200px) { - .ant-col-xl-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xl-push-24 { - left: 100%; - } - .ant-col-xl-pull-24 { - right: 100%; - } - .ant-col-xl-offset-24 { - margin-left: 100%; - } - .ant-col-xl-order-24 { - order: 24; - } - .ant-col-xl-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-xl-push-23 { - left: 95.83333333%; - } - .ant-col-xl-pull-23 { - right: 95.83333333%; - } - .ant-col-xl-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-xl-order-23 { - order: 23; - } - .ant-col-xl-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-xl-push-22 { - left: 91.66666667%; - } - .ant-col-xl-pull-22 { - right: 91.66666667%; - } - .ant-col-xl-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-xl-order-22 { - order: 22; - } - .ant-col-xl-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-xl-push-21 { - left: 87.5%; - } - .ant-col-xl-pull-21 { - right: 87.5%; - } - .ant-col-xl-offset-21 { - margin-left: 87.5%; - } - .ant-col-xl-order-21 { - order: 21; - } - .ant-col-xl-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-xl-push-20 { - left: 83.33333333%; - } - .ant-col-xl-pull-20 { - right: 83.33333333%; - } - .ant-col-xl-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-xl-order-20 { - order: 20; - } - .ant-col-xl-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-xl-push-19 { - left: 79.16666667%; - } - .ant-col-xl-pull-19 { - right: 79.16666667%; - } - .ant-col-xl-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-xl-order-19 { - order: 19; - } - .ant-col-xl-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-xl-push-18 { - left: 75%; - } - .ant-col-xl-pull-18 { - right: 75%; - } - .ant-col-xl-offset-18 { - margin-left: 75%; - } - .ant-col-xl-order-18 { - order: 18; - } - .ant-col-xl-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-xl-push-17 { - left: 70.83333333%; - } - .ant-col-xl-pull-17 { - right: 70.83333333%; - } - .ant-col-xl-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-xl-order-17 { - order: 17; - } - .ant-col-xl-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-xl-push-16 { - left: 66.66666667%; - } - .ant-col-xl-pull-16 { - right: 66.66666667%; - } - .ant-col-xl-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-xl-order-16 { - order: 16; - } - .ant-col-xl-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-xl-push-15 { - left: 62.5%; - } - .ant-col-xl-pull-15 { - right: 62.5%; - } - .ant-col-xl-offset-15 { - margin-left: 62.5%; - } - .ant-col-xl-order-15 { - order: 15; - } - .ant-col-xl-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-xl-push-14 { - left: 58.33333333%; - } - .ant-col-xl-pull-14 { - right: 58.33333333%; - } - .ant-col-xl-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-xl-order-14 { - order: 14; - } - .ant-col-xl-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-xl-push-13 { - left: 54.16666667%; - } - .ant-col-xl-pull-13 { - right: 54.16666667%; - } - .ant-col-xl-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-xl-order-13 { - order: 13; - } - .ant-col-xl-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-xl-push-12 { - left: 50%; - } - .ant-col-xl-pull-12 { - right: 50%; - } - .ant-col-xl-offset-12 { - margin-left: 50%; - } - .ant-col-xl-order-12 { - order: 12; - } - .ant-col-xl-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-xl-push-11 { - left: 45.83333333%; - } - .ant-col-xl-pull-11 { - right: 45.83333333%; - } - .ant-col-xl-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-xl-order-11 { - order: 11; - } - .ant-col-xl-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-xl-push-10 { - left: 41.66666667%; - } - .ant-col-xl-pull-10 { - right: 41.66666667%; - } - .ant-col-xl-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-xl-order-10 { - order: 10; - } - .ant-col-xl-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-xl-push-9 { - left: 37.5%; - } - .ant-col-xl-pull-9 { - right: 37.5%; - } - .ant-col-xl-offset-9 { - margin-left: 37.5%; - } - .ant-col-xl-order-9 { - order: 9; - } - .ant-col-xl-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-xl-push-8 { - left: 33.33333333%; - } - .ant-col-xl-pull-8 { - right: 33.33333333%; - } - .ant-col-xl-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-xl-order-8 { - order: 8; - } - .ant-col-xl-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-xl-push-7 { - left: 29.16666667%; - } - .ant-col-xl-pull-7 { - right: 29.16666667%; - } - .ant-col-xl-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-xl-order-7 { - order: 7; - } - .ant-col-xl-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-xl-push-6 { - left: 25%; - } - .ant-col-xl-pull-6 { - right: 25%; - } - .ant-col-xl-offset-6 { - margin-left: 25%; - } - .ant-col-xl-order-6 { - order: 6; - } - .ant-col-xl-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-xl-push-5 { - left: 20.83333333%; - } - .ant-col-xl-pull-5 { - right: 20.83333333%; - } - .ant-col-xl-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-xl-order-5 { - order: 5; - } - .ant-col-xl-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-xl-push-4 { - left: 16.66666667%; - } - .ant-col-xl-pull-4 { - right: 16.66666667%; - } - .ant-col-xl-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-xl-order-4 { - order: 4; - } - .ant-col-xl-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-xl-push-3 { - left: 12.5%; - } - .ant-col-xl-pull-3 { - right: 12.5%; - } - .ant-col-xl-offset-3 { - margin-left: 12.5%; - } - .ant-col-xl-order-3 { - order: 3; - } - .ant-col-xl-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-xl-push-2 { - left: 8.33333333%; - } - .ant-col-xl-pull-2 { - right: 8.33333333%; - } - .ant-col-xl-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-xl-order-2 { - order: 2; - } - .ant-col-xl-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-xl-push-1 { - left: 4.16666667%; - } - .ant-col-xl-pull-1 { - right: 4.16666667%; - } - .ant-col-xl-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-xl-order-1 { - order: 1; - } - .ant-col-xl-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-xl-push-0 { - left: auto; - } - .ant-col-xl-pull-0 { - right: auto; - } - .ant-col-xl-offset-0 { - margin-left: 0; - } - .ant-col-xl-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xl-push-0.ant-col-rtl { - right: auto; - } - .ant-col-xl-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xl-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-xl-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-xl-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-xl-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-xl-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-xl-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-xl-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-xl-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-xl-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-xl-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-xl-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-xl-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-xl-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-xl-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-xl-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-xl-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-xl-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-xl-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-xl-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-xl-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-xl-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-xl-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-xl-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-xl-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-xl-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-xl-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-xl-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-xl-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-xl-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-xl-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-xl-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-xl-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-xl-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-xl-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-xl-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-xl-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-xl-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-xl-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-xl-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-xl-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-xl-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-xl-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-xl-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-xl-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-xl-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-xl-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-xl-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-xl-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-xl-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-xl-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-xl-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-xl-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-xl-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-xl-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-xl-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-xl-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-xl-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-xl-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-xl-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-xl-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-xl-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-xl-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-xl-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-xl-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-xl-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-xl-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-xl-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-xl-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-xl-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-xl-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-xl-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-xl-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-xl-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 1600px) { - .ant-col-xxl-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xxl-push-24 { - left: 100%; - } - .ant-col-xxl-pull-24 { - right: 100%; - } - .ant-col-xxl-offset-24 { - margin-left: 100%; - } - .ant-col-xxl-order-24 { - order: 24; - } - .ant-col-xxl-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-xxl-push-23 { - left: 95.83333333%; - } - .ant-col-xxl-pull-23 { - right: 95.83333333%; - } - .ant-col-xxl-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-xxl-order-23 { - order: 23; - } - .ant-col-xxl-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-xxl-push-22 { - left: 91.66666667%; - } - .ant-col-xxl-pull-22 { - right: 91.66666667%; - } - .ant-col-xxl-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-xxl-order-22 { - order: 22; - } - .ant-col-xxl-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-xxl-push-21 { - left: 87.5%; - } - .ant-col-xxl-pull-21 { - right: 87.5%; - } - .ant-col-xxl-offset-21 { - margin-left: 87.5%; - } - .ant-col-xxl-order-21 { - order: 21; - } - .ant-col-xxl-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-xxl-push-20 { - left: 83.33333333%; - } - .ant-col-xxl-pull-20 { - right: 83.33333333%; - } - .ant-col-xxl-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-xxl-order-20 { - order: 20; - } - .ant-col-xxl-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-xxl-push-19 { - left: 79.16666667%; - } - .ant-col-xxl-pull-19 { - right: 79.16666667%; - } - .ant-col-xxl-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-xxl-order-19 { - order: 19; - } - .ant-col-xxl-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-xxl-push-18 { - left: 75%; - } - .ant-col-xxl-pull-18 { - right: 75%; - } - .ant-col-xxl-offset-18 { - margin-left: 75%; - } - .ant-col-xxl-order-18 { - order: 18; - } - .ant-col-xxl-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-xxl-push-17 { - left: 70.83333333%; - } - .ant-col-xxl-pull-17 { - right: 70.83333333%; - } - .ant-col-xxl-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-xxl-order-17 { - order: 17; - } - .ant-col-xxl-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-xxl-push-16 { - left: 66.66666667%; - } - .ant-col-xxl-pull-16 { - right: 66.66666667%; - } - .ant-col-xxl-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-xxl-order-16 { - order: 16; - } - .ant-col-xxl-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-xxl-push-15 { - left: 62.5%; - } - .ant-col-xxl-pull-15 { - right: 62.5%; - } - .ant-col-xxl-offset-15 { - margin-left: 62.5%; - } - .ant-col-xxl-order-15 { - order: 15; - } - .ant-col-xxl-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-xxl-push-14 { - left: 58.33333333%; - } - .ant-col-xxl-pull-14 { - right: 58.33333333%; - } - .ant-col-xxl-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-xxl-order-14 { - order: 14; - } - .ant-col-xxl-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-xxl-push-13 { - left: 54.16666667%; - } - .ant-col-xxl-pull-13 { - right: 54.16666667%; - } - .ant-col-xxl-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-xxl-order-13 { - order: 13; - } - .ant-col-xxl-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-xxl-push-12 { - left: 50%; - } - .ant-col-xxl-pull-12 { - right: 50%; - } - .ant-col-xxl-offset-12 { - margin-left: 50%; - } - .ant-col-xxl-order-12 { - order: 12; - } - .ant-col-xxl-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-xxl-push-11 { - left: 45.83333333%; - } - .ant-col-xxl-pull-11 { - right: 45.83333333%; - } - .ant-col-xxl-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-xxl-order-11 { - order: 11; - } - .ant-col-xxl-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-xxl-push-10 { - left: 41.66666667%; - } - .ant-col-xxl-pull-10 { - right: 41.66666667%; - } - .ant-col-xxl-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-xxl-order-10 { - order: 10; - } - .ant-col-xxl-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-xxl-push-9 { - left: 37.5%; - } - .ant-col-xxl-pull-9 { - right: 37.5%; - } - .ant-col-xxl-offset-9 { - margin-left: 37.5%; - } - .ant-col-xxl-order-9 { - order: 9; - } - .ant-col-xxl-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-xxl-push-8 { - left: 33.33333333%; - } - .ant-col-xxl-pull-8 { - right: 33.33333333%; - } - .ant-col-xxl-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-xxl-order-8 { - order: 8; - } - .ant-col-xxl-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-xxl-push-7 { - left: 29.16666667%; - } - .ant-col-xxl-pull-7 { - right: 29.16666667%; - } - .ant-col-xxl-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-xxl-order-7 { - order: 7; - } - .ant-col-xxl-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-xxl-push-6 { - left: 25%; - } - .ant-col-xxl-pull-6 { - right: 25%; - } - .ant-col-xxl-offset-6 { - margin-left: 25%; - } - .ant-col-xxl-order-6 { - order: 6; - } - .ant-col-xxl-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-xxl-push-5 { - left: 20.83333333%; - } - .ant-col-xxl-pull-5 { - right: 20.83333333%; - } - .ant-col-xxl-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-xxl-order-5 { - order: 5; - } - .ant-col-xxl-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-xxl-push-4 { - left: 16.66666667%; - } - .ant-col-xxl-pull-4 { - right: 16.66666667%; - } - .ant-col-xxl-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-xxl-order-4 { - order: 4; - } - .ant-col-xxl-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-xxl-push-3 { - left: 12.5%; - } - .ant-col-xxl-pull-3 { - right: 12.5%; - } - .ant-col-xxl-offset-3 { - margin-left: 12.5%; - } - .ant-col-xxl-order-3 { - order: 3; - } - .ant-col-xxl-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-xxl-push-2 { - left: 8.33333333%; - } - .ant-col-xxl-pull-2 { - right: 8.33333333%; - } - .ant-col-xxl-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-xxl-order-2 { - order: 2; - } - .ant-col-xxl-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-xxl-push-1 { - left: 4.16666667%; - } - .ant-col-xxl-pull-1 { - right: 4.16666667%; - } - .ant-col-xxl-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-xxl-order-1 { - order: 1; - } - .ant-col-xxl-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-xxl-push-0 { - left: auto; - } - .ant-col-xxl-pull-0 { - right: auto; - } - .ant-col-xxl-offset-0 { - margin-left: 0; - } - .ant-col-xxl-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xxl-push-0.ant-col-rtl { - right: auto; - } - .ant-col-xxl-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xxl-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-xxl-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-xxl-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-xxl-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-xxl-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-xxl-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-xxl-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-xxl-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-xxl-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-xxl-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-xxl-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-xxl-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-xxl-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-xxl-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-xxl-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-xxl-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-xxl-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-xxl-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-xxl-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-xxl-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-xxl-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-xxl-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-xxl-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-xxl-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-xxl-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-xxl-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-xxl-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-xxl-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-xxl-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-xxl-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-xxl-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-xxl-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-xxl-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-xxl-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-xxl-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-xxl-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-xxl-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-xxl-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-xxl-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-xxl-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-xxl-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-xxl-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-xxl-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-xxl-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-xxl-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-xxl-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-xxl-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-xxl-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-xxl-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-xxl-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-xxl-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-xxl-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-xxl-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-xxl-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-xxl-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-xxl-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-xxl-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -.ant-row-rtl { - direction: rtl; -} -.ant-input-affix-wrapper { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - display: inline-flex; -} -.ant-input-affix-wrapper::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-affix-wrapper:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-affix-wrapper:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-affix-wrapper:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-affix-wrapper:focus, -.ant-input-rtl .ant-input-affix-wrapper-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-affix-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-affix-wrapper-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-affix-wrapper[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-affix-wrapper[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-affix-wrapper-borderless, -.ant-input-affix-wrapper-borderless:hover, -.ant-input-affix-wrapper-borderless:focus, -.ant-input-affix-wrapper-borderless-focused, -.ant-input-affix-wrapper-borderless-disabled, -.ant-input-affix-wrapper-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-affix-wrapper { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-affix-wrapper-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-affix-wrapper-sm { - padding: 0px 7px; -} -.ant-input-affix-wrapper-rtl { - direction: rtl; -} -.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - border-color: #40a9ff; - border-right-width: 1px; - z-index: 1; -} -.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - z-index: 0; -} -.ant-input-affix-wrapper-focused, -.ant-input-affix-wrapper:focus { - z-index: 1; -} -.ant-input-affix-wrapper-disabled .ant-input[disabled] { - background: transparent; -} -.ant-input-affix-wrapper > .ant-input { - font-size: inherit; - border: none; - outline: none; -} -.ant-input-affix-wrapper > .ant-input:focus { - box-shadow: none !important; -} -.ant-input-affix-wrapper > .ant-input:not(textarea) { - padding: 0; -} -.ant-input-affix-wrapper::before { - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-input-prefix, -.ant-input-suffix { - display: flex; - flex: none; - align-items: center; -} -.ant-input-prefix > *:not(:last-child), -.ant-input-suffix > *:not(:last-child) { - margin-right: 8px; -} -.ant-input-show-count-suffix { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-show-count-has-suffix { - margin-right: 2px; -} -.ant-input-prefix { - margin-right: 4px; -} -.ant-input-suffix { - margin-left: 4px; -} -.anticon.ant-input-clear-icon, -.ant-input-clear-icon { - margin: 0; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - vertical-align: -1px; - cursor: pointer; - transition: color 0.3s; -} -.anticon.ant-input-clear-icon:hover, -.ant-input-clear-icon:hover { - color: rgba(0, 0, 0, 0.45); -} -.anticon.ant-input-clear-icon:active, -.ant-input-clear-icon:active { - color: rgba(0, 0, 0, 0.85); -} -.anticon.ant-input-clear-icon-hidden, -.ant-input-clear-icon-hidden { - visibility: hidden; -} -.anticon.ant-input-clear-icon-has-suffix, -.ant-input-clear-icon-has-suffix { - margin: 0 4px; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn { - padding: 0; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon { - position: absolute; - top: 8px; - right: 8px; - z-index: 1; -} -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input, -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus, -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input, -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus, -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper, -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-affix-wrapper-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper, -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-affix-wrapper-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-input-textarea-status-error.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-warning.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-success.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-validating.ant-input-textarea-has-feedback .ant-input { - padding-right: 24px; -} -.ant-input-group-wrapper-status-error .ant-input-group-addon { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-input-group-wrapper-status-warning .ant-input-group-addon { - color: #faad14; - border-color: #faad14; -} -.ant-input { - box-sizing: border-box; - margin: 0; - padding: 0; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input:focus, -.ant-input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input:focus, -.ant-input-rtl .ant-input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-borderless, -.ant-input-borderless:hover, -.ant-input-borderless:focus, -.ant-input-borderless-focused, -.ant-input-borderless-disabled, -.ant-input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-sm { - padding: 0px 7px; -} -.ant-input-rtl { - direction: rtl; -} -.ant-input-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: table; - width: 100%; - border-collapse: separate; - border-spacing: 0; -} -.ant-input-group[class*='col-'] { - float: none; - padding-right: 0; - padding-left: 0; -} -.ant-input-group > [class*='col-'] { - padding-right: 8px; -} -.ant-input-group > [class*='col-']:last-child { - padding-right: 0; -} -.ant-input-group-addon, -.ant-input-group-wrap, -.ant-input-group > .ant-input { - display: table-cell; -} -.ant-input-group-addon:not(:first-child):not(:last-child), -.ant-input-group-wrap:not(:first-child):not(:last-child), -.ant-input-group > .ant-input:not(:first-child):not(:last-child) { - border-radius: 0; -} -.ant-input-group-addon, -.ant-input-group-wrap { - width: 1px; - white-space: nowrap; - vertical-align: middle; -} -.ant-input-group-wrap > * { - display: block !important; -} -.ant-input-group .ant-input { - float: left; - width: 100%; - margin-bottom: 0; - text-align: inherit; -} -.ant-input-group .ant-input:focus { - z-index: 1; - border-right-width: 1px; -} -.ant-input-group .ant-input:hover { - z-index: 1; - border-right-width: 1px; -} -.ant-input-search-with-button .ant-input-group .ant-input:hover { - z-index: 0; -} -.ant-input-group-addon { - position: relative; - padding: 0 11px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - text-align: center; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input-group-addon .ant-select { - margin: -5px -11px; -} -.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - background-color: inherit; - border: 1px solid transparent; - box-shadow: none; -} -.ant-input-group-addon .ant-select-open .ant-select-selector, -.ant-input-group-addon .ant-select-focused .ant-select-selector { - color: #1890ff; -} -.ant-input-group-addon .ant-cascader-picker { - margin: -9px -12px; - background-color: transparent; -} -.ant-input-group-addon .ant-cascader-picker .ant-cascader-input { - text-align: left; - border: 0; - box-shadow: none; -} -.ant-input-group > .ant-input:first-child, -.ant-input-group-addon:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, -.ant-input-group-addon:first-child .ant-select .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group-addon:first-child { - border-right: 0; -} -.ant-input-group-addon:last-child { - border-left: 0; -} -.ant-input-group > .ant-input:last-child, -.ant-input-group-addon:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, -.ant-input-group-addon:last-child .ant-select .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group-lg .ant-input, -.ant-input-group-lg > .ant-input-group-addon { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-group-sm .ant-input, -.ant-input-group-sm > .ant-input-group-addon { - padding: 0px 7px; -} -.ant-input-group-lg .ant-select-single .ant-select-selector { - height: 40px; -} -.ant-input-group-sm .ant-select-single .ant-select-selector { - height: 24px; -} -.ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-group .ant-input-affix-wrapper:not(:first-child), -.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group.ant-input-group-compact { - display: block; -} -.ant-input-group.ant-input-group-compact::before { - display: table; - content: ''; -} -.ant-input-group.ant-input-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-group.ant-input-group-compact::before { - display: table; - content: ''; -} -.ant-input-group.ant-input-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { - border-right-width: 1px; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover { - z-index: 1; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > * { - display: inline-block; - float: none; - vertical-align: top; - border-radius: 0; -} -.ant-input-group.ant-input-group-compact > .ant-input-affix-wrapper { - display: inline-flex; -} -.ant-input-group.ant-input-group-compact > .ant-picker-range { - display: inline-flex; -} -.ant-input-group.ant-input-group-compact > *:not(:last-child) { - margin-right: -1px; - border-right-width: 1px; -} -.ant-input-group.ant-input-group-compact .ant-input { - float: none; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { - border-right-width: 1px; - border-radius: 0; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:hover, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:focus, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select-focused { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-arrow { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > *:first-child, -.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-group.ant-input-group-compact > *:last-child, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-right-width: 1px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input { - vertical-align: top; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper { - margin-left: -1px; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button { - border-radius: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 2px 0 0 2px; -} -.ant-input-group > .ant-input-rtl:first-child, -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-group-rtl .ant-input-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group > .ant-input:last-child, -.ant-input-group-rtl.ant-input-group-addon:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) { - margin-right: 0; - margin-left: -1px; - border-left-width: 1px; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-left-width: 1px; - border-radius: 2px 0 0 2px; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl { - margin-right: -1px; - margin-left: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-group > .ant-input-rtl:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-group > .ant-input-rtl:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl .ant-input-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-group-wrapper { - display: inline-block; - width: 100%; - text-align: start; - vertical-align: top; -} -.ant-input-password-icon.anticon { - color: rgba(0, 0, 0, 0.45); - cursor: pointer; - transition: all 0.3s; -} -.ant-input-password-icon.anticon:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-input[type='color'] { - height: 32px; -} -.ant-input[type='color'].ant-input-lg { - height: 40px; -} -.ant-input[type='color'].ant-input-sm { - height: 24px; - padding-top: 3px; - padding-bottom: 3px; -} -.ant-input-textarea-show-count > .ant-input { - height: 100%; -} -.ant-input-textarea-show-count::after { - float: right; - color: rgba(0, 0, 0, 0.45); - white-space: nowrap; - content: attr(data-count); - pointer-events: none; -} -.ant-input-textarea-show-count.ant-input-textarea-in-form-item::after { - margin-bottom: -22px; -} -.ant-input-textarea-suffix { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - z-index: 1; - display: inline-flex; - align-items: center; - margin: auto; -} -.ant-input-compact-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl) { - margin-right: -1px; -} -.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-item-rtl { - margin-left: -1px; -} -.ant-input-compact-item:hover, -.ant-input-compact-item:focus, -.ant-input-compact-item:active { - z-index: 2; -} -.ant-input-compact-item[disabled] { - z-index: 0; -} -.ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item).ant-input { - border-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-first-item:not(.ant-input-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-last-item:not(.ant-input-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input:hover, -.ant-input-search .ant-input:focus { - border-color: #40a9ff; -} -.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), -.ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) { - border-left-color: #40a9ff; -} -.ant-input-search .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-search .ant-input-lg { - line-height: 1.5713; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child { - left: -1px; - padding: 0; - border: 0; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button { - padding-top: 0; - padding-bottom: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before { - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.ant-input-search-button { - height: 32px; -} -.ant-input-search-button:hover, -.ant-input-search-button:focus { - z-index: 1; -} -.ant-input-search-large .ant-input-search-button { - height: 40px; -} -.ant-input-search-small .ant-input-search-button { - height: 24px; -} -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-item-rtl):not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button { - margin-right: -1px; - border-radius: 0; -} -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input, -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:hover, -.ant-input-search.ant-input-compact-item > .ant-input:hover, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover, -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:focus, -.ant-input-search.ant-input-compact-item > .ant-input:focus, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus, -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:active, -.ant-input-search.ant-input-compact-item > .ant-input:active, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active { - z-index: 2; -} -.ant-input-search.ant-input-compact-item > .ant-input-affix-wrapper-focused { - z-index: 2; -} -.ant-input-search.ant-input-compact-item-rtl:not(.ant-input-compact-last-item) .ant-input-group-addon:last-child .ant-input-search-button { - margin-left: -1px; - border-radius: 0; -} -.ant-input-group-wrapper-rtl { - direction: rtl; -} -.ant-input-group-rtl { - direction: rtl; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input { - border: none; - outline: none; -} -.ant-input-affix-wrapper-rtl .ant-input-prefix { - margin: 0 0 0 4px; -} -.ant-input-affix-wrapper-rtl .ant-input-suffix { - margin: 0 4px 0 0; -} -.ant-input-textarea-rtl { - direction: rtl; -} -.ant-input-textarea-rtl.ant-input-textarea-show-count::after { - text-align: left; -} -.ant-input-affix-wrapper-rtl .ant-input-clear-icon-has-suffix { - margin-right: 0; - margin-left: 4px; -} -.ant-input-affix-wrapper-rtl .ant-input-clear-icon { - right: auto; - left: 8px; -} -.ant-input-search-rtl { - direction: rtl; -} -.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), -.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) { - border-left-color: #d9d9d9; -} -.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover, -.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover { - border-left-color: #40a9ff; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover, -.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused { - border-right-color: #40a9ff; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child { - right: -1px; - left: auto; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button { - border-radius: 2px 0 0 2px; -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ant-input { - height: 32px; - } - .ant-input-lg { - height: 40px; - } - .ant-input-sm { - height: 24px; - } - .ant-input-affix-wrapper > input.ant-input { - height: auto; - } -} -textarea.antblazor-textarea-autosize-measuring { - height: auto !important; - overflow: hidden !important; - padding: 2px 0 !important; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only { - width: 32px; - height: 32px; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm { - width: 24px; - height: 24px; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg { - width: 40px; - height: 40px; -} -.ant-input-number-affix-wrapper { - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - position: relative; - display: inline-flex; - width: 90px; - padding: 0; - padding-inline-start: 11px; -} -.ant-input-number-affix-wrapper::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number-affix-wrapper:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number-affix-wrapper:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-number-affix-wrapper:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number-affix-wrapper:focus, -.ant-input-rtl .ant-input-number-affix-wrapper-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-affix-wrapper-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-affix-wrapper[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-affix-wrapper[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-affix-wrapper-borderless, -.ant-input-number-affix-wrapper-borderless:hover, -.ant-input-number-affix-wrapper-borderless:focus, -.ant-input-number-affix-wrapper-borderless-focused, -.ant-input-number-affix-wrapper-borderless-disabled, -.ant-input-number-affix-wrapper-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-number-affix-wrapper { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-number-affix-wrapper-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-affix-wrapper-sm { - padding: 0px 7px; -} -.ant-input-number-affix-wrapper-rtl { - direction: rtl; -} -.ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover { - border-color: #40a9ff; - border-right-width: 1px; - z-index: 1; -} -.ant-input-rtl .ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper-focused, -.ant-input-number-affix-wrapper:focus { - z-index: 1; -} -.ant-input-number-affix-wrapper-disabled .ant-input-number[disabled] { - background: transparent; -} -.ant-input-number-affix-wrapper > div.ant-input-number { - width: 100%; - border: none; - outline: none; -} -.ant-input-number-affix-wrapper > div.ant-input-number.ant-input-number-focused { - box-shadow: none !important; -} -.ant-input-number-affix-wrapper input.ant-input-number-input { - padding: 0; -} -.ant-input-number-affix-wrapper::before { - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-input-number-affix-wrapper .ant-input-number-handler-wrap { - z-index: 2; -} -.ant-input-number-prefix, -.ant-input-number-suffix { - display: flex; - flex: none; - align-items: center; - pointer-events: none; -} -.ant-input-number-prefix { - margin-inline-end: 4px; -} -.ant-input-number-suffix { - position: absolute; - top: 0; - right: 0; - z-index: 1; - height: 100%; - margin-right: 11px; - margin-left: 4px; -} -.ant-input-number-group-wrapper .ant-input-number-affix-wrapper { - width: 100%; -} -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number, -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus, -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-status-error .ant-input-number-prefix { - color: #ff4d4f; -} -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number, -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus, -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-status-warning .ant-input-number-prefix { - color: #faad14; -} -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper, -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-affix-wrapper-status-error .ant-input-number-prefix { - color: #ff4d4f; -} -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper, -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-affix-wrapper-status-warning .ant-input-number-prefix { - color: #faad14; -} -.ant-input-number-group-wrapper-status-error .ant-input-number-group-addon { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-input-number-group-wrapper-status-warning .ant-input-number-group-addon { - color: #faad14; - border-color: #faad14; -} -.ant-input-number { - box-sizing: border-box; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - transition: all 0.3s; - display: inline-block; - width: 90px; - margin: 0; - padding: 0; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-input-number::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-number:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number:focus, -.ant-input-number-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number:focus, -.ant-input-rtl .ant-input-number-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-borderless, -.ant-input-number-borderless:hover, -.ant-input-number-borderless:focus, -.ant-input-number-borderless-focused, -.ant-input-number-borderless-disabled, -.ant-input-number-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-number { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-number-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-sm { - padding: 0px 7px; -} -.ant-input-number-rtl { - direction: rtl; -} -.ant-input-number-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: table; - width: 100%; - border-collapse: separate; - border-spacing: 0; -} -.ant-input-number-group[class*='col-'] { - float: none; - padding-right: 0; - padding-left: 0; -} -.ant-input-number-group > [class*='col-'] { - padding-right: 8px; -} -.ant-input-number-group > [class*='col-']:last-child { - padding-right: 0; -} -.ant-input-number-group-addon, -.ant-input-number-group-wrap, -.ant-input-number-group > .ant-input-number { - display: table-cell; -} -.ant-input-number-group-addon:not(:first-child):not(:last-child), -.ant-input-number-group-wrap:not(:first-child):not(:last-child), -.ant-input-number-group > .ant-input-number:not(:first-child):not(:last-child) { - border-radius: 0; -} -.ant-input-number-group-addon, -.ant-input-number-group-wrap { - width: 1px; - white-space: nowrap; - vertical-align: middle; -} -.ant-input-number-group-wrap > * { - display: block !important; -} -.ant-input-number-group .ant-input-number { - float: left; - width: 100%; - margin-bottom: 0; - text-align: inherit; -} -.ant-input-number-group .ant-input-number:focus { - z-index: 1; - border-right-width: 1px; -} -.ant-input-number-group .ant-input-number:hover { - z-index: 1; - border-right-width: 1px; -} -.ant-input-search-with-button .ant-input-number-group .ant-input-number:hover { - z-index: 0; -} -.ant-input-number-group-addon { - position: relative; - padding: 0 11px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - text-align: center; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input-number-group-addon .ant-select { - margin: -5px -11px; -} -.ant-input-number-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - background-color: inherit; - border: 1px solid transparent; - box-shadow: none; -} -.ant-input-number-group-addon .ant-select-open .ant-select-selector, -.ant-input-number-group-addon .ant-select-focused .ant-select-selector { - color: #1890ff; -} -.ant-input-number-group-addon .ant-cascader-picker { - margin: -9px -12px; - background-color: transparent; -} -.ant-input-number-group-addon .ant-cascader-picker .ant-cascader-input { - text-align: left; - border: 0; - box-shadow: none; -} -.ant-input-number-group > .ant-input-number:first-child, -.ant-input-number-group-addon:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group > .ant-input-number:first-child .ant-select .ant-select-selector, -.ant-input-number-group-addon:first-child .ant-select .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group > .ant-input-number-affix-wrapper:not(:first-child) .ant-input-number { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group > .ant-input-number-affix-wrapper:not(:last-child) .ant-input-number { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group-addon:first-child { - border-right: 0; -} -.ant-input-number-group-addon:last-child { - border-left: 0; -} -.ant-input-number-group > .ant-input-number:last-child, -.ant-input-number-group-addon:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group > .ant-input-number:last-child .ant-select .ant-select-selector, -.ant-input-number-group-addon:last-child .ant-select .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group-lg .ant-input-number, -.ant-input-number-group-lg > .ant-input-number-group-addon { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-group-sm .ant-input-number, -.ant-input-number-group-sm > .ant-input-number-group-addon { - padding: 0px 7px; -} -.ant-input-number-group-lg .ant-select-single .ant-select-selector { - height: 40px; -} -.ant-input-number-group-sm .ant-select-single .ant-select-selector { - height: 24px; -} -.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child), -.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact { - display: block; -} -.ant-input-number-group.ant-input-number-group-compact::before { - display: table; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::before { - display: table; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child), -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child), -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child) { - border-right-width: 1px; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):hover, -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):hover { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):focus, -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):focus { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > * { - display: inline-block; - float: none; - vertical-align: top; - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number-affix-wrapper { - display: inline-flex; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-picker-range { - display: inline-flex; -} -.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) { - margin-right: -1px; - border-right-width: 1px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-number { - float: none; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input { - border-right-width: 1px; - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:hover { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:focus { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select-focused { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-arrow { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > *:first-child, -.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-number-group.ant-input-number-group-compact > *:last-child, -.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-right-width: 1px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input { - vertical-align: top; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper { - margin-left: -1px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button { - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group > .ant-input-number-rtl:first-child, -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group > .ant-input-number:last-child, -.ant-input-number-group-rtl.ant-input-number-group-addon:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) { - margin-right: 0; - margin-left: -1px; - border-left-width: 1px; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:first-child, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:last-child, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:last-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-left-width: 1px; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl { - margin-right: -1px; - margin-left: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group > .ant-input-number-rtl:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group > .ant-input-number-rtl:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-wrapper { - display: inline-block; - text-align: start; - vertical-align: top; -} -.ant-input-number-handler { - position: relative; - display: block; - width: 100%; - height: 50%; - overflow: hidden; - color: rgba(0, 0, 0, 0.45); - font-weight: bold; - line-height: 0; - text-align: center; - border-left: 1px solid #d9d9d9; - transition: all 0.1s linear; -} -.ant-input-number-handler:active { - background: #f4f4f4; -} -.ant-input-number-handler:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler:hover .ant-input-number-handler-down-inner { - color: #40a9ff; -} -.ant-input-number-handler-up-inner, -.ant-input-number-handler-down-inner { - display: inline-block; - color: inherit; - font-style: normal; - line-height: 0; - text-align: center; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - right: 4px; - width: 12px; - height: 12px; - color: rgba(0, 0, 0, 0.45); - line-height: 12px; - transition: all 0.1s linear; - user-select: none; -} -.ant-input-number-handler-up-inner > *, -.ant-input-number-handler-down-inner > * { - line-height: 1; -} -.ant-input-number-handler-up-inner svg, -.ant-input-number-handler-down-inner svg { - display: inline-block; -} -.ant-input-number-handler-up-inner::before, -.ant-input-number-handler-down-inner::before { - display: none; -} -.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon, -.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon, -.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon, -.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon { - display: block; -} -.ant-input-number:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-number:hover + .ant-form-item-children-icon { - opacity: 0; - transition: opacity 0.24s linear 0.24s; -} -.ant-input-number-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-disabled .ant-input-number-input { - cursor: not-allowed; -} -.ant-input-number-disabled .ant-input-number-handler-wrap { - display: none; -} -.ant-input-number-readonly .ant-input-number-handler-wrap { - display: none; -} -.ant-input-number-input { - width: 100%; - height: 30px; - padding: 0 11px; - text-align: left; - background-color: transparent; - border: 0; - border-radius: 2px; - outline: 0; - transition: all 0.3s linear; - appearance: textfield !important; -} -.ant-input-number-input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number-input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number-input[type='number']::-webkit-inner-spin-button, -.ant-input-number-input[type='number']::-webkit-outer-spin-button { - margin: 0; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -webkit-appearance: none; - appearance: none; -} -.ant-input-number-lg { - padding: 0; - font-size: 16px; -} -.ant-input-number-lg input { - height: 38px; -} -.ant-input-number-sm { - padding: 0; -} -.ant-input-number-sm input { - height: 22px; - padding: 0 7px; -} -.ant-input-number-handler-wrap { - position: absolute; - top: 0; - right: 0; - width: 22px; - height: 100%; - background: #fff; - border-radius: 0 2px 2px 0; - opacity: 0; - transition: opacity 0.24s linear 0.1s; -} -.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner, -.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner { - display: flex; - align-items: center; - justify-content: center; - min-width: auto; - margin-right: 0; - font-size: 7px; -} -.ant-input-number-borderless .ant-input-number-handler-wrap { - border-left-width: 0; -} -.ant-input-number-handler-wrap:hover .ant-input-number-handler { - height: 40%; -} -.ant-input-number:hover .ant-input-number-handler-wrap, -.ant-input-number-focused .ant-input-number-handler-wrap { - opacity: 1; -} -.ant-input-number-handler-up { - border-top-right-radius: 2px; - cursor: pointer; -} -.ant-input-number-handler-up-inner { - top: 50%; - margin-top: -5px; - text-align: center; -} -.ant-input-number-handler-up:hover { - height: 60% !important; -} -.ant-input-number-handler-down { - top: 0; - border-top: 1px solid #d9d9d9; - border-bottom-right-radius: 2px; - cursor: pointer; -} -.ant-input-number-handler-down-inner { - top: 50%; - text-align: center; - transform: translateY(-50%); -} -.ant-input-number-handler-down:hover { - height: 60% !important; -} -.ant-input-number-borderless .ant-input-number-handler-down { - border-top-width: 0; -} -.ant-input-number:hover:not(.ant-input-number-borderless) .ant-input-number-handler-down, -.ant-input-number-focused:not(.ant-input-number-borderless) .ant-input-number-handler-down { - border-top: 1px solid #d9d9d9; -} -.ant-input-number-handler-up-disabled, -.ant-input-number-handler-down-disabled { - cursor: not-allowed; -} -.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { - color: rgba(0, 0, 0, 0.25); -} -.ant-input-number-borderless { - box-shadow: none; -} -.ant-input-number-out-of-range input { - color: #ff4d4f; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl) { - margin-right: -1px; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-item-rtl { - margin-left: -1px; -} -.ant-input-number-compact-item:hover, -.ant-input-number-compact-item:focus, -.ant-input-number-compact-item:active { - z-index: 2; -} -.ant-input-number-compact-item.ant-input-number-focused { - z-index: 2; -} -.ant-input-number-compact-item[disabled] { - z-index: 0; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-last-item).ant-input-number { - border-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-first-item:not(.ant-input-number-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-last-item:not(.ant-input-number-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-rtl { - direction: rtl; -} -.ant-input-number-rtl .ant-input-number-handler { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-number-rtl .ant-input-number-handler-wrap { - right: auto; - left: 0; -} -.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap { - border-right-width: 0; -} -.ant-input-number-rtl .ant-input-number-handler-up { - border-top-right-radius: 0; -} -.ant-input-number-rtl .ant-input-number-handler-down { - border-bottom-right-radius: 0; -} -.ant-input-number-rtl .ant-input-number-input { - direction: ltr; - text-align: right; -} -.ant-layout { - display: flex; - flex: auto; - flex-direction: column; - /* fix firefox can't set height smaller than content on flex item */ - min-height: 0; - background: #f0f2f5; -} -.ant-layout, -.ant-layout * { - box-sizing: border-box; -} -.ant-layout.ant-layout-has-sider { - flex-direction: row; -} -.ant-layout.ant-layout-has-sider > .ant-layout, -.ant-layout.ant-layout-has-sider > .ant-layout-content { - width: 0; -} -.ant-layout-header, -.ant-layout-footer { - flex: 0 0 auto; -} -.ant-layout-header { - height: 64px; - padding: 0 50px; - color: rgba(0, 0, 0, 0.85); - line-height: 64px; - background: #001529; -} -.ant-layout-footer { - padding: 24px 50px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - background: #f0f2f5; -} -.ant-layout-content { - flex: auto; - /* fix firefox can't set height smaller than content on flex item */ - min-height: 0; -} -.ant-layout-sider { - position: relative; - /* fix firefox can't set width smaller than content on flex item */ - min-width: 0; - background: #001529; - transition: all 0.2s; -} -.ant-layout-sider-children { - height: 100%; - margin-top: -0.1px; - padding-top: 0.1px; -} -.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed { - width: auto; -} -.ant-layout-sider-has-trigger { - padding-bottom: 48px; -} -.ant-layout-sider-right { - order: 1; -} -.ant-layout-sider-trigger { - position: fixed; - bottom: 0; - z-index: 1; - height: 48px; - color: #fff; - line-height: 48px; - text-align: center; - background: #002140; - cursor: pointer; - transition: all 0.2s; -} -.ant-layout-sider-zero-width > * { - overflow: hidden; -} -.ant-layout-sider-zero-width-trigger { - position: absolute; - top: 64px; - right: -36px; - z-index: 1; - width: 36px; - height: 42px; - color: #fff; - font-size: 18px; - line-height: 42px; - text-align: center; - background: #001529; - border-radius: 0 2px 2px 0; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-layout-sider-zero-width-trigger::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - transition: all 0.3s; - content: ''; -} -.ant-layout-sider-zero-width-trigger:hover::after { - background: rgba(255, 255, 255, 0.1); -} -.ant-layout-sider-zero-width-trigger-right { - left: -36px; - border-radius: 2px 0 0 2px; -} -.ant-layout-sider-light { - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-trigger { - color: rgba(0, 0, 0, 0.85); - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { - color: rgba(0, 0, 0, 0.85); - background: #fff; -} -.ant-layout-rtl { - direction: rtl; -} -.ant-form-item .ant-input-number + .ant-form-text { - margin-left: 8px; -} -.ant-form-inline { - display: flex; - flex-wrap: wrap; -} -.ant-form-inline .ant-form-item { - flex: none; - flex-wrap: nowrap; - margin-right: 16px; - margin-bottom: 0; -} -.ant-form-inline .ant-form-item-with-help { - margin-bottom: 24px; -} -.ant-form-inline .ant-form-item > .ant-form-item-label, -.ant-form-inline .ant-form-item > .ant-form-item-control { - display: inline-block; - vertical-align: top; -} -.ant-form-inline .ant-form-item > .ant-form-item-label { - flex: none; -} -.ant-form-inline .ant-form-item .ant-form-text { - display: inline-block; -} -.ant-form-inline .ant-form-item .ant-form-item-has-feedback { - display: inline-block; -} -.ant-form-horizontal .ant-form-item-label { - flex-grow: 0; -} -.ant-form-horizontal .ant-form-item-control { - flex: 1 1 0; - min-width: 0; -} -.ant-form-horizontal .ant-form-item-label[class$='-24'] + .ant-form-item-control, -.ant-form-horizontal .ant-form-item-label[class*='-24 '] + .ant-form-item-control { - min-width: unset; -} -.ant-form-vertical .ant-form-item-row { - flex-direction: column; -} -.ant-form-vertical .ant-form-item-label > label { - height: auto; -} -.ant-form-vertical .ant-form-item .ant-form-item-control { - width: 100%; -} -.ant-form-vertical .ant-form-item-label, -.ant-col-24.ant-form-item-label, -.ant-col-xl-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; -} -.ant-form-vertical .ant-form-item-label > label, -.ant-col-24.ant-form-item-label > label, -.ant-col-xl-24.ant-form-item-label > label { - margin: 0; -} -.ant-form-vertical .ant-form-item-label > label::after, -.ant-col-24.ant-form-item-label > label::after, -.ant-col-xl-24.ant-form-item-label > label::after { - display: none; -} -.ant-form-rtl.ant-form-vertical .ant-form-item-label, -.ant-form-rtl.ant-col-24.ant-form-item-label, -.ant-form-rtl.ant-col-xl-24.ant-form-item-label { - text-align: right; -} -@media (max-width: 575px) { - .ant-form-item .ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-form-item .ant-form-item-label > label { - margin: 0; - } - .ant-form-item .ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-form-item .ant-form-item-label { - text-align: right; - } - .ant-form .ant-form-item { - flex-wrap: wrap; - } - .ant-form .ant-form-item .ant-form-item-label, - .ant-form .ant-form-item .ant-form-item-control { - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xs-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-xs-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-xs-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-xs-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 767px) { - .ant-col-sm-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-sm-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-sm-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-sm-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 991px) { - .ant-col-md-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-md-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-md-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-md-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 1199px) { - .ant-col-lg-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-lg-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-lg-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-lg-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 1599px) { - .ant-col-xl-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-xl-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-xl-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-xl-24.ant-form-item-label { - text-align: right; - } -} -.ant-form-item { - /* Some non-status related component style is in `components.less` */ - /* To support leave along ErrorList. We add additional className to handle explain style */ -} -.ant-form-item-explain-error { - color: #ff4d4f; -} -.ant-form-item-explain-warning { - color: #faad14; -} -.ant-form-item-has-feedback .ant-switch { - margin: 2px 0 4px; -} -.ant-form-item-has-warning .ant-form-item-split { - color: #faad14; -} -.ant-form-item-has-error .ant-form-item-split { - color: #ff4d4f; -} -.ant-form { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-form legend { - display: block; - width: 100%; - margin-bottom: 20px; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-size: 16px; - line-height: inherit; - border: 0; - border-bottom: 1px solid #d9d9d9; -} -.ant-form label { - font-size: 14px; -} -.ant-form input[type='search'] { - box-sizing: border-box; -} -.ant-form input[type='radio'], -.ant-form input[type='checkbox'] { - line-height: normal; -} -.ant-form input[type='file'] { - display: block; -} -.ant-form input[type='range'] { - display: block; - width: 100%; -} -.ant-form select[multiple], -.ant-form select[size] { - height: auto; -} -.ant-form input[type='file']:focus, -.ant-form input[type='radio']:focus, -.ant-form input[type='checkbox']:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.ant-form output { - display: block; - padding-top: 15px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; -} -.ant-form .ant-form-text { - display: inline-block; - padding-right: 8px; -} -.ant-form-small .ant-form-item-label > label { - height: 24px; -} -.ant-form-small .ant-form-item-control-input { - min-height: 24px; -} -.ant-form-large .ant-form-item-label > label { - height: 40px; -} -.ant-form-large .ant-form-item-control-input { - min-height: 40px; -} -.ant-form-item { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - margin-bottom: 24px; - vertical-align: top; -} -.ant-form-item-with-help { - transition: none; -} -.ant-form-item-hidden, -.ant-form-item-hidden.ant-row { - display: none; -} -.ant-form-item-label { - display: inline-block; - flex-grow: 0; - overflow: hidden; - white-space: nowrap; - text-align: right; - vertical-align: middle; -} -.ant-form-item-label-left { - text-align: left; -} -.ant-form-item-label-wrap { - overflow: unset; - line-height: 1.3215em; - white-space: unset; -} -.ant-form-item-label > label { - position: relative; - display: inline-flex; - align-items: center; - max-width: 100%; - height: 32px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-form-item-label > label > .anticon { - font-size: 14px; - vertical-align: top; -} -.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before { - display: inline-block; - margin-right: 4px; - color: #ff4d4f; - font-size: 14px; - font-family: SimSun, sans-serif; - line-height: 1; - content: '*'; -} -.ant-form-hide-required-mark .ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before { - display: none; -} -.ant-form-item-label > label .ant-form-item-optional { - display: inline-block; - margin-left: 4px; - color: rgba(0, 0, 0, 0.45); -} -.ant-form-hide-required-mark .ant-form-item-label > label .ant-form-item-optional { - display: none; -} -.ant-form-item-label > label .ant-form-item-tooltip { - color: rgba(0, 0, 0, 0.45); - cursor: help; - writing-mode: horizontal-tb; - margin-inline-start: 4px; -} -.ant-form-item-label > label::after { - content: ':'; - position: relative; - top: -0.5px; - margin: 0 8px 0 2px; -} -.ant-form-item-label > label.ant-form-item-no-colon::after { - content: ' '; -} -.ant-form-item-control { - display: flex; - flex-direction: column; - flex-grow: 1; -} -.ant-form-item-control:first-child:not([class^='ant-col-']):not([class*=' ant-col-']) { - width: 100%; -} -.ant-form-item-control-input { - position: relative; - display: flex; - align-items: center; - min-height: 32px; -} -.ant-form-item-control-input-content { - flex: auto; - max-width: 100%; -} -.ant-form-item-explain, -.ant-form-item-extra { - clear: both; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); -} -.ant-form-item-explain-connected { - width: 100%; -} -.ant-form-item-extra { - min-height: 24px; -} -.ant-form-item-with-help .ant-form-item-explain { - height: auto; - opacity: 1; -} -.ant-form-item-feedback-icon { - font-size: 14px; - text-align: center; - visibility: visible; - animation: zoomIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); - pointer-events: none; -} -.ant-form-item-feedback-icon-success { - color: #52c41a; -} -.ant-form-item-feedback-icon-error { - color: #ff4d4f; -} -.ant-form-item-feedback-icon-warning { - color: #faad14; -} -.ant-form-item-feedback-icon-validating { - color: #1890ff; -} -.ant-show-help { - transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-show-help-appear, -.ant-show-help-enter { - opacity: 0; -} -.ant-show-help-appear-active, -.ant-show-help-enter-active { - opacity: 1; -} -.ant-show-help-leave { - opacity: 1; -} -.ant-show-help-leave-active { - opacity: 0; -} -.ant-show-help-item { - overflow: hidden; - transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-show-help-item-appear, -.ant-show-help-item-enter { - transform: translateY(-5px); - opacity: 0; -} -.ant-show-help-item-appear-active, -.ant-show-help-item-enter-active { - transform: translateY(0); - opacity: 1; -} -.ant-show-help-item-leave { - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-show-help-item-leave-active { - transform: translateY(-5px); -} -@keyframes diffZoomIn1 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes diffZoomIn2 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes diffZoomIn3 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -.ant-form-rtl { - direction: rtl; -} -.ant-form-rtl .ant-form-item-label { - text-align: left; -} -.ant-form-rtl .ant-form-item-label > label.ant-form-item-required::before { - margin-right: 0; - margin-left: 4px; -} -.ant-form-rtl .ant-form-item-label > label::after { - margin: 0 2px 0 8px; -} -.ant-form-rtl .ant-form-item-label > label .ant-form-item-optional { - margin-right: 4px; - margin-left: 0; -} -.ant-col-rtl .ant-form-item-control:first-child { - width: 100%; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input { - padding-right: 11px; - padding-left: 24px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix { - padding-right: 11px; - padding-left: 18px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input { - padding: 0; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-number-affix-wrapper .ant-input-number { - padding: 0; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix { - right: auto; - left: 28px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-number { - padding-left: 18px; -} -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-clear, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-clear, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-clear { - right: auto; - left: 32px; -} -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-selection-selected-value, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-selection-selected-value, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-selection-selected-value { - padding-right: 0; - padding-left: 42px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow { - margin-right: 0; - margin-left: 19px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear { - right: auto; - left: 32px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker { - padding-right: 11px; - padding-left: 29.2px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large { - padding-right: 11px; - padding-left: 29.2px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small { - padding-right: 7px; - padding-left: 25.2px; -} -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon { - right: auto; - left: 0; -} -.ant-form-rtl.ant-form-inline .ant-form-item { - margin-right: 0; - margin-left: 16px; -} -.ant-list { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; -} -.ant-list * { - outline: none; -} -.ant-list-pagination { - margin-top: 24px; - text-align: right; -} -.ant-list-pagination .ant-pagination-options { - text-align: left; -} -.ant-list-more { - margin-top: 12px; - text-align: center; -} -.ant-list-more button { - padding-right: 32px; - padding-left: 32px; -} -.ant-list-spin { - min-height: 40px; - text-align: center; -} -.ant-list-empty-text { - padding: 16px; - color: rgba(0, 0, 0, 0.25); - font-size: 14px; - text-align: center; -} -.ant-list-items { - margin: 0; - padding: 0; - list-style: none; -} -.ant-list-item { - display: flex; - align-items: center; - justify-content: space-between; - padding: 12px 0; - color: rgba(0, 0, 0, 0.85); -} -.ant-list-item-meta { - display: flex; - flex: 1; - align-items: flex-start; - max-width: 100%; -} -.ant-list-item-meta-avatar { - margin-right: 16px; -} -.ant-list-item-meta-content { - flex: 1 0; - width: 0; - color: rgba(0, 0, 0, 0.85); -} -.ant-list-item-meta-title { - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; -} -.ant-list-item-meta-title > a { - color: rgba(0, 0, 0, 0.85); - transition: all 0.3s; -} -.ant-list-item-meta-title > a:hover { - color: #1890ff; -} -.ant-list-item-meta-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; -} -.ant-list-item-action { - flex: 0 0 auto; - margin-left: 48px; - padding: 0; - font-size: 0; - list-style: none; -} -.ant-list-item-action > li { - position: relative; - display: inline-block; - padding: 0 8px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - text-align: center; -} -.ant-list-item-action > li:first-child { - padding-left: 0; -} -.ant-list-item-action-split { - position: absolute; - top: 50%; - right: 0; - width: 1px; - height: 14px; - margin-top: -7px; - background-color: #f0f0f0; -} -.ant-list-header { - background: transparent; -} -.ant-list-footer { - background: transparent; -} -.ant-list-header, -.ant-list-footer { - padding-top: 12px; - padding-bottom: 12px; -} -.ant-list-empty { - padding: 16px 0; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - text-align: center; -} -.ant-list-split .ant-list-item { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-split .ant-list-item:last-child { - border-bottom: none; -} -.ant-list-split .ant-list-header { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-split.ant-list-empty .ant-list-footer { - border-top: 1px solid #f0f0f0; -} -.ant-list-loading .ant-list-spin-nested-loading { - min-height: 32px; -} -.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-lg .ant-list-item { - padding: 16px 24px; -} -.ant-list-sm .ant-list-item { - padding: 8px 16px; -} -.ant-list-vertical .ant-list-item { - align-items: initial; -} -.ant-list-vertical .ant-list-item-main { - display: block; - flex: 1; -} -.ant-list-vertical .ant-list-item-extra { - margin-left: 40px; -} -.ant-list-vertical .ant-list-item-meta { - margin-bottom: 16px; -} -.ant-list-vertical .ant-list-item-meta-title { - margin-bottom: 12px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 24px; -} -.ant-list-vertical .ant-list-item-action { - margin-top: 16px; - margin-left: auto; -} -.ant-list-vertical .ant-list-item-action > li { - padding: 0 16px; -} -.ant-list-vertical .ant-list-item-action > li:first-child { - padding-left: 0; -} -.ant-list-grid .ant-col > .ant-list-item { - display: block; - max-width: 100%; - margin-bottom: 16px; - padding-top: 0; - padding-bottom: 0; - border-bottom: none; -} -.ant-list-item-no-flex { - display: block; -} -.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action { - float: right; -} -.ant-list-bordered { - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-list-bordered .ant-list-header { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-footer { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-item { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-pagination { - margin: 16px 24px; -} -.ant-list-bordered.ant-list-sm .ant-list-item { - padding: 8px 16px; -} -.ant-list-bordered.ant-list-sm .ant-list-header, -.ant-list-bordered.ant-list-sm .ant-list-footer { - padding: 8px 16px; -} -.ant-list-bordered.ant-list-lg .ant-list-item { - padding: 16px 24px; -} -.ant-list-bordered.ant-list-lg .ant-list-header, -.ant-list-bordered.ant-list-lg .ant-list-footer { - padding: 16px 24px; -} -@media screen and (max-width: 768px) { - .ant-list-item-action { - margin-left: 24px; - } - .ant-list-vertical .ant-list-item-extra { - margin-left: 24px; - } -} -@media screen and (max-width: 576px) { - .ant-list-item { - flex-wrap: wrap; - } - .ant-list-item-action { - margin-left: 12px; - } - .ant-list-vertical .ant-list-item { - flex-wrap: wrap-reverse; - } - .ant-list-vertical .ant-list-item-main { - min-width: 220px; - } - .ant-list-vertical .ant-list-item-extra { - margin: auto auto 16px; - } -} -.ant-list-rtl { - direction: rtl; - text-align: right; -} -.ant-list-rtl .ReactVirtualized__List .ant-list-item { - direction: rtl; -} -.ant-list-rtl .ant-list-pagination { - text-align: left; -} -.ant-list-rtl .ant-list-item-meta-avatar { - margin-right: 0; - margin-left: 16px; -} -.ant-list-rtl .ant-list-item-action { - margin-right: 48px; - margin-left: 0; -} -.ant-list.ant-list-rtl .ant-list-item-action > li:first-child { - padding-right: 0; - padding-left: 16px; -} -.ant-list-rtl .ant-list-item-action-split { - right: auto; - left: 0; -} -.ant-list-rtl.ant-list-vertical .ant-list-item-extra { - margin-right: 40px; - margin-left: 0; -} -.ant-list-rtl.ant-list-vertical .ant-list-item-action { - margin-right: auto; -} -.ant-list-rtl .ant-list-vertical .ant-list-item-action > li:first-child { - padding-right: 0; - padding-left: 16px; -} -.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action { - float: left; -} -@media screen and (max-width: 768px) { - .ant-list-rtl .ant-list-item-action { - margin-right: 24px; - margin-left: 0; - } - .ant-list-rtl .ant-list-vertical .ant-list-item-extra { - margin-right: 24px; - margin-left: 0; - } -} -@media screen and (max-width: 576px) { - .ant-list-rtl .ant-list-item-action { - margin-right: 22px; - margin-left: 0; - } - .ant-list-rtl.ant-list-vertical .ant-list-item-extra { - margin: auto auto 16px; - } -} -.ant-menu-item-danger.ant-menu-item { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item:hover, -.ant-menu-item-danger.ant-menu-item-active { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item:active { - background: #fff1f0; -} -.ant-menu-item-danger.ant-menu-item-selected { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item-selected > a, -.ant-menu-item-danger.ant-menu-item-selected > a:hover { - color: #ff4d4f; -} -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected { - background-color: #fff1f0; -} -.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after { - border-right-color: #ff4d4f; -} -.ant-menu-dark .ant-menu-item-danger.ant-menu-item, -.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover, -.ant-menu-dark .ant-menu-item-danger.ant-menu-item > a { - color: #ff4d4f; -} -.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected { - color: #fff; - background-color: #ff4d4f; -} -.ant-menu { - box-sizing: border-box; - margin: 0; - padding: 0; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - margin-bottom: 0; - padding-left: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 0; - text-align: left; - list-style: none; - background: #fff; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - transition: background 0.3s, width 0.3s cubic-bezier(0.2, 0, 0, 1) 0s; -} -.ant-menu::before { - display: table; - content: ''; -} -.ant-menu::after { - display: table; - clear: both; - content: ''; -} -.ant-menu::before { - display: table; - content: ''; -} -.ant-menu::after { - display: table; - clear: both; - content: ''; -} -.ant-menu.ant-menu-root:focus-visible { - box-shadow: 0 0 0 2px #bae7ff; -} -.ant-menu ul, -.ant-menu ol { - margin: 0; - padding: 0; - list-style: none; -} -.ant-menu-overflow { - display: flex; -} -.ant-menu-overflow-item { - flex: none; -} -.ant-menu-hidden, -.ant-menu-submenu-hidden { - display: none; -} -.ant-menu-item-group-title { - height: 1.5715; - padding: 8px 16px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - transition: all 0.3s; -} -.ant-menu-horizontal .ant-menu-submenu { - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu, -.ant-menu-submenu-inline { - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-item:active, -.ant-menu-submenu-title:active { - background: #e6f7ff; -} -.ant-menu-submenu .ant-menu-sub { - cursor: initial; - transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-title-content { - transition: color 0.3s; -} -.ant-menu-item a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-item a:hover { - color: #1890ff; -} -.ant-menu-item a::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: transparent; - content: ''; -} -.ant-menu-item > .ant-badge a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-item > .ant-badge a:hover { - color: #1890ff; -} -.ant-menu-item-divider { - overflow: hidden; - line-height: 0; - border-color: #f0f0f0; - border-style: solid; - border-width: 1px 0 0; -} -.ant-menu-item-divider-dashed { - border-style: dashed; -} -.ant-menu-horizontal .ant-menu-item, -.ant-menu-horizontal .ant-menu-submenu { - margin-top: -1px; -} -.ant-menu-horizontal > .ant-menu-item:hover, -.ant-menu-horizontal > .ant-menu-item-active, -.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { - background-color: transparent; -} -.ant-menu-item-selected { - color: #1890ff; -} -.ant-menu-item-selected a, -.ant-menu-item-selected a:hover { - color: #1890ff; -} -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: #e6f7ff; -} -.ant-menu-inline, -.ant-menu-vertical, -.ant-menu-vertical-left { - border-right: 1px solid #f0f0f0; -} -.ant-menu-vertical-right { - border-left: 1px solid #f0f0f0; -} -.ant-menu-vertical.ant-menu-sub, -.ant-menu-vertical-left.ant-menu-sub, -.ant-menu-vertical-right.ant-menu-sub { - min-width: 160px; - max-height: calc(100vh - 100px); - padding: 0; - overflow: hidden; - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub:not([class*='-active']), -.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']), -.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']) { - overflow-x: hidden; - overflow-y: auto; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { - left: 0; - margin-left: 0; - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item::after, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after { - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu, -.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu, -.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu { - transform-origin: 0 0; -} -.ant-menu-horizontal.ant-menu-sub { - min-width: 114px; -} -.ant-menu-horizontal .ant-menu-item, -.ant-menu-horizontal .ant-menu-submenu-title { - transition: border-color 0.3s, background 0.3s; -} -.ant-menu-item, -.ant-menu-submenu-title { - position: relative; - display: block; - margin: 0; - padding: 0 20px; - white-space: nowrap; - cursor: pointer; - transition: border-color 0.3s, background 0.3s, padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-item .ant-menu-item-icon, -.ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu-item .anticon, -.ant-menu-submenu-title .anticon { - min-width: 14px; - font-size: 14px; - transition: font-size 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s; -} -.ant-menu-item .ant-menu-item-icon + span, -.ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu-item .anticon + span, -.ant-menu-submenu-title .anticon + span { - margin-left: 10px; - opacity: 1; - transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.3s, color 0.3s; -} -.ant-menu-item .ant-menu-item-icon.svg, -.ant-menu-submenu-title .ant-menu-item-icon.svg { - vertical-align: -0.125em; -} -.ant-menu-item.ant-menu-item-only-child > .anticon, -.ant-menu-submenu-title.ant-menu-item-only-child > .anticon, -.ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon { - margin-right: 0; -} -.ant-menu-item:not(.ant-menu-item-disabled):focus-visible, -.ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible { - box-shadow: 0 0 0 2px #bae7ff; -} -.ant-menu > .ant-menu-item-divider { - margin: 1px 0; - padding: 0; -} -.ant-menu-submenu-popup { - position: absolute; - z-index: 1050; - background: transparent; - border-radius: 2px; - box-shadow: none; - transform-origin: 0 0; -} -.ant-menu-submenu-popup::before { - position: absolute; - top: -7px; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - width: 100%; - height: 100%; - opacity: 0.0001; - content: ' '; -} -.ant-menu-submenu-placement-rightTop::before { - top: 0; - left: -7px; -} -.ant-menu-submenu > .ant-menu { - background-color: #fff; - border-radius: 2px; -} -.ant-menu-submenu > .ant-menu-submenu-title::after { - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-popup > .ant-menu { - background-color: #fff; -} -.ant-menu-submenu-expand-icon, -.ant-menu-submenu-arrow { - position: absolute; - top: 50%; - right: 16px; - width: 10px; - color: rgba(0, 0, 0, 0.85); - transform: translateY(-50%); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-arrow::before, -.ant-menu-submenu-arrow::after { - position: absolute; - width: 6px; - height: 1.5px; - background-color: currentcolor; - border-radius: 2px; - transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - content: ''; -} -.ant-menu-submenu-arrow::before { - transform: rotate(45deg) translateY(-2.5px); -} -.ant-menu-submenu-arrow::after { - transform: rotate(-45deg) translateY(2.5px); -} -.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon, -.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - color: #1890ff; -} -.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before, -.ant-menu-submenu-inline .ant-menu-submenu-arrow::before { - transform: rotate(-45deg) translateX(2.5px); -} -.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after, -.ant-menu-submenu-inline .ant-menu-submenu-arrow::after { - transform: rotate(45deg) translateX(-2.5px); -} -.ant-menu-submenu-horizontal .ant-menu-submenu-arrow { - display: none; -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - transform: translateY(-2px); -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - transform: rotate(-45deg) translateX(-2.5px); -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before { - transform: rotate(45deg) translateX(2.5px); -} -.ant-menu-vertical .ant-menu-submenu-selected, -.ant-menu-vertical-left .ant-menu-submenu-selected, -.ant-menu-vertical-right .ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-horizontal { - line-height: 46px; - border: 0; - border-bottom: 1px solid #f0f0f0; - box-shadow: none; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu { - margin-top: -1px; - margin-bottom: 0; - padding: 0 20px; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected::after { - border-bottom: 2px solid #1890ff; -} -.ant-menu-horizontal > .ant-menu-item, -.ant-menu-horizontal > .ant-menu-submenu { - position: relative; - top: 1px; - display: inline-block; - vertical-align: bottom; -} -.ant-menu-horizontal > .ant-menu-item::after, -.ant-menu-horizontal > .ant-menu-submenu::after { - position: absolute; - right: 20px; - bottom: 0; - left: 20px; - border-bottom: 2px solid transparent; - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - content: ''; -} -.ant-menu-horizontal > .ant-menu-submenu > .ant-menu-submenu-title { - padding: 0; -} -.ant-menu-horizontal > .ant-menu-item a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-horizontal > .ant-menu-item a:hover { - color: #1890ff; -} -.ant-menu-horizontal > .ant-menu-item a::before { - bottom: -2px; -} -.ant-menu-horizontal > .ant-menu-item-selected a { - color: #1890ff; -} -.ant-menu-horizontal::after { - display: block; - clear: both; - height: 0; - content: '\20'; -} -.ant-menu-vertical .ant-menu-item, -.ant-menu-vertical-left .ant-menu-item, -.ant-menu-vertical-right .ant-menu-item, -.ant-menu-inline .ant-menu-item { - position: relative; -} -.ant-menu-vertical .ant-menu-item::after, -.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-vertical-right .ant-menu-item::after, -.ant-menu-inline .ant-menu-item::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - border-right: 3px solid #1890ff; - transform: scaleY(0.0001); - opacity: 0; - transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); - content: ''; -} -.ant-menu-vertical .ant-menu-item, -.ant-menu-vertical-left .ant-menu-item, -.ant-menu-vertical-right .ant-menu-item, -.ant-menu-inline .ant-menu-item, -.ant-menu-vertical .ant-menu-submenu-title, -.ant-menu-vertical-left .ant-menu-submenu-title, -.ant-menu-vertical-right .ant-menu-submenu-title, -.ant-menu-inline .ant-menu-submenu-title { - height: 40px; - margin-top: 4px; - margin-bottom: 4px; - padding: 0 16px; - overflow: hidden; - line-height: 40px; - text-overflow: ellipsis; -} -.ant-menu-vertical .ant-menu-submenu, -.ant-menu-vertical-left .ant-menu-submenu, -.ant-menu-vertical-right .ant-menu-submenu, -.ant-menu-inline .ant-menu-submenu { - padding-bottom: 0.02px; -} -.ant-menu-vertical .ant-menu-item:not(:last-child), -.ant-menu-vertical-left .ant-menu-item:not(:last-child), -.ant-menu-vertical-right .ant-menu-item:not(:last-child), -.ant-menu-inline .ant-menu-item:not(:last-child) { - margin-bottom: 8px; -} -.ant-menu-vertical > .ant-menu-item, -.ant-menu-vertical-left > .ant-menu-item, -.ant-menu-vertical-right > .ant-menu-item, -.ant-menu-inline > .ant-menu-item, -.ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-vertical-left > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-vertical-right > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title { - height: 40px; - line-height: 40px; -} -.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title, -.ant-menu-vertical .ant-menu-submenu-title { - padding-right: 34px; -} -.ant-menu-inline { - width: 100%; -} -.ant-menu-inline .ant-menu-selected::after, -.ant-menu-inline .ant-menu-item-selected::after { - transform: scaleY(1); - opacity: 1; - transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-inline .ant-menu-item, -.ant-menu-inline .ant-menu-submenu-title { - width: calc(100% + 1px); -} -.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title, -.ant-menu-inline .ant-menu-submenu-title { - padding-right: 34px; -} -.ant-menu-inline.ant-menu-root .ant-menu-item, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title { - display: flex; - align-items: center; - transition: border-color 0.3s, background 0.3s, padding 0.1s cubic-bezier(0.215, 0.61, 0.355, 1); -} -.ant-menu-inline.ant-menu-root .ant-menu-item > .ant-menu-title-content, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > .ant-menu-title-content { - flex: auto; - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; -} -.ant-menu-inline.ant-menu-root .ant-menu-item > *, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > * { - flex: none; -} -.ant-menu.ant-menu-inline-collapsed { - width: 80px; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title { - left: 0; - padding: 0 calc(50% - 16px / 2); - text-overflow: clip; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow { - opacity: 0; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon { - margin: 0; - font-size: 16px; - line-height: 40px; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span { - display: inline-block; - opacity: 0; -} -.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed .anticon { - display: inline-block; -} -.ant-menu.ant-menu-inline-collapsed-tooltip { - pointer-events: none; -} -.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed-tooltip .anticon { - display: none; -} -.ant-menu.ant-menu-inline-collapsed-tooltip a { - color: rgba(255, 255, 255, 0.85); -} -.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title { - padding-right: 4px; - padding-left: 4px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-menu-item-group-list { - margin: 0; - padding: 0; -} -.ant-menu-item-group-list .ant-menu-item, -.ant-menu-item-group-list .ant-menu-submenu-title { - padding: 0 16px 0 28px; -} -.ant-menu-root.ant-menu-vertical, -.ant-menu-root.ant-menu-vertical-left, -.ant-menu-root.ant-menu-vertical-right, -.ant-menu-root.ant-menu-inline { - box-shadow: none; -} -.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item > .ant-menu-inline-collapsed-noicon, -.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title > .ant-menu-inline-collapsed-noicon { - font-size: 16px; - text-align: center; -} -.ant-menu-sub.ant-menu-inline { - padding: 0; - background: #fafafa; - border: 0; - border-radius: 0; - box-shadow: none; -} -.ant-menu-sub.ant-menu-inline > .ant-menu-item, -.ant-menu-sub.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title { - height: 40px; - line-height: 40px; - list-style-position: inside; - list-style-type: disc; -} -.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title { - padding-left: 32px; -} -.ant-menu-item-disabled, -.ant-menu-submenu-disabled { - color: rgba(0, 0, 0, 0.25) !important; - background: none; - cursor: not-allowed; -} -.ant-menu-item-disabled::after, -.ant-menu-submenu-disabled::after { - border-color: transparent !important; -} -.ant-menu-item-disabled a, -.ant-menu-submenu-disabled a { - color: rgba(0, 0, 0, 0.25) !important; -} -.ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(0, 0, 0, 0.25) !important; - cursor: not-allowed; -} -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - background: rgba(0, 0, 0, 0.25) !important; -} -.ant-layout-header .ant-menu { - line-height: inherit; -} -.ant-menu-inline-collapsed-tooltip a, -.ant-menu-inline-collapsed-tooltip a:hover { - color: #fff; -} -.ant-menu-light .ant-menu-item:hover, -.ant-menu-light .ant-menu-item-active, -.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, -.ant-menu-light .ant-menu-submenu-active, -.ant-menu-light .ant-menu-submenu-title:hover { - color: #1890ff; -} -.ant-menu.ant-menu-root:focus-visible { - box-shadow: 0 0 0 2px #096dd9; -} -.ant-menu-dark .ant-menu-item:focus-visible, -.ant-menu-dark .ant-menu-submenu-title:focus-visible { - box-shadow: 0 0 0 2px #096dd9; -} -.ant-menu.ant-menu-dark, -.ant-menu-dark .ant-menu-sub, -.ant-menu.ant-menu-dark .ant-menu-sub { - color: rgba(255, 255, 255, 0.65); - background: #001529; -} -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow { - opacity: 0.45; - transition: all 0.3s; -} -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before { - background: #fff; -} -.ant-menu-dark.ant-menu-submenu-popup { - background: transparent; -} -.ant-menu-dark .ant-menu-inline.ant-menu-sub { - background: #000c17; -} -.ant-menu-dark.ant-menu-horizontal { - border-bottom: 0; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, -.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { - top: 0; - margin-top: 0; - padding: 0 20px; - border-color: #001529; - border-bottom: 0; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover { - background-color: #1890ff; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item > a::before { - bottom: 0; -} -.ant-menu-dark .ant-menu-item, -.ant-menu-dark .ant-menu-item-group-title, -.ant-menu-dark .ant-menu-item > a, -.ant-menu-dark .ant-menu-item > span > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-menu-dark.ant-menu-inline, -.ant-menu-dark.ant-menu-vertical, -.ant-menu-dark.ant-menu-vertical-left, -.ant-menu-dark.ant-menu-vertical-right { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item, -.ant-menu-dark.ant-menu-vertical .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { - left: 0; - margin-left: 0; - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item, -.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title { - width: 100%; -} -.ant-menu-dark .ant-menu-item:hover, -.ant-menu-dark .ant-menu-item-active, -.ant-menu-dark .ant-menu-submenu-active, -.ant-menu-dark .ant-menu-submenu-open, -.ant-menu-dark .ant-menu-submenu-selected, -.ant-menu-dark .ant-menu-submenu-title:hover { - color: #fff; - background-color: transparent; -} -.ant-menu-dark .ant-menu-item:hover > a, -.ant-menu-dark .ant-menu-item-active > a, -.ant-menu-dark .ant-menu-submenu-active > a, -.ant-menu-dark .ant-menu-submenu-open > a, -.ant-menu-dark .ant-menu-submenu-selected > a, -.ant-menu-dark .ant-menu-submenu-title:hover > a, -.ant-menu-dark .ant-menu-item:hover > span > a, -.ant-menu-dark .ant-menu-item-active > span > a, -.ant-menu-dark .ant-menu-submenu-active > span > a, -.ant-menu-dark .ant-menu-submenu-open > span > a, -.ant-menu-dark .ant-menu-submenu-selected > span > a, -.ant-menu-dark .ant-menu-submenu-title:hover > span > a { - color: #fff; -} -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - opacity: 1; -} -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before { - background: #fff; -} -.ant-menu-dark .ant-menu-item:hover { - background-color: transparent; -} -.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: #1890ff; -} -.ant-menu-dark .ant-menu-item-selected { - color: #fff; - border-right: 0; -} -.ant-menu-dark .ant-menu-item-selected::after { - border-right: 0; -} -.ant-menu-dark .ant-menu-item-selected > a, -.ant-menu-dark .ant-menu-item-selected > span > a, -.ant-menu-dark .ant-menu-item-selected > a:hover, -.ant-menu-dark .ant-menu-item-selected > span > a:hover { - color: #fff; -} -.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon, -.ant-menu-dark .ant-menu-item-selected .anticon { - color: #fff; -} -.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon + span, -.ant-menu-dark .ant-menu-item-selected .anticon + span { - color: #fff; -} -.ant-menu.ant-menu-dark .ant-menu-item-selected, -.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { - background-color: #1890ff; -} -.ant-menu-dark .ant-menu-item-disabled, -.ant-menu-dark .ant-menu-submenu-disabled, -.ant-menu-dark .ant-menu-item-disabled > a, -.ant-menu-dark .ant-menu-submenu-disabled > a, -.ant-menu-dark .ant-menu-item-disabled > span > a, -.ant-menu-dark .ant-menu-submenu-disabled > span > a { - color: rgba(255, 255, 255, 0.35) !important; - opacity: 0.8; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - background: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu.ant-menu-rtl { - direction: rtl; - text-align: right; -} -.ant-menu-rtl .ant-menu-item-group-title { - text-align: right; -} -.ant-menu-rtl.ant-menu-inline, -.ant-menu-rtl.ant-menu-vertical { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-menu-rtl.ant-menu-dark.ant-menu-inline, -.ant-menu-rtl.ant-menu-dark.ant-menu-vertical { - border-left: none; -} -.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu, -.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu, -.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu { - transform-origin: top right; -} -.ant-menu-rtl .ant-menu-item .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-item .anticon, -.ant-menu-rtl .ant-menu-submenu-title .anticon { - margin-right: auto; - margin-left: 10px; -} -.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .anticon, -.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .anticon { - margin-left: 0; -} -.ant-menu-submenu-rtl.ant-menu-submenu-popup { - transform-origin: 100% 0; -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow { - right: auto; - left: 16px; -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::before { - transform: rotate(-45deg) translateY(-2px); -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::after { - transform: rotate(45deg) translateY(2px); -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after, -.ant-menu-rtl.ant-menu-inline .ant-menu-item::after { - right: auto; - left: 0; -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item, -.ant-menu-rtl.ant-menu-inline .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title { - text-align: right; -} -.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title { - padding-right: 0; - padding-left: 34px; -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title { - padding-right: 16px; - padding-left: 34px; -} -.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title { - padding: 0 calc(50% - 16px / 2); -} -.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item, -.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title { - padding: 0 28px 0 16px; -} -.ant-menu-sub.ant-menu-inline { - border: 0; -} -.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title { - padding-right: 32px; - padding-left: 0; -} -.ant-menu-submenu.ant-menu-submenu-placement-bottom { - top: 6px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-right { - left: 4px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl { - left: auto; - right: 4px; -} -.ant-menu-submenu.ant-menu-submenu-placement-left { - right: 4px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl { - right: auto; - left: 4px; -} -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions, -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus, -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-mentions-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions, -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover { - background: #fff; - border-color: #faad14; -} -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus, -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-mentions-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-mentions { - box-sizing: border-box; - margin: 0; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - position: relative; - display: inline-block; - height: auto; - padding: 0; - overflow: hidden; - line-height: 1.5715; - white-space: pre-wrap; - vertical-align: bottom; -} -.ant-mentions::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-mentions:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions:focus, -.ant-mentions-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions:focus, -.ant-input-rtl .ant-mentions-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions-borderless, -.ant-mentions-borderless:hover, -.ant-mentions-borderless:focus, -.ant-mentions-borderless-focused, -.ant-mentions-borderless-disabled, -.ant-mentions-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-mentions { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-mentions-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-mentions-sm { - padding: 0px 7px; -} -.ant-mentions-rtl { - direction: rtl; -} -.ant-mentions-disabled > textarea { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions-disabled > textarea:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions > textarea, -.ant-mentions-measure { - min-height: 30px; - margin: 0; - padding: 4px 11px; - overflow: inherit; - overflow-x: hidden; - overflow-y: auto; - /* stylelint-disable declaration-block-no-redundant-longhand-properties */ - font-weight: inherit; - font-size: inherit; - font-family: inherit; - font-style: inherit; - font-variant: inherit; - font-size-adjust: inherit; - font-stretch: inherit; - line-height: inherit; - /* stylelint-enable declaration-block-no-redundant-longhand-properties */ - direction: inherit; - letter-spacing: inherit; - white-space: inherit; - text-align: inherit; - vertical-align: top; - word-wrap: break-word; - word-break: inherit; - tab-size: inherit; -} -.ant-mentions > textarea { - width: 100%; - border: none; - outline: none; - resize: none; -} -.ant-mentions > textarea::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions > textarea:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions-measure { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - color: transparent; - pointer-events: none; -} -.ant-mentions-measure > span { - display: inline-block; - min-height: 1em; -} -.ant-mentions-dropdown { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - box-sizing: border-box; - font-size: 14px; - font-variant: initial; - background-color: #fff; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-mentions-dropdown-hidden { - display: none; -} -.ant-mentions-dropdown-menu { - max-height: 250px; - margin-bottom: 0; - padding-left: 0; - overflow: auto; - list-style: none; - outline: none; -} -.ant-mentions-dropdown-menu-item { - position: relative; - display: block; - min-width: 100px; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-mentions-dropdown-menu-item:hover { - background-color: #f5f5f5; -} -.ant-mentions-dropdown-menu-item:first-child { - border-radius: 2px 2px 0 0; -} -.ant-mentions-dropdown-menu-item:last-child { - border-radius: 0 0 2px 2px; -} -.ant-mentions-dropdown-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-mentions-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-mentions-dropdown-menu-item-selected { - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - background-color: #fafafa; -} -.ant-mentions-dropdown-menu-item-active { - background-color: #f5f5f5; -} -.ant-mentions-suffix { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - z-index: 1; - display: inline-flex; - align-items: center; - margin: auto; -} -.ant-mentions-rtl { - direction: rtl; -} -.ant-mention-dropdown { - top: 100%; - left: 0; - position: relative; - width: 100%; - margin-top: 4px; - margin-bottom: 4px; -} -.ant-mentions { - border: none; -} -.ant-mentions .rc-textarea { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-mentions .rc-textarea::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions .rc-textarea:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions .rc-textarea:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-mentions .rc-textarea:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions .rc-textarea:focus, -.ant-mentions .rc-textarea-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions .rc-textarea:focus, -.ant-input-rtl .ant-mentions .rc-textarea-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions .rc-textarea-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions .rc-textarea-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions .rc-textarea[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions .rc-textarea[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions .rc-textarea-borderless, -.ant-mentions .rc-textarea-borderless:hover, -.ant-mentions .rc-textarea-borderless:focus, -.ant-mentions .rc-textarea-borderless-focused, -.ant-mentions .rc-textarea-borderless-disabled, -.ant-mentions .rc-textarea-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-mentions .rc-textarea { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-mentions .rc-textarea-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-mentions .rc-textarea-sm { - padding: 0px 7px; -} -.ant-mentions .rc-textarea-rtl { - direction: rtl; -} -.ant-message { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - top: 8px; - left: 0; - z-index: 1010; - width: 100%; - pointer-events: none; -} -.ant-message-notice { - padding: 8px; - text-align: center; -} -.ant-message-notice-content { - display: inline-block; - padding: 10px 16px; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - pointer-events: all; -} -.ant-message-success .anticon { - color: #52c41a; -} -.ant-message-error .anticon { - color: #ff4d4f; -} -.ant-message-warning .anticon { - color: #faad14; -} -.ant-message-info .anticon, -.ant-message-loading .anticon { - color: #1890ff; -} -.ant-message .anticon { - position: relative; - top: 1px; - margin-right: 8px; - font-size: 16px; -} -.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active { - animation-name: MessageMoveOut; - animation-duration: 0.3s; -} -@keyframes MessageMoveOut { - 0% { - max-height: 150px; - padding: 8px; - opacity: 1; - } - 100% { - max-height: 0; - padding: 0; - opacity: 0; - } -} -.ant-message-rtl { - direction: rtl; -} -.ant-message-rtl span { - direction: rtl; -} -.ant-message-rtl .anticon { - margin-right: 0; - margin-left: 8px; -} -.ant-modal { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - pointer-events: none; - position: relative; - top: 100px; - width: auto; - max-width: calc(100vw - 32px); - margin: 0 auto; - padding-bottom: 24px; -} -.ant-modal.ant-zoom-enter, -.ant-modal.ant-zoom-appear { - transform: none; - opacity: 0; - animation-duration: 0.3s; - user-select: none; -} -.ant-modal-mask { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - height: 100%; - background-color: rgba(0, 0, 0, 0.45); -} -.ant-modal-mask-hidden { - display: none; -} -.ant-modal-wrap { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - outline: 0; -} -.ant-modal-wrap { - z-index: 1000; -} -.ant-modal-title { - margin: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 22px; - word-wrap: break-word; -} -.ant-modal-content { - position: relative; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - pointer-events: auto; -} -.ant-modal-close { - position: absolute; - top: 0; - right: 0; - z-index: 10; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - line-height: 1; - text-decoration: none; - background: transparent; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-modal-close-x { - display: block; - width: 54px; - height: 54px; - font-size: 16px; - font-style: normal; - line-height: 54px; - text-align: center; - text-transform: none; - text-rendering: auto; -} -.ant-modal-close:focus, -.ant-modal-close:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-modal-header { - padding: 16px 24px; - color: rgba(0, 0, 0, 0.85); - background: #fff; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-modal-body { - padding: 24px; - font-size: 14px; - line-height: 1.5715; - word-wrap: break-word; -} -.ant-modal-footer { - padding: 10px 16px; - text-align: right; - background: transparent; - border-top: 1px solid #f0f0f0; - border-radius: 0 0 2px 2px; -} -.ant-modal-footer .ant-btn + .ant-btn:not(.ant-dropdown-trigger) { - margin-bottom: 0; - margin-left: 8px; -} -.ant-modal-open { - overflow: hidden; -} -.ant-modal-centered { - text-align: center; -} -.ant-modal-centered::before { - display: inline-block; - width: 0; - height: 100%; - vertical-align: middle; - content: ''; -} -.ant-modal-centered .ant-modal { - top: 0; - display: inline-block; - padding-bottom: 0; - text-align: left; - vertical-align: middle; -} -@media (max-width: 767px) { - .ant-modal { - max-width: calc(100vw - 16px); - margin: 8px auto; - } - .ant-modal-centered .ant-modal { - flex: 1; - } -} -.ant-modal-confirm .ant-modal-header { - display: none; -} -.ant-modal-confirm .ant-modal-body { - padding: 32px 32px 24px; -} -.ant-modal-confirm-body-wrapper::before { - display: table; - content: ''; -} -.ant-modal-confirm-body-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-modal-confirm-body-wrapper::before { - display: table; - content: ''; -} -.ant-modal-confirm-body-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-modal-confirm-body .ant-modal-confirm-title { - display: block; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 1.4; -} -.ant-modal-confirm-body .ant-modal-confirm-content { - margin-top: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-modal-confirm-body > .anticon { - float: left; - margin-right: 16px; - font-size: 22px; -} -.ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content { - margin-left: 38px; -} -.ant-modal-confirm .ant-modal-confirm-btns { - margin-top: 24px; - text-align: right; -} -.ant-modal-confirm .ant-modal-confirm-btns .ant-btn + .ant-btn { - margin-bottom: 0; - margin-left: 8px; -} -.ant-modal-confirm-error .ant-modal-confirm-body > .anticon { - color: #ff4d4f; -} -.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon, -.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon { - color: #faad14; -} -.ant-modal-confirm-info .ant-modal-confirm-body > .anticon { - color: #1890ff; -} -.ant-modal-confirm-success .ant-modal-confirm-body > .anticon { - color: #52c41a; -} -.ant-modal-confirm .ant-zoom-leave .ant-modal-confirm-btns { - pointer-events: none; -} -.ant-modal-wrap-rtl { - direction: rtl; -} -.ant-modal-wrap-rtl .ant-modal-close { - right: initial; - left: 0; -} -.ant-modal-wrap-rtl .ant-modal-footer { - text-align: left; -} -.ant-modal-wrap-rtl .ant-modal-footer .ant-btn + .ant-btn { - margin-right: 8px; - margin-left: 0; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body { - direction: rtl; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content { - margin-right: 38px; - margin-left: 0; -} -.ant-modal-wrap-rtl .ant-modal-confirm-btns { - text-align: left; -} -.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn + .ant-btn { - margin-right: 8px; - margin-left: 0; -} -.ant-modal-wrap-rtl.ant-modal-centered .ant-modal { - text-align: right; -} -.ant-modal-max { - display: flex; - flex-direction: column; -} -.ant-modal-max > .ant-modal-content { - width: 100vw; - height: 100vh; - display: flex; - flex-direction: column; -} -.ant-modal-max > .ant-modal-content > .ant-modal-body { - flex-grow: 1; - overflow: auto; -} -.ant-modal-max-btn { - position: absolute; - top: 0; - right: 54px; - z-index: 10; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - line-height: 1; - text-decoration: none; - background: 0 0; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-modal-max-btn-x { - display: block; - width: 54px; - height: 54px; - font-size: 16px; - font-style: normal; - line-height: 54px; - text-align: center; - text-transform: none; - text-rendering: auto; -} -.ant-modal-max-btn:focus, -.ant-modal-max-btn:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-modal-resizable .ant-modal-footer { - position: absolute; - bottom: 0; - right: 0; - width: 100%; -} -.ant-modal-wrap-rtl .ant-modal-resizable .ant-modal-footer { - left: 0; -} -body:has(.ant-modal-open .ant-modal-mask) { - overflow: hidden; - padding-right: var(--ant-scrollbar-width); -} -.ant-notification { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - z-index: 1010; - margin-right: 24px; -} -.ant-notification-close-icon { - font-size: 14px; - cursor: pointer; -} -.ant-notification-hook-holder { - position: relative; -} -.ant-notification-notice { - position: relative; - width: 384px; - max-width: calc(100vw - 24px * 2); - margin-bottom: 16px; - margin-left: auto; - padding: 16px 24px; - overflow: hidden; - line-height: 1.5715; - word-wrap: break-word; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-notification-top .ant-notification-notice, -.ant-notification-bottom .ant-notification-notice { - margin-right: auto; - margin-left: auto; -} -.ant-notification-topLeft .ant-notification-notice, -.ant-notification-bottomLeft .ant-notification-notice { - margin-right: auto; - margin-left: 0; -} -.ant-notification-notice-message { - margin-bottom: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 24px; -} -.ant-notification-notice-message-single-line-auto-margin { - display: block; - width: calc(384px - 24px * 2 - 24px - 48px - 100%); - max-width: 4px; - background-color: transparent; - pointer-events: none; -} -.ant-notification-notice-message-single-line-auto-margin::before { - display: block; - content: ''; -} -.ant-notification-notice-description { - font-size: 14px; -} -.ant-notification-notice-closable .ant-notification-notice-message { - padding-right: 24px; -} -.ant-notification-notice-with-icon .ant-notification-notice-message { - margin-bottom: 4px; - margin-left: 48px; - font-size: 16px; -} -.ant-notification-notice-with-icon .ant-notification-notice-description { - margin-left: 48px; - font-size: 14px; -} -.ant-notification-notice-icon { - position: absolute; - margin-left: 4px; - font-size: 24px; - line-height: 24px; -} -.anticon.ant-notification-notice-icon-success { - color: #52c41a; -} -.anticon.ant-notification-notice-icon-info { - color: #1890ff; -} -.anticon.ant-notification-notice-icon-warning { - color: #faad14; -} -.anticon.ant-notification-notice-icon-error { - color: #ff4d4f; -} -.ant-notification-notice-close { - position: absolute; - top: 16px; - right: 22px; - color: rgba(0, 0, 0, 0.45); - outline: none; -} -.ant-notification-notice-close:hover { - color: rgba(0, 0, 0, 0.67); -} -.ant-notification-notice-btn { - float: right; - margin-top: 16px; -} -.ant-notification .notification-fade-effect { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; -} -.ant-notification-fade-enter, -.ant-notification-fade-appear { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; - opacity: 0; - animation-play-state: paused; -} -.ant-notification-fade-leave { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; - animation-duration: 0.2s; - animation-play-state: paused; -} -.ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationFadeIn; - animation-play-state: running; -} -.ant-notification-fade-leave.ant-notification-fade-leave-active { - animation-name: NotificationFadeOut; - animation-play-state: running; -} -@keyframes NotificationFadeIn { - 0% { - left: 384px; - opacity: 0; - } - 100% { - left: 0; - opacity: 1; - } -} -@keyframes NotificationFadeOut { - 0% { - max-height: 150px; - margin-bottom: 16px; - opacity: 1; - } - 100% { - max-height: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; - opacity: 0; - } -} -.ant-notification-rtl { - direction: rtl; -} -.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message { - padding-right: 0; - padding-left: 24px; -} -.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message { - margin-right: 48px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description { - margin-right: 48px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-icon { - margin-right: 4px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-close { - right: auto; - left: 22px; -} -.ant-notification-rtl .ant-notification-notice-btn { - float: left; -} -.ant-notification-top, -.ant-notification-bottom { - margin-right: 0; - margin-left: 0; -} -.ant-notification-top .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-top .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationTopFadeIn; -} -.ant-notification-bottom .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-bottom .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationBottomFadeIn; -} -.ant-notification-topLeft, -.ant-notification-bottomLeft { - margin-right: 0; - margin-left: 24px; -} -.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active, -.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationLeftFadeIn; -} -@keyframes NotificationTopFadeIn { - 0% { - margin-top: -100%; - opacity: 0; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@keyframes NotificationBottomFadeIn { - 0% { - margin-bottom: -100%; - opacity: 0; - } - 100% { - margin-bottom: 0; - opacity: 1; - } -} -@keyframes NotificationLeftFadeIn { - 0% { - right: 384px; - opacity: 0; - } - 100% { - right: 0; - opacity: 1; - } -} -@keyframes NotificationBottomFadeIn { - 0% { - margin-bottom: -100%; - opacity: 0; - } - 100% { - margin-bottom: 16px; - opacity: 1; - } -} -.ant-page-header { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - padding: 16px 24px; - background-color: #fff; -} -.ant-page-header-ghost { - background-color: inherit; -} -.ant-page-header.has-breadcrumb { - padding-top: 12px; -} -.ant-page-header.has-footer { - padding-bottom: 0; -} -.ant-page-header-back { - margin-right: 16px; - font-size: 16px; - line-height: 1; -} -.ant-page-header-back-button { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - color: #000; -} -.ant-page-header-back-button:focus-visible, -.ant-page-header-back-button:hover { - color: #40a9ff; -} -.ant-page-header-back-button:active { - color: #096dd9; -} -.ant-page-header .ant-divider-vertical { - height: 14px; - margin: 0 12px; - vertical-align: middle; -} -.ant-breadcrumb + .ant-page-header-heading { - margin-top: 8px; -} -.ant-page-header-heading { - display: flex; - justify-content: space-between; -} -.ant-page-header-heading-left { - display: flex; - align-items: center; - margin: 4px 0; - overflow: hidden; -} -.ant-page-header-heading-title { - margin-right: 12px; - margin-bottom: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 20px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-page-header-heading .ant-avatar { - margin-right: 12px; -} -.ant-page-header-heading-sub-title { - margin-right: 12px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-page-header-heading-extra { - margin: 4px 0; - white-space: nowrap; -} -.ant-page-header-heading-extra > * { - white-space: unset; -} -.ant-page-header-content { - padding-top: 12px; -} -.ant-page-header-footer { - margin-top: 16px; -} -.ant-page-header-footer .ant-tabs > .ant-tabs-nav { - margin: 0; -} -.ant-page-header-footer .ant-tabs > .ant-tabs-nav::before { - border: none; -} -.ant-page-header-footer .ant-tabs .ant-tabs-tab { - padding-top: 8px; - padding-bottom: 8px; - font-size: 16px; -} -.ant-page-header-compact .ant-page-header-heading { - flex-wrap: wrap; -} -.ant-page-header-rtl { - direction: rtl; -} -.ant-page-header-rtl .ant-page-header-back { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-page-header-rtl .ant-page-header-heading-title { - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading .ant-avatar { - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading-sub-title { - float: right; - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading-tags { - float: right; -} -.ant-page-header-rtl .ant-page-header-heading-extra { - float: left; -} -.ant-page-header-rtl .ant-page-header-heading-extra > * { - margin-right: 12px; - margin-left: 0; -} -.ant-page-header-rtl .ant-page-header-heading-extra > *:first-child { - margin-right: 0; -} -.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav { - float: right; -} -.ant-page-header-back-button { - border: 0; - background: transparent; - padding: 0; - line-height: inherit; - display: inline-block; -} -.ant-pagination { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-pagination ul, -.ant-pagination ol { - margin: 0; - padding: 0; - list-style: none; -} -.ant-pagination::after { - display: block; - clear: both; - height: 0; - overflow: hidden; - visibility: hidden; - content: ' '; -} -.ant-pagination-total-text { - display: inline-block; - height: 32px; - margin-right: 8px; - line-height: 30px; - vertical-align: middle; -} -.ant-pagination-item { - display: inline-block; - min-width: 32px; - height: 32px; - margin-right: 8px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 30px; - text-align: center; - vertical-align: middle; - list-style: none; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: 0; - cursor: pointer; - user-select: none; -} -.ant-pagination-item a { - display: block; - padding: 0 6px; - color: rgba(0, 0, 0, 0.85); - transition: none; -} -.ant-pagination-item a:hover { - text-decoration: none; -} -.ant-pagination-item:hover { - border-color: #1890ff; - transition: all 0.3s; -} -.ant-pagination-item:hover a { - color: #1890ff; -} -.ant-pagination-item:focus-visible { - border-color: #1890ff; - transition: all 0.3s; -} -.ant-pagination-item:focus-visible a { - color: #1890ff; -} -.ant-pagination-item-active { - font-weight: 500; - background: #fff; - border-color: #1890ff; -} -.ant-pagination-item-active a { - color: #1890ff; -} -.ant-pagination-item-active:hover { - border-color: #40a9ff; -} -.ant-pagination-item-active:focus-visible { - border-color: #40a9ff; -} -.ant-pagination-item-active:hover a { - color: #40a9ff; -} -.ant-pagination-item-active:focus-visible a { - color: #40a9ff; -} -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - outline: 0; -} -.ant-pagination-jump-prev .ant-pagination-item-container, -.ant-pagination-jump-next .ant-pagination-item-container { - position: relative; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { - color: #1890ff; - font-size: 12px; - letter-spacing: -1px; - opacity: 0; - transition: all 0.2s; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg { - top: 0; - right: 0; - bottom: 0; - left: 0; - margin: auto; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - margin: auto; - color: rgba(0, 0, 0, 0.25); - font-family: Arial, Helvetica, sans-serif; - letter-spacing: 2px; - text-align: center; - text-indent: 0.13em; - opacity: 1; - transition: all 0.2s; -} -.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon, -.ant-pagination-jump-next:hover .ant-pagination-item-link-icon { - opacity: 1; -} -.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis, -.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis { - opacity: 0; -} -.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon, -.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon { - opacity: 1; -} -.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis, -.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis { - opacity: 0; -} -.ant-pagination-prev, -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - margin-right: 8px; -} -.ant-pagination-prev, -.ant-pagination-next, -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - display: inline-block; - min-width: 32px; - height: 32px; - color: rgba(0, 0, 0, 0.85); - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 32px; - text-align: center; - vertical-align: middle; - list-style: none; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s; -} -.ant-pagination-prev, -.ant-pagination-next { - font-family: Arial, Helvetica, sans-serif; - outline: 0; -} -.ant-pagination-prev button, -.ant-pagination-next button { - color: rgba(0, 0, 0, 0.85); - cursor: pointer; - user-select: none; -} -.ant-pagination-prev:hover button, -.ant-pagination-next:hover button { - border-color: #40a9ff; -} -.ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-next .ant-pagination-item-link { - display: block; - width: 100%; - height: 100%; - padding: 0; - font-size: 12px; - text-align: center; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: none; - transition: all 0.3s; -} -.ant-pagination-prev:focus-visible .ant-pagination-item-link, -.ant-pagination-next:focus-visible .ant-pagination-item-link { - color: #1890ff; - border-color: #1890ff; -} -.ant-pagination-prev:hover .ant-pagination-item-link, -.ant-pagination-next:hover .ant-pagination-item-link { - color: #1890ff; - border-color: #1890ff; -} -.ant-pagination-disabled, -.ant-pagination-disabled:hover { - cursor: not-allowed; -} -.ant-pagination-disabled .ant-pagination-item-link, -.ant-pagination-disabled:hover .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-disabled:focus-visible { - cursor: not-allowed; -} -.ant-pagination-disabled:focus-visible .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-slash { - margin: 0 10px 0 5px; -} -.ant-pagination-options { - display: inline-block; - margin-left: 16px; - vertical-align: middle; -} -@media all and (-ms-high-contrast: none) { - .ant-pagination-options *::-ms-backdrop, - .ant-pagination-options { - vertical-align: top; - } -} -.ant-pagination-options-size-changer.ant-select { - display: inline-block; - width: auto; -} -.ant-pagination-options-quick-jumper { - display: inline-block; - height: 32px; - margin-left: 8px; - line-height: 32px; - vertical-align: top; -} -.ant-pagination-options-quick-jumper input { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - width: 50px; - height: 32px; - margin: 0 8px; -} -.ant-pagination-options-quick-jumper input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-pagination-options-quick-jumper input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-pagination-options-quick-jumper input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-pagination-options-quick-jumper input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-pagination-options-quick-jumper input:focus, -.ant-pagination-options-quick-jumper input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-pagination-options-quick-jumper input:focus, -.ant-input-rtl .ant-pagination-options-quick-jumper input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-pagination-options-quick-jumper input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-pagination-options-quick-jumper input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-pagination-options-quick-jumper input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-pagination-options-quick-jumper input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-pagination-options-quick-jumper input-borderless, -.ant-pagination-options-quick-jumper input-borderless:hover, -.ant-pagination-options-quick-jumper input-borderless:focus, -.ant-pagination-options-quick-jumper input-borderless-focused, -.ant-pagination-options-quick-jumper input-borderless-disabled, -.ant-pagination-options-quick-jumper input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-pagination-options-quick-jumper input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-pagination-options-quick-jumper input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-pagination-options-quick-jumper input-sm { - padding: 0px 7px; -} -.ant-pagination-options-quick-jumper input-rtl { - direction: rtl; -} -.ant-pagination-simple .ant-pagination-prev, -.ant-pagination-simple .ant-pagination-next { - height: 24px; - line-height: 24px; - vertical-align: top; -} -.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { - height: 24px; - background-color: transparent; - border: 0; -} -.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after, -.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after { - height: 24px; - line-height: 24px; -} -.ant-pagination-simple .ant-pagination-simple-pager { - display: inline-block; - height: 24px; - margin-right: 8px; -} -.ant-pagination-simple .ant-pagination-simple-pager input { - box-sizing: border-box; - height: 100%; - margin-right: 8px; - padding: 0 6px; - text-align: center; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: none; - transition: border-color 0.3s; -} -.ant-pagination-simple .ant-pagination-simple-pager input:hover { - border-color: #1890ff; -} -.ant-pagination-simple .ant-pagination-simple-pager input:focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); -} -.ant-pagination-simple .ant-pagination-simple-pager input[disabled] { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-mini .ant-pagination-total-text, -.ant-pagination.ant-pagination-mini .ant-pagination-simple-pager { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-item { - min-width: 24px; - height: 24px; - margin: 0; - line-height: 22px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active) { - background: transparent; - border-color: transparent; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev, -.ant-pagination.ant-pagination-mini .ant-pagination-next { - min-width: 24px; - height: 24px; - margin: 0; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link { - background: transparent; - border-color: transparent; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link::after, -.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link::after { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-jump-prev, -.ant-pagination.ant-pagination-mini .ant-pagination-jump-next { - height: 24px; - margin-right: 0; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options { - margin-left: 2px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-size-changer { - top: 0px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper input { - padding: 0px 7px; - width: 44px; - height: 24px; -} -.ant-pagination.ant-pagination-disabled { - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item { - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item a { - color: rgba(0, 0, 0, 0.25); - background: transparent; - border: none; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-active { - background: #e6e6e6; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a { - color: rgba(0, 0, 0, 0.25); -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link { - background: transparent; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon { - opacity: 0; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis { - opacity: 1; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager { - color: rgba(0, 0, 0, 0.25); -} -@media only screen and (max-width: 992px) { - .ant-pagination-item-after-jump-prev, - .ant-pagination-item-before-jump-next { - display: none; - } -} -@media only screen and (max-width: 576px) { - .ant-pagination-options { - display: none; - } -} -.ant-pagination-rtl .ant-pagination-total-text { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-item, -.ant-pagination-rtl .ant-pagination-prev, -.ant-pagination-rtl .ant-pagination-jump-prev, -.ant-pagination-rtl .ant-pagination-jump-next { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-slash { - margin: 0 5px 0 10px; -} -.ant-pagination-rtl .ant-pagination-options { - margin-right: 16px; - margin-left: 0; -} -.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper { - margin-left: 0; -} -.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options { - margin-right: 2px; - margin-left: 0; -} -.ant-popover { - position: relative; -} -.ant-popover { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: 0; - left: 0; - z-index: 1030; - font-weight: normal; - white-space: normal; - text-align: left; - cursor: auto; - user-select: text; -} -.ant-popover-content { - position: relative; -} -.ant-popover::after { - position: absolute; - background: rgba(255, 255, 255, 0.01); - content: ''; -} -.ant-popover-hidden { - display: none; -} -.ant-popover-placement-top, -.ant-popover-placement-topLeft, -.ant-popover-placement-topRight { - padding-bottom: 15.3137085px; -} -.ant-popover-placement-right, -.ant-popover-placement-rightTop, -.ant-popover-placement-rightBottom { - padding-left: 15.3137085px; -} -.ant-popover-placement-bottom, -.ant-popover-placement-bottomLeft, -.ant-popover-placement-bottomRight { - padding-top: 15.3137085px; -} -.ant-popover-placement-left, -.ant-popover-placement-leftTop, -.ant-popover-placement-leftBottom { - padding-right: 15.3137085px; -} -.ant-popover-inner { - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ant-popover { - /* IE10+ */ - } - .ant-popover-inner { - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - } -} -.ant-popover-title { - min-width: 177px; - min-height: 32px; - margin: 0; - padding: 5px 16px 4px; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - border-bottom: 1px solid #f0f0f0; -} -.ant-popover-inner-content { - padding: 12px 16px; - color: rgba(0, 0, 0, 0.85); -} -.ant-popover-message { - display: flex; - align-items: center; - padding: 4px 0 12px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-popover-message-icon { - display: inline-block; - margin-right: 8px; - color: #faad14; - font-size: 14px; -} -.ant-popover-buttons { - margin-bottom: 4px; - text-align: right; -} -.ant-popover-buttons button:not(:first-child) { - margin-left: 8px; -} -.ant-popover-arrow { - position: absolute; - display: block; - width: 22px; - height: 22px; - overflow: hidden; - background: transparent; - pointer-events: none; -} -.ant-popover-arrow-content { - --antd-arrow-background-color: #fff; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - width: 11.3137085px; - height: 11.3137085px; - margin: auto; - content: ''; - pointer-events: auto; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-popover-arrow-content::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: var(--antd-arrow-background-color); - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-popover-placement-top .ant-popover-arrow, -.ant-popover-placement-topLeft .ant-popover-arrow, -.ant-popover-placement-topRight .ant-popover-arrow { - bottom: 0; - transform: translateY(100%); -} -.ant-popover-placement-top .ant-popover-arrow-content, -.ant-popover-placement-topLeft .ant-popover-arrow-content, -.ant-popover-placement-topRight .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(-11px) rotate(45deg); -} -.ant-popover-placement-top .ant-popover-arrow { - left: 50%; - transform: translateY(100%) translateX(-50%); -} -.ant-popover-placement-topLeft .ant-popover-arrow { - left: 16px; -} -.ant-popover-placement-topRight .ant-popover-arrow { - right: 16px; -} -.ant-popover-placement-right .ant-popover-arrow, -.ant-popover-placement-rightTop .ant-popover-arrow, -.ant-popover-placement-rightBottom .ant-popover-arrow { - left: 0; - transform: translateX(-100%); -} -.ant-popover-placement-right .ant-popover-arrow-content, -.ant-popover-placement-rightTop .ant-popover-arrow-content, -.ant-popover-placement-rightBottom .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(11px) rotate(135deg); -} -.ant-popover-placement-right .ant-popover-arrow { - top: 50%; - transform: translateX(-100%) translateY(-50%); -} -.ant-popover-placement-rightTop .ant-popover-arrow { - top: 12px; -} -.ant-popover-placement-rightBottom .ant-popover-arrow { - bottom: 12px; -} -.ant-popover-placement-bottom .ant-popover-arrow, -.ant-popover-placement-bottomLeft .ant-popover-arrow, -.ant-popover-placement-bottomRight .ant-popover-arrow { - top: 0; - transform: translateY(-100%); -} -.ant-popover-placement-bottom .ant-popover-arrow-content, -.ant-popover-placement-bottomLeft .ant-popover-arrow-content, -.ant-popover-placement-bottomRight .ant-popover-arrow-content { - box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.06); - transform: translateY(11px) rotate(-135deg); -} -.ant-popover-placement-bottom .ant-popover-arrow { - left: 50%; - transform: translateY(-100%) translateX(-50%); -} -.ant-popover-placement-bottomLeft .ant-popover-arrow { - left: 16px; -} -.ant-popover-placement-bottomRight .ant-popover-arrow { - right: 16px; -} -.ant-popover-placement-left .ant-popover-arrow, -.ant-popover-placement-leftTop .ant-popover-arrow, -.ant-popover-placement-leftBottom .ant-popover-arrow { - right: 0; - transform: translateX(100%); -} -.ant-popover-placement-left .ant-popover-arrow-content, -.ant-popover-placement-leftTop .ant-popover-arrow-content, -.ant-popover-placement-leftBottom .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(-11px) rotate(-45deg); -} -.ant-popover-placement-left .ant-popover-arrow { - top: 50%; - transform: translateX(100%) translateY(-50%); -} -.ant-popover-placement-leftTop .ant-popover-arrow { - top: 12px; -} -.ant-popover-placement-leftBottom .ant-popover-arrow { - bottom: 12px; -} -.ant-popover-pink .ant-popover-inner { - background-color: #eb2f96; -} -.ant-popover-pink .ant-popover-arrow-content { - background-color: #eb2f96; -} -.ant-popover-magenta .ant-popover-inner { - background-color: #eb2f96; -} -.ant-popover-magenta .ant-popover-arrow-content { - background-color: #eb2f96; -} -.ant-popover-red .ant-popover-inner { - background-color: #f5222d; -} -.ant-popover-red .ant-popover-arrow-content { - background-color: #f5222d; -} -.ant-popover-volcano .ant-popover-inner { - background-color: #fa541c; -} -.ant-popover-volcano .ant-popover-arrow-content { - background-color: #fa541c; -} -.ant-popover-orange .ant-popover-inner { - background-color: #fa8c16; -} -.ant-popover-orange .ant-popover-arrow-content { - background-color: #fa8c16; -} -.ant-popover-yellow .ant-popover-inner { - background-color: #fadb14; -} -.ant-popover-yellow .ant-popover-arrow-content { - background-color: #fadb14; -} -.ant-popover-gold .ant-popover-inner { - background-color: #faad14; -} -.ant-popover-gold .ant-popover-arrow-content { - background-color: #faad14; -} -.ant-popover-cyan .ant-popover-inner { - background-color: #13c2c2; -} -.ant-popover-cyan .ant-popover-arrow-content { - background-color: #13c2c2; -} -.ant-popover-lime .ant-popover-inner { - background-color: #a0d911; -} -.ant-popover-lime .ant-popover-arrow-content { - background-color: #a0d911; -} -.ant-popover-green .ant-popover-inner { - background-color: #52c41a; -} -.ant-popover-green .ant-popover-arrow-content { - background-color: #52c41a; -} -.ant-popover-blue .ant-popover-inner { - background-color: #1890ff; -} -.ant-popover-blue .ant-popover-arrow-content { - background-color: #1890ff; -} -.ant-popover-geekblue .ant-popover-inner { - background-color: #2f54eb; -} -.ant-popover-geekblue .ant-popover-arrow-content { - background-color: #2f54eb; -} -.ant-popover-purple .ant-popover-inner { - background-color: #722ed1; -} -.ant-popover-purple .ant-popover-arrow-content { - background-color: #722ed1; -} -.ant-popover-rtl { - direction: rtl; - text-align: right; -} -.ant-popover-rtl .ant-popover-message-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-popover-rtl .ant-popover-message-title { - padding-left: 16px; -} -.ant-popover-rtl .ant-popover-buttons { - text-align: left; -} -.ant-popover-rtl .ant-popover-buttons button { - margin-right: 8px; - margin-left: 0; -} -.ant-popover { - position: relative; -} -.ant-progress { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-progress-line { - position: relative; - width: 100%; - font-size: 14px; -} -.ant-progress-steps { - display: inline-block; -} -.ant-progress-steps-outer { - display: flex; - flex-direction: row; - align-items: center; -} -.ant-progress-steps-item { - flex-shrink: 0; - min-width: 2px; - margin-right: 2px; - background: #f3f3f3; - transition: all 0.3s; -} -.ant-progress-steps-item-active { - background: #1890ff; -} -.ant-progress-small.ant-progress-line, -.ant-progress-small.ant-progress-line .ant-progress-text .anticon { - font-size: 12px; -} -.ant-progress-outer { - display: inline-block; - width: 100%; - margin-right: 0; - padding-right: 0; -} -.ant-progress-show-info .ant-progress-outer { - margin-right: calc(-2em - 8px); - padding-right: calc(2em + 8px); -} -.ant-progress-inner { - position: relative; - display: inline-block; - width: 100%; - overflow: hidden; - vertical-align: middle; - background-color: #f5f5f5; - border-radius: 100px; -} -.ant-progress-circle-trail { - stroke: #f5f5f5; -} -.ant-progress-circle-path { - animation: ant-progress-appear 0.3s; -} -.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #1890ff; -} -.ant-progress-success-bg, -.ant-progress-bg { - position: relative; - background-color: #1890ff; - border-radius: 100px; - transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s; -} -.ant-progress-success-bg { - position: absolute; - top: 0; - left: 0; - background-color: #52c41a; -} -.ant-progress-text { - display: inline-block; - width: 2em; - margin-left: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 1em; - line-height: 1; - white-space: nowrap; - text-align: left; - vertical-align: middle; - word-break: normal; -} -.ant-progress-text .anticon { - font-size: 14px; -} -.ant-progress-status-active .ant-progress-bg::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: #fff; - border-radius: 10px; - opacity: 0; - animation: ant-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite; - content: ''; -} -.ant-progress-status-exception .ant-progress-bg { - background-color: #ff4d4f; -} -.ant-progress-status-exception .ant-progress-text { - color: #ff4d4f; -} -.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #ff4d4f; -} -.ant-progress-status-success .ant-progress-bg { - background-color: #52c41a; -} -.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #52c41a; -} -.ant-progress-circle .ant-progress-inner { - position: relative; - line-height: 1; - background-color: transparent; -} -.ant-progress-circle .ant-progress-text { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 1em; - line-height: 1; - white-space: normal; - text-align: center; - transform: translate(-50%, -50%); -} -.ant-progress-circle .ant-progress-text .anticon { - font-size: 1.16666667em; -} -.ant-progress-circle.ant-progress-status-exception .ant-progress-text { - color: #ff4d4f; -} -.ant-progress-circle.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -@keyframes ant-progress-active { - 0% { - transform: translateX(-100%) scaleX(0); - opacity: 0.1; - } - 20% { - transform: translateX(-100%) scaleX(0); - opacity: 0.5; - } - 100% { - transform: translateX(0) scaleX(1); - opacity: 0; - } -} -.ant-progress-rtl { - direction: rtl; -} -.ant-progress-rtl.ant-progress-show-info .ant-progress-outer { - margin-right: 0; - margin-left: calc(-2em - 8px); - padding-right: 0; - padding-left: calc(2em + 8px); -} -.ant-progress-rtl .ant-progress-success-bg { - right: 0; - left: auto; -} -.ant-progress-rtl.ant-progress-line .ant-progress-text, -.ant-progress-rtl.ant-progress-steps .ant-progress-text { - margin-right: 8px; - margin-left: 0; - text-align: right; -} -.ant-progress-line { - font-size: 0; -} -.ant-progress-line .ant-progress-outer, -.ant-progress-line .ant-progress-text { - font-size: 14px; -} -.ant-progress-small.ant-progress-line { - font-size: 0; -} -.ant-progress-small.ant-progress-line .ant-progress-outer, -.ant-progress-small.ant-progress-line .ant-progress-text { - font-size: 12px; -} -.ant-radio-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - font-size: 0; -} -.ant-radio-group .ant-badge-count { - z-index: 1; -} -.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper { - border-left: none; -} -.ant-radio-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-flex; - align-items: baseline; - margin-right: 8px; - cursor: pointer; -} -.ant-radio-wrapper-disabled { - cursor: not-allowed; -} -.ant-radio-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-radio-wrapper.ant-radio-wrapper-in-form-item input[type='radio'] { - width: 14px; - height: 14px; -} -.ant-radio { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - display: inline-block; - outline: none; - cursor: pointer; -} -.ant-radio-wrapper:hover .ant-radio, -.ant-radio:hover .ant-radio-inner, -.ant-radio-input:focus + .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-input:focus + .ant-radio-inner { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 50%; - visibility: hidden; - animation: antRadioEffect 0.36s ease-in-out; - animation-fill-mode: both; - content: ''; -} -.ant-radio:hover::after, -.ant-radio-wrapper:hover .ant-radio::after { - visibility: visible; -} -.ant-radio-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - background-color: #fff; - border-color: #d9d9d9; - border-style: solid; - border-width: 1px; - border-radius: 50%; - transition: all 0.3s; -} -.ant-radio-inner::after { - position: absolute; - top: 50%; - left: 50%; - display: block; - width: 16px; - height: 16px; - margin-top: -8px; - margin-left: -8px; - background-color: #1890ff; - border-top: 0; - border-left: 0; - border-radius: 16px; - transform: scale(0); - opacity: 0; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); - content: ' '; -} -.ant-radio-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - cursor: pointer; - opacity: 0; -} -.ant-radio.ant-radio-disabled .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-radio-checked .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-checked .ant-radio-inner::after { - transform: scale(0.5); - opacity: 1; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-radio-disabled { - cursor: not-allowed; -} -.ant-radio-disabled .ant-radio-inner { - background-color: #f5f5f5; - cursor: not-allowed; -} -.ant-radio-disabled .ant-radio-inner::after { - background-color: rgba(0, 0, 0, 0.2); -} -.ant-radio-disabled .ant-radio-input { - cursor: not-allowed; -} -.ant-radio-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -span.ant-radio + * { - padding-right: 8px; - padding-left: 8px; -} -.ant-radio-button-wrapper { - position: relative; - display: inline-block; - height: 32px; - margin: 0; - padding: 0 15px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 30px; - background: #fff; - border: 1px solid #d9d9d9; - border-top-width: 1.02px; - border-left-width: 0; - cursor: pointer; - transition: color 0.3s, background 0.3s, border-color 0.3s, box-shadow 0.3s; -} -.ant-radio-button-wrapper a { - color: rgba(0, 0, 0, 0.85); -} -.ant-radio-button-wrapper > .ant-radio-button { - position: absolute; - top: 0; - left: 0; - z-index: -1; - width: 100%; - height: 100%; -} -.ant-radio-group-large .ant-radio-button-wrapper { - height: 40px; - font-size: 16px; - line-height: 38px; -} -.ant-radio-group-small .ant-radio-button-wrapper { - height: 24px; - padding: 0 7px; - line-height: 22px; -} -.ant-radio-button-wrapper:not(:first-child)::before { - position: absolute; - top: -1px; - left: -1px; - display: block; - box-sizing: content-box; - width: 1px; - height: 100%; - padding: 1px 0; - background-color: #d9d9d9; - transition: background-color 0.3s; - content: ''; -} -.ant-radio-button-wrapper:first-child { - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-radio-button-wrapper:last-child { - border-radius: 0 2px 2px 0; -} -.ant-radio-button-wrapper:first-child:last-child { - border-radius: 2px; -} -.ant-radio-button-wrapper:hover { - position: relative; - color: #1890ff; -} -.ant-radio-button-wrapper:focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-button-wrapper .ant-radio-inner, -.ant-radio-button-wrapper input[type='checkbox'], -.ant-radio-button-wrapper input[type='radio'] { - width: 0; - height: 0; - opacity: 0; - pointer-events: none; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { - z-index: 1; - color: #1890ff; - background: #fff; - border-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before { - background-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child { - border-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before { - background-color: #40a9ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { - color: #096dd9; - border-color: #096dd9; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before { - background-color: #096dd9; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { - color: #fff; - background: #1890ff; - border-color: #1890ff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { - color: #fff; - background: #40a9ff; - border-color: #40a9ff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { - color: #fff; - background: #096dd9; - border-color: #096dd9; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-button-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-radio-button-wrapper-disabled:first-child, -.ant-radio-button-wrapper-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; -} -.ant-radio-button-wrapper-disabled:first-child { - border-left-color: #d9d9d9; -} -.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { - color: rgba(0, 0, 0, 0.25); - background-color: #e6e6e6; - border-color: #d9d9d9; - box-shadow: none; -} -@keyframes antRadioEffect { - 0% { - transform: scale(1); - opacity: 0.5; - } - 100% { - transform: scale(1.6); - opacity: 0; - } -} -.ant-radio-group.ant-radio-group-rtl { - direction: rtl; -} -.ant-radio-wrapper.ant-radio-wrapper-rtl { - margin-right: 0; - margin-left: 8px; - direction: rtl; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl { - border-right-width: 0; - border-left-width: 1px; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before { - right: -1px; - left: 0; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child { - border-right: 1px solid #d9d9d9; - border-radius: 0 2px 2px 0; -} -.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child { - border-right-color: #40a9ff; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child { - border-radius: 2px 0 0 2px; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child { - border-right-color: #d9d9d9; -} -.ant-radio + span:empty { - display: none; -} -.ant-radio-input:checked + .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-input:checked + .ant-radio-inner::after { - transform: scale(0.5); - opacity: 1; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-radio-disabled .ant-radio-input:checked + .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-radio-checked .ant-radio-inner::after { - opacity: 0; - /** cover the *-checked's opacity, use :checked's for static SSR */ -} -.ant-radio-checked .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-rate { - box-sizing: border-box; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - display: inline-block; - margin: 0; - padding: 0; - color: #fadb14; - font-size: 20px; - line-height: unset; - list-style: none; - outline: none; -} -.ant-rate-disabled .ant-rate-star { - cursor: default; -} -.ant-rate-disabled .ant-rate-star > div:hover { - transform: scale(1); -} -.ant-rate-star { - position: relative; - display: inline-block; - color: inherit; - cursor: pointer; -} -.ant-rate-star:not(:last-child) { - margin-right: 8px; -} -.ant-rate-star > div { - transition: all 0.3s, outline 0s; -} -.ant-rate-star > div:hover { - transform: scale(1.1); -} -.ant-rate-star > div:focus { - outline: 0; -} -.ant-rate-star > div:focus-visible { - outline: 1px dashed #fadb14; - transform: scale(1.1); -} -.ant-rate-star-first, -.ant-rate-star-second { - color: #f0f0f0; - transition: all 0.3s; - user-select: none; -} -.ant-rate-star-first .anticon, -.ant-rate-star-second .anticon { - vertical-align: middle; -} -.ant-rate-star-first { - position: absolute; - top: 0; - left: 0; - width: 50%; - height: 100%; - overflow: hidden; - opacity: 0; -} -.ant-rate-star-half .ant-rate-star-first, -.ant-rate-star-half .ant-rate-star-second { - opacity: 1; -} -.ant-rate-star-half .ant-rate-star-first, -.ant-rate-star-full .ant-rate-star-second { - color: inherit; -} -.ant-rate-text { - display: inline-block; - margin: 0 8px; - font-size: 14px; -} -.ant-rate-rtl { - direction: rtl; -} -.ant-rate-rtl .ant-rate-star:not(:last-child) { - margin-right: 0; - margin-left: 8px; -} -.ant-rate-rtl .ant-rate-star-first { - right: 0; - left: auto; -} -.ant-select-single .ant-select-selector { - display: flex; -} -.ant-select-single .ant-select-selector .ant-select-selection-search { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - left: 11px; -} -.ant-select-single .ant-select-selector .ant-select-selection-search-input { - width: 100%; -} -.ant-select-single .ant-select-selector .ant-select-selection-item, -.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - padding: 0; - line-height: 30px; - transition: all 0.3s; -} -.ant-select-single .ant-select-selector .ant-select-selection-item { - position: relative; - user-select: none; -} -.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - transition: none; - pointer-events: none; -} -.ant-select-single .ant-select-selector::after, -.ant-select-single .ant-select-selector .ant-select-selection-item::after, -.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after { - display: inline-block; - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-select-single.ant-select-show-arrow .ant-select-selection-search { - right: 25px; -} -.ant-select-single.ant-select-show-arrow .ant-select-selection-item, -.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 18px; -} -.ant-select-single.ant-select-open .ant-select-selection-item { - color: #bfbfbf; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - width: 100%; - height: 32px; - padding: 0 11px; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { - height: 30px; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after { - line-height: 30px; -} -.ant-select-single.ant-select-customize-input .ant-select-selector::after { - display: none; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search { - position: static; - width: 100%; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder { - position: absolute; - right: 0; - left: 0; - padding: 0 11px; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after { - display: none; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector { - height: 40px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after, -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item, -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder { - line-height: 38px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input { - height: 38px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector { - height: 24px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder { - line-height: 22px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input { - height: 22px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search { - right: 7px; - left: 7px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector { - padding: 0 7px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search { - right: 28px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 21px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector { - padding: 0 11px; -} -/** - * Do not merge `height` & `line-height` under style with `selection` & `search`, - * since chrome may update to redesign with its align logic. - */ -.ant-select-selection-overflow { - position: relative; - display: flex; - flex: auto; - flex-wrap: wrap; - max-width: 100%; -} -.ant-select-selection-overflow-item { - flex: none; - align-self: center; - max-width: 100%; -} -.ant-select-multiple .ant-select-selector { - display: flex; - flex-wrap: wrap; - align-items: center; - padding: 1px 4px; -} -.ant-select-show-search.ant-select-multiple .ant-select-selector { - cursor: text; -} -.ant-select-disabled.ant-select-multiple .ant-select-selector { - background: #f5f5f5; - cursor: not-allowed; -} -.ant-select-multiple .ant-select-selector::after { - display: inline-block; - width: 0; - margin: 2px 0; - line-height: 24px; - content: '\a0'; -} -.ant-select-multiple.ant-select-show-arrow .ant-select-selector, -.ant-select-multiple.ant-select-allow-clear .ant-select-selector { - padding-right: 24px; -} -.ant-select-multiple .ant-select-selection-item { - position: relative; - display: flex; - flex: none; - box-sizing: border-box; - max-width: 100%; - height: 24px; - margin-top: 2px; - margin-bottom: 2px; - line-height: 22px; - background: #f5f5f5; - border: 1px solid #f0f0f0; - border-radius: 2px; - cursor: default; - transition: font-size 0.3s, line-height 0.3s, height 0.3s; - user-select: none; - margin-inline-end: 4px; - padding-inline-start: 8px; - padding-inline-end: 4px; -} -.ant-select-disabled.ant-select-multiple .ant-select-selection-item { - color: #bfbfbf; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-select-multiple .ant-select-selection-item-content { - display: inline-block; - margin-right: 4px; - overflow: hidden; - white-space: pre; - text-overflow: ellipsis; -} -.ant-select-multiple .ant-select-selection-item-remove { - color: inherit; - font-style: normal; - line-height: 0; - text-align: center; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - color: rgba(0, 0, 0, 0.45); - font-weight: bold; - font-size: 10px; - line-height: inherit; - cursor: pointer; -} -.ant-select-multiple .ant-select-selection-item-remove > * { - line-height: 1; -} -.ant-select-multiple .ant-select-selection-item-remove svg { - display: inline-block; -} -.ant-select-multiple .ant-select-selection-item-remove::before { - display: none; -} -.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon { - display: block; -} -.ant-select-multiple .ant-select-selection-item-remove > .anticon { - vertical-align: middle; -} -.ant-select-multiple .ant-select-selection-item-remove:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-select-multiple .ant-select-selection-overflow-item + .ant-select-selection-overflow-item .ant-select-selection-search { - margin-inline-start: 0; -} -.ant-select-multiple .ant-select-selection-search { - position: relative; - max-width: 100%; - margin-inline-start: 7px; -} -.ant-select-multiple .ant-select-selection-search-input, -.ant-select-multiple .ant-select-selection-search-mirror { - height: 24px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 24px; - transition: all 0.3s; -} -.ant-select-multiple .ant-select-selection-search-input { - width: 100%; - min-width: 4.1px; -} -.ant-select-multiple .ant-select-selection-search-mirror { - position: absolute; - top: 0; - left: 0; - z-index: 999; - white-space: pre; - visibility: hidden; -} -.ant-select-multiple .ant-select-selection-placeholder { - position: absolute; - top: 50%; - right: 11px; - left: 11px; - transform: translateY(-50%); - transition: all 0.3s; -} -.ant-select-multiple.ant-select-lg .ant-select-selector::after { - line-height: 32px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-item { - height: 32px; - line-height: 30px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-search { - height: 32px; - line-height: 32px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-search-input, -.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror { - height: 32px; - line-height: 30px; -} -.ant-select-multiple.ant-select-sm .ant-select-selector::after { - line-height: 16px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-item { - height: 16px; - line-height: 14px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search { - height: 16px; - line-height: 16px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search-input, -.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror { - height: 16px; - line-height: 14px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder { - left: 7px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search { - margin-inline-start: 3px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-item { - height: 32px; - line-height: 32px; -} -.ant-select-disabled .ant-select-selection-item-remove { - display: none; -} -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector { - background-color: #fff; - border-color: #ff4d4f !important; -} -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector, -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector { - background-color: #fff; - border-color: #faad14 !important; -} -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector, -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-select-status-error.ant-select-has-feedback .ant-select-clear, -.ant-select-status-warning.ant-select-has-feedback .ant-select-clear, -.ant-select-status-success.ant-select-has-feedback .ant-select-clear, -.ant-select-status-validating.ant-select-has-feedback .ant-select-clear { - right: 32px; -} -.ant-select-status-error.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-warning.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-success.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-validating.ant-select-has-feedback .ant-select-selection-selected-value { - padding-right: 42px; -} -/* Reset search input style */ -.ant-select { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - cursor: pointer; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector { - position: relative; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: pointer; -} -.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector { - cursor: text; -} -.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: auto; -} -.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - cursor: not-allowed; -} -.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { - background: #f5f5f5; -} -.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: not-allowed; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { - margin: 0; - padding: 0; - background: transparent; - border: none; - outline: none; - appearance: none; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button { - display: none; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -webkit-appearance: none; -} -.ant-select:not(.ant-select-disabled):hover .ant-select-selector { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-select-selection-item { - flex: 1; - overflow: hidden; - font-weight: normal; - white-space: nowrap; - text-overflow: ellipsis; -} -@media all and (-ms-high-contrast: none) { - .ant-select-selection-item *::-ms-backdrop, - .ant-select-selection-item { - flex: auto; - } -} -.ant-select-selection-placeholder { - flex: 1; - overflow: hidden; - color: #bfbfbf; - white-space: nowrap; - text-overflow: ellipsis; - pointer-events: none; -} -@media all and (-ms-high-contrast: none) { - .ant-select-selection-placeholder *::-ms-backdrop, - .ant-select-selection-placeholder { - flex: auto; - } -} -.ant-select-arrow { - display: inline-block; - color: inherit; - font-style: normal; - line-height: 0; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - top: 50%; - right: 11px; - display: flex; - align-items: center; - height: 12px; - margin-top: -6px; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - line-height: 1; - text-align: center; - pointer-events: none; -} -.ant-select-arrow > * { - line-height: 1; -} -.ant-select-arrow svg { - display: inline-block; -} -.ant-select-arrow::before { - display: none; -} -.ant-select-arrow .ant-select-arrow-icon { - display: block; -} -.ant-select-arrow .anticon { - vertical-align: top; - transition: transform 0.3s; -} -.ant-select-arrow .anticon > svg { - vertical-align: top; -} -.ant-select-arrow .anticon:not(.ant-select-suffix) { - pointer-events: auto; -} -.ant-select-disabled .ant-select-arrow { - cursor: not-allowed; -} -.ant-select-arrow > *:not(:last-child) { - margin-inline-end: 8px; -} -.ant-select-clear { - position: absolute; - top: 50%; - right: 11px; - z-index: 1; - display: inline-block; - width: 12px; - height: 12px; - margin-top: -6px; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - font-style: normal; - line-height: 1; - text-align: center; - text-transform: none; - background: #fff; - cursor: pointer; - opacity: 0; - transition: color 0.3s ease, opacity 0.15s ease; - text-rendering: auto; -} -.ant-select-clear::before { - display: block; -} -.ant-select-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-select:hover .ant-select-clear { - opacity: 1; -} -.ant-select-dropdown { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - box-sizing: border-box; - padding: 4px 0; - overflow: hidden; - font-size: 14px; - font-variant: initial; - background-color: #fff; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft, -.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft { - animation-name: antSlideUpIn; -} -.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft, -.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft { - animation-name: antSlideDownIn; -} -.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft { - animation-name: antSlideUpOut; -} -.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft { - animation-name: antSlideDownOut; -} -.ant-select-dropdown-hidden { - display: none; -} -.ant-select-dropdown-empty { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-item-empty { - position: relative; - display: block; - min-height: 32px; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - color: rgba(0, 0, 0, 0.25); -} -.ant-select-item { - position: relative; - display: block; - min-height: 32px; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-select-item-group { - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - cursor: default; -} -.ant-select-item-option { - display: flex; -} -.ant-select-item-option-content { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-select-item-option-state { - flex: none; -} -.ant-select-item-option-active:not(.ant-select-item-option-disabled) { - background-color: #f5f5f5; -} -.ant-select-item-option-selected:not(.ant-select-item-option-disabled) { - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - background-color: #e6f7ff; -} -.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state { - color: #1890ff; -} -.ant-select-item-option-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-item-option-disabled.ant-select-item-option-selected { - background-color: #f5f5f5; -} -.ant-select-item-option-grouped { - padding-left: 24px; -} -.ant-select-lg { - font-size: 16px; -} -.ant-select-borderless .ant-select-selector { - background-color: transparent !important; - border-color: transparent !important; - box-shadow: none !important; -} -.ant-select.ant-select-in-form-item { - width: 100%; -} -.ant-select-compact-item:not(.ant-select-compact-last-item) { - margin-right: -1px; -} -.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-item-rtl { - margin-right: 0; - margin-left: -1px; -} -.ant-select-compact-item:hover > *, -.ant-select-compact-item:focus > *, -.ant-select-compact-item:active > * { - z-index: 2; -} -.ant-select-compact-item.ant-select-focused > * { - z-index: 2; -} -.ant-select-compact-item[disabled] > * { - z-index: 0; -} -.ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item).ant-select > .ant-select-selector { - border-radius: 0; -} -.ant-select-compact-item.ant-select-compact-first-item.ant-select:not(.ant-select-compact-item-rtl) > .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-select-compact-item.ant-select-compact-last-item.ant-select:not(.ant-select-compact-item-rtl) > .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-select-compact-item.ant-select.ant-select-compact-first-item.ant-select-compact-item-rtl > .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-select-compact-item.ant-select.ant-select-compact-last-item.ant-select-compact-item-rtl > .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-select-rtl { - direction: rtl; -} -.ant-select-rtl .ant-select-arrow { - right: initial; - left: 11px; -} -.ant-select-rtl .ant-select-clear { - right: initial; - left: 11px; -} -.ant-select-dropdown-rtl { - direction: rtl; -} -.ant-select-dropdown-rtl .ant-select-item-option-grouped { - padding-right: 24px; - padding-left: 12px; -} -.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector, -.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector { - padding-right: 4px; - padding-left: 24px; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-item { - text-align: right; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content { - margin-right: 0; - margin-left: 4px; - text-align: right; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror { - right: 0; - left: auto; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder { - right: 11px; - left: auto; -} -.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder { - right: 7px; -} -.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item, -.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - right: 0; - left: 9px; - text-align: right; -} -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search { - right: 11px; - left: 25px; -} -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item, -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 0; - padding-left: 18px; -} -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search { - right: 6px; -} -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item, -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 0; - padding-left: 21px; -} -.segmented-disabled-item, -.segmented-disabled-item:hover, -.segmented-disabled-item:focus { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.segmented-item-selected { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); -} -.segmented-text-ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-segmented { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - padding: 2px; - color: rgba(0, 0, 0, 0.65); - background-color: rgba(0, 0, 0, 0.04); - border-radius: 2px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-segmented-group { - position: relative; - display: flex; - align-items: stretch; - justify-items: flex-start; - width: 100%; -} -.ant-segmented.ant-segmented-block { - display: flex; -} -.ant-segmented.ant-segmented-block .ant-segmented-item { - flex: 1; - min-width: 0; -} -.ant-segmented:not(.ant-segmented-disabled):hover, -.ant-segmented:not(.ant-segmented-disabled):focus { - background-color: rgba(0, 0, 0, 0.06); -} -.ant-segmented-item { - position: relative; - text-align: center; - cursor: pointer; - transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-segmented-item-selected { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); - color: #262626; -} -.ant-segmented-item:hover, -.ant-segmented-item:focus { - color: #262626; -} -.ant-segmented-item-label { - min-height: 28px; - padding: 0 11px; - line-height: 28px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-segmented-item-icon + * { - margin-left: 6px; -} -.ant-segmented-item-input { - position: absolute; - top: 0; - left: 0; - width: 0; - height: 0; - opacity: 0; - pointer-events: none; -} -.ant-segmented.ant-segmented-lg .ant-segmented-item-label { - min-height: 36px; - padding: 0 11px; - font-size: 16px; - line-height: 36px; -} -.ant-segmented.ant-segmented-sm .ant-segmented-item-label { - min-height: 20px; - padding: 0 7px; - line-height: 20px; -} -.ant-segmented-item-disabled, -.ant-segmented-item-disabled:hover, -.ant-segmented-item-disabled:focus { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-segmented-thumb { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); - position: absolute; - top: 0; - left: 0; - width: 0; - height: 100%; - padding: 4px 0; -} -.ant-segmented-thumb-motion-appear-active { - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - will-change: transform, width; -} -.ant-segmented.ant-segmented-rtl { - direction: rtl; -} -.ant-segmented.ant-segmented-rtl .ant-segmented-item-icon { - margin-right: 0; - margin-left: 6px; -} -.ant-skeleton { - display: table; - width: 100%; -} -.ant-skeleton-header { - display: table-cell; - padding-right: 16px; - vertical-align: top; -} -.ant-skeleton-header .ant-skeleton-avatar { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 32px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-content { - display: table-cell; - width: 100%; - vertical-align: top; -} -.ant-skeleton-content .ant-skeleton-title { - width: 100%; - height: 16px; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; -} -.ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph { - margin-top: 24px; -} -.ant-skeleton-content .ant-skeleton-paragraph { - padding: 0; -} -.ant-skeleton-content .ant-skeleton-paragraph > li { - width: 100%; - height: 16px; - list-style: none; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; -} -.ant-skeleton-content .ant-skeleton-paragraph > li:last-child:not(:first-child):not(:nth-child(2)) { - width: 61%; -} -.ant-skeleton-content .ant-skeleton-paragraph > li + li { - margin-top: 16px; -} -.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title { - margin-top: 12px; -} -.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph { - margin-top: 28px; -} -.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title, -.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li { - border-radius: 100px; -} -.ant-skeleton-active .ant-skeleton-title, -.ant-skeleton-active .ant-skeleton-paragraph > li, -.ant-skeleton-active .ant-skeleton-avatar, -.ant-skeleton-active .ant-skeleton-button, -.ant-skeleton-active .ant-skeleton-input, -.ant-skeleton-active .ant-skeleton-image { - position: relative; - /* stylelint-disable-next-line property-no-vendor-prefix,value-no-vendor-prefix */ - z-index: 0; - overflow: hidden; - background: transparent; -} -.ant-skeleton-active .ant-skeleton-title::after, -.ant-skeleton-active .ant-skeleton-paragraph > li::after, -.ant-skeleton-active .ant-skeleton-avatar::after, -.ant-skeleton-active .ant-skeleton-button::after, -.ant-skeleton-active .ant-skeleton-input::after, -.ant-skeleton-active .ant-skeleton-image::after { - position: absolute; - top: 0; - right: -150%; - bottom: 0; - left: -150%; - background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%); - animation: ant-skeleton-loading 1.4s ease infinite; - content: ''; -} -.ant-skeleton.ant-skeleton-block { - width: 100%; -} -.ant-skeleton.ant-skeleton-block .ant-skeleton-button { - width: 100%; -} -.ant-skeleton.ant-skeleton-block .ant-skeleton-input { - width: 100%; -} -.ant-skeleton-element { - display: inline-block; - width: auto; -} -.ant-skeleton-element .ant-skeleton-button { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; - width: 64px; - min-width: 64px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-square { - width: 32px; - min-width: 32px; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle { - width: 32px; - min-width: 32px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round { - border-radius: 32px; -} -.ant-skeleton-element .ant-skeleton-button-lg { - width: 80px; - min-width: 80px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-square { - width: 40px; - min-width: 40px; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle { - width: 40px; - min-width: 40px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round { - border-radius: 40px; -} -.ant-skeleton-element .ant-skeleton-button-sm { - width: 48px; - min-width: 48px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-square { - width: 24px; - min-width: 24px; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle { - width: 24px; - min-width: 24px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round { - border-radius: 24px; -} -.ant-skeleton-element .ant-skeleton-avatar { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 32px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-input { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 160px; - min-width: 160px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-input-lg { - width: 200px; - min-width: 200px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-input-sm { - width: 120px; - min-width: 120px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-image { - display: flex; - align-items: center; - justify-content: center; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 96px; - height: 96px; - line-height: 96px; -} -.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-image-path { - fill: #bfbfbf; -} -.ant-skeleton-element .ant-skeleton-image-svg { - width: 48px; - height: 48px; - line-height: 48px; - max-width: 192px; - max-height: 192px; -} -.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle { - border-radius: 50%; -} -@keyframes ant-skeleton-loading { - 0% { - transform: translateX(-37.5%); - } - 100% { - transform: translateX(37.5%); - } -} -.ant-skeleton-rtl { - direction: rtl; -} -.ant-skeleton-rtl .ant-skeleton-header { - padding-right: 0; - padding-left: 16px; -} -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { - animation-name: ant-skeleton-loading-rtl; -} -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { - animation-name: ant-skeleton-loading-rtl; -} -@keyframes ant-skeleton-loading-rtl { - 0% { - background-position: 0% 50%; - } - 100% { - background-position: 100% 50%; - } -} -.ant-slider { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - height: 12px; - margin: 10px 6px 10px; - padding: 4px 0; - cursor: pointer; - touch-action: none; -} -.ant-slider-vertical { - width: 12px; - height: 100%; - margin: 6px 10px; - padding: 0 4px; -} -.ant-slider-vertical .ant-slider-rail { - width: 4px; - height: 100%; -} -.ant-slider-vertical .ant-slider-track { - width: 4px; -} -.ant-slider-vertical .ant-slider-handle { - margin-top: -6px; - margin-left: -5px; -} -.ant-slider-vertical .ant-slider-mark { - top: 0; - left: 12px; - width: 18px; - height: 100%; -} -.ant-slider-vertical .ant-slider-mark-text { - left: 4px; - white-space: nowrap; -} -.ant-slider-vertical .ant-slider-step { - width: 4px; - height: 100%; -} -.ant-slider-vertical .ant-slider-dot { - top: auto; - margin-left: -2px; -} -.ant-slider-tooltip .ant-tooltip-inner { - min-width: unset; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-handle { - margin-right: -5px; - margin-left: 0; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-mark { - right: 12px; - left: auto; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text { - right: 4px; - left: auto; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-dot { - right: 2px; - left: auto; -} -.ant-slider-with-marks { - margin-bottom: 28px; -} -.ant-slider-rail { - position: absolute; - width: 100%; - height: 4px; - background-color: #f5f5f5; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-slider-track { - position: absolute; - height: 4px; - background-color: #91d5ff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-slider-handle { - position: absolute; - width: 14px; - height: 14px; - margin-top: -5px; - background-color: #fff; - border: solid 2px #91d5ff; - border-radius: 50%; - box-shadow: 0; - cursor: pointer; - transition: border-color 0.3s, box-shadow 0.6s, transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); -} -.ant-slider-handle-dragging { - z-index: 1; -} -.ant-slider-handle:focus { - border-color: #46a6ff; - outline: none; - box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12); -} -.ant-slider-handle.ant-tooltip-open { - border-color: #1890ff; -} -.ant-slider-handle::after { - position: absolute; - top: -6px; - right: -6px; - bottom: -6px; - left: -6px; - content: ''; -} -.ant-slider:hover .ant-slider-rail { - background-color: #e1e1e1; -} -.ant-slider:hover .ant-slider-track { - background-color: #69c0ff; -} -.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { - border-color: #69c0ff; -} -.ant-slider-mark { - position: absolute; - top: 14px; - left: 0; - width: 100%; - font-size: 14px; -} -.ant-slider-mark-text { - position: absolute; - display: inline-block; - color: rgba(0, 0, 0, 0.45); - text-align: center; - word-break: keep-all; - cursor: pointer; - user-select: none; -} -.ant-slider-mark-text-active { - color: rgba(0, 0, 0, 0.85); -} -.ant-slider-step { - position: absolute; - width: 100%; - height: 4px; - background: transparent; - pointer-events: none; -} -.ant-slider-dot { - position: absolute; - top: -2px; - width: 8px; - height: 8px; - background-color: #fff; - border: 2px solid #f0f0f0; - border-radius: 50%; - cursor: pointer; -} -.ant-slider-dot-active { - border-color: #8cc8ff; -} -.ant-slider-disabled { - cursor: not-allowed; -} -.ant-slider-disabled .ant-slider-rail { - background-color: #f5f5f5 !important; -} -.ant-slider-disabled .ant-slider-track { - background-color: rgba(0, 0, 0, 0.25) !important; -} -.ant-slider-disabled .ant-slider-handle, -.ant-slider-disabled .ant-slider-dot { - background-color: #fff; - border-color: rgba(0, 0, 0, 0.25) !important; - box-shadow: none; - cursor: not-allowed; -} -.ant-slider-disabled .ant-slider-mark-text, -.ant-slider-disabled .ant-slider-dot { - cursor: not-allowed !important; -} -.ant-slider-rtl { - direction: rtl; -} -.ant-slider-rtl .ant-slider-mark { - right: 0; - left: auto; -} -.ant-spin { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - display: none; - color: #1890ff; - text-align: center; - vertical-align: middle; - opacity: 0; - transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-spin-spinning { - position: static; - display: inline-block; - opacity: 1; -} -.ant-spin-nested-loading { - position: relative; -} -.ant-spin-nested-loading > div > .ant-spin { - position: absolute; - top: 0; - left: 0; - z-index: 4; - display: block; - width: 100%; - height: 100%; - max-height: 400px; -} -.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot { - position: absolute; - top: 50%; - left: 50%; - margin: -10px; -} -.ant-spin-nested-loading > div > .ant-spin .ant-spin-text { - position: absolute; - top: 50%; - width: 100%; - padding-top: 5px; - text-shadow: 0 1px 2px #fff; -} -.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot { - margin-top: -20px; -} -.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot { - margin: -7px; -} -.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text { - padding-top: 2px; -} -.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot { - margin-top: -17px; -} -.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot { - margin: -16px; -} -.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text { - padding-top: 11px; -} -.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot { - margin-top: -26px; -} -.ant-spin-container { - position: relative; - transition: opacity 0.3s; -} -.ant-spin-container::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 10; - display: none \9; - width: 100%; - height: 100%; - background: #fff; - opacity: 0; - transition: all 0.3s; - content: ''; - pointer-events: none; -} -.ant-spin-blur { - clear: both; - opacity: 0.5; - user-select: none; - pointer-events: none; -} -.ant-spin-blur::after { - opacity: 0.4; - pointer-events: auto; -} -.ant-spin-tip { - color: rgba(0, 0, 0, 0.45); -} -.ant-spin-dot { - position: relative; - display: inline-block; - font-size: 20px; - width: 1em; - height: 1em; -} -.ant-spin-dot-item { - position: absolute; - display: block; - width: 9px; - height: 9px; - background-color: #1890ff; - border-radius: 100%; - transform: scale(0.75); - transform-origin: 50% 50%; - opacity: 0.3; - animation: antSpinMove 1s infinite linear alternate; -} -.ant-spin-dot-item:nth-child(1) { - top: 0; - left: 0; -} -.ant-spin-dot-item:nth-child(2) { - top: 0; - right: 0; - animation-delay: 0.4s; -} -.ant-spin-dot-item:nth-child(3) { - right: 0; - bottom: 0; - animation-delay: 0.8s; -} -.ant-spin-dot-item:nth-child(4) { - bottom: 0; - left: 0; - animation-delay: 1.2s; -} -.ant-spin-dot-spin { - transform: rotate(0deg); - animation: antRotate 1.2s infinite linear; -} -.ant-spin-sm .ant-spin-dot { - font-size: 14px; -} -.ant-spin-sm .ant-spin-dot i { - width: 6px; - height: 6px; -} -.ant-spin-lg .ant-spin-dot { - font-size: 32px; -} -.ant-spin-lg .ant-spin-dot i { - width: 14px; - height: 14px; -} -.ant-spin.ant-spin-show-text .ant-spin-text { - display: block; -} -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - /* IE10+ */ - .ant-spin-blur { - background: #fff; - opacity: 0.5; - } -} -@keyframes antSpinMove { - to { - opacity: 1; - } -} -@keyframes antRotate { - to { - transform: rotate(360deg); - } -} -.ant-spin-rtl { - direction: rtl; -} -.ant-spin-rtl .ant-spin-dot-spin { - transform: rotate(-45deg); - animation-name: antRotateRtl; -} -@keyframes antRotateRtl { - to { - transform: rotate(-405deg); - } -} -.ant-statistic { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-statistic-title { - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-statistic-skeleton { - padding-top: 16px; -} -.ant-statistic-content { - color: rgba(0, 0, 0, 0.85); - font-size: 24px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; -} -.ant-statistic-content-value { - display: inline-block; - direction: ltr; -} -.ant-statistic-content-prefix, -.ant-statistic-content-suffix { - display: inline-block; -} -.ant-statistic-content-prefix { - margin-right: 4px; -} -.ant-statistic-content-suffix { - margin-left: 4px; -} -.ant-statistic-rtl { - direction: rtl; -} -.ant-statistic-rtl .ant-statistic-content-prefix { - margin-right: 0; - margin-left: 4px; -} -.ant-statistic-rtl .ant-statistic-content-suffix { - margin-right: 4px; - margin-left: 0; -} -.ant-steps { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: flex; - width: 100%; - font-size: 0; - text-align: initial; -} -.ant-steps-item { - position: relative; - display: inline-block; - flex: 1; - overflow: hidden; - vertical-align: top; -} -.ant-steps-item-container { - outline: none; -} -.ant-steps-item:last-child { - flex: none; -} -.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-tail, -.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - display: none; -} -.ant-steps-item-icon, -.ant-steps-item-content { - display: inline-block; - vertical-align: top; -} -.ant-steps-item-icon { - width: 32px; - height: 32px; - margin: 0 8px 0 0; - font-size: 16px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 32px; - text-align: center; - border: 1px solid rgba(0, 0, 0, 0.25); - border-radius: 32px; - transition: background-color 0.3s, border-color 0.3s; -} -.ant-steps-item-icon .ant-steps-icon { - position: relative; - top: -0.5px; - color: #1890ff; - line-height: 1; -} -.ant-steps-item-tail { - position: absolute; - top: 12px; - left: 0; - width: 100%; - padding: 0 10px; -} -.ant-steps-item-tail::after { - display: inline-block; - width: 100%; - height: 1px; - background: #f0f0f0; - border-radius: 1px; - transition: background 0.3s; - content: ''; -} -.ant-steps-item-title { - position: relative; - display: inline-block; - padding-right: 16px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 32px; -} -.ant-steps-item-title::after { - position: absolute; - top: 16px; - left: 100%; - display: block; - width: 9999px; - height: 1px; - background: #f0f0f0; - content: ''; -} -.ant-steps-item-subtitle { - display: inline; - margin-left: 8px; - color: rgba(0, 0, 0, 0.45); - font-weight: normal; - font-size: 14px; -} -.ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-steps-item-wait .ant-steps-item-icon { - background-color: #fff; - border-color: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item-process .ant-steps-item-icon { - background-color: #fff; - border-color: #1890ff; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #1890ff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon { - background: #1890ff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon .ant-steps-icon { - color: #fff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-title { - font-weight: 500; -} -.ant-steps-item-finish .ant-steps-item-icon { - background-color: #fff; - border-color: #1890ff; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #1890ff; -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #1890ff; -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #1890ff; -} -.ant-steps-item-error .ant-steps-item-icon { - background-color: #fff; - border-color: #ff4d4f; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { - color: #ff4d4f; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after { - background: #ff4d4f; -} -.ant-steps-item-disabled { - cursor: not-allowed; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] { - cursor: pointer; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-title, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-subtitle, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-description, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-icon .ant-steps-icon { - transition: color 0.3s; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description { - color: #1890ff; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon { - border-color: #1890ff; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon { - color: #1890ff; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-left: 16px; - white-space: nowrap; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-left: 0; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title { - padding-right: 0; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail { - display: none; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description { - max-width: 140px; - white-space: normal; -} -.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon { - height: auto; - background: none; - border: 0; -} -.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon > .ant-steps-icon { - top: 0px; - left: 0.5px; - width: 32px; - height: 32px; - font-size: 24px; - line-height: 32px; -} -.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon { - width: auto; - background: none; -} -.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-left: 12px; -} -.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-left: 0; -} -.ant-steps-small .ant-steps-item-icon { - width: 24px; - height: 24px; - margin: 0 8px 0 0; - font-size: 12px; - line-height: 24px; - text-align: center; - border-radius: 24px; -} -.ant-steps-small .ant-steps-item-title { - padding-right: 12px; - font-size: 14px; - line-height: 24px; -} -.ant-steps-small .ant-steps-item-title::after { - top: 12px; -} -.ant-steps-small .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-steps-small .ant-steps-item-tail { - top: 8px; -} -.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { - width: inherit; - height: inherit; - line-height: inherit; - background: none; - border: 0; - border-radius: 0; -} -.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon { - font-size: 24px; - line-height: 24px; - transform: none; -} -.ant-steps-vertical { - display: flex; - flex-direction: column; -} -.ant-steps-vertical > .ant-steps-item { - display: block; - flex: 1 0 auto; - padding-left: 0; - overflow: visible; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon { - float: left; - margin-right: 16px; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-content { - display: block; - min-height: 48px; - overflow: hidden; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-title { - line-height: 32px; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-description { - padding-bottom: 12px; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - position: absolute; - top: 0; - left: 16px; - width: 1px; - height: 100%; - padding: 38px 0 6px; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail::after { - width: 1px; - height: 100%; -} -.ant-steps-vertical > .ant-steps-item:not(:last-child) > .ant-steps-item-container > .ant-steps-item-tail { - display: block; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - display: none; -} -.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail { - position: absolute; - top: 0; - left: 12px; - padding: 30px 0 6px; -} -.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title { - line-height: 24px; -} -.ant-steps-label-vertical .ant-steps-item { - overflow: visible; -} -.ant-steps-label-vertical .ant-steps-item-tail { - margin-left: 58px; - padding: 3.5px 24px; -} -.ant-steps-label-vertical .ant-steps-item-content { - display: block; - width: 116px; - margin-top: 8px; - text-align: center; -} -.ant-steps-label-vertical .ant-steps-item-icon { - display: inline-block; - margin-left: 42px; -} -.ant-steps-label-vertical .ant-steps-item-title { - padding-right: 0; - padding-left: 0; -} -.ant-steps-label-vertical .ant-steps-item-title::after { - display: none; -} -.ant-steps-label-vertical .ant-steps-item-subtitle { - display: block; - margin-bottom: 4px; - margin-left: 0; - line-height: 1.5715; -} -.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon { - margin-left: 46px; -} -.ant-steps-dot .ant-steps-item-title, -.ant-steps-dot.ant-steps-small .ant-steps-item-title { - line-height: 1.5715; -} -.ant-steps-dot .ant-steps-item-tail, -.ant-steps-dot.ant-steps-small .ant-steps-item-tail { - top: 2px; - width: 100%; - margin: 0 0 0 70px; - padding: 0; -} -.ant-steps-dot .ant-steps-item-tail::after, -.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after { - width: calc(100% - 20px); - height: 3px; - margin-left: 12px; -} -.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot { - left: 2px; -} -.ant-steps-dot .ant-steps-item-icon, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - width: 8px; - height: 8px; - margin-left: 67px; - padding-right: 0; - line-height: 8px; - background: transparent; - border: 0; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - position: relative; - float: left; - width: 100%; - height: 100%; - border-radius: 100px; - transition: all 0.3s; - /* expand hover area */ -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after { - position: absolute; - top: -12px; - left: -26px; - width: 60px; - height: 32px; - background: rgba(0, 0, 0, 0.001); - content: ''; -} -.ant-steps-dot .ant-steps-item-content, -.ant-steps-dot.ant-steps-small .ant-steps-item-content { - width: 140px; -} -.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon, -.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon { - position: relative; - top: -1px; - width: 10px; - height: 10px; - line-height: 10px; - background: none; -} -.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot { - left: 0; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon { - margin-top: 13px; - margin-left: 0; - background: none; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - top: 6.5px; - left: -9px; - margin: 0; - padding: 22px 0 4px; -} -.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - margin-top: 10px; -} -.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - top: 3.5px; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot { - left: 0; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-content { - width: inherit; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot { - top: -1px; - left: -1px; -} -.ant-steps-navigation { - padding-top: 12px; -} -.ant-steps-navigation.ant-steps-small .ant-steps-item-container { - margin-left: -12px; -} -.ant-steps-navigation .ant-steps-item { - overflow: visible; - text-align: center; -} -.ant-steps-navigation .ant-steps-item-container { - display: inline-block; - height: 100%; - margin-left: -16px; - padding-bottom: 12px; - text-align: left; - transition: opacity 0.3s; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content { - max-width: auto; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title { - max-width: 100%; - padding-right: 0; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after { - display: none; -} -.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button'] { - cursor: pointer; -} -.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button']:hover { - opacity: 0.85; -} -.ant-steps-navigation .ant-steps-item:last-child { - flex: 1; -} -.ant-steps-navigation .ant-steps-item:last-child::after { - display: none; -} -.ant-steps-navigation .ant-steps-item::after { - position: absolute; - top: 50%; - left: 100%; - display: inline-block; - width: 12px; - height: 12px; - margin-top: -14px; - margin-left: -2px; - border: 1px solid rgba(0, 0, 0, 0.25); - border-bottom: none; - border-left: none; - transform: rotate(45deg); - content: ''; -} -.ant-steps-navigation .ant-steps-item::before { - position: absolute; - bottom: 0; - left: 50%; - display: inline-block; - width: 0; - height: 2px; - background-color: #1890ff; - transition: width 0.3s, left 0.3s; - transition-timing-function: ease-out; - content: ''; -} -.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before { - left: 0; - width: 100%; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item { - margin-right: 0 !important; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::before { - display: none; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item.ant-steps-item-active::before { - top: 0; - right: 0; - left: unset; - display: block; - width: 3px; - height: calc(100% - 24px); -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::after { - position: relative; - top: -2px; - left: 50%; - display: block; - width: 8px; - height: 8px; - margin-bottom: 8px; - text-align: center; - transform: rotate(135deg); -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - visibility: hidden; -} -.ant-steps-navigation.ant-steps-horizontal > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - visibility: hidden; -} -.ant-steps-rtl { - direction: rtl; -} -.ant-steps.ant-steps-rtl .ant-steps-item-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-steps-rtl .ant-steps-item-tail { - right: 0; - left: auto; -} -.ant-steps-rtl .ant-steps-item-title { - padding-right: 0; - padding-left: 16px; -} -.ant-steps-rtl .ant-steps-item-title .ant-steps-item-subtitle { - float: left; - margin-right: 8px; - margin-left: 0; -} -.ant-steps-rtl .ant-steps-item-title::after { - right: 100%; - left: auto; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-right: 16px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-right: 0; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon { - right: 0.5px; - left: auto; -} -.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container { - margin-right: -12px; - margin-left: 0; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container { - margin-right: -16px; - margin-left: 0; - text-align: right; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after { - right: 100%; - left: auto; - margin-right: -2px; - margin-left: 0; - transform: rotate(225deg); -} -.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-right: 12px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-right: 0; -} -.ant-steps-rtl.ant-steps-small .ant-steps-item-title { - padding-right: 0; - padding-left: 12px; -} -.ant-steps-rtl.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-steps-rtl.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - right: 16px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail { - right: 12px; - left: auto; -} -.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail { - margin: 0 70px 0 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after { - margin-right: 12px; - margin-left: 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot { - right: 2px; - left: auto; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - margin-right: 67px; - margin-left: 0; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - /* expand hover area */ -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - float: right; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after { - right: -26px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon { - margin-right: 0; - margin-left: 16px; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - right: -9px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot { - right: 0; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot { - right: -2px; - left: auto; -} -.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child { - padding-right: 4px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active { - padding-right: 4px; -} -.ant-steps-with-progress .ant-steps-item { - padding-top: 4px; -} -.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail { - top: 4px !important; -} -.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child { - padding-bottom: 4px; - padding-left: 4px; -} -.ant-steps-with-progress.ant-steps-label-vertical .ant-steps-item .ant-steps-item-tail { - top: 14px !important; -} -.ant-steps-with-progress .ant-steps-item-icon { - position: relative; -} -.ant-steps-with-progress .ant-steps-item-icon .ant-progress { - position: absolute; - top: -5px; - right: -5px; - bottom: -5px; - left: -5px; -} -.ant-switch { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - box-sizing: border-box; - min-width: 44px; - height: 22px; - line-height: 22px; - vertical-align: middle; - background-color: rgba(0, 0, 0, 0.25); - border: 0; - border-radius: 100px; - cursor: pointer; - transition: all 0.2s; - user-select: none; -} -.ant-switch:focus { - outline: 0; - box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1); -} -.ant-switch-checked:focus { - box-shadow: 0 0 0 2px #e6f7ff; -} -.ant-switch:focus:hover { - box-shadow: none; -} -.ant-switch-checked { - background-color: #1890ff; -} -.ant-switch-loading, -.ant-switch-disabled { - cursor: not-allowed; - opacity: 0.4; -} -.ant-switch-loading *, -.ant-switch-disabled * { - box-shadow: none; - cursor: not-allowed; -} -.ant-switch-inner { - display: block; - margin: 0 7px 0 25px; - color: #fff; - font-size: 12px; - transition: margin 0.2s; -} -.ant-switch-checked .ant-switch-inner { - margin: 0 25px 0 7px; -} -.ant-switch-handle { - position: absolute; - top: 2px; - left: 2px; - width: 18px; - height: 18px; - transition: all 0.2s ease-in-out; -} -.ant-switch-handle::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: #fff; - border-radius: 9px; - box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); - transition: all 0.2s ease-in-out; - content: ''; -} -.ant-switch-checked .ant-switch-handle { - left: calc(100% - 18px - 2px); -} -.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before { - right: -30%; - left: 0; -} -.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before { - right: 0; - left: -30%; -} -.ant-switch-loading-icon.anticon { - position: relative; - top: 2px; - color: rgba(0, 0, 0, 0.65); - vertical-align: top; -} -.ant-switch-checked .ant-switch-loading-icon { - color: #1890ff; -} -.ant-switch-small { - min-width: 28px; - height: 16px; - line-height: 16px; -} -.ant-switch-small .ant-switch-inner { - margin: 0 5px 0 18px; - font-size: 12px; -} -.ant-switch-small .ant-switch-handle { - width: 12px; - height: 12px; -} -.ant-switch-small .ant-switch-loading-icon { - top: 1.5px; - font-size: 9px; -} -.ant-switch-small.ant-switch-checked .ant-switch-inner { - margin: 0 18px 0 5px; -} -.ant-switch-small.ant-switch-checked .ant-switch-handle { - left: calc(100% - 12px - 2px); -} -.ant-switch-rtl { - direction: rtl; -} -.ant-switch-rtl .ant-switch-inner { - margin: 0 25px 0 7px; -} -.ant-switch-rtl .ant-switch-handle { - right: 2px; - left: auto; -} -.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before { - right: 0; - left: -30%; -} -.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before { - right: -30%; - left: 0; -} -.ant-switch-rtl.ant-switch-checked .ant-switch-inner { - margin: 0 7px 0 25px; -} -.ant-switch-rtl.ant-switch-checked .ant-switch-handle { - right: calc(100% - 18px - 2px); -} -.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle { - right: calc(100% - 12px - 2px); -} -.ant-table.ant-table-middle { - font-size: 14px; -} -.ant-table.ant-table-middle .ant-table-title, -.ant-table.ant-table-middle .ant-table-footer, -.ant-table.ant-table-middle .ant-table-thead > tr > th, -.ant-table.ant-table-middle .ant-table-tbody > tr > td, -.ant-table.ant-table-middle tfoot > tr > th, -.ant-table.ant-table-middle tfoot > tr > td { - padding: 12px 8px; -} -.ant-table.ant-table-middle .ant-table-filter-trigger { - margin-right: -4px; -} -.ant-table.ant-table-middle .ant-table-expanded-row-fixed { - margin: -12px -8px; -} -.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table { - margin: -12px -8px -12px 40px; -} -.ant-table.ant-table-middle .ant-table-selection-column { - padding-inline-start: 2px; -} -.ant-table.ant-table-small { - font-size: 14px; -} -.ant-table.ant-table-small .ant-table-title, -.ant-table.ant-table-small .ant-table-footer, -.ant-table.ant-table-small .ant-table-thead > tr > th, -.ant-table.ant-table-small .ant-table-tbody > tr > td, -.ant-table.ant-table-small tfoot > tr > th, -.ant-table.ant-table-small tfoot > tr > td { - padding: 8px 8px; -} -.ant-table.ant-table-small .ant-table-filter-trigger { - margin-right: -4px; -} -.ant-table.ant-table-small .ant-table-expanded-row-fixed { - margin: -8px -8px; -} -.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table { - margin: -8px -8px -8px 40px; -} -.ant-table.ant-table-small .ant-table-selection-column { - padding-inline-start: 2px; -} -.ant-table.ant-table-bordered > .ant-table-title { - border: 1px solid #f0f0f0; - border-bottom: 0; -} -.ant-table.ant-table-bordered > .ant-table-container { - border-left: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > td { - border-right: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr:not(:last-child) > th { - border-bottom: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th::before { - background-color: transparent !important; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > .ant-table-cell-fix-right-first::after { - border-right: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -16px -17px; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed::after { - position: absolute; - top: 0; - right: 1px; - bottom: 0; - border-right: 1px solid #f0f0f0; - content: ''; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table { - border-top: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td, -.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td { - border-right: 0; -} -.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -12px -9px; -} -.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -8px -9px; -} -.ant-table.ant-table-bordered > .ant-table-footer { - border: 1px solid #f0f0f0; - border-top: 0; -} -.ant-table-cell .ant-table-container:first-child { - border-top: 0; -} -.ant-table-cell-scrollbar:not([rowspan]) { - box-shadow: 0 1px 0 1px #fafafa; -} -.ant-table-wrapper { - clear: both; - max-width: 100%; -} -.ant-table-wrapper::before { - display: table; - content: ''; -} -.ant-table-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-table-wrapper::before { - display: table; - content: ''; -} -.ant-table-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-table { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - font-size: 14px; - background: #fff; - border-radius: 2px; -} -.ant-table table { - width: 100%; - text-align: left; - border-radius: 2px 2px 0 0; - border-collapse: separate; - border-spacing: 0; -} -.ant-table-thead > tr > th, -.ant-table-tbody > tr > td, -.ant-table tfoot > tr > th, -.ant-table tfoot > tr > td { - position: relative; - padding: 16px 16px; - overflow-wrap: break-word; -} -.ant-table-cell-ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-table-cell-ellipsis.ant-table-cell-fix-left-last, -.ant-table-cell-ellipsis.ant-table-cell-fix-right-first { - overflow: visible; -} -.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content, -.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content { - display: block; - overflow: hidden; - text-overflow: ellipsis; -} -.ant-table-cell-ellipsis .ant-table-column-title { - overflow: hidden; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-table-title { - padding: 16px 16px; -} -.ant-table-footer { - padding: 16px 16px; - color: rgba(0, 0, 0, 0.85); - background: #fafafa; -} -.ant-table-thead > tr > th { - position: relative; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - text-align: left; - background: #fafafa; - border-bottom: 1px solid #f0f0f0; - transition: background 0.3s ease; -} -.ant-table-thead > tr > th[colspan]:not([colspan='1']) { - text-align: center; -} -.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { - position: absolute; - top: 50%; - right: 0; - width: 1px; - height: 1.6em; - background-color: rgba(0, 0, 0, 0.06); - transform: translateY(-50%); - transition: background-color 0.3s; - content: ''; -} -.ant-table-thead > tr:not(:last-child) > th[colspan] { - border-bottom: 0; -} -.ant-table-tbody > tr > td { - border-bottom: 1px solid #f0f0f0; - transition: background 0.3s; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table { - margin: -16px -16px -16px 32px; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td { - border-bottom: 0; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child { - border-radius: 0; -} -.ant-table-tbody > tr.ant-table-row:hover > td, -.ant-table-tbody > tr > td.ant-table-cell-row-hover { - background: #fafafa; -} -.ant-table-tbody > tr.ant-table-row-selected > td { - background: #e6f7ff; - border-color: rgba(0, 0, 0, 0.03); -} -.ant-table-tbody > tr.ant-table-row-selected:hover > td { - background: #dcf4ff; -} -.ant-table-summary { - position: relative; - z-index: 2; - background: #fff; -} -div.ant-table-summary { - box-shadow: 0 -1px 0 #f0f0f0; -} -.ant-table-summary > tr > th, -.ant-table-summary > tr > td { - border-bottom: 1px solid #f0f0f0; -} -.ant-table-pagination.ant-pagination { - margin: 16px 0; -} -.ant-table-pagination { - display: flex; - flex-wrap: wrap; - row-gap: 8px; -} -.ant-table-pagination > * { - flex: none; -} -.ant-table-pagination-left { - justify-content: flex-start; -} -.ant-table-pagination-center { - justify-content: center; -} -.ant-table-pagination-right { - justify-content: flex-end; -} -.ant-table-thead th.ant-table-column-has-sorters { - outline: none; - cursor: pointer; - transition: all 0.3s; -} -.ant-table-thead th.ant-table-column-has-sorters:hover { - background: rgba(0, 0, 0, 0.04); -} -.ant-table-thead th.ant-table-column-has-sorters:hover::before { - background-color: transparent !important; -} -.ant-table-thead th.ant-table-column-has-sorters:focus-visible { - color: #1890ff; -} -.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover, -.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover { - background: #f5f5f5; -} -.ant-table-thead th.ant-table-column-sort { - background: #f5f5f5; -} -.ant-table-thead th.ant-table-column-sort::before { - background-color: transparent !important; -} -td.ant-table-column-sort { - background: #fafafa; -} -.ant-table-column-title { - position: relative; - z-index: 1; - flex: 1; -} -.ant-table-column-sorters { - display: flex; - flex: auto; - align-items: center; - justify-content: space-between; -} -.ant-table-column-sorters::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - content: ''; -} -.ant-table-column-sorter { - margin-left: 4px; - color: #bfbfbf; - font-size: 0; - transition: color 0.3s; -} -.ant-table-column-sorter-inner { - display: inline-flex; - flex-direction: column; - align-items: center; -} -.ant-table-column-sorter-up, -.ant-table-column-sorter-down { - font-size: 11px; -} -.ant-table-column-sorter-up.active, -.ant-table-column-sorter-down.active { - color: #1890ff; -} -.ant-table-column-sorter-up + .ant-table-column-sorter-down { - margin-top: -0.3em; -} -.ant-table-column-sorters:hover .ant-table-column-sorter { - color: #a6a6a6; -} -.ant-table-filter-column { - display: flex; - justify-content: space-between; -} -.ant-table-filter-trigger { - position: relative; - display: flex; - align-items: center; - margin: -4px -8px -4px 4px; - padding: 0 4px; - color: #bfbfbf; - font-size: 12px; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s; -} -.ant-table-filter-trigger:hover { - color: rgba(0, 0, 0, 0.45); - background: rgba(0, 0, 0, 0.04); -} -.ant-table-filter-trigger.active { - color: #1890ff; -} -.ant-table-filter-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - min-width: 120px; - background-color: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-table-filter-dropdown .ant-dropdown-menu { - max-height: 264px; - overflow-x: hidden; - border: 0; - box-shadow: none; -} -.ant-table-filter-dropdown .ant-dropdown-menu:empty::after { - display: block; - padding: 8px 0; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - text-align: center; - content: 'Not Found'; -} -.ant-table-filter-dropdown-tree { - padding: 8px 8px 0; -} -.ant-table-filter-dropdown-tree .ant-tree-treenode .ant-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper, -.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper:hover { - background-color: #bae7ff; -} -.ant-table-filter-dropdown-search { - padding: 8px; - border-bottom: 1px #f0f0f0 solid; -} -.ant-table-filter-dropdown-search-input input { - min-width: 140px; -} -.ant-table-filter-dropdown-search-input .anticon { - color: rgba(0, 0, 0, 0.25); -} -.ant-table-filter-dropdown-checkall { - width: 100%; - margin-bottom: 4px; - margin-left: 4px; -} -.ant-table-filter-dropdown-submenu > ul { - max-height: calc(100vh - 130px); - overflow-x: hidden; - overflow-y: auto; -} -.ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span { - padding-left: 8px; -} -.ant-table-filter-dropdown-btns { - display: flex; - justify-content: space-between; - padding: 7px 8px; - overflow: hidden; - background-color: inherit; - border-top: 1px solid #f0f0f0; -} -.ant-table-selection-col { - width: 32px; -} -.ant-table-bordered .ant-table-selection-col { - width: 50px; -} -table tr th.ant-table-selection-column, -table tr td.ant-table-selection-column { - padding-right: 8px; - padding-left: 8px; - text-align: center; -} -table tr th.ant-table-selection-column .ant-radio-wrapper, -table tr td.ant-table-selection-column .ant-radio-wrapper { - margin-right: 0; -} -table tr th.ant-table-selection-column.ant-table-cell-fix-left { - z-index: 3; -} -table tr th.ant-table-selection-column::after { - background-color: transparent !important; -} -.ant-table-selection { - position: relative; - display: inline-flex; - flex-direction: column; -} -.ant-table-selection-extra { - position: absolute; - top: 0; - z-index: 1; - cursor: pointer; - transition: all 0.3s; - margin-inline-start: 100%; - padding-inline-start: 4px; -} -.ant-table-selection-extra .anticon { - color: #bfbfbf; - font-size: 10px; -} -.ant-table-selection-extra .anticon:hover { - color: #a6a6a6; -} -.ant-table-expand-icon-col { - width: 48px; -} -.ant-table-row-expand-icon-cell { - text-align: center; -} -.ant-table-row-expand-icon-cell .ant-table-row-expand-icon { - display: inline-flex; - float: none; - vertical-align: sub; -} -.ant-table-row-indent { - float: left; - height: 1px; -} -.ant-table-row-expand-icon { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - position: relative; - float: left; - box-sizing: border-box; - width: 17px; - height: 17px; - padding: 0; - color: inherit; - line-height: 17px; - background: #fff; - border: 1px solid #f0f0f0; - border-radius: 2px; - transform: scale(0.94117647); - transition: all 0.3s; - user-select: none; -} -.ant-table-row-expand-icon:focus-visible, -.ant-table-row-expand-icon:hover { - color: #40a9ff; -} -.ant-table-row-expand-icon:active { - color: #096dd9; -} -.ant-table-row-expand-icon:focus, -.ant-table-row-expand-icon:hover, -.ant-table-row-expand-icon:active { - border-color: currentcolor; -} -.ant-table-row-expand-icon::before, -.ant-table-row-expand-icon::after { - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ''; -} -.ant-table-row-expand-icon::before { - top: 7px; - right: 3px; - left: 3px; - height: 1px; -} -.ant-table-row-expand-icon::after { - top: 3px; - bottom: 3px; - left: 7px; - width: 1px; - transform: rotate(90deg); -} -.ant-table-row-expand-icon-collapsed::before { - transform: rotate(-180deg); -} -.ant-table-row-expand-icon-collapsed::after { - transform: rotate(0deg); -} -.ant-table-row-expand-icon-spaced { - background: transparent; - border: 0; - visibility: hidden; -} -.ant-table-row-expand-icon-spaced::before, -.ant-table-row-expand-icon-spaced::after { - display: none; - content: none; -} -.ant-table-row-indent + .ant-table-row-expand-icon { - margin-top: 2.5005px; - margin-right: 8px; -} -tr.ant-table-expanded-row > td, -tr.ant-table-expanded-row:hover > td { - background: #fbfbfb; -} -tr.ant-table-expanded-row .ant-descriptions-view { - display: flex; -} -tr.ant-table-expanded-row .ant-descriptions-view table { - flex: auto; - width: auto; -} -.ant-table .ant-table-expanded-row-fixed { - position: relative; - margin: -16px -16px; - padding: 16px 16px; -} -.ant-table-tbody > tr.ant-table-placeholder { - text-align: center; -} -.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder { - color: rgba(0, 0, 0, 0.25); -} -.ant-table-tbody > tr.ant-table-placeholder:hover > td { - background: #fff; -} -.ant-table-cell-fix-left, -.ant-table-cell-fix-right { - position: sticky !important; - z-index: 2; - background: #fff; -} -.ant-table-cell-fix-left-first::after, -.ant-table-cell-fix-left-last::after { - position: absolute; - top: 0; - right: 0; - bottom: -1px; - width: 30px; - transform: translateX(100%); - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table-cell-fix-left-all::after { - display: none; -} -.ant-table-cell-fix-right-first::after, -.ant-table-cell-fix-right-last::after { - position: absolute; - top: 0; - bottom: -1px; - left: 0; - width: 30px; - transform: translateX(-100%); - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table .ant-table-container::before, -.ant-table .ant-table-container::after { - position: absolute; - top: 0; - bottom: 0; - z-index: calc(calc(2 + 1) + 1); - width: 30px; - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table .ant-table-container::before { - left: 0; -} -.ant-table .ant-table-container::after { - right: 0; -} -.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container { - position: relative; -} -.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container::before { - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-left .ant-table-cell-fix-left-first::after, -.ant-table-ping-left .ant-table-cell-fix-left-last::after { - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-left .ant-table-cell-fix-left-last::before { - background-color: transparent !important; -} -.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container { - position: relative; -} -.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container::after { - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-right .ant-table-cell-fix-right-first::after, -.ant-table-ping-right .ant-table-cell-fix-right-last::after { - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-sticky-holder { - position: sticky; - z-index: calc(2 + 1); - background: #fff; -} -.ant-table-sticky-scroll { - position: sticky; - bottom: 0; - z-index: calc(2 + 1); - display: flex; - align-items: center; - background: #ffffff; - border-top: 1px solid #f0f0f0; - opacity: 0.6; -} -.ant-table-sticky-scroll:hover { - transform-origin: center bottom; -} -.ant-table-sticky-scroll-bar { - height: 8px; - background-color: rgba(0, 0, 0, 0.35); - border-radius: 4px; -} -.ant-table-sticky-scroll-bar:hover { - background-color: rgba(0, 0, 0, 0.8); -} -.ant-table-sticky-scroll-bar-active { - background-color: rgba(0, 0, 0, 0.8); -} -@media all and (-ms-high-contrast: none) { - .ant-table-ping-left .ant-table-cell-fix-left-last::after { - box-shadow: none !important; - } - .ant-table-ping-right .ant-table-cell-fix-right-first::after { - box-shadow: none !important; - } -} -.ant-table { - /* title + table */ - /* table */ - /* table + footer */ -} -.ant-table-title { - border-radius: 2px 2px 0 0; -} -.ant-table-title + .ant-table-container { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.ant-table-title + .ant-table-container table { - border-radius: 0; -} -.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child { - border-radius: 0; -} -.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child { - border-radius: 0; -} -.ant-table-container { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.ant-table-container table > thead > tr:first-child th:first-child { - border-top-left-radius: 2px; -} -.ant-table-container table > thead > tr:first-child th:last-child { - border-top-right-radius: 2px; -} -.ant-table-footer { - border-radius: 0 0 2px 2px; -} -.ant-table-wrapper-rtl { - direction: rtl; -} -.ant-table-rtl { - direction: rtl; -} -.ant-table-wrapper-rtl .ant-table table { - text-align: right; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th[colspan]:not([colspan='1']) { - text-align: center; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { - right: auto; - left: 0; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th { - text-align: right; -} -.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl { - margin: -16px 33px -16px -16px; -} -.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left { - justify-content: flex-end; -} -.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right { - justify-content: flex-start; -} -.ant-table-wrapper-rtl .ant-table-column-sorter { - margin-right: 4px; - margin-left: 0; -} -.ant-table-wrapper-rtl .ant-table-filter-column-title { - padding: 16px 16px 16px 2.3em; -} -.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title { - padding: 0 0 0 2.3em; -} -.ant-table-wrapper-rtl .ant-table-filter-trigger { - margin: -4px 4px -4px -8px; -} -.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span, -.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span { - padding-right: 8px; - padding-left: 0; -} -.ant-table-wrapper-rtl .ant-table-selection { - text-align: center; -} -.ant-table-wrapper-rtl .ant-table-row-indent { - float: right; -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon { - float: right; -} -.ant-table-wrapper-rtl .ant-table-row-indent + .ant-table-row-expand-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon::after { - transform: rotate(-90deg); -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before { - transform: rotate(180deg); -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after { - transform: rotate(0deg); -} -@media (max-width: 960px) { - .ant-table-responsive .ant-table table { - table-layout: auto !important; - width: 100% !important; - } - .ant-table-responsive .ant-table table col { - width: auto !important; - min-width: auto !important; - } - .ant-table-responsive .ant-table-thead { - display: none; - } - .ant-table-responsive .ant-table.ant-table-fixed-column .ant-table-content { - overflow: hidden !important; - } - .ant-table-responsive .ant-table.ant-table-scroll-horizontal .ant-table-body { - overflow-x: hidden !important; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell { - display: flex; - justify-content: space-between; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell:not(:last-child) { - border: none; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell:before { - content: attr(data-label); - font-weight: 500; - padding-right: 16px; - padding-inline-end: 16px; - padding-inline-start: unset; - } - .ant-table-responsive .ant-table-cell-ellipsis { - white-space: normal; - } -} -.ant-table-has-scrollbar-width .ant-table-content::-webkit-scrollbar, -.ant-table-has-scrollbar-width .ant-table-body::-webkit-scrollbar { - width: var(--scrollbar-width); - height: var(--scrollbar-width); - background: #f5f5f5; -} -.ant-table-has-scrollbar-width .ant-table-content::-webkit-scrollbar-thumb, -.ant-table-has-scrollbar-width .ant-table-body::-webkit-scrollbar-thumb { - width: var(--scrollbar-width); - height: var(--scrollbar-width); - background: #d9d9d9; -} -.ant-table-resizable .ant-table-resizable-handle { - position: absolute; - top: 0; - right: 0; - width: 5px; - height: 100%; - cursor: ew-resize; - user-select: none; -} -.ant-table-resizable .ant-table-resizable-handle:hover { - border-right: 2px dashed #40a9ff; -} -.ant-table-resizable .ant-table-resizing { - border-right: 2px dashed #096dd9; - z-index: 99; -} -tr.ant-table-grouping-footer > td { - padding: 0; - line-height: inherit; -} -tr.ant-table-row-grouping > td { - padding: 8px 8px; -} -.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab { - padding: 8px 0; - font-size: 14px; -} -.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { - padding: 16px 0; - font-size: 16px; -} -.ant-tabs-card.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab { - padding: 6px 16px; -} -.ant-tabs-card.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { - padding: 7px 16px 6px; -} -.ant-tabs-rtl { - direction: rtl; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab { - margin: 0 0 0 32px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type { - margin-left: 0; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon { - margin-right: 0; - margin-left: 12px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove { - margin-right: 8px; - margin-left: -4px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon { - margin: 0; -} -.ant-tabs-rtl.ant-tabs-left > .ant-tabs-nav { - order: 1; -} -.ant-tabs-rtl.ant-tabs-left > .ant-tabs-content-holder { - order: 0; -} -.ant-tabs-rtl.ant-tabs-right > .ant-tabs-nav { - order: 0; -} -.ant-tabs-rtl.ant-tabs-right > .ant-tabs-content-holder { - order: 1; -} -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-right: 2px; - margin-left: 0; -} -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-add { - margin-right: 2px; - margin-left: 0; -} -.ant-tabs-dropdown-rtl { - direction: rtl; -} -.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item { - text-align: right; -} -.ant-tabs-top, -.ant-tabs-bottom { - flex-direction: column; -} -.ant-tabs-top > .ant-tabs-nav, -.ant-tabs-bottom > .ant-tabs-nav, -.ant-tabs-top > div > .ant-tabs-nav, -.ant-tabs-bottom > div > .ant-tabs-nav { - margin: 0 0 16px 0; -} -.ant-tabs-top > .ant-tabs-nav::before, -.ant-tabs-bottom > .ant-tabs-nav::before, -.ant-tabs-top > div > .ant-tabs-nav::before, -.ant-tabs-bottom > div > .ant-tabs-nav::before { - position: absolute; - right: 0; - left: 0; - border-bottom: 1px solid #f0f0f0; - content: ''; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar { - height: 2px; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar-animated { - transition: width 0.3s, left 0.3s, right 0.3s; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - top: 0; - bottom: 0; - width: 30px; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before { - left: 0; - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - right: 0; - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before { - opacity: 1; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after { - opacity: 1; -} -.ant-tabs-top > .ant-tabs-nav::before, -.ant-tabs-top > div > .ant-tabs-nav::before { - bottom: 0; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar { - bottom: 0; -} -.ant-tabs-bottom > .ant-tabs-nav, -.ant-tabs-bottom > div > .ant-tabs-nav { - order: 1; - margin-top: 16px; - margin-bottom: 0; -} -.ant-tabs-bottom > .ant-tabs-nav::before, -.ant-tabs-bottom > div > .ant-tabs-nav::before { - top: 0; -} -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar { - top: 0; -} -.ant-tabs-bottom > .ant-tabs-content-holder, -.ant-tabs-bottom > div > .ant-tabs-content-holder { - order: 0; -} -.ant-tabs-left > .ant-tabs-nav, -.ant-tabs-right > .ant-tabs-nav, -.ant-tabs-left > div > .ant-tabs-nav, -.ant-tabs-right > div > .ant-tabs-nav { - flex-direction: column; - min-width: 50px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab { - padding: 8px 24px; - text-align: center; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin: 16px 0 0 0; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap { - flex-direction: column; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - right: 0; - left: 0; - height: 30px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before { - top: 0; - box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - bottom: 0; - box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before { - opacity: 1; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after { - opacity: 1; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar { - width: 2px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar-animated { - transition: height 0.3s, top 0.3s; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-operations { - flex: 1 0 auto; - flex-direction: column; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar { - right: 0; -} -.ant-tabs-left > .ant-tabs-content-holder, -.ant-tabs-left > div > .ant-tabs-content-holder { - margin-left: -1px; - border-left: 1px solid #f0f0f0; -} -.ant-tabs-left > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane, -.ant-tabs-left > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane { - padding-left: 24px; -} -.ant-tabs-right > .ant-tabs-nav, -.ant-tabs-right > div > .ant-tabs-nav { - order: 1; -} -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar { - left: 0; -} -.ant-tabs-right > .ant-tabs-content-holder, -.ant-tabs-right > div > .ant-tabs-content-holder { - order: 0; - margin-right: -1px; - border-right: 1px solid #f0f0f0; -} -.ant-tabs-right > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane, -.ant-tabs-right > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane { - padding-right: 24px; -} -.ant-tabs-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - display: block; -} -.ant-tabs-dropdown-hidden { - display: none; -} -.ant-tabs-dropdown-menu { - max-height: 200px; - margin: 0; - padding: 4px 0; - overflow-x: hidden; - overflow-y: auto; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-tabs-dropdown-menu-item { - display: flex; - align-items: center; - min-width: 120px; - margin: 0; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.ant-tabs-dropdown-menu-item > span { - flex: 1; - white-space: nowrap; -} -.ant-tabs-dropdown-menu-item-remove { - flex: none; - margin-left: 12px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - background: transparent; - border: 0; - cursor: pointer; -} -.ant-tabs-dropdown-menu-item-remove:hover { - color: #40a9ff; -} -.ant-tabs-dropdown-menu-item:hover { - background: #f5f5f5; -} -.ant-tabs-dropdown-menu-item-disabled, -.ant-tabs-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab { - margin: 0; - padding: 8px 16px; - background: #fafafa; - border: 1px solid #f0f0f0; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active { - color: #1890ff; - background: #fff; -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-ink-bar { - visibility: hidden; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-left: 2px; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 2px 2px 0 0; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active { - border-bottom-color: #fff; -} -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 0 0 2px 2px; -} -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab-active { - border-top-color: #fff; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-top: 2px; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 2px 0 0 2px; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab-active { - border-right-color: #fff; -} -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 0 2px 2px 0; -} -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab-active { - border-left-color: #fff; -} -.ant-tabs { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: flex; -} -.ant-tabs > .ant-tabs-nav, -.ant-tabs > div > .ant-tabs-nav { - position: relative; - display: flex; - flex: none; - align-items: center; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap { - position: relative; - display: inline-block; - display: flex; - flex: auto; - align-self: stretch; - overflow: hidden; - white-space: nowrap; - transform: translate(0); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - position: absolute; - z-index: 1; - opacity: 0; - transition: opacity 0.3s; - content: ''; - pointer-events: none; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-list { - position: relative; - display: flex; - transition: transform 0.3s; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations { - display: flex; - align-self: stretch; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations-hidden, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations-hidden { - position: absolute; - visibility: hidden; - pointer-events: none; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more { - position: relative; - padding: 8px 16px; - background: transparent; - border: 0; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more::after, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more::after { - position: absolute; - right: 0; - bottom: 0; - left: 0; - height: 5px; - transform: translateY(100%); - content: ''; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add { - min-width: 40px; - margin-left: 2px; - padding: 0 8px; - background: #fafafa; - border: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; - outline: none; - cursor: pointer; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:hover, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:hover { - color: #40a9ff; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:active, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:active, -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:focus, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:focus { - color: #096dd9; -} -.ant-tabs-extra-content { - flex: none; -} -.ant-tabs-centered > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']), -.ant-tabs-centered > div > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']) { - justify-content: center; -} -.ant-tabs-ink-bar { - position: absolute; - background: #1890ff; - pointer-events: none; -} -.ant-tabs-tab { - position: relative; - display: inline-flex; - align-items: center; - padding: 12px 0; - font-size: 14px; - background: transparent; - border: 0; - outline: none; - cursor: pointer; -} -.ant-tabs-tab-btn:focus, -.ant-tabs-tab-remove:focus, -.ant-tabs-tab-btn:active, -.ant-tabs-tab-remove:active { - color: #096dd9; -} -.ant-tabs-tab-btn { - outline: none; - transition: all 0.3s; -} -.ant-tabs-tab-remove { - flex: none; - margin-right: -4px; - margin-left: 8px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - background: transparent; - border: none; - outline: none; - cursor: pointer; - transition: all 0.3s; -} -.ant-tabs-tab-remove:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tabs-tab:hover { - color: #40a9ff; -} -.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn { - color: #1890ff; - text-shadow: 0 0 0.25px currentcolor; -} -.ant-tabs-tab.ant-tabs-tab-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active { - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-tab .ant-tabs-tab-remove .anticon { - margin: 0; -} -.ant-tabs-tab .anticon { - margin-right: 12px; -} -.ant-tabs-tab + .ant-tabs-tab { - margin: 0 0 0 32px; -} -.ant-tabs-content { - position: relative; - width: 100%; -} -.ant-tabs-content-holder { - flex: auto; - min-width: 0; - min-height: 0; -} -.ant-tabs-tabpane { - outline: none; -} -.ant-tabs-tabpane-hidden { - display: none; -} -.ant-tabs-switch-appear, -.ant-tabs-switch-enter { - transition: none; -} -.ant-tabs-switch-appear-start, -.ant-tabs-switch-enter-start { - opacity: 0; -} -.ant-tabs-switch-appear-active, -.ant-tabs-switch-enter-active { - opacity: 1; - transition: opacity 0.3s; -} -.ant-tabs-switch-leave { - position: absolute; - transition: none; - inset: 0; -} -.ant-tabs-switch-leave-start { - opacity: 1; -} -.ant-tabs-switch-leave-active { - opacity: 0; - transition: opacity 0.3s; -} -.ant-tabs-dropdown-menu-item a[antblazor-tab-link] { - position: relative; -} -a[antblazor-tab-link]::before { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: transparent; - content: ''; -} -a[antblazor-tab-link] ~ * { - position: relative; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations + .ant-tabs-nav-add { - background: transparent; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu { - max-height: 200px; - margin: 0; - padding: 4px 0; - overflow-x: hidden; - overflow-y: auto; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item { - min-width: 120px; - margin: 0; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover { - background: #f5f5f5; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled, -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a, -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a { - pointer-events: none; - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-rtl .ant-tabs-rtl-tab-next { - right: auto; - left: 2px; -} -.ant-tabs-tab-disabled a { - pointer-events: none; - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add { - min-height: 40px; -} -.ant-tag { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - height: auto; - margin-right: 8px; - padding: 0 7px; - font-size: 12px; - line-height: 20px; - white-space: nowrap; - background: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - opacity: 1; - transition: all 0.3s; -} -.ant-tag, -.ant-tag a, -.ant-tag a:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tag > a:first-child:last-child { - display: inline-block; - margin: 0 -8px; - padding: 0 8px; -} -.ant-tag-close-icon { - margin-left: 3px; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; - cursor: pointer; - transition: all 0.3s; -} -.ant-tag-close-icon:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tag-has-color { - border-color: transparent; -} -.ant-tag-has-color, -.ant-tag-has-color a, -.ant-tag-has-color a:hover, -.ant-tag-has-color .anticon-close, -.ant-tag-has-color .anticon-close:hover { - color: #fff; -} -.ant-tag-checkable { - background-color: transparent; - border-color: transparent; - cursor: pointer; -} -.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { - color: #1890ff; -} -.ant-tag-checkable:active, -.ant-tag-checkable-checked { - color: #fff; -} -.ant-tag-checkable-checked { - background-color: #1890ff; -} -.ant-tag-checkable:active { - background-color: #096dd9; -} -.ant-tag-hidden { - display: none; -} -.ant-tag-pink { - color: #c41d7f; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-pink-inverse { - color: #fff; - background: #eb2f96; - border-color: #eb2f96; -} -.ant-tag-magenta { - color: #c41d7f; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-magenta-inverse { - color: #fff; - background: #eb2f96; - border-color: #eb2f96; -} -.ant-tag-red { - color: #cf1322; - background: #fff1f0; - border-color: #ffa39e; -} -.ant-tag-red-inverse { - color: #fff; - background: #f5222d; - border-color: #f5222d; -} -.ant-tag-volcano { - color: #d4380d; - background: #fff2e8; - border-color: #ffbb96; -} -.ant-tag-volcano-inverse { - color: #fff; - background: #fa541c; - border-color: #fa541c; -} -.ant-tag-orange { - color: #d46b08; - background: #fff7e6; - border-color: #ffd591; -} -.ant-tag-orange-inverse { - color: #fff; - background: #fa8c16; - border-color: #fa8c16; -} -.ant-tag-yellow { - color: #d4b106; - background: #feffe6; - border-color: #fffb8f; -} -.ant-tag-yellow-inverse { - color: #fff; - background: #fadb14; - border-color: #fadb14; -} -.ant-tag-gold { - color: #d48806; - background: #fffbe6; - border-color: #ffe58f; -} -.ant-tag-gold-inverse { - color: #fff; - background: #faad14; - border-color: #faad14; -} -.ant-tag-cyan { - color: #08979c; - background: #e6fffb; - border-color: #87e8de; -} -.ant-tag-cyan-inverse { - color: #fff; - background: #13c2c2; - border-color: #13c2c2; -} -.ant-tag-lime { - color: #7cb305; - background: #fcffe6; - border-color: #eaff8f; -} -.ant-tag-lime-inverse { - color: #fff; - background: #a0d911; - border-color: #a0d911; -} -.ant-tag-green { - color: #389e0d; - background: #f6ffed; - border-color: #b7eb8f; -} -.ant-tag-green-inverse { - color: #fff; - background: #52c41a; - border-color: #52c41a; -} -.ant-tag-blue { - color: #096dd9; - background: #e6f7ff; - border-color: #91d5ff; -} -.ant-tag-blue-inverse { - color: #fff; - background: #1890ff; - border-color: #1890ff; -} -.ant-tag-geekblue { - color: #1d39c4; - background: #f0f5ff; - border-color: #adc6ff; -} -.ant-tag-geekblue-inverse { - color: #fff; - background: #2f54eb; - border-color: #2f54eb; -} -.ant-tag-purple { - color: #531dab; - background: #f9f0ff; - border-color: #d3adf7; -} -.ant-tag-purple-inverse { - color: #fff; - background: #722ed1; - border-color: #722ed1; -} -.ant-tag-success { - color: #52c41a; - background: #f6ffed; - border-color: #b7eb8f; -} -.ant-tag-processing { - color: #1890ff; - background: #e6f7ff; - border-color: #91d5ff; -} -.ant-tag-error { - color: #ff4d4f; - background: #fff2f0; - border-color: #ffccc7; -} -.ant-tag-warning { - color: #faad14; - background: #fffbe6; - border-color: #ffe58f; -} -.ant-tag > .anticon + span, -.ant-tag > span + .anticon { - margin-left: 7px; -} -.ant-tag.ant-tag-rtl { - margin-right: 0; - margin-left: 8px; - direction: rtl; - text-align: right; -} -.ant-tag-rtl .ant-tag-close-icon { - margin-right: 3px; - margin-left: 0; -} -.ant-tag-rtl.ant-tag > .anticon + span, -.ant-tag-rtl.ant-tag > span + .anticon { - margin-right: 7px; - margin-left: 0; -} -.ant-timeline { - box-sizing: border-box; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - margin: 0; - padding: 0; - list-style: none; -} -.ant-timeline-item { - position: relative; - margin: 0; - padding-bottom: 20px; - font-size: 14px; - list-style: none; -} -.ant-timeline-item-tail { - position: absolute; - top: 10px; - left: 4px; - height: calc(100% - 10px); - border-left: 2px solid #f0f0f0; -} -.ant-timeline-item-pending .ant-timeline-item-head { - font-size: 12px; - background-color: transparent; -} -.ant-timeline-item-pending .ant-timeline-item-tail { - display: none; -} -.ant-timeline-item-head { - position: absolute; - width: 10px; - height: 10px; - background-color: #fff; - border: 2px solid transparent; - border-radius: 100px; -} -.ant-timeline-item-head-blue { - color: #1890ff; - border-color: #1890ff; -} -.ant-timeline-item-head-red { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-timeline-item-head-green { - color: #52c41a; - border-color: #52c41a; -} -.ant-timeline-item-head-gray { - color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-timeline-item-head-custom { - position: absolute; - top: 5.5px; - left: 5px; - width: auto; - height: auto; - margin-top: 0; - padding: 3px 1px; - line-height: 1; - text-align: center; - border: 0; - border-radius: 0; - transform: translate(-50%, -50%); -} -.ant-timeline-item-content { - position: relative; - top: -7.001px; - margin: 0 0 0 26px; - word-break: break-word; -} -.ant-timeline-item-last > .ant-timeline-item-tail { - display: none; -} -.ant-timeline-item-last > .ant-timeline-item-content { - min-height: 48px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail, -.ant-timeline.ant-timeline-right .ant-timeline-item-tail, -.ant-timeline.ant-timeline-label .ant-timeline-item-tail, -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-label .ant-timeline-item-head, -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - left: 50%; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-label .ant-timeline-item-head { - margin-left: -4px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - margin-left: 1px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content { - left: calc(50% - 4px); - width: calc(50% - 14px); - text-align: left; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content { - width: calc(50% - 12px); - margin: 0; - text-align: right; -} -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom { - left: calc(100% - 4px - 2px); -} -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content { - width: calc(100% - 18px); -} -.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { - display: block; - height: calc(100% - 14px); - border-left: 2px dotted #f0f0f0; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail { - display: none; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { - top: 15px; - display: block; - height: calc(100% - 15px); - border-left: 2px dotted #f0f0f0; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content { - min-height: 48px; -} -.ant-timeline.ant-timeline-label .ant-timeline-item-label { - position: absolute; - top: -7.001px; - width: calc(50% - 12px); - text-align: right; -} -.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label { - left: calc(50% + 14px); - width: calc(50% - 14px); - text-align: left; -} -.ant-timeline-rtl { - direction: rtl; -} -.ant-timeline-rtl .ant-timeline-item-tail { - right: 4px; - left: auto; - border-right: 2px solid #f0f0f0; - border-left: none; -} -.ant-timeline-rtl .ant-timeline-item-head-custom { - right: 5px; - left: auto; - transform: translate(50%, -50%); -} -.ant-timeline-rtl .ant-timeline-item-content { - margin: 0 18px 0 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - right: 50%; - left: auto; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head { - margin-right: -4px; - margin-left: 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - margin-right: 1px; - margin-left: 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content { - right: calc(50% - 4px); - left: auto; - text-align: right; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content { - text-align: left; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom { - right: 0; - left: auto; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content { - width: 100%; - margin-right: 18px; - text-align: right; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { - border-right: 2px dotted #f0f0f0; - border-left: none; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { - border-right: 2px dotted #f0f0f0; - border-left: none; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label { - text-align: left; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label { - right: calc(50% + 14px); - text-align: right; -} -.ant-tooltip { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - z-index: 1070; - display: block; - width: max-content; - width: intrinsic; - max-width: 250px; - visibility: visible; -} -.ant-tooltip-content { - position: relative; -} -.ant-tooltip-hidden { - display: none; -} -.ant-tooltip-placement-top, -.ant-tooltip-placement-topLeft, -.ant-tooltip-placement-topRight { - padding-bottom: 14.3137085px; -} -.ant-tooltip-placement-right, -.ant-tooltip-placement-rightTop, -.ant-tooltip-placement-rightBottom { - padding-left: 14.3137085px; -} -.ant-tooltip-placement-bottom, -.ant-tooltip-placement-bottomLeft, -.ant-tooltip-placement-bottomRight { - padding-top: 14.3137085px; -} -.ant-tooltip-placement-left, -.ant-tooltip-placement-leftTop, -.ant-tooltip-placement-leftBottom { - padding-right: 14.3137085px; -} -.ant-tooltip-inner { - min-width: 30px; - min-height: 32px; - padding: 6px 8px; - color: #fff; - text-align: left; - text-decoration: none; - word-wrap: break-word; - background-color: rgba(0, 0, 0, 0.75); - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-tooltip-arrow { - position: absolute; - z-index: 2; - display: block; - width: 22px; - height: 22px; - overflow: hidden; - background: transparent; - pointer-events: none; -} -.ant-tooltip-arrow-content { - --antd-arrow-background-color: linear-gradient(to right bottom, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.75)); - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - width: 11.3137085px; - height: 11.3137085px; - margin: auto; - content: ''; - pointer-events: auto; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-tooltip-arrow-content::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: var(--antd-arrow-background-color); - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-tooltip-placement-top .ant-tooltip-arrow, -.ant-tooltip-placement-topLeft .ant-tooltip-arrow, -.ant-tooltip-placement-topRight .ant-tooltip-arrow { - bottom: 0; - transform: translateY(100%); -} -.ant-tooltip-placement-top .ant-tooltip-arrow-content, -.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content, -.ant-tooltip-placement-topRight .ant-tooltip-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(-11px) rotate(45deg); -} -.ant-tooltip-placement-top .ant-tooltip-arrow { - left: 50%; - transform: translateY(100%) translateX(-50%); -} -.ant-tooltip-placement-topLeft .ant-tooltip-arrow { - left: 13px; -} -.ant-tooltip-placement-topRight .ant-tooltip-arrow { - right: 13px; -} -.ant-tooltip-placement-right .ant-tooltip-arrow, -.ant-tooltip-placement-rightTop .ant-tooltip-arrow, -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { - left: 0; - transform: translateX(-100%); -} -.ant-tooltip-placement-right .ant-tooltip-arrow-content, -.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content, -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content { - box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(11px) rotate(135deg); -} -.ant-tooltip-placement-right .ant-tooltip-arrow { - top: 50%; - transform: translateX(-100%) translateY(-50%); -} -.ant-tooltip-placement-rightTop .ant-tooltip-arrow { - top: 5px; -} -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { - bottom: 5px; -} -.ant-tooltip-placement-left .ant-tooltip-arrow, -.ant-tooltip-placement-leftTop .ant-tooltip-arrow, -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { - right: 0; - transform: translateX(100%); -} -.ant-tooltip-placement-left .ant-tooltip-arrow-content, -.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content, -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content { - box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(-11px) rotate(315deg); -} -.ant-tooltip-placement-left .ant-tooltip-arrow { - top: 50%; - transform: translateX(100%) translateY(-50%); -} -.ant-tooltip-placement-leftTop .ant-tooltip-arrow { - top: 5px; -} -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { - bottom: 5px; -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow, -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow, -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { - top: 0; - transform: translateY(-100%); -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow-content, -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content, -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content { - box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(11px) rotate(225deg); -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow { - left: 50%; - transform: translateY(-100%) translateX(-50%); -} -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow { - left: 13px; -} -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { - right: 13px; -} -.ant-tooltip-pink .ant-tooltip-inner { - background-color: #eb2f96; -} -.ant-tooltip-pink .ant-tooltip-arrow-content::before { - background: #eb2f96; -} -.ant-tooltip-magenta .ant-tooltip-inner { - background-color: #eb2f96; -} -.ant-tooltip-magenta .ant-tooltip-arrow-content::before { - background: #eb2f96; -} -.ant-tooltip-red .ant-tooltip-inner { - background-color: #f5222d; -} -.ant-tooltip-red .ant-tooltip-arrow-content::before { - background: #f5222d; -} -.ant-tooltip-volcano .ant-tooltip-inner { - background-color: #fa541c; -} -.ant-tooltip-volcano .ant-tooltip-arrow-content::before { - background: #fa541c; -} -.ant-tooltip-orange .ant-tooltip-inner { - background-color: #fa8c16; -} -.ant-tooltip-orange .ant-tooltip-arrow-content::before { - background: #fa8c16; -} -.ant-tooltip-yellow .ant-tooltip-inner { - background-color: #fadb14; -} -.ant-tooltip-yellow .ant-tooltip-arrow-content::before { - background: #fadb14; -} -.ant-tooltip-gold .ant-tooltip-inner { - background-color: #faad14; -} -.ant-tooltip-gold .ant-tooltip-arrow-content::before { - background: #faad14; -} -.ant-tooltip-cyan .ant-tooltip-inner { - background-color: #13c2c2; -} -.ant-tooltip-cyan .ant-tooltip-arrow-content::before { - background: #13c2c2; -} -.ant-tooltip-lime .ant-tooltip-inner { - background-color: #a0d911; -} -.ant-tooltip-lime .ant-tooltip-arrow-content::before { - background: #a0d911; -} -.ant-tooltip-green .ant-tooltip-inner { - background-color: #52c41a; -} -.ant-tooltip-green .ant-tooltip-arrow-content::before { - background: #52c41a; -} -.ant-tooltip-blue .ant-tooltip-inner { - background-color: #1890ff; -} -.ant-tooltip-blue .ant-tooltip-arrow-content::before { - background: #1890ff; -} -.ant-tooltip-geekblue .ant-tooltip-inner { - background-color: #2f54eb; -} -.ant-tooltip-geekblue .ant-tooltip-arrow-content::before { - background: #2f54eb; -} -.ant-tooltip-purple .ant-tooltip-inner { - background-color: #722ed1; -} -.ant-tooltip-purple .ant-tooltip-arrow-content::before { - background: #722ed1; -} -.ant-tooltip-rtl { - direction: rtl; -} -.ant-tooltip-rtl .ant-tooltip-inner { - text-align: right; -} -.ant-tooltip { - position: relative; -} -.ant-transfer-customize-list .ant-transfer-list { - flex: 1 1 50%; - width: auto; - height: auto; - min-height: 200px; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small { - border: 0; - border-radius: 0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-selection-column { - width: 40px; - min-width: 40px; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th { - background: #fafafa; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td { - border-bottom: 1px solid #f0f0f0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body { - margin: 0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination { - margin: 16px 0 4px; -} -.ant-transfer-customize-list .ant-input[disabled] { - background-color: transparent; -} -.ant-transfer-status-error .ant-transfer-list { - border-color: #ff4d4f; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]) { - border-color: #d9d9d9; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-warning .ant-transfer-list { - border-color: #faad14; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]) { - border-color: #d9d9d9; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: flex; - align-items: stretch; -} -.ant-transfer-disabled .ant-transfer-list { - background: #f5f5f5; -} -.ant-transfer-list { - display: flex; - flex-direction: column; - width: 180px; - height: 200px; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-transfer-list-with-pagination { - width: 250px; - height: auto; -} -.ant-transfer-list-search .anticon-search { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-header { - display: flex; - flex: none; - align-items: center; - height: 40px; - padding: 8px 12px 9px; - color: rgba(0, 0, 0, 0.85); - background: #fff; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-transfer-list-header > *:not(:last-child) { - margin-right: 4px; -} -.ant-transfer-list-header > * { - flex: none; -} -.ant-transfer-list-header-title { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-align: right; - text-overflow: ellipsis; -} -.ant-transfer-list-header-dropdown { - font-size: 10px; - transform: translateY(10%); - cursor: pointer; -} -.ant-transfer-list-header-dropdown[disabled] { - cursor: not-allowed; -} -.ant-transfer-list-body { - display: flex; - flex: auto; - flex-direction: column; - overflow: hidden; - font-size: 14px; -} -.ant-transfer-list-body-search-wrapper { - position: relative; - flex: none; - padding: 12px; -} -.ant-transfer-list-content { - flex: auto; - margin: 0; - padding: 0; - overflow: auto; - list-style: none; -} -.ant-transfer-list-content-item { - display: flex; - align-items: center; - min-height: 32px; - padding: 6px 12px; - line-height: 20px; - transition: all 0.3s; -} -.ant-transfer-list-content-item > *:not(:last-child) { - margin-right: 8px; -} -.ant-transfer-list-content-item > * { - flex: none; -} -.ant-transfer-list-content-item-text { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-transfer-list-content-item-remove { - position: relative; - color: #d9d9d9; - cursor: pointer; - transition: all 0.3s; -} -.ant-transfer-list-content-item-remove:hover { - color: #40a9ff; -} -.ant-transfer-list-content-item-remove::after { - position: absolute; - top: -6px; - right: -50%; - bottom: -6px; - left: -50%; - content: ''; -} -.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { - background-color: #f5f5f5; - cursor: pointer; -} -.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover { - background-color: #dcf4ff; -} -.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { - background: transparent; - cursor: default; -} -.ant-transfer-list-content-item-checked { - background-color: #e6f7ff; -} -.ant-transfer-list-content-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-transfer-list-pagination { - padding: 8px 0; - text-align: right; - border-top: 1px solid #f0f0f0; -} -.ant-transfer-list-body-not-found { - flex: none; - width: 100%; - margin: auto 0; - color: rgba(0, 0, 0, 0.25); - text-align: center; -} -.ant-transfer-list-footer { - border-top: 1px solid #f0f0f0; -} -.ant-transfer-operation { - display: flex; - flex: none; - flex-direction: column; - align-self: center; - margin: 0 8px; - vertical-align: middle; -} -.ant-transfer-operation .ant-btn { - display: block; -} -.ant-transfer-operation .ant-btn:first-child { - margin-bottom: 4px; -} -.ant-transfer-operation .ant-btn .anticon { - font-size: 12px; -} -.ant-transfer .ant-empty-image { - max-height: -2px; -} -.ant-transfer-rtl { - direction: rtl; -} -.ant-transfer-rtl .ant-transfer-list-search { - padding-right: 8px; - padding-left: 24px; -} -.ant-transfer-rtl .ant-transfer-list-search-action { - right: auto; - left: 12px; -} -.ant-transfer-rtl .ant-transfer-list-header > *:not(:last-child) { - margin-right: 0; - margin-left: 4px; -} -.ant-transfer-rtl .ant-transfer-list-header { - right: 0; - left: auto; -} -.ant-transfer-rtl .ant-transfer-list-header-title { - text-align: left; -} -.ant-transfer-rtl .ant-transfer-list-content-item > *:not(:last-child) { - margin-right: 0; - margin-left: 8px; -} -.ant-transfer-rtl .ant-transfer-list-pagination { - text-align: left; -} -.ant-transfer-rtl .ant-transfer-list-footer { - right: 0; - left: auto; -} -.ant-typography { - color: rgba(0, 0, 0, 0.85); - word-break: break-word; -} -.ant-typography.ant-typography-secondary { - color: rgba(0, 0, 0, 0.45); -} -.ant-typography.ant-typography-success { - color: #52c41a; -} -.ant-typography.ant-typography-warning { - color: #faad14; -} -.ant-typography.ant-typography-danger { - color: #ff4d4f; -} -a.ant-typography.ant-typography-danger:active, -a.ant-typography.ant-typography-danger:focus { - color: #d9363e; -} -a.ant-typography.ant-typography-danger:hover { - color: #ff7875; -} -.ant-typography.ant-typography-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; - user-select: none; -} -div.ant-typography, -.ant-typography p { - margin-bottom: 1em; -} -h1.ant-typography, -div.ant-typography-h1, -div.ant-typography-h1 > textarea, -.ant-typography h1 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 38px; - line-height: 1.23; -} -h2.ant-typography, -div.ant-typography-h2, -div.ant-typography-h2 > textarea, -.ant-typography h2 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 30px; - line-height: 1.35; -} -h3.ant-typography, -div.ant-typography-h3, -div.ant-typography-h3 > textarea, -.ant-typography h3 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 24px; - line-height: 1.35; -} -h4.ant-typography, -div.ant-typography-h4, -div.ant-typography-h4 > textarea, -.ant-typography h4 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 20px; - line-height: 1.4; -} -h5.ant-typography, -div.ant-typography-h5, -div.ant-typography-h5 > textarea, -.ant-typography h5 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 16px; - line-height: 1.5; -} -.ant-typography + h1.ant-typography, -.ant-typography + h2.ant-typography, -.ant-typography + h3.ant-typography, -.ant-typography + h4.ant-typography, -.ant-typography + h5.ant-typography { - margin-top: 1.2em; -} -.ant-typography div + h1, -.ant-typography ul + h1, -.ant-typography li + h1, -.ant-typography p + h1, -.ant-typography h1 + h1, -.ant-typography h2 + h1, -.ant-typography h3 + h1, -.ant-typography h4 + h1, -.ant-typography h5 + h1, -.ant-typography div + h2, -.ant-typography ul + h2, -.ant-typography li + h2, -.ant-typography p + h2, -.ant-typography h1 + h2, -.ant-typography h2 + h2, -.ant-typography h3 + h2, -.ant-typography h4 + h2, -.ant-typography h5 + h2, -.ant-typography div + h3, -.ant-typography ul + h3, -.ant-typography li + h3, -.ant-typography p + h3, -.ant-typography h1 + h3, -.ant-typography h2 + h3, -.ant-typography h3 + h3, -.ant-typography h4 + h3, -.ant-typography h5 + h3, -.ant-typography div + h4, -.ant-typography ul + h4, -.ant-typography li + h4, -.ant-typography p + h4, -.ant-typography h1 + h4, -.ant-typography h2 + h4, -.ant-typography h3 + h4, -.ant-typography h4 + h4, -.ant-typography h5 + h4, -.ant-typography div + h5, -.ant-typography ul + h5, -.ant-typography li + h5, -.ant-typography p + h5, -.ant-typography h1 + h5, -.ant-typography h2 + h5, -.ant-typography h3 + h5, -.ant-typography h4 + h5, -.ant-typography h5 + h5 { - margin-top: 1.2em; -} -a.ant-typography-ellipsis, -span.ant-typography-ellipsis { - display: inline-block; - max-width: 100%; -} -a.ant-typography, -.ant-typography a { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - text-decoration: none; -} -a.ant-typography:focus-visible, -.ant-typography a:focus-visible, -a.ant-typography:hover, -.ant-typography a:hover { - color: #40a9ff; -} -a.ant-typography:active, -.ant-typography a:active { - color: #096dd9; -} -a.ant-typography:active, -.ant-typography a:active, -a.ant-typography:hover, -.ant-typography a:hover { - text-decoration: none; -} -a.ant-typography[disabled], -.ant-typography a[disabled], -a.ant-typography.ant-typography-disabled, -.ant-typography a.ant-typography-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -a.ant-typography[disabled]:active, -.ant-typography a[disabled]:active, -a.ant-typography.ant-typography-disabled:active, -.ant-typography a.ant-typography-disabled:active, -a.ant-typography[disabled]:hover, -.ant-typography a[disabled]:hover, -a.ant-typography.ant-typography-disabled:hover, -.ant-typography a.ant-typography-disabled:hover { - color: rgba(0, 0, 0, 0.25); -} -a.ant-typography[disabled]:active, -.ant-typography a[disabled]:active, -a.ant-typography.ant-typography-disabled:active, -.ant-typography a.ant-typography-disabled:active { - pointer-events: none; -} -.ant-typography code { - margin: 0 0.2em; - padding: 0.2em 0.4em 0.1em; - font-size: 85%; - background: rgba(150, 150, 150, 0.1); - border: 1px solid rgba(100, 100, 100, 0.2); - border-radius: 3px; -} -.ant-typography kbd { - margin: 0 0.2em; - padding: 0.15em 0.4em 0.1em; - font-size: 90%; - background: rgba(150, 150, 150, 0.06); - border: 1px solid rgba(100, 100, 100, 0.2); - border-bottom-width: 2px; - border-radius: 3px; -} -.ant-typography mark { - padding: 0; - background-color: #ffe58f; -} -.ant-typography u, -.ant-typography ins { - text-decoration: underline; - text-decoration-skip-ink: auto; -} -.ant-typography s, -.ant-typography del { - text-decoration: line-through; -} -.ant-typography strong { - font-weight: 600; -} -.ant-typography-expand, -.ant-typography-edit, -.ant-typography-copy { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - margin-left: 4px; -} -.ant-typography-expand:focus-visible, -.ant-typography-edit:focus-visible, -.ant-typography-copy:focus-visible, -.ant-typography-expand:hover, -.ant-typography-edit:hover, -.ant-typography-copy:hover { - color: #40a9ff; -} -.ant-typography-expand:active, -.ant-typography-edit:active, -.ant-typography-copy:active { - color: #096dd9; -} -.ant-typography-copy-success, -.ant-typography-copy-success:hover, -.ant-typography-copy-success:focus { - color: #52c41a; -} -.ant-typography-edit-content { - position: relative; -} -div.ant-typography-edit-content { - left: -12px; - margin-top: -5px; - margin-bottom: calc(1em - 4px - 1px); -} -.ant-typography-edit-content-confirm { - position: absolute; - right: 10px; - bottom: 8px; - color: rgba(0, 0, 0, 0.45); - font-weight: normal; - font-size: 14px; - font-style: normal; - pointer-events: none; -} -.ant-typography-edit-content textarea { - height: 1em; - margin: 0 !important; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -moz-transition: none; -} -.ant-typography ul, -.ant-typography ol { - margin: 0 0 1em; - padding: 0; -} -.ant-typography ul li, -.ant-typography ol li { - margin: 0 0 0 20px; - padding: 0 0 0 4px; -} -.ant-typography ul { - list-style-type: circle; -} -.ant-typography ul ul { - list-style-type: disc; -} -.ant-typography ol { - list-style-type: decimal; -} -.ant-typography pre, -.ant-typography blockquote { - margin: 1em 0; -} -.ant-typography pre { - padding: 0.4em 0.6em; - white-space: pre-wrap; - word-wrap: break-word; - background: rgba(150, 150, 150, 0.1); - border: 1px solid rgba(100, 100, 100, 0.2); - border-radius: 3px; -} -.ant-typography pre code { - display: inline; - margin: 0; - padding: 0; - font-size: inherit; - font-family: inherit; - background: transparent; - border: 0; -} -.ant-typography blockquote { - padding: 0 0 0 0.6em; - border-left: 4px solid rgba(100, 100, 100, 0.2); - opacity: 0.85; -} -.ant-typography-single-line { - white-space: nowrap; -} -.ant-typography-ellipsis-single-line { - overflow: hidden; - text-overflow: ellipsis; -} -a.ant-typography-ellipsis-single-line, -span.ant-typography-ellipsis-single-line { - vertical-align: bottom; -} -.ant-typography-ellipsis-multiple-line { - /* stylelint-disable-next-line value-no-vendor-prefix */ - display: -webkit-box; - overflow: hidden; - -webkit-line-clamp: 3; - /*! autoprefixer: ignore next */ - -webkit-box-orient: vertical; -} -.ant-typography-rtl { - direction: rtl; -} -.ant-typography-rtl .ant-typography-expand, -.ant-typography-rtl .ant-typography-edit, -.ant-typography-rtl .ant-typography-copy { - margin-right: 4px; - margin-left: 0; -} -.ant-typography-rtl .ant-typography-expand { - float: left; -} -div.ant-typography-edit-content.ant-typography-rtl { - right: -12px; - left: auto; -} -.ant-typography-rtl .ant-typography-edit-content-confirm { - right: auto; - left: 10px; -} -.ant-typography-rtl.ant-typography ul li, -.ant-typography-rtl.ant-typography ol li { - margin: 0 20px 0 0; - padding: 0 4px 0 0; -} -.ant-upload { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - outline: 0; -} -.ant-upload p { - margin: 0; -} -.ant-upload-btn { - display: block; - width: 100%; - outline: none; -} -.ant-upload input[type='file'] { - cursor: pointer; -} -.ant-upload.ant-upload-select { - display: inline-block; -} -.ant-upload.ant-upload-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-upload.ant-upload-select-picture-card { - width: 104px; - height: 104px; - margin-right: 8px; - margin-bottom: 8px; - text-align: center; - vertical-align: top; - background-color: #fafafa; - border: 1px dashed #d9d9d9; - border-radius: 2px; - cursor: pointer; - transition: border-color 0.3s; -} -.ant-upload.ant-upload-select-picture-card > .ant-upload { - display: flex; - align-items: center; - justify-content: center; - height: 100%; - text-align: center; -} -.ant-upload.ant-upload-select-picture-card:hover { - border-color: #1890ff; -} -.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover { - border-color: #d9d9d9; -} -.ant-upload.ant-upload-drag { - position: relative; - width: 100%; - height: 100%; - text-align: center; - background: #fafafa; - border: 1px dashed #d9d9d9; - border-radius: 2px; - cursor: pointer; - transition: border-color 0.3s; -} -.ant-upload.ant-upload-drag .ant-upload { - padding: 16px 0; -} -.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { - border-color: #096dd9; -} -.ant-upload.ant-upload-drag.ant-upload-disabled { - cursor: not-allowed; -} -.ant-upload.ant-upload-drag .ant-upload-btn { - display: table; - height: 100%; -} -.ant-upload.ant-upload-drag .ant-upload-drag-container { - display: table-cell; - vertical-align: middle; -} -.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { - border-color: #40a9ff; -} -.ant-upload.ant-upload-drag p.ant-upload-drag-icon { - margin-bottom: 20px; -} -.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { - color: #40a9ff; - font-size: 48px; -} -.ant-upload.ant-upload-drag p.ant-upload-text { - margin: 0 0 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; -} -.ant-upload.ant-upload-drag p.ant-upload-hint { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-upload.ant-upload-drag .anticon-plus { - color: rgba(0, 0, 0, 0.25); - font-size: 30px; - transition: all 0.3s; -} -.ant-upload.ant-upload-drag .anticon-plus:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload.ant-upload-drag:hover .anticon-plus { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-picture-card-wrapper { - display: inline-block; - width: 100%; -} -.ant-upload-picture-card-wrapper::before { - display: table; - content: ''; -} -.ant-upload-picture-card-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-picture-card-wrapper::before { - display: table; - content: ''; -} -.ant-upload-picture-card-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - line-height: 1.5715; -} -.ant-upload-list::before { - display: table; - content: ''; -} -.ant-upload-list::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list::before { - display: table; - content: ''; -} -.ant-upload-list::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list-item { - position: relative; - height: 22.001px; - margin-top: 8px; - font-size: 14px; -} -.ant-upload-list-item-name { - display: inline-block; - width: 100%; - padding-left: 22px; - overflow: hidden; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-upload-list-item-card-actions { - position: absolute; - right: 0; -} -.ant-upload-list-item-card-actions-btn { - opacity: 0; -} -.ant-upload-list-item-card-actions-btn.ant-btn-sm { - height: 22.001px; - line-height: 1; - vertical-align: top; -} -.ant-upload-list-item-card-actions.picture { - top: 22px; - line-height: 0; -} -.ant-upload-list-item-card-actions-btn:focus, -.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-card-actions .anticon { - color: rgba(0, 0, 0, 0.45); - transition: all 0.3s; -} -.ant-upload-list-item-card-actions:hover .anticon { - color: rgba(0, 0, 0, 0.85); -} -.ant-upload-list-item-info { - height: 100%; - transition: background-color 0.3s; -} -.ant-upload-list-item-info > span { - display: block; - width: 100%; - height: 100%; -} -.ant-upload-list-item-info .anticon-loading .anticon, -.ant-upload-list-item-info .ant-upload-text-icon .anticon { - position: absolute; - top: 5px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-upload-list-item:hover .ant-upload-list-item-info { - background-color: #f5f5f5; -} -.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-error, -.ant-upload-list-item-error .ant-upload-text-icon > .anticon, -.ant-upload-list-item-error .ant-upload-list-item-name { - color: #ff4d4f; -} -.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon { - color: #ff4d4f; -} -.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-progress { - position: absolute; - bottom: -12px; - width: 100%; - padding-left: 26px; - font-size: 14px; - line-height: 0; -} -.ant-upload-list-picture .ant-upload-list-item, -.ant-upload-list-picture-card .ant-upload-list-item { - position: relative; - height: 66px; - padding: 8px; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-upload-list-picture .ant-upload-list-item:hover, -.ant-upload-list-picture-card .ant-upload-list-item:hover { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-error, -.ant-upload-list-picture-card .ant-upload-list-item-error { - border-color: #ff4d4f; -} -.ant-upload-list-picture .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item-info { - padding: 0; -} -.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-uploading, -.ant-upload-list-picture-card .ant-upload-list-item-uploading { - border-style: dashed; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail { - width: 48px; - height: 48px; - line-height: 60px; - text-align: center; - opacity: 0.8; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon { - font-size: 26px; -} -.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], -.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] { - fill: #fff2f0; -} -.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'], -.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'] { - fill: #ff4d4f; -} -.ant-upload-list-picture .ant-upload-list-item-icon, -.ant-upload-list-picture-card .ant-upload-list-item-icon { - position: absolute; - top: 50%; - left: 50%; - font-size: 26px; - transform: translate(-50%, -50%); -} -.ant-upload-list-picture .ant-upload-list-item-icon .anticon, -.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon { - font-size: 26px; -} -.ant-upload-list-picture .ant-upload-list-item-image, -.ant-upload-list-picture-card .ant-upload-list-item-image { - max-width: 100%; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail img, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img { - display: block; - width: 48px; - height: 48px; - overflow: hidden; -} -.ant-upload-list-picture .ant-upload-list-item-name, -.ant-upload-list-picture-card .ant-upload-list-item-name { - display: inline-block; - box-sizing: border-box; - max-width: 100%; - margin: 0 0 0 8px; - padding-right: 8px; - padding-left: 48px; - overflow: hidden; - line-height: 44px; - white-space: nowrap; - text-overflow: ellipsis; - transition: all 0.3s; -} -.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name { - margin-bottom: 12px; -} -.ant-upload-list-picture .ant-upload-list-item-progress, -.ant-upload-list-picture-card .ant-upload-list-item-progress { - bottom: 14px; - width: calc(100% - 24px); - margin-top: 0; - padding-left: 56px; -} -.ant-upload-list-picture-card-container { - display: inline-block; - width: 104px; - height: 104px; - margin: 0 8px 8px 0; - vertical-align: top; -} -.ant-upload-list-picture-card .ant-upload-list-item { - height: 100%; - margin: 0; -} -.ant-upload-list-picture-card .ant-upload-list-item-info { - position: relative; - height: 100%; - overflow: hidden; -} -.ant-upload-list-picture-card .ant-upload-list-item-info::before { - position: absolute; - z-index: 1; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - opacity: 0; - transition: all 0.3s; - content: ' '; -} -.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before { - opacity: 1; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions { - position: absolute; - top: 50%; - left: 50%; - z-index: 10; - white-space: nowrap; - transform: translate(-50%, -50%); - opacity: 0; - transition: all 0.3s; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { - z-index: 10; - width: 16px; - margin: 0 4px; - color: rgba(255, 255, 255, 0.85); - font-size: 16px; - cursor: pointer; - transition: all 0.3s; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { - color: #fff; -} -.ant-upload-list-picture-card .ant-upload-list-item-info:hover + .ant-upload-list-item-actions, -.ant-upload-list-picture-card .ant-upload-list-item-actions:hover { - opacity: 1; -} -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img { - position: static; - display: block; - width: 100%; - height: 100%; - object-fit: contain; -} -.ant-upload-list-picture-card .ant-upload-list-item-name { - display: none; - margin: 8px 0 0; - padding: 0; - line-height: 1.5715; - text-align: center; -} -.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name { - position: absolute; - bottom: 10px; - display: block; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { - background-color: #fafafa; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info { - height: auto; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete { - display: none; -} -.ant-upload-list-picture-card .ant-upload-list-item-progress { - bottom: 32px; - width: calc(100% - 14px); - padding-left: 0; -} -.ant-upload-list-text-container, -.ant-upload-list-picture-container { - transition: opacity 0.3s, height 0.3s; -} -.ant-upload-list-text-container::before, -.ant-upload-list-picture-container::before { - display: table; - width: 0; - height: 0; - content: ''; -} -.ant-upload-list-text-container .ant-upload-span, -.ant-upload-list-picture-container .ant-upload-span { - display: block; - flex: auto; -} -.ant-upload-list-text .ant-upload-span, -.ant-upload-list-picture .ant-upload-span { - display: flex; - align-items: center; -} -.ant-upload-list-text .ant-upload-span > *, -.ant-upload-list-picture .ant-upload-span > * { - flex: none; -} -.ant-upload-list-text .ant-upload-list-item-name, -.ant-upload-list-picture .ant-upload-list-item-name { - flex: auto; - margin: 0; - padding: 0 8px; -} -.ant-upload-list-text .ant-upload-list-item-card-actions, -.ant-upload-list-picture .ant-upload-list-item-card-actions { - position: static; -} -.ant-upload-list-text .ant-upload-text-icon .anticon { - position: static; -} -.ant-upload-list .ant-upload-animate-inline-appear, -.ant-upload-list .ant-upload-animate-inline-enter, -.ant-upload-list .ant-upload-animate-inline-leave { - animation-duration: 0.3s; - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); - animation-fill-mode: forwards; -} -.ant-upload-list .ant-upload-animate-inline-appear, -.ant-upload-list .ant-upload-animate-inline-enter { - animation-name: uploadAnimateInlineIn; -} -.ant-upload-list .ant-upload-animate-inline-leave { - animation-name: uploadAnimateInlineOut; -} -@keyframes uploadAnimateInlineIn { - from { - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - } -} -@keyframes uploadAnimateInlineOut { - to { - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - } -} -.ant-upload-rtl { - direction: rtl; -} -.ant-upload-rtl.ant-upload.ant-upload-select-picture-card { - margin-right: auto; - margin-left: 8px; -} -.ant-upload-list-rtl { - direction: rtl; -} -.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1 { - padding-right: 22px; - padding-left: 14px; -} -.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2 { - padding-right: 22px; - padding-left: 28px; -} -.ant-upload-list-rtl .ant-upload-list-item-name { - padding-right: 22px; - padding-left: 0; -} -.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1 { - padding-left: 14px; -} -.ant-upload-list-rtl .ant-upload-list-item-card-actions { - right: auto; - left: 0; -} -.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon { - padding-right: 0; - padding-left: 5px; -} -.ant-upload-list-rtl .ant-upload-list-item-info { - padding: 0 4px 0 12px; -} -.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon { - padding-right: 0; - padding-left: 5px; -} -.ant-upload-list-rtl .ant-upload-list-item-progress { - padding-right: 26px; - padding-left: 0; -} -.ant-upload-list-picture .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item-info { - padding: 0; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail { - right: 8px; - left: auto; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon { - right: 50%; - left: auto; - transform: translate(50%, -50%); -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name { - margin: 0 8px 0 0; - padding-right: 48px; - padding-left: 8px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1 { - padding-right: 48px; - padding-left: 18px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2 { - padding-right: 48px; - padding-left: 36px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress { - padding-right: 0; - padding-left: 0; -} -.ant-upload-list-rtl .ant-upload-list-picture-card-container { - margin: 0 0 8px 8px; -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions { - right: 50%; - left: auto; - transform: translate(50%, -50%); -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name { - margin: 8px 0 0; - padding: 0; -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item { - float: unset; -} -.ant-upload-no-btn .ant-upload-list-item { - margin-top: 0; -} -.ant-select-auto-complete { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-select-auto-complete .ant-select-clear { - right: 13px; -} -.ant-select-dropdown-hidden { - display: none; -} -.ant-cascader-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-inner, -.ant-cascader-checkbox:hover .ant-cascader-checkbox-inner, -.ant-cascader-checkbox-input:focus + .ant-cascader-checkbox-inner { - border-color: #1890ff; -} -.ant-cascader-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-cascader-checkbox:hover::after, -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox::after { - visibility: visible; -} -.ant-cascader-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-cascader-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-cascader-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-cascader-checkbox-disabled { - cursor: not-allowed; -} -.ant-cascader-checkbox-disabled.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-cascader-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-cascader-checkbox-disabled:hover::after, -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-disabled::after { - visibility: hidden; -} -.ant-cascader-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-cascader-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-cascader-checkbox-wrapper + .ant-cascader-checkbox-wrapper { - margin-left: 8px; -} -.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-cascader-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-cascader-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-cascader-checkbox-group-item { - margin-right: 8px; -} -.ant-cascader-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item { - margin-left: 0; -} -.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-cascader-checkbox-indeterminate.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-checkbox-rtl { - direction: rtl; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item { - margin-left: 8px; -} -.ant-cascader { - width: 184px; -} -.ant-cascader-checkbox { - top: 0; - margin-right: 8px; -} -.ant-cascader-menus { - display: flex; - flex-wrap: nowrap; - align-items: flex-start; -} -.ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu { - width: 100%; - height: auto; -} -.ant-cascader-menu { - flex-grow: 1; - min-width: 111px; - height: 180px; - margin: 0; - margin: -4px 0; - padding: 4px 0; - overflow: auto; - vertical-align: top; - list-style: none; - border-right: 1px solid #f0f0f0; - -ms-overflow-style: -ms-autohiding-scrollbar; -} -.ant-cascader-menu-item { - display: flex; - flex-wrap: nowrap; - align-items: center; - padding: 5px 12px; - overflow: hidden; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.ant-cascader-menu-item:hover { - background: #f5f5f5; -} -.ant-cascader-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-cascader-menu-item-disabled:hover { - background: transparent; -} -.ant-cascader-menu-empty .ant-cascader-menu-item { - color: rgba(0, 0, 0, 0.25); - cursor: default; - pointer-events: none; -} -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { - font-weight: 600; - background-color: #e6f7ff; -} -.ant-cascader-menu-item-content { - flex: auto; -} -.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, -.ant-cascader-menu-item-loading-icon { - margin-left: 4px; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; -} -.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, -.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-menu-item-keyword { - color: #ff4d4f; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl) { - margin-right: -1px; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-item-rtl { - margin-left: -1px; -} -.ant-cascader-compact-item:hover, -.ant-cascader-compact-item:focus, -.ant-cascader-compact-item:active { - z-index: 2; -} -.ant-cascader-compact-item[disabled] { - z-index: 0; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-last-item).ant-cascader { - border-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-first-item:not(.ant-cascader-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-last-item:not(.ant-cascader-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-cascader-rtl .ant-cascader-menu-item-expand-icon, -.ant-cascader-rtl .ant-cascader-menu-item-loading-icon { - margin-right: 4px; - margin-left: 0; -} -.ant-cascader-rtl .ant-cascader-checkbox { - top: 0; - margin-right: 0; - margin-left: 8px; -} -.ant-cascader-menus { - position: relative; - margin-top: 2px; - margin-bottom: 2px; -} -@keyframes ant-tree-node-fx-do-not-use { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -.ant-tree.ant-tree-directory .ant-tree-treenode { - position: relative; -} -.ant-tree.ant-tree-directory .ant-tree-treenode::before { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - transition: background-color 0.3s; - content: ''; - pointer-events: none; -} -.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before { - background: #f5f5f5; -} -.ant-tree.ant-tree-directory .ant-tree-treenode > * { - z-index: 1; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher { - transition: color 0.3s; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper { - border-radius: 0; - user-select: none; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected { - color: #fff; - background: transparent; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, -.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before { - background: #1890ff; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher { - color: #fff; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper { - color: #fff; - background: transparent; -} -.ant-tree-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { - border-color: #1890ff; -} -.ant-tree-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-tree-checkbox:hover::after, -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after { - visibility: visible; -} -.ant-tree-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-tree-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-tree-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-tree-checkbox-disabled { - cursor: not-allowed; -} -.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tree-checkbox-disabled:hover::after, -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after { - visibility: hidden; -} -.ant-tree-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-tree-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-tree-checkbox-wrapper + .ant-tree-checkbox-wrapper { - margin-left: 8px; -} -.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-tree-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-tree-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-tree-checkbox-group-item { - margin-right: 8px; -} -.ant-tree-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item { - margin-left: 0; -} -.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-tree-checkbox-rtl { - direction: rtl; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item { - margin-left: 8px; -} -.ant-tree { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { - background: #e6f7ff; -} -.ant-tree-list-holder-inner { - align-items: flex-start; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner { - align-items: stretch; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper { - flex: auto; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging { - position: relative; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging::after { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - border: 1px solid #1890ff; - opacity: 0; - animation: ant-tree-node-fx-do-not-use 0.3s; - animation-play-state: running; - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -.ant-tree .ant-tree-treenode { - display: flex; - align-items: flex-start; - padding: 0 0 4px 0; - outline: none; -} -.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { - background: #f5f5f5; -} -.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title { - color: inherit; - font-weight: 500; -} -.ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon { - width: 24px; - line-height: 24px; - text-align: center; - visibility: visible; - opacity: 0.2; - transition: opacity 0.3s; -} -.ant-tree-treenode:hover .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon { - opacity: 0.45; -} -.ant-tree .ant-tree-treenode-draggable.ant-tree-treenode-disabled .ant-tree-draggable-icon { - visibility: hidden; -} -.ant-tree-indent { - align-self: stretch; - white-space: nowrap; - user-select: none; -} -.ant-tree-indent-unit { - display: inline-block; - width: 24px; -} -.ant-tree-draggable-icon { - visibility: hidden; -} -.ant-tree-switcher { - position: relative; - flex: none; - align-self: stretch; - width: 24px; - margin: 0; - line-height: 24px; - text-align: center; - cursor: pointer; - user-select: none; -} -.ant-tree-switcher .ant-tree-switcher-icon, -.ant-tree-switcher .ant-select-tree-switcher-icon { - display: inline-block; - font-size: 10px; - vertical-align: baseline; -} -.ant-tree-switcher .ant-tree-switcher-icon svg, -.ant-tree-switcher .ant-select-tree-switcher-icon svg { - transition: transform 0.3s; -} -.ant-tree-switcher-noop { - cursor: default; -} -.ant-tree-switcher_close .ant-tree-switcher-icon svg { - transform: rotate(-90deg); -} -.ant-tree-switcher-loading-icon { - color: #1890ff; -} -.ant-tree-switcher-leaf-line { - position: relative; - z-index: 1; - display: inline-block; - width: 100%; - height: 100%; -} -.ant-tree-switcher-leaf-line::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - margin-left: -1px; - border-right: 1px solid #d9d9d9; - content: ' '; -} -.ant-tree-switcher-leaf-line::after { - position: absolute; - width: 10px; - height: 14px; - border-bottom: 1px solid #d9d9d9; - content: ' '; -} -.ant-tree-checkbox { - top: initial; - margin: 4px 8px 0 0; -} -.ant-tree .ant-tree-node-content-wrapper { - position: relative; - z-index: auto; - min-height: 24px; - margin: 0; - padding: 0 4px; - color: inherit; - line-height: 24px; - background: transparent; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s; -} -.ant-tree .ant-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { - background-color: #bae7ff; -} -.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle { - display: inline-block; - width: 24px; - height: 24px; - line-height: 24px; - text-align: center; - vertical-align: top; -} -.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty { - display: none; -} -.ant-tree-unselectable .ant-tree-node-content-wrapper:hover { - background-color: transparent; -} -.ant-tree-node-content-wrapper { - line-height: 24px; - user-select: none; -} -.ant-tree-node-content-wrapper .ant-tree-drop-indicator { - position: absolute; - z-index: 1; - height: 2px; - background-color: #1890ff; - border-radius: 1px; - pointer-events: none; -} -.ant-tree-node-content-wrapper .ant-tree-drop-indicator::after { - position: absolute; - top: -3px; - left: -6px; - width: 8px; - height: 8px; - background-color: transparent; - border: 2px solid #1890ff; - border-radius: 50%; - content: ''; -} -.ant-tree .ant-tree-treenode.drop-container > [draggable] { - box-shadow: 0 0 0 2px #1890ff; -} -.ant-tree-show-line .ant-tree-indent-unit { - position: relative; - height: 100%; -} -.ant-tree-show-line .ant-tree-indent-unit::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - border-right: 1px solid #d9d9d9; - content: ''; -} -.ant-tree-show-line .ant-tree-indent-unit-end::before { - display: none; -} -.ant-tree-show-line .ant-tree-switcher { - background: #fff; -} -.ant-tree-show-line .ant-tree-switcher-line-icon { - vertical-align: -0.15em; -} -.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before { - top: auto !important; - bottom: auto !important; - height: 14px !important; -} -.ant-tree-rtl { - direction: rtl; -} -.ant-tree-rtl .ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after { - right: -6px; - left: unset; -} -.ant-tree .ant-tree-treenode-rtl { - direction: rtl; -} -.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg { - transform: rotate(90deg); -} -.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before { - right: auto; - left: -13px; - border-right: none; - border-left: 1px solid #d9d9d9; -} -.ant-tree-rtl .ant-tree-checkbox { - margin: 4px 0 0 8px; -} -.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox { - margin: 4px 0 0 8px; -} -/* - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://github.com/ant-design-blazor/ng-zorro-antd/blob/master/LICENSE - */ -.font-highlight { - color: #ff4d4f; -} -.ant-tree-child-tree { - overflow: hidden; -} -.ant-tree-indent { - font-size: 0; -} -.ant-select-tree-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { - border-color: #1890ff; -} -.ant-select-tree-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-select-tree-checkbox:hover::after, -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after { - visibility: visible; -} -.ant-select-tree-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-select-tree-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-select-tree-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-select-tree-checkbox-disabled { - cursor: not-allowed; -} -.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-select-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-tree-checkbox-disabled:hover::after, -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after { - visibility: hidden; -} -.ant-select-tree-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-select-tree-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-select-tree-checkbox-wrapper + .ant-select-tree-checkbox-wrapper { - margin-left: 8px; -} -.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-select-tree-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-select-tree-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-select-tree-checkbox-group-item { - margin-right: 8px; -} -.ant-select-tree-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item { - margin-left: 0; -} -.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-select-tree-checkbox-rtl { - direction: rtl; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item { - margin-left: 8px; -} -.ant-tree-select-dropdown { - padding: 8px 4px; -} -.ant-tree-select-dropdown-rtl { - direction: rtl; -} -.ant-tree-select-dropdown .ant-select-tree { - border-radius: 0; -} -.ant-tree-select-dropdown .ant-select-tree-list-holder-inner { - align-items: stretch; -} -.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper { - flex: auto; -} -.ant-select-tree { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) { - background: #e6f7ff; -} -.ant-select-tree-list-holder-inner { - align-items: flex-start; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner { - align-items: stretch; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper { - flex: auto; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging { - position: relative; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging::after { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - border: 1px solid #1890ff; - opacity: 0; - animation: ant-tree-node-fx-do-not-use 0.3s; - animation-play-state: running; - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -.ant-select-tree .ant-select-tree-treenode { - display: flex; - align-items: flex-start; - padding: 0 0 4px 0; - outline: none; -} -.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper { - background: #f5f5f5; -} -.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title { - color: inherit; - font-weight: 500; -} -.ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon { - width: 24px; - line-height: 24px; - text-align: center; - visibility: visible; - opacity: 0.2; - transition: opacity 0.3s; -} -.ant-select-tree-treenode:hover .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon { - opacity: 0.45; -} -.ant-select-tree .ant-select-tree-treenode-draggable.ant-select-tree-treenode-disabled .ant-select-tree-draggable-icon { - visibility: hidden; -} -.ant-select-tree-indent { - align-self: stretch; - white-space: nowrap; - user-select: none; -} -.ant-select-tree-indent-unit { - display: inline-block; - width: 24px; -} -.ant-select-tree-draggable-icon { - visibility: hidden; -} -.ant-select-tree-switcher { - position: relative; - flex: none; - align-self: stretch; - width: 24px; - margin: 0; - line-height: 24px; - text-align: center; - cursor: pointer; - user-select: none; -} -.ant-select-tree-switcher .ant-tree-switcher-icon, -.ant-select-tree-switcher .ant-select-tree-switcher-icon { - display: inline-block; - font-size: 10px; - vertical-align: baseline; -} -.ant-select-tree-switcher .ant-tree-switcher-icon svg, -.ant-select-tree-switcher .ant-select-tree-switcher-icon svg { - transition: transform 0.3s; -} -.ant-select-tree-switcher-noop { - cursor: default; -} -.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg { - transform: rotate(-90deg); -} -.ant-select-tree-switcher-loading-icon { - color: #1890ff; -} -.ant-select-tree-switcher-leaf-line { - position: relative; - z-index: 1; - display: inline-block; - width: 100%; - height: 100%; -} -.ant-select-tree-switcher-leaf-line::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - margin-left: -1px; - border-right: 1px solid #d9d9d9; - content: ' '; -} -.ant-select-tree-switcher-leaf-line::after { - position: absolute; - width: 10px; - height: 14px; - border-bottom: 1px solid #d9d9d9; - content: ' '; -} -.ant-select-tree-checkbox { - top: initial; - margin: 4px 8px 0 0; -} -.ant-select-tree .ant-select-tree-node-content-wrapper { - position: relative; - z-index: auto; - min-height: 24px; - margin: 0; - padding: 0 4px; - color: inherit; - line-height: 24px; - background: transparent; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s; -} -.ant-select-tree .ant-select-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { - background-color: #bae7ff; -} -.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle { - display: inline-block; - width: 24px; - height: 24px; - line-height: 24px; - text-align: center; - vertical-align: top; -} -.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty { - display: none; -} -.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover { - background-color: transparent; -} -.ant-select-tree-node-content-wrapper { - line-height: 24px; - user-select: none; -} -.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator { - position: absolute; - z-index: 1; - height: 2px; - background-color: #1890ff; - border-radius: 1px; - pointer-events: none; -} -.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator::after { - position: absolute; - top: -3px; - left: -6px; - width: 8px; - height: 8px; - background-color: transparent; - border: 2px solid #1890ff; - border-radius: 50%; - content: ''; -} -.ant-select-tree .ant-select-tree-treenode.drop-container > [draggable] { - box-shadow: 0 0 0 2px #1890ff; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit { - position: relative; - height: 100%; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - border-right: 1px solid #d9d9d9; - content: ''; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before { - display: none; -} -.ant-select-tree-show-line .ant-select-tree-switcher { - background: #fff; -} -.ant-select-tree-show-line .ant-select-tree-switcher-line-icon { - vertical-align: -0.15em; -} -.ant-select-tree .ant-select-tree-treenode-leaf-last .ant-select-tree-switcher-leaf-line::before { - top: auto !important; - bottom: auto !important; - height: 14px !important; -} -.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg { - transform: rotate(90deg); -} -.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon { - transform: scaleY(-1); -} -.ant-tree.ant-select-tree.ant-tree-show-line antblazor-tree-node[builtin]:not(:last-child) > li::before { - content: ' '; - width: 1px; - border-left: 1px solid #d9d9d9; - height: calc(100% - 16px); - position: absolute; - left: 12px; - margin: 26px 0; -} -.ant-picker-calendar { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; -} -.ant-picker-calendar-header { - display: flex; - justify-content: flex-end; - padding: 12px 0; -} -.ant-picker-calendar-header .ant-picker-calendar-year-select { - min-width: 80px; -} -.ant-picker-calendar-header .ant-picker-calendar-month-select { - min-width: 70px; - margin-left: 8px; -} -.ant-picker-calendar-header .ant-picker-calendar-mode-switch { - margin-left: 8px; -} -.ant-picker-calendar .ant-picker-panel { - background: #fff; - border: 0; - border-top: 1px solid #f0f0f0; - border-radius: 0; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel, -.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel { - width: auto; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-body { - padding: 8px 0; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-content { - width: 100%; -} -.ant-picker-calendar-mini { - border-radius: 2px; -} -.ant-picker-calendar-mini .ant-picker-calendar-header { - padding-right: 8px; - padding-left: 8px; -} -.ant-picker-calendar-mini .ant-picker-panel { - border-radius: 0 0 2px 2px; -} -.ant-picker-calendar-mini .ant-picker-content { - height: 256px; -} -.ant-picker-calendar-mini .ant-picker-content th { - height: auto; - padding: 0; - line-height: 18px; -} -.ant-picker-calendar-mini .ant-picker-cell::before { - pointer-events: none; -} -.ant-picker-calendar-full .ant-picker-panel { - display: block; - width: 100%; - text-align: right; - background: #fff; - border: 0; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td { - padding: 0; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th { - height: auto; - padding: 0 12px 5px 0; - line-height: 18px; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before { - display: none; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date { - background: #f5f5f5; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before { - display: none; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today { - background: #e6f7ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value { - color: #1890ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date { - display: block; - width: auto; - height: auto; - margin: 0 4px; - padding: 4px 8px 0; - border: 0; - border-top: 2px solid #f0f0f0; - border-radius: 0; - transition: background 0.3s; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value { - line-height: 24px; - transition: color 0.3s; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content { - position: static; - width: auto; - height: 86px; - overflow-y: auto; - color: rgba(0, 0, 0, 0.85); - line-height: 1.5715; - text-align: left; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today { - border-color: #1890ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value { - color: rgba(0, 0, 0, 0.85); -} -@media only screen and (max-width: 480px) { - .ant-picker-calendar-header { - display: block; - } - .ant-picker-calendar-header .ant-picker-calendar-year-select { - width: 50%; - } - .ant-picker-calendar-header .ant-picker-calendar-month-select { - width: calc(50% - 8px); - } - .ant-picker-calendar-header .ant-picker-calendar-mode-switch { - width: 100%; - margin-top: 8px; - margin-left: 0; - } - .ant-picker-calendar-header .ant-picker-calendar-mode-switch > label { - width: 50%; - text-align: center; - } -} -.ant-picker-calendar-rtl { - direction: rtl; -} -.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel { - text-align: left; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th { - padding: 0 0 5px 12px; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content { - text-align: right; -} -.ant-result { - padding: 48px 32px; -} -.ant-result-success .ant-result-icon > .anticon { - color: #52c41a; -} -.ant-result-error .ant-result-icon > .anticon { - color: #ff4d4f; -} -.ant-result-info .ant-result-icon > .anticon { - color: #1890ff; -} -.ant-result-warning .ant-result-icon > .anticon { - color: #faad14; -} -.ant-result-image { - width: 250px; - height: 295px; - margin: auto; -} -.ant-result-icon { - margin-bottom: 24px; - text-align: center; -} -.ant-result-icon > .anticon { - font-size: 72px; -} -.ant-result-title { - color: rgba(0, 0, 0, 0.85); - font-size: 24px; - line-height: 1.8; - text-align: center; -} -.ant-result-subtitle { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.6; - text-align: center; -} -.ant-result-extra { - margin: 24px 0 0 0; - text-align: center; -} -.ant-result-extra > * { - margin-right: 8px; -} -.ant-result-extra > *:last-child { - margin-right: 0; -} -.ant-result-content { - margin-top: 24px; - padding: 24px 40px; - background-color: #fafafa; -} -.ant-result-rtl { - direction: rtl; -} -.ant-result-rtl .ant-result-extra > * { - margin-right: 0; - margin-left: 8px; -} -.ant-result-rtl .ant-result-extra > *:last-child { - margin-left: 0; -} -.ant-space { - display: inline-flex; -} -.ant-space-vertical { - flex-direction: column; -} -.ant-space-align-center { - align-items: center; -} -.ant-space-align-start { - align-items: flex-start; -} -.ant-space-align-end { - align-items: flex-end; -} -.ant-space-align-baseline { - align-items: baseline; -} -.ant-space-item:empty { - display: none; -} -.ant-space-compact { - display: inline-flex; -} -.ant-space-compact-block { - display: flex; - width: 100%; -} -.ant-space-compact-vertical { - flex-direction: column; -} -.ant-space-rtl { - direction: rtl; -} -.ant-space-compact-rtl { - direction: rtl; -} -.ant-image { - position: relative; - display: inline-block; -} -.ant-image-img { - width: 100%; - height: auto; - vertical-align: middle; -} -.ant-image-img-placeholder { - background-color: #f5f5f5; - background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4='); - background-repeat: no-repeat; - background-position: center center; - background-size: 30%; -} -.ant-image-mask { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: flex; - align-items: center; - justify-content: center; - color: #fff; - background: rgba(0, 0, 0, 0.5); - cursor: pointer; - opacity: 0; - transition: opacity 0.3s; -} -.ant-image-mask-info { - padding: 0 4px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-image-mask-info .anticon { - margin-inline-end: 4px; -} -.ant-image-mask:hover { - opacity: 1; -} -.ant-image-placeholder { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.ant-image-preview { - pointer-events: none; - height: 100%; - text-align: center; -} -.ant-image-preview.ant-zoom-enter, -.ant-image-preview.ant-zoom-appear { - transform: none; - opacity: 0; - animation-duration: 0.3s; - user-select: none; -} -.ant-image-preview-mask { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - height: 100%; - background-color: rgba(0, 0, 0, 0.45); -} -.ant-image-preview-mask-hidden { - display: none; -} -.ant-image-preview-wrap { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - outline: 0; -} -.ant-image-preview-body { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: hidden; -} -.ant-image-preview-img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; - transform: scale3d(1, 1, 1); - cursor: grab; - transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; - user-select: none; - pointer-events: auto; -} -.ant-image-preview-img-wrapper { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -} -.ant-image-preview-img-wrapper::before { - display: inline-block; - width: 1px; - height: 50%; - margin-right: -1px; - content: ''; -} -.ant-image-preview-moving .ant-image-preview-img { - cursor: grabbing; -} -.ant-image-preview-moving .ant-image-preview-img-wrapper { - transition-duration: 0s; -} -.ant-image-preview-wrap { - z-index: 1080; -} -.ant-image-preview-operations-wrapper { - position: fixed; - top: 0; - right: 0; - z-index: 1081; - width: 100%; -} -.ant-image-preview-operations { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - display: flex; - flex-direction: row-reverse; - align-items: center; - color: rgba(255, 255, 255, 0.85); - list-style: none; - background: rgba(0, 0, 0, 0.1); - pointer-events: auto; -} -.ant-image-preview-operations-operation { - margin-left: 12px; - padding: 12px; - cursor: pointer; - transition: all 0.3s; -} -.ant-image-preview-operations-operation:hover { - background: rgba(0, 0, 0, 0.2); -} -.ant-image-preview-operations-operation-disabled { - color: rgba(255, 255, 255, 0.25); - pointer-events: none; -} -.ant-image-preview-operations-operation:last-of-type { - margin-left: 0; -} -.ant-image-preview-operations-progress { - position: absolute; - left: 50%; - transform: translateX(-50%); -} -.ant-image-preview-operations-icon { - font-size: 18px; -} -.ant-image-preview-switch-left, -.ant-image-preview-switch-right { - position: fixed; - top: 50%; - right: 8px; - z-index: 1081; - display: flex; - align-items: center; - justify-content: center; - width: 44px; - height: 44px; - color: rgba(255, 255, 255, 0.85); - background: rgba(0, 0, 0, 0.1); - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - transition: all 0.3s; - pointer-events: auto; -} -.ant-image-preview-switch-left:hover, -.ant-image-preview-switch-right:hover { - background: rgba(0, 0, 0, 0.2); -} -.ant-image-preview-switch-left-disabled, -.ant-image-preview-switch-right-disabled, -.ant-image-preview-switch-left-disabled:hover, -.ant-image-preview-switch-right-disabled:hover { - color: rgba(255, 255, 255, 0.25); - background: rgba(0, 0, 0, 0.1); - cursor: not-allowed; -} -.ant-image-preview-switch-left-disabled > .anticon, -.ant-image-preview-switch-right-disabled > .anticon, -.ant-image-preview-switch-left-disabled:hover > .anticon, -.ant-image-preview-switch-right-disabled:hover > .anticon { - cursor: not-allowed; -} -.ant-image-preview-switch-left > .anticon, -.ant-image-preview-switch-right > .anticon { - font-size: 18px; -} -.ant-image-preview-switch-left { - left: 8px; -} -.ant-image-preview-switch-right { - right: 8px; -} -body:has(.ant-image-preview-open .ant-image-preview-mask) { - overflow: hidden; - padding-right: var(--ant-scrollbar-width); -} -.ant-flex { - display: flex; -} -.ant-flex-vertical { - flex-direction: column; -} -.ant-flex-rtl { - direction: rtl; -} -.ant-flex:empty { - display: none; -} -.ant-flex-gap-small { - gap: 8px; -} -.ant-flex-gap-middle { - gap: 16px; -} -.ant-flex-gap-large { - gap: 24px; -} - -html,body,#root,#app,#ApplicationContainer,app{height:100%}.colorWeak{filter:invert(80%)}.ant-layout{min-height:100vh}.ant-design-header-top{background-color:#001529}.ant-design-header-top-light{background-color:#fff}.ant-design-header-left{background-color:#fff;box-shadow:0 -2px 4px}.ant-design-header-left-light{background-color:#001529}.ant-design-body-content{margin:16px 50px}.ant-design-footer{text-align:center}.page-content{min-height:70vh;background:#fff;padding:24px;margin-top:8px}.ant-design-page-title{font-size:20px;font-weight:600;margin-top:8px}.ant-design-header-left .trigger{font-size:18px;line-height:64px;cursor:pointer;transition:color .3s}.ant-design-header-left .trigger:hover{color:#1890ff}.ant-design-header-left-light .trigger{color:#fff}.ant-design-side .ant-design-brand{font-size:18px;font-weight:600;display:flex;padding:16px 16px;cursor:pointer}.ant-design-side .ant-design-brand a{display:flex}.ant-design-side .ant-design-brand img{display:inline-block;height:40px}.ant-design-side .ant-design-brand h1{display:inline-block;color:#fff;margin:0 0 0 15px}.ant-layout-sider-light .ant-design-brand h1{color:#001529}.ant-design-header-top .ant-design-brand img{display:inline-block;height:35px}.ant-design-header-top .ant-design-brand{position:relative;float:left;min-width:170px}.ant-design-header-top .ant-design-brand h1{display:inline-block;color:#fff;margin:0 0 0 12px;font-weight:400;font-size:15px;vertical-align:top}.ant-design-header-top-light .ant-design-brand h1{color:#001529}.ant-design-header-top .ant-menu-root{margin-left:20px;float:left}.abp-application-layout .ant-menu-sub li{min-width:120px}.ant-design-header-left .nav-link{color:#001529}.ant-design-header-left-light .nav-link{color:#fff}.ant-design-header-top .nav-link{color:#fff}.ant-design-header-top-light .nav-link{color:#001529}.ant-dropdown-link{margin-right:20px}.ant-design-header-left .ant-dropdown-link{color:#001529}.ant-design-header-top .ant-dropdown-trigger{color:#fff}.ant-design-header-top-light .ant-dropdown-trigger{color:#001529}.ant-design-header-top-light .ant-dropdown-trigger{color:#001529}.ant-design-header-left-light .ant-dropdown-trigger{color:#fff} diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js b/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js deleted file mode 100644 index 5ae7a22..0000000 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/global.js +++ /dev/null @@ -1,59 +0,0 @@ -!function(){"use strict";var e;let t;var n,r;!function(e){const t=[],n="__jsObjectId",r="__dotNetObject",o="__byte[]",i="__dotNetStream",s="__jsStreamReferenceLength";let a,c;class l{constructor(e){this._jsObject=e,this._cachedFunctions=new Map}findFunction(e){const t=this._cachedFunctions.get(e);if(t)return t;let n,r=this._jsObject;if(e.split(".").forEach((t=>{if(!(t in r))throw new Error(`Could not find '${e}' ('${t}' was undefined).`);n=r,r=r[t]})),r instanceof Function)return r=r.bind(n),this._cachedFunctions.set(e,r),r;throw new Error(`The value '${e}' is not a function.`)}getWrappedObject(){return this._jsObject}}const u=0,d={[u]:new l(window)};d[0]._cachedFunctions.set("import",(e=>("string"==typeof e&&e.startsWith("./")&&(e=new URL(e.substr(2),document.baseURI).toString()),import(e))));let f,m=1;function h(e){t.push(e)}function p(e){if(e&&"object"==typeof e){d[m]=new l(e);const t={[n]:m};return m++,t}throw new Error(`Cannot create a JSObjectReference from the value '${e}'.`)}function g(e){let t=-1;if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Blob)t=e.size;else{if(!(e.buffer instanceof ArrayBuffer))throw new Error("Supplied value is not a typed array or blob.");if(void 0===e.byteLength)throw new Error(`Cannot create a JSStreamReference from the value '${e}' as it doesn't have a byteLength.`);t=e.byteLength}const r={[s]:t};try{const t=p(e);r[n]=t[n]}catch(t){throw new Error(`Cannot create a JSStreamReference from the value '${e}'.`)}return r}function b(e,n){c=e;const r=n?JSON.parse(n,((e,n)=>t.reduce(((t,n)=>n(e,t)),n))):null;return c=void 0,r}function y(){if(void 0===a)throw new Error("No call dispatcher has been set.");if(null===a)throw new Error("There are multiple .NET runtimes present, so a default dispatcher could not be resolved. Use DotNetObject to invoke .NET instance methods.");return a}e.attachDispatcher=function(e){const t=new v(e);return void 0===a?a=t:a&&(a=null),t},e.attachReviver=h,e.invokeMethod=function(e,t,...n){return y().invokeDotNetStaticMethod(e,t,...n)},e.invokeMethodAsync=function(e,t,...n){return y().invokeDotNetStaticMethodAsync(e,t,...n)},e.createJSObjectReference=p,e.createJSStreamReference=g,e.disposeJSObjectReference=function(e){const t=e&&e[n];"number"==typeof t&&S(t)},function(e){e[e.Default=0]="Default",e[e.JSObjectReference=1]="JSObjectReference",e[e.JSStreamReference=2]="JSStreamReference",e[e.JSVoidResult=3]="JSVoidResult"}(f=e.JSCallResultType||(e.JSCallResultType={}));class v{constructor(e){this._dotNetCallDispatcher=e,this._byteArraysToBeRevived=new Map,this._pendingDotNetToJSStreams=new Map,this._pendingAsyncCalls={},this._nextAsyncCallId=1}getDotNetCallDispatcher(){return this._dotNetCallDispatcher}invokeJSFromDotNet(e,t,n,r){const o=b(this,t),i=N(E(e,r)(...o||[]),n);return null==i?null:k(this,i)}beginInvokeJSFromDotNet(e,t,n,r,o){const i=new Promise((e=>{const r=b(this,n);e(E(t,o)(...r||[]))}));e&&i.then((t=>k(this,[e,!0,N(t,r)]))).then((t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!0,t)),(t=>this._dotNetCallDispatcher.endInvokeJSFromDotNet(e,!1,JSON.stringify([e,!1,w(t)]))))}endInvokeDotNetFromJS(e,t,n){const r=t?b(this,n):new Error(n);this.completePendingCall(parseInt(e,10),t,r)}invokeDotNetStaticMethod(e,t,...n){return this.invokeDotNetMethod(e,t,null,n)}invokeDotNetStaticMethodAsync(e,t,...n){return this.invokeDotNetMethodAsync(e,t,null,n)}invokeDotNetMethod(e,t,n,r){if(this._dotNetCallDispatcher.invokeDotNetFromJS){const o=k(this,r),i=this._dotNetCallDispatcher.invokeDotNetFromJS(e,t,n,o);return i?b(this,i):null}throw new Error("The current dispatcher does not support synchronous calls from JS to .NET. Use invokeDotNetMethodAsync instead.")}invokeDotNetMethodAsync(e,t,n,r){if(e&&n)throw new Error(`For instance method calls, assemblyName should be null. Received '${e}'.`);const o=this._nextAsyncCallId++,i=new Promise(((e,t)=>{this._pendingAsyncCalls[o]={resolve:e,reject:t}}));try{const i=k(this,r);this._dotNetCallDispatcher.beginInvokeDotNetFromJS(o,e,t,n,i)}catch(e){this.completePendingCall(o,!1,e)}return i}receiveByteArray(e,t){this._byteArraysToBeRevived.set(e,t)}processByteArray(e){const t=this._byteArraysToBeRevived.get(e);return t?(this._byteArraysToBeRevived.delete(e),t):null}supplyDotNetStream(e,t){if(this._pendingDotNetToJSStreams.has(e)){const n=this._pendingDotNetToJSStreams.get(e);this._pendingDotNetToJSStreams.delete(e),n.resolve(t)}else{const n=new I;n.resolve(t),this._pendingDotNetToJSStreams.set(e,n)}}getDotNetStreamPromise(e){let t;if(this._pendingDotNetToJSStreams.has(e))t=this._pendingDotNetToJSStreams.get(e).streamPromise,this._pendingDotNetToJSStreams.delete(e);else{const n=new I;this._pendingDotNetToJSStreams.set(e,n),t=n.streamPromise}return t}completePendingCall(e,t,n){if(!this._pendingAsyncCalls.hasOwnProperty(e))throw new Error(`There is no pending async call with ID ${e}.`);const r=this._pendingAsyncCalls[e];delete this._pendingAsyncCalls[e],t?r.resolve(n):r.reject(n)}}function w(e){return e instanceof Error?`${e.message}\n${e.stack}`:e?e.toString():"null"}function E(e,t){const n=d[t];if(n)return n.findFunction(e);throw new Error(`JS object instance with ID ${t} does not exist (has it been disposed?).`)}function S(e){delete d[e]}e.findJSFunction=E,e.disposeJSObjectReferenceById=S;class C{constructor(e,t){this._id=e,this._callDispatcher=t}invokeMethod(e,...t){return this._callDispatcher.invokeDotNetMethod(null,e,this._id,t)}invokeMethodAsync(e,...t){return this._callDispatcher.invokeDotNetMethodAsync(null,e,this._id,t)}dispose(){this._callDispatcher.invokeDotNetMethodAsync(null,"__Dispose",this._id,null).catch((e=>console.error(e)))}serializeAsArg(){return{[r]:this._id}}}e.DotNetObject=C,h((function(e,t){if(t&&"object"==typeof t){if(t.hasOwnProperty(r))return new C(t[r],c);if(t.hasOwnProperty(n)){const e=t[n],r=d[e];if(r)return r.getWrappedObject();throw new Error(`JS object instance with Id '${e}' does not exist. It may have been disposed.`)}if(t.hasOwnProperty(o)){const e=t[o],n=c.processByteArray(e);if(void 0===n)throw new Error(`Byte array index '${e}' does not exist.`);return n}if(t.hasOwnProperty(i)){const e=t[i],n=c.getDotNetStreamPromise(e);return new A(n)}}return t}));class A{constructor(e){this._streamPromise=e}stream(){return this._streamPromise}async arrayBuffer(){return new Response(await this.stream()).arrayBuffer()}}class I{constructor(){this.streamPromise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function N(e,t){switch(t){case f.Default:return e;case f.JSObjectReference:return p(e);case f.JSStreamReference:return g(e);case f.JSVoidResult:return null;default:throw new Error(`Invalid JS call result type '${t}'.`)}}let R=0;function k(e,t){R=0,c=e;const n=JSON.stringify(t,D);return c=void 0,n}function D(e,t){if(t instanceof C)return t.serializeAsArg();if(t instanceof Uint8Array){c.getDotNetCallDispatcher().sendByteArray(R,t);const e={[o]:R};return R++,e}return t}}(e||(e={})),function(e){e[e.prependFrame=1]="prependFrame",e[e.removeFrame=2]="removeFrame",e[e.setAttribute=3]="setAttribute",e[e.removeAttribute=4]="removeAttribute",e[e.updateText=5]="updateText",e[e.stepIn=6]="stepIn",e[e.stepOut=7]="stepOut",e[e.updateMarkup=8]="updateMarkup",e[e.permutationListEntry=9]="permutationListEntry",e[e.permutationListEnd=10]="permutationListEnd"}(n||(n={})),function(e){e[e.element=1]="element",e[e.text=2]="text",e[e.attribute=3]="attribute",e[e.component=4]="component",e[e.region=5]="region",e[e.elementReferenceCapture=6]="elementReferenceCapture",e[e.markup=8]="markup",e[e.namedEvent=10]="namedEvent"}(r||(r={}));class o{constructor(e,t){this.componentId=e,this.fieldValue=t}static fromEvent(e,t){const n=t.target;if(n instanceof Element){const t=function(e){return e instanceof HTMLInputElement?e.type&&"checkbox"===e.type.toLowerCase()?{value:e.checked}:{value:e.value}:e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement?{value:e.value}:null}(n);if(t)return new o(e,t.value)}return null}}const i=new Map,s=new Map,a=[];function c(e){return i.get(e)}function l(e){const t=i.get(e);return t?.browserEventName||e}function u(e,t){e.forEach((e=>i.set(e,t)))}function d(e){const t=[];for(let n=0;ne.selected)).map((e=>e.value))}}{const e=function(e){return!!e&&"INPUT"===e.tagName&&"checkbox"===e.getAttribute("type")}(t);return{value:e?!!t.checked:t.value}}}}),u(["copy","cut","paste"],{createEventArgs:e=>({type:e.type})}),u(["drag","dragend","dragenter","dragleave","dragover","dragstart","drop"],{createEventArgs:e=>{return{...f(t=e),dataTransfer:t.dataTransfer?{dropEffect:t.dataTransfer.dropEffect,effectAllowed:t.dataTransfer.effectAllowed,files:Array.from(t.dataTransfer.files).map((e=>e.name)),items:Array.from(t.dataTransfer.items).map((e=>({kind:e.kind,type:e.type}))),types:t.dataTransfer.types}:null};var t}}),u(["focus","blur","focusin","focusout"],{createEventArgs:e=>({type:e.type})}),u(["keydown","keyup","keypress"],{createEventArgs:e=>{return{key:(t=e).key,code:t.code,location:t.location,repeat:t.repeat,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type,isComposing:t.isComposing};var t}}),u(["contextmenu","click","mouseover","mouseout","mousemove","mousedown","mouseup","mouseleave","mouseenter","dblclick"],{createEventArgs:e=>f(e)}),u(["error"],{createEventArgs:e=>{return{message:(t=e).message,filename:t.filename,lineno:t.lineno,colno:t.colno,type:t.type};var t}}),u(["loadstart","timeout","abort","load","loadend","progress"],{createEventArgs:e=>{return{lengthComputable:(t=e).lengthComputable,loaded:t.loaded,total:t.total,type:t.type};var t}}),u(["touchcancel","touchend","touchmove","touchenter","touchleave","touchstart"],{createEventArgs:e=>{return{detail:(t=e).detail,touches:d(t.touches),targetTouches:d(t.targetTouches),changedTouches:d(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,type:t.type};var t}}),u(["gotpointercapture","lostpointercapture","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerup"],{createEventArgs:e=>{return{...f(t=e),pointerId:t.pointerId,width:t.width,height:t.height,pressure:t.pressure,tiltX:t.tiltX,tiltY:t.tiltY,pointerType:t.pointerType,isPrimary:t.isPrimary};var t}}),u(["wheel","mousewheel"],{createEventArgs:e=>{return{...f(t=e),deltaX:t.deltaX,deltaY:t.deltaY,deltaZ:t.deltaZ,deltaMode:t.deltaMode};var t}}),u(["cancel","close","toggle"],{createEventArgs:()=>({})});const m=["date","datetime-local","month","time","week"],h=new Map;let p,g,b=0;const y={async add(e,t,n){if(!n)throw new Error("initialParameters must be an object, even if empty.");const r="__bl-dynamic-root:"+(++b).toString();h.set(r,e);const o=await E().invokeMethodAsync("AddRootComponent",t,r),i=new w(o,g[t]);return await i.setParameters(n),i}};class v{invoke(e){return this._callback(e)}setCallback(t){this._selfJSObjectReference||(this._selfJSObjectReference=e.createJSObjectReference(this)),this._callback=t}getJSObjectReference(){return this._selfJSObjectReference}dispose(){this._selfJSObjectReference&&e.disposeJSObjectReference(this._selfJSObjectReference)}}class w{constructor(e,t){this._jsEventCallbackWrappers=new Map,this._componentId=e;for(const e of t)"eventcallback"===e.type&&this._jsEventCallbackWrappers.set(e.name.toLowerCase(),new v)}setParameters(e){const t={},n=Object.entries(e||{}),r=n.length;for(const[e,r]of n){const n=this._jsEventCallbackWrappers.get(e.toLowerCase());n&&r?(n.setCallback(r),t[e]=n.getJSObjectReference()):t[e]=r}return E().invokeMethodAsync("SetRootComponentParameters",this._componentId,r,t)}async dispose(){if(null!==this._componentId){await E().invokeMethodAsync("RemoveRootComponent",this._componentId),this._componentId=null;for(const e of this._jsEventCallbackWrappers.values())e.dispose()}}}function E(){if(!p)throw new Error("Dynamic root components have not been enabled in this application.");return p}const S=new Map,C=[],A=new Map;function I(e,t,n){return R(e,t.eventHandlerId,(()=>N(e).invokeMethodAsync("DispatchEventAsync",t,n)))}function N(e){const t=S.get(e);if(!t)throw new Error(`No interop methods are registered for renderer ${e}`);return t}let R=(e,t,n)=>n();const k=O(["abort","blur","cancel","canplay","canplaythrough","change","close","cuechange","durationchange","emptied","ended","error","focus","load","loadeddata","loadedmetadata","loadend","loadstart","mouseenter","mouseleave","pointerenter","pointerleave","pause","play","playing","progress","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","toggle","unload","volumechange","waiting","DOMNodeInsertedIntoDocument","DOMNodeRemovedFromDocument"]),D={submit:!0},_=O(["click","dblclick","mousedown","mousemove","mouseup"]);class T{static{this.nextEventDelegatorId=0}constructor(e){this.browserRendererId=e,this.afterClickCallbacks=[];const t=++T.nextEventDelegatorId;this.eventsCollectionKey=`_blazorEvents_${t}`,this.eventInfoStore=new F(this.onGlobalEvent.bind(this))}setListener(e,t,n,r){const o=this.getEventHandlerInfosForElement(e,!0),i=o.getHandler(t);if(i)this.eventInfoStore.update(i.eventHandlerId,n);else{const i={element:e,eventName:t,eventHandlerId:n,renderingComponentId:r};this.eventInfoStore.add(i),o.setHandler(t,i)}}getHandler(e){return this.eventInfoStore.get(e)}removeListener(e){const t=this.eventInfoStore.remove(e);if(t){const e=t.element,n=this.getEventHandlerInfosForElement(e,!1);n&&n.removeHandler(t.eventName)}}notifyAfterClick(e){this.afterClickCallbacks.push(e),this.eventInfoStore.addGlobalListener("click")}setStopPropagation(e,t,n){this.getEventHandlerInfosForElement(e,!0).stopPropagation(t,n)}setPreventDefault(e,t,n){this.getEventHandlerInfosForElement(e,!0).preventDefault(t,n)}onGlobalEvent(e){if(!(e.target instanceof Element))return;this.dispatchGlobalEventToAllElements(e.type,e);const t=(n=e.type,s.get(n));var n;t&&t.forEach((t=>this.dispatchGlobalEventToAllElements(t,e))),"click"===e.type&&this.afterClickCallbacks.forEach((t=>t(e)))}dispatchGlobalEventToAllElements(e,t){const n=t.composedPath();let r=n.shift(),i=null,s=!1;const a=Object.prototype.hasOwnProperty.call(k,e);let l=!1;for(;r;){const f=r,m=this.getEventHandlerInfosForElement(f,!1);if(m){const n=m.getHandler(e);if(n&&(u=f,d=t.type,!((u instanceof HTMLButtonElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement)&&Object.prototype.hasOwnProperty.call(_,d)&&u.disabled))){if(!s){const n=c(e);i=n?.createEventArgs?n.createEventArgs(t):{},s=!0}Object.prototype.hasOwnProperty.call(D,t.type)&&t.preventDefault(),I(this.browserRendererId,{eventHandlerId:n.eventHandlerId,eventName:e,eventFieldInfo:o.fromEvent(n.renderingComponentId,t)},i)}m.stopPropagation(e)&&(l=!0),m.preventDefault(e)&&t.preventDefault()}r=a||l?void 0:n.shift()}var u,d}getEventHandlerInfosForElement(e,t){return Object.prototype.hasOwnProperty.call(e,this.eventsCollectionKey)?e[this.eventsCollectionKey]:t?e[this.eventsCollectionKey]=new L:null}}class F{constructor(e){this.globalListener=e,this.infosByEventHandlerId={},this.countByEventName={},a.push(this.handleEventNameAliasAdded.bind(this))}add(e){if(this.infosByEventHandlerId[e.eventHandlerId])throw new Error(`Event ${e.eventHandlerId} is already tracked`);this.infosByEventHandlerId[e.eventHandlerId]=e,this.addGlobalListener(e.eventName)}get(e){return this.infosByEventHandlerId[e]}addGlobalListener(e){if(e=l(e),Object.prototype.hasOwnProperty.call(this.countByEventName,e))this.countByEventName[e]++;else{this.countByEventName[e]=1;const t=Object.prototype.hasOwnProperty.call(k,e);document.addEventListener(e,this.globalListener,t)}}update(e,t){if(Object.prototype.hasOwnProperty.call(this.infosByEventHandlerId,t))throw new Error(`Event ${t} is already tracked`);const n=this.infosByEventHandlerId[e];delete this.infosByEventHandlerId[e],n.eventHandlerId=t,this.infosByEventHandlerId[t]=n}remove(e){const t=this.infosByEventHandlerId[e];if(t){delete this.infosByEventHandlerId[e];const n=l(t.eventName);0==--this.countByEventName[n]&&(delete this.countByEventName[n],document.removeEventListener(n,this.globalListener))}return t}handleEventNameAliasAdded(e,t){if(Object.prototype.hasOwnProperty.call(this.countByEventName,e)){const n=this.countByEventName[e];delete this.countByEventName[e],document.removeEventListener(e,this.globalListener),this.addGlobalListener(t),this.countByEventName[t]+=n-1}}}class L{constructor(){this.handlers={},this.preventDefaultFlags=null,this.stopPropagationFlags=null}getHandler(e){return Object.prototype.hasOwnProperty.call(this.handlers,e)?this.handlers[e]:null}setHandler(e,t){this.handlers[e]=t}removeHandler(e){delete this.handlers[e]}preventDefault(e,t){return void 0!==t&&(this.preventDefaultFlags=this.preventDefaultFlags||{},this.preventDefaultFlags[e]=t),!!this.preventDefaultFlags&&this.preventDefaultFlags[e]}stopPropagation(e,t){return void 0!==t&&(this.stopPropagationFlags=this.stopPropagationFlags||{},this.stopPropagationFlags[e]=t),!!this.stopPropagationFlags&&this.stopPropagationFlags[e]}}function O(e){const t={};return e.forEach((e=>{t[e]=!0})),t}const M=Symbol(),x=Symbol(),P=Symbol();function B(e,t){if(M in e)return e;const n=[];if(e.childNodes.length>0){if(!t)throw new Error("New logical elements must start empty, or allowExistingContents must be true");e.childNodes.forEach((t=>{const r=B(t,!0);r[x]=e,n.push(r)}))}return e[M]=n,e}function j(e){const t=K(e);for(;t.length;)z(e,0)}function H(e,t){const n=document.createComment("!");return J(n,e,t),n}function J(e,t,n){const r=e;let o=e;if(e instanceof Comment){const t=K(r);if(t?.length>0){const t=G(r),n=new Range;n.setStartBefore(e),n.setEndAfter(t),o=n.extractContents()}}const i=$(r);if(i){const e=K(i),t=Array.prototype.indexOf.call(e,r);e.splice(t,1),delete r[x]}const s=K(t);if(n0;)z(n,0)}const r=n;r.parentNode.removeChild(r)}function $(e){return e[x]||null}function W(e,t){return K(e)[t]}function U(e){const t=Y(e);return"http://www.w3.org/2000/svg"===t.namespaceURI&&"foreignObject"!==t.tagName}function K(e){return e[M]}function V(e){const t=K($(e));return t[Array.prototype.indexOf.call(t,e)+1]||null}function X(e,t){const n=K(e);t.forEach((e=>{e.moveRangeStart=n[e.fromSiblingIndex],e.moveRangeEnd=G(e.moveRangeStart)})),t.forEach((t=>{const r=document.createComment("marker");t.moveToBeforeMarker=r;const o=n[t.toSiblingIndex+1];o?o.parentNode.insertBefore(r,o):q(r,e)})),t.forEach((e=>{const t=e.moveToBeforeMarker,n=t.parentNode,r=e.moveRangeStart,o=e.moveRangeEnd;let i=r;for(;i;){const e=i.nextSibling;if(n.insertBefore(i,t),i===o)break;i=e}n.removeChild(t)})),t.forEach((e=>{n[e.toSiblingIndex]=e.moveRangeStart}))}function Y(e){if(e instanceof Element||e instanceof DocumentFragment)return e;if(e instanceof Comment)return e.parentNode;throw new Error("Not a valid logical element")}function q(e,t){if(t instanceof Element||t instanceof DocumentFragment)t.appendChild(e);else{if(!(t instanceof Comment))throw new Error(`Cannot append node because the parent is not a valid logical element. Parent: ${t}`);{const n=V(t);n?n.parentNode.insertBefore(e,n):q(e,$(t))}}}function G(e){if(e instanceof Element||e instanceof DocumentFragment)return e;const t=V(e);if(t)return t.previousSibling;{const t=$(e);return t instanceof Element||t instanceof DocumentFragment?t.lastChild:G(t)}}function Z(e){return`_bl_${e}`}const Q="__internalId";e.attachReviver(((e,t)=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,Q)&&"string"==typeof t[Q]?function(e){const t=`[${Z(e)}]`;return document.querySelector(t)}(t[Q]):t));const ee="_blazorDeferredValue";function te(e){return"select-multiple"===e.type}function ne(e,t){e.value=t||""}function re(e,t){e instanceof HTMLSelectElement?te(e)?function(e,t){t||=[];for(let n=0;n{Se()&&function(e){if(0!==e.button||function(e){return e.ctrlKey||e.shiftKey||e.altKey||e.metaKey}(e))return;if(e.defaultPrevented)return;const t=function(e){const t=e.composedPath&&e.composedPath();if(t)for(let e=0;e{const t=document.createElement("script");t.textContent=e.textContent,e.getAttributeNames().forEach((n=>{t.setAttribute(n,e.getAttribute(n))})),e.parentNode.replaceChild(t,e)})),ie.content));var s;let a=0;for(;i.firstChild;)J(i.firstChild,o,a++)}applyAttribute(e,t,n,r){const o=e.frameReader,i=o.attributeName(r),s=o.attributeEventHandlerId(r);if(s){const e=me(i);return void this.eventDelegator.setListener(n,e,s,t)}const a=o.attributeValue(r);this.setOrRemoveAttributeOrProperty(n,i,a)}insertFrameRange(e,t,n,r,o,i,s){const a=r;for(let a=i;adocument.baseURI,getLocationHref:()=>location.href,scrollToElement:we};function Te(e,t,n=!1){const r=Ee(e);!t.forceLoad&&ve(r)?He()?Fe(r,!1,t.replaceHistoryEntry,t.historyEntryState,n):function(){throw new Error("No enhanced programmatic navigation handler has been attached")}():function(e,t){if(location.href===e){const t=e+"?";history.replaceState(null,"",t),location.replace(e)}else t?location.replace(e):location.href=e}(e,t.replaceHistoryEntry)}async function Fe(e,t,n,r=void 0,o=!1){if(Me(),function(e){const t=new URL(e);return""!==t.hash&&location.origin===t.origin&&location.pathname===t.pathname&&location.search===t.search}(e))return Le(e,n,r),void function(e){const t=e.indexOf("#");t!==e.length-1&&we(e.substring(t+1))}(e);const i=je();(o||!i?.hasLocationChangingEventListeners||await xe(e,r,t,i))&&(be=!0,Le(e,n,r),await Pe(t))}function Le(e,t,n=void 0){t?history.replaceState({userState:n,_index:Ie},"",e):(Ie++,history.pushState({userState:n,_index:Ie},"",e))}function Oe(e){return new Promise((t=>{const n=ke;ke=()=>{ke=n,t()},history.go(e)}))}function Me(){De&&(De(!1),De=null)}function xe(e,t,n,r){return new Promise((o=>{Me(),Ne++,De=o,r.locationChanging(Ne,e,t,n)}))}async function Pe(e,t){const n=location.href;await Promise.all(Array.from(Re,(async([t,r])=>{var o;o=t,S.has(o)&&await r.locationChanged(n,history.state?.userState,e)})))}async function Be(e){ke&&He()&&await ke(e),Ie=history.state?._index??0}function je(){const e=Ce();if(void 0!==e)return Re.get(e)}function He(){return Se()||!0}const Je={focus:function(e,t){if(e instanceof HTMLElement)e.focus({preventScroll:t});else{if(!(e instanceof SVGElement))throw new Error("Unable to focus an invalid element.");if(!e.hasAttribute("tabindex"))throw new Error("Unable to focus an SVG element that does not have a tabindex.");e.focus({preventScroll:t})}},focusBySelector:function(e){const t=document.querySelector(e);t&&(t.hasAttribute("tabindex")||(t.tabIndex=-1),t.focus({preventScroll:!0}))}},ze={init:function(e,t,n,r=50){const o=We(t);(o||document.documentElement).style.overflowAnchor="none";const i=document.createRange();f(n.parentElement)&&(t.style.display="table-row",n.style.display="table-row");const s=new IntersectionObserver((function(r){r.forEach((r=>{if(!r.isIntersecting)return;i.setStartAfter(t),i.setEndBefore(n);const o=i.getBoundingClientRect().height,s=r.rootBounds?.height;r.target===t?e.invokeMethodAsync("OnSpacerBeforeVisible",r.intersectionRect.top-r.boundingClientRect.top,o,s):r.target===n&&n.offsetHeight>0&&e.invokeMethodAsync("OnSpacerAfterVisible",r.boundingClientRect.bottom-r.intersectionRect.bottom,o,s)}))}),{root:o,rootMargin:`${r}px`});s.observe(t),s.observe(n);const a=d(t),c=d(n),{observersByDotNetObjectId:l,id:u}=Ue(e);function d(e){const t={attributes:!0},n=new MutationObserver(((n,r)=>{f(e.parentElement)&&(r.disconnect(),e.style.display="table-row",r.observe(e,t)),s.unobserve(e),s.observe(e)}));return n.observe(e,t),n}function f(e){return null!==e&&(e instanceof HTMLTableElement&&""===e.style.display||"table"===e.style.display||e instanceof HTMLTableSectionElement&&""===e.style.display||"table-row-group"===e.style.display)}l[u]={intersectionObserver:s,mutationObserverBefore:a,mutationObserverAfter:c}},dispose:function(e){const{observersByDotNetObjectId:t,id:n}=Ue(e),r=t[n];r&&(r.intersectionObserver.disconnect(),r.mutationObserverBefore.disconnect(),r.mutationObserverAfter.disconnect(),e.dispose(),delete t[n])}},$e=Symbol();function We(e){return e&&e!==document.body&&e!==document.documentElement?"visible"!==getComputedStyle(e).overflowY?e:We(e.parentElement):null}function Ue(e){const t=e._callDispatcher,n=e._id;return t[$e]??={},{observersByDotNetObjectId:t[$e],id:n}}const Ke={getAndRemoveExistingTitle:function(){const e=document.head?document.head.getElementsByTagName("title"):[];if(0===e.length)return null;let t=null;for(let n=e.length-1;n>=0;n--){const r=e[n],o=r.previousSibling;o instanceof Comment&&null!==$(o)||(null===t&&(t=r.textContent),r.parentNode?.removeChild(r))}return t}},Ve={init:function(e,t){t._blazorInputFileNextFileId=0,t.addEventListener("click",(function(){t.value=""})),t.addEventListener("change",(function(){t._blazorFilesById={};const n=Array.prototype.map.call(t.files,(function(e){const n={id:++t._blazorInputFileNextFileId,lastModified:new Date(e.lastModified).toISOString(),name:e.name,size:e.size,contentType:e.type,readPromise:void 0,arrayBuffer:void 0,blob:e};return t._blazorFilesById[n.id]=n,n}));e.invokeMethodAsync("NotifyChange",n)}))},toImageFile:async function(e,t,n,r,o){const i=Xe(e,t),s=await new Promise((function(e){const t=new Image;t.onload=function(){URL.revokeObjectURL(t.src),e(t)},t.onerror=function(){t.onerror=null,URL.revokeObjectURL(t.src)},t.src=URL.createObjectURL(i.blob)})),a=await new Promise((function(e){const t=Math.min(1,r/s.width),i=Math.min(1,o/s.height),a=Math.min(t,i),c=document.createElement("canvas");c.width=Math.round(s.width*a),c.height=Math.round(s.height*a),c.getContext("2d")?.drawImage(s,0,0,c.width,c.height),c.toBlob(e,n)})),c={id:++e._blazorInputFileNextFileId,lastModified:i.lastModified,name:i.name,size:a?.size||0,contentType:n,blob:a||i.blob};return e._blazorFilesById[c.id]=c,c},readFileData:async function(e,t){return Xe(e,t).blob}};function Xe(e,t){const n=e._blazorFilesById[t];if(!n)throw new Error(`There is no file with ID ${t}. The file list may have changed. See https://aka.ms/aspnet/blazor-input-file-multiple-selections.`);return n}const Ye=new Set,qe={enableNavigationPrompt:function(e){0===Ye.size&&window.addEventListener("beforeunload",Ge),Ye.add(e)},disableNavigationPrompt:function(e){Ye.delete(e),0===Ye.size&&window.removeEventListener("beforeunload",Ge)}};function Ge(e){e.preventDefault(),e.returnValue=!0}const Ze=new Map,Qe={navigateTo:function(e,t,n=!1){Te(e,t instanceof Object?t:{forceLoad:t,replaceHistoryEntry:n})},registerCustomEventType:function(e,t){if(!t)throw new Error("The options parameter is required.");if(i.has(e))throw new Error(`The event '${e}' is already registered.`);if(t.browserEventName){const n=s.get(t.browserEventName);n?n.push(e):s.set(t.browserEventName,[e]),a.forEach((n=>n(e,t.browserEventName)))}i.set(e,t)},rootComponents:y,runtime:{},_internal:{navigationManager:_e,domWrapper:Je,Virtualize:ze,PageTitle:Ke,InputFile:Ve,NavigationLock:qe,getJSDataStreamChunk:async function(e,t,n){return e instanceof Blob?await async function(e,t,n){const r=e.slice(t,t+n),o=await r.arrayBuffer();return new Uint8Array(o)}(e,t,n):function(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n)}(e,t,n)},attachWebRendererInterop:function(t,n,r,o){if(S.has(t))throw new Error(`Interop methods are already registered for renderer ${t}`);S.set(t,n),r&&o&&Object.keys(r).length>0&&function(t,n,r){if(p)throw new Error("Dynamic root components have already been enabled.");p=t,g=n;for(const[t,o]of Object.entries(r)){const r=e.findJSFunction(t,0);for(const e of o)r(e,n[e])}}(N(t),r,o),A.get(t)?.[0]?.(),function(e){for(const t of C)t(e)}(t)}}};window.Blazor=Qe;const et=navigator,tt=et.userAgentData&&et.userAgentData.brands,nt=tt&&tt.length>0?tt.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):window.chrome,rt=et.userAgentData?.platform??navigator.platform;function ot(e){return 0!==e.debugLevel&&(nt||navigator.userAgent.includes("Firefox"))}let it=!1;function st(){const e=document.querySelector("#blazor-error-ui");e&&(e.style.display="block"),it||(it=!0,document.querySelectorAll("#blazor-error-ui .reload").forEach((e=>{e.onclick=function(e){location.reload(),e.preventDefault()}})),document.querySelectorAll("#blazor-error-ui .dismiss").forEach((e=>{e.onclick=function(e){const t=document.querySelector("#blazor-error-ui");t&&(t.style.display="none"),e.preventDefault()}})))}var at,ct;!function(e){e[e.Default=0]="Default",e[e.Server=1]="Server",e[e.WebAssembly=2]="WebAssembly",e[e.WebView=3]="WebView"}(at||(at={})),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(ct||(ct={}));class lt{constructor(e=!0,t,n,r=0){this.singleRuntime=e,this.logger=t,this.webRendererId=r,this.afterStartedCallbacks=[],n&&this.afterStartedCallbacks.push(...n)}async importInitializersAsync(e,t){await Promise.all(e.map((e=>async function(e,n){const r=function(e){const t=document.baseURI;return t.endsWith("/")?`${t}${e}`:`${t}/${e}`}(n),o=await import(r);if(void 0!==o){if(e.singleRuntime){const{beforeStart:n,afterStarted:r,beforeWebAssemblyStart:s,afterWebAssemblyStarted:a,beforeServerStart:c,afterServerStarted:l}=o;let u=n;e.webRendererId===at.Server&&c&&(u=c),e.webRendererId===at.WebAssembly&&s&&(u=s);let d=r;return e.webRendererId===at.Server&&l&&(d=l),e.webRendererId===at.WebAssembly&&a&&(d=a),i(e,u,d,t)}return function(e,t,n){const o=n[0],{beforeStart:s,afterStarted:a,beforeWebStart:c,afterWebStarted:l,beforeWebAssemblyStart:u,afterWebAssemblyStarted:d,beforeServerStart:f,afterServerStarted:m}=t,h=!(c||l||u||d||f||m||!s&&!a),p=h&&o.enableClassicInitializers;if(h&&!o.enableClassicInitializers)e.logger?.log(ct.Warning,`Initializer '${r}' will be ignored because multiple runtimes are available. Use 'before(Web|WebAssembly|Server)Start' and 'after(Web|WebAssembly|Server)Started' instead.`);else if(p)return i(e,s,a,n);if(function(e){e.webAssembly?e.webAssembly.initializers||(e.webAssembly.initializers={beforeStart:[],afterStarted:[]}):e.webAssembly={initializers:{beforeStart:[],afterStarted:[]}},e.circuit?e.circuit.initializers||(e.circuit.initializers={beforeStart:[],afterStarted:[]}):e.circuit={initializers:{beforeStart:[],afterStarted:[]}}}(o),u&&o.webAssembly.initializers.beforeStart.push(u),d&&o.webAssembly.initializers.afterStarted.push(d),f&&o.circuit.initializers.beforeStart.push(f),m&&o.circuit.initializers.afterStarted.push(m),l&&e.afterStartedCallbacks.push(l),c)return c(o)}(e,o,t)}function i(e,t,n,r){if(n&&e.afterStartedCallbacks.push(n),t)return t(...r)}}(this,e))))}async invokeAfterStartedCallbacks(e){const t=(n=this.webRendererId,A.get(n)?.[1]);var n;t&&await t,await Promise.all(this.afterStartedCallbacks.map((t=>t(e))))}}let ut,dt,ft,mt,ht=null;const pt={load:function(e,t){return async function(e,t){const{dotnet:n}=await async function(e){if("undefined"==typeof WebAssembly||!WebAssembly.validate)throw new Error("This browser does not support WebAssembly.");let t="_framework/dotnet.js";if(e.loadBootResource){const n="dotnetjs",r=e.loadBootResource(n,"dotnet.js",t,"","js-module-dotnet");if("string"==typeof r)t=r;else if(r)throw new Error(`For a ${n} resource, custom loaders must supply a URI string.`)}const n=new URL(t,document.baseURI).toString();return await import(n)}(e),r=function(e,t){const n={maxParallelDownloads:1e6,enableDownloadRetry:!1,applicationEnvironment:e.environment},r={...window.Module||{},onConfigLoaded:async n=>{n.environmentVariables||(n.environmentVariables={}),"sharded"===n.globalizationMode&&(n.environmentVariables.__BLAZOR_SHARDED_ICU="1"),Qe._internal.getApplicationEnvironment=()=>n.applicationEnvironment,t?.(n),mt=await async function(e,t){if(e.initializers)return await Promise.all(e.initializers.beforeStart.map((t=>t(e)))),new lt(!1,void 0,e.initializers.afterStarted,at.WebAssembly);{const n=[e,t.resources?.extensions??{}],r=new lt(!0,void 0,void 0,at.WebAssembly),o=Object.keys(t?.resources?.libraryInitializers||{});return await r.importInitializersAsync(o,n),r}}(e,n)},onDownloadResourceProgress:gt,config:n,out:yt,err:vt};return r}(e,t);e.applicationCulture&&n.withApplicationCulture(e.applicationCulture),e.environment&&n.withApplicationEnvironment(e.environment),e.loadBootResource&&n.withResourceLoader(e.loadBootResource),n.withModuleConfig(r),e.configureRuntime&&e.configureRuntime(n),ft=await n.create()}(e,t)},start:function(){return async function(){if(!ft)throw new Error("The runtime must be loaded it gets configured.");const{setModuleImports:t,INTERNAL:n,getConfig:r,invokeLibraryInitializers:o}=ft;dt=n,function(e){const t=rt.match(/^Mac/i)?"Cmd":"Alt";ot(e)&&console.info(`Debugging hotkey: Shift+${t}+D (when application has focus)`),document.addEventListener("keydown",(t=>{t.shiftKey&&(t.metaKey||t.altKey)&&"KeyD"===t.code&&(ot(e)?navigator.userAgent.includes("Firefox")?async function(){const e=await fetch(`_framework/debug?url=${encodeURIComponent(location.href)}&isFirefox=true`);200!==e.status&&console.warn(await e.text())}():nt?function(){const e=document.createElement("a");e.href=`_framework/debug?url=${encodeURIComponent(location.href)}`,e.target="_blank",e.rel="noopener noreferrer",e.click()}():console.error("Currently, only Microsoft Edge (80+), Google Chrome, or Chromium, are supported for debugging."):console.error("Cannot start debugging, because the application was not compiled with debugging enabled."))}))}(r()),Qe.runtime=ft,Qe._internal.dotNetCriticalError=vt,t("blazor-internal",{Blazor:{_internal:Qe._internal}});const i=await ft.getAssemblyExports("Microsoft.AspNetCore.Components.WebAssembly");return Object.assign(Qe._internal,{dotNetExports:{...i.Microsoft.AspNetCore.Components.WebAssembly.Services.DefaultWebAssemblyJSRuntime}}),ut=e.attachDispatcher({beginInvokeDotNetFromJS:(e,t,n,r,o)=>{if(wt(),!r&&!t)throw new Error("Either assemblyName or dotNetObjectId must have a non null value.");const i=r?r.toString():t;Qe._internal.dotNetExports.BeginInvokeDotNet(e?e.toString():null,i,n,o)},endInvokeJSFromDotNet:(e,t,n)=>{Qe._internal.dotNetExports.EndInvokeJS(n)},sendByteArray:(e,t)=>{Qe._internal.dotNetExports.ReceiveByteArrayFromJS(e,t)},invokeDotNetFromJS:(e,t,n,r)=>(wt(),Qe._internal.dotNetExports.InvokeDotNet(e||null,t,n??0,r))}),{invokeLibraryInitializers:o}}()},callEntryPoint:async function(){try{await ft.runMain(ft.getConfig().mainAssemblyName,[])}catch(e){console.error(e),st()}},getArrayEntryPtr:function(e,t,n){const r=function(e){return e+12}(e)+4+t*n;return r},getObjectFieldsBaseAddress:function(e){return e+8},readInt16Field:function(e,t){return ft.getHeapI16(e+(t||0))},readInt32Field:function(e,t){return ft.getHeapI32(e+(t||0))},readUint64Field:function(e,t){return ft.getHeapU52(e+(t||0))},readObjectField:function(e,t){return ft.getHeapU32(e+(t||0))},readStringField:function(e,t,n){const r=ft.getHeapU32(e+(t||0));if(0===r)return null;if(n){const e=dt.monoObjectAsBoolOrNullUnsafe(r);if("boolean"==typeof e)return e?"":null}return dt.monoStringToStringUnsafe(r)},readStructField:function(e,t){return e+(t||0)},beginHeapLock:function(){return wt(),ht=Et.create(),ht},invokeWhenHeapUnlocked:function(e){ht?ht.enqueuePostReleaseAction(e):e()}};function gt(e,t){const n=e/t*100;document.documentElement.style.setProperty("--blazor-load-percentage",`${n}%`),document.documentElement.style.setProperty("--blazor-load-percentage-text",`"${Math.floor(n)}%"`)}const bt=["DEBUGGING ENABLED"],yt=e=>bt.indexOf(e)<0&&console.log(e),vt=e=>{console.error(e||"(null)"),st()};function wt(){if(ht)throw new Error("Assertion failed - heap is currently locked")}class Et{enqueuePostReleaseAction(e){this.postReleaseActions||(this.postReleaseActions=[]),this.postReleaseActions.push(e)}release(){if(ht!==this)throw new Error("Trying to release a lock which isn't current");for(dt.mono_wasm_gc_unlock(),ht=null;this.postReleaseActions?.length;)this.postReleaseActions.shift()(),wt()}static create(){return dt.mono_wasm_gc_lock(),new Et}}class St{constructor(e){this.batchAddress=e,this.arrayRangeReader=Ct,this.arrayBuilderSegmentReader=At,this.diffReader=It,this.editReader=Nt,this.frameReader=Rt}updatedComponents(){return t.readStructField(this.batchAddress,0)}referenceFrames(){return t.readStructField(this.batchAddress,Ct.structLength)}disposedComponentIds(){return t.readStructField(this.batchAddress,2*Ct.structLength)}disposedEventHandlerIds(){return t.readStructField(this.batchAddress,3*Ct.structLength)}updatedComponentsEntry(e,t){return kt(e,t,It.structLength)}referenceFramesEntry(e,t){return kt(e,t,Rt.structLength)}disposedComponentIdsEntry(e,n){const r=kt(e,n,4);return t.readInt32Field(r)}disposedEventHandlerIdsEntry(e,n){const r=kt(e,n,8);return t.readUint64Field(r)}}const Ct={structLength:8,values:e=>t.readObjectField(e,0),count:e=>t.readInt32Field(e,4)},At={structLength:12,values:e=>{const n=t.readObjectField(e,0),r=t.getObjectFieldsBaseAddress(n);return t.readObjectField(r,0)},offset:e=>t.readInt32Field(e,4),count:e=>t.readInt32Field(e,8)},It={structLength:4+At.structLength,componentId:e=>t.readInt32Field(e,0),edits:e=>t.readStructField(e,4),editsEntry:(e,t)=>kt(e,t,Nt.structLength)},Nt={structLength:20,editType:e=>t.readInt32Field(e,0),siblingIndex:e=>t.readInt32Field(e,4),newTreeIndex:e=>t.readInt32Field(e,8),moveToSiblingIndex:e=>t.readInt32Field(e,8),removedAttributeName:e=>t.readStringField(e,16)},Rt={structLength:36,frameType:e=>t.readInt16Field(e,4),subtreeLength:e=>t.readInt32Field(e,8),elementReferenceCaptureId:e=>t.readStringField(e,16),componentId:e=>t.readInt32Field(e,12),elementName:e=>t.readStringField(e,16),textContent:e=>t.readStringField(e,16),markupContent:e=>t.readStringField(e,16),attributeName:e=>t.readStringField(e,16),attributeValue:e=>t.readStringField(e,24,!0),attributeEventHandlerId:e=>t.readUint64Field(e,8)};function kt(e,n,r){return t.getArrayEntryPtr(e,n,r)}const Dt=/^\s*Blazor-WebAssembly-Component-State:(?[a-zA-Z0-9+/=]+)$/;function _t(e){return Tt(e,Dt)}function Tt(e,t,n="state"){if(e.nodeType===Node.COMMENT_NODE){const r=e.textContent||"",o=t.exec(r),i=o&&o.groups&&o.groups[n];return i&&e.parentNode?.removeChild(e),i}if(!e.hasChildNodes())return;const r=e.childNodes;for(let e=0;e.*)$/);function Ot(e,t){const n=e.currentElement;var r,o,i;if(n&&n.nodeType===Node.COMMENT_NODE&&n.textContent){const s=Lt.exec(n.textContent),a=s&&s.groups&&s.groups.descriptor;if(!a)return;!function(e){if(e.parentNode instanceof Document)throw new Error("Root components cannot be marked as interactive. The element must be rendered statically so that scripts are not evaluated multiple times.")}(n);try{const s=function(e){const t=JSON.parse(e),{type:n}=t;if("server"!==n&&"webassembly"!==n&&"auto"!==n)throw new Error(`Invalid component type '${n}'.`);return t}(a),c=function(e,t,n){const{prerenderId:r}=e;if(r){for(;n.next()&&n.currentElement;){const e=n.currentElement;if(e.nodeType!==Node.COMMENT_NODE)continue;if(!e.textContent)continue;const t=Lt.exec(e.textContent),o=t&&t[1];if(o)return zt(o,r),e}throw new Error(`Could not find an end component comment for '${t}'.`)}}(s,n,e);if(t!==s.type)return;switch(s.type){case"webassembly":return o=n,i=c,Jt(r=s),{...r,uniqueId:jt++,start:o,end:i};case"server":return function(e,t,n){return Ht(e),{...e,uniqueId:jt++,start:t,end:n}}(s,n,c);case"auto":return function(e,t,n){return Ht(e),Jt(e),{...e,uniqueId:jt++,start:t,end:n}}(s,n,c)}}catch(e){throw new Error(`Found malformed component comment at ${n.textContent}`)}}}let Mt,xt,Pt,Bt,jt=0;function Ht(e){const{descriptor:t,sequence:n}=e;if(!t)throw new Error("descriptor must be defined when using a descriptor.");if(void 0===n)throw new Error("sequence must be defined when using a descriptor.");if(!Number.isInteger(n))throw new Error(`Error parsing the sequence '${n}' for component '${JSON.stringify(e)}'`)}function Jt(e){const{assembly:t,typeName:n}=e;if(!t)throw new Error("assembly must be defined when using a descriptor.");if(!n)throw new Error("typeName must be defined when using a descriptor.");e.parameterDefinitions=e.parameterDefinitions&&atob(e.parameterDefinitions),e.parameterValues=e.parameterValues&&atob(e.parameterValues)}function zt(e,t){const n=JSON.parse(e);if(1!==Object.keys(n).length)throw new Error(`Invalid end of component comment: '${e}'`);const r=n.prerenderId;if(!r)throw new Error(`End of component comment must have a value for the prerendered property: '${e}'`);if(r!==t)throw new Error(`End of component comment prerendered property must match the start comment prerender id: '${t}', '${r}'`)}class $t{constructor(e){this.childNodes=e,this.currentIndex=-1,this.length=e.length}next(){return this.currentIndex++,this.currentIndex{Bt=e}));const Ut=new Promise((e=>{}));let Kt;const Vt=new Promise((e=>{Kt=e}));function Xt(e){if(Mt)throw new Error("WebAssembly options have already been configured.");!async function(e){const t=await e;Mt=t,Kt()}(e)}function Yt(e){if(void 0!==Pt)throw new Error("Blazor WebAssembly has already started.");return Pt=new Promise(qt.bind(null,e)),Pt}async function qt(e,n,r){(function(){if(window.parent!==window&&!window.opener&&window.frameElement){const e=window.sessionStorage&&window.sessionStorage["Microsoft.AspNetCore.Components.WebAssembly.Authentication.CachedAuthSettings"],t=e&&JSON.parse(e);return t&&t.redirect_uri&&location.href.startsWith(t.redirect_uri)}return!1})()&&await new Promise((()=>{}));const o=Gt();!function(){const e=R;R=(t,n,r)=>{((e,t,n)=>{const r=function(e){return he[e]}(e);r?.eventDelegator.getHandler(t)&&pt.invokeWhenHeapUnlocked(n)})(t,n,(()=>e(t,n,r)))}}(),Qe._internal.applyHotReload=(e,t,n,r,o)=>{ut.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","ApplyHotReloadDelta",e,t,n,r,o??null)},Qe._internal.getApplyUpdateCapabilities=()=>ut.invokeDotNetStaticMethod("Microsoft.AspNetCore.Components.WebAssembly","GetApplyUpdateCapabilities"),Qe._internal.invokeJSJson=Zt,Qe._internal.endInvokeDotNetFromJS=Qt,Qe._internal.receiveWebAssemblyDotNetDataStream=en,Qe._internal.receiveByteArray=tn;const i=(t=pt,t);Qe.platform=i,Qe._internal.renderBatch=(e,t)=>{const n=pt.beginHeapLock();try{!function(e,t){const n=he[e];if(!n)throw new Error(`There is no browser renderer with ID ${e}.`);const r=t.arrayRangeReader,o=t.updatedComponents(),i=r.values(o),s=r.count(o),a=t.referenceFrames(),c=r.values(a),l=t.diffReader;for(let e=0;e{await ut.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChanged",e,t,n)}),(async(e,t,n,r)=>{const o=await ut.invokeDotNetStaticMethodAsync("Microsoft.AspNetCore.Components.WebAssembly","NotifyLocationChangingAsync",t,n,r);Qe._internal.navigationManager.endLocationChanging(e,o)}));const s=new Wt(e);Qe._internal.registeredComponents={getRegisteredComponentsCount:()=>s.getCount(),getAssembly:e=>s.getAssembly(e),getTypeName:e=>s.getTypeName(e),getParameterDefinitions:e=>s.getParameterDefinitions(e)||"",getParameterValues:e=>s.getParameterValues(e)||""},Qe._internal.getPersistedState=()=>_t(document)||"",Qe._internal.getInitialComponentsUpdate=()=>Ut,Qe._internal.updateRootComponents=e=>Qe._internal.dotNetExports?.UpdateRootComponentsCore(e),Qe._internal.endUpdateRootComponents=t=>e.onAfterUpdateRootComponents?.(t),Qe._internal.attachRootComponentToElement=(e,t,n)=>{const r=s.resolveRegisteredElement(e);r?ye(n,r,t,!1):function(e,t,n){const r="::before";let o=!1;if(e.endsWith("::after"))e=e.slice(0,-7),o=!0;else if(e.endsWith(r))throw new Error(`The '${r}' selector is not supported.`);const i=function(e){const t=h.get(e);if(t)return h.delete(e),t}(e)||document.querySelector(e);if(!i)throw new Error(`Could not find any element matching selector '${e}'.`);ye(n,B(i,!0),t,o)}(e,t,n)};try{await o,await i.start()}catch(e){throw new Error(`Failed to start platform. Reason: ${e}`)}i.callEntryPoint(),mt.invokeAfterStartedCallbacks(Qe),n()}function Gt(){return xt??=(async()=>{await Vt;const e=Mt??{},t=Mt?.configureRuntime;e.configureRuntime=e=>{t?.(e)},await pt.load(e,Bt)})(),xt}function Zt(e,t,n,r,o){return 0!==o?(ut.beginInvokeJSFromDotNet(o,e,r,n,t),null):ut.invokeJSFromDotNet(e,r,n,t)}function Qt(e,t,n){ut.endInvokeDotNetFromJS(e,t,n)}function en(e,t,n,r){!function(e,t,n,r,o){let i=Ze.get(t);if(!i){const n=new ReadableStream({start(e){Ze.set(t,e),i=e}});e.supplyDotNetStream(t,n)}o?(i.error(o),Ze.delete(t)):0===r?(i.close(),Ze.delete(t)):i.enqueue(n.length===r?n:n.subarray(0,r))}(ut,e,t,n,r)}function tn(e,t){ut.receiveByteArray(e,t)}class nn{constructor(e){this.initialComponents=e}resolveRootComponent(e){return this.initialComponents[e]}}class rn{constructor(){this._eventListeners=new Map}static create(e){const t=new rn;return e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),t}addEventListener(e,t){let n=this._eventListeners.get(e);n||(n=new Set,this._eventListeners.set(e,n)),n.add(t)}removeEventListener(e,t){this._eventListeners.get(e)?.delete(t)}dispatchEvent(e,t){const n=this._eventListeners.get(e);if(!n)return;const r={...t,type:e};for(const e of n)e(r)}}let on=!1;async function sn(e){if(on)throw new Error("Blazor has already started.");on=!0,Xt(Promise.resolve(e||{})),rn.create(Qe);const t=Ft(document,"webassembly"),n=new nn(t);await Yt(n)}Qe.start=sn,window.DotNet=e,document&&document.currentScript&&"false"!==document.currentScript.getAttribute("autostart")&&sn().catch(vt)}(); -; - -!function(t){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var e,r={exports:{}};e=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}([function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,l=e.metadataSeed,f=e.client_id,g=e.client_secret,d=e.response_type,p=void 0===d?"id_token":d,v=e.scope,y=void 0===v?"openid":v,m=e.redirect_uri,_=e.post_logout_redirect_uri,S=e.client_authentication,w=void 0===S?"client_secret_post":S,b=e.prompt,F=e.display,E=e.max_age,x=e.ui_locales,A=e.acr_values,k=e.resource,P=e.response_mode,C=e.filterProtocolClaims,T=void 0===C||C,R=e.loadUserInfo,I=void 0===R||R,D=e.staleStateAge,L=void 0===D?900:D,N=e.clockSkew,U=void 0===N?300:N,O=e.clockService,B=void 0===O?new s.ClockService:O,M=e.userInfoJwtIssuer,j=void 0===M?"OP":M,H=e.mergeClaims,K=void 0!==H&&H,V=e.stateStore,q=void 0===V?new a.WebStorageStateStore:V,J=e.ResponseValidatorCtor,W=void 0===J?u.ResponseValidator:J,z=e.MetadataServiceCtor,Y=void 0===z?c.MetadataService:z,G=e.extraQueryParams,$=void 0===G?{}:G,X=e.extraTokenParams,Q=void 0===X?{}:X;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=l,this._signingKeys=h,this._client_id=f,this._client_secret=g,this._response_type=p,this._scope=y,this._redirect_uri=m,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=b,this._display=F,this._max_age=E,this._ui_locales=x,this._acr_values=A,this._resource=k,this._response_mode=P,this._filterProtocolClaims=!!T,this._loadUserInfo=!!I,this._staleStateAge=L,this._clockSkew=U,this._clockService=B,this._userInfoJwtIssuer=j,this._mergeClaims=!!K,this._stateStore=q,this._validator=new W(this),this._metadataService=new Y(this),this._extraQueryParams="object"===(void 0===$?"undefined":n($))?$:{},this._extraTokenParams="object"===(void 0===Q?"undefined":n(Q))?Q:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={}; -/*! - Copyright (c) 2011, Yahoo! Inc. All rights reserved. - Code licensed under the BSD License: - http://developer.yahoo.com/yui/license.html - version: 2.9.0 - */if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}(); -/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ - */ -var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),!(255&t)&&(t>>=8,e+=8),!(15&t)&&(t>>=4,e+=4),!(3&t)&&(t>>=2,e+=2),!(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&!!(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(!(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1]; -/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ - */function Y(){this.i=0,this.j=0,this.S=new Array} -/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ - */ -function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),!!(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:!!(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;!(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&!(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null -/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ - */}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 1&n.length?"0"+n:n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}}, -/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib - */ -ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0}; -/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval - */ -var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="00"+n,s="",a=i-4-o.length,u=0;u=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=r.cipher,i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=y.getVbyList,s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&n[1]==t},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(f.charCodeAt(0)&d)throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n - * @license MIT - */ -var n=r(30),i=r(31),o=r(32);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s|0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),s=n[0],a=n[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){ -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(e){this.trace("getAccessToken",e);const r=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(r)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(e,r.scopes))return this.debug(`Valid access token present expiring at '${n(r.expires_in).toISOString()}'`),{status:t.AccessTokenResultStatus.Success,token:{grantedScopes:r.scopes,expires:n(r.expires_in),value:r.access_token}};try{const r=e&&e.scopes?{scope:e.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${r?.scope}'`),this.trace("userManager.signinSilent",r);const i=await this._userManager.signinSilent(r);this.debug(`Provisioned an access token expiring at '${n(i.expires_in).toISOString()}'`);const o={status:t.AccessTokenResultStatus.Success,token:{grantedScopes:i.scopes,expires:n(i.expires_in),value:i.access_token}};return this.trace("getAccessToken-result",o),o}catch(e){return e instanceof Error&&this.debug(`Failed to provision a token silently '${e.message}'`),{status:t.AccessTokenResultStatus.RequiresRedirect}}function n(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:e?.scopes?e.scopes.join(" "):void 0,...e?.additionalRequestParameters}}error(e){return{status:t.AuthenticationResultStatus.Failure,errorMessage:e}}success(e){return{status:t.AuthenticationResultStatus.Success,state:e}}redirect(){return{status:t.AuthenticationResultStatus.Redirect}}operationCompleted(){return{status:t.AuthenticationResultStatus.OperationCompleted}}debug(e){this._logger?.log(t.LogLevel.Debug,e)}trace(e,r){this._logger?.log(t.LogLevel.Trace,`${e}: ${JSON.stringify(r)}`)}}class c{static _infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication";static _initialized;static instance;static _pendingOperations={};static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new s.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c.handleCallback(),window.AuthenticationService=c,t.AuthenticationService=c,t.ManagedLogger=a}({}); -; - -var abp=abp||{};(function(){abp.utils=abp.utils||{};abp.domReady=function(n){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(n,1):document.addEventListener("DOMContentLoaded",n)};abp.utils.setCookieValue=function(n,t,i,r,u){var f=encodeURIComponent(n)+"=";t&&(f=f+encodeURIComponent(t));i&&(f=f+"; expires="+i);r&&(f=f+"; path="+r);u&&(f=f+"; secure");document.cookie=f};abp.utils.getCookieValue=function(n){for(var i,r=document.cookie.split("; "),t=0;ta[0]&&e[1]|`|"|&/g,"?")}var t=s.getTextarea(t),o=t.value,n=t.selectionStart,i=o.slice(0,n),o=(0@")+e(o),document.createElement("div")),o=(i.className="ant-mentions-measure",i.innerHTML=n,t.parentNode.append(i),i.querySelector("span")),n=o.offsetLeft-t.scrollLeft+16,o=o.offsetTop-t.scrollTop+16;return i.remove(),[n,o]},s);function s(){}o.mentionsHelper=n},{}],12:[function(t,e,o){"use strict";o.__esModule=!0,o.modalHelper=void 0;var r=t("../dom/exports"),n=t("../dom/manipulationHelper");function i(){}i.focusDialog=function(t,e){var o,n=this,i=(void 0===e&&(e=0),document.querySelector(t));i&&(i.hasAttribute("disabled")?null!=(o=document.activeElement)&&o.blur():setTimeout(function(){i.focus(),"#"+r.domInfoHelper.getActiveElement()!==t&&e<10&&n.focusDialog(t,e+1)},10))},i.destroyAllDialog=function(){document.querySelectorAll(".ant-modal-root").forEach(function(t){t=t.parentNode;t instanceof HTMLElement&&t.remove()}),n.manipulationHelper.enableBodyScroll(!0)},o.modalHelper=i},{"../dom/exports":20,"../dom/manipulationHelper":22}],13:[function(t,e,o){"use strict";var n,s,l=function(){return(l=Object.assign||function(t){for(var e,o=1,n=arguments.length;on||t.righto.bound.right&&(e=o.bound.right),to.bound.bottom&&(t=o.bound.bottom)),i._container.style.translate=e+"px "+t+"px")},10).bind(this),this.onResize=r(function(t){i._state.bound=c(i._container,i._draggedInContainer)},30).bind(this),this._trigger=t,this._container=e,this._draggedInContainer=n,this._options=Object.assign({},a,{inViewport:o}),this._state={isInDrag:!1,mouseDownX:0,mouseDownY:0,mouseDownXOffset:0,mouseDownYOffset:0,bound:{left:0,top:0,right:0,bottom:0}}}function c(t,e){var o=window.getComputedStyle(e),n=window.getComputedStyle(e);return{left:-t.offsetLeft+parseInt(o.marginLeft)+parseInt(n.paddingLeft),top:-t.offsetTop+parseInt(o.marginTop)+parseInt(n.paddingTop),right:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t-=parseInt(e.paddingLeft))-parseInt(e.paddingRight)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t+=parseInt(e.borderLeftWidth))+parseInt(e.borderRightWidth)}(t,o)-t.offsetLeft+parseInt(n.paddingRight)-parseInt(o.marginRight),bottom:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t-=parseInt(e.paddingTop))-parseInt(e.paddingBottom)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t+=parseInt(e.borderTopWidth))+parseInt(e.borderBottomWidth)}(t,o)-t.offsetTop+parseInt(n.paddingBottom)-parseInt(o.marginBottom)}}o.enableDraggable=function(t,e,o,n){void 0===o&&(o=!0),void 0===n&&(n=document.documentElement);var i=s.get(t);i||(i=new l(t,e,o,n),s.set(t,i)),i.bindDrag()},o.disableDraggable=function(t){(t=s.get(t))&&t.unbindDrag()},o.resetModalPosition=function(t){(t=s.get(t))&&t.resetContainerStyle()}},{}],19:[function(t,e,o){"use strict";var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=(o.__esModule=!0,o.eventHelper=void 0,t("./exports")),r=t("../stateProvider");function n(){}n.triggerEvent=function(t,e,o){e=document.createEvent(e);return e.initEvent(o),t.dispatchEvent(e)},n.addDomEventListener=function(t,e,r,s,a){void 0===a&&(a=!1);function o(t){var e,o={};for(e in t)"originalTarget"!==e&&(o[e]=t[e]);var n=new Set,i=JSON.stringify(o,function(t,e){if("object"===(void 0===e?"undefined":l(e))&&null!==e){if(n.has(e))return;n.add(e)}return e instanceof Node?"Node":e instanceof Window?"Window":e}," ");setTimeout(function(){s.invokeMethodAsync("Invoke",i)},0),!0===r&&t.preventDefault(),a&&t.stopPropagation()}var t=i.domInfoHelper.get(t),n=e+"-"+s._id;t["e_"+n]="resize"===e?this.debounce(function(){return o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})},200,!1):o,t["i_"+n]=s,t&&t.addEventListener&&t.addEventListener(e,t["e_"+n])},n.addDomEventListenerToFirstChild=function(t,e,o,n){t=i.domInfoHelper.get(t);t&&t.firstElementChild&&this.addDomEventListener(t.firstElementChild,e,o,n)},n.removeDomEventListener=function(t,e,o){t=i.domInfoHelper.get(t),o=e+"-"+o._id;t&&t.removeEventListener(e,t["e_"+o])},n.addPreventKeys=function(t,e){var o,n=this;t&&(o=i.domInfoHelper.get(t),e=e.map(function(t){return t.toUpperCase()}),r.state.eventCallbackRegistry[t.id+"keydown"]=function(t){return n.preventKeys(t,e)},o.addEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"],!1))},n.preventKeyOnCondition=function(t,e,o){if(t.key.toUpperCase()===e.toUpperCase()&&o())return t.preventDefault(),!1},n.removePreventKeys=function(t){var e;t&&(e=i.domInfoHelper.get(t))&&(e.removeEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"]),r.state.eventCallbackRegistry[t.id+"keydown"]=null)},n.debounce=function(i,r,s){var a,l=this;return function(){for(var t=[],e=0;e(window.innerHeight||document.documentElement.clientHeight)},c.getScrollBarSize=function(t){var e,o;return void 0===t&&(t=!1),"undefined"==typeof document?0:(!t&&void 0!==a||((t=document.createElement("div")).style.width="100%",t.style.height="200px",(o=(e=document.createElement("div")).style).position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",e.appendChild(t),document.body.appendChild(e),o=t.offsetWidth,e.style.overflow="scroll",o===(t=t.offsetWidth)&&(t=e.clientWidth),document.body.removeChild(e),a=o-t,document.documentElement.style.setProperty("--ant-scrollbar-width",a+"px")),a)},o.manipulationHelper=c},{"../enums":24,"../stateProvider":25,"../styleHelper":26,"./exports":20}],23:[function(t,e,o){"use strict";o.__esModule=!0},{}],24:[function(t,e,o){"use strict";o.__esModule=!0,o.FocusBehavior=void 0,(o=o.FocusBehavior||(o.FocusBehavior={}))[o.FocusAtLast=0]="FocusAtLast",o[o.FocusAtFirst=1]="FocusAtFirst",o[o.FocusAndSelectAll=2]="FocusAndSelectAll"},{}],25:[function(t,e,o){"use strict";o.__esModule=!0,o.state=o.State=void 0;i.prototype.disposeObj=function(t){delete this.objReferenceDict[t]},i.getInstance=function(){return this.instance||(this.instance=new i),this.instance};var n=i;function i(){this.objReferenceDict={},this.eventCallbackRegistry={},this.oldBodyCacheStack=[]}o.State=n,o.state=n.getInstance()},{}],26:[function(t,e,o){"use strict";o.__esModule=!0,o.styleHelper=void 0;var n=t("./dom/infoHelper");function i(){}i.addCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.add(e):(t=t.classList).add.apply(t,e))},i.removeCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.remove(e):(t=t.classList).remove.apply(t,e))},i.addClsToFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.add(e)},i.removeClsFromFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.remove(e)},i.matchMedia=function(t){return window.matchMedia(t).matches},i.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?document.defaultView.getComputedStyle(t,null).getPropertyValue(e):void 0},i.css=function(t,e,o){if(void 0===o&&(o=null),"string"==typeof e)if(null===o)for(var n=e.split(";"),i=0;i>16,g:(65280&t)>>8,b:255&t}}},{"./util":39}],30:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.names=void 0,o.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],31:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.isValidCSSUnit=o.stringInputToObject=o.inputToRGB=void 0;var a=t("./conversion"),n=t("./css-color-names"),l=t("./util");o.inputToRGB=function(t){var e,o={r:0,g:0,b:0},n=1,i=null,r=!1,s=!1;return"object"==typeof(t="string"==typeof t?c(t):t)&&(u(t.r)&&u(t.g)&&u(t.b)?(o=(0,a.rgbToRgb)(t.r,t.g,t.b),r=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):u(t.h)&&u(t.s)&&u(t.v)?(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.v),o=(0,a.hsvToRgb)(t.h,i,e),r=!0,s="hsv"):u(t.h)&&u(t.s)&&u(t.l)&&(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.l),o=(0,a.hslToRgb)(t.h,i,e),r=!0,s="hsl"),Object.prototype.hasOwnProperty.call(t,"a"))&&(n=t.a),n=(0,l.boundAlpha)(n),{ok:r,format:t.format||s,r:Math.min(255,Math.max(o.r,0)),g:Math.min(255,Math.max(o.g,0)),b:Math.min(255,Math.max(o.b,0)),a:n}};var t="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),i="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),r="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),s={CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function c(t){if(0===(t=t.trim().toLowerCase()).length)return!1;var e=!1;if(n.names[t])t=n.names[t],e=!0;else if("transparent"===t)return{r:0,g:0,b:0,a:0,format:"name"};var o=s.rgb.exec(t);return o?{r:o[1],g:o[2],b:o[3]}:(o=s.rgba.exec(t))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=s.hsl.exec(t))?{h:o[1],s:o[2],l:o[3]}:(o=s.hsla.exec(t))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=s.hsv.exec(t))?{h:o[1],s:o[2],v:o[3]}:(o=s.hsva.exec(t))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=s.hex8.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),a:(0,a.convertHexToDecimal)(o[4]),format:e?"name":"hex8"}:(o=s.hex6.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),format:e?"name":"hex"}:(o=s.hex4.exec(t))?{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),a:(0,a.convertHexToDecimal)(o[4]+o[4]),format:e?"name":"hex8"}:!!(o=s.hex3.exec(t))&&{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),format:e?"name":"hex"}}function u(t){return Boolean(s.CSS_UNIT.exec(String(t)))}o.stringInputToObject=c,o.isValidCSSUnit=u},{"./conversion":29,"./css-color-names":30,"./util":39}],32:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.legacyRandom=o.fromRatio=void 0;var n=t("./index"),i=t("./util");o.fromRatio=function(t,e){var o={r:(0,i.convertToPercentage)(t.r),g:(0,i.convertToPercentage)(t.g),b:(0,i.convertToPercentage)(t.b)};return void 0!==t.a&&(o.a=Number(t.a)),new n.TinyColor(o,e)},o.legacyRandom=function(){return new n.TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}},{"./index":33,"./util":39}],33:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.tinycolor=o.TinyColor=void 0;var r=t("./conversion"),s=t("./css-color-names"),n=t("./format-input"),i=t("./util"),a=(l.prototype.isDark=function(){return this.getBrightness()<128},l.prototype.isLight=function(){return!this.isDark()},l.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},l.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,o=t.g/255,t=t.b/255,e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4),o=o<=.03928?o/12.92:Math.pow((.055+o)/1.055,2.4),t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4);return.2126*e+.7152*o+.0722*t},l.prototype.getAlpha=function(){return this.a},l.prototype.setAlpha=function(t){return this.a=(0,i.boundAlpha)(t),this.roundA=Math.round(100*this.a)/100,this},l.prototype.isMonochrome=function(){return 0===this.toHsl().s},l.prototype.toHsv=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},l.prototype.toHsvString=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.v);return 1===this.a?"hsv(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsva(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHsl=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},l.prototype.toHslString=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.l);return 1===this.a?"hsl(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsla(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHex=function(t){return(0,r.rgbToHex)(this.r,this.g,this.b,t=void 0===t?!1:t)},l.prototype.toHexString=function(t){return"#"+this.toHex(t=void 0===t?!1:t)},l.prototype.toHex8=function(t){return(0,r.rgbaToHex)(this.r,this.g,this.b,this.a,t=void 0===t?!1:t)},l.prototype.toHex8String=function(t){return"#"+this.toHex8(t=void 0===t?!1:t)},l.prototype.toHexShortString=function(t){return void 0===t&&(t=!1),1===this.a?this.toHexString(t):this.toHex8String(t)},l.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},l.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),o=Math.round(this.b);return 1===this.a?"rgb(".concat(t,", ").concat(e,", ").concat(o,")"):"rgba(".concat(t,", ").concat(e,", ").concat(o,", ").concat(this.roundA,")")},l.prototype.toPercentageRgb=function(){function t(t){return"".concat(Math.round(100*(0,i.bound01)(t,255)),"%")}return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},l.prototype.toPercentageRgbString=function(){function t(t){return Math.round(100*(0,i.bound01)(t,255))}return 1===this.a?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},l.prototype.toName=function(){if(0===this.a)return"transparent";if(!(this.a<1))for(var t="#"+(0,r.rgbToHex)(this.r,this.g,this.b,!1),e=0,o=Object.entries(s.names);e>1)+720)%360;--t;)o.h=(o.h+n)%360,i.push(new l(o));return i},l.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new l(t)},l.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var e=this.toHsv(),o=e.h,n=e.s,i=e.v,r=[],s=1/t;t--;)r.push(new l({h:o,s:n,v:i})),i=(i+s)%1;return r},l.prototype.splitcomplement=function(){var t=this.toHsl(),e=t.h;return[this,new l({h:(e+72)%360,s:t.s,l:t.l}),new l({h:(e+216)%360,s:t.s,l:t.l})]},l.prototype.onBackground=function(t){var e=this.toRgb(),t=new l(t).toRgb(),o=e.a+t.a*(1-e.a);return new l({r:(e.r*e.a+t.r*t.a*(1-e.a))/o,g:(e.g*e.a+t.g*t.a*(1-e.a))/o,b:(e.b*e.a+t.b*t.a*(1-e.a))/o,a:o})},l.prototype.triad=function(){return this.polyad(3)},l.prototype.tetrad=function(){return this.polyad(4)},l.prototype.polyad=function(t){for(var e=this.toHsl(),o=e.h,n=[this],i=360/t,r=1;r=n.hueRange[0]&&t<=n.hueRange[1])return n}throw Error("Color not found")}function c(t,e){var o;return void 0===e?Math.floor(t[0]+Math.random()*(t[1]+1-t[0])):(o=t[1]||1,t=t[0]||0,e=(e=(9301*e+49297)%233280)/233280,Math.floor(t+e*(o-t)))}function u(t){var e=t.lowerBounds[0][0],o=t.lowerBounds[t.lowerBounds.length-1][0],n=t.lowerBounds[t.lowerBounds.length-1][1],i=t.lowerBounds[0][1];return{name:t.name,hueRange:t.hueRange,lowerBounds:t.lowerBounds,saturationRange:[e,o],brightnessRange:[n,i]}}s.random=function t(e){if(void 0!==(e=void 0===e?{}:e).count&&null!==e.count){var o=e.count,n=[];for(e.count=void 0;n.length - - - - - - BookStore.Blazor - - - - - - - - - - -
-
-
-
-
-
- - - - - - diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/logo.svg b/samples/BookStore/src/BookStore.Blazor/wwwroot/logo.svg deleted file mode 100644 index e9f8c2a..0000000 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/logo.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - Group 28 Copy 5 - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/main.css b/samples/BookStore/src/BookStore.Blazor/wwwroot/main.css deleted file mode 100644 index 0df9eec..0000000 --- a/samples/BookStore/src/BookStore.Blazor/wwwroot/main.css +++ /dev/null @@ -1,49 +0,0 @@ -/* Global styles for the BookStore application */ -.spinner { - width: 40px; - height: 40px; - display: block; - position: fixed; - top: calc( 50% - ( 40px / 2) ); - right: calc( 50% - ( 40px / 2) ); -} - -.double-bounce1, .double-bounce2 { - width: 100%; - height: 100%; - border-radius: 50%; - background-color: #333; - opacity: 0.6; - position: absolute; - top: 0; - left: 0; - -webkit-animation: sk-bounce 2.0s infinite ease-in-out; - animation: sk-bounce 2.0s infinite ease-in-out; -} - -.double-bounce2 { - -webkit-animation-delay: -1.0s; - animation-delay: -1.0s; -} - -@-webkit-keyframes sk-bounce { - 0%, 100% { - -webkit-transform: scale(0.0) - } - - 50% { - -webkit-transform: scale(1.0) - } -} - -@keyframes sk-bounce { - 0%, 100% { - transform: scale(0.0); - -webkit-transform: scale(0.0); - } - - 50% { - transform: scale(1.0); - -webkit-transform: scale(1.0); - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj b/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj deleted file mode 100644 index 09f4bb8..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStore.BlazorServer.csproj +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - net9.0 - true - true - true - false - true - BookStore-4681b4fd-151f-4221-84a4-929d86723e4c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Always - - - Always - - - - diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs b/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs deleted file mode 100644 index 3fb11e8..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBlazorModule.cs +++ /dev/null @@ -1,245 +0,0 @@ -using System; -using System.IO; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.OpenApi.Models; -using BookStore.Blazor.Menus; -using BookStore.EntityFrameworkCore; -using BookStore.Localization; -using BookStore.MultiTenancy; -using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; -using Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI; -using Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI; -using Volo.Abp; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.Authentication.JwtBearer; -using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.Localization; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling; -using Volo.Abp.AspNetCore.Serilog; -using Volo.Abp.Autofac; -using Volo.Abp.AutoMapper; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Lsw.Abp.SettingManagement.Blazor.AntDesignUI; -using Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling; -using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation; -using Volo.Abp.UI.Navigation.Urls; -using Volo.Abp.VirtualFileSystem; -using Volo.Abp.Timing; -using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; - -namespace BookStore.Blazor; - -[DependsOn( - typeof(BookStoreApplicationModule), - typeof(BookStoreEntityFrameworkCoreModule), - typeof(BookStoreHttpApiModule), - typeof(AbpAspNetCoreMvcUiBasicThemeModule), - typeof(AbpAutofacModule), - typeof(AbpSwashbuckleModule), - typeof(AbpAspNetCoreAuthenticationJwtBearerModule), - typeof(AbpAspNetCoreSerilogModule), - typeof(AbpAccountWebIdentityServerModule), - typeof(AbpIdentityBlazorServerAntDesignModule), - typeof(AbpTenantManagementBlazorServerAntDesignModule), - typeof(AbpSettingManagementBlazorServerAntDesignModule) - )] -public class BookStoreBlazorModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - context.Services.PreConfigure(options => - { - options.AddAssemblyResource( - typeof(BookStoreResource), - typeof(BookStoreDomainModule).Assembly, - typeof(BookStoreDomainSharedModule).Assembly, - typeof(BookStoreApplicationModule).Assembly, - typeof(BookStoreApplicationContractsModule).Assembly, - typeof(BookStoreBlazorModule).Assembly - ); - }); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - var hostingEnvironment = context.Services.GetHostingEnvironment(); - var configuration = context.Services.GetConfiguration(); - - Configure(options => options.Kind = DateTimeKind.Utc); - Configure(options=> options.EnableMultipleTabs=true); - ConfigureUrls(configuration); - ConfigureBundles(); - ConfigureAuthentication(context, configuration); - ConfigureAutoMapper(); - ConfigureLocalizationServices(); - ConfigureSwaggerServices(context.Services); - ConfigureAutoApiControllers(); - ConfigureRouter(context); - ConfigureMenu(context); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"].Split(',')); - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - // MVC UI - options.StyleBundles.Configure( - BasicThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - - //BLAZOR UI - options.StyleBundles.Configure( - BlazorAntDesignThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/blazor-global-styles.css"); - //You can remove the following line if you don't use Blazor CSS isolation for components - bundle.AddFiles("/BookStore.BlazorServer.styles.css"); - } - ); - }); - } - - private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddAuthentication() - .AddJwtBearer(options => - { - options.Authority = configuration["AuthServer:Authority"]; - options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); - options.Audience = "BookStore"; - }); - } - - private void ConfigureLocalizationServices() - { - Configure(options => - { - options.Languages.Add(new LanguageInfo("ar", "ar", "العربية")); - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (UK)")); - options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); - options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish")); - options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); - options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi")); - options.Languages.Add(new LanguageInfo("is", "is", "Icelandic")); - options.Languages.Add(new LanguageInfo("it", "it", "Italiano")); - options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português")); - options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română")); - options.Languages.Add(new LanguageInfo("ru", "ru", "Русский")); - options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); - options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); - options.Languages.Add(new LanguageInfo("es", "es", "Español")); - }); - } - - private void ConfigureSwaggerServices(IServiceCollection services) - { - services.AddAbpSwaggerGen( - options => - { - options.SwaggerDoc("v1", new OpenApiInfo { Title = "BookStore API", Version = "v1" }); - options.DocInclusionPredicate((docName, description) => true); - options.CustomSchemaIds(type => type.FullName); - } - ); - } - private void ConfigureMenu(ServiceConfigurationContext context) - { - Configure(options => - { - options.MenuContributors.Add(new BookStoreMenuContributor()); - }); - } - - private void ConfigureRouter(ServiceConfigurationContext context) - { - Configure(options => - { - options.AppAssembly = typeof(BookStoreBlazorModule).Assembly; - }); - } - - private void ConfigureAutoApiControllers() - { - Configure(options => - { - options.ConventionalControllers.Create(typeof(BookStoreApplicationModule).Assembly); - }); - } - - private void ConfigureAutoMapper() - { - Configure(options => - { - options.AddMaps(); - }); - } - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - var env = context.GetEnvironment(); - var app = context.GetApplicationBuilder(); - - app.UseAbpRequestLocalization(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Error"); - app.UseHsts(); - } - - app.UseHttpsRedirection(); - app.UseCorrelationId(); - app.MapAbpStaticAssets(); - app.UseRouting(); - app.UseAuthentication(); - app.UseJwtTokenMiddleware(); - - if (MultiTenancyConsts.IsEnabled) - { - app.UseMultiTenancy(); - } - - app.UseUnitOfWork(); - app.UseIdentityServer(); - app.UseAuthorization(); - app.UseSwagger(); - app.UseAbpSwaggerUI(options => - { - options.SwaggerEndpoint("/swagger/v1/swagger.json", "BookStore API"); - }); - app.UseConfiguredEndpoints(); - } -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBrandingProvider.cs b/samples/BookStore/src/BookStore.BlazorServer/BookStoreBrandingProvider.cs deleted file mode 100644 index 6e3e94f..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStoreBrandingProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace BookStore.Blazor; - -[Dependency(ReplaceServices = true)] -public class BookStoreBrandingProvider : DefaultBrandingProvider -{ - public override string AppName => "BookStore"; -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenuContributor.cs b/samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenuContributor.cs deleted file mode 100644 index be85ecd..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenuContributor.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System.Threading.Tasks; -using AntDesign; -using BookStore.Localization; -using BookStore.MultiTenancy; -using Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; -using Lsw.Abp.TenantManagement.Blazor.AntDesignUI; -using Lsw.Abp.SettingManagement.Blazor.AntDesignUI; -using Volo.Abp.UI.Navigation; - -namespace BookStore.Blazor.Menus; - -public class BookStoreMenuContributor : IMenuContributor -{ - public async Task ConfigureMenuAsync(MenuConfigurationContext context) - { - if (context.Menu.Name == StandardMenus.Main) - { - await ConfigureMainMenuAsync(context); - } - } - - private Task ConfigureMainMenuAsync(MenuConfigurationContext context) - { - var administration = context.Menu.GetAdministration(); - var l = context.GetLocalizer(); - - context.Menu.Items.Insert( - 0, - new ApplicationMenuItem( - BookStoreMenus.Home, - l["Menu:Home"], - "/", - icon: IconType.Outline.Home, - order: 0 - ) - ); - - if (MultiTenancyConsts.IsEnabled) - { - administration.SetSubItemOrder(TenantManagementMenuNames.GroupName, 1); - } - else - { - administration.TryRemoveMenuItem(TenantManagementMenuNames.GroupName); - } - - administration.SetSubItemOrder(IdentityMenuNames.GroupName, 2); - administration.SetSubItemOrder(SettingManagementMenus.GroupName, 3); - - return Task.CompletedTask; - } -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor b/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor deleted file mode 100644 index 8ef69ce..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor +++ /dev/null @@ -1,24 +0,0 @@ -@page "/" -@using Volo.Abp.MultiTenancy -@inherits BookStoreComponentBase -@inject ICurrentTenant CurrentTenant -@inject AuthenticationStateProvider AuthenticationStateProvider - -
-
- - - - - -

@L["LongWelcomeMessage"]

- - @if (!CurrentUser.IsAuthenticated) - { - @L["Login"] - } -
-
diff --git a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.cs b/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.cs deleted file mode 100644 index 54f179e..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text.Json; -using System.Threading.Tasks; -using AntDesign; -using AntDesign.TableModels; - -namespace BookStore.BlazorServer.Pages; - -public partial class Index -{ - -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.css b/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.css deleted file mode 100644 index b154964..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.css +++ /dev/null @@ -1 +0,0 @@ -/* Write here your styles for the Index page */ \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/Pages/_Host.cshtml b/samples/BookStore/src/BookStore.BlazorServer/Pages/_Host.cshtml deleted file mode 100644 index a46b013..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Pages/_Host.cshtml +++ /dev/null @@ -1,40 +0,0 @@ -@page "/" -@namespace BookStore.Blazor.Pages -@using System.Globalization -@using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling -@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme -@using Microsoft.AspNetCore.Mvc.TagHelpers -@using Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers -@using Volo.Abp.Localization -@{ - Layout = null; - var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty; -} - - - - - - - BookStore.Blazor - - - - - - - -
- - An error has occurred. This application may no longer respond until reloaded. - - - An unhandled exception has occurred. See browser dev tools for details. - - Reload - 🗙 -
- - - - diff --git a/samples/BookStore/src/BookStore.BlazorServer/Pages/_ViewImports.cshtml b/samples/BookStore/src/BookStore.BlazorServer/Pages/_ViewImports.cshtml deleted file mode 100644 index c1da1f5..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/Pages/_ViewImports.cshtml +++ /dev/null @@ -1,4 +0,0 @@ -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/_Imports.razor b/samples/BookStore/src/BookStore.BlazorServer/_Imports.razor deleted file mode 100644 index 2a0b153..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/_Imports.razor +++ /dev/null @@ -1,12 +0,0 @@ -@using System.Net.Http -@using Microsoft.AspNetCore.Authorization -@using Microsoft.AspNetCore.Components.Authorization -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Components.Routing -@using Microsoft.AspNetCore.Components.Web -@using Microsoft.AspNetCore.Components.Web.Virtualization -@using Microsoft.JSInterop -@using BookStore.Blazor -@using AntDesign -@using Lsw.Abp.AntDesignUI -@using Lsw.Abp.AntDesignUI.Components diff --git a/samples/BookStore/src/BookStore.BlazorServer/appsettings.json b/samples/BookStore/src/BookStore.BlazorServer/appsettings.json deleted file mode 100644 index 37b318f..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/appsettings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "App": { - "SelfUrl": "https://localhost:44313", - "RedirectAllowedUrls": "https://localhost:44313" - }, - "ConnectionStrings": { - "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" - }, - "AuthServer": { - "Authority": "https://localhost:44313", - "RequireHttpsMetadata": "false" - }, - "StringEncryption": { - "DefaultPassPhrase": "PkQhKQMtlOiqySK3" - } -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/package-lock.json b/samples/BookStore/src/BookStore.BlazorServer/package-lock.json deleted file mode 100644 index d5a61ed..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/package-lock.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "name": "my-app", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "my-app", - "version": "1.0.0", - "dependencies": { - "@abp/aspnetcore.components.server.basictheme": "~9.0.0", - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" - } - }, - "node_modules/@abp/aspnetcore.components.server.basictheme": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.basictheme/-/aspnetcore.components.server.basictheme-9.0.1.tgz", - "integrity": "sha512-9nRzZuHteVxUKwDdbKeOiU4j01S9lknZg+FpVeDGYnhJwLi6ssdyDvAi6uL8F+sWKhAh8JcmwfmPBqwzuwq9CQ==", - "dependencies": { - "@abp/aspnetcore.components.server.theming": "~9.0.1" - } - }, - "node_modules/@abp/aspnetcore.components.server.theming": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-9.0.1.tgz", - "integrity": "sha512-PEvkCxlL+pYS6wdzIznghN+t0tIpr8ipuVK0zTFK4yFIFWDw+LzOPADGv1UcmlO7nxC6DGUxye5JatjX61Cocg==", - "dependencies": { - "@abp/bootstrap": "~9.0.1", - "@abp/font-awesome": "~9.0.1" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz", - "integrity": "sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA==", - "dependencies": { - "ansi-colors": "^4.1.3" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.basic": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz", - "integrity": "sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g==", - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.1" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.shared": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz", - "integrity": "sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ==", - "dependencies": { - "@abp/aspnetcore.mvc.ui": "~9.0.1", - "@abp/bootstrap": "~9.0.1", - "@abp/bootstrap-datepicker": "~9.0.1", - "@abp/bootstrap-daterangepicker": "~9.0.1", - "@abp/datatables.net-bs5": "~9.0.1", - "@abp/font-awesome": "~9.0.1", - "@abp/jquery-form": "~9.0.1", - "@abp/jquery-validation-unobtrusive": "~9.0.1", - "@abp/lodash": "~9.0.1", - "@abp/luxon": "~9.0.1", - "@abp/malihu-custom-scrollbar-plugin": "~9.0.1", - "@abp/moment": "~9.0.1", - "@abp/select2": "~9.0.1", - "@abp/sweetalert2": "~9.0.1", - "@abp/timeago": "~9.0.1", - "@abp/toastr": "~9.0.1" - } - }, - "node_modules/@abp/bootstrap": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz", - "integrity": "sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "bootstrap": "^5.3.3" - } - }, - "node_modules/@abp/bootstrap-datepicker": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz", - "integrity": "sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg==", - "dependencies": { - "bootstrap-datepicker": "^1.10.0" - } - }, - "node_modules/@abp/bootstrap-daterangepicker": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz", - "integrity": "sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA==", - "dependencies": { - "bootstrap-daterangepicker": "^3.1.0" - } - }, - "node_modules/@abp/core": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz", - "integrity": "sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w==", - "dependencies": { - "@abp/utils": "~9.0.1" - } - }, - "node_modules/@abp/datatables.net": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz", - "integrity": "sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "datatables.net": "^2.1.8" - } - }, - "node_modules/@abp/datatables.net-bs5": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz", - "integrity": "sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA==", - "dependencies": { - "@abp/datatables.net": "~9.0.1", - "datatables.net-bs5": "^2.1.8" - } - }, - "node_modules/@abp/font-awesome": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz", - "integrity": "sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "@fortawesome/fontawesome-free": "^6.6.0" - } - }, - "node_modules/@abp/jquery": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz", - "integrity": "sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw==", - "dependencies": { - "@abp/core": "~9.0.1", - "jquery": "~3.7.1" - } - }, - "node_modules/@abp/jquery-form": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz", - "integrity": "sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "jquery-form": "^4.3.0" - } - }, - "node_modules/@abp/jquery-validation": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz", - "integrity": "sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "jquery-validation": "^1.21.0" - } - }, - "node_modules/@abp/jquery-validation-unobtrusive": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz", - "integrity": "sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A==", - "dependencies": { - "@abp/jquery-validation": "~9.0.1", - "jquery-validation-unobtrusive": "^4.0.0" - } - }, - "node_modules/@abp/lodash": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz", - "integrity": "sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA==", - "dependencies": { - "@abp/core": "~9.0.1", - "lodash": "^4.17.21" - } - }, - "node_modules/@abp/luxon": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz", - "integrity": "sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw==", - "dependencies": { - "@abp/core": "~9.0.1", - "luxon": "^3.5.0" - } - }, - "node_modules/@abp/malihu-custom-scrollbar-plugin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz", - "integrity": "sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "malihu-custom-scrollbar-plugin": "^3.1.5" - } - }, - "node_modules/@abp/moment": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz", - "integrity": "sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ==", - "dependencies": { - "moment": "^2.30.1" - } - }, - "node_modules/@abp/select2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz", - "integrity": "sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA==", - "dependencies": { - "@abp/core": "~9.0.1", - "select2": "^4.0.13" - } - }, - "node_modules/@abp/sweetalert2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz", - "integrity": "sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw==", - "dependencies": { - "@abp/core": "~9.0.1", - "sweetalert2": "^11.14.1" - } - }, - "node_modules/@abp/timeago": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz", - "integrity": "sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "timeago": "^1.6.7" - } - }, - "node_modules/@abp/toastr": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz", - "integrity": "sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "toastr": "^2.1.4" - } - }, - "node_modules/@abp/utils": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz", - "integrity": "sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ==", - "dependencies": { - "just-compare": "^2.3.0" - } - }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz", - "integrity": "sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/bootstrap": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", - "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "peerDependencies": { - "@popperjs/core": "^2.11.8" - } - }, - "node_modules/bootstrap-datepicker": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz", - "integrity": "sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg==", - "dependencies": { - "jquery": ">=3.4.0 <4.0.0" - } - }, - "node_modules/bootstrap-daterangepicker": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz", - "integrity": "sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g==", - "dependencies": { - "jquery": ">=1.10", - "moment": "^2.9.0" - } - }, - "node_modules/datatables.net": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz", - "integrity": "sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA==", - "dependencies": { - "jquery": ">=1.7" - } - }, - "node_modules/datatables.net-bs5": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz", - "integrity": "sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg==", - "dependencies": { - "datatables.net": "2.1.8", - "jquery": ">=1.7" - } - }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, - "node_modules/jquery-form": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz", - "integrity": "sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ==", - "dependencies": { - "jquery": ">=1.7.2" - } - }, - "node_modules/jquery-mousewheel": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" - }, - "node_modules/jquery-validation": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz", - "integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==", - "peerDependencies": { - "jquery": "^1.7 || ^2.0 || ^3.1" - } - }, - "node_modules/jquery-validation-unobtrusive": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz", - "integrity": "sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ==", - "dependencies": { - "jquery": "^3.6.0", - "jquery-validation": ">=1.19" - } - }, - "node_modules/just-compare": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz", - "integrity": "sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/luxon": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", - "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/malihu-custom-scrollbar-plugin": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz", - "integrity": "sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ==", - "dependencies": { - "jquery-mousewheel": ">=3.0.6" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, - "node_modules/select2": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", - "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" - }, - "node_modules/sweetalert2": { - "version": "11.14.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz", - "integrity": "sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/limonte" - } - }, - "node_modules/timeago": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz", - "integrity": "sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ==", - "dependencies": { - "jquery": ">=1.5.0 <4.0" - } - }, - "node_modules/toastr": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", - "integrity": "sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA==", - "dependencies": { - "jquery": ">=1.12.0" - } - } - } -} diff --git a/samples/BookStore/src/BookStore.BlazorServer/package.json b/samples/BookStore/src/BookStore.BlazorServer/package.json deleted file mode 100644 index aee6594..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", - "@abp/aspnetcore.components.server.basictheme": "~9.0.0" - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/tempkey.jwk b/samples/BookStore/src/BookStore.BlazorServer/tempkey.jwk deleted file mode 100644 index 7f22f36..0000000 --- a/samples/BookStore/src/BookStore.BlazorServer/tempkey.jwk +++ /dev/null @@ -1 +0,0 @@ -{"AdditionalData":{},"Alg":"RS256","Crv":null,"D":"EJxSLqek1F97IN_FQrqH6tHTXj96D1sWsdrAG09HT4GPrg_FJUYhSOL5LDRaSTg8j_o72Id9NnBWMlCFtEEhRqqTm8JcnkSYFFcOCWDCmwhkcgQuQi9JXDWFDgEcyDTvvn-XT2eszrUifnXfaLArM6LiHApEMv_Q3rUFhuHfPM-fBn5-r_oyvY8ISU-dHzD7c8EHCvfG8U8GsyEDUKBVjxyDLZa6awoq5jG0TlXgAH73zYrIdhNlSDVAaxH6fYRbLMe0sDBmM5PEuWAh5XKsaeOyeXi2VcB-5vGzBkw0GbtPdtCE0t9IE6BBMjJZcn3qS-D65b3zKM1KsD-B64yArQ","DP":"Hp93c--dv_2o00kZnlGDloIGgo3t6VEHf1vxOHBXNEW6TxIV91zvVk7O9nWG5Gf9FRCGkT6B-dKuUXkTvS6iLrcONxdvTtZVTgb8tb5-gZRiWhnfPg3gE-fM-Kg5zWtDfXA1TZOIrAc4nQxws5Fv0_l9R5Yx6EVqhADZwkHaNk8","DQ":"cmc0f_Hn8zMzHZOpg8lcdAPd8E-o3oAGPUI86ksDDQgjdJEMDedm_L5ozmlM_rl1wX93xCPn_5dlIQCkQ7ggKYigwSzdmubz_xqicpbuzWZKMy0n-uovFOcY9e-RBR9bmEY8_l_X7xQ0Mt2wTsbtxhJUKIRjEDH5U26rNIptvs8","E":"AQAB","K":null,"KeyId":"E69CCEFDB17CF66EB573EDE9F6C97D25","Kid":"E69CCEFDB17CF66EB573EDE9F6C97D25","Kty":"RSA","N":"wXZHBDkeQUD9VPrdffdLWwYPMts1Z0e_cKpsGURoOBbkdVoW4s4Gx41ySpcQxKcjc0ZfZGCHTHTcIlX8fJpjcVI4yv8-Zvb2WiGu8p2AshzR7qZAQWapTyfdlYypHoOo_Ovtkwn5GiguYuw0Kad2O4LgmuHBusHkuhHA8IzES9cl8biO1vuF2C7OZ7QGNOQURcJ0DCRMuhNhw4duek4Qv20X3q4FP-GEj3TBPU8WrRaXWdvvnE5uYbKHlktzO8i90N-4LcaafjF5ybJKfhO_yJLg4VrOMp6d8N0Vvp82KKpuPOdxw9PtlzTClGhEEwhB_OV65uHJtQ0OTo-6dlZBaQ","Oth":null,"P":"4qTn9VWJSITHggHRjan14c56MPySufpMn5F2zZjHusIP7HfVfG0-OMisdQrwLyYs9PlPpBi5f15Wj8guNL41_EcHx_Y9acWpzNZcl3dvc3bZEmwa8TOM_SJmTC8jDs3PKXo5lTrW5-oplKhseKzdm9XTzGiyvIhr0X55r60ZW-M","Q":"2oUdKMsP8BYh1a-i8LQk5fSZV9oqcLcK9IGDHnagq0W-Phh2WygM-8eqM-aRY3A2R5dvCqUG7Xv8z0EnIvGL_cR97ZVAYXJsdLZVJBmWVmS81oxl3D9QvtAqW3Z_dO09kwGNzdKMg_lefRujL8SkoW4159_p8vsFE52IRbMQB0M","QI":"xD4LuaygDVMFans9eqP38Vonv7bpWe5oDVJaPzFTscbiwURTERzv7WhIZKZdPCG01MRiwwXCcMWqCrGZpTmcqwZVaeREcEd11qmVfQYvZKj_-8s8kmIQzXipPlTUFEaoGLJ0ipUoymmkGDTGXurkwR_dTX_d43PwQq6eMWKpBP8","Use":null,"X":null,"X5t":null,"X5tS256":null,"X5u":null,"Y":null,"KeySize":2048,"HasPrivateKey":true,"CryptoProviderFactory":{"CryptoProviderCache":{},"CustomCryptoProvider":null,"CacheSignatureProviders":true,"SignatureProviderObjectPoolCacheSize":64}} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/wwwroot/favicon.ico b/samples/BookStore/src/BookStore.BlazorServer/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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.4.0 <4.0.0" - -bootstrap-daterangepicker@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz" - integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== - dependencies: - jquery ">=1.10" - moment "^2.9.0" - -bootstrap@^5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz" - integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== - -datatables.net-bs5@^2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz" - integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== - dependencies: - datatables.net "2.1.8" - jquery ">=1.7" - -datatables.net@2.1.8, datatables.net@^2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz" - integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== - dependencies: - jquery ">=1.7" - -jquery-form@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz" - integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== - dependencies: - jquery ">=1.7.2" - -jquery-mousewheel@>=3.0.6: - version "3.1.13" - resolved "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz" - integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== - -jquery-validation-unobtrusive@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz" - integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== - dependencies: - jquery "^3.6.0" - jquery-validation ">=1.19" - -jquery-validation@>=1.19, jquery-validation@^1.21.0: - version "1.21.0" - resolved "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz" - integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== - -jquery@>=1.10, jquery@>=1.12.0, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1: - version "3.7.1" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -just-compare@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz" - integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -luxon@^3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz" - integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== - -malihu-custom-scrollbar-plugin@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz" - integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== - dependencies: - jquery-mousewheel ">=3.0.6" - -moment@^2.30.1, moment@^2.9.0: - version "2.30.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -select2@^4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz" - integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== - -sweetalert2@^11.14.1: - version "11.14.5" - resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz" - integrity sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ== - -timeago@^1.6.7: - version "1.6.7" - resolved "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz" - integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== - dependencies: - jquery ">=1.5.0 <4.0" - -toastr@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz" - integrity sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA== - dependencies: - jquery ">=1.12.0" diff --git a/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj b/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj deleted file mode 100644 index fa51d6b..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - Exe - net9.0 - BookStore-4681b4fd-151f-4221-84a4-929d86723e4c - - - - - - PreserveNewest - Always - - - - PreserveNewest - Always - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - Never - - - - diff --git a/samples/BookStore/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs b/samples/BookStore/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs deleted file mode 100644 index 494c1db..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs +++ /dev/null @@ -1,19 +0,0 @@ -using BookStore.EntityFrameworkCore; -using Volo.Abp.Autofac; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.Modularity; - -namespace BookStore.DbMigrator; - -[DependsOn( - typeof(AbpAutofacModule), - typeof(BookStoreEntityFrameworkCoreModule), - typeof(BookStoreApplicationContractsModule) - )] -public class BookStoreDbMigratorModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => options.IsJobExecutionEnabled = false); - } -} diff --git a/samples/BookStore/src/BookStore.DbMigrator/Properties/launchSettings.json b/samples/BookStore/src/BookStore.DbMigrator/Properties/launchSettings.json deleted file mode 100644 index 2b64164..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/Properties/launchSettings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "profiles": { - "BookStore.DbMigrator": { - "commandName": "Project", - "environmentVariables": { - "DOTNET_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.DbMigrator/appsettings.json b/samples/BookStore/src/BookStore.DbMigrator/appsettings.json deleted file mode 100644 index 55408f3..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/appsettings.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "ConnectionStrings": { - "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" - }, - "IdentityServer": { - "Clients": { - "BookStore_Web": { - "ClientId": "BookStore_Web", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44364" - }, - "BookStore_App": { - "ClientId": "BookStore_App", - "ClientSecret": "1q2w3e*", - "RootUrl": "http://localhost:4200" - }, - "BookStore_Blazor": { - "ClientId": "BookStore_Blazor", - "RootUrl": "https://localhost:44307" - }, - "BookStore_BlazorServerTiered": { - "ClientId": "BookStore_BlazorServerTiered", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44314" - }, - "BookStore_Swagger": { - "ClientId": "BookStore_Swagger", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44306" - } - } - } -} diff --git a/samples/BookStore/src/BookStore.DbMigrator/appsettings.secrets.json b/samples/BookStore/src/BookStore.DbMigrator/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.DbMigrator/tempkey.jwk b/samples/BookStore/src/BookStore.DbMigrator/tempkey.jwk deleted file mode 100644 index cb61cc8..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/tempkey.jwk +++ /dev/null @@ -1 +0,0 @@ -{"AdditionalData":{},"Alg":"RS256","Crv":null,"D":"RQqr8Z8ir1NA_0eRG_JqM5joAE6Pt-fxInYHa1F10YI4LHzU9NBRK3-xqimQgBUZYQs_YsZWi4GVKg1fu4Zlj86iYLVv39dNMLLPK7gFyv3EzwT4Z3Fm_kddRyavOKPF8zku_lIhj45BEpVA0aCd4vd9e3WiV6l8_Ig3MYaA2xukt0MbuhoB9VvWCYeC3vTvsGGweAxrMVjtrmTorLR0EMC8uv9dEkentmmAd2_DI7lYHIbD58TKGa9oCNQIVPRryPtJoRmqNqd9wvXUk01mBNaSnuRap2VM_2XmNQZAaet5X8q02b9dGJOOrv82Ypc_o8enZhO6JKrD8B7M2k69cQ","DP":"Yzr8OPucm3GvZYdREv2_5cd1QbmLzyXBQJxu201e4ko3rP5SP-nNygG2Uh8DLHiyUgElL5NF-wrfXH7kvvPCbh5I1DVp_-FfU9nFT1_9nNaesWNyeJ2L1AdaQQ5KW0h3bhvm5lDtTLIX3VRrPdmSVEeWJb4ptwb15P0tlidmGTU","DQ":"KtvbqSOmGaZlNHWd6SyY0elBLQSQTBYRFqMNcwQO66vvqI0cg-9xg6sFBtTE66jQ_tqfjCAycr1FAoPgZtV47AG9-9bBthDNrhQ8UnFIbzLWk1z7NVcfycitI2BQRIo5Os6DJRbIOs4Z8G0XDP_IubVzHSi_iEQKa0Mm73h8HIs","E":"AQAB","K":null,"KeyId":"FF8EFB08BDDF8DB9A9746ED51EE4D47B","Kid":"FF8EFB08BDDF8DB9A9746ED51EE4D47B","Kty":"RSA","N":"l9vattvq0RJAbPLFo_7QzAeF3rhp5_CuZiGyIsl4I2X7PwmrZwsVTlRzJT9K5mA9gENc8iFqhO7JsmvKU5CFz024_fiDU9BpGCj24U2l6mEel-rkyOzYGN4cPKhQ01Bw6-NJyCD9x9e6LGNH_UNSIjT_cOwmvia8ugn_mkD5YYs_YQKa18Re0b1d1P5x_YofFdVfJB6t0mYtDBHbPqVVPCCOSRX0NkJ2bn7RLhs9TqiNbGhOWRQGj1wujiz73ab0szSJ-DZjR9n9qhzbkWeoQUZvihJuABTIQd_0_mWOVq30aFHfMgQHz8_Nd0BY4CKjLIBcSDtwOL5pmI1zix_PPQ","Oth":null,"P":"xgREcF60bc0bGsH1Eu6zxx-Xzpop8SO4JkU-5xrY2fQywRRetbcNk8WSbwJ9Jp1qk8l95Ki5kVms9r3cuBaVtTSrcd6nsaQLk8DG31F-3FEYLgmqIcSDR0Eq5AVDx_YLLq-sdLwqcrR4yQRaoCUK8WBJMFirpyS4nStIIPbpwhM","Q":"xFN_5ss4DBrRy_salfSMVCLEsD6mdJl5azy_2oXE-6Gngh3CABtLnobSIv7ncKtuDlf4iLNWWiQ_Vqxdc6R0DAAbcN3VZI1IAC1ro_xCEiF-BsF5FwjgnQpOH43ViVcVL65epgyDXZH4IukRu-CJ4ILHfF_HC7ZmKJMNDi3V028","QI":"mCMDSsxX8z7QAU_giIlKscCQVquPFT8coR_eqs4nu4DBnUbu1R5qYWIm0EQ00OhSEokiys__AxpJmb0NL5QH-UQJYHPcKIhJLkcfGQd2Rt_hGH54rw3bhRNMPwnekv_jkzqGKG9lf8hlA7Z3gMawztjU2zLnUMcuQy0AsQ0YWbs","Use":null,"X":null,"X5t":null,"X5tS256":null,"X5u":null,"Y":null,"KeySize":2048,"HasPrivateKey":true,"CryptoProviderFactory":{"CryptoProviderCache":{},"CustomCryptoProvider":null,"CacheSignatureProviders":true,"SignatureProviderObjectPoolCacheSize":64}} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.DbMigrator/tempkey.rsa b/samples/BookStore/src/BookStore.DbMigrator/tempkey.rsa deleted file mode 100644 index 494c201..0000000 --- a/samples/BookStore/src/BookStore.DbMigrator/tempkey.rsa +++ /dev/null @@ -1,13 +0,0 @@ -{ - "KeyId": "f788zGVUZh9H-HbWL1S-Mg", - "Parameters": { - "D": "F19hbC5PLO872DszGiJnVoU55ee7XGXmNf0KEKndJ/uGBv5lWklXA0QF80h1ytWXde0jV5isQPB1t7mPhRQlDoDTkywLi1CeOgBPbxzHEfLjZZ5c4olfeX0IJX9BDqgUntY0H1a/+Om/eDu4OZUz3EIJFFZBgz46YZSyTT6ZDvAEdpC/o66sNJmxvJIp+8zVoVDSqBUzxmc+oEamXLg7r2jdymxJMxau1kQFxEGLOrJnNxGsEe8UrYA3qSsm8m/Xg4uOh7RYgnuEEt88+KTvRq+CAMWhN3YNLtOJ3NmXowwE7e1Ma+jih9+UVfxZn14P5+SOJbQ2bYV2sCV+2vBiCQ==", - "DP": "oPiGO/qdOQfFEAS9fMInQnsrNylIZVpDYEVoDJ6/jQfE/IpuwxGcmsaGvCob3SKxZiJRLCWpwJYo1hCh/JOSVGWMkVyELky56nbbkkV5ymKLSGZ4JoetdQs+GchnPdR+k2P9Ij1Kjk13ylubN3htzNhcBASJpOfSEv5pPVzGKX0=", - "DQ": "z6imxLABHkyftbfUUtpeOlPanEHgpuIjmUdp3T1Ju1jziE63UEhuj0GPAXOF17uYxixwYE8JhOJ7+TyIK9oZeI3zH2OzJqQh8f5PCQ/E+0ULXZDeNV/ShDLCTufu3Fis9Rt64uTp/H/l21oMQ79jc0ysa8DTz1ReJLRc5qjL41U=", - "Exponent": "AQAB", - "InverseQ": "ieZcvSt5XYukKJKhXpv5Dm/1RD7iH88cZnhLSTEVTMoOUHoYWmApY5pNLGahbfjA9bxnkBWDYex/i7wE9uNNY5CsA6ovUaQLVJDt3kHvR9W+9QtN8D6jjG2TuRbbOdEg4RqhfjUaDfDIgTJX2Wxc8U98FOvOyGw1HzwUPFZKecM=", - "Modulus": "vk4z1Bmtmbo+gxITcY+FIlXzcO2wTOGlOXK5GMYj/6PUMFt7lbqkc72AkPsrAo5/JE8LYLhWj7fzSKbjvtowHCz5m2t+FlUYmuiKpvvnJsTqvQrckNlbZ1nm071q5PhP3Dar/OksfBhPtAX+c3+NjDnM/w53ccJJNaBDO/s9JYoN7vH5n6ed1pMSK71hmg4MPsxChcnc1f1PpnG2mqyJ253+GEUbj/kRyeBSmCCr9aadov2ZzxIKVaFNagJEHOzanQmorSLpP25GfOHCuy27Zkef94V/qU9elzjbH4uIKslVGx5T6H99TYh0sUGu11NytYJa5WNAZWow95CzurC2vw==", - "P": "4GMCQy+XTNzR5TsgFcdAZv2K6TcQR13fHVvPoxQp/b32V5YUJOBFEUAtqociy5ro4+KzpXP5WPSk1ZtznGKuNZyLq8gTnhpB3rwd0sdo4zxKnQ5nu+n1UhlhWNxg5A9V5TaciUAyPrHWJfLoYTQWygNTgJELQH5zZXi2ihC2uiU=", - "Q": "2R36pamnLAJggkPJxiW5qH6HizZ+bkQVg0BBftMLzkAM8Y9CwTW75GRUzGEJFpMckkw0GZSYb1Uwl3DVUpkcQ8LZ91IPYdPpDlYUshhIxl184M55pnO14besKxJtMZ64zhHKVAR2pBMO0n6W4/1iBXkkQqyPViJxdfvXPJMBbhM=" - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs b/samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs deleted file mode 100644 index c5a8472..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs +++ /dev/null @@ -1,58 +0,0 @@ -using BookStore.Localization; -using Volo.Abp.AuditLogging; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.IdentityServer; -using Volo.Abp.Localization; -using Volo.Abp.Localization.ExceptionHandling; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.Validation.Localization; -using Volo.Abp.VirtualFileSystem; - -namespace BookStore; - -[DependsOn( - typeof(AbpAuditLoggingDomainSharedModule), - typeof(AbpBackgroundJobsDomainSharedModule), - typeof(AbpFeatureManagementDomainSharedModule), - typeof(AbpIdentityDomainSharedModule), - typeof(AbpIdentityServerDomainSharedModule), - typeof(AbpPermissionManagementDomainSharedModule), - typeof(AbpSettingManagementDomainSharedModule), - typeof(AbpTenantManagementDomainSharedModule) - )] -public class BookStoreDomainSharedModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - BookStoreGlobalFeatureConfigurator.Configure(); - BookStoreModuleExtensionConfigurator.Configure(); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/BookStore"); - - options.DefaultResourceType = typeof(BookStoreResource); - }); - - Configure(options => - { - options.MapCodeNamespace("BookStore", typeof(BookStoreResource)); - }); - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs b/samples/BookStore/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs deleted file mode 100644 index ac4cb5a..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs +++ /dev/null @@ -1,82 +0,0 @@ -using BookStore.Identity; -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace BookStore; - -public static class BookStoreModuleExtensionConfigurator -{ - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - ConfigureExistingProperties(); - ConfigureExtraProperties(); - }); - } - - private static void ConfigureExistingProperties() - { - /* You can change max lengths for properties of the - * entities defined in the modules used by your application. - * - * Example: Change user and role name max lengths - - IdentityUserConsts.MaxNameLength = 99; - IdentityRoleConsts.MaxNameLength = 99; - - * Notice: It is not suggested to change property lengths - * unless you really need it. Go with the standard values wherever possible. - * - * If you are using EF Core, you will need to run the add-migration command after your changes. - */ - } - - private static void ConfigureExtraProperties() - { - /* You can configure extra properties for the - * entities defined in the modules used by your application. - * - * This class can be used to define these extra properties - * with a high level, easy to use API. - * - * Example: Add a new property to the user entity of the identity module - - ObjectExtensionManager.Instance.Modules() - .ConfigureIdentity(identity => - { - identity.ConfigureUser(user => - { - user.AddOrUpdateProperty( //property type: string - "SocialSecurityNumber", //property name - property => - { - //validation rules - property.Attributes.Add(new RequiredAttribute()); - property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4}); - - //...other configurations for this property - } - ); - }); - }); - - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Module-Entity-Extensions - */ - - ObjectExtensionManager.Instance.Modules() - .ConfigureIdentity(identity => { - identity.ConfigureUser(user => - { - user.AddOrUpdateProperty("IdentityUserType", property => - { - property.DefaultValue = IdentityUserType.Normal; - }); - }); - }); - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Identity/IdentityUserType.cs b/samples/BookStore/src/BookStore.Domain.Shared/Identity/IdentityUserType.cs deleted file mode 100644 index fa3253f..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Identity/IdentityUserType.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace BookStore.Identity; - -public enum IdentityUserType -{ - Normal, - Basic -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ar.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ar.json deleted file mode 100644 index 3e5227a..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ar.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ar", - "texts": { - "Menu:Home": "الرئيسية", - "Welcome": "مرحبا", - "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ، يرجى زيارة abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/cs.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/cs.json deleted file mode 100644 index 5a0bbf6..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/cs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:Home": "Úvod", - "Welcome": "Vítejte", - "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json deleted file mode 100644 index aca4528..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "de-DE", - "texts": { - "Menu:Home": "Home", - "Welcome": "Willkommen", - "LongWelcomeMessage": "Willkommen bei der Anwendung. Dies ist ein Startup-Projekt, das auf dem ABP-Framework basiert. Weitere Informationen finden Sie unter abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en.json deleted file mode 100644 index 6a624b5..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "culture": "en", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io.", - "IdentityUserType": "User Type", - "Enum:IdentityUserType.Normal": "Normal User", - "Enum:IdentityUserType.Basic": "Basic User" - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/es.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/es.json deleted file mode 100644 index 31b4b59..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/es.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "es", - "texts": { - "Menu:Home": "Inicio", - "Welcome": "Bienvenido", - "LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fi.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fi.json deleted file mode 100644 index a318859..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "fi", - "texts": { - "Menu:Home": "Koti", - "Welcome": "Tervetuloa", - "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fr.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fr.json deleted file mode 100644 index e76eac0..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "fr", - "texts": { - "Menu:Home": "Accueil", - "Welcome": "Bienvenue", - "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hi.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hi.json deleted file mode 100644 index a1676bf..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hi", - "texts": { - "Menu:Home": "घर", - "Welcome": "स्वागत हे", - "LongWelcomeMessage": "आवेदन करने के लिए आपका स्वागत है। यह एबीपी ढांचे पर आधारित एक स्टार्टअप परियोजना है। अधिक जानकारी के लिए, abp.io पर जाएं।" - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hu.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hu.json deleted file mode 100644 index c7b6a33..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hu.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hu", - "texts": { - "Menu:Home": "Kezdőlap", - "Welcome": "Üdvözlöm", - "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információkért látogasson el az abp.io oldalra." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/is.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/is.json deleted file mode 100644 index 190df90..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/is.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "is", - "texts": { - "Menu:Home": "Heim", - "Welcome": "Velkomin", - "LongWelcomeMessage": "Verið velkomin í forritið. Þetta er startup verkefni sem byggir á ABP. Nánari upplýsingar er að finna á abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/it.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/it.json deleted file mode 100644 index 82ce42b..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/it.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "it", - "texts": { - "Menu:Home": "Home", - "Welcome": "Benvenuto", - "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per ulteriori informazioni, visita abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/nl.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/nl.json deleted file mode 100644 index 9ba8da4..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/nl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "nl", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welkom", - "LongWelcomeMessage": "Welkom bij de applicatie. Dit is een startup-project gebaseerd op het ABP-framework. Bezoek abp.io voor meer informatie." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pl-PL.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pl-PL.json deleted file mode 100644 index 33412f3..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pl-PL.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Menu:Home": "Home", - "Welcome": "Witaj", - "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json deleted file mode 100644 index 8c818a0..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:Home": "Principal", - "Welcome": "Seja bem-vindo!", - "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json deleted file mode 100644 index 1fe5601..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ro-RO", - "texts": { - "Menu:Home": "Acasă", - "Welcome": "Bun venit", - "LongWelcomeMessage": "Bun venit la aplicaţie. Acesta este un proiect de pornire bazat pe framework-ul ABP. Pentru mai multe informaţii, vizitaţi, visit abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ru.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ru.json deleted file mode 100644 index 8464e44..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ru.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ru", - "texts": { - "Menu:Home": "Главная", - "Welcome": "Добро пожаловать", - "LongWelcomeMessage": "Добро пожаловать в приложение. Этот запущенный проект основан на фреймворке ABP. Для получения дополнительной информации посетите сайт abp.io." - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sk.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sk.json deleted file mode 100644 index 4f35aaf..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sk.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "sk", - "texts": { - "Menu:Home": "Domov", - "Welcome": "Vitajte", - "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovací projekt založený na ABP frameworku. Viac informácií nájdete na stránke abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sl.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sl.json deleted file mode 100644 index a066ef2..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:Home": "Domov", - "Welcome": "Dobrodošli", - "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/tr.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/tr.json deleted file mode 100644 index 2cc911e..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/tr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:Home": "Ana sayfa", - "Welcome": "Hoşgeldiniz", - "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/vi.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/vi.json deleted file mode 100644 index c115a35..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/vi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:Home": "Trang chủ", - "Welcome": "Chào mừng bạn", - "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." - } -} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json deleted file mode 100644 index 9fd5bb0..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "culture": "zh-Hans", - "texts": { - "Menu:Home": "首页", - "Welcome": "欢迎", - "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io.", - "IdentityUserType": "用户类型", - "Enum:IdentityUserType.Normal": "标准用户", - "Enum:IdentityUserType.Basic": "基础用户" - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json b/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json deleted file mode 100644 index 31e0ab5..0000000 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "zh-Hant", - "texts": { - "Menu:Home": "首頁", - "Welcome": "歡迎", - "LongWelcomeMessage": "歡迎來到此應用程式. 這是一個基於ABP框架的起始專案. 有關更多訊息, 請瀏覽 abp.io." - } - } \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain/BookStoreConsts.cs b/samples/BookStore/src/BookStore.Domain/BookStoreConsts.cs deleted file mode 100644 index 9c17333..0000000 --- a/samples/BookStore/src/BookStore.Domain/BookStoreConsts.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace BookStore; - -public static class BookStoreConsts -{ - public const string DbTablePrefix = "App"; - - public const string DbSchema = null; -} diff --git a/samples/BookStore/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs b/samples/BookStore/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs deleted file mode 100644 index 4a06513..0000000 --- a/samples/BookStore/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs +++ /dev/null @@ -1,219 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Identity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.TenantManagement; - -namespace BookStore.Data; - -public class BookStoreDbMigrationService : ITransientDependency -{ - public ILogger Logger { get; set; } - - private readonly IDataSeeder _dataSeeder; - private readonly IEnumerable _dbSchemaMigrators; - private readonly ITenantRepository _tenantRepository; - private readonly ICurrentTenant _currentTenant; - - public BookStoreDbMigrationService( - IDataSeeder dataSeeder, - IEnumerable dbSchemaMigrators, - ITenantRepository tenantRepository, - ICurrentTenant currentTenant) - { - _dataSeeder = dataSeeder; - _dbSchemaMigrators = dbSchemaMigrators; - _tenantRepository = tenantRepository; - _currentTenant = currentTenant; - - Logger = NullLogger.Instance; - } - - public async Task MigrateAsync() - { - var initialMigrationAdded = AddInitialMigrationIfNotExist(); - - if (initialMigrationAdded) - { - return; - } - - Logger.LogInformation("Started database migrations..."); - - await MigrateDatabaseSchemaAsync(); - await SeedDataAsync(); - - Logger.LogInformation($"Successfully completed host database migrations."); - - var tenants = await _tenantRepository.GetListAsync(includeDetails: true); - - var migratedDatabaseSchemas = new HashSet(); - foreach (var tenant in tenants) - { - using (_currentTenant.Change(tenant.Id)) - { - if (tenant.ConnectionStrings.Any()) - { - var tenantConnectionStrings = tenant.ConnectionStrings - .Select(x => x.Value) - .ToList(); - - if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings)) - { - await MigrateDatabaseSchemaAsync(tenant); - - migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings); - } - } - - await SeedDataAsync(tenant); - } - - Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations."); - } - - Logger.LogInformation("Successfully completed all database migrations."); - Logger.LogInformation("You can safely end this process..."); - } - - private async Task MigrateDatabaseSchemaAsync(Tenant tenant = null) - { - Logger.LogInformation( - $"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database..."); - - foreach (var migrator in _dbSchemaMigrators) - { - await migrator.MigrateAsync(); - } - } - - private async Task SeedDataAsync(Tenant tenant = null) - { - Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed..."); - - await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id) - .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, IdentityDataSeedContributor.AdminEmailDefaultValue) - .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, IdentityDataSeedContributor.AdminPasswordDefaultValue) - ); - } - - private bool AddInitialMigrationIfNotExist() - { - try - { - if (!DbMigrationsProjectExists()) - { - return false; - } - } - catch (Exception) - { - return false; - } - - try - { - if (!MigrationsFolderExists()) - { - AddInitialMigration(); - return true; - } - else - { - return false; - } - } - catch (Exception e) - { - Logger.LogWarning("Couldn't determinate if any migrations exist : " + e.Message); - return false; - } - } - - private bool DbMigrationsProjectExists() - { - var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath(); - - return dbMigrationsProjectFolder != null; - } - - private bool MigrationsFolderExists() - { - var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath(); - - return Directory.Exists(Path.Combine(dbMigrationsProjectFolder, "Migrations")); - } - - private void AddInitialMigration() - { - Logger.LogInformation("Creating initial migration..."); - - string argumentPrefix; - string fileName; - - if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) || RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - argumentPrefix = "-c"; - fileName = "/bin/bash"; - } - else - { - argumentPrefix = "/C"; - fileName = "cmd.exe"; - } - - var procStartInfo = new ProcessStartInfo(fileName, - $"{argumentPrefix} \"abp create-migration-and-run-migrator \"{GetEntityFrameworkCoreProjectFolderPath()}\"\"" - ); - - try - { - Process.Start(procStartInfo); - } - catch (Exception) - { - throw new Exception("Couldn't run ABP CLI..."); - } - } - - private string GetEntityFrameworkCoreProjectFolderPath() - { - var slnDirectoryPath = GetSolutionDirectoryPath(); - - if (slnDirectoryPath == null) - { - throw new Exception("Solution folder not found!"); - } - - var srcDirectoryPath = Path.Combine(slnDirectoryPath, "src"); - - return Directory.GetDirectories(srcDirectoryPath) - .FirstOrDefault(d => d.EndsWith(".EntityFrameworkCore")); - } - - private string GetSolutionDirectoryPath() - { - var currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory()); - - while (Directory.GetParent(currentDirectory.FullName) != null) - { - currentDirectory = Directory.GetParent(currentDirectory.FullName); - - if (Directory.GetFiles(currentDirectory.FullName).FirstOrDefault(f => f.EndsWith(".sln")) != null) - { - return currentDirectory.FullName; - } - } - - return null; - } -} diff --git a/samples/BookStore/src/BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs b/samples/BookStore/src/BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs deleted file mode 100644 index ffb4c79..0000000 --- a/samples/BookStore/src/BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs +++ /dev/null @@ -1,306 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using IdentityServer4.Models; -using Microsoft.Extensions.Configuration; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Guids; -using Volo.Abp.IdentityServer.ApiResources; -using Volo.Abp.IdentityServer.ApiScopes; -using Volo.Abp.IdentityServer.Clients; -using Volo.Abp.IdentityServer.IdentityResources; -using Volo.Abp.MultiTenancy; -using Volo.Abp.PermissionManagement; -using Volo.Abp.Uow; -using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; -using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope; -using Client = Volo.Abp.IdentityServer.Clients.Client; - -namespace BookStore.IdentityServer; - -public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransientDependency -{ - private readonly IApiResourceRepository _apiResourceRepository; - private readonly IApiScopeRepository _apiScopeRepository; - private readonly IClientRepository _clientRepository; - private readonly IIdentityResourceDataSeeder _identityResourceDataSeeder; - private readonly IGuidGenerator _guidGenerator; - private readonly IPermissionDataSeeder _permissionDataSeeder; - private readonly IConfiguration _configuration; - private readonly ICurrentTenant _currentTenant; - - public IdentityServerDataSeedContributor( - IClientRepository clientRepository, - IApiResourceRepository apiResourceRepository, - IApiScopeRepository apiScopeRepository, - IIdentityResourceDataSeeder identityResourceDataSeeder, - IGuidGenerator guidGenerator, - IPermissionDataSeeder permissionDataSeeder, - IConfiguration configuration, - ICurrentTenant currentTenant) - { - _clientRepository = clientRepository; - _apiResourceRepository = apiResourceRepository; - _apiScopeRepository = apiScopeRepository; - _identityResourceDataSeeder = identityResourceDataSeeder; - _guidGenerator = guidGenerator; - _permissionDataSeeder = permissionDataSeeder; - _configuration = configuration; - _currentTenant = currentTenant; - } - - [UnitOfWork] - public virtual async Task SeedAsync(DataSeedContext context) - { - using (_currentTenant.Change(context?.TenantId)) - { - await _identityResourceDataSeeder.CreateStandardResourcesAsync(); - await CreateApiResourcesAsync(); - await CreateApiScopesAsync(); - await CreateClientsAsync(); - } - } - - private async Task CreateApiScopesAsync() - { - await CreateApiScopeAsync("BookStore"); - } - - private async Task CreateApiResourcesAsync() - { - var commonApiUserClaims = new[] - { - "email", - "email_verified", - "name", - "phone_number", - "phone_number_verified", - "role" - }; - - await CreateApiResourceAsync("BookStore", commonApiUserClaims); - } - - private async Task CreateApiResourceAsync(string name, IEnumerable claims) - { - var apiResource = await _apiResourceRepository.FindByNameAsync(name); - if (apiResource == null) - { - apiResource = await _apiResourceRepository.InsertAsync( - new ApiResource( - _guidGenerator.Create(), - name, - name + " API" - ), - autoSave: true - ); - } - - foreach (var claim in claims) - { - if (apiResource.FindClaim(claim) == null) - { - apiResource.AddUserClaim(claim); - } - } - - return await _apiResourceRepository.UpdateAsync(apiResource); - } - - private async Task CreateApiScopeAsync(string name) - { - var apiScope = await _apiScopeRepository.FindByNameAsync(name); - if (apiScope == null) - { - apiScope = await _apiScopeRepository.InsertAsync( - new ApiScope( - _guidGenerator.Create(), - name, - name + " API" - ), - autoSave: true - ); - } - - return apiScope; - } - - private async Task CreateClientsAsync() - { - var commonScopes = new[] - { - "email", - "openid", - "profile", - "role", - "phone", - "address", - "BookStore" - }; - - var configurationSection = _configuration.GetSection("IdentityServer:Clients"); - - - //Console Test / Angular Client - var consoleAndAngularClientId = configurationSection["BookStore_App:ClientId"]; - if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) - { - var webClientRootUrl = configurationSection["BookStore_App:RootUrl"]?.TrimEnd('/'); - - await CreateClientAsync( - name: consoleAndAngularClientId, - scopes: commonScopes, - grantTypes: new[] { "password", "client_credentials", "authorization_code" }, - secret: (configurationSection["BookStore_App:ClientSecret"] ?? "1q2w3e*").Sha256(), - requireClientSecret: false, - redirectUri: webClientRootUrl, - postLogoutRedirectUri: webClientRootUrl, - corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") } - ); - } - - - // Blazor Client - var blazorClientId = configurationSection["BookStore_Blazor:ClientId"]; - if (!blazorClientId.IsNullOrWhiteSpace()) - { - var blazorRootUrl = configurationSection["BookStore_Blazor:RootUrl"].TrimEnd('/'); - - await CreateClientAsync( - name: blazorClientId, - scopes: commonScopes, - grantTypes: new[] { "authorization_code" }, - secret: configurationSection["BookStore_Blazor:ClientSecret"]?.Sha256(), - requireClientSecret: false, - redirectUri: $"{blazorRootUrl}/authentication/login-callback", - postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback", - corsOrigins: new[] { blazorRootUrl.RemovePostFix("/") } - ); - } - - - - // Swagger Client - var swaggerClientId = configurationSection["BookStore_Swagger:ClientId"]; - if (!swaggerClientId.IsNullOrWhiteSpace()) - { - var swaggerRootUrl = configurationSection["BookStore_Swagger:RootUrl"].TrimEnd('/'); - - await CreateClientAsync( - name: swaggerClientId, - scopes: commonScopes, - grantTypes: new[] { "authorization_code" }, - secret: configurationSection["BookStore_Swagger:ClientSecret"]?.Sha256(), - requireClientSecret: false, - redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html", - corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") } - ); - } - } - - private async Task CreateClientAsync( - string name, - IEnumerable scopes, - IEnumerable grantTypes, - string secret = null, - string redirectUri = null, - string postLogoutRedirectUri = null, - string frontChannelLogoutUri = null, - bool requireClientSecret = true, - bool requirePkce = false, - IEnumerable permissions = null, - IEnumerable corsOrigins = null) - { - var client = await _clientRepository.FindByClientIdAsync(name); - if (client == null) - { - client = await _clientRepository.InsertAsync( - new Client( - _guidGenerator.Create(), - name - ) - { - ClientName = name, - ProtocolType = "oidc", - Description = name, - AlwaysIncludeUserClaimsInIdToken = true, - AllowOfflineAccess = true, - AbsoluteRefreshTokenLifetime = 31536000, //365 days - AccessTokenLifetime = 31536000, //365 days - AuthorizationCodeLifetime = 300, - IdentityTokenLifetime = 300, - RequireConsent = false, - FrontChannelLogoutUri = frontChannelLogoutUri, - RequireClientSecret = requireClientSecret, - RequirePkce = requirePkce - }, - autoSave: true - ); - } - - foreach (var scope in scopes) - { - if (client.FindScope(scope) == null) - { - client.AddScope(scope); - } - } - - foreach (var grantType in grantTypes) - { - if (client.FindGrantType(grantType) == null) - { - client.AddGrantType(grantType); - } - } - - if (!secret.IsNullOrEmpty()) - { - if (client.FindSecret(secret) == null) - { - client.AddSecret(secret); - } - } - - if (redirectUri != null) - { - if (client.FindRedirectUri(redirectUri) == null) - { - client.AddRedirectUri(redirectUri); - } - } - - if (postLogoutRedirectUri != null) - { - if (client.FindPostLogoutRedirectUri(postLogoutRedirectUri) == null) - { - client.AddPostLogoutRedirectUri(postLogoutRedirectUri); - } - } - - if (permissions != null) - { - await _permissionDataSeeder.SeedAsync( - ClientPermissionValueProvider.ProviderName, - name, - permissions, - null - ); - } - - if (corsOrigins != null) - { - foreach (var origin in corsOrigins) - { - if (!origin.IsNullOrWhiteSpace() && client.FindCorsOrigin(origin) == null) - { - client.AddCorsOrigin(origin); - } - } - } - - return await _clientRepository.UpdateAsync(client); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj b/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj deleted file mode 100644 index 405db1b..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/BookStore.EntityFrameworkCore.csproj +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - net9.0 - BookStore - - - - - - - - - - - - - - - - - - runtime; build; native; contentfiles; analyzers - compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native - - - - diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs deleted file mode 100644 index ea5b905..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContext.cs +++ /dev/null @@ -1,87 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.AuditLogging.EntityFrameworkCore; -using Volo.Abp.BackgroundJobs.EntityFrameworkCore; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.FeatureManagement.EntityFrameworkCore; -using Volo.Abp.Identity; -using Volo.Abp.Identity.EntityFrameworkCore; -using Volo.Abp.IdentityServer.EntityFrameworkCore; -using Volo.Abp.PermissionManagement.EntityFrameworkCore; -using Volo.Abp.SettingManagement.EntityFrameworkCore; -using Volo.Abp.TenantManagement; -using Volo.Abp.TenantManagement.EntityFrameworkCore; - -namespace BookStore.EntityFrameworkCore; - -[ReplaceDbContext(typeof(IIdentityDbContext))] -[ReplaceDbContext(typeof(ITenantManagementDbContext))] -[ConnectionStringName("Default")] -public class BookStoreDbContext : - AbpDbContext, - IIdentityDbContext, - ITenantManagementDbContext -{ - /* Add DbSet properties for your Aggregate Roots / Entities here. */ - - #region Entities from the modules - - /* Notice: We only implemented IIdentityDbContext and ITenantManagementDbContext - * and replaced them for this DbContext. This allows you to perform JOIN - * queries for the entities of these modules over the repositories easily. You - * typically don't need that for other modules. But, if you need, you can - * implement the DbContext interface of the needed module and use ReplaceDbContext - * attribute just like IIdentityDbContext and ITenantManagementDbContext. - * - * More info: Replacing a DbContext of a module ensures that the related module - * uses this DbContext on runtime. Otherwise, it will use its own DbContext class. - */ - - //Identity - public DbSet Users { get; set; } - public DbSet Roles { get; set; } - public DbSet ClaimTypes { get; set; } - public DbSet OrganizationUnits { get; set; } - public DbSet SecurityLogs { get; set; } - public DbSet LinkUsers { get; set; } - public DbSet UserDelegations { get; set;} - public DbSet Sessions { get; set; } - - // Tenant Management - public DbSet Tenants { get; set; } - public DbSet TenantConnectionStrings { get; set; } - - #endregion - - public BookStoreDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - /* Include modules to your migration db context */ - - builder.ConfigurePermissionManagement(); - builder.ConfigureSettingManagement(); - builder.ConfigureBackgroundJobs(); - builder.ConfigureAuditLogging(); - builder.ConfigureIdentity(); - builder.ConfigureIdentityServer(); - builder.ConfigureFeatureManagement(); - builder.ConfigureTenantManagement(); - - /* Configure your own tables/entities inside here */ - - //builder.Entity(b => - //{ - // b.ToTable(BookStoreConsts.DbTablePrefix + "YourEntities", BookStoreConsts.DbSchema); - // b.ConfigureByConvention(); //auto configure for the base class props - // //... - //}); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs deleted file mode 100644 index 0da72a4..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.IO; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; -using Microsoft.Extensions.Configuration; - -namespace BookStore.EntityFrameworkCore; - -/* This class is needed for EF Core console commands - * (like Add-Migration and Update-Database commands) */ -public class BookStoreDbContextFactory : IDesignTimeDbContextFactory -{ - public BookStoreDbContext CreateDbContext(string[] args) - { - BookStoreEfCoreEntityExtensionMappings.Configure(); - - var configuration = BuildConfiguration(); - - var builder = new DbContextOptionsBuilder() - .UseSqlServer(configuration.GetConnectionString("Default")); - - return new BookStoreDbContext(builder.Options); - } - - private static IConfigurationRoot BuildConfiguration() - { - var builder = new ConfigurationBuilder() - .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../BookStore.DbMigrator/")) - .AddJsonFile("appsettings.json", optional: false); - - return builder.Build(); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEfCoreEntityExtensionMappings.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEfCoreEntityExtensionMappings.cs deleted file mode 100644 index 8338b1c..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEfCoreEntityExtensionMappings.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace BookStore.EntityFrameworkCore; - -public static class BookStoreEfCoreEntityExtensionMappings -{ - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - BookStoreGlobalFeatureConfigurator.Configure(); - BookStoreModuleExtensionConfigurator.Configure(); - - OneTimeRunner.Run(() => - { - /* You can configure extra properties for the - * entities defined in the modules used by your application. - * - * This class can be used to map these extra properties to table fields in the database. - * - * USE THIS CLASS ONLY TO CONFIGURE EF CORE RELATED MAPPING. - * USE BookStoreModuleExtensionConfigurator CLASS (in the Domain.Shared project) - * FOR A HIGH LEVEL API TO DEFINE EXTRA PROPERTIES TO ENTITIES OF THE USED MODULES - * - * Example: Map a property to a table field: - - ObjectExtensionManager.Instance - .MapEfCoreProperty( - "MyProperty", - (entityBuilder, propertyBuilder) => - { - propertyBuilder.HasMaxLength(128); - } - ); - - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities - */ - }); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEntityFrameworkCoreModule.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEntityFrameworkCoreModule.cs deleted file mode 100644 index 58c82f3..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreEntityFrameworkCoreModule.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AuditLogging.EntityFrameworkCore; -using Volo.Abp.BackgroundJobs.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.SqlServer; -using Volo.Abp.FeatureManagement.EntityFrameworkCore; -using Volo.Abp.Identity.EntityFrameworkCore; -using Volo.Abp.IdentityServer.EntityFrameworkCore; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement.EntityFrameworkCore; -using Volo.Abp.SettingManagement.EntityFrameworkCore; -using Volo.Abp.TenantManagement.EntityFrameworkCore; - -namespace BookStore.EntityFrameworkCore; - -[DependsOn( - typeof(BookStoreDomainModule), - typeof(AbpIdentityEntityFrameworkCoreModule), - typeof(AbpIdentityServerEntityFrameworkCoreModule), - typeof(AbpPermissionManagementEntityFrameworkCoreModule), - typeof(AbpSettingManagementEntityFrameworkCoreModule), - typeof(AbpEntityFrameworkCoreSqlServerModule), - typeof(AbpBackgroundJobsEntityFrameworkCoreModule), - typeof(AbpAuditLoggingEntityFrameworkCoreModule), - typeof(AbpTenantManagementEntityFrameworkCoreModule), - typeof(AbpFeatureManagementEntityFrameworkCoreModule) - )] -public class BookStoreEntityFrameworkCoreModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - BookStoreEfCoreEntityExtensionMappings.Configure(); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAbpDbContext(options => - { - /* Remove "includeAllEntities: true" to create - * default repositories only for aggregate roots */ - options.AddDefaultRepositories(includeAllEntities: true); - }); - - Configure(options => - { - /* The main point to change your DBMS. - * See also BookStoreMigrationsDbContextFactory for EF Core tooling. */ - options.UseSqlServer(); - }); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreBookStoreDbSchemaMigrator.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreBookStoreDbSchemaMigrator.cs deleted file mode 100644 index f7c3c75..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreBookStoreDbSchemaMigrator.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using BookStore.Data; -using Volo.Abp.DependencyInjection; - -namespace BookStore.EntityFrameworkCore; - -public class EntityFrameworkCoreBookStoreDbSchemaMigrator - : IBookStoreDbSchemaMigrator, ITransientDependency -{ - private readonly IServiceProvider _serviceProvider; - - public EntityFrameworkCoreBookStoreDbSchemaMigrator( - IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } - - public async Task MigrateAsync() - { - /* We intentionally resolving the BookStoreDbContext - * from IServiceProvider (instead of directly injecting it) - * to properly get the connection string of the current tenant in the - * current scope. - */ - - await _serviceProvider - .GetRequiredService() - .Database - .MigrateAsync(); - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.Designer.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.Designer.cs deleted file mode 100644 index 6a1fa45..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.Designer.cs +++ /dev/null @@ -1,2683 +0,0 @@ -// -using System; -using BookStore.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -#nullable disable - -namespace BookStore.Migrations -{ - [DbContext(typeof(BookStoreDbContext))] - [Migration("20250516090951_initial")] - partial class initial - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "9.0.5") - .HasAnnotation("Relational:MaxIdentifierLength", 128); - - SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorTenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ImpersonatorTenantName"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("ImpersonatorUserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ImpersonatorUserName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("TenantName"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedProviders") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("DefaultValue") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("GroupName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("IsAvailableToHost") - .HasColumnType("bit"); - - b.Property("IsVisibleToClients") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ParentName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ValueType") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("GroupName"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpFeatures", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpFeatureGroups", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - b.ToTable("AbpFeatureValues", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySession", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Device") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("DeviceInfo") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IpAddresses") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.Property("LastAccessed") - .HasColumnType("datetime2"); - - b.Property("SessionId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("SignedIn") - .HasColumnType("datetime2"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("Device"); - - b.HasIndex("SessionId"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSessions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActive") - .HasColumnType("bit") - .HasColumnName("IsActive"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LastPasswordChangeTime") - .HasColumnType("datetimeoffset"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("ShouldChangePasswordOnNextLogin") - .HasColumnType("bit"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserDelegation", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("EndTime") - .HasColumnType("datetime2"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("StartTime") - .HasColumnType("datetime2"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("AbpUserDelegations", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("GroupName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("IsEnabled") - .HasColumnType("bit"); - - b.Property("MultiTenancySide") - .HasColumnType("tinyint"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ParentName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Providers") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("StateCheckers") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("GroupName"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpPermissions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[TenantId] IS NOT NULL"); - - b.ToTable("AbpPermissionGrants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpPermissionGroups", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - b.ToTable("AbpSettings", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.SettingDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DefaultValue") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.Property("Description") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsEncrypted") - .HasColumnType("bit"); - - b.Property("IsInherited") - .HasColumnType("bit"); - - b.Property("IsVisibleToClients") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Providers") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpSettingDefinitions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpTenants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.cs deleted file mode 100644 index db3c47c..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/20250516090951_initial.cs +++ /dev/null @@ -1,1592 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace BookStore.Migrations -{ - /// - public partial class initial : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AbpAuditLogs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - UserId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - TenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ImpersonatorUserId = table.Column(type: "uniqueidentifier", nullable: true), - ImpersonatorUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - ImpersonatorTenantId = table.Column(type: "uniqueidentifier", nullable: true), - ImpersonatorTenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ExecutionTime = table.Column(type: "datetime2", nullable: false), - ExecutionDuration = table.Column(type: "int", nullable: false), - ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - HttpMethod = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), - Url = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - Exceptions = table.Column(type: "nvarchar(max)", nullable: true), - Comments = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - HttpStatusCode = table.Column(type: "int", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpAuditLogs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpBackgroundJobs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - JobName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - JobArgs = table.Column(type: "nvarchar(max)", maxLength: 1048576, nullable: false), - TryCount = table.Column(type: "smallint", nullable: false, defaultValue: (short)0), - CreationTime = table.Column(type: "datetime2", nullable: false), - NextTryTime = table.Column(type: "datetime2", nullable: false), - LastTryTime = table.Column(type: "datetime2", nullable: true), - IsAbandoned = table.Column(type: "bit", nullable: false, defaultValue: false), - Priority = table.Column(type: "tinyint", nullable: false, defaultValue: (byte)15), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpBackgroundJobs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpClaimTypes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Required = table.Column(type: "bit", nullable: false), - IsStatic = table.Column(type: "bit", nullable: false), - Regex = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - RegexDescription = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - Description = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - ValueType = table.Column(type: "int", nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpClaimTypes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpFeatureGroups", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - DisplayName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpFeatureGroups", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpFeatures", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - GroupName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ParentName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - DisplayName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Description = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - DefaultValue = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - IsVisibleToClients = table.Column(type: "bit", nullable: false), - IsAvailableToHost = table.Column(type: "bit", nullable: false), - AllowedProviders = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - ValueType = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpFeatures", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpFeatureValues", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Value = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpFeatureValues", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpLinkUsers", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - SourceUserId = table.Column(type: "uniqueidentifier", nullable: false), - SourceTenantId = table.Column(type: "uniqueidentifier", nullable: true), - TargetUserId = table.Column(type: "uniqueidentifier", nullable: false), - TargetTenantId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpLinkUsers", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpOrganizationUnits", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ParentId = table.Column(type: "uniqueidentifier", nullable: true), - Code = table.Column(type: "nvarchar(95)", maxLength: 95, nullable: false), - DisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - EntityVersion = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id); - table.ForeignKey( - name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId", - column: x => x.ParentId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id"); - }); - - migrationBuilder.CreateTable( - name: "AbpPermissionGrants", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpPermissionGroups", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - DisplayName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpPermissionGroups", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpPermissions", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - GroupName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ParentName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - DisplayName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - IsEnabled = table.Column(type: "bit", nullable: false), - MultiTenancySide = table.Column(type: "tinyint", nullable: false), - Providers = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - StateCheckers = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpPermissions", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpRoles", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - IsDefault = table.Column(type: "bit", nullable: false), - IsStatic = table.Column(type: "bit", nullable: false), - IsPublic = table.Column(type: "bit", nullable: false), - EntityVersion = table.Column(type: "int", nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSecurityLogs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - Identity = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - Action = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - UserId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - TenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSessions", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - SessionId = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Device = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - DeviceInfo = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - UserId = table.Column(type: "uniqueidentifier", nullable: false), - ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - IpAddresses = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: true), - SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSessions", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSettingDefinitions", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - DisplayName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Description = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - DefaultValue = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: true), - IsVisibleToClients = table.Column(type: "bit", nullable: false), - Providers = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true), - IsInherited = table.Column(type: "bit", nullable: false), - IsEncrypted = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSettingDefinitions", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSettings", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Value = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSettings", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpTenants", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - NormalizedName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - EntityVersion = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpTenants", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpUserDelegations", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - SourceUserId = table.Column(type: "uniqueidentifier", nullable: false), - TargetUserId = table.Column(type: "uniqueidentifier", nullable: false), - StartTime = table.Column(type: "datetime2", nullable: false), - EndTime = table.Column(type: "datetime2", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserDelegations", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpUsers", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - Surname = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - EmailConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), - PasswordHash = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - SecurityStamp = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false), - PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), - PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), - IsActive = table.Column(type: "bit", nullable: false), - TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), - LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), - LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), - AccessFailedCount = table.Column(type: "int", nullable: false, defaultValue: 0), - ShouldChangePasswordOnNextLogin = table.Column(type: "bit", nullable: false), - EntityVersion = table.Column(type: "int", nullable: false), - LastPasswordChangeTime = table.Column(type: "datetimeoffset", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUsers", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResources", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - AllowedAccessTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResources", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Enabled = table.Column(type: "bit", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Required = table.Column(type: "bit", nullable: false), - Emphasize = table.Column(type: "bit", nullable: false), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClients", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ClientName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - ClientUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - LogoUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - ProtocolType = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - RequireClientSecret = table.Column(type: "bit", nullable: false), - RequireConsent = table.Column(type: "bit", nullable: false), - AllowRememberConsent = table.Column(type: "bit", nullable: false), - AlwaysIncludeUserClaimsInIdToken = table.Column(type: "bit", nullable: false), - RequirePkce = table.Column(type: "bit", nullable: false), - AllowPlainTextPkce = table.Column(type: "bit", nullable: false), - RequireRequestObject = table.Column(type: "bit", nullable: false), - AllowAccessTokensViaBrowser = table.Column(type: "bit", nullable: false), - FrontChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - FrontChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), - BackChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - BackChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), - AllowOfflineAccess = table.Column(type: "bit", nullable: false), - IdentityTokenLifetime = table.Column(type: "int", nullable: false), - AllowedIdentityTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - AccessTokenLifetime = table.Column(type: "int", nullable: false), - AuthorizationCodeLifetime = table.Column(type: "int", nullable: false), - ConsentLifetime = table.Column(type: "int", nullable: true), - AbsoluteRefreshTokenLifetime = table.Column(type: "int", nullable: false), - SlidingRefreshTokenLifetime = table.Column(type: "int", nullable: false), - RefreshTokenUsage = table.Column(type: "int", nullable: false), - UpdateAccessTokenClaimsOnRefresh = table.Column(type: "bit", nullable: false), - RefreshTokenExpiration = table.Column(type: "int", nullable: false), - AccessTokenType = table.Column(type: "int", nullable: false), - EnableLocalLogin = table.Column(type: "bit", nullable: false), - IncludeJwtId = table.Column(type: "bit", nullable: false), - AlwaysSendClientClaims = table.Column(type: "bit", nullable: false), - ClientClaimsPrefix = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - UserSsoLifetime = table.Column(type: "int", nullable: true), - UserCodeType = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - DeviceCodeLifetime = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClients", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerDeviceFlowCodes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - DeviceCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - UserCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: false), - Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerDeviceFlowCodes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResources", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - Required = table.Column(type: "bit", nullable: false), - Emphasize = table.Column(type: "bit", nullable: false), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResources", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerPersistedGrants", - columns: table => new - { - Key = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - Expiration = table.Column(type: "datetime2", nullable: true), - ConsumedTime = table.Column(type: "datetime2", nullable: true), - Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), - Id = table.Column(type: "uniqueidentifier", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerPersistedGrants", x => x.Key); - }); - - migrationBuilder.CreateTable( - name: "AbpAuditLogActions", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), - ServiceName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - MethodName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - Parameters = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - ExecutionTime = table.Column(type: "datetime2", nullable: false), - ExecutionDuration = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id); - table.ForeignKey( - name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId", - column: x => x.AuditLogId, - principalTable: "AbpAuditLogs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpEntityChanges", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ChangeTime = table.Column(type: "datetime2", nullable: false), - ChangeType = table.Column(type: "tinyint", nullable: false), - EntityTenantId = table.Column(type: "uniqueidentifier", nullable: true), - EntityId = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - EntityTypeFullName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEntityChanges", x => x.Id); - table.ForeignKey( - name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId", - column: x => x.AuditLogId, - principalTable: "AbpAuditLogs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpOrganizationUnitRoles", - columns: table => new - { - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId }); - table.ForeignKey( - name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId", - column: x => x.OrganizationUnitId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpRoleClaims", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpRoleClaims", x => x.Id); - table.ForeignKey( - name: "FK_AbpRoleClaims_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpTenantConnectionStrings", - columns: table => new - { - TenantId = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - Value = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name }); - table.ForeignKey( - name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId", - column: x => x.TenantId, - principalTable: "AbpTenants", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserClaims", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - UserId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserClaims", x => x.Id); - table.ForeignKey( - name: "FK_AbpUserClaims_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserLogins", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ProviderKey = table.Column(type: "nvarchar(196)", maxLength: 196, nullable: false), - ProviderDisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider }); - table.ForeignKey( - name: "FK_AbpUserLogins_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserOrganizationUnits", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId }); - table.ForeignKey( - name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId", - column: x => x.OrganizationUnitId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserRoles", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId }); - table.ForeignKey( - name: "FK_AbpUserRoles_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpUserRoles_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserTokens", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Value = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); - table.ForeignKey( - name: "FK_AbpUserTokens_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceClaims", x => new { x.ApiResourceId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceClaims_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceProperties", - columns: table => new - { - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceProperties", x => new { x.ApiResourceId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceProperties_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceScopes", - columns: table => new - { - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceScopes", x => new { x.ApiResourceId, x.Scope }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceScopes_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceSecrets", - columns: table => new - { - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceSecrets", x => new { x.ApiResourceId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceSecrets_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopeClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopeClaims", x => new { x.ApiScopeId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerApiScopeClaims_IdentityServerApiScopes_ApiScopeId", - column: x => x.ApiScopeId, - principalTable: "IdentityServerApiScopes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopeProperties", - columns: table => new - { - ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopeProperties", x => new { x.ApiScopeId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiScopeProperties_IdentityServerApiScopes_ApiScopeId", - column: x => x.ApiScopeId, - principalTable: "IdentityServerApiScopes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientClaims", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientClaims", x => new { x.ClientId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientClaims_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientCorsOrigins", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Origin = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientCorsOrigins", x => new { x.ClientId, x.Origin }); - table.ForeignKey( - name: "FK_IdentityServerClientCorsOrigins_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientGrantTypes", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - GrantType = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientGrantTypes", x => new { x.ClientId, x.GrantType }); - table.ForeignKey( - name: "FK_IdentityServerClientGrantTypes_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientIdPRestrictions", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Provider = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientIdPRestrictions", x => new { x.ClientId, x.Provider }); - table.ForeignKey( - name: "FK_IdentityServerClientIdPRestrictions_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientPostLogoutRedirectUris", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - PostLogoutRedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientPostLogoutRedirectUris", x => new { x.ClientId, x.PostLogoutRedirectUri }); - table.ForeignKey( - name: "FK_IdentityServerClientPostLogoutRedirectUris_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientProperties", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientProperties", x => new { x.ClientId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientProperties_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientRedirectUris", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - RedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientRedirectUris", x => new { x.ClientId, x.RedirectUri }); - table.ForeignKey( - name: "FK_IdentityServerClientRedirectUris_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientScopes", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientScopes", x => new { x.ClientId, x.Scope }); - table.ForeignKey( - name: "FK_IdentityServerClientScopes_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientSecrets", - columns: table => new - { - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Description = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientSecrets", x => new { x.ClientId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientSecrets_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResourceClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResourceClaims", x => new { x.IdentityResourceId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerIdentityResourceClaims_IdentityServerIdentityResources_IdentityResourceId", - column: x => x.IdentityResourceId, - principalTable: "IdentityServerIdentityResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResourceProperties", - columns: table => new - { - IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResourceProperties", x => new { x.IdentityResourceId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerIdentityResourceProperties_IdentityServerIdentityResources_IdentityResourceId", - column: x => x.IdentityResourceId, - principalTable: "IdentityServerIdentityResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpEntityPropertyChanges", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - EntityChangeId = table.Column(type: "uniqueidentifier", nullable: false), - NewValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - OriginalValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - PropertyName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - PropertyTypeFullName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id); - table.ForeignKey( - name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId", - column: x => x.EntityChangeId, - principalTable: "AbpEntityChanges", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogActions_AuditLogId", - table: "AbpAuditLogActions", - column: "AuditLogId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime", - table: "AbpAuditLogActions", - columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogs_TenantId_ExecutionTime", - table: "AbpAuditLogs", - columns: new[] { "TenantId", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime", - table: "AbpAuditLogs", - columns: new[] { "TenantId", "UserId", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime", - table: "AbpBackgroundJobs", - columns: new[] { "IsAbandoned", "NextTryTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityChanges_AuditLogId", - table: "AbpEntityChanges", - column: "AuditLogId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId", - table: "AbpEntityChanges", - columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityPropertyChanges_EntityChangeId", - table: "AbpEntityPropertyChanges", - column: "EntityChangeId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpFeatureGroups_Name", - table: "AbpFeatureGroups", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpFeatures_GroupName", - table: "AbpFeatures", - column: "GroupName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpFeatures_Name", - table: "AbpFeatures", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpFeatureValues_Name_ProviderName_ProviderKey", - table: "AbpFeatureValues", - columns: new[] { "Name", "ProviderName", "ProviderKey" }, - unique: true, - filter: "[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId", - table: "AbpLinkUsers", - columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" }, - unique: true, - filter: "[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId", - table: "AbpOrganizationUnitRoles", - columns: new[] { "RoleId", "OrganizationUnitId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnits_Code", - table: "AbpOrganizationUnits", - column: "Code"); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnits_ParentId", - table: "AbpOrganizationUnits", - column: "ParentId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpPermissionGrants_TenantId_Name_ProviderName_ProviderKey", - table: "AbpPermissionGrants", - columns: new[] { "TenantId", "Name", "ProviderName", "ProviderKey" }, - unique: true, - filter: "[TenantId] IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_AbpPermissionGroups_Name", - table: "AbpPermissionGroups", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpPermissions_GroupName", - table: "AbpPermissions", - column: "GroupName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpPermissions_Name", - table: "AbpPermissions", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpRoleClaims_RoleId", - table: "AbpRoleClaims", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpRoles_NormalizedName", - table: "AbpRoles", - column: "NormalizedName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_Action", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "Action" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_ApplicationName", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "ApplicationName" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_Identity", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "Identity" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_UserId", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "UserId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSessions_Device", - table: "AbpSessions", - column: "Device"); - - migrationBuilder.CreateIndex( - name: "IX_AbpSessions_SessionId", - table: "AbpSessions", - column: "SessionId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpSessions_TenantId_UserId", - table: "AbpSessions", - columns: new[] { "TenantId", "UserId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSettingDefinitions_Name", - table: "AbpSettingDefinitions", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AbpSettings_Name_ProviderName_ProviderKey", - table: "AbpSettings", - columns: new[] { "Name", "ProviderName", "ProviderKey" }, - unique: true, - filter: "[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_AbpTenants_Name", - table: "AbpTenants", - column: "Name"); - - migrationBuilder.CreateIndex( - name: "IX_AbpTenants_NormalizedName", - table: "AbpTenants", - column: "NormalizedName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserClaims_UserId", - table: "AbpUserClaims", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserLogins_LoginProvider_ProviderKey", - table: "AbpUserLogins", - columns: new[] { "LoginProvider", "ProviderKey" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId", - table: "AbpUserOrganizationUnits", - columns: new[] { "UserId", "OrganizationUnitId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserRoles_RoleId_UserId", - table: "AbpUserRoles", - columns: new[] { "RoleId", "UserId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_Email", - table: "AbpUsers", - column: "Email"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_NormalizedEmail", - table: "AbpUsers", - column: "NormalizedEmail"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_NormalizedUserName", - table: "AbpUsers", - column: "NormalizedUserName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_UserName", - table: "AbpUsers", - column: "UserName"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerClients_ClientId", - table: "IdentityServerClients", - column: "ClientId"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_DeviceCode", - table: "IdentityServerDeviceFlowCodes", - column: "DeviceCode", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_Expiration", - table: "IdentityServerDeviceFlowCodes", - column: "Expiration"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_UserCode", - table: "IdentityServerDeviceFlowCodes", - column: "UserCode"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_Expiration", - table: "IdentityServerPersistedGrants", - column: "Expiration"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_SubjectId_ClientId_Type", - table: "IdentityServerPersistedGrants", - columns: new[] { "SubjectId", "ClientId", "Type" }); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_SubjectId_SessionId_Type", - table: "IdentityServerPersistedGrants", - columns: new[] { "SubjectId", "SessionId", "Type" }); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AbpAuditLogActions"); - - migrationBuilder.DropTable( - name: "AbpBackgroundJobs"); - - migrationBuilder.DropTable( - name: "AbpClaimTypes"); - - migrationBuilder.DropTable( - name: "AbpEntityPropertyChanges"); - - migrationBuilder.DropTable( - name: "AbpFeatureGroups"); - - migrationBuilder.DropTable( - name: "AbpFeatures"); - - migrationBuilder.DropTable( - name: "AbpFeatureValues"); - - migrationBuilder.DropTable( - name: "AbpLinkUsers"); - - migrationBuilder.DropTable( - name: "AbpOrganizationUnitRoles"); - - migrationBuilder.DropTable( - name: "AbpPermissionGrants"); - - migrationBuilder.DropTable( - name: "AbpPermissionGroups"); - - migrationBuilder.DropTable( - name: "AbpPermissions"); - - migrationBuilder.DropTable( - name: "AbpRoleClaims"); - - migrationBuilder.DropTable( - name: "AbpSecurityLogs"); - - migrationBuilder.DropTable( - name: "AbpSessions"); - - migrationBuilder.DropTable( - name: "AbpSettingDefinitions"); - - migrationBuilder.DropTable( - name: "AbpSettings"); - - migrationBuilder.DropTable( - name: "AbpTenantConnectionStrings"); - - migrationBuilder.DropTable( - name: "AbpUserClaims"); - - migrationBuilder.DropTable( - name: "AbpUserDelegations"); - - migrationBuilder.DropTable( - name: "AbpUserLogins"); - - migrationBuilder.DropTable( - name: "AbpUserOrganizationUnits"); - - migrationBuilder.DropTable( - name: "AbpUserRoles"); - - migrationBuilder.DropTable( - name: "AbpUserTokens"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceSecrets"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopeClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopeProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerClientClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerClientCorsOrigins"); - - migrationBuilder.DropTable( - name: "IdentityServerClientGrantTypes"); - - migrationBuilder.DropTable( - name: "IdentityServerClientIdPRestrictions"); - - migrationBuilder.DropTable( - name: "IdentityServerClientPostLogoutRedirectUris"); - - migrationBuilder.DropTable( - name: "IdentityServerClientProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerClientRedirectUris"); - - migrationBuilder.DropTable( - name: "IdentityServerClientScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerClientSecrets"); - - migrationBuilder.DropTable( - name: "IdentityServerDeviceFlowCodes"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResourceClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResourceProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerPersistedGrants"); - - migrationBuilder.DropTable( - name: "AbpEntityChanges"); - - migrationBuilder.DropTable( - name: "AbpTenants"); - - migrationBuilder.DropTable( - name: "AbpOrganizationUnits"); - - migrationBuilder.DropTable( - name: "AbpRoles"); - - migrationBuilder.DropTable( - name: "AbpUsers"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResources"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerClients"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResources"); - - migrationBuilder.DropTable( - name: "AbpAuditLogs"); - } - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs deleted file mode 100644 index 91fd246..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/Migrations/BookStoreDbContextModelSnapshot.cs +++ /dev/null @@ -1,2680 +0,0 @@ -// -using System; -using BookStore.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; - -#nullable disable - -namespace BookStore.Migrations -{ - [DbContext(typeof(BookStoreDbContext))] - partial class BookStoreDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "9.0.5") - .HasAnnotation("Relational:MaxIdentifierLength", 128); - - SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasColumnType("nvarchar(max)"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorTenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ImpersonatorTenantName"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("ImpersonatorUserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ImpersonatorUserName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("TenantName"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedProviders") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("DefaultValue") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("GroupName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("IsAvailableToHost") - .HasColumnType("bit"); - - b.Property("IsVisibleToClients") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ParentName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ValueType") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("GroupName"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpFeatures", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpFeatureGroups", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - b.ToTable("AbpFeatureValues", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySession", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Device") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("DeviceInfo") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IpAddresses") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.Property("LastAccessed") - .HasColumnType("datetime2"); - - b.Property("SessionId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("SignedIn") - .HasColumnType("datetime2"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("Device"); - - b.HasIndex("SessionId"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSessions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActive") - .HasColumnType("bit") - .HasColumnName("IsActive"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LastPasswordChangeTime") - .HasColumnType("datetimeoffset"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("ShouldChangePasswordOnNextLogin") - .HasColumnType("bit"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserDelegation", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("EndTime") - .HasColumnType("datetime2"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("StartTime") - .HasColumnType("datetime2"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.ToTable("AbpUserDelegations", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("GroupName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("IsEnabled") - .HasColumnType("bit"); - - b.Property("MultiTenancySide") - .HasColumnType("tinyint"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ParentName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Providers") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("StateCheckers") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("GroupName"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpPermissions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[TenantId] IS NOT NULL"); - - b.ToTable("AbpPermissionGrants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpPermissionGroups", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey") - .IsUnique() - .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); - - b.ToTable("AbpSettings", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.SettingDefinitionRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("DefaultValue") - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.Property("Description") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsEncrypted") - .HasColumnType("bit"); - - b.Property("IsInherited") - .HasColumnType("bit"); - - b.Property("IsVisibleToClients") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Providers") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("Id"); - - b.HasIndex("Name") - .IsUnique(); - - b.ToTable("AbpSettingDefinitions", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .IsRequired() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("EntityVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .IsRequired() - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpTenants", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings", (string)null); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/samples/BookStore/src/BookStore.EntityFrameworkCore/Properties/AssemblyInfo.cs b/samples/BookStore/src/BookStore.EntityFrameworkCore/Properties/AssemblyInfo.cs deleted file mode 100644 index e666d6c..0000000 --- a/samples/BookStore/src/BookStore.EntityFrameworkCore/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("BookStore.EntityFrameworkCore.Tests")] diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj b/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj deleted file mode 100644 index 96c6534..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/BookStore.HttpApi.Host.csproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - net9.0 - BookStore - true - BookStore-4681b4fd-151f-4221-84a4-929d86723e4c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreBrandingProvider.cs b/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreBrandingProvider.cs deleted file mode 100644 index 9ecc75d..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreBrandingProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace BookStore; - -[Dependency(ReplaceServices = true)] -public class BookStoreBrandingProvider : DefaultBrandingProvider -{ - public override string AppName => "BookStore"; -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs b/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs deleted file mode 100644 index 29b18f9..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs +++ /dev/null @@ -1,250 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net.Http; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Cors; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using BookStore.EntityFrameworkCore; -using BookStore.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; -using Microsoft.OpenApi.Models; -using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.Authentication.JwtBearer; -using Volo.Abp.AspNetCore.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; -using Volo.Abp.AspNetCore.Serilog; -using Volo.Abp.Autofac; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Volo.Abp.Swashbuckle; -using Volo.Abp.UI.Navigation.Urls; -using Volo.Abp.VirtualFileSystem; - -namespace BookStore; - -[DependsOn( - typeof(BookStoreHttpApiModule), - typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMultiTenancyModule), - typeof(BookStoreApplicationModule), - typeof(BookStoreEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMvcUiBasicThemeModule), - typeof(AbpAspNetCoreAuthenticationJwtBearerModule), - typeof(AbpAccountWebIdentityServerModule), - typeof(AbpAspNetCoreSerilogModule), - typeof(AbpSwashbuckleModule) -)] -public class BookStoreHttpApiHostModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - var configuration = context.Services.GetConfiguration(); - var hostingEnvironment = context.Services.GetHostingEnvironment(); - - ConfigureBundles(); - ConfigureUrls(configuration); - ConfigureConventionalControllers(); - ConfigureAuthentication(context, configuration); - ConfigureLocalization(); - ConfigureVirtualFileSystem(context); - ConfigureCors(context, configuration); - ConfigureSwaggerServices(context, configuration); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - BasicThemeBundles.Styles.Global, - bundle => { bundle.AddFiles("/global-styles.css"); } - ); - }); - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"].Split(',')); - - options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"]; - options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; - }); - } - - private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) - { - var hostingEnvironment = context.Services.GetHostingEnvironment(); - - if (hostingEnvironment.IsDevelopment()) - { - Configure(options => - { - options.FileSets.ReplaceEmbeddedByPhysical( - Path.Combine(hostingEnvironment.ContentRootPath, - $"..{Path.DirectorySeparatorChar}BookStore.Domain.Shared")); - options.FileSets.ReplaceEmbeddedByPhysical( - Path.Combine(hostingEnvironment.ContentRootPath, - $"..{Path.DirectorySeparatorChar}BookStore.Domain")); - options.FileSets.ReplaceEmbeddedByPhysical( - Path.Combine(hostingEnvironment.ContentRootPath, - $"..{Path.DirectorySeparatorChar}BookStore.Application.Contracts")); - options.FileSets.ReplaceEmbeddedByPhysical( - Path.Combine(hostingEnvironment.ContentRootPath, - $"..{Path.DirectorySeparatorChar}BookStore.Application")); - }); - } - } - - private void ConfigureConventionalControllers() - { - Configure(options => - { - options.ConventionalControllers.Create(typeof(BookStoreApplicationModule).Assembly); - }); - } - - private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddAuthentication() - .AddJwtBearer(options => - { - options.Authority = configuration["AuthServer:Authority"]; - options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); - options.Audience = "BookStore"; - options.UseSecurityTokenValidators = true; - options.BackchannelHttpHandler = new HttpClientHandler - { - ServerCertificateCustomValidationCallback = - HttpClientHandler.DangerousAcceptAnyServerCertificateValidator - }; -#if DEBUG - options.IncludeErrorDetails = true; -#endif - }); - } - - private static void ConfigureSwaggerServices(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddAbpSwaggerGenWithOAuth( - configuration["AuthServer:Authority"], - new Dictionary - { - {"BookStore", "BookStore API"} - }, - options => - { - options.SwaggerDoc("v1", new OpenApiInfo { Title = "BookStore API", Version = "v1" }); - options.DocInclusionPredicate((docName, description) => true); - options.CustomSchemaIds(type => type.FullName); - }); - } - - private void ConfigureLocalization() - { - Configure(options => - { - options.Languages.Add(new LanguageInfo("ar", "ar", "العربية")); - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (UK)")); - options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish")); - options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); - options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi")); - options.Languages.Add(new LanguageInfo("is", "is", "Icelandic")); - options.Languages.Add(new LanguageInfo("it", "it", "Italiano")); - options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); - options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português")); - options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română")); - options.Languages.Add(new LanguageInfo("ru", "ru", "Русский")); - options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); - options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); - options.Languages.Add(new LanguageInfo("es", "es", "Español")); - }); - } - - private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddCors(options => - { - options.AddDefaultPolicy(builder => - { - builder - .WithOrigins( - configuration["App:CorsOrigins"] - .Split(",", StringSplitOptions.RemoveEmptyEntries) - .Select(o => o.RemovePostFix("/")) - .ToArray() - ) - .WithAbpExposedHeaders() - .SetIsOriginAllowedToAllowWildcardSubdomains() - .AllowAnyHeader() - .AllowAnyMethod() - .AllowCredentials(); - }); - }); - } - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - var app = context.GetApplicationBuilder(); - var env = context.GetEnvironment(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - - app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - - app.UseCorrelationId(); - app.MapAbpStaticAssets(); - app.UseRouting(); - app.UseCors(); - app.UseAuthentication(); - app.UseJwtTokenMiddleware(); - - if (MultiTenancyConsts.IsEnabled) - { - app.UseMultiTenancy(); - } - - app.UseUnitOfWork(); - app.UseIdentityServer(); - app.UseAuthorization(); - - app.UseSwagger(); - app.UseAbpSwaggerUI(c => - { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "BookStore API"); - - var configuration = context.ServiceProvider.GetRequiredService(); - c.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); - c.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); - c.OAuthScopes("BookStore"); - }); - - app.UseAuditing(); - app.UseAbpSerilogEnrichers(); - app.UseConfiguredEndpoints(); - } -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/Controllers/HomeController.cs b/samples/BookStore/src/BookStore.HttpApi.Host/Controllers/HomeController.cs deleted file mode 100644 index eb98659..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/Controllers/HomeController.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc; - -namespace BookStore.Controllers; - -public class HomeController : AbpController -{ - public ActionResult Index() - { - return Redirect("~/swagger"); - } -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/Program.cs b/samples/BookStore/src/BookStore.HttpApi.Host/Program.cs deleted file mode 100644 index 5d1c390..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/Program.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Serilog; -using Serilog.Events; - -namespace BookStore; - -public class Program -{ - public async static Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() -#if DEBUG - .MinimumLevel.Debug() -#else - .MinimumLevel.Information() -#endif - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) - .Enrich.FromLogContext() - .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG - .WriteTo.Async(c => c.Console()) -#endif - .CreateLogger(); - - try - { - Log.Information("Starting BookStore.HttpApi.Host."); - var builder = WebApplication.CreateBuilder(args); - builder.Host.AddAppSettingsSecretsJson() - .UseAutofac() - .UseSerilog(); - await builder.AddApplicationAsync(); - var app = builder.Build(); - await app.InitializeApplicationAsync(); - await app.RunAsync(); - return 0; - } - catch (Exception ex) - { - Log.Fatal(ex, "Host terminated unexpectedly!"); - return 1; - } - finally - { - Log.CloseAndFlush(); - } - } -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/Properties/launchSettings.json b/samples/BookStore/src/BookStore.HttpApi.Host/Properties/launchSettings.json deleted file mode 100644 index 5bf7315..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/Properties/launchSettings.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "https://localhost:44306", - "sslPort": 44306 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "BookStore.HttpApi.Host": { - "commandName": "Project", - "launchBrowser": true, - "applicationUrl": "https://localhost:44306", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/abp.resourcemapping.js b/samples/BookStore/src/BookStore.HttpApi.Host/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json b/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json deleted file mode 100644 index e093d9a..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "App": { - "SelfUrl": "https://localhost:44306", - "CorsOrigins": "https://*.BookStore.com,https://localhost:44307", - "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" - }, - "ConnectionStrings": { - "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" - }, - "AuthServer": { - "Authority": "https://localhost:44306", - "RequireHttpsMetadata": "true", - "SwaggerClientId": "BookStore_Swagger", - "SwaggerClientSecret": "1q2w3e*" - }, - "StringEncryption": { - "DefaultPassPhrase": "N0yMKQDLXvxaIxyD" - } -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.secrets.json b/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json b/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json deleted file mode 100644 index 329c37f..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/package-lock.json +++ /dev/null @@ -1,406 +0,0 @@ -{ - "name": "my-app", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "my-app", - "version": "1.0.0", - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz", - "integrity": "sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA==", - "dependencies": { - "ansi-colors": "^4.1.3" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.basic": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz", - "integrity": "sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g==", - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.1" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.shared": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz", - "integrity": "sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ==", - "dependencies": { - "@abp/aspnetcore.mvc.ui": "~9.0.1", - "@abp/bootstrap": "~9.0.1", - "@abp/bootstrap-datepicker": "~9.0.1", - "@abp/bootstrap-daterangepicker": "~9.0.1", - "@abp/datatables.net-bs5": "~9.0.1", - "@abp/font-awesome": "~9.0.1", - "@abp/jquery-form": "~9.0.1", - "@abp/jquery-validation-unobtrusive": "~9.0.1", - "@abp/lodash": "~9.0.1", - "@abp/luxon": "~9.0.1", - "@abp/malihu-custom-scrollbar-plugin": "~9.0.1", - "@abp/moment": "~9.0.1", - "@abp/select2": "~9.0.1", - "@abp/sweetalert2": "~9.0.1", - "@abp/timeago": "~9.0.1", - "@abp/toastr": "~9.0.1" - } - }, - "node_modules/@abp/bootstrap": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz", - "integrity": "sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "bootstrap": "^5.3.3" - } - }, - "node_modules/@abp/bootstrap-datepicker": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz", - "integrity": "sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg==", - "dependencies": { - "bootstrap-datepicker": "^1.10.0" - } - }, - "node_modules/@abp/bootstrap-daterangepicker": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz", - "integrity": "sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA==", - "dependencies": { - "bootstrap-daterangepicker": "^3.1.0" - } - }, - "node_modules/@abp/core": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz", - "integrity": "sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w==", - "dependencies": { - "@abp/utils": "~9.0.1" - } - }, - "node_modules/@abp/datatables.net": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz", - "integrity": "sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "datatables.net": "^2.1.8" - } - }, - "node_modules/@abp/datatables.net-bs5": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz", - "integrity": "sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA==", - "dependencies": { - "@abp/datatables.net": "~9.0.1", - "datatables.net-bs5": "^2.1.8" - } - }, - "node_modules/@abp/font-awesome": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz", - "integrity": "sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "@fortawesome/fontawesome-free": "^6.6.0" - } - }, - "node_modules/@abp/jquery": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz", - "integrity": "sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw==", - "dependencies": { - "@abp/core": "~9.0.1", - "jquery": "~3.7.1" - } - }, - "node_modules/@abp/jquery-form": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz", - "integrity": "sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "jquery-form": "^4.3.0" - } - }, - "node_modules/@abp/jquery-validation": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz", - "integrity": "sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "jquery-validation": "^1.21.0" - } - }, - "node_modules/@abp/jquery-validation-unobtrusive": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz", - "integrity": "sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A==", - "dependencies": { - "@abp/jquery-validation": "~9.0.1", - "jquery-validation-unobtrusive": "^4.0.0" - } - }, - "node_modules/@abp/lodash": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz", - "integrity": "sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA==", - "dependencies": { - "@abp/core": "~9.0.1", - "lodash": "^4.17.21" - } - }, - "node_modules/@abp/luxon": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz", - "integrity": "sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw==", - "dependencies": { - "@abp/core": "~9.0.1", - "luxon": "^3.5.0" - } - }, - "node_modules/@abp/malihu-custom-scrollbar-plugin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz", - "integrity": "sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ==", - "dependencies": { - "@abp/core": "~9.0.1", - "malihu-custom-scrollbar-plugin": "^3.1.5" - } - }, - "node_modules/@abp/moment": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz", - "integrity": "sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ==", - "dependencies": { - "moment": "^2.30.1" - } - }, - "node_modules/@abp/select2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz", - "integrity": "sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA==", - "dependencies": { - "@abp/core": "~9.0.1", - "select2": "^4.0.13" - } - }, - "node_modules/@abp/sweetalert2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz", - "integrity": "sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw==", - "dependencies": { - "@abp/core": "~9.0.1", - "sweetalert2": "^11.14.1" - } - }, - "node_modules/@abp/timeago": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz", - "integrity": "sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "timeago": "^1.6.7" - } - }, - "node_modules/@abp/toastr": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz", - "integrity": "sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg==", - "dependencies": { - "@abp/jquery": "~9.0.1", - "toastr": "^2.1.4" - } - }, - "node_modules/@abp/utils": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz", - "integrity": "sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ==", - "dependencies": { - "just-compare": "^2.3.0" - } - }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz", - "integrity": "sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/bootstrap": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", - "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "peerDependencies": { - "@popperjs/core": "^2.11.8" - } - }, - "node_modules/bootstrap-datepicker": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz", - "integrity": "sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg==", - "dependencies": { - "jquery": ">=3.4.0 <4.0.0" - } - }, - "node_modules/bootstrap-daterangepicker": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz", - "integrity": "sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g==", - "dependencies": { - "jquery": ">=1.10", - "moment": "^2.9.0" - } - }, - "node_modules/datatables.net": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz", - "integrity": "sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA==", - "dependencies": { - "jquery": ">=1.7" - } - }, - "node_modules/datatables.net-bs5": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz", - "integrity": "sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg==", - "dependencies": { - "datatables.net": "2.1.8", - "jquery": ">=1.7" - } - }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, - "node_modules/jquery-form": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz", - "integrity": "sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ==", - "dependencies": { - "jquery": ">=1.7.2" - } - }, - "node_modules/jquery-mousewheel": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" - }, - "node_modules/jquery-validation": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz", - "integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==", - "peerDependencies": { - "jquery": "^1.7 || ^2.0 || ^3.1" - } - }, - "node_modules/jquery-validation-unobtrusive": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz", - "integrity": "sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ==", - "dependencies": { - "jquery": "^3.6.0", - "jquery-validation": ">=1.19" - } - }, - "node_modules/just-compare": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz", - "integrity": "sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/luxon": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", - "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/malihu-custom-scrollbar-plugin": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz", - "integrity": "sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ==", - "dependencies": { - "jquery-mousewheel": ">=3.0.6" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, - "node_modules/select2": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", - "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" - }, - "node_modules/sweetalert2": { - "version": "11.14.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz", - "integrity": "sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/limonte" - } - }, - "node_modules/timeago": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz", - "integrity": "sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ==", - "dependencies": { - "jquery": ">=1.5.0 <4.0" - } - }, - "node_modules/toastr": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", - "integrity": "sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA==", - "dependencies": { - "jquery": ">=1.12.0" - } - } - } -} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/package.json b/samples/BookStore/src/BookStore.HttpApi.Host/package.json deleted file mode 100644 index 7219791..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" - } -} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.jwk b/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.jwk deleted file mode 100644 index bb087cb..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.jwk +++ /dev/null @@ -1 +0,0 @@ -{"AdditionalData":{},"Alg":"RS256","Crv":null,"D":"jWEpkyNx2p8Gsk_ObDTC98u9ppDIB1wtNV_FtQfBzqIeQ545sIIVfEYhaWezUvWbls_D7ATqh_QN-v-IDzxV-TWkCgrXamg3YCoY57y54YYkZIGwNl-3VrtwPxH3eEW23_iI2MzWtrvbKCI7Eo5BHhthGyf48cPXrDaKokzVPM6-eBF4xaeuU8eLEKzRfHIA2Y9aj67_4ePABXREsUYHFoB8lIHy_P_vF9F9XVVxmDV1w9KUdZl-QvQgX1FwaVbgqkNB7q_gpgKF3ATwVr1VkVKdcD8hR8fBCcSr3h7SVOo1G9J9HDr84pPhXEVNDh2cXdQU9CttUc2OtBqW9O3hOQ","DP":"1P-tYFBhMVa1p1Jh_nlv1t-KfvIi8oR__ksy0wR9ITgTEtfbCCvaMvSGEQ7QHw5Iizc86hqKiO-G9advoInEbgTNXNONWD4tdlKggjQ7062KhnPOcqyuK7fqK4YZSyj7mUHcFIuBpuGb2yNeh9IRIa9Iz9ReZ9cAs8GyP9QjmR8","DQ":"vTMF7mqqZ3KbowJDw_Bz6MZjB7EYSxu_MstXNgaNT29vcNO725-jkCin4Ea5oQ3XeAUvqZsn2UpR-B__58paJiG06iuZXfZR7kZ7sWIJoM2o_ZoWQvU-YSrum92Tfrr7TjNSKfOmUKjFRjHtozXRQLrc6idd_LHHT4Mjt4osPLs","E":"AQAB","K":null,"KeyId":"A1E3263C163E21AACDC0F4B64C6EBC15","Kid":"A1E3263C163E21AACDC0F4B64C6EBC15","Kty":"RSA","N":"wIMCoRAD54mhAtUUhT7VWxXIi-aW3eghtX9nmzmIstJr623SUHaqTaeAg3J_xlkH-FDnoKWPVBWws0xoHeT8fLHkkuySiE_AN6pDuvgP56kkNvda8YAOlj4ZLrj8C0LauSjM70wBQMQsD9uX0ShuyNhpj_JR_AwB1HtO0gJ8nt9Xy6Pk8PgVaZwSbdxa0fLuc-CryTX2cK5MnlEsuaAscP1DYZur1-dLtSA4FqnC_Gd0yPvgzAO9k3svUs_7XbZxMh7YKF4E_MdW7qTsRe6L04qygrCcqKhJUFaLA5pd0QwdMqFhb_UA2vxYeVv1LMCNkUqS0VEdL4l3OtcJ9Xx-XQ","Oth":null,"P":"7tINx1M8F9fFpz2LoldZ0Q4l7j9QIVGQ6nPZU-9FIgOQ_sX7J_gOiRbEFnaQjFrVgE_sCMZMvU0fUN-ijcc3cTDhKSAXURszhWKhhQLwXkr_33o_LOkO6i0X4VfQG9R-uW-JLfRrvAXzbvUNt9nQF-XNdnSFATgnrMumJulJ3qs","Q":"zlwq71Bv8MktJ8ETbKf7XqxwLdOLxlSHh0kdQQs7aZdDjRmAf3Rjiow62Y9nROCHrc83Twxf2IpCG46Eivyc1tSNPkK-K1hKJu8h8Ve_w5Dx-cAMqqfyFkVZ7fY9oi-h5jw4JEGHB2wRKCbWgOChykaWFZW369r8IfmdUBwIdxc","QI":"Gk-kQAKuKixrh0MBWzU3OfEs02bIx5SFIPXCtTRISu_SSCtn4RIbCNUIlQXmxR6dAi5ASQmoIoAOV8C-XQqvUxEtj_emqBGQO-DtuL0s82vpOFzc0rKGm-a4zlJmqJNWdbnMRY9u-zm7Oc_ixcFJpfRaPuDe67dZV5b8y7YYriI","Use":null,"X":null,"X5t":null,"X5tS256":null,"X5u":null,"Y":null,"KeySize":2048,"HasPrivateKey":true,"CryptoProviderFactory":{"CryptoProviderCache":{},"CustomCryptoProvider":null,"CacheSignatureProviders":true,"SignatureProviderObjectPoolCacheSize":64}} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.rsa b/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.rsa deleted file mode 100644 index f19e3e7..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/tempkey.rsa +++ /dev/null @@ -1 +0,0 @@ -{"KeyId":"5eb863b25811a7099f9bc925c0fdf680","Parameters":{"D":"gqn7NAeMkug4twJJHFz/qPseDzQCx7R+6Maj649xrG4vPsMANV9mfR78Er2SuHUS0ZihM2MQEILI5Sf41Uuubv8swCNSE3Dw7GQrBIbTAJ7BZKbQMVgtGkMDtHrtri6d9cOi3EOTSJINICk9r80M49oBMOZihEKascfBSIUYVQvWLEMYfryEiDeFUPbobr10OxF5tZ1unvEKgZe190BdNKWQuFhJelcgsZumjEYNsOz5DHrK73WLhfTy01DmsTKx8i1XVnLtq6W89MqAhMZP9QO9Vj8lR0ANnmdOsY6hJfwUbXiI36t4V9rAZvXR5ESorjb4mnXzT6QPuOfy1fbdSQ==","DP":"ItYIpEqw6aDjDc/swDifUe0Dq6yl4yim3UyQ4B9NBPQR5M6b7D3vbCnvwql4zJK4s+0N4lRViBtkF+20Td1yc2v8S+THCYZCVxCf2e9Q7Ff/sKecJ9/JmdzHkztCfs0xb+4X3CPEQP+JIYtMGmwOLQgE5XgmUYKr0ahZDhYTCwE=","DQ":"v35mgxfyF/nwnWwWlR9cF3mg0v7SyPfKkwdxGaVnGH6G8nPWpPlO+zueflA5QDXEwGtk/1k3PAzI/OLUwJiKBubx/UMhsqt5+/bKTrFDNHxLANCvGNZggMZIzFZBYRucuXRZbiBe5qpCkKkniUct7w6jd/V1mnsESiJZ7btcxU0=","Exponent":"AQAB","InverseQ":"Vbg2a+wtaYvhTV8AzqJsVvaz0kfC4HFbmwEgA8+BAbS3GEoS3RHFSfB3DHndpnNihIg72DctDNLmV2GMMiTu18uyI+7AUaYNR836fByxptfyhPtSQfw4kINZ3V0GWKJGzzZ5NAOct4/FpRl8xliHetayCfUIuK9jwk0z9i6V6bA=","Modulus":"xlzmN1sBi2V1971MsPD5MTND9dAGncIzYqxa3H+9jx1mNDivY6JgKijUWm5a3D2Y1UPMB3kx6qUf3iH6pZHjq5bk938qRhxrPy9muW55U03HTiW4V5/ga0+OqXj5Tj4lz+29OiQHPErxLRgfXT+WBgrGb75ElzkHajKpJnPgzAZuarlUCwupJNQlav/crwOFrgkhGsnaOW13M8htiSLZozw5lxkbhYIei7YTTQZ3l6rVH1dPL8CvzRJJOTwbnU8k0sUmWiuOhrLzuinlr6uuOTocAVgbj943/witVFtN5B0yhetxEVgFCwxRDTOO1EKVHFtCiAyZBUOlK4gwZ+SbGQ==","P":"7dFfbAkZSdx/ieSMYJHoY1DKC4dLg80RObEEmuJ72MaVJLTtFuBPoRpYOrMUNuupIyPjZZsW8fHRlPRhKW7xFv+Q2aDudh1UaJzFZs3xYKoiXTU/j0B3TB3nrifVLMqsS+8kHOWOojwA4dMjI6GCYCpKmYVvMOE1cuJrQ9EYxoM=","Q":"1YdN8mLchLVoTEwD34Pi3T2U7EjjBDgDCzhjl7x5FBG73TyKMz1n7/KXkXcJ2rqIAsnLqCWpYUeRcWl+IQEQxFKoMwkvmQ33lRkOE0SBZ+FnUAMivRyxOD5qM9z4ccqx0ga4ZRgb1lR85f7VYtMSfIosOuSFxWAbV1e29utxhTM="}} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/global-styles.css b/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/global-styles.css deleted file mode 100644 index 06f5063..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/global-styles.css +++ /dev/null @@ -1 +0,0 @@ -/* Your Global Styles */ diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/yarn.lock b/samples/BookStore/src/BookStore.HttpApi.Host/yarn.lock deleted file mode 100644 index d0cb9b6..0000000 --- a/samples/BookStore/src/BookStore.HttpApi.Host/yarn.lock +++ /dev/null @@ -1,325 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.1.tgz" - integrity sha512-JaxuDH8WTnZYX6C7CX7ZVHfhTDR/SxfwRvtJaGGijSX8QKd1DXpfi9lYEF4Y9k5b48YT/0slBqU5g0sLmBd3+g== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.1" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.1.tgz" - integrity sha512-vrgRYKNctdZYhPCQ2I6Z10gUI1S5ynDj+DgnV7x7a7G/juuHaOSbkRXgwrmJsmYLfGA7KFCoJcbpER8mmXQeHQ== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.1" - "@abp/bootstrap" "~9.0.1" - "@abp/bootstrap-datepicker" "~9.0.1" - "@abp/bootstrap-daterangepicker" "~9.0.1" - "@abp/datatables.net-bs5" "~9.0.1" - "@abp/font-awesome" "~9.0.1" - "@abp/jquery-form" "~9.0.1" - "@abp/jquery-validation-unobtrusive" "~9.0.1" - "@abp/lodash" "~9.0.1" - "@abp/luxon" "~9.0.1" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.1" - "@abp/moment" "~9.0.1" - "@abp/select2" "~9.0.1" - "@abp/sweetalert2" "~9.0.1" - "@abp/timeago" "~9.0.1" - "@abp/toastr" "~9.0.1" - -"@abp/aspnetcore.mvc.ui@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.1.tgz" - integrity sha512-KVbWCpBV7S1ViHYQP/hn4gSMzSiA2e8/zC0HND1fjE+1zXJqJyEWto1eg2DaKSOs/rmHD8WtFVMU4hCLQTCuIA== - dependencies: - ansi-colors "^4.1.3" - -"@abp/bootstrap-datepicker@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.1.tgz" - integrity sha512-LhgqBRr66x9gGTAyv1FuPAw8u8N77WQK2AfDkNgLueurM2+xMYQzH3pWWLhcN676/JXafxfALCfBoM8U7CfXLg== - dependencies: - bootstrap-datepicker "^1.10.0" - -"@abp/bootstrap-daterangepicker@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.1.tgz" - integrity sha512-SlBVgiYa75uQyaGt5EVjduren7Po5UP26A1tXEQQr0hDia1+1TK0qxmJ2YxjeJpB7FwtcmJiofv5fngvJqhxIA== - dependencies: - bootstrap-daterangepicker "^3.1.0" - -"@abp/bootstrap@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-9.0.1.tgz" - integrity sha512-uAfVNsUYSsRqgeO9JMnhJJlFoDmO3/lTvER/iYOqerF0X03KQnR8HZy2V3MD1D+fSh/4JuU6aAZFl6IQLinMKQ== - dependencies: - "@abp/core" "~9.0.1" - bootstrap "^5.3.3" - -"@abp/core@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/core/-/core-9.0.1.tgz" - integrity sha512-NWXDVCIJePbcKCrRvGxAlaA2MrOF2IZox37bQkW7/mTeOPpNoTa6lhowksNNcTpFq2YdD8bG0i0kfskkp3EZ2w== - dependencies: - "@abp/utils" "~9.0.1" - -"@abp/datatables.net-bs5@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.1.tgz" - integrity sha512-tAHdf4TBAS0bVRcvovDKS0OHFyeRSPYbiSIwDn8AIWzW9Weav31jhZ5jL3HEtBKVdb7zqUQ8/3dYPufjDuDdDA== - dependencies: - "@abp/datatables.net" "~9.0.1" - datatables.net-bs5 "^2.1.8" - -"@abp/datatables.net@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-9.0.1.tgz" - integrity sha512-JY53zVQPluRrBiKwtgk4gfSgD8VDs/VU8LWizhGCprXt3h9vXx0SQL4My6zvXVkv4hUjaq4+MYo84OI8EwFvsg== - dependencies: - "@abp/jquery" "~9.0.1" - datatables.net "^2.1.8" - -"@abp/font-awesome@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-9.0.1.tgz" - integrity sha512-7NnYBmk0plLVElUWR1zohul87vE9wKJItemWT5Kskf/IJirKOvXwSSu+7Jg1LmnVtIxcH6qgRpJMmzuAJgawnQ== - dependencies: - "@abp/core" "~9.0.1" - "@fortawesome/fontawesome-free" "^6.6.0" - -"@abp/jquery-form@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-9.0.1.tgz" - integrity sha512-9co0+Cver+RUSOpfuukSWQhR+TCnO9Dly4RTVRIKFksGVfN8hA70NqRrVxaASNNFv42ynK88FQK+2bLPswz/iw== - dependencies: - "@abp/jquery" "~9.0.1" - jquery-form "^4.3.0" - -"@abp/jquery-validation-unobtrusive@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.1.tgz" - integrity sha512-Zpz48wIFjq7eIApG/sEVjkfaJWZhcyCnlCtDf5eU3vvh82nRetbiCEAVLpZ4LVjorlyp3VvVAxReUSeeWflu8A== - dependencies: - "@abp/jquery-validation" "~9.0.1" - jquery-validation-unobtrusive "^4.0.0" - -"@abp/jquery-validation@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-9.0.1.tgz" - integrity sha512-uFSxiPMEkaPlcuyXIoKbeOIIRHo4IrgRbmnlHwI1uETrW60ENUdE2LJAVcYS77JROrjVtv8FPlaffWuva6sGeQ== - dependencies: - "@abp/jquery" "~9.0.1" - jquery-validation "^1.21.0" - -"@abp/jquery@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/jquery/-/jquery-9.0.1.tgz" - integrity sha512-z8EcnOveItAszbTsM9GFFDQSlcIg/ym6+WZME9uldLoetdxkmI9ij0knVeGj5eqMjQaHvTWwrVLObiBbZwYFWw== - dependencies: - "@abp/core" "~9.0.1" - jquery "~3.7.1" - -"@abp/lodash@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/lodash/-/lodash-9.0.1.tgz" - integrity sha512-D+/iOyh/O+jV80bK5vWxyn++IVmeRbZq/UaXanA4RKpzigxJUsgOiSD9lUj85BkfKn2YyFmoR39xwaAqkWoyRA== - dependencies: - "@abp/core" "~9.0.1" - lodash "^4.17.21" - -"@abp/luxon@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/luxon/-/luxon-9.0.1.tgz" - integrity sha512-1ZHXP5SGz05tQ1tzYmPcRiZwmkCKGX0KWFoV0zF3ATRaevzku9nXvSy7K6GIFkkgTb9f9XNx4/OBBF/GXkuRqw== - dependencies: - "@abp/core" "~9.0.1" - luxon "^3.5.0" - -"@abp/malihu-custom-scrollbar-plugin@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.1.tgz" - integrity sha512-GkKPLg9Z9UTTSSpW2hYZYZ9IgCvDSOYJmyRSl/h4fG8cWMgGCPVpv8MPPu0+WtIfwW/mT4SPX9X+sjUlRL5XRQ== - dependencies: - "@abp/core" "~9.0.1" - malihu-custom-scrollbar-plugin "^3.1.5" - -"@abp/moment@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/moment/-/moment-9.0.1.tgz" - integrity sha512-bTuCc7pi/DCtgz7t96UBU0wn9UGt4b50JhDCVeTKquh+gP1sgWoI5hyvEBkmgE4dcffO0yzZU2opHYTKYGl/OQ== - dependencies: - moment "^2.30.1" - -"@abp/select2@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/select2/-/select2-9.0.1.tgz" - integrity sha512-epyYJH2gAOU2UvGn5FD6372hbW3fL7uZIgGpvfgEfa+l6HPdlV9B1OweU2xkONNCoylShAcP/y8qf+bUh8WDEA== - dependencies: - "@abp/core" "~9.0.1" - select2 "^4.0.13" - -"@abp/sweetalert2@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-9.0.1.tgz" - integrity sha512-0RXR/lzy3qMJLisGUz4qrcA9Clu/Tt1ABGzB64ynG1t/l5XessQsIB5Hkt6MbSyOEsprRsq+ZtKH35CwTRPdAw== - dependencies: - "@abp/core" "~9.0.1" - sweetalert2 "^11.14.1" - -"@abp/timeago@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/timeago/-/timeago-9.0.1.tgz" - integrity sha512-dNfUQwilrY+JHxL5lwJ++ixYDGAs5lF1EDxKMQMIXD/ak5L8rkdLns8Otta7FhgDDny9UJ7XWQjYsG8ZxxybRQ== - dependencies: - "@abp/jquery" "~9.0.1" - timeago "^1.6.7" - -"@abp/toastr@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/toastr/-/toastr-9.0.1.tgz" - integrity sha512-10KuHnSJOxkvzqs6Aim6GJp8xBuT+TsZqBE1KaXQnERPawmOo4+ME28kA/7lq8fvgFUNO3K41T2uuA1GPHVQcg== - dependencies: - "@abp/jquery" "~9.0.1" - toastr "^2.1.4" - -"@abp/utils@~9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@abp/utils/-/utils-9.0.1.tgz" - integrity sha512-7eOKT0ciKNdtuASck1kifyc4dC6CeebgxV+rx/EAi3YwPMDkqie6YwLGUqKdGW2N/MZ15JuDR6gkuZxKHEb0NQ== - dependencies: - just-compare "^2.3.0" - -"@fortawesome/fontawesome-free@^6.6.0": - version "6.7.1" - resolved "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.1.tgz" - integrity sha512-ALIk/MOh5gYe1TG/ieS5mVUsk7VUIJTJKPMK9rFFqOgfp0Q3d5QiBXbcOMwUvs37fyZVCz46YjOE6IFeOAXCHA== - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -bootstrap-datepicker@^1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz" - integrity sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg== - dependencies: - jquery ">=3.4.0 <4.0.0" - -bootstrap-daterangepicker@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz" - integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== - dependencies: - jquery ">=1.10" - moment "^2.9.0" - -bootstrap@^5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz" - integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== - -datatables.net-bs5@^2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz" - integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== - dependencies: - datatables.net "2.1.8" - jquery ">=1.7" - -datatables.net@^2.1.8, datatables.net@2.1.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz" - integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== - dependencies: - jquery ">=1.7" - -jquery-form@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz" - integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== - dependencies: - jquery ">=1.7.2" - -jquery-mousewheel@>=3.0.6: - version "3.1.13" - resolved "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz" - integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== - -jquery-validation-unobtrusive@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz" - integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== - dependencies: - jquery "^3.6.0" - jquery-validation ">=1.19" - -jquery-validation@^1.21.0, jquery-validation@>=1.19: - version "1.21.0" - resolved "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz" - integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== - -"jquery@^1.7 || ^2.0 || ^3.1", jquery@^3.6.0, jquery@>=1.10, jquery@>=1.12.0, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@~3.7.1: - version "3.7.1" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -just-compare@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz" - integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -luxon@^3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz" - integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== - -malihu-custom-scrollbar-plugin@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz" - integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== - dependencies: - jquery-mousewheel ">=3.0.6" - -moment@^2.30.1, moment@^2.9.0: - version "2.30.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -select2@^4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz" - integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== - -sweetalert2@^11.14.1: - version "11.14.5" - resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.5.tgz" - integrity sha512-8MWk5uc/r6bWhiJWkUXyEuApfXAhSCZT8FFX7pZXL7YwaPxq+9Ynhi2dUzWkOFn9jvLjKj22CXuccZ+IHcnjvQ== - -timeago@^1.6.7: - version "1.6.7" - resolved "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz" - integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== - dependencies: - jquery ">=1.5.0 <4.0" - -toastr@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz" - integrity sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA== - dependencies: - jquery ">=1.12.0" diff --git a/samples/BookStore/src/BookStore.HttpApi/Models/Test/TestModel.cs b/samples/BookStore/src/BookStore.HttpApi/Models/Test/TestModel.cs deleted file mode 100644 index 91298fb..0000000 --- a/samples/BookStore/src/BookStore.HttpApi/Models/Test/TestModel.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace BookStore.Models.Test; - -public class TestModel -{ - public string Name { get; set; } - - public DateTime BirthDate { get; set; } -} diff --git a/samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs b/samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs deleted file mode 100644 index 9281b65..0000000 --- a/samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStore; - -public abstract class BookStoreApplicationTestBase : BookStoreTestBase -{ - -} diff --git a/samples/BookStore/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs b/samples/BookStore/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs deleted file mode 100644 index 3a48b77..0000000 --- a/samples/BookStore/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Shouldly; -using System.Threading.Tasks; -using Volo.Abp.Identity; -using Xunit; - -namespace BookStore.Samples; - -/* This is just an example test class. - * Normally, you don't test code of the modules you are using - * (like IIdentityUserAppService here). - * Only test your own application services. - */ -public class SampleAppServiceTests : BookStoreApplicationTestBase -{ - private readonly IIdentityUserAppService _userAppService; - - public SampleAppServiceTests() - { - _userAppService = GetRequiredService(); - } - - [Fact] - public async Task Initial_Data_Should_Contain_Admin_User() - { - //Act - var result = await _userAppService.GetListAsync(new GetIdentityUsersInput()); - - //Assert - result.TotalCount.ShouldBeGreaterThan(0); - result.Items.ShouldContain(u => u.UserName == "admin"); - } -} diff --git a/samples/BookStore/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj b/samples/BookStore/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj deleted file mode 100644 index 6c32997..0000000 --- a/samples/BookStore/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - net9.0 - BookStore - - - - - - - - - - - diff --git a/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs b/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs deleted file mode 100644 index 8c6a8c8..0000000 --- a/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStore; - -public abstract class BookStoreDomainTestBase : BookStoreTestBase -{ - -} diff --git a/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs b/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs deleted file mode 100644 index c98eb58..0000000 --- a/samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BookStore.EntityFrameworkCore; -using Volo.Abp.Modularity; - -namespace BookStore; - -[DependsOn( - typeof(BookStoreEntityFrameworkCoreTestModule) - )] -public class BookStoreDomainTestModule : AbpModule -{ - -} diff --git a/samples/BookStore/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs b/samples/BookStore/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs deleted file mode 100644 index d791518..0000000 --- a/samples/BookStore/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Threading.Tasks; -using Shouldly; -using Volo.Abp.Identity; -using Xunit; - -namespace BookStore.Samples; - -/* This is just an example test class. - * Normally, you don't test code of the modules you are using - * (like IdentityUserManager here). - * Only test your own domain services. - */ -public class SampleDomainTests : BookStoreDomainTestBase -{ - private readonly IIdentityUserRepository _identityUserRepository; - private readonly IdentityUserManager _identityUserManager; - - public SampleDomainTests() - { - _identityUserRepository = GetRequiredService(); - _identityUserManager = GetRequiredService(); - } - - [Fact] - public async Task Should_Set_Email_Of_A_User() - { - IdentityUser adminUser; - - /* Need to manually start Unit Of Work because - * FirstOrDefaultAsync should be executed while db connection / context is available. - */ - await WithUnitOfWorkAsync(async () => - { - adminUser = await _identityUserRepository - .FindByNormalizedUserNameAsync("ADMIN"); - - await _identityUserManager.SetEmailAsync(adminUser, "newemail@abp.io"); - await _identityUserRepository.UpdateAsync(adminUser); - }); - - adminUser = await _identityUserRepository.FindByNormalizedUserNameAsync("ADMIN"); - adminUser.Email.ShouldBe("newemail@abp.io"); - } -} diff --git a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/BookStore.EntityFrameworkCore.Tests.csproj b/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/BookStore.EntityFrameworkCore.Tests.csproj deleted file mode 100644 index 01fae36..0000000 --- a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/BookStore.EntityFrameworkCore.Tests.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - net9.0 - BookStore - - - - - - - - - - - - - diff --git a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestBase.cs b/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestBase.cs deleted file mode 100644 index 83082dd..0000000 --- a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestBase.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Volo.Abp; - -namespace BookStore.EntityFrameworkCore; - -public abstract class BookStoreEntityFrameworkCoreTestBase : BookStoreTestBase -{ - -} diff --git a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestModule.cs b/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestModule.cs deleted file mode 100644 index ee0c152..0000000 --- a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestModule.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.Sqlite; -using Volo.Abp.Modularity; - -namespace BookStore.EntityFrameworkCore; - -[DependsOn( - typeof(BookStoreEntityFrameworkCoreModule), - typeof(BookStoreTestBaseModule), - typeof(AbpEntityFrameworkCoreSqliteModule) - )] -public class BookStoreEntityFrameworkCoreTestModule : AbpModule -{ - private SqliteConnection _sqliteConnection; - - public override void ConfigureServices(ServiceConfigurationContext context) - { - ConfigureInMemorySqlite(context.Services); - } - - private void ConfigureInMemorySqlite(IServiceCollection services) - { - _sqliteConnection = CreateDatabaseAndGetConnection(); - - services.Configure(options => - { - options.Configure(context => - { - context.DbContextOptions.UseSqlite(_sqliteConnection); - }); - }); - } - - public override void OnApplicationShutdown(ApplicationShutdownContext context) - { - _sqliteConnection.Dispose(); - } - - private static SqliteConnection CreateDatabaseAndGetConnection() - { - var connection = new SqliteConnection("Data Source=:memory:"); - connection.Open(); - - var options = new DbContextOptionsBuilder() - .UseSqlite(connection) - .Options; - - using (var context = new BookStoreDbContext(options)) - { - context.GetService().CreateTables(); - } - - return connection; - } -} diff --git a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs b/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs deleted file mode 100644 index ee9cb7a..0000000 --- a/samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Shouldly; -using System; -using System.Linq; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Identity; -using Xunit; - -namespace BookStore.EntityFrameworkCore.Samples; - -/* This is just an example test class. - * Normally, you don't test ABP framework code - * (like default AppUser repository IRepository here). - * Only test your custom repository methods. - */ -public class SampleRepositoryTests : BookStoreEntityFrameworkCoreTestBase -{ - private readonly IRepository _appUserRepository; - - public SampleRepositoryTests() - { - _appUserRepository = GetRequiredService>(); - } - - [Fact] - public async Task Should_Query_AppUser() - { - /* Need to manually start Unit Of Work because - * FirstOrDefaultAsync should be executed while db connection / context is available. - */ - await WithUnitOfWorkAsync(async () => - { - //Act - var adminUser = await (await _appUserRepository.GetQueryableAsync()) - .Where(u => u.UserName == "admin") - .FirstOrDefaultAsync(); - - //Assert - adminUser.ShouldNotBeNull(); - }); - } -} diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs b/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs deleted file mode 100644 index 3a3d681..0000000 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Threading.Tasks; -using Volo.Abp.Account; -using Volo.Abp.DependencyInjection; - -namespace BookStore.HttpApi.Client.ConsoleTestApp; - -public class ClientDemoService : ITransientDependency -{ - private readonly IProfileAppService _profileAppService; - - public ClientDemoService(IProfileAppService profileAppService) - { - _profileAppService = profileAppService; - } - - public async Task RunAsync() - { - var output = await _profileAppService.GetAsync(); - Console.WriteLine($"UserName : {output.UserName}"); - Console.WriteLine($"Email : {output.Email}"); - Console.WriteLine($"Name : {output.Name}"); - Console.WriteLine($"Surname : {output.Surname}"); - } -} diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs b/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs deleted file mode 100644 index 8704c21..0000000 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -namespace BookStore.HttpApi.Client.ConsoleTestApp; - -class Program -{ - static async Task Main(string[] args) - { - await CreateHostBuilder(args).RunConsoleAsync(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .AddAppSettingsSecretsJson() - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); -} diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json b/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStore/test/BookStore.TestBase/BookStore.TestBase.csproj b/samples/BookStore/test/BookStore.TestBase/BookStore.TestBase.csproj deleted file mode 100644 index 4e7b930..0000000 --- a/samples/BookStore/test/BookStore.TestBase/BookStore.TestBase.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - net9.0 - BookStore - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStore/test/BookStore.TestBase/BookStoreTestBaseModule.cs b/samples/BookStore/test/BookStore.TestBase/BookStoreTestBaseModule.cs deleted file mode 100644 index 246b67f..0000000 --- a/samples/BookStore/test/BookStore.TestBase/BookStoreTestBaseModule.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; -using Volo.Abp.Authorization; -using Volo.Abp.Autofac; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.Data; -using Volo.Abp.IdentityServer; -using Volo.Abp.Modularity; -using Volo.Abp.Threading; - -namespace BookStore; - -[DependsOn( - typeof(AbpAutofacModule), - typeof(AbpTestBaseModule), - typeof(AbpAuthorizationModule), - typeof(BookStoreDomainModule) - )] -public class BookStoreTestBaseModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(options => - { - options.AddDeveloperSigningCredential = false; - }); - - PreConfigure(identityServerBuilder => - { - identityServerBuilder.AddDeveloperSigningCredential(false, System.Guid.NewGuid().ToString()); - }); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.IsJobExecutionEnabled = false; - }); - - context.Services.AddAlwaysAllowAuthorization(); - } - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - SeedTestData(context); - } - - private static void SeedTestData(ApplicationInitializationContext context) - { - AsyncHelper.RunSync(async () => - { - using (var scope = context.ServiceProvider.CreateScope()) - { - await scope.ServiceProvider - .GetRequiredService() - .SeedAsync(); - } - }); - } -} diff --git a/samples/BookStore/test/BookStore.TestBase/BookStoreTestDataSeedContributor.cs b/samples/BookStore/test/BookStore.TestBase/BookStoreTestDataSeedContributor.cs deleted file mode 100644 index ec0c255..0000000 --- a/samples/BookStore/test/BookStore.TestBase/BookStoreTestDataSeedContributor.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; - -namespace BookStore; - -public class BookStoreTestDataSeedContributor : IDataSeedContributor, ITransientDependency -{ - public Task SeedAsync(DataSeedContext context) - { - /* Seed additional test data... */ - - return Task.CompletedTask; - } -} diff --git a/samples/BookStore/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs b/samples/BookStore/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs deleted file mode 100644 index 4bfb846..0000000 --- a/samples/BookStore/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Collections.Generic; -using System.Security.Claims; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Security.Claims; - -namespace BookStore.Security; - -[Dependency(ReplaceServices = true)] -public class FakeCurrentPrincipalAccessor : ThreadCurrentPrincipalAccessor -{ - protected override ClaimsPrincipal GetClaimsPrincipal() - { - return GetPrincipal(); - } - - private ClaimsPrincipal _principal; - - private ClaimsPrincipal GetPrincipal() - { - if (_principal == null) - { - lock (this) - { - if (_principal == null) - { - _principal = new ClaimsPrincipal( - new ClaimsIdentity( - new List - { - new Claim(AbpClaimTypes.UserId,"2e701e62-0953-4dd3-910b-dc6cc93ccb0d"), - new Claim(AbpClaimTypes.UserName,"admin"), - new Claim(AbpClaimTypes.Email,"admin@abp.io") - } - ) - ); - } - } - } - - return _principal; - } -} diff --git a/samples/BookStoreWebApp/.DS_Store b/samples/BookStoreWebApp/.DS_Store deleted file mode 100644 index 92badcea4e2c8b71a947b4a140f1f6fe9bc5f3c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKF;2rU6n$J|T)%UcuQ59w=Y#$@m-Q^0#6Dx^)f#g^W5FHK#{@Z7|8>B5 z3^+}4?xmgGEk?vC!=TDCI{|AQU3$-PiynElANrYLj7h+J2$F9( zf?1oFz~kl$kLUEzr#|-#UmMr%*S!32j4cc}vpa^I@5L#eb8NxfYQtb|Eu3PGBdbRT z2bO)quVYwMx%M3J)^LVH&OgHmvBQ3^s*LC$U_^X-OYc2;3R=bPJ48|S7Vie_SXBF# z0z9+D>P?55ssgHjDzH#M_J@Q~F!fkEv|9%gdj%lIthUCy{3Zw|@tArn9r6jyI4aRm zjlW_TM`wNF+oc{$hmH2f|1>OMM(!;d? diff --git a/samples/BookStoreWebApp/.gitattributes b/samples/BookStoreWebApp/.gitattributes deleted file mode 100644 index c941e52..0000000 --- a/samples/BookStoreWebApp/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -**/wwwroot/libs/** linguist-vendored diff --git a/samples/BookStoreWebApp/.gitignore b/samples/BookStoreWebApp/.gitignore deleted file mode 100644 index d71ce32..0000000 --- a/samples/BookStoreWebApp/.gitignore +++ /dev/null @@ -1,265 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# BookStoreWebApp -src/BookStoreWebApp.Web/Logs/* -src/BookStoreWebApp.Web.Host/Logs/* -src/BookStoreWebApp.AuthServer/Logs/* -src/BookStoreWebApp.HttpApi.Host/Logs/* -src/BookStoreWebApp.HttpApi.HostWithIds/Logs/* -src/BookStoreWebApp.DbMigrator/Logs/* -src/BookStoreWebApp.Blazor.Server/Logs/* -src/BookStoreWebApp.Blazor.Server.Tiered/Logs/* - -# Use abp install-libs to restore. -**/wwwroot/libs/* diff --git a/samples/BookStoreWebApp/.prettierrc b/samples/BookStoreWebApp/.prettierrc deleted file mode 100644 index 56af76b..0000000 --- a/samples/BookStoreWebApp/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "useTabs": false, - "tabWidth": 4 -} diff --git a/samples/BookStoreWebApp/BookStoreWebApp.sln b/samples/BookStoreWebApp/BookStoreWebApp.sln deleted file mode 100644 index c6ae676..0000000 --- a/samples/BookStoreWebApp/BookStoreWebApp.sln +++ /dev/null @@ -1,137 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.11.35327.3 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Domain", "src\BookStoreWebApp.Domain\BookStoreWebApp.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Application", "src\BookStoreWebApp.Application\BookStoreWebApp.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Application.Tests", "test\BookStoreWebApp.Application.Tests\BookStoreWebApp.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.MongoDB", "src\BookStoreWebApp.MongoDB\BookStoreWebApp.MongoDB.csproj", "{E3444355-D47E-431E-BDD0-DD3A7113B2AE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Domain.Shared", "src\BookStoreWebApp.Domain.Shared\BookStoreWebApp.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Application.Contracts", "src\BookStoreWebApp.Application.Contracts\BookStoreWebApp.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.HttpApi", "src\BookStoreWebApp.HttpApi\BookStoreWebApp.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.HttpApi.Client", "src\BookStoreWebApp.HttpApi.Client\BookStoreWebApp.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.TestBase", "test\BookStoreWebApp.TestBase\BookStoreWebApp.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Domain.Tests", "test\BookStoreWebApp.Domain.Tests\BookStoreWebApp.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.MongoDB.Tests", "test\BookStoreWebApp.MongoDB.Tests\BookStoreWebApp.MongoDB.Tests.csproj", "{6015D17B-104B-4EC2-A9B7-D8A40C891458}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.HttpApi.Client.ConsoleTestApp", "test\BookStoreWebApp.HttpApi.Client.ConsoleTestApp\BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.DbMigrator", "src\BookStoreWebApp.DbMigrator\BookStoreWebApp.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Blazor", "src\BookStoreWebApp.Blazor\BookStoreWebApp.Blazor.csproj", "{14882ABF-1EEF-430C-8E72-812B3EE810C4}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStoreWebApp.Blazor.Client", "src\BookStoreWebApp.Blazor.Client\BookStoreWebApp.Blazor.Client.csproj", "{648460F4-3ECC-4751-9D87-EE25D0B8B2BF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Solution Items", ".Solution Items", "{673FB372-D7A0-47DC-9D23-7BC38FE64668}" - ProjectSection(SolutionItems) = preProject - common.props = common.props - ..\..\Directory.Packages.props = ..\..\Directory.Packages.props - NuGet.Config = NuGet.Config - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU - {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Release|Any CPU.Build.0 = Release|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU - {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Release|Any CPU.Build.0 = Release|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU - {14882ABF-1EEF-430C-8E72-812B3EE810C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {14882ABF-1EEF-430C-8E72-812B3EE810C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {14882ABF-1EEF-430C-8E72-812B3EE810C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {14882ABF-1EEF-430C-8E72-812B3EE810C4}.Release|Any CPU.Build.0 = Release|Any CPU - {648460F4-3ECC-4751-9D87-EE25D0B8B2BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {648460F4-3ECC-4751-9D87-EE25D0B8B2BF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {648460F4-3ECC-4751-9D87-EE25D0B8B2BF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {648460F4-3ECC-4751-9D87-EE25D0B8B2BF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {E3444355-D47E-431E-BDD0-DD3A7113B2AE} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {6015D17B-104B-4EC2-A9B7-D8A40C891458} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {14882ABF-1EEF-430C-8E72-812B3EE810C4} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {648460F4-3ECC-4751-9D87-EE25D0B8B2BF} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C09128AF-C73F-ED7D-33F5-69BF7D934D50} - EndGlobalSection -EndGlobal diff --git a/samples/BookStoreWebApp/BookStoreWebApp.sln.DotSettings b/samples/BookStoreWebApp/BookStoreWebApp.sln.DotSettings deleted file mode 100644 index cb0b2c9..0000000 --- a/samples/BookStoreWebApp/BookStoreWebApp.sln.DotSettings +++ /dev/null @@ -1,23 +0,0 @@ - - True - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - Required - Required - Required - Required - False - True - False - False - True - False - False - SQL - \ No newline at end of file diff --git a/samples/BookStoreWebApp/README.md b/samples/BookStoreWebApp/README.md deleted file mode 100644 index 8bd27b6..0000000 --- a/samples/BookStoreWebApp/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# BookStoreWebApp - -## About this solution - -This is a layered startup solution based on [Domain Driven Design (DDD)](https://docs.abp.io/en/abp/latest/Domain-Driven-Design) practises. All the fundamental ABP modules are already installed. - -### Pre-requirements - -* [.NET 8.0+ SDK](https://dotnet.microsoft.com/download/dotnet) -* [Node v18 or 20](https://nodejs.org/en) - -### Configurations - -The solution comes with a default configuration that works out of the box. However, you may consider to change the following configuration before running your solution: - - -### Before running the application - -#### Generating a Signing Certificate - -In the production environment, you need to use a production signing certificate. ABP Framework sets up signing and encryption certificates in your application and expects an `openiddict.pfx` file in your application. - -This certificate is already generated by ABP CLI, so most of the time you don't need to generate it yourself. However, if you need to generate a certificate, you can use the following command: - -```bash -dotnet dev-certs https -v -ep openiddict.pfx -p 4a4461cf-98c8-4315-a9d7-7650423f4fe5 -``` - -> `4a4461cf-98c8-4315-a9d7-7650423f4fe5` is the password of the certificate, you can change it to any password you want. - -It is recommended to use **two** RSA certificates, distinct from the certificate(s) used for HTTPS: one for encryption, one for signing. - -For more information, please refer to: https://documentation.openiddict.com/configuration/encryption-and-signing-credentials.html#registering-a-certificate-recommended-for-production-ready-scenarios - -> Also, see the [Configuring OpenIddict](https://docs.abp.io/en/abp/latest/Deployment/Configuring-OpenIddict#production-environment) documentation for more information. - -#### Install Client-Side Libraries - -Run the following command in the directory of your final application: - -```bash -abp install-libs -``` - -> This command installs all NPM packages for MVC/Razor Pages and Blazor Server UIs and this command is already run by the ABP CLI, so most of the time you don't need to run this command manually. - -#### Create the Database - -Run `BookStoreWebApp.DbMigrator` to create the initial database. This should be done in the first run. It is also needed if a new database migration is added to the solution later. - -### Solution structure - -This is a layered monolith application that consists of the following applications: - -* `BookStoreWebApp.DbMigrator`: A console application which applies the migrations and also seeds the initial data. It is useful on development as well as on production environment. - -### Deploying the application - -Deploying an ABP application is not different than deploying any .NET or ASP.NET Core application. However, there are some topics that you should care about when you are deploying your applications. You can check ABP's [Deployment documentation](https://docs.abp.io/en/abp/latest/Deployment/Index) before deploying your application. - -### Additional resources - -You can see the following resources to learn more about your solution and the ABP Framework: - -* [Web Application Development Tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Part-1) -* [Application Startup Template Structure](https://docs.abp.io/en/abp/latest/Startup-Templates/Application) diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebApp.Application.Contracts.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebApp.Application.Contracts.csproj deleted file mode 100644 index 4c2a867..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebApp.Application.Contracts.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppApplicationContractsModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppApplicationContractsModule.cs deleted file mode 100644 index bd99200..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppApplicationContractsModule.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppDomainSharedModule), - typeof(AbpAccountApplicationContractsModule), - typeof(AbpFeatureManagementApplicationContractsModule), - typeof(AbpIdentityApplicationContractsModule), - typeof(AbpPermissionManagementApplicationContractsModule), - typeof(AbpSettingManagementApplicationContractsModule), - typeof(AbpTenantManagementApplicationContractsModule), - typeof(AbpObjectExtendingModule) -)] -public class BookStoreWebAppApplicationContractsModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - BookStoreWebAppDtoExtensions.Configure(); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppDtoExtensions.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppDtoExtensions.cs deleted file mode 100644 index 762f658..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppDtoExtensions.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace BookStoreWebApp; - -public static class BookStoreWebAppDtoExtensions -{ - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - /* You can add extension properties to DTOs - * defined in the depended modules. - * - * Example: - * - * ObjectExtensionManager.Instance - * .AddOrUpdateProperty("Title"); - * - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Object-Extensions - */ - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissionDefinitionProvider.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissionDefinitionProvider.cs deleted file mode 100644 index f35e3ff..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissionDefinitionProvider.cs +++ /dev/null @@ -1,20 +0,0 @@ -using BookStoreWebApp.Localization; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Localization; - -namespace BookStoreWebApp.Permissions; - -public class BookStoreWebAppPermissionDefinitionProvider : PermissionDefinitionProvider -{ - public override void Define(IPermissionDefinitionContext context) - { - var myGroup = context.AddGroup(BookStoreWebAppPermissions.GroupName); - //Define your own permissions here. Example: - //myGroup.AddPermission(BookStoreWebAppPermissions.MyPermission1, L("Permission:MyPermission1")); - } - - private static LocalizableString L(string name) - { - return LocalizableString.Create(name); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissions.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissions.cs deleted file mode 100644 index 5794408..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissions.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace BookStoreWebApp.Permissions; - -public static class BookStoreWebAppPermissions -{ - public const string GroupName = "BookStoreWebApp"; - - //Add your own permission names. Example: - //public const string MyPermission1 = GroupName + ".MyPermission1"; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebApp.Application.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebApp.Application.csproj deleted file mode 100644 index 9fcd284..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebApp.Application.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppAppService.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppAppService.cs deleted file mode 100644 index 667c7e0..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppAppService.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using BookStoreWebApp.Localization; -using Volo.Abp.Application.Services; - -namespace BookStoreWebApp; - -/* Inherit your application services from this class. - */ -public abstract class BookStoreWebAppAppService : ApplicationService -{ - protected BookStoreWebAppAppService() - { - LocalizationResource = typeof(BookStoreWebAppResource); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationAutoMapperProfile.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationAutoMapperProfile.cs deleted file mode 100644 index 601a69d..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,13 +0,0 @@ -using AutoMapper; - -namespace BookStoreWebApp; - -public class BookStoreWebAppApplicationAutoMapperProfile : Profile -{ - public BookStoreWebAppApplicationAutoMapperProfile() - { - /* You can configure your AutoMapper mapping configuration here. - * Alternatively, you can split your mapping configurations - * into multiple profile classes for a better organization. */ - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationModule.cs deleted file mode 100644 index f42527f..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationModule.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Volo.Abp.Account; -using Volo.Abp.AutoMapper; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppDomainModule), - typeof(AbpAccountApplicationModule), - typeof(BookStoreWebAppApplicationContractsModule), - typeof(AbpIdentityApplicationModule), - typeof(AbpPermissionManagementApplicationModule), - typeof(AbpTenantManagementApplicationModule), - typeof(AbpFeatureManagementApplicationModule), - typeof(AbpSettingManagementApplicationModule) - )] -public class BookStoreWebAppApplicationModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.AddMaps(); - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/Properties/AssemblyInfo.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Application/Properties/AssemblyInfo.cs deleted file mode 100644 index cf97198..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Application/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("BookStoreWebApp.Application.Tests")] diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorAutoMapperProfile.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorAutoMapperProfile.cs deleted file mode 100644 index 28abbf8..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorAutoMapperProfile.cs +++ /dev/null @@ -1,11 +0,0 @@ -using AutoMapper; - -namespace BookStoreWebApp.Blazor.Client; - -public class BookStoreWebAppBlazorAutoMapperProfile : Profile -{ - public BookStoreWebAppBlazorAutoMapperProfile() - { - //Define your AutoMapper configuration here for the Blazor project. - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBrandingProvider.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBrandingProvider.cs deleted file mode 100644 index ab26e22..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBrandingProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Volo.Abp.DependencyInjection; -using Volo.Abp.Ui.Branding; - -namespace BookStoreWebApp.Blazor.Client; - -[Dependency(ReplaceServices = true)] -public class BookStoreWebAppBrandingProvider : DefaultBrandingProvider -{ - public override string AppName => "BookStoreWebApp"; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBundleContributor.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBundleContributor.cs deleted file mode 100644 index 82a3a35..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBundleContributor.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Volo.Abp.Bundling; - -namespace BookStoreWebApp.Blazor.Client; - -/* Add your global styles/scripts here. - * See https://docs.abp.io/en/abp/latest/UI/Blazor/Global-Scripts-Styles to learn how to use it - */ -public class BookStoreWebAppBundleContributor : IBundleContributor -{ - public void AddScripts(BundleContext context) - { - - } - - public void AddStyles(BundleContext context) - { - context.Add("main.css", true); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppComponentBase.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppComponentBase.cs deleted file mode 100644 index b0c17bd..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppComponentBase.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BookStoreWebApp.Localization; -using Volo.Abp.AspNetCore.Components; - -namespace BookStoreWebApp.Blazor.Client; - -public abstract class BookStoreWebAppComponentBase : AbpComponentBase -{ - protected BookStoreWebAppComponentBase() - { - LocalizationResource = typeof(BookStoreWebAppResource); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenus.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenus.cs deleted file mode 100644 index 3ef476c..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenus.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace BookStoreWebApp.Blazor.Client.Menus; - -public class BookStoreWebAppMenus -{ - private const string Prefix = "BookStoreWebApp"; - public const string Home = Prefix + ".Home"; - - //Add your menu items here... - -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.cs deleted file mode 100644 index da6327a..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStoreWebApp.Blazor.Client.Pages; - -public partial class Index -{ - -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.css b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.css deleted file mode 100644 index b154964..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.css +++ /dev/null @@ -1 +0,0 @@ -/* Write here your styles for the Index page */ \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Program.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Program.cs deleted file mode 100644 index 3f0531f..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Program.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.AspNetCore.Components.WebAssembly.Hosting; - -namespace BookStoreWebApp.Blazor.Client; - -public class Program -{ - public async static Task Main(string[] args) - { - var builder = WebAssemblyHostBuilder.CreateDefault(args); - var application = await builder.AddApplicationAsync(options => - { - options.UseAutofac(); - }); - - var host = builder.Build(); - - await application.InitializeApplicationAsync(host.Services); - - await host.RunAsync(); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Properties/launchSettings.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Properties/launchSettings.json deleted file mode 100644 index d39a2e3..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Properties/launchSettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "profiles": { - "BookStoreWebApp.Blazor.Client": { - "commandName": "Project", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "applicationUrl": "https://localhost:57104;http://localhost:57105" - } - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.json deleted file mode 100644 index 1d16cbe..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "RemoteServices": { - "Default": { - "BaseUrl": "https://localhost:44390" - } - }, - "AbpCli": { - "Bundle": { - "Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */ - "Name": "global", - "IsBlazorWebApp": true, - "InteractiveAuto": true, - "Parameters": { - - } - } - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.secrets.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.css b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.css deleted file mode 100644 index 3e589f5..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.css +++ /dev/null @@ -1,27124 +0,0 @@ -[class^=ant-]::-ms-clear, -[class*= ant-]::-ms-clear, -[class^=ant-] input::-ms-clear, -[class*= ant-] input::-ms-clear, -[class^=ant-] input::-ms-reveal, -[class*= ant-] input::-ms-reveal { - display: none; -} -/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */ -html, -body { - width: 100%; - height: 100%; -} -input::-ms-clear, -input::-ms-reveal { - display: none; -} -*, -*::before, -*::after { - box-sizing: border-box; -} -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -@-ms-viewport { - width: device-width; -} -body { - margin: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - font-variant: tabular-nums; - line-height: 1.5715; - background-color: #fff; - font-feature-settings: 'tnum'; -} -[tabindex='-1']:focus { - outline: none !important; -} -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 0; - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; -} -p { - margin-top: 0; - margin-bottom: 1em; -} -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - text-decoration: underline dotted; - border-bottom: 0; - cursor: help; -} -address { - margin-bottom: 1em; - font-style: normal; - line-height: inherit; -} -input[type='text'], -input[type='password'], -input[type='number'], -textarea { - -webkit-appearance: none; -} -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1em; -} -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} -dt { - font-weight: 500; -} -dd { - margin-bottom: 0.5em; - margin-left: 0; -} -blockquote { - margin: 0 0 1em; -} -dfn { - font-style: italic; -} -b, -strong { - font-weight: bolder; -} -small { - font-size: 80%; -} -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} -sub { - bottom: -0.25em; -} -sup { - top: -0.5em; -} -a { - color: #1890ff; - text-decoration: none; - background-color: transparent; - outline: none; - cursor: pointer; - transition: color 0.3s; - -webkit-text-decoration-skip: objects; -} -a:hover { - color: #40a9ff; -} -a:active { - color: #096dd9; -} -a:active, -a:hover { - text-decoration: none; - outline: 0; -} -a:focus { - text-decoration: none; - outline: 0; -} -a[disabled] { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -pre, -code, -kbd, -samp { - font-size: 1em; - font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; -} -pre { - margin-top: 0; - margin-bottom: 1em; - overflow: auto; -} -figure { - margin: 0 0 1em; -} -img { - vertical-align: middle; - border-style: none; -} -a, -area, -button, -[role='button'], -input:not([type='range']), -label, -select, -summary, -textarea { - touch-action: manipulation; -} -table { - border-collapse: collapse; -} -caption { - padding-top: 0.75em; - padding-bottom: 0.3em; - color: rgba(0, 0, 0, 0.45); - text-align: left; - caption-side: bottom; -} -input, -button, -select, -optgroup, -textarea { - margin: 0; - color: inherit; - font-size: inherit; - font-family: inherit; - line-height: inherit; -} -button, -input { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} -button::-moz-focus-inner, -[type='button']::-moz-focus-inner, -[type='reset']::-moz-focus-inner, -[type='submit']::-moz-focus-inner { - padding: 0; - border-style: none; -} -input[type='radio'], -input[type='checkbox'] { - box-sizing: border-box; - padding: 0; -} -input[type='date'], -input[type='time'], -input[type='datetime-local'], -input[type='month'] { - -webkit-appearance: listbox; -} -textarea { - overflow: auto; - resize: vertical; -} -fieldset { - min-width: 0; - margin: 0; - padding: 0; - border: 0; -} -legend { - display: block; - width: 100%; - max-width: 100%; - margin-bottom: 0.5em; - padding: 0; - color: inherit; - font-size: 1.5em; - line-height: inherit; - white-space: normal; -} -progress { - vertical-align: baseline; -} -[type='number']::-webkit-inner-spin-button, -[type='number']::-webkit-outer-spin-button { - height: auto; -} -[type='search'] { - outline-offset: -2px; - -webkit-appearance: none; -} -[type='search']::-webkit-search-cancel-button, -[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} -output { - display: inline-block; -} -summary { - display: list-item; -} -template { - display: none; -} -[hidden] { - display: none !important; -} -mark { - padding: 0.2em; - background-color: #feffe6; -} -::selection { - color: #fff; - background: #1890ff; -} -.clearfix::before { - display: table; - content: ''; -} -.clearfix::after { - display: table; - clear: both; - content: ''; -} -.anticon { - display: inline-block; - color: inherit; - font-style: normal; - line-height: 0; - text-align: center; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.anticon > * { - line-height: 1; -} -.anticon svg { - display: inline-block; -} -.anticon::before { - display: none; -} -.anticon .anticon-icon { - display: block; -} -.anticon > .anticon { - line-height: 0; - vertical-align: 0; -} -.anticon[tabindex] { - cursor: pointer; -} -.anticon-spin, -.anticon-spin::before { - display: inline-block; - animation: loadingCircle 1s infinite linear; -} -.ant-fade-enter, -.ant-fade-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-fade-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-fade-enter.ant-fade-enter-active, -.ant-fade-appear.ant-fade-appear-active { - animation-name: antFadeIn; - animation-play-state: running; -} -.ant-fade-leave.ant-fade-leave-active { - animation-name: antFadeOut; - animation-play-state: running; - pointer-events: none; -} -.ant-fade-enter, -.ant-fade-appear { - opacity: 0; - animation-timing-function: linear; -} -.ant-fade-leave { - animation-timing-function: linear; -} -@keyframes antFadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes antFadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -.ant-move-up-enter, -.ant-move-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-up-enter.ant-move-up-enter-active, -.ant-move-up-appear.ant-move-up-appear-active { - animation-name: antMoveUpIn; - animation-play-state: running; -} -.ant-move-up-leave.ant-move-up-leave-active { - animation-name: antMoveUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-up-enter, -.ant-move-up-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-up-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-down-enter, -.ant-move-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-down-enter.ant-move-down-enter-active, -.ant-move-down-appear.ant-move-down-appear-active { - animation-name: antMoveDownIn; - animation-play-state: running; -} -.ant-move-down-leave.ant-move-down-leave-active { - animation-name: antMoveDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-down-enter, -.ant-move-down-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-down-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-left-enter, -.ant-move-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-left-enter.ant-move-left-enter-active, -.ant-move-left-appear.ant-move-left-appear-active { - animation-name: antMoveLeftIn; - animation-play-state: running; -} -.ant-move-left-leave.ant-move-left-leave-active { - animation-name: antMoveLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-left-enter, -.ant-move-left-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-left-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -.ant-move-right-enter, -.ant-move-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-move-right-enter.ant-move-right-enter-active, -.ant-move-right-appear.ant-move-right-appear-active { - animation-name: antMoveRightIn; - animation-play-state: running; -} -.ant-move-right-leave.ant-move-right-leave-active { - animation-name: antMoveRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-move-right-enter, -.ant-move-right-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-move-right-leave { - animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); -} -@keyframes antMoveDownIn { - 0% { - transform: translateY(100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveDownOut { - 0% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateY(100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveLeftIn { - 0% { - transform: translateX(-100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveLeftOut { - 0% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateX(-100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveRightIn { - 0% { - transform: translateX(100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveRightOut { - 0% { - transform: translateX(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateX(100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes antMoveUpIn { - 0% { - transform: translateY(-100%); - transform-origin: 0 0; - opacity: 0; - } - 100% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } -} -@keyframes antMoveUpOut { - 0% { - transform: translateY(0%); - transform-origin: 0 0; - opacity: 1; - } - 100% { - transform: translateY(-100%); - transform-origin: 0 0; - opacity: 0; - } -} -@keyframes loadingCircle { - 100% { - transform: rotate(360deg); - } -} -[ant-click-animating='true'], -[ant-click-animating-without-extra-node='true'] { - position: relative; -} -html { - --antd-wave-shadow-color: #1890ff; - --scroll-bar: 0; -} -[ant-click-animating-without-extra-node='true']::after, -.ant-click-animating-node { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - border-radius: inherit; - box-shadow: 0 0 0 0 #1890ff; - box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); - opacity: 0.2; - animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1); - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -@keyframes waveEffect { - 100% { - box-shadow: 0 0 0 #1890ff; - box-shadow: 0 0 0 6px var(--antd-wave-shadow-color); - } -} -@keyframes fadeEffect { - 100% { - opacity: 0; - } -} -.ant-slide-up-enter, -.ant-slide-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-up-enter.ant-slide-up-enter-active, -.ant-slide-up-appear.ant-slide-up-appear-active { - animation-name: antSlideUpIn; - animation-play-state: running; -} -.ant-slide-up-leave.ant-slide-up-leave-active { - animation-name: antSlideUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-up-enter, -.ant-slide-up-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-up-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-down-enter, -.ant-slide-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-down-enter.ant-slide-down-enter-active, -.ant-slide-down-appear.ant-slide-down-appear-active { - animation-name: antSlideDownIn; - animation-play-state: running; -} -.ant-slide-down-leave.ant-slide-down-leave-active { - animation-name: antSlideDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-down-enter, -.ant-slide-down-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-down-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-left-enter, -.ant-slide-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-left-enter.ant-slide-left-enter-active, -.ant-slide-left-appear.ant-slide-left-appear-active { - animation-name: antSlideLeftIn; - animation-play-state: running; -} -.ant-slide-left-leave.ant-slide-left-leave-active { - animation-name: antSlideLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-left-enter, -.ant-slide-left-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-left-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -.ant-slide-right-enter, -.ant-slide-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-slide-right-enter.ant-slide-right-enter-active, -.ant-slide-right-appear.ant-slide-right-appear-active { - animation-name: antSlideRightIn; - animation-play-state: running; -} -.ant-slide-right-leave.ant-slide-right-leave-active { - animation-name: antSlideRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-slide-right-enter, -.ant-slide-right-appear { - opacity: 0; - animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); -} -.ant-slide-right-leave { - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); -} -@keyframes antSlideUpIn { - 0% { - transform: scaleY(0.8); - transform-origin: 0% 0%; - opacity: 0; - } - 100% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } -} -@keyframes antSlideUpOut { - 0% { - transform: scaleY(1); - transform-origin: 0% 0%; - opacity: 1; - } - 100% { - transform: scaleY(0.8); - transform-origin: 0% 0%; - opacity: 0; - } -} -@keyframes antSlideDownIn { - 0% { - transform: scaleY(0.8); - transform-origin: 100% 100%; - opacity: 0; - } - 100% { - transform: scaleY(1); - transform-origin: 100% 100%; - opacity: 1; - } -} -@keyframes antSlideDownOut { - 0% { - transform: scaleY(1); - transform-origin: 100% 100%; - opacity: 1; - } - 100% { - transform: scaleY(0.8); - transform-origin: 100% 100%; - opacity: 0; - } -} -@keyframes antSlideLeftIn { - 0% { - transform: scaleX(0.8); - transform-origin: 0% 0%; - opacity: 0; - } - 100% { - transform: scaleX(1); - transform-origin: 0% 0%; - opacity: 1; - } -} -@keyframes antSlideLeftOut { - 0% { - transform: scaleX(1); - transform-origin: 0% 0%; - opacity: 1; - } - 100% { - transform: scaleX(0.8); - transform-origin: 0% 0%; - opacity: 0; - } -} -@keyframes antSlideRightIn { - 0% { - transform: scaleX(0.8); - transform-origin: 100% 0%; - opacity: 0; - } - 100% { - transform: scaleX(1); - transform-origin: 100% 0%; - opacity: 1; - } -} -@keyframes antSlideRightOut { - 0% { - transform: scaleX(1); - transform-origin: 100% 0%; - opacity: 1; - } - 100% { - transform: scaleX(0.8); - transform-origin: 100% 0%; - opacity: 0; - } -} -.ant-zoom-enter, -.ant-zoom-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-enter.ant-zoom-enter-active, -.ant-zoom-appear.ant-zoom-appear-active { - animation-name: antZoomIn; - animation-play-state: running; -} -.ant-zoom-leave.ant-zoom-leave-active { - animation-name: antZoomOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-enter, -.ant-zoom-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-enter-prepare, -.ant-zoom-appear-prepare { - transform: none; -} -.ant-zoom-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-big-enter, -.ant-zoom-big-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-enter.ant-zoom-big-enter-active, -.ant-zoom-big-appear.ant-zoom-big-appear-active { - animation-name: antZoomBigIn; - animation-play-state: running; -} -.ant-zoom-big-leave.ant-zoom-big-leave-active { - animation-name: antZoomBigOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-big-enter, -.ant-zoom-big-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-big-enter-prepare, -.ant-zoom-big-appear-prepare { - transform: none; -} -.ant-zoom-big-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-big-fast-enter, -.ant-zoom-big-fast-appear { - animation-duration: 0.1s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-fast-leave { - animation-duration: 0.1s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active, -.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active { - animation-name: antZoomBigIn; - animation-play-state: running; -} -.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active { - animation-name: antZoomBigOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-big-fast-enter, -.ant-zoom-big-fast-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-big-fast-enter-prepare, -.ant-zoom-big-fast-appear-prepare { - transform: none; -} -.ant-zoom-big-fast-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-up-enter, -.ant-zoom-up-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-up-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-up-enter.ant-zoom-up-enter-active, -.ant-zoom-up-appear.ant-zoom-up-appear-active { - animation-name: antZoomUpIn; - animation-play-state: running; -} -.ant-zoom-up-leave.ant-zoom-up-leave-active { - animation-name: antZoomUpOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-up-enter, -.ant-zoom-up-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-up-enter-prepare, -.ant-zoom-up-appear-prepare { - transform: none; -} -.ant-zoom-up-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-down-enter, -.ant-zoom-down-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-down-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-down-enter.ant-zoom-down-enter-active, -.ant-zoom-down-appear.ant-zoom-down-appear-active { - animation-name: antZoomDownIn; - animation-play-state: running; -} -.ant-zoom-down-leave.ant-zoom-down-leave-active { - animation-name: antZoomDownOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-down-enter, -.ant-zoom-down-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-down-enter-prepare, -.ant-zoom-down-appear-prepare { - transform: none; -} -.ant-zoom-down-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-left-enter, -.ant-zoom-left-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-left-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-left-enter.ant-zoom-left-enter-active, -.ant-zoom-left-appear.ant-zoom-left-appear-active { - animation-name: antZoomLeftIn; - animation-play-state: running; -} -.ant-zoom-left-leave.ant-zoom-left-leave-active { - animation-name: antZoomLeftOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-left-enter, -.ant-zoom-left-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-left-enter-prepare, -.ant-zoom-left-appear-prepare { - transform: none; -} -.ant-zoom-left-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-zoom-right-enter, -.ant-zoom-right-appear { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-right-leave { - animation-duration: 0.2s; - animation-fill-mode: both; - animation-play-state: paused; -} -.ant-zoom-right-enter.ant-zoom-right-enter-active, -.ant-zoom-right-appear.ant-zoom-right-appear-active { - animation-name: antZoomRightIn; - animation-play-state: running; -} -.ant-zoom-right-leave.ant-zoom-right-leave-active { - animation-name: antZoomRightOut; - animation-play-state: running; - pointer-events: none; -} -.ant-zoom-right-enter, -.ant-zoom-right-appear { - transform: scale(0); - opacity: 0; - animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); -} -.ant-zoom-right-enter-prepare, -.ant-zoom-right-appear-prepare { - transform: none; -} -.ant-zoom-right-leave { - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -@keyframes antZoomIn { - 0% { - transform: scale(0.2); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes antZoomOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0.2); - opacity: 0; - } -} -@keyframes antZoomBigIn { - 0% { - transform: scale(0.8); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes antZoomBigOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0.8); - opacity: 0; - } -} -@keyframes antZoomUpIn { - 0% { - transform: scale(0.8); - transform-origin: 50% 0%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 50% 0%; - } -} -@keyframes antZoomUpOut { - 0% { - transform: scale(1); - transform-origin: 50% 0%; - } - 100% { - transform: scale(0.8); - transform-origin: 50% 0%; - opacity: 0; - } -} -@keyframes antZoomLeftIn { - 0% { - transform: scale(0.8); - transform-origin: 0% 50%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 0% 50%; - } -} -@keyframes antZoomLeftOut { - 0% { - transform: scale(1); - transform-origin: 0% 50%; - } - 100% { - transform: scale(0.8); - transform-origin: 0% 50%; - opacity: 0; - } -} -@keyframes antZoomRightIn { - 0% { - transform: scale(0.8); - transform-origin: 100% 50%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 100% 50%; - } -} -@keyframes antZoomRightOut { - 0% { - transform: scale(1); - transform-origin: 100% 50%; - } - 100% { - transform: scale(0.8); - transform-origin: 100% 50%; - opacity: 0; - } -} -@keyframes antZoomDownIn { - 0% { - transform: scale(0.8); - transform-origin: 50% 100%; - opacity: 0; - } - 100% { - transform: scale(1); - transform-origin: 50% 100%; - } -} -@keyframes antZoomDownOut { - 0% { - transform: scale(1); - transform-origin: 50% 100%; - } - 100% { - transform: scale(0.8); - transform-origin: 50% 100%; - opacity: 0; - } -} -.ant-motion-collapse-legacy { - overflow: hidden; -} -.ant-motion-collapse-legacy-active { - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-motion-collapse { - overflow: hidden; - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ -/* stylelint-disable no-duplicate-selectors */ -/* stylelint-disable */ -/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ -.antblaozr-animate-disabled.ant-scroll-number-only { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-drawer > * { - transition: none; -} -.antblaozr-animate-disabled .ant-modal-mask, -.antblaozr-animate-disabled .ant-modal { - animation: none; - transition: none; -} -.antblaozr-animate-disabled .ant-modal-mask.zoom-enter, -.antblaozr-animate-disabled .ant-modal.zoom-enter, -.antblaozr-animate-disabled .ant-modal-mask.zoom-leave, -.antblaozr-animate-disabled .ant-modal.zoom-leave, -.antblaozr-animate-disabled .ant-modal-mask.zoom-enter-active, -.antblaozr-animate-disabled .ant-modal.zoom-enter-active, -.antblaozr-animate-disabled .ant-modal-mask.zoom-leave-active, -.antblaozr-animate-disabled .ant-modal.zoom-leave-active { - animation: none; - transition: none; -} -.antblaozr-animate-disabled.ant-menu { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item .anticon, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title .anticon { - transition: none; -} -.antblaozr-animate-disabled.ant-menu .ant-menu-item .anticon + span, -.antblaozr-animate-disabled.ant-menu .ant-menu-submenu-title .anticon + span { - transition: none; -} -.antblaozr-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane, -.antblaozr-animate-disabled.ant-tabs .ant-tabs-bottom-content > .ant-tabs-tabpane, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated, -.antblaozr-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated { - transition: none; -} -.antblaozr-animate-disabled.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transition: none; -} -.anticon svg { - vertical-align: unset; -} -.ant-affix { - position: fixed; - z-index: 10; -} -.ant-alert { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: flex; - align-items: center; - padding: 8px 15px; - word-wrap: break-word; - border-radius: 2px; -} -.ant-alert-content { - flex: 1; - min-width: 0; -} -.ant-alert-icon { - margin-right: 8px; -} -.ant-alert-description { - display: none; - font-size: 14px; - line-height: 22px; -} -.ant-alert-success { - background-color: #f6ffed; - border: 1px solid #b7eb8f; -} -.ant-alert-success .ant-alert-icon { - color: #52c41a; -} -.ant-alert-info { - background-color: #e6f7ff; - border: 1px solid #91d5ff; -} -.ant-alert-info .ant-alert-icon { - color: #1890ff; -} -.ant-alert-warning { - background-color: #fffbe6; - border: 1px solid #ffe58f; -} -.ant-alert-warning .ant-alert-icon { - color: #faad14; -} -.ant-alert-error { - background-color: #fff2f0; - border: 1px solid #ffccc7; -} -.ant-alert-error .ant-alert-icon { - color: #ff4d4f; -} -.ant-alert-error .ant-alert-description > pre { - margin: 0; - padding: 0; -} -.ant-alert-action { - margin-left: 8px; -} -.ant-alert-close-icon { - margin-left: 8px; - padding: 0; - overflow: hidden; - font-size: 12px; - line-height: 12px; - background-color: transparent; - border: none; - outline: none; - cursor: pointer; -} -.ant-alert-close-icon .anticon-close { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-alert-close-icon .anticon-close:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-alert-close-text { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-alert-close-text:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-alert-with-description { - align-items: flex-start; - padding: 15px 15px 15px 24px; -} -.ant-alert-with-description.ant-alert-no-icon { - padding: 15px 15px; -} -.ant-alert-with-description .ant-alert-icon { - margin-right: 15px; - font-size: 24px; -} -.ant-alert-with-description .ant-alert-message { - display: block; - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; -} -.ant-alert-message { - color: rgba(0, 0, 0, 0.85); -} -.ant-alert-with-description .ant-alert-description { - display: block; -} -.ant-alert.ant-alert-motion-leave { - overflow: hidden; - opacity: 1; - transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-alert.ant-alert-motion-leave-active { - max-height: 0; - margin-bottom: 0 !important; - padding-top: 0; - padding-bottom: 0; - opacity: 0; -} -.ant-alert-banner { - margin-bottom: 0; - border: 0; - border-radius: 0; -} -.ant-alert.ant-alert-rtl { - direction: rtl; -} -.ant-alert-rtl .ant-alert-icon { - margin-right: auto; - margin-left: 8px; -} -.ant-alert-rtl .ant-alert-action { - margin-right: 8px; - margin-left: auto; -} -.ant-alert-rtl .ant-alert-close-icon { - margin-right: 8px; - margin-left: auto; -} -.ant-alert-rtl.ant-alert-with-description { - padding-right: 24px; - padding-left: 15px; -} -.ant-alert-rtl.ant-alert-with-description .ant-alert-icon { - margin-right: auto; - margin-left: 15px; -} -.ant-anchor { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - padding-left: 2px; -} -.ant-anchor-wrapper { - margin-left: -4px; - padding-left: 4px; - overflow: auto; - background-color: transparent; -} -.ant-anchor-ink { - position: absolute; - top: 0; - left: 0; - height: 100%; -} -.ant-anchor-ink::before { - position: relative; - display: block; - width: 2px; - height: 100%; - margin: 0 auto; - background-color: #f0f0f0; - content: ' '; -} -.ant-anchor-ink-ball { - position: absolute; - left: 50%; - display: none; - width: 8px; - height: 8px; - background-color: #fff; - border: 2px solid #1890ff; - border-radius: 8px; - transform: translateX(-50%); - transition: top 0.3s ease-in-out; -} -.ant-anchor-ink-ball.ant-anchor-ink-ball-visible { - display: inline-block; -} -.ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink-ball { - display: none; -} -.ant-anchor-link { - padding: 4px 0 4px 16px; -} -.ant-anchor-link-title { - position: relative; - display: block; - margin-bottom: 3px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - white-space: nowrap; - text-overflow: ellipsis; - transition: all 0.3s; -} -.ant-anchor-link-title:only-child { - margin-bottom: 0; -} -.ant-anchor-link-active > .ant-anchor-link-title { - color: #1890ff; -} -.ant-anchor-link .ant-anchor-link { - padding-top: 2px; - padding-bottom: 2px; -} -.ant-anchor-rtl { - direction: rtl; -} -.ant-anchor-rtl.ant-anchor-wrapper { - margin-right: -4px; - margin-left: 0; - padding-right: 4px; - padding-left: 0; -} -.ant-anchor-rtl .ant-anchor-ink { - right: 0; - left: auto; -} -.ant-anchor-rtl .ant-anchor-ink-ball { - right: 50%; - left: 0; - transform: translateX(50%); -} -.ant-anchor-rtl .ant-anchor-link { - padding: 4px 16px 4px 0; -} -.ant-avatar { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - overflow: hidden; - color: #fff; - white-space: nowrap; - text-align: center; - vertical-align: middle; - background: #ccc; - width: 32px; - height: 32px; - line-height: 32px; - border-radius: 50%; -} -.ant-avatar-image { - background: transparent; -} -.ant-avatar .ant-image-img { - display: block; -} -.ant-avatar-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar.ant-avatar-icon { - font-size: 18px; -} -.ant-avatar.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; - border-radius: 50%; -} -.ant-avatar-lg-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar-lg.ant-avatar-icon { - font-size: 24px; -} -.ant-avatar-lg.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; - border-radius: 50%; -} -.ant-avatar-sm-string { - position: absolute; - left: 50%; - transform-origin: 0 center; -} -.ant-avatar-sm.ant-avatar-icon { - font-size: 14px; -} -.ant-avatar-sm.ant-avatar-icon > .anticon { - margin: 0; -} -.ant-avatar-square { - border-radius: 2px; -} -.ant-avatar > img { - display: block; - width: 100%; - height: 100%; - object-fit: cover; -} -.ant-avatar-group { - display: inline-flex; -} -.ant-avatar-group .ant-avatar { - border: 1px solid #fff; -} -.ant-avatar-group .ant-avatar:not(:first-child) { - margin-left: -8px; -} -.ant-avatar-group-popover .ant-avatar + .ant-avatar { - margin-left: 3px; -} -.ant-avatar-group-rtl .ant-avatar:not(:first-child) { - margin-right: -8px; - margin-left: 0; -} -.ant-avatar-group-popover.ant-popover-rtl .ant-avatar + .ant-avatar { - margin-right: 3px; - margin-left: 0; -} -.ant-back-top { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - right: 100px; - bottom: 50px; - z-index: 10; - width: 40px; - height: 40px; - cursor: pointer; -} -.ant-back-top:empty { - display: none; -} -.ant-back-top-rtl { - right: auto; - left: 100px; - direction: rtl; -} -.ant-back-top-content { - width: 40px; - height: 40px; - overflow: hidden; - color: #fff; - text-align: center; - background-color: rgba(0, 0, 0, 0.45); - border-radius: 20px; - transition: all 0.3s; -} -.ant-back-top-content:hover { - background-color: rgba(0, 0, 0, 0.85); - transition: all 0.3s; -} -.ant-back-top-icon { - font-size: 24px; - line-height: 40px; -} -@media screen and (max-width: 768px) { - .ant-back-top { - right: 60px; - } - .ant-back-top-rtl { - right: auto; - left: 60px; - } -} -@media screen and (max-width: 480px) { - .ant-back-top { - right: 20px; - } - .ant-back-top-rtl { - right: auto; - left: 20px; - } -} -.ant-badge { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - line-height: 1; -} -.ant-badge-count { - z-index: auto; - min-width: 20px; - height: 20px; - padding: 0 6px; - color: #fff; - font-weight: normal; - font-size: 12px; - line-height: 20px; - white-space: nowrap; - text-align: center; - background: #ff4d4f; - border-radius: 10px; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-count a, -.ant-badge-count a:hover { - color: #fff; -} -.ant-badge-count-sm { - min-width: 14px; - height: 14px; - padding: 0; - font-size: 12px; - line-height: 14px; - border-radius: 7px; -} -.ant-badge-multiple-words { - padding: 0 8px; -} -.ant-badge-dot { - z-index: auto; - width: 6px; - min-width: 6px; - height: 6px; - background: #ff4d4f; - border-radius: 100%; - box-shadow: 0 0 0 1px #fff; -} -.ant-badge-dot.ant-scroll-number { - transition: background 1.5s; -} -.ant-badge-count, -.ant-badge-dot, -.ant-badge .ant-scroll-number-custom-component { - position: absolute; - top: 0; - right: 0; - transform: translate(50%, -50%); - transform-origin: 100% 0%; -} -.ant-badge-count.anticon-spin, -.ant-badge-dot.anticon-spin, -.ant-badge .ant-scroll-number-custom-component.anticon-spin { - animation: antBadgeLoadingCircle 1s infinite linear; -} -.ant-badge-status { - line-height: inherit; - vertical-align: baseline; -} -.ant-badge-status-dot { - position: relative; - top: -1px; - display: inline-block; - width: 6px; - height: 6px; - vertical-align: middle; - border-radius: 50%; -} -.ant-badge-status-success { - background-color: #52c41a; -} -.ant-badge-status-processing { - position: relative; - background-color: #1890ff; -} -.ant-badge-status-processing::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 50%; - animation: antStatusProcessing 1.2s infinite ease-in-out; - content: ''; -} -.ant-badge-status-default { - background-color: #d9d9d9; -} -.ant-badge-status-error { - background-color: #ff4d4f; -} -.ant-badge-status-warning { - background-color: #faad14; -} -.ant-badge-status-pink { - background: #eb2f96; -} -.ant-badge-status-magenta { - background: #eb2f96; -} -.ant-badge-status-red { - background: #f5222d; -} -.ant-badge-status-volcano { - background: #fa541c; -} -.ant-badge-status-orange { - background: #fa8c16; -} -.ant-badge-status-yellow { - background: #fadb14; -} -.ant-badge-status-gold { - background: #faad14; -} -.ant-badge-status-cyan { - background: #13c2c2; -} -.ant-badge-status-lime { - background: #a0d911; -} -.ant-badge-status-green { - background: #52c41a; -} -.ant-badge-status-blue { - background: #1890ff; -} -.ant-badge-status-geekblue { - background: #2f54eb; -} -.ant-badge-status-purple { - background: #722ed1; -} -.ant-badge-status-text { - margin-left: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-badge-zoom-appear, -.ant-badge-zoom-enter { - animation: antZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); - animation-fill-mode: both; -} -.ant-badge-zoom-leave { - animation: antZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6); - animation-fill-mode: both; -} -.ant-badge-not-a-wrapper .ant-badge-zoom-appear, -.ant-badge-not-a-wrapper .ant-badge-zoom-enter { - animation: antNoWrapperZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); -} -.ant-badge-not-a-wrapper .ant-badge-zoom-leave { - animation: antNoWrapperZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6); -} -.ant-badge-not-a-wrapper:not(.ant-badge-status) { - vertical-align: middle; -} -.ant-badge-not-a-wrapper .ant-scroll-number-custom-component, -.ant-badge-not-a-wrapper .ant-badge-count { - transform: none; -} -.ant-badge-not-a-wrapper .ant-scroll-number-custom-component, -.ant-badge-not-a-wrapper .ant-scroll-number { - position: relative; - top: auto; - display: block; - transform-origin: 50% 50%; -} -@keyframes antStatusProcessing { - 0% { - transform: scale(0.8); - opacity: 0.5; - } - 100% { - transform: scale(2.4); - opacity: 0; - } -} -.ant-scroll-number { - overflow: hidden; - direction: ltr; -} -.ant-scroll-number-only { - position: relative; - display: inline-block; - height: 20px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - /* stylelint-disable property-no-vendor-prefix */ - -webkit-transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - /* stylelint-enable property-no-vendor-prefix */ -} -.ant-scroll-number-only > p.ant-scroll-number-only-unit { - height: 20px; - margin: 0; - /* stylelint-disable property-no-vendor-prefix */ - -webkit-transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - /* stylelint-enable property-no-vendor-prefix */ -} -.ant-scroll-number-symbol { - vertical-align: top; -} -@keyframes antZoomBadgeIn { - 0% { - transform: scale(0) translate(50%, -50%); - opacity: 0; - } - 100% { - transform: scale(1) translate(50%, -50%); - } -} -@keyframes antZoomBadgeOut { - 0% { - transform: scale(1) translate(50%, -50%); - } - 100% { - transform: scale(0) translate(50%, -50%); - opacity: 0; - } -} -@keyframes antNoWrapperZoomBadgeIn { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - } -} -@keyframes antNoWrapperZoomBadgeOut { - 0% { - transform: scale(1); - } - 100% { - transform: scale(0); - opacity: 0; - } -} -@keyframes antBadgeLoadingCircle { - 0% { - transform-origin: 50%; - } - 100% { - transform: translate(50%, -50%) rotate(360deg); - transform-origin: 50%; - } -} -.ant-ribbon-wrapper { - position: relative; -} -.ant-ribbon { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: 8px; - height: 22px; - padding: 0 8px; - color: #fff; - line-height: 22px; - white-space: nowrap; - background-color: #1890ff; - border-radius: 2px; -} -.ant-ribbon-text { - color: #fff; -} -.ant-ribbon-corner { - position: absolute; - top: 100%; - width: 8px; - height: 8px; - color: currentcolor; - border: 4px solid; - transform: scaleY(0.75); - transform-origin: top; -} -.ant-ribbon-corner::after { - position: absolute; - top: -4px; - left: -4px; - width: inherit; - height: inherit; - color: rgba(0, 0, 0, 0.25); - border: inherit; - content: ''; -} -.ant-ribbon-color-pink { - color: #eb2f96; - background: #eb2f96; -} -.ant-ribbon-color-magenta { - color: #eb2f96; - background: #eb2f96; -} -.ant-ribbon-color-red { - color: #f5222d; - background: #f5222d; -} -.ant-ribbon-color-volcano { - color: #fa541c; - background: #fa541c; -} -.ant-ribbon-color-orange { - color: #fa8c16; - background: #fa8c16; -} -.ant-ribbon-color-yellow { - color: #fadb14; - background: #fadb14; -} -.ant-ribbon-color-gold { - color: #faad14; - background: #faad14; -} -.ant-ribbon-color-cyan { - color: #13c2c2; - background: #13c2c2; -} -.ant-ribbon-color-lime { - color: #a0d911; - background: #a0d911; -} -.ant-ribbon-color-green { - color: #52c41a; - background: #52c41a; -} -.ant-ribbon-color-blue { - color: #1890ff; - background: #1890ff; -} -.ant-ribbon-color-geekblue { - color: #2f54eb; - background: #2f54eb; -} -.ant-ribbon-color-purple { - color: #722ed1; - background: #722ed1; -} -.ant-ribbon.ant-ribbon-placement-end { - right: -8px; - border-bottom-right-radius: 0; -} -.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner { - right: 0; - border-color: currentcolor transparent transparent currentcolor; -} -.ant-ribbon.ant-ribbon-placement-start { - left: -8px; - border-bottom-left-radius: 0; -} -.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner { - left: 0; - border-color: currentcolor currentcolor transparent transparent; -} -.ant-badge-rtl { - direction: rtl; -} -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-count, -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-dot, -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component { - right: auto; - left: 0; - direction: ltr; - transform: translate(-50%, -50%); - transform-origin: 0% 0%; -} -.ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component { - right: auto; - left: 0; - transform: translate(-50%, -50%); - transform-origin: 0% 0%; -} -.ant-badge-rtl .ant-badge-status-text { - margin-right: 8px; - margin-left: 0; -} -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-appear, -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-enter { - animation-name: antZoomBadgeInRtl; -} -.ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-leave { - animation-name: antZoomBadgeOutRtl; -} -.ant-ribbon-rtl { - direction: rtl; -} -.ant-ribbon-rtl.ant-ribbon-placement-end { - right: unset; - left: -8px; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 0; -} -.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner { - right: unset; - left: 0; - border-color: currentcolor currentcolor transparent transparent; -} -.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after { - border-color: currentcolor currentcolor transparent transparent; -} -.ant-ribbon-rtl.ant-ribbon-placement-start { - right: -8px; - left: unset; - border-bottom-right-radius: 0; - border-bottom-left-radius: 2px; -} -.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner { - right: 0; - left: unset; - border-color: currentcolor transparent transparent currentcolor; -} -.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after { - border-color: currentcolor transparent transparent currentcolor; -} -@keyframes antZoomBadgeInRtl { - 0% { - transform: scale(0) translate(-50%, -50%); - opacity: 0; - } - 100% { - transform: scale(1) translate(-50%, -50%); - } -} -@keyframes antZoomBadgeOutRtl { - 0% { - transform: scale(1) translate(-50%, -50%); - } - 100% { - transform: scale(0) translate(-50%, -50%); - opacity: 0; - } -} -.ant-badge-multiple-words:not(.ant-badge-count-overflow) { - font-size: 0; -} -.ant-badge-multiple-words:not(.ant-badge-count-overflow) .ant-scroll-number-only { - font-size: 12px; -} -.ant-badge .ant-scroll-number:only-child { - position: relative; - top: auto; - display: block; -} -.ant-badge .ant-badge-count:only-child { - transform: none; -} -.ant-breadcrumb { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-breadcrumb .anticon { - font-size: 14px; -} -.ant-breadcrumb ol { - display: flex; - flex-wrap: wrap; - margin: 0; - padding: 0; - list-style: none; -} -.ant-breadcrumb a { - color: rgba(0, 0, 0, 0.45); - transition: color 0.3s; -} -.ant-breadcrumb a:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb li:last-child { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb li:last-child a { - color: rgba(0, 0, 0, 0.85); -} -li:last-child > .ant-breadcrumb-separator { - display: none; -} -.ant-breadcrumb-separator { - margin: 0 8px; - color: rgba(0, 0, 0, 0.45); -} -.ant-breadcrumb-link > .anticon + span, -.ant-breadcrumb-link > .anticon + a { - margin-left: 4px; -} -.ant-breadcrumb-overlay-link > .anticon { - margin-left: 4px; -} -.ant-breadcrumb-rtl { - direction: rtl; -} -.ant-breadcrumb-rtl::before { - display: table; - content: ''; -} -.ant-breadcrumb-rtl::after { - display: table; - clear: both; - content: ''; -} -.ant-breadcrumb-rtl::before { - display: table; - content: ''; -} -.ant-breadcrumb-rtl::after { - display: table; - clear: both; - content: ''; -} -.ant-breadcrumb-rtl > span { - float: right; -} -.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + span, -.ant-breadcrumb-rtl .ant-breadcrumb-link > .anticon + a { - margin-right: 4px; - margin-left: 0; -} -.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link > .anticon { - margin-right: 4px; - margin-left: 0; -} -.ant-breadcrumb-link .anticon + span { - margin-left: 4px; -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child a { - color: rgba(0, 0, 0, 0.85); -} -.ant-breadcrumb .ant-blazor-breadcrumb-item:last-child .ant-breadcrumb-separator { - display: none; -} -.ant-breadcrumb-rtl > .ant-blazor-breadcrumb-item { - float: right; -} -.ant-blazor-breadcrum { - display: block; -} -.ant-btn { - line-height: 1.5715; - position: relative; - display: inline-block; - font-weight: 400; - white-space: nowrap; - text-align: center; - background-image: none; - border: 1px solid transparent; - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); - cursor: pointer; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - user-select: none; - touch-action: manipulation; - height: 32px; - padding: 4px 15px; - font-size: 14px; - border-radius: 2px; - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: #fff; -} -.ant-btn > .anticon { - line-height: 1; -} -.ant-btn, -.ant-btn:active, -.ant-btn:focus { - outline: 0; -} -.ant-btn:not([disabled]):hover { - text-decoration: none; -} -.ant-btn:not([disabled]):active { - outline: 0; - box-shadow: none; -} -.ant-btn[disabled] { - cursor: not-allowed; -} -.ant-btn[disabled] > * { - pointer-events: none; -} -.ant-btn-lg { - height: 40px; - padding: 6.4px 15px; - font-size: 16px; - border-radius: 2px; -} -.ant-btn-sm { - height: 24px; - padding: 0px 7px; - font-size: 14px; - border-radius: 2px; -} -.ant-btn > a:only-child { - color: currentcolor; -} -.ant-btn > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:hover, -.ant-btn:focus { - color: #40a9ff; - border-color: #40a9ff; - background: #fff; -} -.ant-btn:hover > a:only-child, -.ant-btn:focus > a:only-child { - color: currentcolor; -} -.ant-btn:hover > a:only-child::after, -.ant-btn:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:active { - color: #096dd9; - border-color: #096dd9; - background: #fff; -} -.ant-btn:active > a:only-child { - color: currentcolor; -} -.ant-btn:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn[disabled], -.ant-btn[disabled]:hover, -.ant-btn[disabled]:focus, -.ant-btn[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn[disabled] > a:only-child, -.ant-btn[disabled]:hover > a:only-child, -.ant-btn[disabled]:focus > a:only-child, -.ant-btn[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn[disabled] > a:only-child::after, -.ant-btn[disabled]:hover > a:only-child::after, -.ant-btn[disabled]:focus > a:only-child::after, -.ant-btn[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn:hover, -.ant-btn:focus, -.ant-btn:active { - text-decoration: none; - background: #fff; -} -.ant-btn > span { - display: inline-block; -} -.ant-btn-primary { - color: #fff; - border-color: #1890ff; - background: #1890ff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary:hover, -.ant-btn-primary:focus { - color: #fff; - border-color: #40a9ff; - background: #40a9ff; -} -.ant-btn-primary:hover > a:only-child, -.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-primary:hover > a:only-child::after, -.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary:active { - color: #fff; - border-color: #096dd9; - background: #096dd9; -} -.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-primary[disabled], -.ant-btn-primary[disabled]:hover, -.ant-btn-primary[disabled]:focus, -.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-primary[disabled] > a:only-child, -.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { - border-right-color: #40a9ff; - border-left-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { - border-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { - border-right-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { - border-right-color: #d9d9d9; -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child), -.ant-btn-group .ant-btn-primary + .ant-btn-primary { - border-left-color: #40a9ff; -} -.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], -.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { - border-left-color: #d9d9d9; -} -.ant-btn-ghost { - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: transparent; -} -.ant-btn-ghost > a:only-child { - color: currentcolor; -} -.ant-btn-ghost > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost:hover, -.ant-btn-ghost:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-ghost:hover > a:only-child, -.ant-btn-ghost:focus > a:only-child { - color: currentcolor; -} -.ant-btn-ghost:hover > a:only-child::after, -.ant-btn-ghost:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-ghost:active > a:only-child { - color: currentcolor; -} -.ant-btn-ghost:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-ghost[disabled], -.ant-btn-ghost[disabled]:hover, -.ant-btn-ghost[disabled]:focus, -.ant-btn-ghost[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-ghost[disabled] > a:only-child, -.ant-btn-ghost[disabled]:hover > a:only-child, -.ant-btn-ghost[disabled]:focus > a:only-child, -.ant-btn-ghost[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-ghost[disabled] > a:only-child::after, -.ant-btn-ghost[disabled]:hover > a:only-child::after, -.ant-btn-ghost[disabled]:focus > a:only-child::after, -.ant-btn-ghost[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed { - color: rgba(0, 0, 0, 0.85); - border-color: #d9d9d9; - background: #fff; - border-style: dashed; -} -.ant-btn-dashed > a:only-child { - color: currentcolor; -} -.ant-btn-dashed > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed:hover, -.ant-btn-dashed:focus { - color: #40a9ff; - border-color: #40a9ff; - background: #fff; -} -.ant-btn-dashed:hover > a:only-child, -.ant-btn-dashed:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dashed:hover > a:only-child::after, -.ant-btn-dashed:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed:active { - color: #096dd9; - border-color: #096dd9; - background: #fff; -} -.ant-btn-dashed:active > a:only-child { - color: currentcolor; -} -.ant-btn-dashed:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dashed[disabled], -.ant-btn-dashed[disabled]:hover, -.ant-btn-dashed[disabled]:focus, -.ant-btn-dashed[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dashed[disabled] > a:only-child, -.ant-btn-dashed[disabled]:hover > a:only-child, -.ant-btn-dashed[disabled]:focus > a:only-child, -.ant-btn-dashed[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dashed[disabled] > a:only-child::after, -.ant-btn-dashed[disabled]:hover > a:only-child::after, -.ant-btn-dashed[disabled]:focus > a:only-child::after, -.ant-btn-dashed[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger { - color: #fff; - border-color: #ff4d4f; - background: #ff4d4f; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-danger > a:only-child { - color: currentcolor; -} -.ant-btn-danger > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger:hover, -.ant-btn-danger:focus { - color: #fff; - border-color: #ff7875; - background: #ff7875; -} -.ant-btn-danger:hover > a:only-child, -.ant-btn-danger:focus > a:only-child { - color: currentcolor; -} -.ant-btn-danger:hover > a:only-child::after, -.ant-btn-danger:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger:active { - color: #fff; - border-color: #d9363e; - background: #d9363e; -} -.ant-btn-danger:active > a:only-child { - color: currentcolor; -} -.ant-btn-danger:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-danger[disabled], -.ant-btn-danger[disabled]:hover, -.ant-btn-danger[disabled]:focus, -.ant-btn-danger[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-danger[disabled] > a:only-child, -.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-danger[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-danger[disabled] > a:only-child::after, -.ant-btn-danger[disabled]:hover > a:only-child::after, -.ant-btn-danger[disabled]:focus > a:only-child::after, -.ant-btn-danger[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link { - color: #1890ff; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:hover, -.ant-btn-link:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-link:hover > a:only-child, -.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-link:hover > a:only-child::after, -.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link[disabled], -.ant-btn-link[disabled]:hover, -.ant-btn-link[disabled]:focus, -.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-link[disabled] > a:only-child, -.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-link:hover { - background: transparent; -} -.ant-btn-link:hover, -.ant-btn-link:focus, -.ant-btn-link:active { - border-color: transparent; -} -.ant-btn-link[disabled], -.ant-btn-link[disabled]:hover, -.ant-btn-link[disabled]:focus, -.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-link[disabled] > a:only-child, -.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text { - color: rgba(0, 0, 0, 0.85); - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-text > a:only-child { - color: currentcolor; -} -.ant-btn-text > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:hover, -.ant-btn-text:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-text:hover > a:only-child, -.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-text:hover > a:only-child::after, -.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text[disabled], -.ant-btn-text[disabled]:hover, -.ant-btn-text[disabled]:focus, -.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-text[disabled] > a:only-child, -.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-text:hover, -.ant-btn-text:focus { - color: rgba(0, 0, 0, 0.85); - background: rgba(0, 0, 0, 0.018); - border-color: transparent; -} -.ant-btn-text:active { - color: rgba(0, 0, 0, 0.85); - background: rgba(0, 0, 0, 0.028); - border-color: transparent; -} -.ant-btn-text[disabled], -.ant-btn-text[disabled]:hover, -.ant-btn-text[disabled]:focus, -.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-text[disabled] > a:only-child, -.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous { - color: #ff4d4f; - border-color: #ff4d4f; - background: #fff; -} -.ant-btn-dangerous > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous:hover, -.ant-btn-dangerous:focus { - color: #ff7875; - border-color: #ff7875; - background: #fff; -} -.ant-btn-dangerous:hover > a:only-child, -.ant-btn-dangerous:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous:hover > a:only-child::after, -.ant-btn-dangerous:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous:active { - color: #d9363e; - border-color: #d9363e; - background: #fff; -} -.ant-btn-dangerous:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous[disabled], -.ant-btn-dangerous[disabled]:hover, -.ant-btn-dangerous[disabled]:focus, -.ant-btn-dangerous[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous[disabled] > a:only-child, -.ant-btn-dangerous[disabled]:hover > a:only-child, -.ant-btn-dangerous[disabled]:focus > a:only-child, -.ant-btn-dangerous[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous[disabled] > a:only-child::after, -.ant-btn-dangerous[disabled]:hover > a:only-child::after, -.ant-btn-dangerous[disabled]:focus > a:only-child::after, -.ant-btn-dangerous[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary { - color: #fff; - border-color: #ff4d4f; - background: #ff4d4f; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); -} -.ant-btn-dangerous.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary:hover, -.ant-btn-dangerous.ant-btn-primary:focus { - color: #fff; - border-color: #ff7875; - background: #ff7875; -} -.ant-btn-dangerous.ant-btn-primary:hover > a:only-child, -.ant-btn-dangerous.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary:active { - color: #fff; - border-color: #d9363e; - background: #d9363e; -} -.ant-btn-dangerous.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-primary[disabled], -.ant-btn-dangerous.ant-btn-primary[disabled]:hover, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus, -.ant-btn-dangerous.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link { - color: #ff4d4f; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-dangerous.ant-btn-link:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-dangerous.ant-btn-link:focus { - color: #ff7875; - border-color: transparent; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link:active { - color: #d9363e; - border-color: transparent; - background: transparent; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text { - color: #ff4d4f; - border-color: transparent; - background: transparent; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:hover, -.ant-btn-dangerous.ant-btn-text:focus { - color: #40a9ff; - border-color: #40a9ff; - background: transparent; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:active { - color: #096dd9; - border-color: #096dd9; - background: transparent; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text[disabled], -.ant-btn-dangerous.ant-btn-text[disabled]:hover, -.ant-btn-dangerous.ant-btn-text[disabled]:focus, -.ant-btn-dangerous.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:hover, -.ant-btn-dangerous.ant-btn-text:focus { - color: #ff7875; - border-color: transparent; - background: rgba(0, 0, 0, 0.018); -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text:active { - color: #d9363e; - border-color: transparent; - background: rgba(0, 0, 0, 0.028); -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-dangerous.ant-btn-text[disabled], -.ant-btn-dangerous.ant-btn-text[disabled]:hover, -.ant-btn-dangerous.ant-btn-text[disabled]:focus, -.ant-btn-dangerous.ant-btn-text[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, -.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-icon-only { - width: 32px; - height: 32px; - padding: 2.4px 0; - font-size: 16px; - border-radius: 2px; - vertical-align: -3px; -} -.ant-btn-icon-only > * { - font-size: 16px; -} -.ant-btn-icon-only.ant-btn-lg { - width: 40px; - height: 40px; - padding: 4.9px 0; - font-size: 18px; - border-radius: 2px; -} -.ant-btn-icon-only.ant-btn-lg > * { - font-size: 18px; -} -.ant-btn-icon-only.ant-btn-sm { - width: 24px; - height: 24px; - padding: 0px 0; - font-size: 14px; - border-radius: 2px; -} -.ant-btn-icon-only.ant-btn-sm > * { - font-size: 14px; -} -.ant-btn-icon-only > .anticon { - display: flex; - justify-content: center; -} -.ant-btn-icon-only .anticon-loading { - padding: 0 !important; -} -a.ant-btn-icon-only { - vertical-align: -1px; -} -a.ant-btn-icon-only > .anticon { - display: inline; -} -.ant-btn-round { - height: 32px; - padding: 4px 16px; - font-size: 14px; - border-radius: 32px; -} -.ant-btn-round.ant-btn-lg { - height: 40px; - padding: 6.4px 20px; - font-size: 16px; - border-radius: 40px; -} -.ant-btn-round.ant-btn-sm { - height: 24px; - padding: 0px 12px; - font-size: 14px; - border-radius: 24px; -} -.ant-btn-round.ant-btn-icon-only { - width: auto; -} -.ant-btn-circle { - min-width: 32px; - padding-right: 0; - padding-left: 0; - text-align: center; - border-radius: 50%; -} -.ant-btn-circle.ant-btn-lg { - min-width: 40px; - border-radius: 50%; -} -.ant-btn-circle.ant-btn-sm { - min-width: 24px; - border-radius: 50%; -} -.ant-btn::before { - position: absolute; - top: -1px; - right: -1px; - bottom: -1px; - left: -1px; - z-index: 1; - display: none; - background: #fff; - border-radius: inherit; - opacity: 0.35; - transition: opacity 0.2s; - content: ''; - pointer-events: none; -} -.ant-btn .anticon { - transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-btn .anticon.anticon-plus > svg, -.ant-btn .anticon.anticon-minus > svg { - shape-rendering: optimizespeed; -} -.ant-btn.ant-btn-loading { - position: relative; - cursor: default; -} -.ant-btn.ant-btn-loading::before { - display: block; -} -.ant-btn > .ant-btn-loading-icon { - transition: width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-btn > .ant-btn-loading-icon .anticon { - padding-right: 8px; - animation: none; -} -.ant-btn > .ant-btn-loading-icon .anticon svg { - animation: loadingCircle 1s infinite linear; -} -.ant-btn-group { - position: relative; - display: inline-flex; -} -.ant-btn-group > .ant-btn, -.ant-btn-group > span > .ant-btn { - position: relative; -} -.ant-btn-group > .ant-btn:hover, -.ant-btn-group > span > .ant-btn:hover, -.ant-btn-group > .ant-btn:focus, -.ant-btn-group > span > .ant-btn:focus, -.ant-btn-group > .ant-btn:active, -.ant-btn-group > span > .ant-btn:active { - z-index: 2; -} -.ant-btn-group > .ant-btn[disabled], -.ant-btn-group > span > .ant-btn[disabled] { - z-index: 0; -} -.ant-btn-group .ant-btn-icon-only { - font-size: 14px; -} -.ant-btn-group .ant-btn + .ant-btn, -.ant-btn + .ant-btn-group, -.ant-btn-group span + .ant-btn, -.ant-btn-group .ant-btn + span, -.ant-btn-group > span + span, -.ant-btn-group + .ant-btn, -.ant-btn-group + .ant-btn-group { - margin-left: -1px; -} -.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { - border-left-color: transparent; -} -.ant-btn-group .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn:first-child, -.ant-btn-group > span:first-child > .ant-btn { - margin-left: 0; -} -.ant-btn-group > .ant-btn:only-child { - border-radius: 2px; -} -.ant-btn-group > span:only-child > .ant-btn { - border-radius: 2px; -} -.ant-btn-group > .ant-btn:first-child:not(:last-child), -.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-btn-group > .ant-btn:last-child:not(:first-child), -.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:only-child { - border-radius: 2px; -} -.ant-btn-group-sm > span:only-child > .ant-btn { - border-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), -.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), -.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-btn-group > .ant-btn-group { - float: left; -} -.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { - border-radius: 0; -} -.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { - padding-right: 8px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { - padding-left: 8px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-rtl.ant-btn-group .ant-btn + .ant-btn, -.ant-btn-rtl.ant-btn + .ant-btn-group, -.ant-btn-rtl.ant-btn-group span + .ant-btn, -.ant-btn-rtl.ant-btn-group .ant-btn + span, -.ant-btn-rtl.ant-btn-group > span + span, -.ant-btn-rtl.ant-btn-group + .ant-btn, -.ant-btn-rtl.ant-btn-group + .ant-btn-group, -.ant-btn-group-rtl.ant-btn-group .ant-btn + .ant-btn, -.ant-btn-group-rtl.ant-btn + .ant-btn-group, -.ant-btn-group-rtl.ant-btn-group span + .ant-btn, -.ant-btn-group-rtl.ant-btn-group .ant-btn + span, -.ant-btn-group-rtl.ant-btn-group > span + span, -.ant-btn-group-rtl.ant-btn-group + .ant-btn, -.ant-btn-group-rtl.ant-btn-group + .ant-btn-group { - margin-right: -1px; - margin-left: auto; -} -.ant-btn-group.ant-btn-group-rtl { - direction: rtl; -} -.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child), -.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { - border-radius: 0 2px 2px 0; -} -.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { - border-radius: 2px 0 0 2px; -} -.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), -.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { - border-radius: 0 2px 2px 0; -} -.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { - border-radius: 2px 0 0 2px; -} -.ant-btn:focus > span, -.ant-btn:active > span { - position: relative; -} -.ant-btn > .anticon + span, -.ant-btn > span + .anticon { - margin-left: 8px; -} -.ant-btn.ant-btn-background-ghost { - color: #fff; - border-color: #fff; -} -.ant-btn.ant-btn-background-ghost, -.ant-btn.ant-btn-background-ghost:hover, -.ant-btn.ant-btn-background-ghost:active, -.ant-btn.ant-btn-background-ghost:focus { - background: transparent; -} -.ant-btn.ant-btn-background-ghost:hover, -.ant-btn.ant-btn-background-ghost:focus { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-btn.ant-btn-background-ghost:active { - color: #096dd9; - border-color: #096dd9; -} -.ant-btn.ant-btn-background-ghost[disabled] { - color: rgba(0, 0, 0, 0.25); - background: transparent; - border-color: #d9d9d9; -} -.ant-btn-background-ghost.ant-btn-primary { - color: #1890ff; - border-color: #1890ff; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary:hover, -.ant-btn-background-ghost.ant-btn-primary:focus { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary:active { - color: #096dd9; - border-color: #096dd9; -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-primary[disabled], -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger { - color: #ff4d4f; - border-color: #ff4d4f; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger:hover, -.ant-btn-background-ghost.ant-btn-danger:focus { - color: #ff7875; - border-color: #ff7875; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger:active { - color: #d9363e; - border-color: #d9363e; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-danger[disabled], -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous { - color: #ff4d4f; - border-color: #ff4d4f; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover, -.ant-btn-background-ghost.ant-btn-dangerous:focus { - color: #ff7875; - border-color: #ff7875; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous:active { - color: #d9363e; - border-color: #d9363e; -} -.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled], -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link { - color: #ff4d4f; - border-color: transparent; - text-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus { - color: #ff7875; - border-color: transparent; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active { - color: #d9363e; - border-color: transparent; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - background: #f5f5f5; - text-shadow: none; - box-shadow: none; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child { - color: currentcolor; -} -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, -.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -.ant-btn-two-chinese-chars::first-letter { - letter-spacing: 0.34em; -} -.ant-btn-two-chinese-chars > *:not(.anticon) { - margin-right: -0.34em; - letter-spacing: 0.34em; -} -.ant-btn.ant-btn-block { - width: 100%; -} -.ant-btn:empty { - display: inline-block; - width: 0; - visibility: hidden; - content: '\a0'; -} -a.ant-btn { - padding-top: 0.01px !important; - line-height: 30px; -} -a.ant-btn-disabled { - cursor: not-allowed; -} -a.ant-btn-disabled > * { - pointer-events: none; -} -a.ant-btn-disabled, -a.ant-btn-disabled:hover, -a.ant-btn-disabled:focus, -a.ant-btn-disabled:active { - color: rgba(0, 0, 0, 0.25); - border-color: transparent; - background: transparent; - text-shadow: none; - box-shadow: none; -} -a.ant-btn-disabled > a:only-child, -a.ant-btn-disabled:hover > a:only-child, -a.ant-btn-disabled:focus > a:only-child, -a.ant-btn-disabled:active > a:only-child { - color: currentcolor; -} -a.ant-btn-disabled > a:only-child::after, -a.ant-btn-disabled:hover > a:only-child::after, -a.ant-btn-disabled:focus > a:only-child::after, -a.ant-btn-disabled:active > a:only-child::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - content: ''; -} -a.ant-btn-lg { - line-height: 38px; -} -a.ant-btn-sm { - line-height: 22px; -} -.ant-btn-compact-item:not(.ant-btn-compact-last-item):not(.ant-btn-compact-item-rtl) { - margin-right: -1px; -} -.ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-item-rtl { - margin-left: -1px; -} -.ant-btn-compact-item:hover, -.ant-btn-compact-item:focus, -.ant-btn-compact-item:active { - z-index: 2; -} -.ant-btn-compact-item[disabled] { - z-index: 0; -} -.ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item).ant-btn { - border-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-first-item:not(.ant-btn-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-last-item:not(.ant-btn-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item.ant-btn.ant-btn-compact-item-rtl.ant-btn-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-icon-only.ant-btn-compact-item { - flex: none; -} -.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled]) { - position: relative; -} -.ant-btn-compact-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-item.ant-btn-primary:not([disabled])::after { - position: absolute; - top: -1px; - left: -1px; - display: inline-block; - width: 1px; - height: calc(100% + 1px * 2); - background-color: #40a9ff; - content: ' '; -} -.ant-btn-compact-item-rtl.ant-btn-compact-first-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-last-item) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-compact-last-item.ant-btn-compact-item-rtl:not(.ant-btn-compact-first-item) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-first-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-last-item) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-sm.ant-btn-compact-last-item.ant-btn-compact-item-rtl.ant-btn-sm:not(.ant-btn-compact-first-item) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-btn-compact-item-rtl.ant-btn-primary:not([disabled]) + .ant-btn-compact-item-rtl.ant-btn-primary:not([disabled])::after { - right: -1px; -} -.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item) { - margin-bottom: -1px; -} -.ant-btn-compact-vertical-item:hover, -.ant-btn-compact-vertical-item:focus, -.ant-btn-compact-vertical-item:active { - z-index: 2; -} -.ant-btn-compact-vertical-item[disabled] { - z-index: 0; -} -.ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item) { - border-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) { - position: relative; -} -.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]) + .ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])::after { - position: absolute; - top: -1px; - left: -1px; - display: inline-block; - width: calc(100% + 1px * 2); - height: 1px; - background-color: #40a9ff; - content: ' '; -} -.ant-btn-rtl { - direction: rtl; -} -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary { - border-right-color: #40a9ff; - border-left-color: #d9d9d9; -} -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], -.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { - border-right-color: #d9d9d9; - border-left-color: #40a9ff; -} -.ant-btn-rtl.ant-btn > .ant-btn-loading-icon .anticon { - padding-right: 0; - padding-left: 8px; -} -.ant-btn-rtl.ant-btn > .anticon + span, -.ant-btn-rtl.ant-btn > span + .anticon { - margin-right: 8px; - margin-left: 0; -} -.ant-card { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - background: #fff; - border-radius: 2px; -} -.ant-card-rtl { - direction: rtl; -} -.ant-card-hoverable { - cursor: pointer; - transition: box-shadow 0.3s, border-color 0.3s; -} -.ant-card-hoverable:hover { - border-color: transparent; - box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); -} -.ant-card-bordered { - border: 1px solid #f0f0f0; -} -.ant-card-head { - min-height: 48px; - margin-bottom: -1px; - padding: 0 24px; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - background: transparent; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-card-head::before { - display: table; - content: ''; -} -.ant-card-head::after { - display: table; - clear: both; - content: ''; -} -.ant-card-head::before { - display: table; - content: ''; -} -.ant-card-head::after { - display: table; - clear: both; - content: ''; -} -.ant-card-head-wrapper { - display: flex; - align-items: center; -} -.ant-card-head-title { - display: inline-block; - flex: 1; - padding: 16px 0; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-card-head-title > .ant-typography, -.ant-card-head-title > .ant-typography-edit-content { - left: 0; - margin-top: 0; - margin-bottom: 0; -} -.ant-card-head .ant-tabs-top { - clear: both; - margin-bottom: -17px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-card-head .ant-tabs-top-bar { - border-bottom: 1px solid #f0f0f0; -} -.ant-card-extra { - margin-left: auto; - padding: 16px 0; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-card-rtl .ant-card-extra { - margin-right: auto; - margin-left: 0; -} -.ant-card-body { - padding: 24px; -} -.ant-card-body::before { - display: table; - content: ''; -} -.ant-card-body::after { - display: table; - clear: both; - content: ''; -} -.ant-card-body::before { - display: table; - content: ''; -} -.ant-card-body::after { - display: table; - clear: both; - content: ''; -} -.ant-card-contain-grid .ant-card-body { - display: flex; - flex-wrap: wrap; -} -.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body { - margin: -1px 0 0 -1px; - padding: 0; -} -.ant-card-grid { - width: 33.33%; - padding: 24px; - border: 0; - border-radius: 0; - box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset; - transition: all 0.3s; -} -.ant-card-grid-hoverable:hover { - position: relative; - z-index: 1; - box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); -} -.ant-card-contain-tabs > .ant-card-head .ant-card-head-title { - min-height: 32px; - padding-bottom: 0; -} -.ant-card-contain-tabs > .ant-card-head .ant-card-extra { - padding-bottom: 0; -} -.ant-card-bordered .ant-card-cover { - margin-top: -1px; - margin-right: -1px; - margin-left: -1px; -} -.ant-card-cover > * { - display: block; - width: 100%; -} -.ant-card-cover img { - border-radius: 2px 2px 0 0; -} -.ant-card-actions { - display: flex; - margin: 0; - padding: 0; - list-style: none; - background: #fff; - border-top: 1px solid #f0f0f0; -} -.ant-card-actions::before { - display: table; - content: ''; -} -.ant-card-actions::after { - display: table; - clear: both; - content: ''; -} -.ant-card-actions::before { - display: table; - content: ''; -} -.ant-card-actions::after { - display: table; - clear: both; - content: ''; -} -.ant-card-actions > li { - margin: 12px 0; - color: rgba(0, 0, 0, 0.45); - text-align: center; -} -.ant-card-actions > li > span { - position: relative; - display: block; - min-width: 32px; - font-size: 14px; - line-height: 1.5715; - cursor: pointer; -} -.ant-card-actions > li > span:hover { - color: #1890ff; - transition: color 0.3s; -} -.ant-card-actions > li > span a:not(.ant-btn), -.ant-card-actions > li > span > .anticon { - display: inline-block; - width: 100%; - color: rgba(0, 0, 0, 0.45); - line-height: 22px; - transition: color 0.3s; -} -.ant-card-actions > li > span a:not(.ant-btn):hover, -.ant-card-actions > li > span > .anticon:hover { - color: #1890ff; -} -.ant-card-actions > li > span > .anticon { - font-size: 16px; - line-height: 22px; -} -.ant-card-actions > li:not(:last-child) { - border-right: 1px solid #f0f0f0; -} -.ant-card-rtl .ant-card-actions > li:not(:last-child) { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-card-type-inner .ant-card-head { - padding: 0 24px; - background: #fafafa; -} -.ant-card-type-inner .ant-card-head-title { - padding: 12px 0; - font-size: 14px; -} -.ant-card-type-inner .ant-card-body { - padding: 16px 24px; -} -.ant-card-type-inner .ant-card-extra { - padding: 13.5px 0; -} -.ant-card-meta { - display: flex; - margin: -4px 0; -} -.ant-card-meta::before { - display: table; - content: ''; -} -.ant-card-meta::after { - display: table; - clear: both; - content: ''; -} -.ant-card-meta::before { - display: table; - content: ''; -} -.ant-card-meta::after { - display: table; - clear: both; - content: ''; -} -.ant-card-meta-avatar { - padding-right: 16px; -} -.ant-card-rtl .ant-card-meta-avatar { - padding-right: 0; - padding-left: 16px; -} -.ant-card-meta-detail { - overflow: hidden; -} -.ant-card-meta-detail > div:not(:last-child) { - margin-bottom: 8px; -} -.ant-card-meta-title { - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-card-meta-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-card-loading { - overflow: hidden; -} -.ant-card-loading .ant-card-body { - user-select: none; -} -.ant-card-small > .ant-card-head { - min-height: 36px; - padding: 0 12px; - font-size: 14px; -} -.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-head-title { - padding: 8px 0; -} -.ant-card-small > .ant-card-head > .ant-card-head-wrapper > .ant-card-extra { - padding: 8px 0; - font-size: 14px; -} -.ant-card-small > .ant-card-body { - padding: 12px; -} -.ant-card-rtl .ant-skeleton-header { - padding: 0 0 0 16px; -} -.ant-carousel { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-carousel .slick-slider { - position: relative; - display: block; - box-sizing: border-box; - touch-action: pan-y; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: transparent; -} -.ant-carousel .slick-list { - position: relative; - display: block; - margin: 0; - padding: 0; - overflow: hidden; -} -.ant-carousel .slick-list:focus { - outline: none; -} -.ant-carousel .slick-list.dragging { - cursor: pointer; -} -.ant-carousel .slick-list .slick-slide { - pointer-events: none; -} -.ant-carousel .slick-list .slick-slide input.ant-radio-input, -.ant-carousel .slick-list .slick-slide input.ant-checkbox-input { - visibility: hidden; -} -.ant-carousel .slick-list .slick-slide.slick-active { - pointer-events: auto; -} -.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input, -.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input { - visibility: visible; -} -.ant-carousel .slick-list .slick-slide > div > div { - vertical-align: bottom; -} -.ant-carousel .slick-slider .slick-track, -.ant-carousel .slick-slider .slick-list { - transform: translate3d(0, 0, 0); - touch-action: pan-y; -} -.ant-carousel .slick-track { - position: relative; - top: 0; - left: 0; - display: block; -} -.ant-carousel .slick-track::before, -.ant-carousel .slick-track::after { - display: table; - content: ''; -} -.ant-carousel .slick-track::after { - clear: both; -} -.slick-loading .ant-carousel .slick-track { - visibility: hidden; -} -.ant-carousel .slick-slide { - display: none; - float: left; - height: 100%; - min-height: 1px; -} -.ant-carousel .slick-slide img { - display: block; -} -.ant-carousel .slick-slide.slick-loading img { - display: none; -} -.ant-carousel .slick-slide.dragging img { - pointer-events: none; -} -.ant-carousel .slick-initialized .slick-slide { - display: block; -} -.ant-carousel .slick-loading .slick-slide { - visibility: hidden; -} -.ant-carousel .slick-vertical .slick-slide { - display: block; - height: auto; -} -.ant-carousel .slick-arrow.slick-hidden { - display: none; -} -.ant-carousel .slick-prev, -.ant-carousel .slick-next { - position: absolute; - top: 50%; - display: block; - width: 20px; - height: 20px; - margin-top: -10px; - padding: 0; - color: transparent; - font-size: 0; - line-height: 0; - background: transparent; - border: 0; - outline: none; - cursor: pointer; -} -.ant-carousel .slick-prev:hover, -.ant-carousel .slick-next:hover, -.ant-carousel .slick-prev:focus, -.ant-carousel .slick-next:focus { - color: transparent; - background: transparent; - outline: none; -} -.ant-carousel .slick-prev:hover::before, -.ant-carousel .slick-next:hover::before, -.ant-carousel .slick-prev:focus::before, -.ant-carousel .slick-next:focus::before { - opacity: 1; -} -.ant-carousel .slick-prev.slick-disabled::before, -.ant-carousel .slick-next.slick-disabled::before { - opacity: 0.25; -} -.ant-carousel .slick-prev { - left: -25px; -} -.ant-carousel .slick-prev::before { - content: '←'; -} -.ant-carousel .slick-next { - right: -25px; -} -.ant-carousel .slick-next::before { - content: '→'; -} -.ant-carousel .slick-dots { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex !important; - justify-content: center; - margin-right: 15%; - margin-bottom: 0; - margin-left: 15%; - padding-left: 0; - list-style: none; -} -.ant-carousel .slick-dots-bottom { - bottom: 12px; -} -.ant-carousel .slick-dots-top { - top: 12px; - bottom: auto; -} -.ant-carousel .slick-dots li { - position: relative; - display: inline-block; - flex: 0 1 auto; - box-sizing: content-box; - width: 16px; - height: 3px; - margin: 0 4px; - padding: 0; - text-align: center; - text-indent: -999px; - vertical-align: top; - transition: all 0.5s; -} -.ant-carousel .slick-dots li button { - position: relative; - display: block; - width: 100%; - height: 3px; - padding: 0; - color: transparent; - font-size: 0; - background: #fff; - border: 0; - border-radius: 1px; - outline: none; - cursor: pointer; - opacity: 0.3; - transition: all 0.5s; -} -.ant-carousel .slick-dots li button:hover, -.ant-carousel .slick-dots li button:focus { - opacity: 0.75; -} -.ant-carousel .slick-dots li button::after { - position: absolute; - top: -4px; - right: -4px; - bottom: -4px; - left: -4px; - content: ''; -} -.ant-carousel .slick-dots li.slick-active { - width: 24px; -} -.ant-carousel .slick-dots li.slick-active button { - background: #fff; - opacity: 1; -} -.ant-carousel .slick-dots li.slick-active:hover, -.ant-carousel .slick-dots li.slick-active:focus { - opacity: 1; -} -.ant-carousel-vertical .slick-dots { - top: 50%; - bottom: auto; - flex-direction: column; - width: 3px; - height: auto; - margin: 0; - transform: translateY(-50%); -} -.ant-carousel-vertical .slick-dots-left { - right: auto; - left: 12px; -} -.ant-carousel-vertical .slick-dots-right { - right: 12px; - left: auto; -} -.ant-carousel-vertical .slick-dots li { - width: 3px; - height: 16px; - margin: 4px 0; - vertical-align: baseline; -} -.ant-carousel-vertical .slick-dots li button { - width: 3px; - height: 16px; -} -.ant-carousel-vertical .slick-dots li.slick-active { - width: 3px; - height: 24px; -} -.ant-carousel-vertical .slick-dots li.slick-active button { - width: 3px; - height: 24px; -} -.ant-carousel-rtl { - direction: rtl; -} -.ant-carousel-rtl .ant-carousel .slick-track { - right: 0; - left: auto; -} -.ant-carousel-rtl .ant-carousel .slick-prev { - right: -25px; - left: auto; -} -.ant-carousel-rtl .ant-carousel .slick-prev::before { - content: '→'; -} -.ant-carousel-rtl .ant-carousel .slick-next { - right: auto; - left: -25px; -} -.ant-carousel-rtl .ant-carousel .slick-next::before { - content: '←'; -} -.ant-carousel-rtl.ant-carousel .slick-dots { - flex-direction: row-reverse; -} -.ant-carousel-rtl.ant-carousel-vertical .slick-dots { - flex-direction: column; -} -.slick-dots { - display: block; -} -.slick-track { - opacity: 1; -} -.slick-list { - direction: ltr; -} -@keyframes antCheckboxEffect { - 0% { - transform: scale(1); - opacity: 0.5; - } - 100% { - transform: scale(1.6); - opacity: 0; - } -} -.ant-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-checkbox-wrapper:hover .ant-checkbox-inner, -.ant-checkbox:hover .ant-checkbox-inner, -.ant-checkbox-input:focus + .ant-checkbox-inner { - border-color: #1890ff; -} -.ant-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-checkbox:hover::after, -.ant-checkbox-wrapper:hover .ant-checkbox::after { - visibility: visible; -} -.ant-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-checkbox-checked .ant-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-checkbox-checked .ant-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-checkbox-disabled { - cursor: not-allowed; -} -.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-checkbox-disabled .ant-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-checkbox-disabled .ant-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-checkbox-disabled:hover::after, -.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after { - visibility: hidden; -} -.ant-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-checkbox-wrapper + .ant-checkbox-wrapper { - margin-left: 8px; -} -.ant-checkbox-wrapper.ant-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-checkbox-group-item { - margin-right: 8px; -} -.ant-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-checkbox-group-item + .ant-checkbox-group-item { - margin-left: 0; -} -.ant-checkbox-indeterminate .ant-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-checkbox-indeterminate .ant-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-checkbox-rtl { - direction: rtl; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-checkbox-group-rtl .ant-checkbox-group-item + .ant-checkbox-group-item { - margin-left: 8px; -} -.ant-checkbox + span:empty { - display: none; -} -.ant-checkbox-checked .ant-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-checkbox-input:checked + .ant-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-checkbox-input:checked + .ant-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25) !important; - animation-name: none; -} -.ant-checkbox-disabled .ant-checkbox-inner { - background-color: #f5f5f5 !important; - border-color: #d9d9d9 !important; -} -.ant-checkbox-disabled .ant-checkbox-inner::after { - border-color: #f5f5f5 !important; - border-collapse: separate; - animation-name: none; -} -.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25) !important; - animation-name: none; -} -.ant-collapse { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-bottom: 0; - border-radius: 2px; -} -.ant-collapse > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse > .ant-collapse-item:last-child, -.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { - border-radius: 0 0 2px 2px; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header { - position: relative; - display: flex; - flex-wrap: nowrap; - align-items: flex-start; - padding: 12px 16px; - color: rgba(0, 0, 0, 0.85); - line-height: 1.5715; - cursor: pointer; - transition: all 0.3s, visibility 0s; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - display: inline-block; - margin-right: 12px; - font-size: 12px; - vertical-align: -1px; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transition: transform 0.24s; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-header-text { - flex: auto; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra { - margin-left: auto; -} -.ant-collapse > .ant-collapse-item > .ant-collapse-header:focus { - outline: none; -} -.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only { - cursor: default; -} -.ant-collapse > .ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text { - flex: none; - cursor: pointer; -} -.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only { - cursor: default; -} -.ant-collapse > .ant-collapse-item .ant-collapse-icon-collapsible-only .ant-collapse-expand-icon { - cursor: pointer; -} -.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header { - padding-left: 12px; -} -.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header { - position: relative; - padding: 12px 16px; - padding-right: 40px; -} -.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - position: absolute; - top: 50%; - right: 16px; - left: auto; - margin: 0; - transform: translateY(-50%); -} -.ant-collapse-content { - color: rgba(0, 0, 0, 0.85); - background-color: #fff; - border-top: 1px solid #d9d9d9; -} -.ant-collapse-content > .ant-collapse-content-box { - padding: 16px; -} -.ant-collapse-content-hidden { - display: none; -} -.ant-collapse-item:last-child > .ant-collapse-content { - border-radius: 0 0 2px 2px; -} -.ant-collapse-borderless { - background-color: #fafafa; - border: 0; -} -.ant-collapse-borderless > .ant-collapse-item { - border-bottom: 1px solid #d9d9d9; -} -.ant-collapse-borderless > .ant-collapse-item:last-child, -.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { - border-radius: 0; -} -.ant-collapse-borderless > .ant-collapse-item:last-child { - border-bottom: 0; -} -.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { - background-color: transparent; - border-top: 0; -} -.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box { - padding-top: 4px; -} -.ant-collapse-ghost { - background-color: transparent; - border: 0; -} -.ant-collapse-ghost > .ant-collapse-item { - border-bottom: 0; -} -.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content { - background-color: transparent; - border-top: 0; -} -.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box { - padding-top: 12px; - padding-bottom: 12px; -} -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, -.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-collapse-rtl { - direction: rtl; -} -.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header { - position: relative; - padding: 12px 16px; - padding-left: 40px; -} -.ant-collapse-rtl.ant-collapse.ant-collapse-icon-position-end > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - position: absolute; - top: 50%; - right: auto; - left: 16px; - margin: 0; - transform: translateY(-50%); -} -.ant-collapse-rtl .ant-collapse > .ant-collapse-item > .ant-collapse-header { - padding: 12px 16px; - padding-right: 40px; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { - margin-right: 0; - margin-left: 12px; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg { - transform: rotate(180deg); -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-extra { - margin-right: auto; - margin-left: 0; -} -.ant-collapse-rtl.ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header { - padding-right: 12px; - padding-left: 0; -} -.ant-comment { - position: relative; - background-color: inherit; -} -.ant-comment-inner { - display: flex; - padding: 16px 0; -} -.ant-comment-avatar { - position: relative; - flex-shrink: 0; - margin-right: 12px; - cursor: pointer; -} -.ant-comment-avatar img { - width: 32px; - height: 32px; - border-radius: 50%; -} -.ant-comment-content { - position: relative; - flex: 1 1 auto; - min-width: 1px; - font-size: 14px; - word-wrap: break-word; -} -.ant-comment-content-author { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - margin-bottom: 4px; - font-size: 14px; -} -.ant-comment-content-author > a, -.ant-comment-content-author > span { - padding-right: 8px; - font-size: 12px; - line-height: 18px; -} -.ant-comment-content-author-name { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - transition: color 0.3s; -} -.ant-comment-content-author-name > * { - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-content-author-name > *:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-content-author-time { - color: #ccc; - white-space: nowrap; - cursor: auto; -} -.ant-comment-content-detail p { - margin-bottom: inherit; - white-space: pre-wrap; -} -.ant-comment-actions { - margin-top: 12px; - margin-bottom: inherit; - padding-left: 0; -} -.ant-comment-actions > li { - display: inline-block; - color: rgba(0, 0, 0, 0.45); -} -.ant-comment-actions > li > span { - margin-right: 10px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - cursor: pointer; - transition: color 0.3s; - user-select: none; -} -.ant-comment-actions > li > span:hover { - color: #595959; -} -.ant-comment-nested { - margin-left: 44px; -} -.ant-comment-rtl { - direction: rtl; -} -.ant-comment-rtl .ant-comment-avatar { - margin-right: 0; - margin-left: 12px; -} -.ant-comment-rtl .ant-comment-content-author > a, -.ant-comment-rtl .ant-comment-content-author > span { - padding-right: 0; - padding-left: 8px; -} -.ant-comment-rtl .ant-comment-actions { - padding-right: 0; -} -.ant-comment-rtl .ant-comment-actions > li > span { - margin-right: 0; - margin-left: 10px; -} -.ant-comment-rtl .ant-comment-nested { - margin-right: 44px; - margin-left: 0; -} -.ant-comment-right .ant-comment-avatar { - margin-left: 12px; - margin-right: 0px; -} -.ant-comment-right .ant-comment-inner { - flex-direction: row-reverse; -} -.ant-comment-right .ant-comment-content-author { - flex-direction: row-reverse; -} -.ant-comment-right .ant-comment-content-detail, -.ant-comment-right .ant-comment-actions { - width: fit-content; - margin-left: auto; -} -.ant-comment-right.ant-comment-rtl .ant-comment-avatar { - margin-left: 0px; - margin-right: 12px; -} -.ant-picker-status-error.ant-picker, -.ant-picker-status-error.ant-picker:not([disabled]):hover { - background-color: #fff; - border-color: #ff4d4f; -} -.ant-picker-status-error.ant-picker-focused, -.ant-picker-status-error.ant-picker:focus { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-picker-status-error.ant-picker .ant-picker-active-bar { - background: #ff7875; -} -.ant-picker-status-warning.ant-picker, -.ant-picker-status-warning.ant-picker:not([disabled]):hover { - background-color: #fff; - border-color: #faad14; -} -.ant-picker-status-warning.ant-picker-focused, -.ant-picker-status-warning.ant-picker:focus { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-picker-status-warning.ant-picker .ant-picker-active-bar { - background: #ffc53d; -} -.ant-picker { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - padding: 4px 11px 4px; - position: relative; - display: inline-flex; - align-items: center; - background: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: border 0.3s, box-shadow 0.3s; -} -.ant-picker:hover, -.ant-picker-focused { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-picker:hover, -.ant-input-rtl .ant-picker-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-picker-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker.ant-picker-disabled { - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-picker.ant-picker-disabled .ant-picker-suffix { - color: rgba(0, 0, 0, 0.25); -} -.ant-picker.ant-picker-borderless { - background-color: transparent !important; - border-color: transparent !important; - box-shadow: none !important; -} -.ant-picker-input { - position: relative; - display: inline-flex; - align-items: center; - width: 100%; -} -.ant-picker-input > input { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - flex: auto; - min-width: 1px; - height: auto; - padding: 0; - background: transparent; - border: 0; -} -.ant-picker-input > input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-picker-input > input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-picker-input > input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-picker-input > input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-input > input:focus, -.ant-picker-input > input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-picker-input > input:focus, -.ant-input-rtl .ant-picker-input > input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-picker-input > input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-picker-input > input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-picker-input > input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-picker-input > input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-picker-input > input-borderless, -.ant-picker-input > input-borderless:hover, -.ant-picker-input > input-borderless:focus, -.ant-picker-input > input-borderless-focused, -.ant-picker-input > input-borderless-disabled, -.ant-picker-input > input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-picker-input > input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-picker-input > input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-picker-input > input-sm { - padding: 0px 7px; -} -.ant-picker-input > input-rtl { - direction: rtl; -} -.ant-picker-input > input:focus { - box-shadow: none; -} -.ant-picker-input > input[disabled] { - background: transparent; -} -.ant-picker-input:hover .ant-picker-clear { - opacity: 1; -} -.ant-picker-input-placeholder > input { - color: #bfbfbf; -} -.ant-picker-large { - padding: 6.5px 11px 6.5px; -} -.ant-picker-large .ant-picker-input > input { - font-size: 16px; -} -.ant-picker-small { - padding: 0px 7px 0px; -} -.ant-picker-suffix { - display: flex; - flex: none; - align-self: center; - margin-left: 4px; - color: rgba(0, 0, 0, 0.25); - line-height: 1; - pointer-events: none; -} -.ant-picker-suffix > * { - vertical-align: top; -} -.ant-picker-suffix > *:not(:last-child) { - margin-right: 8px; -} -.ant-picker-clear { - position: absolute; - top: 50%; - right: 0; - color: rgba(0, 0, 0, 0.25); - line-height: 1; - background: #fff; - transform: translateY(-50%); - cursor: pointer; - opacity: 0; - transition: opacity 0.3s, color 0.3s; -} -.ant-picker-clear > * { - vertical-align: top; -} -.ant-picker-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-picker-separator { - position: relative; - display: inline-block; - width: 1em; - height: 16px; - color: rgba(0, 0, 0, 0.25); - font-size: 16px; - vertical-align: top; - cursor: default; -} -.ant-picker-focused .ant-picker-separator { - color: rgba(0, 0, 0, 0.45); -} -.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator { - cursor: not-allowed; -} -.ant-picker-range { - position: relative; - display: inline-flex; -} -.ant-picker-range .ant-picker-clear { - right: 11px; -} -.ant-picker-range:hover .ant-picker-clear { - opacity: 1; -} -.ant-picker-range .ant-picker-active-bar { - bottom: -1px; - height: 2px; - margin-left: 11px; - background: #1890ff; - opacity: 0; - transition: all 0.3s ease-out; - pointer-events: none; -} -.ant-picker-range.ant-picker-focused .ant-picker-active-bar { - opacity: 1; -} -.ant-picker-range-separator { - align-items: center; - padding: 0 8px; - line-height: 1; -} -.ant-picker-range.ant-picker-small .ant-picker-clear { - right: 7px; -} -.ant-picker-range.ant-picker-small .ant-picker-active-bar { - margin-left: 7px; -} -.ant-picker-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; -} -.ant-picker-dropdown-hidden { - display: none; -} -.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow { - top: 2.58561808px; - display: block; - transform: rotate(-135deg) translateY(1px); -} -.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow { - bottom: 2.58561808px; - display: block; - transform: rotate(45deg); -} -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight { - animation-name: antSlideDownIn; -} -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight { - animation-name: antSlideUpIn; -} -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft, -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight { - animation-name: antSlideDownOut; -} -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft, -.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight { - animation-name: antSlideUpOut; -} -.ant-picker-dropdown-range { - padding: 7.54247233px 0; -} -.ant-picker-dropdown-range-hidden { - display: none; -} -.ant-picker-dropdown .ant-picker-panel > .ant-picker-time-panel { - padding-top: 4px; -} -.ant-picker-ranges { - margin-bottom: 0; - padding: 4px 12px; - overflow: hidden; - line-height: 34px; - text-align: left; - list-style: none; -} -.ant-picker-ranges > li { - display: inline-block; -} -.ant-picker-ranges .ant-picker-preset > .ant-tag-blue { - color: #1890ff; - background: #e6f7ff; - border-color: #91d5ff; - cursor: pointer; -} -.ant-picker-ranges .ant-picker-ok { - float: right; - margin-left: 8px; -} -.ant-picker-range-wrapper { - display: flex; -} -.ant-picker-range-arrow { - position: absolute; - z-index: 1; - display: none; - width: 11.3137085px; - height: 11.3137085px; - margin-left: 16.5px; - box-shadow: 2px 2px 6px -2px rgba(0, 0, 0, 0.1); - transition: left 0.3s ease-out; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-picker-range-arrow::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: #fff; - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-picker-panel-container { - overflow: hidden; - vertical-align: top; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - transition: margin 0.3s; -} -.ant-picker-panel-container .ant-picker-panels { - display: inline-flex; - flex-wrap: nowrap; - direction: ltr; -} -.ant-picker-panel-container .ant-picker-panel { - vertical-align: top; - background: transparent; - border-width: 0 0 1px 0; - border-radius: 0; -} -.ant-picker-panel-container .ant-picker-panel .ant-picker-content, -.ant-picker-panel-container .ant-picker-panel table { - text-align: center; -} -.ant-picker-panel-container .ant-picker-panel-focused { - border-color: #f0f0f0; -} -.ant-picker-compact-item:not(.ant-picker-compact-last-item):not(.ant-picker-compact-item-rtl) { - margin-right: -1px; -} -.ant-picker-compact-item:not(.ant-picker-compact-last-item).ant-picker-compact-item-rtl { - margin-left: -1px; -} -.ant-picker-compact-item:hover, -.ant-picker-compact-item:focus, -.ant-picker-compact-item:active { - z-index: 2; -} -.ant-picker-compact-item.ant-picker-focused { - z-index: 2; -} -.ant-picker-compact-item[disabled] { - z-index: 0; -} -.ant-picker-compact-item:not(.ant-picker-compact-first-item):not(.ant-picker-compact-last-item).ant-picker { - border-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-first-item:not(.ant-picker-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-last-item:not(.ant-picker-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-picker-compact-item.ant-picker.ant-picker-compact-item-rtl.ant-picker-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-picker-panel { - display: inline-flex; - flex-direction: column; - text-align: center; - background: #fff; - border: 1px solid #f0f0f0; - border-radius: 2px; - outline: none; -} -.ant-picker-panel-focused { - border-color: #1890ff; -} -.ant-picker-decade-panel, -.ant-picker-year-panel, -.ant-picker-quarter-panel, -.ant-picker-month-panel, -.ant-picker-week-panel, -.ant-picker-date-panel, -.ant-picker-time-panel { - display: flex; - flex-direction: column; - width: 280px; -} -.ant-picker-header { - display: flex; - padding: 0 8px; - color: rgba(0, 0, 0, 0.85); - border-bottom: 1px solid #f0f0f0; -} -.ant-picker-header > * { - flex: none; -} -.ant-picker-header button { - padding: 0; - color: rgba(0, 0, 0, 0.25); - line-height: 40px; - background: transparent; - border: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-picker-header > button { - min-width: 1.6em; - font-size: 14px; -} -.ant-picker-header > button:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-picker-header-view { - flex: auto; - font-weight: 500; - line-height: 40px; -} -.ant-picker-header-view button { - color: inherit; - font-weight: inherit; -} -.ant-picker-header-view button:not(:first-child) { - margin-left: 8px; -} -.ant-picker-header-view button:hover { - color: #1890ff; -} -.ant-picker-prev-icon, -.ant-picker-next-icon, -.ant-picker-super-prev-icon, -.ant-picker-super-next-icon { - position: relative; - display: inline-block; - width: 7px; - height: 7px; -} -.ant-picker-prev-icon::before, -.ant-picker-next-icon::before, -.ant-picker-super-prev-icon::before, -.ant-picker-super-next-icon::before { - position: absolute; - top: 0; - left: 0; - display: inline-block; - width: 7px; - height: 7px; - border: 0 solid currentcolor; - border-width: 1.5px 0 0 1.5px; - content: ''; -} -.ant-picker-super-prev-icon::after, -.ant-picker-super-next-icon::after { - position: absolute; - top: 4px; - left: 4px; - display: inline-block; - width: 7px; - height: 7px; - border: 0 solid currentcolor; - border-width: 1.5px 0 0 1.5px; - content: ''; -} -.ant-picker-prev-icon, -.ant-picker-super-prev-icon { - transform: rotate(-45deg); -} -.ant-picker-next-icon, -.ant-picker-super-next-icon { - transform: rotate(135deg); -} -.ant-picker-content { - width: 100%; - table-layout: fixed; - border-collapse: collapse; -} -.ant-picker-content th, -.ant-picker-content td { - position: relative; - min-width: 24px; - font-weight: 400; -} -.ant-picker-content th { - height: 30px; - color: rgba(0, 0, 0, 0.85); - line-height: 30px; -} -.ant-picker-cell { - padding: 3px 0; - color: rgba(0, 0, 0, 0.25); - cursor: pointer; -} -.ant-picker-cell-in-view { - color: rgba(0, 0, 0, 0.85); -} -.ant-picker-cell::before { - position: absolute; - top: 50%; - right: 0; - left: 0; - z-index: 1; - height: 24px; - transform: translateY(-50%); - transition: all 0.3s; - content: ''; -} -.ant-picker-cell .ant-picker-cell-inner { - position: relative; - z-index: 2; - display: inline-block; - min-width: 24px; - height: 24px; - line-height: 24px; - border-radius: 2px; - transition: background 0.3s, border 0.3s; -} -.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, -.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner { - background: #f5f5f5; -} -.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - border: 1px solid #1890ff; - border-radius: 2px; - content: ''; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range { - position: relative; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range::before { - background: #e6f7ff; -} -.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, -.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, -.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner { - color: #fff; - background: #1890ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before { - background: #e6f7ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start::before { - left: 50%; -} -.ant-picker-cell-in-view.ant-picker-cell-range-end::before { - right: 50%; -} -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after { - position: absolute; - top: 50%; - z-index: 0; - height: 24px; - border-top: 1px dashed #7ec1ff; - border-bottom: 1px dashed #7ec1ff; - transform: translateY(-50%); - transition: all 0.3s; - content: ''; -} -.ant-picker-cell-range-hover-start::after, -.ant-picker-cell-range-hover-end::after, -.ant-picker-cell-range-hover::after { - right: 0; - left: 2px; -} -.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before, -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before, -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before, -.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before, -.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before { - background: #cbe6ff; -} -.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner { - border-radius: 2px 0 0 2px; -} -.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner { - border-radius: 0 2px 2px 0; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after, -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - position: absolute; - top: 0; - bottom: 0; - z-index: -1; - background: #cbe6ff; - transition: all 0.3s; - content: ''; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after { - right: -6px; - left: 0; -} -.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - right: 0; - left: -6px; -} -.ant-picker-cell-range-hover.ant-picker-cell-range-start::after { - right: 50%; -} -.ant-picker-cell-range-hover.ant-picker-cell-range-end::after { - left: 50%; -} -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, -.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { - left: 6px; - border-left: 1px dashed #7ec1ff; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, -tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, -.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, -.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { - right: 6px; - border-right: 1px dashed #7ec1ff; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-picker-cell-disabled { - color: rgba(0, 0, 0, 0.25); - pointer-events: none; -} -.ant-picker-cell-disabled .ant-picker-cell-inner { - background: transparent; -} -.ant-picker-cell-disabled::before { - background: rgba(0, 0, 0, 0.04); -} -.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before { - border-color: rgba(0, 0, 0, 0.25); -} -.ant-picker-decade-panel .ant-picker-content, -.ant-picker-year-panel .ant-picker-content, -.ant-picker-quarter-panel .ant-picker-content, -.ant-picker-month-panel .ant-picker-content { - height: 264px; -} -.ant-picker-decade-panel .ant-picker-cell-inner, -.ant-picker-year-panel .ant-picker-cell-inner, -.ant-picker-quarter-panel .ant-picker-cell-inner, -.ant-picker-month-panel .ant-picker-cell-inner { - padding: 0 8px; -} -.ant-picker-quarter-panel .ant-picker-content { - height: 56px; -} -.ant-picker-footer { - width: min-content; - min-width: 100%; - line-height: 38px; - text-align: center; - border-bottom: 1px solid transparent; -} -.ant-picker-panel .ant-picker-footer { - border-top: 1px solid #f0f0f0; -} -.ant-picker-footer-extra { - padding: 0 12px; - line-height: 38px; - text-align: left; -} -.ant-picker-footer-extra:not(:last-child) { - border-bottom: 1px solid #f0f0f0; -} -.ant-picker-now { - text-align: left; -} -.ant-picker-today-btn { - color: #1890ff; -} -.ant-picker-today-btn:hover { - color: #40a9ff; -} -.ant-picker-today-btn:active { - color: #096dd9; -} -.ant-picker-today-btn.ant-picker-today-btn-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-picker-decade-panel .ant-picker-cell-inner { - padding: 0 4px; -} -.ant-picker-decade-panel .ant-picker-cell::before { - display: none; -} -.ant-picker-year-panel .ant-picker-body, -.ant-picker-quarter-panel .ant-picker-body, -.ant-picker-month-panel .ant-picker-body { - padding: 0 8px; -} -.ant-picker-year-panel .ant-picker-cell-inner, -.ant-picker-quarter-panel .ant-picker-cell-inner, -.ant-picker-month-panel .ant-picker-cell-inner { - width: 60px; -} -.ant-picker-year-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-month-panel .ant-picker-cell-range-hover-start::after { - left: 14px; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, -.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after { - right: 14px; - border-right: 1px dashed #7ec1ff; - border-radius: 0 2px 2px 0; -} -.ant-picker-year-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-month-panel .ant-picker-cell-range-hover-end::after { - right: 14px; - border-right: 1px dashed #7ec1ff; - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, -.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after { - left: 14px; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-week-panel .ant-picker-body { - padding: 8px 12px; -} -.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner, -.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner, -.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner { - background: transparent !important; -} -.ant-picker-week-panel-row td { - transition: background 0.3s; -} -.ant-picker-week-panel-row:hover td { - background: #f5f5f5; -} -.ant-picker-week-panel-row-selected td, -.ant-picker-week-panel-row-selected:hover td { - background: #1890ff; -} -.ant-picker-week-panel-row-selected td.ant-picker-cell-week, -.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week { - color: rgba(255, 255, 255, 0.5); -} -.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before, -.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before { - border-color: #fff; -} -.ant-picker-week-panel-row-selected td .ant-picker-cell-inner, -.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner { - color: #fff; -} -.ant-picker-date-panel .ant-picker-body { - padding: 8px 12px; -} -.ant-picker-date-panel .ant-picker-content { - width: 252px; -} -.ant-picker-date-panel .ant-picker-content th { - width: 36px; -} -.ant-picker-datetime-panel { - display: flex; -} -.ant-picker-datetime-panel .ant-picker-time-panel { - border-left: 1px solid #f0f0f0; -} -.ant-picker-datetime-panel .ant-picker-date-panel, -.ant-picker-datetime-panel .ant-picker-time-panel { - transition: opacity 0.3s; -} -.ant-picker-datetime-panel-active .ant-picker-date-panel, -.ant-picker-datetime-panel-active .ant-picker-time-panel { - opacity: 0.3; -} -.ant-picker-datetime-panel-active .ant-picker-date-panel-active, -.ant-picker-datetime-panel-active .ant-picker-time-panel-active { - opacity: 1; -} -.ant-picker-time-panel { - width: auto; - min-width: auto; -} -.ant-picker-time-panel .ant-picker-content { - display: flex; - flex: auto; - height: 224px; -} -.ant-picker-time-panel-column { - flex: 1 0 auto; - width: 56px; - margin: 0; - padding: 0; - overflow-y: hidden; - text-align: left; - list-style: none; - transition: background 0.3s; -} -.ant-picker-time-panel-column::after { - display: block; - height: 196px; - content: ''; -} -.ant-picker-datetime-panel .ant-picker-time-panel-column::after { - height: 198px; -} -.ant-picker-time-panel-column:not(:first-child) { - border-left: 1px solid #f0f0f0; -} -.ant-picker-time-panel-column-active { - background: rgba(230, 247, 255, 0.2); -} -.ant-picker-time-panel-column:hover { - overflow-y: auto; -} -.ant-picker-time-panel-column > li { - margin: 0; - padding: 0; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner { - display: block; - width: 100%; - height: 28px; - margin: 0; - padding: 0 0 0 14px; - color: rgba(0, 0, 0, 0.85); - line-height: 28px; - border-radius: 0; - cursor: pointer; - transition: background 0.3s; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover { - background: #f5f5f5; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner { - background: #e6f7ff; -} -.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -/* stylelint-disable selector-type-no-unknown,selector-no-vendor-prefix */ -_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell, -:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell, -_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell, -:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell { - padding: 21px 0; -} -.ant-picker-rtl { - direction: rtl; -} -.ant-picker-rtl .ant-picker-suffix { - margin-right: 4px; - margin-left: 0; -} -.ant-picker-rtl .ant-picker-clear { - right: auto; - left: 0; -} -.ant-picker-rtl .ant-picker-separator { - transform: rotate(180deg); -} -.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child) { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-rtl.ant-picker-range .ant-picker-clear { - right: auto; - left: 11px; -} -.ant-picker-rtl.ant-picker-range .ant-picker-active-bar { - margin-right: 11px; - margin-left: 0; -} -.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar { - margin-right: 7px; -} -.ant-picker-dropdown-rtl .ant-picker-ranges { - text-align: right; -} -.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok { - float: left; - margin-right: 8px; - margin-left: 0; -} -.ant-picker-panel-rtl { - direction: rtl; -} -.ant-picker-panel-rtl .ant-picker-prev-icon, -.ant-picker-panel-rtl .ant-picker-super-prev-icon { - transform: rotate(135deg); -} -.ant-picker-panel-rtl .ant-picker-next-icon, -.ant-picker-panel-rtl .ant-picker-super-next-icon { - transform: rotate(-45deg); -} -.ant-picker-cell .ant-picker-cell-inner { - position: relative; - z-index: 2; - display: inline-block; - min-width: 24px; - height: 24px; - line-height: 24px; - border-radius: 2px; - transition: background 0.3s, border 0.3s; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before { - right: 50%; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before { - right: 0; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before { - right: 50%; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after { - right: 0; - left: -6px; -} -.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { - right: -6px; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after { - right: 0; - left: 50%; -} -.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after { - right: 50%; - left: 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner { - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner { - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { - right: 6px; - left: 0; - border-right: 1px dashed #7ec1ff; - border-left: none; - border-radius: 0 2px 2px 0; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { - right: 0; - left: 6px; - border-right: none; - border-left: 1px dashed #7ec1ff; - border-radius: 2px 0 0 2px; -} -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after, -.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after { - right: 6px; - left: 6px; - border-right: 1px dashed #7ec1ff; - border-left: 1px dashed #7ec1ff; - border-radius: 2px; -} -.ant-picker-dropdown-rtl .ant-picker-footer-extra { - direction: rtl; - text-align: right; -} -.ant-picker-panel-rtl .ant-picker-time-panel { - direction: ltr; -} -.ant-picker-inline { - border: none; - padding: 0; -} -.ant-picker-inline .ant-picker-range-arrow { - display: none !important; -} -.ant-descriptions-header { - display: flex; - align-items: center; - margin-bottom: 20px; -} -.ant-descriptions-title { - flex: auto; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: bold; - font-size: 16px; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-descriptions-extra { - margin-left: auto; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-descriptions-view { - width: 100%; - border-radius: 2px; -} -.ant-descriptions-view table { - width: 100%; - table-layout: fixed; -} -.ant-descriptions-row > th, -.ant-descriptions-row > td { - padding-bottom: 16px; -} -.ant-descriptions-row:last-child { - border-bottom: none; -} -.ant-descriptions-item-label { - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 1.5715; - text-align: start; -} -.ant-descriptions-item-label::after { - content: ':'; - position: relative; - top: -0.5px; - margin: 0 8px 0 2px; -} -.ant-descriptions-item-label.ant-descriptions-item-no-colon::after { - content: ' '; -} -.ant-descriptions-item-no-label::after { - margin: 0; - content: ''; -} -.ant-descriptions-item-content { - display: table-cell; - flex: 1; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - word-break: break-word; - overflow-wrap: break-word; -} -.ant-descriptions-item { - padding-bottom: 0; - vertical-align: top; -} -.ant-descriptions-item-container { - display: flex; -} -.ant-descriptions-item-container .ant-descriptions-item-label, -.ant-descriptions-item-container .ant-descriptions-item-content { - display: inline-flex; - align-items: baseline; -} -.ant-descriptions-middle .ant-descriptions-row > th, -.ant-descriptions-middle .ant-descriptions-row > td { - padding-bottom: 12px; -} -.ant-descriptions-small .ant-descriptions-row > th, -.ant-descriptions-small .ant-descriptions-row > td { - padding-bottom: 8px; -} -.ant-descriptions-bordered .ant-descriptions-view { - border: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-view > table { - table-layout: auto; - border-collapse: collapse; -} -.ant-descriptions-bordered .ant-descriptions-item-label, -.ant-descriptions-bordered .ant-descriptions-item-content { - padding: 16px 24px; - border-right: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-item-label:last-child, -.ant-descriptions-bordered .ant-descriptions-item-content:last-child { - border-right: none; -} -.ant-descriptions-bordered .ant-descriptions-item-label { - background-color: #fafafa; -} -.ant-descriptions-bordered .ant-descriptions-item-label::after { - display: none; -} -.ant-descriptions-bordered .ant-descriptions-row { - border-bottom: 1px solid #f0f0f0; -} -.ant-descriptions-bordered .ant-descriptions-row:last-child { - border-bottom: none; -} -.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label, -.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content { - padding: 12px 24px; -} -.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label, -.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content { - padding: 8px 16px; -} -.ant-descriptions-rtl { - direction: rtl; -} -.ant-descriptions-rtl .ant-descriptions-item-label::after { - margin: 0 2px 0 8px; -} -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label, -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child, -.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child { - border-left: none; -} -.ant-divider { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - border-top: 1px solid rgba(0, 0, 0, 0.06); -} -.ant-divider-vertical { - position: relative; - top: -0.06em; - display: inline-block; - height: 0.9em; - margin: 0 8px; - vertical-align: middle; - border-top: 0; - border-left: 1px solid rgba(0, 0, 0, 0.06); -} -.ant-divider-horizontal { - display: flex; - clear: both; - width: 100%; - min-width: 100%; - margin: 24px 0; -} -.ant-divider-horizontal.ant-divider-with-text { - display: flex; - margin: 16px 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - white-space: nowrap; - text-align: center; - border-top: 0; - border-top-color: rgba(0, 0, 0, 0.06); -} -.ant-divider-horizontal.ant-divider-with-text::before, -.ant-divider-horizontal.ant-divider-with-text::after { - position: relative; - top: 50%; - width: 50%; - border-top: 1px solid transparent; - border-top-color: inherit; - border-bottom: 0; - transform: translateY(50%); - content: ''; -} -.ant-divider-horizontal.ant-divider-with-text-left::before { - top: 50%; - width: 5%; -} -.ant-divider-horizontal.ant-divider-with-text-left::after { - top: 50%; - width: 95%; -} -.ant-divider-horizontal.ant-divider-with-text-right::before { - top: 50%; - width: 95%; -} -.ant-divider-horizontal.ant-divider-with-text-right::after { - top: 50%; - width: 5%; -} -.ant-divider-inner-text { - display: inline-block; - padding: 0 1em; -} -.ant-divider-dashed { - background: none; - border-color: rgba(0, 0, 0, 0.06); - border-style: dashed; - border-width: 1px 0 0; -} -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before, -.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after { - border-style: dashed none none; -} -.ant-divider-vertical.ant-divider-dashed { - border-width: 0 0 0 1px; -} -.ant-divider-plain.ant-divider-with-text { - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::before { - width: 0; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left::after { - width: 100%; -} -.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-no-default-orientation-margin-left .ant-divider-inner-text { - padding-left: 0; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::before { - width: 100%; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right::after { - width: 0; -} -.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-no-default-orientation-margin-right .ant-divider-inner-text { - padding-right: 0; -} -.ant-divider-rtl { - direction: rtl; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before { - width: 95%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after { - width: 5%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before { - width: 5%; -} -.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after { - width: 95%; -} -.ant-drawer { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - pointer-events: none; -} -.ant-drawer-inline { - position: absolute; -} -.ant-drawer-mask { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - background: rgba(0, 0, 0, 0.45); - pointer-events: auto; -} -.ant-drawer-content-wrapper { - position: absolute; - z-index: 1000; - transition: all 0.3s; -} -.ant-drawer-content-wrapper-hidden { - display: none; -} -.ant-drawer-left > .ant-drawer-content-wrapper { - top: 0; - bottom: 0; - left: 0; - box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-right > .ant-drawer-content-wrapper { - top: 0; - right: 0; - bottom: 0; - box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-top > .ant-drawer-content-wrapper { - top: 0; - right: 0; - left: 0; - box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-bottom > .ant-drawer-content-wrapper { - right: 0; - bottom: 0; - left: 0; - box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03); -} -.ant-drawer-content { - width: 100%; - height: 100%; - overflow: auto; - background: #fff; - pointer-events: auto; -} -.ant-drawer-wrapper-body { - display: flex; - flex-direction: column; - width: 100%; - height: 100%; -} -.ant-drawer-header { - display: flex; - flex: 0; - align-items: center; - padding: 16px 24px; - font-size: 16px; - line-height: 22px; - border-bottom: 1px solid #f0f0f0; -} -.ant-drawer-header-title { - display: flex; - flex: 1; - align-items: center; - min-width: 0; - min-height: 0; -} -.ant-drawer-extra { - flex: none; -} -.ant-drawer-close { - display: inline-block; - margin-right: 12px; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - font-size: 16px; - font-style: normal; - line-height: 1; - text-align: center; - text-transform: none; - text-decoration: none; - background: transparent; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; - text-rendering: auto; -} -.ant-drawer-close:focus, -.ant-drawer-close:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-drawer-title { - flex: 1; - margin: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 22px; -} -.ant-drawer-body { - flex: 1; - min-width: 0; - min-height: 0; - padding: 24px; - overflow: auto; -} -.ant-drawer-footer { - flex-shrink: 0; - padding: 10px 16px; - border-top: 1px solid #f0f0f0; -} -.panel-motion-enter-start, -.panel-motion-appear-start, -.panel-motion-leave-start { - transition: none; -} -.panel-motion-enter-active, -.panel-motion-appear-active, -.panel-motion-leave-active { - transition: all 0.3s; -} -.ant-drawer-mask-motion-enter-active, -.ant-drawer-mask-motion-appear-active, -.ant-drawer-mask-motion-leave-active { - transition: all 0.3s; -} -.ant-drawer-mask-motion-enter, -.ant-drawer-mask-motion-appear { - opacity: 0; -} -.ant-drawer-mask-motion-enter-active, -.ant-drawer-mask-motion-appear-active { - opacity: 1; -} -.ant-drawer-mask-motion-leave { - opacity: 1; -} -.ant-drawer-mask-motion-leave-active { - opacity: 0; -} -.ant-drawer-panel-motion-left-enter-start, -.ant-drawer-panel-motion-left-appear-start, -.ant-drawer-panel-motion-left-leave-start { - transition: none; -} -.ant-drawer-panel-motion-left-enter-active, -.ant-drawer-panel-motion-left-appear-active, -.ant-drawer-panel-motion-left-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-left-enter-start, -.ant-drawer-panel-motion-left-appear-start { - transform: translateX(-100%) !important; -} -.ant-drawer-panel-motion-left-enter-active, -.ant-drawer-panel-motion-left-appear-active { - transform: translateX(0); -} -.ant-drawer-panel-motion-left-leave { - transform: translateX(0); -} -.ant-drawer-panel-motion-left-leave-active { - transform: translateX(-100%); -} -.ant-drawer-panel-motion-right-enter-start, -.ant-drawer-panel-motion-right-appear-start, -.ant-drawer-panel-motion-right-leave-start { - transition: none; -} -.ant-drawer-panel-motion-right-enter-active, -.ant-drawer-panel-motion-right-appear-active, -.ant-drawer-panel-motion-right-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-right-enter-start, -.ant-drawer-panel-motion-right-appear-start { - transform: translateX(100%) !important; -} -.ant-drawer-panel-motion-right-enter-active, -.ant-drawer-panel-motion-right-appear-active { - transform: translateX(0); -} -.ant-drawer-panel-motion-right-leave { - transform: translateX(0); -} -.ant-drawer-panel-motion-right-leave-active { - transform: translateX(100%); -} -.ant-drawer-panel-motion-top-enter-start, -.ant-drawer-panel-motion-top-appear-start, -.ant-drawer-panel-motion-top-leave-start { - transition: none; -} -.ant-drawer-panel-motion-top-enter-active, -.ant-drawer-panel-motion-top-appear-active, -.ant-drawer-panel-motion-top-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-top-enter-start, -.ant-drawer-panel-motion-top-appear-start { - transform: translateY(-100%) !important; -} -.ant-drawer-panel-motion-top-enter-active, -.ant-drawer-panel-motion-top-appear-active { - transform: translateY(0); -} -.ant-drawer-panel-motion-top-leave { - transform: translateY(0); -} -.ant-drawer-panel-motion-top-leave-active { - transform: translateY(-100%); -} -.ant-drawer-panel-motion-bottom-enter-start, -.ant-drawer-panel-motion-bottom-appear-start, -.ant-drawer-panel-motion-bottom-leave-start { - transition: none; -} -.ant-drawer-panel-motion-bottom-enter-active, -.ant-drawer-panel-motion-bottom-appear-active, -.ant-drawer-panel-motion-bottom-leave-active { - transition: all 0.3s; -} -.ant-drawer-panel-motion-bottom-enter-start, -.ant-drawer-panel-motion-bottom-appear-start { - transform: translateY(100%) !important; -} -.ant-drawer-panel-motion-bottom-enter-active, -.ant-drawer-panel-motion-bottom-appear-active { - transform: translateY(0); -} -.ant-drawer-panel-motion-bottom-leave { - transform: translateY(0); -} -.ant-drawer-panel-motion-bottom-leave-active { - transform: translateY(100%); -} -.ant-drawer-rtl { - direction: rtl; -} -.ant-drawer-rtl .ant-drawer-close { - margin-right: 0; - margin-left: 12px; -} -.ant-dropdown-menu-item.ant-dropdown-menu-item-danger { - color: #ff4d4f; -} -.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover { - color: #fff; - background-color: #ff4d4f; -} -.ant-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - display: block; -} -.ant-dropdown::before { - position: absolute; - top: -4px; - right: 0; - bottom: -4px; - left: -7px; - z-index: -9999; - opacity: 0.0001; - content: ' '; -} -.ant-dropdown-wrap { - position: relative; -} -.ant-dropdown-wrap .ant-btn > .anticon-down { - font-size: 10px; -} -.ant-dropdown-wrap .anticon-down::before { - transition: transform 0.2s; -} -.ant-dropdown-wrap-open .anticon-down::before { - transform: rotate(180deg); -} -.ant-dropdown-hidden, -.ant-dropdown-menu-hidden, -.ant-dropdown-menu-submenu-hidden { - display: none; -} -.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft, -.ant-dropdown-show-arrow.ant-dropdown-placement-top, -.ant-dropdown-show-arrow.ant-dropdown-placement-topRight { - padding-bottom: 15.3137085px; -} -.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft, -.ant-dropdown-show-arrow.ant-dropdown-placement-bottom, -.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight { - padding-top: 15.3137085px; -} -.ant-dropdown-arrow { - position: absolute; - z-index: 1; - display: block; - width: 11.3137085px; - height: 11.3137085px; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-dropdown-arrow::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: #fff; - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-dropdown-placement-top > .ant-dropdown-arrow, -.ant-dropdown-placement-topLeft > .ant-dropdown-arrow, -.ant-dropdown-placement-topRight > .ant-dropdown-arrow { - bottom: 10px; - box-shadow: 3px 3px 7px -3px rgba(0, 0, 0, 0.1); - transform: rotate(45deg); -} -.ant-dropdown-placement-top > .ant-dropdown-arrow { - left: 50%; - transform: translateX(-50%) rotate(45deg); -} -.ant-dropdown-placement-topLeft > .ant-dropdown-arrow { - left: 16px; -} -.ant-dropdown-placement-topRight > .ant-dropdown-arrow { - right: 16px; -} -.ant-dropdown-placement-bottom > .ant-dropdown-arrow, -.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow, -.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow { - top: 9.41421356px; - box-shadow: 2px 2px 5px -2px rgba(0, 0, 0, 0.1); - transform: rotate(-135deg) translateY(-0.5px); -} -.ant-dropdown-placement-bottom > .ant-dropdown-arrow { - left: 50%; - transform: translateX(-50%) rotate(-135deg) translateY(-0.5px); -} -.ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow { - left: 16px; -} -.ant-dropdown-placement-bottomRight > .ant-dropdown-arrow { - right: 16px; -} -.ant-dropdown-menu { - position: relative; - margin: 0; - padding: 4px 0; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-dropdown-menu-item-group-title { - padding: 5px 12px; - color: rgba(0, 0, 0, 0.45); - transition: all 0.3s; -} -.ant-dropdown-menu-submenu-popup { - position: absolute; - z-index: 1050; - background: transparent; - box-shadow: none; - transform-origin: 0 0; -} -.ant-dropdown-menu-submenu-popup ul, -.ant-dropdown-menu-submenu-popup li { - list-style: none; -} -.ant-dropdown-menu-submenu-popup ul { - margin-right: 0.3em; - margin-left: 0.3em; -} -.ant-dropdown-menu-item { - position: relative; - display: flex; - align-items: center; -} -.ant-dropdown-menu-item-icon { - min-width: 12px; - margin-right: 8px; - font-size: 12px; -} -.ant-dropdown-menu-title-content { - flex: auto; -} -.ant-dropdown-menu-title-content > a { - color: inherit; - transition: all 0.3s; -} -.ant-dropdown-menu-title-content > a:hover { - color: inherit; -} -.ant-dropdown-menu-title-content > a::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - content: ''; -} -.ant-dropdown-menu-item, -.ant-dropdown-menu-submenu-title { - clear: both; - margin: 0; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - cursor: pointer; - transition: all 0.3s; -} -.ant-dropdown-menu-item-selected, -.ant-dropdown-menu-submenu-title-selected { - color: #1890ff; - background-color: #e6f7ff; -} -.ant-dropdown-menu-item:hover, -.ant-dropdown-menu-submenu-title:hover, -.ant-dropdown-menu-item.ant-dropdown-menu-item-active, -.ant-dropdown-menu-item.ant-dropdown-menu-submenu-title-active, -.ant-dropdown-menu-submenu-title.ant-dropdown-menu-item-active, -.ant-dropdown-menu-submenu-title.ant-dropdown-menu-submenu-title-active { - background-color: #f5f5f5; -} -.ant-dropdown-menu-item-disabled, -.ant-dropdown-menu-submenu-title-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-dropdown-menu-item-disabled:hover, -.ant-dropdown-menu-submenu-title-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-dropdown-menu-item-disabled a, -.ant-dropdown-menu-submenu-title-disabled a { - pointer-events: none; -} -.ant-dropdown-menu-item-divider, -.ant-dropdown-menu-submenu-title-divider { - height: 1px; - margin: 4px 0; - overflow: hidden; - line-height: 0; - background-color: #f0f0f0; -} -.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon, -.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon { - position: absolute; - right: 8px; -} -.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, -.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon { - margin-right: 0 !important; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; - font-style: normal; -} -.ant-dropdown-menu-item-group-list { - margin: 0 8px; - padding: 0; - list-style: none; -} -.ant-dropdown-menu-submenu-title { - padding-right: 24px; -} -.ant-dropdown-menu-submenu-vertical { - position: relative; -} -.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu { - position: absolute; - top: 0; - left: 100%; - min-width: 100%; - margin-left: 4px; - transform-origin: 0 0; -} -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title { - color: #1890ff; -} -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight, -.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight { - animation-name: antSlideUpIn; -} -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight, -.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight { - animation-name: antSlideDownIn; -} -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft, -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom, -.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight { - animation-name: antSlideUpOut; -} -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft, -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top, -.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight { - animation-name: antSlideDownOut; -} -.ant-dropdown-trigger > .anticon.anticon-down, -.ant-dropdown-link > .anticon.anticon-down, -.ant-dropdown-button > .anticon.anticon-down { - font-size: 10px; - vertical-align: baseline; -} -.ant-dropdown-button { - white-space: nowrap; -} -.ant-dropdown-button.ant-btn-group > .ant-btn-loading, -.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn { - cursor: default; - pointer-events: none; -} -.ant-dropdown-button.ant-btn-group > .ant-btn-loading + .ant-btn::before { - display: block; -} -.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only) { - padding-right: 8px; - padding-left: 8px; -} -.ant-dropdown-menu-dark, -.ant-dropdown-menu-dark .ant-dropdown-menu { - background: #001529; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a .ant-dropdown-menu-submenu-arrow::after { - color: rgba(255, 255, 255, 0.65); -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a:hover { - color: #fff; - background: transparent; -} -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, -.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { - color: #fff; - background: #1890ff; -} -.ant-dropdown-rtl { - direction: rtl; -} -.ant-dropdown-rtl.ant-dropdown::before { - right: -7px; - left: 0; -} -.ant-dropdown-menu.ant-dropdown-menu-rtl { - direction: rtl; - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item-group-title, -.ant-dropdown-menu-submenu-rtl .ant-dropdown-menu-item-group-title { - direction: rtl; - text-align: right; -} -.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl { - transform-origin: 100% 0; -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li { - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title { - text-align: right; -} -.ant-dropdown-rtl .ant-dropdown-menu-item > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-item > span > .anticon:first-child, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title > span > .anticon:first-child { - margin-right: 0; - margin-left: 8px; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon { - right: auto; - left: 8px; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon { - margin-left: 0 !important; - transform: scaleX(-1); -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title { - padding-right: 12px; - padding-left: 24px; -} -.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu { - right: 100%; - left: 0; - margin-right: 4px; - margin-left: 0; -} -.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow, -.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow { - transform: rotate(180deg); -} -.ant-empty { - margin: 0 8px; - font-size: 14px; - line-height: 1.5715; - text-align: center; -} -.ant-empty-image { - height: 100px; - margin-bottom: 8px; -} -.ant-empty-image img { - height: 100%; -} -.ant-empty-image svg { - height: 100%; - margin: auto; -} -.ant-empty-footer { - margin-top: 16px; -} -.ant-empty-normal { - margin: 32px 0; - color: rgba(0, 0, 0, 0.25); -} -.ant-empty-normal .ant-empty-image { - height: 40px; -} -.ant-empty-small { - margin: 8px 0; - color: rgba(0, 0, 0, 0.25); -} -.ant-empty-small .ant-empty-image { - height: 35px; -} -.ant-empty-img-default-ellipse { - fill: #f5f5f5; - fill-opacity: 0.8; -} -.ant-empty-img-default-path-1 { - fill: #aeb8c2; -} -.ant-empty-img-default-path-2 { - fill: url('_content/AntDesign/css/#linearGradient-1'); -} -.ant-empty-img-default-path-3 { - fill: #f5f5f7; -} -.ant-empty-img-default-path-4 { - fill: #dce0e6; -} -.ant-empty-img-default-path-5 { - fill: #dce0e6; -} -.ant-empty-img-default-g { - fill: #fff; -} -.ant-empty-img-simple-ellipse { - fill: #f5f5f5; -} -.ant-empty-img-simple-g { - stroke: #d9d9d9; -} -.ant-empty-img-simple-path { - fill: #fafafa; -} -.ant-empty-rtl { - direction: rtl; -} -.ant-row { - display: flex; - flex-flow: row wrap; - min-width: 0; -} -.ant-row::before, -.ant-row::after { - display: flex; -} -.ant-row-no-wrap { - flex-wrap: nowrap; -} -.ant-row-start { - justify-content: flex-start; -} -.ant-row-center { - justify-content: center; -} -.ant-row-end { - justify-content: flex-end; -} -.ant-row-space-between { - justify-content: space-between; -} -.ant-row-space-around { - justify-content: space-around; -} -.ant-row-space-evenly { - justify-content: space-evenly; -} -.ant-row-top { - align-items: flex-start; -} -.ant-row-middle { - align-items: center; -} -.ant-row-bottom { - align-items: flex-end; -} -.ant-col { - position: relative; - max-width: 100%; - min-height: 1px; -} -.ant-col-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; -} -.ant-col-push-24 { - left: 100%; -} -.ant-col-pull-24 { - right: 100%; -} -.ant-col-offset-24 { - margin-left: 100%; -} -.ant-col-order-24 { - order: 24; -} -.ant-col-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; -} -.ant-col-push-23 { - left: 95.83333333%; -} -.ant-col-pull-23 { - right: 95.83333333%; -} -.ant-col-offset-23 { - margin-left: 95.83333333%; -} -.ant-col-order-23 { - order: 23; -} -.ant-col-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; -} -.ant-col-push-22 { - left: 91.66666667%; -} -.ant-col-pull-22 { - right: 91.66666667%; -} -.ant-col-offset-22 { - margin-left: 91.66666667%; -} -.ant-col-order-22 { - order: 22; -} -.ant-col-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; -} -.ant-col-push-21 { - left: 87.5%; -} -.ant-col-pull-21 { - right: 87.5%; -} -.ant-col-offset-21 { - margin-left: 87.5%; -} -.ant-col-order-21 { - order: 21; -} -.ant-col-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; -} -.ant-col-push-20 { - left: 83.33333333%; -} -.ant-col-pull-20 { - right: 83.33333333%; -} -.ant-col-offset-20 { - margin-left: 83.33333333%; -} -.ant-col-order-20 { - order: 20; -} -.ant-col-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; -} -.ant-col-push-19 { - left: 79.16666667%; -} -.ant-col-pull-19 { - right: 79.16666667%; -} -.ant-col-offset-19 { - margin-left: 79.16666667%; -} -.ant-col-order-19 { - order: 19; -} -.ant-col-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; -} -.ant-col-push-18 { - left: 75%; -} -.ant-col-pull-18 { - right: 75%; -} -.ant-col-offset-18 { - margin-left: 75%; -} -.ant-col-order-18 { - order: 18; -} -.ant-col-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; -} -.ant-col-push-17 { - left: 70.83333333%; -} -.ant-col-pull-17 { - right: 70.83333333%; -} -.ant-col-offset-17 { - margin-left: 70.83333333%; -} -.ant-col-order-17 { - order: 17; -} -.ant-col-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; -} -.ant-col-push-16 { - left: 66.66666667%; -} -.ant-col-pull-16 { - right: 66.66666667%; -} -.ant-col-offset-16 { - margin-left: 66.66666667%; -} -.ant-col-order-16 { - order: 16; -} -.ant-col-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; -} -.ant-col-push-15 { - left: 62.5%; -} -.ant-col-pull-15 { - right: 62.5%; -} -.ant-col-offset-15 { - margin-left: 62.5%; -} -.ant-col-order-15 { - order: 15; -} -.ant-col-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; -} -.ant-col-push-14 { - left: 58.33333333%; -} -.ant-col-pull-14 { - right: 58.33333333%; -} -.ant-col-offset-14 { - margin-left: 58.33333333%; -} -.ant-col-order-14 { - order: 14; -} -.ant-col-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; -} -.ant-col-push-13 { - left: 54.16666667%; -} -.ant-col-pull-13 { - right: 54.16666667%; -} -.ant-col-offset-13 { - margin-left: 54.16666667%; -} -.ant-col-order-13 { - order: 13; -} -.ant-col-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; -} -.ant-col-push-12 { - left: 50%; -} -.ant-col-pull-12 { - right: 50%; -} -.ant-col-offset-12 { - margin-left: 50%; -} -.ant-col-order-12 { - order: 12; -} -.ant-col-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; -} -.ant-col-push-11 { - left: 45.83333333%; -} -.ant-col-pull-11 { - right: 45.83333333%; -} -.ant-col-offset-11 { - margin-left: 45.83333333%; -} -.ant-col-order-11 { - order: 11; -} -.ant-col-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; -} -.ant-col-push-10 { - left: 41.66666667%; -} -.ant-col-pull-10 { - right: 41.66666667%; -} -.ant-col-offset-10 { - margin-left: 41.66666667%; -} -.ant-col-order-10 { - order: 10; -} -.ant-col-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; -} -.ant-col-push-9 { - left: 37.5%; -} -.ant-col-pull-9 { - right: 37.5%; -} -.ant-col-offset-9 { - margin-left: 37.5%; -} -.ant-col-order-9 { - order: 9; -} -.ant-col-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; -} -.ant-col-push-8 { - left: 33.33333333%; -} -.ant-col-pull-8 { - right: 33.33333333%; -} -.ant-col-offset-8 { - margin-left: 33.33333333%; -} -.ant-col-order-8 { - order: 8; -} -.ant-col-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; -} -.ant-col-push-7 { - left: 29.16666667%; -} -.ant-col-pull-7 { - right: 29.16666667%; -} -.ant-col-offset-7 { - margin-left: 29.16666667%; -} -.ant-col-order-7 { - order: 7; -} -.ant-col-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; -} -.ant-col-push-6 { - left: 25%; -} -.ant-col-pull-6 { - right: 25%; -} -.ant-col-offset-6 { - margin-left: 25%; -} -.ant-col-order-6 { - order: 6; -} -.ant-col-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; -} -.ant-col-push-5 { - left: 20.83333333%; -} -.ant-col-pull-5 { - right: 20.83333333%; -} -.ant-col-offset-5 { - margin-left: 20.83333333%; -} -.ant-col-order-5 { - order: 5; -} -.ant-col-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; -} -.ant-col-push-4 { - left: 16.66666667%; -} -.ant-col-pull-4 { - right: 16.66666667%; -} -.ant-col-offset-4 { - margin-left: 16.66666667%; -} -.ant-col-order-4 { - order: 4; -} -.ant-col-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; -} -.ant-col-push-3 { - left: 12.5%; -} -.ant-col-pull-3 { - right: 12.5%; -} -.ant-col-offset-3 { - margin-left: 12.5%; -} -.ant-col-order-3 { - order: 3; -} -.ant-col-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; -} -.ant-col-push-2 { - left: 8.33333333%; -} -.ant-col-pull-2 { - right: 8.33333333%; -} -.ant-col-offset-2 { - margin-left: 8.33333333%; -} -.ant-col-order-2 { - order: 2; -} -.ant-col-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; -} -.ant-col-push-1 { - left: 4.16666667%; -} -.ant-col-pull-1 { - right: 4.16666667%; -} -.ant-col-offset-1 { - margin-left: 4.16666667%; -} -.ant-col-order-1 { - order: 1; -} -.ant-col-0 { - display: none; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-offset-0 { - margin-left: 0; -} -.ant-col-order-0 { - order: 0; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-offset-0.ant-col-rtl { - margin-right: 0; -} -.ant-col-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; -} -.ant-col-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; -} -.ant-col-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; -} -.ant-col-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; -} -.ant-col-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; -} -.ant-col-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; -} -.ant-col-push-3.ant-col-rtl { - right: 12.5%; - left: auto; -} -.ant-col-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; -} -.ant-col-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; -} -.ant-col-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; -} -.ant-col-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; -} -.ant-col-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; -} -.ant-col-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; -} -.ant-col-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; -} -.ant-col-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; -} -.ant-col-push-6.ant-col-rtl { - right: 25%; - left: auto; -} -.ant-col-pull-6.ant-col-rtl { - right: auto; - left: 25%; -} -.ant-col-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; -} -.ant-col-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; -} -.ant-col-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; -} -.ant-col-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; -} -.ant-col-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; -} -.ant-col-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; -} -.ant-col-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; -} -.ant-col-push-9.ant-col-rtl { - right: 37.5%; - left: auto; -} -.ant-col-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; -} -.ant-col-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; -} -.ant-col-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; -} -.ant-col-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; -} -.ant-col-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; -} -.ant-col-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; -} -.ant-col-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; -} -.ant-col-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; -} -.ant-col-push-12.ant-col-rtl { - right: 50%; - left: auto; -} -.ant-col-pull-12.ant-col-rtl { - right: auto; - left: 50%; -} -.ant-col-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; -} -.ant-col-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; -} -.ant-col-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; -} -.ant-col-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; -} -.ant-col-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; -} -.ant-col-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; -} -.ant-col-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; -} -.ant-col-push-15.ant-col-rtl { - right: 62.5%; - left: auto; -} -.ant-col-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; -} -.ant-col-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; -} -.ant-col-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; -} -.ant-col-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; -} -.ant-col-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; -} -.ant-col-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; -} -.ant-col-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; -} -.ant-col-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; -} -.ant-col-push-18.ant-col-rtl { - right: 75%; - left: auto; -} -.ant-col-pull-18.ant-col-rtl { - right: auto; - left: 75%; -} -.ant-col-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; -} -.ant-col-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; -} -.ant-col-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; -} -.ant-col-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; -} -.ant-col-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; -} -.ant-col-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; -} -.ant-col-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; -} -.ant-col-push-21.ant-col-rtl { - right: 87.5%; - left: auto; -} -.ant-col-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; -} -.ant-col-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; -} -.ant-col-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; -} -.ant-col-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; -} -.ant-col-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; -} -.ant-col-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; -} -.ant-col-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; -} -.ant-col-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; -} -.ant-col-push-24.ant-col-rtl { - right: 100%; - left: auto; -} -.ant-col-pull-24.ant-col-rtl { - right: auto; - left: 100%; -} -.ant-col-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; -} -.ant-col-xs-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; -} -.ant-col-xs-push-24 { - left: 100%; -} -.ant-col-xs-pull-24 { - right: 100%; -} -.ant-col-xs-offset-24 { - margin-left: 100%; -} -.ant-col-xs-order-24 { - order: 24; -} -.ant-col-xs-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; -} -.ant-col-xs-push-23 { - left: 95.83333333%; -} -.ant-col-xs-pull-23 { - right: 95.83333333%; -} -.ant-col-xs-offset-23 { - margin-left: 95.83333333%; -} -.ant-col-xs-order-23 { - order: 23; -} -.ant-col-xs-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; -} -.ant-col-xs-push-22 { - left: 91.66666667%; -} -.ant-col-xs-pull-22 { - right: 91.66666667%; -} -.ant-col-xs-offset-22 { - margin-left: 91.66666667%; -} -.ant-col-xs-order-22 { - order: 22; -} -.ant-col-xs-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; -} -.ant-col-xs-push-21 { - left: 87.5%; -} -.ant-col-xs-pull-21 { - right: 87.5%; -} -.ant-col-xs-offset-21 { - margin-left: 87.5%; -} -.ant-col-xs-order-21 { - order: 21; -} -.ant-col-xs-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; -} -.ant-col-xs-push-20 { - left: 83.33333333%; -} -.ant-col-xs-pull-20 { - right: 83.33333333%; -} -.ant-col-xs-offset-20 { - margin-left: 83.33333333%; -} -.ant-col-xs-order-20 { - order: 20; -} -.ant-col-xs-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; -} -.ant-col-xs-push-19 { - left: 79.16666667%; -} -.ant-col-xs-pull-19 { - right: 79.16666667%; -} -.ant-col-xs-offset-19 { - margin-left: 79.16666667%; -} -.ant-col-xs-order-19 { - order: 19; -} -.ant-col-xs-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; -} -.ant-col-xs-push-18 { - left: 75%; -} -.ant-col-xs-pull-18 { - right: 75%; -} -.ant-col-xs-offset-18 { - margin-left: 75%; -} -.ant-col-xs-order-18 { - order: 18; -} -.ant-col-xs-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; -} -.ant-col-xs-push-17 { - left: 70.83333333%; -} -.ant-col-xs-pull-17 { - right: 70.83333333%; -} -.ant-col-xs-offset-17 { - margin-left: 70.83333333%; -} -.ant-col-xs-order-17 { - order: 17; -} -.ant-col-xs-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; -} -.ant-col-xs-push-16 { - left: 66.66666667%; -} -.ant-col-xs-pull-16 { - right: 66.66666667%; -} -.ant-col-xs-offset-16 { - margin-left: 66.66666667%; -} -.ant-col-xs-order-16 { - order: 16; -} -.ant-col-xs-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; -} -.ant-col-xs-push-15 { - left: 62.5%; -} -.ant-col-xs-pull-15 { - right: 62.5%; -} -.ant-col-xs-offset-15 { - margin-left: 62.5%; -} -.ant-col-xs-order-15 { - order: 15; -} -.ant-col-xs-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; -} -.ant-col-xs-push-14 { - left: 58.33333333%; -} -.ant-col-xs-pull-14 { - right: 58.33333333%; -} -.ant-col-xs-offset-14 { - margin-left: 58.33333333%; -} -.ant-col-xs-order-14 { - order: 14; -} -.ant-col-xs-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; -} -.ant-col-xs-push-13 { - left: 54.16666667%; -} -.ant-col-xs-pull-13 { - right: 54.16666667%; -} -.ant-col-xs-offset-13 { - margin-left: 54.16666667%; -} -.ant-col-xs-order-13 { - order: 13; -} -.ant-col-xs-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; -} -.ant-col-xs-push-12 { - left: 50%; -} -.ant-col-xs-pull-12 { - right: 50%; -} -.ant-col-xs-offset-12 { - margin-left: 50%; -} -.ant-col-xs-order-12 { - order: 12; -} -.ant-col-xs-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; -} -.ant-col-xs-push-11 { - left: 45.83333333%; -} -.ant-col-xs-pull-11 { - right: 45.83333333%; -} -.ant-col-xs-offset-11 { - margin-left: 45.83333333%; -} -.ant-col-xs-order-11 { - order: 11; -} -.ant-col-xs-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; -} -.ant-col-xs-push-10 { - left: 41.66666667%; -} -.ant-col-xs-pull-10 { - right: 41.66666667%; -} -.ant-col-xs-offset-10 { - margin-left: 41.66666667%; -} -.ant-col-xs-order-10 { - order: 10; -} -.ant-col-xs-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; -} -.ant-col-xs-push-9 { - left: 37.5%; -} -.ant-col-xs-pull-9 { - right: 37.5%; -} -.ant-col-xs-offset-9 { - margin-left: 37.5%; -} -.ant-col-xs-order-9 { - order: 9; -} -.ant-col-xs-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; -} -.ant-col-xs-push-8 { - left: 33.33333333%; -} -.ant-col-xs-pull-8 { - right: 33.33333333%; -} -.ant-col-xs-offset-8 { - margin-left: 33.33333333%; -} -.ant-col-xs-order-8 { - order: 8; -} -.ant-col-xs-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; -} -.ant-col-xs-push-7 { - left: 29.16666667%; -} -.ant-col-xs-pull-7 { - right: 29.16666667%; -} -.ant-col-xs-offset-7 { - margin-left: 29.16666667%; -} -.ant-col-xs-order-7 { - order: 7; -} -.ant-col-xs-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; -} -.ant-col-xs-push-6 { - left: 25%; -} -.ant-col-xs-pull-6 { - right: 25%; -} -.ant-col-xs-offset-6 { - margin-left: 25%; -} -.ant-col-xs-order-6 { - order: 6; -} -.ant-col-xs-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; -} -.ant-col-xs-push-5 { - left: 20.83333333%; -} -.ant-col-xs-pull-5 { - right: 20.83333333%; -} -.ant-col-xs-offset-5 { - margin-left: 20.83333333%; -} -.ant-col-xs-order-5 { - order: 5; -} -.ant-col-xs-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; -} -.ant-col-xs-push-4 { - left: 16.66666667%; -} -.ant-col-xs-pull-4 { - right: 16.66666667%; -} -.ant-col-xs-offset-4 { - margin-left: 16.66666667%; -} -.ant-col-xs-order-4 { - order: 4; -} -.ant-col-xs-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; -} -.ant-col-xs-push-3 { - left: 12.5%; -} -.ant-col-xs-pull-3 { - right: 12.5%; -} -.ant-col-xs-offset-3 { - margin-left: 12.5%; -} -.ant-col-xs-order-3 { - order: 3; -} -.ant-col-xs-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; -} -.ant-col-xs-push-2 { - left: 8.33333333%; -} -.ant-col-xs-pull-2 { - right: 8.33333333%; -} -.ant-col-xs-offset-2 { - margin-left: 8.33333333%; -} -.ant-col-xs-order-2 { - order: 2; -} -.ant-col-xs-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; -} -.ant-col-xs-push-1 { - left: 4.16666667%; -} -.ant-col-xs-pull-1 { - right: 4.16666667%; -} -.ant-col-xs-offset-1 { - margin-left: 4.16666667%; -} -.ant-col-xs-order-1 { - order: 1; -} -.ant-col-xs-0 { - display: none; -} -.ant-col-push-0 { - left: auto; -} -.ant-col-pull-0 { - right: auto; -} -.ant-col-xs-push-0 { - left: auto; -} -.ant-col-xs-pull-0 { - right: auto; -} -.ant-col-xs-offset-0 { - margin-left: 0; -} -.ant-col-xs-order-0 { - order: 0; -} -.ant-col-push-0.ant-col-rtl { - right: auto; -} -.ant-col-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-xs-push-0.ant-col-rtl { - right: auto; -} -.ant-col-xs-pull-0.ant-col-rtl { - left: auto; -} -.ant-col-xs-offset-0.ant-col-rtl { - margin-right: 0; -} -.ant-col-xs-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; -} -.ant-col-xs-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; -} -.ant-col-xs-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; -} -.ant-col-xs-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; -} -.ant-col-xs-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; -} -.ant-col-xs-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; -} -.ant-col-xs-push-3.ant-col-rtl { - right: 12.5%; - left: auto; -} -.ant-col-xs-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; -} -.ant-col-xs-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; -} -.ant-col-xs-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; -} -.ant-col-xs-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; -} -.ant-col-xs-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; -} -.ant-col-xs-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; -} -.ant-col-xs-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; -} -.ant-col-xs-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; -} -.ant-col-xs-push-6.ant-col-rtl { - right: 25%; - left: auto; -} -.ant-col-xs-pull-6.ant-col-rtl { - right: auto; - left: 25%; -} -.ant-col-xs-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; -} -.ant-col-xs-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; -} -.ant-col-xs-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; -} -.ant-col-xs-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; -} -.ant-col-xs-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; -} -.ant-col-xs-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; -} -.ant-col-xs-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; -} -.ant-col-xs-push-9.ant-col-rtl { - right: 37.5%; - left: auto; -} -.ant-col-xs-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; -} -.ant-col-xs-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; -} -.ant-col-xs-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; -} -.ant-col-xs-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; -} -.ant-col-xs-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; -} -.ant-col-xs-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; -} -.ant-col-xs-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; -} -.ant-col-xs-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; -} -.ant-col-xs-push-12.ant-col-rtl { - right: 50%; - left: auto; -} -.ant-col-xs-pull-12.ant-col-rtl { - right: auto; - left: 50%; -} -.ant-col-xs-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; -} -.ant-col-xs-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; -} -.ant-col-xs-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; -} -.ant-col-xs-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; -} -.ant-col-xs-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; -} -.ant-col-xs-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; -} -.ant-col-xs-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; -} -.ant-col-xs-push-15.ant-col-rtl { - right: 62.5%; - left: auto; -} -.ant-col-xs-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; -} -.ant-col-xs-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; -} -.ant-col-xs-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; -} -.ant-col-xs-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; -} -.ant-col-xs-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; -} -.ant-col-xs-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; -} -.ant-col-xs-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; -} -.ant-col-xs-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; -} -.ant-col-xs-push-18.ant-col-rtl { - right: 75%; - left: auto; -} -.ant-col-xs-pull-18.ant-col-rtl { - right: auto; - left: 75%; -} -.ant-col-xs-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; -} -.ant-col-xs-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; -} -.ant-col-xs-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; -} -.ant-col-xs-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; -} -.ant-col-xs-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; -} -.ant-col-xs-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; -} -.ant-col-xs-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; -} -.ant-col-xs-push-21.ant-col-rtl { - right: 87.5%; - left: auto; -} -.ant-col-xs-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; -} -.ant-col-xs-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; -} -.ant-col-xs-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; -} -.ant-col-xs-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; -} -.ant-col-xs-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; -} -.ant-col-xs-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; -} -.ant-col-xs-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; -} -.ant-col-xs-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; -} -.ant-col-xs-push-24.ant-col-rtl { - right: 100%; - left: auto; -} -.ant-col-xs-pull-24.ant-col-rtl { - right: auto; - left: 100%; -} -.ant-col-xs-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; -} -@media (min-width: 576px) { - .ant-col-sm-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-sm-push-24 { - left: 100%; - } - .ant-col-sm-pull-24 { - right: 100%; - } - .ant-col-sm-offset-24 { - margin-left: 100%; - } - .ant-col-sm-order-24 { - order: 24; - } - .ant-col-sm-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-sm-push-23 { - left: 95.83333333%; - } - .ant-col-sm-pull-23 { - right: 95.83333333%; - } - .ant-col-sm-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-sm-order-23 { - order: 23; - } - .ant-col-sm-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-sm-push-22 { - left: 91.66666667%; - } - .ant-col-sm-pull-22 { - right: 91.66666667%; - } - .ant-col-sm-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-sm-order-22 { - order: 22; - } - .ant-col-sm-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-sm-push-21 { - left: 87.5%; - } - .ant-col-sm-pull-21 { - right: 87.5%; - } - .ant-col-sm-offset-21 { - margin-left: 87.5%; - } - .ant-col-sm-order-21 { - order: 21; - } - .ant-col-sm-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-sm-push-20 { - left: 83.33333333%; - } - .ant-col-sm-pull-20 { - right: 83.33333333%; - } - .ant-col-sm-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-sm-order-20 { - order: 20; - } - .ant-col-sm-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-sm-push-19 { - left: 79.16666667%; - } - .ant-col-sm-pull-19 { - right: 79.16666667%; - } - .ant-col-sm-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-sm-order-19 { - order: 19; - } - .ant-col-sm-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-sm-push-18 { - left: 75%; - } - .ant-col-sm-pull-18 { - right: 75%; - } - .ant-col-sm-offset-18 { - margin-left: 75%; - } - .ant-col-sm-order-18 { - order: 18; - } - .ant-col-sm-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-sm-push-17 { - left: 70.83333333%; - } - .ant-col-sm-pull-17 { - right: 70.83333333%; - } - .ant-col-sm-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-sm-order-17 { - order: 17; - } - .ant-col-sm-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-sm-push-16 { - left: 66.66666667%; - } - .ant-col-sm-pull-16 { - right: 66.66666667%; - } - .ant-col-sm-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-sm-order-16 { - order: 16; - } - .ant-col-sm-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-sm-push-15 { - left: 62.5%; - } - .ant-col-sm-pull-15 { - right: 62.5%; - } - .ant-col-sm-offset-15 { - margin-left: 62.5%; - } - .ant-col-sm-order-15 { - order: 15; - } - .ant-col-sm-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-sm-push-14 { - left: 58.33333333%; - } - .ant-col-sm-pull-14 { - right: 58.33333333%; - } - .ant-col-sm-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-sm-order-14 { - order: 14; - } - .ant-col-sm-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-sm-push-13 { - left: 54.16666667%; - } - .ant-col-sm-pull-13 { - right: 54.16666667%; - } - .ant-col-sm-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-sm-order-13 { - order: 13; - } - .ant-col-sm-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-sm-push-12 { - left: 50%; - } - .ant-col-sm-pull-12 { - right: 50%; - } - .ant-col-sm-offset-12 { - margin-left: 50%; - } - .ant-col-sm-order-12 { - order: 12; - } - .ant-col-sm-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-sm-push-11 { - left: 45.83333333%; - } - .ant-col-sm-pull-11 { - right: 45.83333333%; - } - .ant-col-sm-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-sm-order-11 { - order: 11; - } - .ant-col-sm-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-sm-push-10 { - left: 41.66666667%; - } - .ant-col-sm-pull-10 { - right: 41.66666667%; - } - .ant-col-sm-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-sm-order-10 { - order: 10; - } - .ant-col-sm-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-sm-push-9 { - left: 37.5%; - } - .ant-col-sm-pull-9 { - right: 37.5%; - } - .ant-col-sm-offset-9 { - margin-left: 37.5%; - } - .ant-col-sm-order-9 { - order: 9; - } - .ant-col-sm-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-sm-push-8 { - left: 33.33333333%; - } - .ant-col-sm-pull-8 { - right: 33.33333333%; - } - .ant-col-sm-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-sm-order-8 { - order: 8; - } - .ant-col-sm-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-sm-push-7 { - left: 29.16666667%; - } - .ant-col-sm-pull-7 { - right: 29.16666667%; - } - .ant-col-sm-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-sm-order-7 { - order: 7; - } - .ant-col-sm-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-sm-push-6 { - left: 25%; - } - .ant-col-sm-pull-6 { - right: 25%; - } - .ant-col-sm-offset-6 { - margin-left: 25%; - } - .ant-col-sm-order-6 { - order: 6; - } - .ant-col-sm-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-sm-push-5 { - left: 20.83333333%; - } - .ant-col-sm-pull-5 { - right: 20.83333333%; - } - .ant-col-sm-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-sm-order-5 { - order: 5; - } - .ant-col-sm-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-sm-push-4 { - left: 16.66666667%; - } - .ant-col-sm-pull-4 { - right: 16.66666667%; - } - .ant-col-sm-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-sm-order-4 { - order: 4; - } - .ant-col-sm-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-sm-push-3 { - left: 12.5%; - } - .ant-col-sm-pull-3 { - right: 12.5%; - } - .ant-col-sm-offset-3 { - margin-left: 12.5%; - } - .ant-col-sm-order-3 { - order: 3; - } - .ant-col-sm-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-sm-push-2 { - left: 8.33333333%; - } - .ant-col-sm-pull-2 { - right: 8.33333333%; - } - .ant-col-sm-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-sm-order-2 { - order: 2; - } - .ant-col-sm-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-sm-push-1 { - left: 4.16666667%; - } - .ant-col-sm-pull-1 { - right: 4.16666667%; - } - .ant-col-sm-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-sm-order-1 { - order: 1; - } - .ant-col-sm-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-sm-push-0 { - left: auto; - } - .ant-col-sm-pull-0 { - right: auto; - } - .ant-col-sm-offset-0 { - margin-left: 0; - } - .ant-col-sm-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-sm-push-0.ant-col-rtl { - right: auto; - } - .ant-col-sm-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-sm-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-sm-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-sm-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-sm-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-sm-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-sm-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-sm-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-sm-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-sm-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-sm-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-sm-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-sm-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-sm-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-sm-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-sm-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-sm-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-sm-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-sm-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-sm-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-sm-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-sm-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-sm-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-sm-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-sm-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-sm-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-sm-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-sm-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-sm-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-sm-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-sm-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-sm-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-sm-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-sm-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-sm-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-sm-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-sm-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-sm-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-sm-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-sm-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-sm-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-sm-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-sm-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-sm-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-sm-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-sm-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-sm-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-sm-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-sm-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-sm-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-sm-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-sm-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-sm-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-sm-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-sm-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-sm-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-sm-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-sm-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-sm-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-sm-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-sm-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-sm-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-sm-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-sm-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-sm-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-sm-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-sm-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-sm-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-sm-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-sm-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-sm-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-sm-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-sm-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-sm-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 768px) { - .ant-col-md-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-md-push-24 { - left: 100%; - } - .ant-col-md-pull-24 { - right: 100%; - } - .ant-col-md-offset-24 { - margin-left: 100%; - } - .ant-col-md-order-24 { - order: 24; - } - .ant-col-md-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-md-push-23 { - left: 95.83333333%; - } - .ant-col-md-pull-23 { - right: 95.83333333%; - } - .ant-col-md-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-md-order-23 { - order: 23; - } - .ant-col-md-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-md-push-22 { - left: 91.66666667%; - } - .ant-col-md-pull-22 { - right: 91.66666667%; - } - .ant-col-md-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-md-order-22 { - order: 22; - } - .ant-col-md-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-md-push-21 { - left: 87.5%; - } - .ant-col-md-pull-21 { - right: 87.5%; - } - .ant-col-md-offset-21 { - margin-left: 87.5%; - } - .ant-col-md-order-21 { - order: 21; - } - .ant-col-md-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-md-push-20 { - left: 83.33333333%; - } - .ant-col-md-pull-20 { - right: 83.33333333%; - } - .ant-col-md-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-md-order-20 { - order: 20; - } - .ant-col-md-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-md-push-19 { - left: 79.16666667%; - } - .ant-col-md-pull-19 { - right: 79.16666667%; - } - .ant-col-md-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-md-order-19 { - order: 19; - } - .ant-col-md-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-md-push-18 { - left: 75%; - } - .ant-col-md-pull-18 { - right: 75%; - } - .ant-col-md-offset-18 { - margin-left: 75%; - } - .ant-col-md-order-18 { - order: 18; - } - .ant-col-md-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-md-push-17 { - left: 70.83333333%; - } - .ant-col-md-pull-17 { - right: 70.83333333%; - } - .ant-col-md-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-md-order-17 { - order: 17; - } - .ant-col-md-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-md-push-16 { - left: 66.66666667%; - } - .ant-col-md-pull-16 { - right: 66.66666667%; - } - .ant-col-md-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-md-order-16 { - order: 16; - } - .ant-col-md-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-md-push-15 { - left: 62.5%; - } - .ant-col-md-pull-15 { - right: 62.5%; - } - .ant-col-md-offset-15 { - margin-left: 62.5%; - } - .ant-col-md-order-15 { - order: 15; - } - .ant-col-md-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-md-push-14 { - left: 58.33333333%; - } - .ant-col-md-pull-14 { - right: 58.33333333%; - } - .ant-col-md-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-md-order-14 { - order: 14; - } - .ant-col-md-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-md-push-13 { - left: 54.16666667%; - } - .ant-col-md-pull-13 { - right: 54.16666667%; - } - .ant-col-md-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-md-order-13 { - order: 13; - } - .ant-col-md-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-md-push-12 { - left: 50%; - } - .ant-col-md-pull-12 { - right: 50%; - } - .ant-col-md-offset-12 { - margin-left: 50%; - } - .ant-col-md-order-12 { - order: 12; - } - .ant-col-md-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-md-push-11 { - left: 45.83333333%; - } - .ant-col-md-pull-11 { - right: 45.83333333%; - } - .ant-col-md-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-md-order-11 { - order: 11; - } - .ant-col-md-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-md-push-10 { - left: 41.66666667%; - } - .ant-col-md-pull-10 { - right: 41.66666667%; - } - .ant-col-md-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-md-order-10 { - order: 10; - } - .ant-col-md-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-md-push-9 { - left: 37.5%; - } - .ant-col-md-pull-9 { - right: 37.5%; - } - .ant-col-md-offset-9 { - margin-left: 37.5%; - } - .ant-col-md-order-9 { - order: 9; - } - .ant-col-md-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-md-push-8 { - left: 33.33333333%; - } - .ant-col-md-pull-8 { - right: 33.33333333%; - } - .ant-col-md-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-md-order-8 { - order: 8; - } - .ant-col-md-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-md-push-7 { - left: 29.16666667%; - } - .ant-col-md-pull-7 { - right: 29.16666667%; - } - .ant-col-md-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-md-order-7 { - order: 7; - } - .ant-col-md-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-md-push-6 { - left: 25%; - } - .ant-col-md-pull-6 { - right: 25%; - } - .ant-col-md-offset-6 { - margin-left: 25%; - } - .ant-col-md-order-6 { - order: 6; - } - .ant-col-md-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-md-push-5 { - left: 20.83333333%; - } - .ant-col-md-pull-5 { - right: 20.83333333%; - } - .ant-col-md-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-md-order-5 { - order: 5; - } - .ant-col-md-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-md-push-4 { - left: 16.66666667%; - } - .ant-col-md-pull-4 { - right: 16.66666667%; - } - .ant-col-md-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-md-order-4 { - order: 4; - } - .ant-col-md-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-md-push-3 { - left: 12.5%; - } - .ant-col-md-pull-3 { - right: 12.5%; - } - .ant-col-md-offset-3 { - margin-left: 12.5%; - } - .ant-col-md-order-3 { - order: 3; - } - .ant-col-md-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-md-push-2 { - left: 8.33333333%; - } - .ant-col-md-pull-2 { - right: 8.33333333%; - } - .ant-col-md-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-md-order-2 { - order: 2; - } - .ant-col-md-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-md-push-1 { - left: 4.16666667%; - } - .ant-col-md-pull-1 { - right: 4.16666667%; - } - .ant-col-md-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-md-order-1 { - order: 1; - } - .ant-col-md-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-md-push-0 { - left: auto; - } - .ant-col-md-pull-0 { - right: auto; - } - .ant-col-md-offset-0 { - margin-left: 0; - } - .ant-col-md-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-md-push-0.ant-col-rtl { - right: auto; - } - .ant-col-md-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-md-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-md-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-md-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-md-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-md-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-md-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-md-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-md-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-md-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-md-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-md-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-md-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-md-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-md-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-md-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-md-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-md-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-md-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-md-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-md-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-md-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-md-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-md-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-md-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-md-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-md-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-md-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-md-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-md-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-md-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-md-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-md-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-md-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-md-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-md-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-md-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-md-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-md-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-md-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-md-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-md-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-md-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-md-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-md-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-md-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-md-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-md-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-md-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-md-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-md-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-md-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-md-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-md-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-md-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-md-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-md-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-md-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-md-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-md-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-md-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-md-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-md-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-md-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-md-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-md-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-md-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-md-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-md-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-md-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-md-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-md-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-md-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-md-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 992px) { - .ant-col-lg-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-lg-push-24 { - left: 100%; - } - .ant-col-lg-pull-24 { - right: 100%; - } - .ant-col-lg-offset-24 { - margin-left: 100%; - } - .ant-col-lg-order-24 { - order: 24; - } - .ant-col-lg-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-lg-push-23 { - left: 95.83333333%; - } - .ant-col-lg-pull-23 { - right: 95.83333333%; - } - .ant-col-lg-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-lg-order-23 { - order: 23; - } - .ant-col-lg-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-lg-push-22 { - left: 91.66666667%; - } - .ant-col-lg-pull-22 { - right: 91.66666667%; - } - .ant-col-lg-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-lg-order-22 { - order: 22; - } - .ant-col-lg-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-lg-push-21 { - left: 87.5%; - } - .ant-col-lg-pull-21 { - right: 87.5%; - } - .ant-col-lg-offset-21 { - margin-left: 87.5%; - } - .ant-col-lg-order-21 { - order: 21; - } - .ant-col-lg-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-lg-push-20 { - left: 83.33333333%; - } - .ant-col-lg-pull-20 { - right: 83.33333333%; - } - .ant-col-lg-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-lg-order-20 { - order: 20; - } - .ant-col-lg-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-lg-push-19 { - left: 79.16666667%; - } - .ant-col-lg-pull-19 { - right: 79.16666667%; - } - .ant-col-lg-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-lg-order-19 { - order: 19; - } - .ant-col-lg-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-lg-push-18 { - left: 75%; - } - .ant-col-lg-pull-18 { - right: 75%; - } - .ant-col-lg-offset-18 { - margin-left: 75%; - } - .ant-col-lg-order-18 { - order: 18; - } - .ant-col-lg-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-lg-push-17 { - left: 70.83333333%; - } - .ant-col-lg-pull-17 { - right: 70.83333333%; - } - .ant-col-lg-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-lg-order-17 { - order: 17; - } - .ant-col-lg-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-lg-push-16 { - left: 66.66666667%; - } - .ant-col-lg-pull-16 { - right: 66.66666667%; - } - .ant-col-lg-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-lg-order-16 { - order: 16; - } - .ant-col-lg-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-lg-push-15 { - left: 62.5%; - } - .ant-col-lg-pull-15 { - right: 62.5%; - } - .ant-col-lg-offset-15 { - margin-left: 62.5%; - } - .ant-col-lg-order-15 { - order: 15; - } - .ant-col-lg-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-lg-push-14 { - left: 58.33333333%; - } - .ant-col-lg-pull-14 { - right: 58.33333333%; - } - .ant-col-lg-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-lg-order-14 { - order: 14; - } - .ant-col-lg-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-lg-push-13 { - left: 54.16666667%; - } - .ant-col-lg-pull-13 { - right: 54.16666667%; - } - .ant-col-lg-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-lg-order-13 { - order: 13; - } - .ant-col-lg-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-lg-push-12 { - left: 50%; - } - .ant-col-lg-pull-12 { - right: 50%; - } - .ant-col-lg-offset-12 { - margin-left: 50%; - } - .ant-col-lg-order-12 { - order: 12; - } - .ant-col-lg-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-lg-push-11 { - left: 45.83333333%; - } - .ant-col-lg-pull-11 { - right: 45.83333333%; - } - .ant-col-lg-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-lg-order-11 { - order: 11; - } - .ant-col-lg-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-lg-push-10 { - left: 41.66666667%; - } - .ant-col-lg-pull-10 { - right: 41.66666667%; - } - .ant-col-lg-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-lg-order-10 { - order: 10; - } - .ant-col-lg-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-lg-push-9 { - left: 37.5%; - } - .ant-col-lg-pull-9 { - right: 37.5%; - } - .ant-col-lg-offset-9 { - margin-left: 37.5%; - } - .ant-col-lg-order-9 { - order: 9; - } - .ant-col-lg-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-lg-push-8 { - left: 33.33333333%; - } - .ant-col-lg-pull-8 { - right: 33.33333333%; - } - .ant-col-lg-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-lg-order-8 { - order: 8; - } - .ant-col-lg-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-lg-push-7 { - left: 29.16666667%; - } - .ant-col-lg-pull-7 { - right: 29.16666667%; - } - .ant-col-lg-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-lg-order-7 { - order: 7; - } - .ant-col-lg-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-lg-push-6 { - left: 25%; - } - .ant-col-lg-pull-6 { - right: 25%; - } - .ant-col-lg-offset-6 { - margin-left: 25%; - } - .ant-col-lg-order-6 { - order: 6; - } - .ant-col-lg-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-lg-push-5 { - left: 20.83333333%; - } - .ant-col-lg-pull-5 { - right: 20.83333333%; - } - .ant-col-lg-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-lg-order-5 { - order: 5; - } - .ant-col-lg-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-lg-push-4 { - left: 16.66666667%; - } - .ant-col-lg-pull-4 { - right: 16.66666667%; - } - .ant-col-lg-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-lg-order-4 { - order: 4; - } - .ant-col-lg-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-lg-push-3 { - left: 12.5%; - } - .ant-col-lg-pull-3 { - right: 12.5%; - } - .ant-col-lg-offset-3 { - margin-left: 12.5%; - } - .ant-col-lg-order-3 { - order: 3; - } - .ant-col-lg-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-lg-push-2 { - left: 8.33333333%; - } - .ant-col-lg-pull-2 { - right: 8.33333333%; - } - .ant-col-lg-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-lg-order-2 { - order: 2; - } - .ant-col-lg-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-lg-push-1 { - left: 4.16666667%; - } - .ant-col-lg-pull-1 { - right: 4.16666667%; - } - .ant-col-lg-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-lg-order-1 { - order: 1; - } - .ant-col-lg-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-lg-push-0 { - left: auto; - } - .ant-col-lg-pull-0 { - right: auto; - } - .ant-col-lg-offset-0 { - margin-left: 0; - } - .ant-col-lg-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-lg-push-0.ant-col-rtl { - right: auto; - } - .ant-col-lg-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-lg-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-lg-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-lg-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-lg-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-lg-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-lg-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-lg-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-lg-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-lg-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-lg-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-lg-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-lg-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-lg-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-lg-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-lg-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-lg-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-lg-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-lg-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-lg-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-lg-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-lg-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-lg-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-lg-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-lg-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-lg-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-lg-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-lg-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-lg-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-lg-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-lg-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-lg-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-lg-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-lg-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-lg-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-lg-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-lg-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-lg-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-lg-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-lg-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-lg-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-lg-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-lg-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-lg-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-lg-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-lg-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-lg-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-lg-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-lg-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-lg-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-lg-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-lg-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-lg-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-lg-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-lg-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-lg-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-lg-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-lg-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-lg-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-lg-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-lg-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-lg-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-lg-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-lg-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-lg-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-lg-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-lg-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-lg-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-lg-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-lg-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-lg-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-lg-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-lg-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-lg-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 1200px) { - .ant-col-xl-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xl-push-24 { - left: 100%; - } - .ant-col-xl-pull-24 { - right: 100%; - } - .ant-col-xl-offset-24 { - margin-left: 100%; - } - .ant-col-xl-order-24 { - order: 24; - } - .ant-col-xl-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-xl-push-23 { - left: 95.83333333%; - } - .ant-col-xl-pull-23 { - right: 95.83333333%; - } - .ant-col-xl-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-xl-order-23 { - order: 23; - } - .ant-col-xl-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-xl-push-22 { - left: 91.66666667%; - } - .ant-col-xl-pull-22 { - right: 91.66666667%; - } - .ant-col-xl-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-xl-order-22 { - order: 22; - } - .ant-col-xl-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-xl-push-21 { - left: 87.5%; - } - .ant-col-xl-pull-21 { - right: 87.5%; - } - .ant-col-xl-offset-21 { - margin-left: 87.5%; - } - .ant-col-xl-order-21 { - order: 21; - } - .ant-col-xl-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-xl-push-20 { - left: 83.33333333%; - } - .ant-col-xl-pull-20 { - right: 83.33333333%; - } - .ant-col-xl-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-xl-order-20 { - order: 20; - } - .ant-col-xl-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-xl-push-19 { - left: 79.16666667%; - } - .ant-col-xl-pull-19 { - right: 79.16666667%; - } - .ant-col-xl-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-xl-order-19 { - order: 19; - } - .ant-col-xl-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-xl-push-18 { - left: 75%; - } - .ant-col-xl-pull-18 { - right: 75%; - } - .ant-col-xl-offset-18 { - margin-left: 75%; - } - .ant-col-xl-order-18 { - order: 18; - } - .ant-col-xl-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-xl-push-17 { - left: 70.83333333%; - } - .ant-col-xl-pull-17 { - right: 70.83333333%; - } - .ant-col-xl-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-xl-order-17 { - order: 17; - } - .ant-col-xl-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-xl-push-16 { - left: 66.66666667%; - } - .ant-col-xl-pull-16 { - right: 66.66666667%; - } - .ant-col-xl-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-xl-order-16 { - order: 16; - } - .ant-col-xl-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-xl-push-15 { - left: 62.5%; - } - .ant-col-xl-pull-15 { - right: 62.5%; - } - .ant-col-xl-offset-15 { - margin-left: 62.5%; - } - .ant-col-xl-order-15 { - order: 15; - } - .ant-col-xl-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-xl-push-14 { - left: 58.33333333%; - } - .ant-col-xl-pull-14 { - right: 58.33333333%; - } - .ant-col-xl-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-xl-order-14 { - order: 14; - } - .ant-col-xl-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-xl-push-13 { - left: 54.16666667%; - } - .ant-col-xl-pull-13 { - right: 54.16666667%; - } - .ant-col-xl-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-xl-order-13 { - order: 13; - } - .ant-col-xl-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-xl-push-12 { - left: 50%; - } - .ant-col-xl-pull-12 { - right: 50%; - } - .ant-col-xl-offset-12 { - margin-left: 50%; - } - .ant-col-xl-order-12 { - order: 12; - } - .ant-col-xl-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-xl-push-11 { - left: 45.83333333%; - } - .ant-col-xl-pull-11 { - right: 45.83333333%; - } - .ant-col-xl-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-xl-order-11 { - order: 11; - } - .ant-col-xl-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-xl-push-10 { - left: 41.66666667%; - } - .ant-col-xl-pull-10 { - right: 41.66666667%; - } - .ant-col-xl-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-xl-order-10 { - order: 10; - } - .ant-col-xl-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-xl-push-9 { - left: 37.5%; - } - .ant-col-xl-pull-9 { - right: 37.5%; - } - .ant-col-xl-offset-9 { - margin-left: 37.5%; - } - .ant-col-xl-order-9 { - order: 9; - } - .ant-col-xl-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-xl-push-8 { - left: 33.33333333%; - } - .ant-col-xl-pull-8 { - right: 33.33333333%; - } - .ant-col-xl-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-xl-order-8 { - order: 8; - } - .ant-col-xl-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-xl-push-7 { - left: 29.16666667%; - } - .ant-col-xl-pull-7 { - right: 29.16666667%; - } - .ant-col-xl-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-xl-order-7 { - order: 7; - } - .ant-col-xl-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-xl-push-6 { - left: 25%; - } - .ant-col-xl-pull-6 { - right: 25%; - } - .ant-col-xl-offset-6 { - margin-left: 25%; - } - .ant-col-xl-order-6 { - order: 6; - } - .ant-col-xl-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-xl-push-5 { - left: 20.83333333%; - } - .ant-col-xl-pull-5 { - right: 20.83333333%; - } - .ant-col-xl-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-xl-order-5 { - order: 5; - } - .ant-col-xl-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-xl-push-4 { - left: 16.66666667%; - } - .ant-col-xl-pull-4 { - right: 16.66666667%; - } - .ant-col-xl-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-xl-order-4 { - order: 4; - } - .ant-col-xl-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-xl-push-3 { - left: 12.5%; - } - .ant-col-xl-pull-3 { - right: 12.5%; - } - .ant-col-xl-offset-3 { - margin-left: 12.5%; - } - .ant-col-xl-order-3 { - order: 3; - } - .ant-col-xl-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-xl-push-2 { - left: 8.33333333%; - } - .ant-col-xl-pull-2 { - right: 8.33333333%; - } - .ant-col-xl-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-xl-order-2 { - order: 2; - } - .ant-col-xl-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-xl-push-1 { - left: 4.16666667%; - } - .ant-col-xl-pull-1 { - right: 4.16666667%; - } - .ant-col-xl-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-xl-order-1 { - order: 1; - } - .ant-col-xl-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-xl-push-0 { - left: auto; - } - .ant-col-xl-pull-0 { - right: auto; - } - .ant-col-xl-offset-0 { - margin-left: 0; - } - .ant-col-xl-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xl-push-0.ant-col-rtl { - right: auto; - } - .ant-col-xl-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xl-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-xl-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-xl-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-xl-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-xl-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-xl-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-xl-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-xl-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-xl-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-xl-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-xl-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-xl-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-xl-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-xl-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-xl-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-xl-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-xl-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-xl-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-xl-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-xl-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-xl-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-xl-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-xl-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-xl-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-xl-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-xl-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-xl-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-xl-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-xl-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-xl-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-xl-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-xl-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-xl-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-xl-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-xl-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-xl-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-xl-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-xl-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-xl-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-xl-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-xl-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-xl-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-xl-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-xl-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-xl-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-xl-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-xl-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-xl-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-xl-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-xl-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-xl-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-xl-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-xl-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-xl-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-xl-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-xl-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-xl-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-xl-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-xl-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-xl-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-xl-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-xl-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-xl-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-xl-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-xl-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-xl-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-xl-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-xl-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-xl-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-xl-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-xl-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-xl-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-xl-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -@media (min-width: 1600px) { - .ant-col-xxl-24 { - display: block; - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xxl-push-24 { - left: 100%; - } - .ant-col-xxl-pull-24 { - right: 100%; - } - .ant-col-xxl-offset-24 { - margin-left: 100%; - } - .ant-col-xxl-order-24 { - order: 24; - } - .ant-col-xxl-23 { - display: block; - flex: 0 0 95.83333333%; - max-width: 95.83333333%; - } - .ant-col-xxl-push-23 { - left: 95.83333333%; - } - .ant-col-xxl-pull-23 { - right: 95.83333333%; - } - .ant-col-xxl-offset-23 { - margin-left: 95.83333333%; - } - .ant-col-xxl-order-23 { - order: 23; - } - .ant-col-xxl-22 { - display: block; - flex: 0 0 91.66666667%; - max-width: 91.66666667%; - } - .ant-col-xxl-push-22 { - left: 91.66666667%; - } - .ant-col-xxl-pull-22 { - right: 91.66666667%; - } - .ant-col-xxl-offset-22 { - margin-left: 91.66666667%; - } - .ant-col-xxl-order-22 { - order: 22; - } - .ant-col-xxl-21 { - display: block; - flex: 0 0 87.5%; - max-width: 87.5%; - } - .ant-col-xxl-push-21 { - left: 87.5%; - } - .ant-col-xxl-pull-21 { - right: 87.5%; - } - .ant-col-xxl-offset-21 { - margin-left: 87.5%; - } - .ant-col-xxl-order-21 { - order: 21; - } - .ant-col-xxl-20 { - display: block; - flex: 0 0 83.33333333%; - max-width: 83.33333333%; - } - .ant-col-xxl-push-20 { - left: 83.33333333%; - } - .ant-col-xxl-pull-20 { - right: 83.33333333%; - } - .ant-col-xxl-offset-20 { - margin-left: 83.33333333%; - } - .ant-col-xxl-order-20 { - order: 20; - } - .ant-col-xxl-19 { - display: block; - flex: 0 0 79.16666667%; - max-width: 79.16666667%; - } - .ant-col-xxl-push-19 { - left: 79.16666667%; - } - .ant-col-xxl-pull-19 { - right: 79.16666667%; - } - .ant-col-xxl-offset-19 { - margin-left: 79.16666667%; - } - .ant-col-xxl-order-19 { - order: 19; - } - .ant-col-xxl-18 { - display: block; - flex: 0 0 75%; - max-width: 75%; - } - .ant-col-xxl-push-18 { - left: 75%; - } - .ant-col-xxl-pull-18 { - right: 75%; - } - .ant-col-xxl-offset-18 { - margin-left: 75%; - } - .ant-col-xxl-order-18 { - order: 18; - } - .ant-col-xxl-17 { - display: block; - flex: 0 0 70.83333333%; - max-width: 70.83333333%; - } - .ant-col-xxl-push-17 { - left: 70.83333333%; - } - .ant-col-xxl-pull-17 { - right: 70.83333333%; - } - .ant-col-xxl-offset-17 { - margin-left: 70.83333333%; - } - .ant-col-xxl-order-17 { - order: 17; - } - .ant-col-xxl-16 { - display: block; - flex: 0 0 66.66666667%; - max-width: 66.66666667%; - } - .ant-col-xxl-push-16 { - left: 66.66666667%; - } - .ant-col-xxl-pull-16 { - right: 66.66666667%; - } - .ant-col-xxl-offset-16 { - margin-left: 66.66666667%; - } - .ant-col-xxl-order-16 { - order: 16; - } - .ant-col-xxl-15 { - display: block; - flex: 0 0 62.5%; - max-width: 62.5%; - } - .ant-col-xxl-push-15 { - left: 62.5%; - } - .ant-col-xxl-pull-15 { - right: 62.5%; - } - .ant-col-xxl-offset-15 { - margin-left: 62.5%; - } - .ant-col-xxl-order-15 { - order: 15; - } - .ant-col-xxl-14 { - display: block; - flex: 0 0 58.33333333%; - max-width: 58.33333333%; - } - .ant-col-xxl-push-14 { - left: 58.33333333%; - } - .ant-col-xxl-pull-14 { - right: 58.33333333%; - } - .ant-col-xxl-offset-14 { - margin-left: 58.33333333%; - } - .ant-col-xxl-order-14 { - order: 14; - } - .ant-col-xxl-13 { - display: block; - flex: 0 0 54.16666667%; - max-width: 54.16666667%; - } - .ant-col-xxl-push-13 { - left: 54.16666667%; - } - .ant-col-xxl-pull-13 { - right: 54.16666667%; - } - .ant-col-xxl-offset-13 { - margin-left: 54.16666667%; - } - .ant-col-xxl-order-13 { - order: 13; - } - .ant-col-xxl-12 { - display: block; - flex: 0 0 50%; - max-width: 50%; - } - .ant-col-xxl-push-12 { - left: 50%; - } - .ant-col-xxl-pull-12 { - right: 50%; - } - .ant-col-xxl-offset-12 { - margin-left: 50%; - } - .ant-col-xxl-order-12 { - order: 12; - } - .ant-col-xxl-11 { - display: block; - flex: 0 0 45.83333333%; - max-width: 45.83333333%; - } - .ant-col-xxl-push-11 { - left: 45.83333333%; - } - .ant-col-xxl-pull-11 { - right: 45.83333333%; - } - .ant-col-xxl-offset-11 { - margin-left: 45.83333333%; - } - .ant-col-xxl-order-11 { - order: 11; - } - .ant-col-xxl-10 { - display: block; - flex: 0 0 41.66666667%; - max-width: 41.66666667%; - } - .ant-col-xxl-push-10 { - left: 41.66666667%; - } - .ant-col-xxl-pull-10 { - right: 41.66666667%; - } - .ant-col-xxl-offset-10 { - margin-left: 41.66666667%; - } - .ant-col-xxl-order-10 { - order: 10; - } - .ant-col-xxl-9 { - display: block; - flex: 0 0 37.5%; - max-width: 37.5%; - } - .ant-col-xxl-push-9 { - left: 37.5%; - } - .ant-col-xxl-pull-9 { - right: 37.5%; - } - .ant-col-xxl-offset-9 { - margin-left: 37.5%; - } - .ant-col-xxl-order-9 { - order: 9; - } - .ant-col-xxl-8 { - display: block; - flex: 0 0 33.33333333%; - max-width: 33.33333333%; - } - .ant-col-xxl-push-8 { - left: 33.33333333%; - } - .ant-col-xxl-pull-8 { - right: 33.33333333%; - } - .ant-col-xxl-offset-8 { - margin-left: 33.33333333%; - } - .ant-col-xxl-order-8 { - order: 8; - } - .ant-col-xxl-7 { - display: block; - flex: 0 0 29.16666667%; - max-width: 29.16666667%; - } - .ant-col-xxl-push-7 { - left: 29.16666667%; - } - .ant-col-xxl-pull-7 { - right: 29.16666667%; - } - .ant-col-xxl-offset-7 { - margin-left: 29.16666667%; - } - .ant-col-xxl-order-7 { - order: 7; - } - .ant-col-xxl-6 { - display: block; - flex: 0 0 25%; - max-width: 25%; - } - .ant-col-xxl-push-6 { - left: 25%; - } - .ant-col-xxl-pull-6 { - right: 25%; - } - .ant-col-xxl-offset-6 { - margin-left: 25%; - } - .ant-col-xxl-order-6 { - order: 6; - } - .ant-col-xxl-5 { - display: block; - flex: 0 0 20.83333333%; - max-width: 20.83333333%; - } - .ant-col-xxl-push-5 { - left: 20.83333333%; - } - .ant-col-xxl-pull-5 { - right: 20.83333333%; - } - .ant-col-xxl-offset-5 { - margin-left: 20.83333333%; - } - .ant-col-xxl-order-5 { - order: 5; - } - .ant-col-xxl-4 { - display: block; - flex: 0 0 16.66666667%; - max-width: 16.66666667%; - } - .ant-col-xxl-push-4 { - left: 16.66666667%; - } - .ant-col-xxl-pull-4 { - right: 16.66666667%; - } - .ant-col-xxl-offset-4 { - margin-left: 16.66666667%; - } - .ant-col-xxl-order-4 { - order: 4; - } - .ant-col-xxl-3 { - display: block; - flex: 0 0 12.5%; - max-width: 12.5%; - } - .ant-col-xxl-push-3 { - left: 12.5%; - } - .ant-col-xxl-pull-3 { - right: 12.5%; - } - .ant-col-xxl-offset-3 { - margin-left: 12.5%; - } - .ant-col-xxl-order-3 { - order: 3; - } - .ant-col-xxl-2 { - display: block; - flex: 0 0 8.33333333%; - max-width: 8.33333333%; - } - .ant-col-xxl-push-2 { - left: 8.33333333%; - } - .ant-col-xxl-pull-2 { - right: 8.33333333%; - } - .ant-col-xxl-offset-2 { - margin-left: 8.33333333%; - } - .ant-col-xxl-order-2 { - order: 2; - } - .ant-col-xxl-1 { - display: block; - flex: 0 0 4.16666667%; - max-width: 4.16666667%; - } - .ant-col-xxl-push-1 { - left: 4.16666667%; - } - .ant-col-xxl-pull-1 { - right: 4.16666667%; - } - .ant-col-xxl-offset-1 { - margin-left: 4.16666667%; - } - .ant-col-xxl-order-1 { - order: 1; - } - .ant-col-xxl-0 { - display: none; - } - .ant-col-push-0 { - left: auto; - } - .ant-col-pull-0 { - right: auto; - } - .ant-col-xxl-push-0 { - left: auto; - } - .ant-col-xxl-pull-0 { - right: auto; - } - .ant-col-xxl-offset-0 { - margin-left: 0; - } - .ant-col-xxl-order-0 { - order: 0; - } - .ant-col-push-0.ant-col-rtl { - right: auto; - } - .ant-col-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xxl-push-0.ant-col-rtl { - right: auto; - } - .ant-col-xxl-pull-0.ant-col-rtl { - left: auto; - } - .ant-col-xxl-offset-0.ant-col-rtl { - margin-right: 0; - } - .ant-col-xxl-push-1.ant-col-rtl { - right: 4.16666667%; - left: auto; - } - .ant-col-xxl-pull-1.ant-col-rtl { - right: auto; - left: 4.16666667%; - } - .ant-col-xxl-offset-1.ant-col-rtl { - margin-right: 4.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-2.ant-col-rtl { - right: 8.33333333%; - left: auto; - } - .ant-col-xxl-pull-2.ant-col-rtl { - right: auto; - left: 8.33333333%; - } - .ant-col-xxl-offset-2.ant-col-rtl { - margin-right: 8.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-3.ant-col-rtl { - right: 12.5%; - left: auto; - } - .ant-col-xxl-pull-3.ant-col-rtl { - right: auto; - left: 12.5%; - } - .ant-col-xxl-offset-3.ant-col-rtl { - margin-right: 12.5%; - margin-left: 0; - } - .ant-col-xxl-push-4.ant-col-rtl { - right: 16.66666667%; - left: auto; - } - .ant-col-xxl-pull-4.ant-col-rtl { - right: auto; - left: 16.66666667%; - } - .ant-col-xxl-offset-4.ant-col-rtl { - margin-right: 16.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-5.ant-col-rtl { - right: 20.83333333%; - left: auto; - } - .ant-col-xxl-pull-5.ant-col-rtl { - right: auto; - left: 20.83333333%; - } - .ant-col-xxl-offset-5.ant-col-rtl { - margin-right: 20.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-6.ant-col-rtl { - right: 25%; - left: auto; - } - .ant-col-xxl-pull-6.ant-col-rtl { - right: auto; - left: 25%; - } - .ant-col-xxl-offset-6.ant-col-rtl { - margin-right: 25%; - margin-left: 0; - } - .ant-col-xxl-push-7.ant-col-rtl { - right: 29.16666667%; - left: auto; - } - .ant-col-xxl-pull-7.ant-col-rtl { - right: auto; - left: 29.16666667%; - } - .ant-col-xxl-offset-7.ant-col-rtl { - margin-right: 29.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-8.ant-col-rtl { - right: 33.33333333%; - left: auto; - } - .ant-col-xxl-pull-8.ant-col-rtl { - right: auto; - left: 33.33333333%; - } - .ant-col-xxl-offset-8.ant-col-rtl { - margin-right: 33.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-9.ant-col-rtl { - right: 37.5%; - left: auto; - } - .ant-col-xxl-pull-9.ant-col-rtl { - right: auto; - left: 37.5%; - } - .ant-col-xxl-offset-9.ant-col-rtl { - margin-right: 37.5%; - margin-left: 0; - } - .ant-col-xxl-push-10.ant-col-rtl { - right: 41.66666667%; - left: auto; - } - .ant-col-xxl-pull-10.ant-col-rtl { - right: auto; - left: 41.66666667%; - } - .ant-col-xxl-offset-10.ant-col-rtl { - margin-right: 41.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-11.ant-col-rtl { - right: 45.83333333%; - left: auto; - } - .ant-col-xxl-pull-11.ant-col-rtl { - right: auto; - left: 45.83333333%; - } - .ant-col-xxl-offset-11.ant-col-rtl { - margin-right: 45.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-12.ant-col-rtl { - right: 50%; - left: auto; - } - .ant-col-xxl-pull-12.ant-col-rtl { - right: auto; - left: 50%; - } - .ant-col-xxl-offset-12.ant-col-rtl { - margin-right: 50%; - margin-left: 0; - } - .ant-col-xxl-push-13.ant-col-rtl { - right: 54.16666667%; - left: auto; - } - .ant-col-xxl-pull-13.ant-col-rtl { - right: auto; - left: 54.16666667%; - } - .ant-col-xxl-offset-13.ant-col-rtl { - margin-right: 54.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-14.ant-col-rtl { - right: 58.33333333%; - left: auto; - } - .ant-col-xxl-pull-14.ant-col-rtl { - right: auto; - left: 58.33333333%; - } - .ant-col-xxl-offset-14.ant-col-rtl { - margin-right: 58.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-15.ant-col-rtl { - right: 62.5%; - left: auto; - } - .ant-col-xxl-pull-15.ant-col-rtl { - right: auto; - left: 62.5%; - } - .ant-col-xxl-offset-15.ant-col-rtl { - margin-right: 62.5%; - margin-left: 0; - } - .ant-col-xxl-push-16.ant-col-rtl { - right: 66.66666667%; - left: auto; - } - .ant-col-xxl-pull-16.ant-col-rtl { - right: auto; - left: 66.66666667%; - } - .ant-col-xxl-offset-16.ant-col-rtl { - margin-right: 66.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-17.ant-col-rtl { - right: 70.83333333%; - left: auto; - } - .ant-col-xxl-pull-17.ant-col-rtl { - right: auto; - left: 70.83333333%; - } - .ant-col-xxl-offset-17.ant-col-rtl { - margin-right: 70.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-18.ant-col-rtl { - right: 75%; - left: auto; - } - .ant-col-xxl-pull-18.ant-col-rtl { - right: auto; - left: 75%; - } - .ant-col-xxl-offset-18.ant-col-rtl { - margin-right: 75%; - margin-left: 0; - } - .ant-col-xxl-push-19.ant-col-rtl { - right: 79.16666667%; - left: auto; - } - .ant-col-xxl-pull-19.ant-col-rtl { - right: auto; - left: 79.16666667%; - } - .ant-col-xxl-offset-19.ant-col-rtl { - margin-right: 79.16666667%; - margin-left: 0; - } - .ant-col-xxl-push-20.ant-col-rtl { - right: 83.33333333%; - left: auto; - } - .ant-col-xxl-pull-20.ant-col-rtl { - right: auto; - left: 83.33333333%; - } - .ant-col-xxl-offset-20.ant-col-rtl { - margin-right: 83.33333333%; - margin-left: 0; - } - .ant-col-xxl-push-21.ant-col-rtl { - right: 87.5%; - left: auto; - } - .ant-col-xxl-pull-21.ant-col-rtl { - right: auto; - left: 87.5%; - } - .ant-col-xxl-offset-21.ant-col-rtl { - margin-right: 87.5%; - margin-left: 0; - } - .ant-col-xxl-push-22.ant-col-rtl { - right: 91.66666667%; - left: auto; - } - .ant-col-xxl-pull-22.ant-col-rtl { - right: auto; - left: 91.66666667%; - } - .ant-col-xxl-offset-22.ant-col-rtl { - margin-right: 91.66666667%; - margin-left: 0; - } - .ant-col-xxl-push-23.ant-col-rtl { - right: 95.83333333%; - left: auto; - } - .ant-col-xxl-pull-23.ant-col-rtl { - right: auto; - left: 95.83333333%; - } - .ant-col-xxl-offset-23.ant-col-rtl { - margin-right: 95.83333333%; - margin-left: 0; - } - .ant-col-xxl-push-24.ant-col-rtl { - right: 100%; - left: auto; - } - .ant-col-xxl-pull-24.ant-col-rtl { - right: auto; - left: 100%; - } - .ant-col-xxl-offset-24.ant-col-rtl { - margin-right: 100%; - margin-left: 0; - } -} -.ant-row-rtl { - direction: rtl; -} -.ant-input-affix-wrapper { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - display: inline-flex; -} -.ant-input-affix-wrapper::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-affix-wrapper:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-affix-wrapper:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-affix-wrapper:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-affix-wrapper:focus, -.ant-input-rtl .ant-input-affix-wrapper-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-affix-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-affix-wrapper-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-affix-wrapper[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-affix-wrapper[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-affix-wrapper-borderless, -.ant-input-affix-wrapper-borderless:hover, -.ant-input-affix-wrapper-borderless:focus, -.ant-input-affix-wrapper-borderless-focused, -.ant-input-affix-wrapper-borderless-disabled, -.ant-input-affix-wrapper-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-affix-wrapper { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-affix-wrapper-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-affix-wrapper-sm { - padding: 0px 7px; -} -.ant-input-affix-wrapper-rtl { - direction: rtl; -} -.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - border-color: #40a9ff; - border-right-width: 1px; - z-index: 1; -} -.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover { - z-index: 0; -} -.ant-input-affix-wrapper-focused, -.ant-input-affix-wrapper:focus { - z-index: 1; -} -.ant-input-affix-wrapper-disabled .ant-input[disabled] { - background: transparent; -} -.ant-input-affix-wrapper > .ant-input { - font-size: inherit; - border: none; - outline: none; -} -.ant-input-affix-wrapper > .ant-input:focus { - box-shadow: none !important; -} -.ant-input-affix-wrapper > .ant-input:not(textarea) { - padding: 0; -} -.ant-input-affix-wrapper::before { - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-input-prefix, -.ant-input-suffix { - display: flex; - flex: none; - align-items: center; -} -.ant-input-prefix > *:not(:last-child), -.ant-input-suffix > *:not(:last-child) { - margin-right: 8px; -} -.ant-input-show-count-suffix { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-show-count-has-suffix { - margin-right: 2px; -} -.ant-input-prefix { - margin-right: 4px; -} -.ant-input-suffix { - margin-left: 4px; -} -.anticon.ant-input-clear-icon, -.ant-input-clear-icon { - margin: 0; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - vertical-align: -1px; - cursor: pointer; - transition: color 0.3s; -} -.anticon.ant-input-clear-icon:hover, -.ant-input-clear-icon:hover { - color: rgba(0, 0, 0, 0.45); -} -.anticon.ant-input-clear-icon:active, -.ant-input-clear-icon:active { - color: rgba(0, 0, 0, 0.85); -} -.anticon.ant-input-clear-icon-hidden, -.ant-input-clear-icon-hidden { - visibility: hidden; -} -.anticon.ant-input-clear-icon-has-suffix, -.ant-input-clear-icon-has-suffix { - margin: 0 4px; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn { - padding: 0; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon { - position: absolute; - top: 8px; - right: 8px; - z-index: 1; -} -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input, -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus, -.ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input, -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus, -.ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper, -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-affix-wrapper-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper, -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus, -.ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-affix-wrapper-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-input-textarea-status-error.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-warning.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-success.ant-input-textarea-has-feedback .ant-input, -.ant-input-textarea-status-validating.ant-input-textarea-has-feedback .ant-input { - padding-right: 24px; -} -.ant-input-group-wrapper-status-error .ant-input-group-addon { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-input-group-wrapper-status-warning .ant-input-group-addon { - color: #faad14; - border-color: #faad14; -} -.ant-input { - box-sizing: border-box; - margin: 0; - padding: 0; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input:focus, -.ant-input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input:focus, -.ant-input-rtl .ant-input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-borderless, -.ant-input-borderless:hover, -.ant-input-borderless:focus, -.ant-input-borderless-focused, -.ant-input-borderless-disabled, -.ant-input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-sm { - padding: 0px 7px; -} -.ant-input-rtl { - direction: rtl; -} -.ant-input-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: table; - width: 100%; - border-collapse: separate; - border-spacing: 0; -} -.ant-input-group[class*='col-'] { - float: none; - padding-right: 0; - padding-left: 0; -} -.ant-input-group > [class*='col-'] { - padding-right: 8px; -} -.ant-input-group > [class*='col-']:last-child { - padding-right: 0; -} -.ant-input-group-addon, -.ant-input-group-wrap, -.ant-input-group > .ant-input { - display: table-cell; -} -.ant-input-group-addon:not(:first-child):not(:last-child), -.ant-input-group-wrap:not(:first-child):not(:last-child), -.ant-input-group > .ant-input:not(:first-child):not(:last-child) { - border-radius: 0; -} -.ant-input-group-addon, -.ant-input-group-wrap { - width: 1px; - white-space: nowrap; - vertical-align: middle; -} -.ant-input-group-wrap > * { - display: block !important; -} -.ant-input-group .ant-input { - float: left; - width: 100%; - margin-bottom: 0; - text-align: inherit; -} -.ant-input-group .ant-input:focus { - z-index: 1; - border-right-width: 1px; -} -.ant-input-group .ant-input:hover { - z-index: 1; - border-right-width: 1px; -} -.ant-input-search-with-button .ant-input-group .ant-input:hover { - z-index: 0; -} -.ant-input-group-addon { - position: relative; - padding: 0 11px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - text-align: center; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input-group-addon .ant-select { - margin: -5px -11px; -} -.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - background-color: inherit; - border: 1px solid transparent; - box-shadow: none; -} -.ant-input-group-addon .ant-select-open .ant-select-selector, -.ant-input-group-addon .ant-select-focused .ant-select-selector { - color: #1890ff; -} -.ant-input-group-addon .ant-cascader-picker { - margin: -9px -12px; - background-color: transparent; -} -.ant-input-group-addon .ant-cascader-picker .ant-cascader-input { - text-align: left; - border: 0; - box-shadow: none; -} -.ant-input-group > .ant-input:first-child, -.ant-input-group-addon:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, -.ant-input-group-addon:first-child .ant-select .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-group-addon:first-child { - border-right: 0; -} -.ant-input-group-addon:last-child { - border-left: 0; -} -.ant-input-group > .ant-input:last-child, -.ant-input-group-addon:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, -.ant-input-group-addon:last-child .ant-select .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group-lg .ant-input, -.ant-input-group-lg > .ant-input-group-addon { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-group-sm .ant-input, -.ant-input-group-sm > .ant-input-group-addon { - padding: 0px 7px; -} -.ant-input-group-lg .ant-select-single .ant-select-selector { - height: 40px; -} -.ant-input-group-sm .ant-select-single .ant-select-selector { - height: 24px; -} -.ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-group .ant-input-affix-wrapper:not(:first-child), -.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-group.ant-input-group-compact { - display: block; -} -.ant-input-group.ant-input-group-compact::before { - display: table; - content: ''; -} -.ant-input-group.ant-input-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-group.ant-input-group-compact::before { - display: table; - content: ''; -} -.ant-input-group.ant-input-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { - border-right-width: 1px; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover { - z-index: 1; -} -.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus, -.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > * { - display: inline-block; - float: none; - vertical-align: top; - border-radius: 0; -} -.ant-input-group.ant-input-group-compact > .ant-input-affix-wrapper { - display: inline-flex; -} -.ant-input-group.ant-input-group-compact > .ant-picker-range { - display: inline-flex; -} -.ant-input-group.ant-input-group-compact > *:not(:last-child) { - margin-right: -1px; - border-right-width: 1px; -} -.ant-input-group.ant-input-group-compact .ant-input { - float: none; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { - border-right-width: 1px; - border-radius: 0; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:hover, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:focus, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, -.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select-focused { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-arrow { - z-index: 1; -} -.ant-input-group.ant-input-group-compact > *:first-child, -.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-group.ant-input-group-compact > *:last-child, -.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-right-width: 1px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input { - vertical-align: top; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper { - margin-left: -1px; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button { - border-radius: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 2px 0 0 2px; -} -.ant-input-group > .ant-input-rtl:first-child, -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-group-rtl .ant-input-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group > .ant-input:last-child, -.ant-input-group-rtl.ant-input-group-addon:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) { - margin-right: 0; - margin-left: -1px; - border-left-width: 1px; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-left-width: 1px; - border-radius: 2px 0 0 2px; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl { - margin-right: -1px; - margin-left: 0; -} -.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-group > .ant-input-rtl:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-group > .ant-input-rtl:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-group-rtl .ant-input-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-group-rtl .ant-input-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-group-wrapper { - display: inline-block; - width: 100%; - text-align: start; - vertical-align: top; -} -.ant-input-password-icon.anticon { - color: rgba(0, 0, 0, 0.45); - cursor: pointer; - transition: all 0.3s; -} -.ant-input-password-icon.anticon:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-input[type='color'] { - height: 32px; -} -.ant-input[type='color'].ant-input-lg { - height: 40px; -} -.ant-input[type='color'].ant-input-sm { - height: 24px; - padding-top: 3px; - padding-bottom: 3px; -} -.ant-input-textarea-show-count > .ant-input { - height: 100%; -} -.ant-input-textarea-show-count::after { - float: right; - color: rgba(0, 0, 0, 0.45); - white-space: nowrap; - content: attr(data-count); - pointer-events: none; -} -.ant-input-textarea-show-count.ant-input-textarea-in-form-item::after { - margin-bottom: -22px; -} -.ant-input-textarea-suffix { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - z-index: 1; - display: inline-flex; - align-items: center; - margin: auto; -} -.ant-input-compact-item:not(.ant-input-compact-last-item):not(.ant-input-compact-item-rtl) { - margin-right: -1px; -} -.ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-item-rtl { - margin-left: -1px; -} -.ant-input-compact-item:hover, -.ant-input-compact-item:focus, -.ant-input-compact-item:active { - z-index: 2; -} -.ant-input-compact-item[disabled] { - z-index: 0; -} -.ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item).ant-input { - border-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-first-item:not(.ant-input-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-last-item:not(.ant-input-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-compact-item.ant-input.ant-input-compact-item-rtl.ant-input-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input:hover, -.ant-input-search .ant-input:focus { - border-color: #40a9ff; -} -.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), -.ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) { - border-left-color: #40a9ff; -} -.ant-input-search .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-search .ant-input-lg { - line-height: 1.5713; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child { - left: -1px; - padding: 0; - border: 0; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button { - padding-top: 0; - padding-bottom: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) { - color: rgba(0, 0, 0, 0.45); -} -.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before { - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.ant-input-search-button { - height: 32px; -} -.ant-input-search-button:hover, -.ant-input-search-button:focus { - z-index: 1; -} -.ant-input-search-large .ant-input-search-button { - height: 40px; -} -.ant-input-search-small .ant-input-search-button { - height: 24px; -} -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-item-rtl):not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button { - margin-right: -1px; - border-radius: 0; -} -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input, -.ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:hover, -.ant-input-search.ant-input-compact-item > .ant-input:hover, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover, -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:focus, -.ant-input-search.ant-input-compact-item > .ant-input:focus, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus, -.ant-input-search.ant-input-compact-item > .ant-input-group-addon .ant-input-search-button:active, -.ant-input-search.ant-input-compact-item > .ant-input:active, -.ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active { - z-index: 2; -} -.ant-input-search.ant-input-compact-item > .ant-input-affix-wrapper-focused { - z-index: 2; -} -.ant-input-search.ant-input-compact-item-rtl:not(.ant-input-compact-last-item) .ant-input-group-addon:last-child .ant-input-search-button { - margin-left: -1px; - border-radius: 0; -} -.ant-input-group-wrapper-rtl { - direction: rtl; -} -.ant-input-group-rtl { - direction: rtl; -} -.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input { - border: none; - outline: none; -} -.ant-input-affix-wrapper-rtl .ant-input-prefix { - margin: 0 0 0 4px; -} -.ant-input-affix-wrapper-rtl .ant-input-suffix { - margin: 0 4px 0 0; -} -.ant-input-textarea-rtl { - direction: rtl; -} -.ant-input-textarea-rtl.ant-input-textarea-show-count::after { - text-align: left; -} -.ant-input-affix-wrapper-rtl .ant-input-clear-icon-has-suffix { - margin-right: 0; - margin-left: 4px; -} -.ant-input-affix-wrapper-rtl .ant-input-clear-icon { - right: auto; - left: 8px; -} -.ant-input-search-rtl { - direction: rtl; -} -.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), -.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) { - border-left-color: #d9d9d9; -} -.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover, -.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary):hover { - border-left-color: #40a9ff; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover, -.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused { - border-right-color: #40a9ff; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child { - right: -1px; - left: auto; -} -.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button { - border-radius: 2px 0 0 2px; -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ant-input { - height: 32px; - } - .ant-input-lg { - height: 40px; - } - .ant-input-sm { - height: 24px; - } - .ant-input-affix-wrapper > input.ant-input { - height: auto; - } -} -textarea.antblazor-textarea-autosize-measuring { - height: auto !important; - overflow: hidden !important; - padding: 2px 0 !important; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only { - width: 32px; - height: 32px; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm { - width: 24px; - height: 24px; -} -.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg, -.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg { - width: 40px; - height: 40px; -} -.ant-input-number-affix-wrapper { - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - position: relative; - display: inline-flex; - width: 90px; - padding: 0; - padding-inline-start: 11px; -} -.ant-input-number-affix-wrapper::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number-affix-wrapper:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number-affix-wrapper:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-number-affix-wrapper:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number-affix-wrapper:focus, -.ant-input-rtl .ant-input-number-affix-wrapper-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-affix-wrapper-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-affix-wrapper[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-affix-wrapper[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-affix-wrapper-borderless, -.ant-input-number-affix-wrapper-borderless:hover, -.ant-input-number-affix-wrapper-borderless:focus, -.ant-input-number-affix-wrapper-borderless-focused, -.ant-input-number-affix-wrapper-borderless-disabled, -.ant-input-number-affix-wrapper-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-number-affix-wrapper { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-number-affix-wrapper-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-affix-wrapper-sm { - padding: 0px 7px; -} -.ant-input-number-affix-wrapper-rtl { - direction: rtl; -} -.ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover { - border-color: #40a9ff; - border-right-width: 1px; - z-index: 1; -} -.ant-input-rtl .ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-affix-wrapper-focused, -.ant-input-number-affix-wrapper:focus { - z-index: 1; -} -.ant-input-number-affix-wrapper-disabled .ant-input-number[disabled] { - background: transparent; -} -.ant-input-number-affix-wrapper > div.ant-input-number { - width: 100%; - border: none; - outline: none; -} -.ant-input-number-affix-wrapper > div.ant-input-number.ant-input-number-focused { - box-shadow: none !important; -} -.ant-input-number-affix-wrapper input.ant-input-number-input { - padding: 0; -} -.ant-input-number-affix-wrapper::before { - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-input-number-affix-wrapper .ant-input-number-handler-wrap { - z-index: 2; -} -.ant-input-number-prefix, -.ant-input-number-suffix { - display: flex; - flex: none; - align-items: center; - pointer-events: none; -} -.ant-input-number-prefix { - margin-inline-end: 4px; -} -.ant-input-number-suffix { - position: absolute; - top: 0; - right: 0; - z-index: 1; - height: 100%; - margin-right: 11px; - margin-left: 4px; -} -.ant-input-number-group-wrapper .ant-input-number-affix-wrapper { - width: 100%; -} -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number, -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus, -.ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-status-error .ant-input-number-prefix { - color: #ff4d4f; -} -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number, -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:focus, -.ant-input-number-status-warning:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-status-warning .ant-input-number-prefix { - color: #faad14; -} -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper, -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-status-error:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-affix-wrapper-status-error .ant-input-number-prefix { - color: #ff4d4f; -} -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper, -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:hover { - background: #fff; - border-color: #faad14; -} -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper:focus, -.ant-input-number-affix-wrapper-status-warning:not(.ant-input-number-affix-wrapper-disabled):not(.ant-input-number-affix-wrapper-borderless).ant-input-number-affix-wrapper-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-number-affix-wrapper-status-warning .ant-input-number-prefix { - color: #faad14; -} -.ant-input-number-group-wrapper-status-error .ant-input-number-group-addon { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-input-number-group-wrapper-status-warning .ant-input-number-group-addon { - color: #faad14; - border-color: #faad14; -} -.ant-input-number { - box-sizing: border-box; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - transition: all 0.3s; - display: inline-block; - width: 90px; - margin: 0; - padding: 0; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-input-number::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-input-number:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number:focus, -.ant-input-number-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number:focus, -.ant-input-rtl .ant-input-number-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-borderless, -.ant-input-number-borderless:hover, -.ant-input-number-borderless:focus, -.ant-input-number-borderless-focused, -.ant-input-number-borderless-disabled, -.ant-input-number-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-input-number { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-input-number-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-sm { - padding: 0px 7px; -} -.ant-input-number-rtl { - direction: rtl; -} -.ant-input-number-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: table; - width: 100%; - border-collapse: separate; - border-spacing: 0; -} -.ant-input-number-group[class*='col-'] { - float: none; - padding-right: 0; - padding-left: 0; -} -.ant-input-number-group > [class*='col-'] { - padding-right: 8px; -} -.ant-input-number-group > [class*='col-']:last-child { - padding-right: 0; -} -.ant-input-number-group-addon, -.ant-input-number-group-wrap, -.ant-input-number-group > .ant-input-number { - display: table-cell; -} -.ant-input-number-group-addon:not(:first-child):not(:last-child), -.ant-input-number-group-wrap:not(:first-child):not(:last-child), -.ant-input-number-group > .ant-input-number:not(:first-child):not(:last-child) { - border-radius: 0; -} -.ant-input-number-group-addon, -.ant-input-number-group-wrap { - width: 1px; - white-space: nowrap; - vertical-align: middle; -} -.ant-input-number-group-wrap > * { - display: block !important; -} -.ant-input-number-group .ant-input-number { - float: left; - width: 100%; - margin-bottom: 0; - text-align: inherit; -} -.ant-input-number-group .ant-input-number:focus { - z-index: 1; - border-right-width: 1px; -} -.ant-input-number-group .ant-input-number:hover { - z-index: 1; - border-right-width: 1px; -} -.ant-input-search-with-button .ant-input-number-group .ant-input-number:hover { - z-index: 0; -} -.ant-input-number-group-addon { - position: relative; - padding: 0 11px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - text-align: center; - background-color: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-input-number-group-addon .ant-select { - margin: -5px -11px; -} -.ant-input-number-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - background-color: inherit; - border: 1px solid transparent; - box-shadow: none; -} -.ant-input-number-group-addon .ant-select-open .ant-select-selector, -.ant-input-number-group-addon .ant-select-focused .ant-select-selector { - color: #1890ff; -} -.ant-input-number-group-addon .ant-cascader-picker { - margin: -9px -12px; - background-color: transparent; -} -.ant-input-number-group-addon .ant-cascader-picker .ant-cascader-input { - text-align: left; - border: 0; - box-shadow: none; -} -.ant-input-number-group > .ant-input-number:first-child, -.ant-input-number-group-addon:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group > .ant-input-number:first-child .ant-select .ant-select-selector, -.ant-input-number-group-addon:first-child .ant-select .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group > .ant-input-number-affix-wrapper:not(:first-child) .ant-input-number { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group > .ant-input-number-affix-wrapper:not(:last-child) .ant-input-number { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-group-addon:first-child { - border-right: 0; -} -.ant-input-number-group-addon:last-child { - border-left: 0; -} -.ant-input-number-group > .ant-input-number:last-child, -.ant-input-number-group-addon:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group > .ant-input-number:last-child .ant-select .ant-select-selector, -.ant-input-number-group-addon:last-child .ant-select .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group-lg .ant-input-number, -.ant-input-number-group-lg > .ant-input-number-group-addon { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-input-number-group-sm .ant-input-number, -.ant-input-number-group-sm > .ant-input-number-group-addon { - padding: 0px 7px; -} -.ant-input-number-group-lg .ant-select-single .ant-select-selector { - height: 40px; -} -.ant-input-number-group-sm .ant-select-single .ant-select-selector { - height: 24px; -} -.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child), -.ant-input-search .ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact { - display: block; -} -.ant-input-number-group.ant-input-number-group-compact::before { - display: table; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::before { - display: table; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact::after { - display: table; - clear: both; - content: ''; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child), -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child), -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child) { - border-right-width: 1px; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):hover, -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):hover { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact-addon:not(:first-child):not(:last-child):focus, -.ant-input-number-group.ant-input-number-group-compact-wrap:not(:first-child):not(:last-child):focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number:not(:first-child):not(:last-child):focus { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > * { - display: inline-block; - float: none; - vertical-align: top; - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-input-number-affix-wrapper { - display: inline-flex; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-picker-range { - display: inline-flex; -} -.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) { - margin-right: -1px; - border-right-width: 1px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-number { - float: none; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input { - border-right-width: 1px; - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:hover, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:hover { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-selector:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker .ant-input:focus, -.ant-input-number-group.ant-input-number-group-compact > .ant-input-group-wrapper .ant-input:focus { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select-focused { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select > .ant-select-arrow { - z-index: 1; -} -.ant-input-number-group.ant-input-number-group-compact > *:first-child, -.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input { - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.ant-input-number-group.ant-input-number-group-compact > *:last-child, -.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-right-width: 1px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete .ant-input { - vertical-align: top; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper { - margin-left: -1px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper { - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button { - border-radius: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group > .ant-input-number-rtl:first-child, -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group > .ant-input-number:last-child, -.ant-input-number-group-rtl.ant-input-number-group-addon:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:first-child) { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl.ant-input-number-group .ant-input-number-affix-wrapper:not(:last-child) { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:not(:last-child) { - margin-right: 0; - margin-left: -1px; - border-left-width: 1px; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:first-child, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:first-child > .ant-select-selector, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:first-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:first-child .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > *:last-child, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select:last-child > .ant-select-selector, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-select-auto-complete:last-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker:last-child .ant-input, -.ant-input-number-group-rtl.ant-input-number-group.ant-input-number-group-compact > .ant-cascader-picker-focused:last-child .ant-input { - border-left-width: 1px; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl { - margin-right: -1px; - margin-left: 0; -} -.ant-input-number-group.ant-input-number-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group > .ant-input-number-rtl:first-child { - border-radius: 0 2px 2px 0; -} -.ant-input-number-group > .ant-input-number-rtl:last-child { - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:first-child { - border-right: 1px solid #d9d9d9; - border-left: 0; - border-radius: 0 2px 2px 0; -} -.ant-input-number-group-rtl .ant-input-number-group-addon:last-child { - border-right: 0; - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-input-number-group-wrapper { - display: inline-block; - text-align: start; - vertical-align: top; -} -.ant-input-number-handler { - position: relative; - display: block; - width: 100%; - height: 50%; - overflow: hidden; - color: rgba(0, 0, 0, 0.45); - font-weight: bold; - line-height: 0; - text-align: center; - border-left: 1px solid #d9d9d9; - transition: all 0.1s linear; -} -.ant-input-number-handler:active { - background: #f4f4f4; -} -.ant-input-number-handler:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler:hover .ant-input-number-handler-down-inner { - color: #40a9ff; -} -.ant-input-number-handler-up-inner, -.ant-input-number-handler-down-inner { - display: inline-block; - color: inherit; - font-style: normal; - line-height: 0; - text-align: center; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - right: 4px; - width: 12px; - height: 12px; - color: rgba(0, 0, 0, 0.45); - line-height: 12px; - transition: all 0.1s linear; - user-select: none; -} -.ant-input-number-handler-up-inner > *, -.ant-input-number-handler-down-inner > * { - line-height: 1; -} -.ant-input-number-handler-up-inner svg, -.ant-input-number-handler-down-inner svg { - display: inline-block; -} -.ant-input-number-handler-up-inner::before, -.ant-input-number-handler-down-inner::before { - display: none; -} -.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon, -.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon, -.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon, -.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon { - display: block; -} -.ant-input-number:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-number:hover + .ant-form-item-children-icon { - opacity: 0; - transition: opacity 0.24s linear 0.24s; -} -.ant-input-number-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-input-number-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-input-number-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-input-number-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-input-number-disabled .ant-input-number-input { - cursor: not-allowed; -} -.ant-input-number-disabled .ant-input-number-handler-wrap { - display: none; -} -.ant-input-number-readonly .ant-input-number-handler-wrap { - display: none; -} -.ant-input-number-input { - width: 100%; - height: 30px; - padding: 0 11px; - text-align: left; - background-color: transparent; - border: 0; - border-radius: 2px; - outline: 0; - transition: all 0.3s linear; - appearance: textfield !important; -} -.ant-input-number-input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-input-number-input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-input-number-input[type='number']::-webkit-inner-spin-button, -.ant-input-number-input[type='number']::-webkit-outer-spin-button { - margin: 0; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -webkit-appearance: none; - appearance: none; -} -.ant-input-number-lg { - padding: 0; - font-size: 16px; -} -.ant-input-number-lg input { - height: 38px; -} -.ant-input-number-sm { - padding: 0; -} -.ant-input-number-sm input { - height: 22px; - padding: 0 7px; -} -.ant-input-number-handler-wrap { - position: absolute; - top: 0; - right: 0; - width: 22px; - height: 100%; - background: #fff; - border-radius: 0 2px 2px 0; - opacity: 0; - transition: opacity 0.24s linear 0.1s; -} -.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner, -.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner { - display: flex; - align-items: center; - justify-content: center; - min-width: auto; - margin-right: 0; - font-size: 7px; -} -.ant-input-number-borderless .ant-input-number-handler-wrap { - border-left-width: 0; -} -.ant-input-number-handler-wrap:hover .ant-input-number-handler { - height: 40%; -} -.ant-input-number:hover .ant-input-number-handler-wrap, -.ant-input-number-focused .ant-input-number-handler-wrap { - opacity: 1; -} -.ant-input-number-handler-up { - border-top-right-radius: 2px; - cursor: pointer; -} -.ant-input-number-handler-up-inner { - top: 50%; - margin-top: -5px; - text-align: center; -} -.ant-input-number-handler-up:hover { - height: 60% !important; -} -.ant-input-number-handler-down { - top: 0; - border-top: 1px solid #d9d9d9; - border-bottom-right-radius: 2px; - cursor: pointer; -} -.ant-input-number-handler-down-inner { - top: 50%; - text-align: center; - transform: translateY(-50%); -} -.ant-input-number-handler-down:hover { - height: 60% !important; -} -.ant-input-number-borderless .ant-input-number-handler-down { - border-top-width: 0; -} -.ant-input-number:hover:not(.ant-input-number-borderless) .ant-input-number-handler-down, -.ant-input-number-focused:not(.ant-input-number-borderless) .ant-input-number-handler-down { - border-top: 1px solid #d9d9d9; -} -.ant-input-number-handler-up-disabled, -.ant-input-number-handler-down-disabled { - cursor: not-allowed; -} -.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, -.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { - color: rgba(0, 0, 0, 0.25); -} -.ant-input-number-borderless { - box-shadow: none; -} -.ant-input-number-out-of-range input { - color: #ff4d4f; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-last-item):not(.ant-input-number-compact-item-rtl) { - margin-right: -1px; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-last-item).ant-input-number-compact-item-rtl { - margin-left: -1px; -} -.ant-input-number-compact-item:hover, -.ant-input-number-compact-item:focus, -.ant-input-number-compact-item:active { - z-index: 2; -} -.ant-input-number-compact-item.ant-input-number-focused { - z-index: 2; -} -.ant-input-number-compact-item[disabled] { - z-index: 0; -} -.ant-input-number-compact-item:not(.ant-input-number-compact-first-item):not(.ant-input-number-compact-last-item).ant-input-number { - border-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-first-item:not(.ant-input-number-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-last-item:not(.ant-input-number-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-input-number-compact-item.ant-input-number.ant-input-number-compact-item-rtl.ant-input-number-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-input-number-rtl { - direction: rtl; -} -.ant-input-number-rtl .ant-input-number-handler { - border-right: 1px solid #d9d9d9; - border-left: 0; -} -.ant-input-number-rtl .ant-input-number-handler-wrap { - right: auto; - left: 0; -} -.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap { - border-right-width: 0; -} -.ant-input-number-rtl .ant-input-number-handler-up { - border-top-right-radius: 0; -} -.ant-input-number-rtl .ant-input-number-handler-down { - border-bottom-right-radius: 0; -} -.ant-input-number-rtl .ant-input-number-input { - direction: ltr; - text-align: right; -} -.ant-layout { - display: flex; - flex: auto; - flex-direction: column; - /* fix firefox can't set height smaller than content on flex item */ - min-height: 0; - background: #f0f2f5; -} -.ant-layout, -.ant-layout * { - box-sizing: border-box; -} -.ant-layout.ant-layout-has-sider { - flex-direction: row; -} -.ant-layout.ant-layout-has-sider > .ant-layout, -.ant-layout.ant-layout-has-sider > .ant-layout-content { - width: 0; -} -.ant-layout-header, -.ant-layout-footer { - flex: 0 0 auto; -} -.ant-layout-header { - height: 64px; - padding: 0 50px; - color: rgba(0, 0, 0, 0.85); - line-height: 64px; - background: #001529; -} -.ant-layout-footer { - padding: 24px 50px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - background: #f0f2f5; -} -.ant-layout-content { - flex: auto; - /* fix firefox can't set height smaller than content on flex item */ - min-height: 0; -} -.ant-layout-sider { - position: relative; - /* fix firefox can't set width smaller than content on flex item */ - min-width: 0; - background: #001529; - transition: all 0.2s; -} -.ant-layout-sider-children { - height: 100%; - margin-top: -0.1px; - padding-top: 0.1px; -} -.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed { - width: auto; -} -.ant-layout-sider-has-trigger { - padding-bottom: 48px; -} -.ant-layout-sider-right { - order: 1; -} -.ant-layout-sider-trigger { - position: fixed; - bottom: 0; - z-index: 1; - height: 48px; - color: #fff; - line-height: 48px; - text-align: center; - background: #002140; - cursor: pointer; - transition: all 0.2s; -} -.ant-layout-sider-zero-width > * { - overflow: hidden; -} -.ant-layout-sider-zero-width-trigger { - position: absolute; - top: 64px; - right: -36px; - z-index: 1; - width: 36px; - height: 42px; - color: #fff; - font-size: 18px; - line-height: 42px; - text-align: center; - background: #001529; - border-radius: 0 2px 2px 0; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-layout-sider-zero-width-trigger::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: transparent; - transition: all 0.3s; - content: ''; -} -.ant-layout-sider-zero-width-trigger:hover::after { - background: rgba(255, 255, 255, 0.1); -} -.ant-layout-sider-zero-width-trigger-right { - left: -36px; - border-radius: 2px 0 0 2px; -} -.ant-layout-sider-light { - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-trigger { - color: rgba(0, 0, 0, 0.85); - background: #fff; -} -.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { - color: rgba(0, 0, 0, 0.85); - background: #fff; -} -.ant-layout-rtl { - direction: rtl; -} -.ant-form-item .ant-input-number + .ant-form-text { - margin-left: 8px; -} -.ant-form-inline { - display: flex; - flex-wrap: wrap; -} -.ant-form-inline .ant-form-item { - flex: none; - flex-wrap: nowrap; - margin-right: 16px; - margin-bottom: 0; -} -.ant-form-inline .ant-form-item-with-help { - margin-bottom: 24px; -} -.ant-form-inline .ant-form-item > .ant-form-item-label, -.ant-form-inline .ant-form-item > .ant-form-item-control { - display: inline-block; - vertical-align: top; -} -.ant-form-inline .ant-form-item > .ant-form-item-label { - flex: none; -} -.ant-form-inline .ant-form-item .ant-form-text { - display: inline-block; -} -.ant-form-inline .ant-form-item .ant-form-item-has-feedback { - display: inline-block; -} -.ant-form-horizontal .ant-form-item-label { - flex-grow: 0; -} -.ant-form-horizontal .ant-form-item-control { - flex: 1 1 0; - min-width: 0; -} -.ant-form-horizontal .ant-form-item-label[class$='-24'] + .ant-form-item-control, -.ant-form-horizontal .ant-form-item-label[class*='-24 '] + .ant-form-item-control { - min-width: unset; -} -.ant-form-vertical .ant-form-item-row { - flex-direction: column; -} -.ant-form-vertical .ant-form-item-label > label { - height: auto; -} -.ant-form-vertical .ant-form-item .ant-form-item-control { - width: 100%; -} -.ant-form-vertical .ant-form-item-label, -.ant-col-24.ant-form-item-label, -.ant-col-xl-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; -} -.ant-form-vertical .ant-form-item-label > label, -.ant-col-24.ant-form-item-label > label, -.ant-col-xl-24.ant-form-item-label > label { - margin: 0; -} -.ant-form-vertical .ant-form-item-label > label::after, -.ant-col-24.ant-form-item-label > label::after, -.ant-col-xl-24.ant-form-item-label > label::after { - display: none; -} -.ant-form-rtl.ant-form-vertical .ant-form-item-label, -.ant-form-rtl.ant-col-24.ant-form-item-label, -.ant-form-rtl.ant-col-xl-24.ant-form-item-label { - text-align: right; -} -@media (max-width: 575px) { - .ant-form-item .ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-form-item .ant-form-item-label > label { - margin: 0; - } - .ant-form-item .ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-form-item .ant-form-item-label { - text-align: right; - } - .ant-form .ant-form-item { - flex-wrap: wrap; - } - .ant-form .ant-form-item .ant-form-item-label, - .ant-form .ant-form-item .ant-form-item-control { - flex: 0 0 100%; - max-width: 100%; - } - .ant-col-xs-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-xs-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-xs-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-xs-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 767px) { - .ant-col-sm-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-sm-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-sm-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-sm-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 991px) { - .ant-col-md-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-md-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-md-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-md-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 1199px) { - .ant-col-lg-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-lg-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-lg-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-lg-24.ant-form-item-label { - text-align: right; - } -} -@media (max-width: 1599px) { - .ant-col-xl-24.ant-form-item-label { - padding: 0 0 8px; - line-height: 1.5715; - white-space: initial; - text-align: left; - } - .ant-col-xl-24.ant-form-item-label > label { - margin: 0; - } - .ant-col-xl-24.ant-form-item-label > label::after { - display: none; - } - .ant-form-rtl.ant-col-xl-24.ant-form-item-label { - text-align: right; - } -} -.ant-form-item { - /* Some non-status related component style is in `components.less` */ - /* To support leave along ErrorList. We add additional className to handle explain style */ -} -.ant-form-item-explain-error { - color: #ff4d4f; -} -.ant-form-item-explain-warning { - color: #faad14; -} -.ant-form-item-has-feedback .ant-switch { - margin: 2px 0 4px; -} -.ant-form-item-has-warning .ant-form-item-split { - color: #faad14; -} -.ant-form-item-has-error .ant-form-item-split { - color: #ff4d4f; -} -.ant-form { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-form legend { - display: block; - width: 100%; - margin-bottom: 20px; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-size: 16px; - line-height: inherit; - border: 0; - border-bottom: 1px solid #d9d9d9; -} -.ant-form label { - font-size: 14px; -} -.ant-form input[type='search'] { - box-sizing: border-box; -} -.ant-form input[type='radio'], -.ant-form input[type='checkbox'] { - line-height: normal; -} -.ant-form input[type='file'] { - display: block; -} -.ant-form input[type='range'] { - display: block; - width: 100%; -} -.ant-form select[multiple], -.ant-form select[size] { - height: auto; -} -.ant-form input[type='file']:focus, -.ant-form input[type='radio']:focus, -.ant-form input[type='checkbox']:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.ant-form output { - display: block; - padding-top: 15px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; -} -.ant-form .ant-form-text { - display: inline-block; - padding-right: 8px; -} -.ant-form-small .ant-form-item-label > label { - height: 24px; -} -.ant-form-small .ant-form-item-control-input { - min-height: 24px; -} -.ant-form-large .ant-form-item-label > label { - height: 40px; -} -.ant-form-large .ant-form-item-control-input { - min-height: 40px; -} -.ant-form-item { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - margin-bottom: 24px; - vertical-align: top; -} -.ant-form-item-with-help { - transition: none; -} -.ant-form-item-hidden, -.ant-form-item-hidden.ant-row { - display: none; -} -.ant-form-item-label { - display: inline-block; - flex-grow: 0; - overflow: hidden; - white-space: nowrap; - text-align: right; - vertical-align: middle; -} -.ant-form-item-label-left { - text-align: left; -} -.ant-form-item-label-wrap { - overflow: unset; - line-height: 1.3215em; - white-space: unset; -} -.ant-form-item-label > label { - position: relative; - display: inline-flex; - align-items: center; - max-width: 100%; - height: 32px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-form-item-label > label > .anticon { - font-size: 14px; - vertical-align: top; -} -.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before { - display: inline-block; - margin-right: 4px; - color: #ff4d4f; - font-size: 14px; - font-family: SimSun, sans-serif; - line-height: 1; - content: '*'; -} -.ant-form-hide-required-mark .ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before { - display: none; -} -.ant-form-item-label > label .ant-form-item-optional { - display: inline-block; - margin-left: 4px; - color: rgba(0, 0, 0, 0.45); -} -.ant-form-hide-required-mark .ant-form-item-label > label .ant-form-item-optional { - display: none; -} -.ant-form-item-label > label .ant-form-item-tooltip { - color: rgba(0, 0, 0, 0.45); - cursor: help; - writing-mode: horizontal-tb; - margin-inline-start: 4px; -} -.ant-form-item-label > label::after { - content: ':'; - position: relative; - top: -0.5px; - margin: 0 8px 0 2px; -} -.ant-form-item-label > label.ant-form-item-no-colon::after { - content: ' '; -} -.ant-form-item-control { - display: flex; - flex-direction: column; - flex-grow: 1; -} -.ant-form-item-control:first-child:not([class^='ant-col-']):not([class*=' ant-col-']) { - width: 100%; -} -.ant-form-item-control-input { - position: relative; - display: flex; - align-items: center; - min-height: 32px; -} -.ant-form-item-control-input-content { - flex: auto; - max-width: 100%; -} -.ant-form-item-explain, -.ant-form-item-extra { - clear: both; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); -} -.ant-form-item-explain-connected { - width: 100%; -} -.ant-form-item-extra { - min-height: 24px; -} -.ant-form-item-with-help .ant-form-item-explain { - height: auto; - opacity: 1; -} -.ant-form-item-feedback-icon { - font-size: 14px; - text-align: center; - visibility: visible; - animation: zoomIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46); - pointer-events: none; -} -.ant-form-item-feedback-icon-success { - color: #52c41a; -} -.ant-form-item-feedback-icon-error { - color: #ff4d4f; -} -.ant-form-item-feedback-icon-warning { - color: #faad14; -} -.ant-form-item-feedback-icon-validating { - color: #1890ff; -} -.ant-show-help { - transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-show-help-appear, -.ant-show-help-enter { - opacity: 0; -} -.ant-show-help-appear-active, -.ant-show-help-enter-active { - opacity: 1; -} -.ant-show-help-leave { - opacity: 1; -} -.ant-show-help-leave-active { - opacity: 0; -} -.ant-show-help-item { - overflow: hidden; - transition: height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-show-help-item-appear, -.ant-show-help-item-enter { - transform: translateY(-5px); - opacity: 0; -} -.ant-show-help-item-appear-active, -.ant-show-help-item-enter-active { - transform: translateY(0); - opacity: 1; -} -.ant-show-help-item-leave { - transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; -} -.ant-show-help-item-leave-active { - transform: translateY(-5px); -} -@keyframes diffZoomIn1 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes diffZoomIn2 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -@keyframes diffZoomIn3 { - 0% { - transform: scale(0); - opacity: 0; - } - 100% { - transform: scale(1); - opacity: 1; - } -} -.ant-form-rtl { - direction: rtl; -} -.ant-form-rtl .ant-form-item-label { - text-align: left; -} -.ant-form-rtl .ant-form-item-label > label.ant-form-item-required::before { - margin-right: 0; - margin-left: 4px; -} -.ant-form-rtl .ant-form-item-label > label::after { - margin: 0 2px 0 8px; -} -.ant-form-rtl .ant-form-item-label > label .ant-form-item-optional { - margin-right: 4px; - margin-left: 0; -} -.ant-col-rtl .ant-form-item-control:first-child { - width: 100%; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input { - padding-right: 11px; - padding-left: 24px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix { - padding-right: 11px; - padding-left: 18px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input { - padding: 0; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-number-affix-wrapper .ant-input-number { - padding: 0; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix { - right: auto; - left: 28px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-input-number { - padding-left: 18px; -} -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-clear, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-clear, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-arrow, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-clear { - right: auto; - left: 32px; -} -.ant-form-rtl .ant-form-item-has-feedback > .ant-select .ant-select-selection-selected-value, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon) > .ant-select .ant-select-selection-selected-value, -.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-number-group-addon) > .ant-select .ant-select-selection-selected-value { - padding-right: 0; - padding-left: 42px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow { - margin-right: 0; - margin-left: 19px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear { - right: auto; - left: 32px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker { - padding-right: 11px; - padding-left: 29.2px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large { - padding-right: 11px; - padding-left: 29.2px; -} -.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small { - padding-right: 7px; - padding-left: 25.2px; -} -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon, -.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon { - right: auto; - left: 0; -} -.ant-form-rtl.ant-form-inline .ant-form-item { - margin-right: 0; - margin-left: 16px; -} -.ant-list { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; -} -.ant-list * { - outline: none; -} -.ant-list-pagination { - margin-top: 24px; - text-align: right; -} -.ant-list-pagination .ant-pagination-options { - text-align: left; -} -.ant-list-more { - margin-top: 12px; - text-align: center; -} -.ant-list-more button { - padding-right: 32px; - padding-left: 32px; -} -.ant-list-spin { - min-height: 40px; - text-align: center; -} -.ant-list-empty-text { - padding: 16px; - color: rgba(0, 0, 0, 0.25); - font-size: 14px; - text-align: center; -} -.ant-list-items { - margin: 0; - padding: 0; - list-style: none; -} -.ant-list-item { - display: flex; - align-items: center; - justify-content: space-between; - padding: 12px 0; - color: rgba(0, 0, 0, 0.85); -} -.ant-list-item-meta { - display: flex; - flex: 1; - align-items: flex-start; - max-width: 100%; -} -.ant-list-item-meta-avatar { - margin-right: 16px; -} -.ant-list-item-meta-content { - flex: 1 0; - width: 0; - color: rgba(0, 0, 0, 0.85); -} -.ant-list-item-meta-title { - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; -} -.ant-list-item-meta-title > a { - color: rgba(0, 0, 0, 0.85); - transition: all 0.3s; -} -.ant-list-item-meta-title > a:hover { - color: #1890ff; -} -.ant-list-item-meta-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; -} -.ant-list-item-action { - flex: 0 0 auto; - margin-left: 48px; - padding: 0; - font-size: 0; - list-style: none; -} -.ant-list-item-action > li { - position: relative; - display: inline-block; - padding: 0 8px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - text-align: center; -} -.ant-list-item-action > li:first-child { - padding-left: 0; -} -.ant-list-item-action-split { - position: absolute; - top: 50%; - right: 0; - width: 1px; - height: 14px; - margin-top: -7px; - background-color: #f0f0f0; -} -.ant-list-header { - background: transparent; -} -.ant-list-footer { - background: transparent; -} -.ant-list-header, -.ant-list-footer { - padding-top: 12px; - padding-bottom: 12px; -} -.ant-list-empty { - padding: 16px 0; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - text-align: center; -} -.ant-list-split .ant-list-item { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-split .ant-list-item:last-child { - border-bottom: none; -} -.ant-list-split .ant-list-header { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-split.ant-list-empty .ant-list-footer { - border-top: 1px solid #f0f0f0; -} -.ant-list-loading .ant-list-spin-nested-loading { - min-height: 32px; -} -.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child { - border-bottom: 1px solid #f0f0f0; -} -.ant-list-lg .ant-list-item { - padding: 16px 24px; -} -.ant-list-sm .ant-list-item { - padding: 8px 16px; -} -.ant-list-vertical .ant-list-item { - align-items: initial; -} -.ant-list-vertical .ant-list-item-main { - display: block; - flex: 1; -} -.ant-list-vertical .ant-list-item-extra { - margin-left: 40px; -} -.ant-list-vertical .ant-list-item-meta { - margin-bottom: 16px; -} -.ant-list-vertical .ant-list-item-meta-title { - margin-bottom: 12px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 24px; -} -.ant-list-vertical .ant-list-item-action { - margin-top: 16px; - margin-left: auto; -} -.ant-list-vertical .ant-list-item-action > li { - padding: 0 16px; -} -.ant-list-vertical .ant-list-item-action > li:first-child { - padding-left: 0; -} -.ant-list-grid .ant-col > .ant-list-item { - display: block; - max-width: 100%; - margin-bottom: 16px; - padding-top: 0; - padding-bottom: 0; - border-bottom: none; -} -.ant-list-item-no-flex { - display: block; -} -.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action { - float: right; -} -.ant-list-bordered { - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-list-bordered .ant-list-header { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-footer { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-item { - padding-right: 24px; - padding-left: 24px; -} -.ant-list-bordered .ant-list-pagination { - margin: 16px 24px; -} -.ant-list-bordered.ant-list-sm .ant-list-item { - padding: 8px 16px; -} -.ant-list-bordered.ant-list-sm .ant-list-header, -.ant-list-bordered.ant-list-sm .ant-list-footer { - padding: 8px 16px; -} -.ant-list-bordered.ant-list-lg .ant-list-item { - padding: 16px 24px; -} -.ant-list-bordered.ant-list-lg .ant-list-header, -.ant-list-bordered.ant-list-lg .ant-list-footer { - padding: 16px 24px; -} -@media screen and (max-width: 768px) { - .ant-list-item-action { - margin-left: 24px; - } - .ant-list-vertical .ant-list-item-extra { - margin-left: 24px; - } -} -@media screen and (max-width: 576px) { - .ant-list-item { - flex-wrap: wrap; - } - .ant-list-item-action { - margin-left: 12px; - } - .ant-list-vertical .ant-list-item { - flex-wrap: wrap-reverse; - } - .ant-list-vertical .ant-list-item-main { - min-width: 220px; - } - .ant-list-vertical .ant-list-item-extra { - margin: auto auto 16px; - } -} -.ant-list-rtl { - direction: rtl; - text-align: right; -} -.ant-list-rtl .ReactVirtualized__List .ant-list-item { - direction: rtl; -} -.ant-list-rtl .ant-list-pagination { - text-align: left; -} -.ant-list-rtl .ant-list-item-meta-avatar { - margin-right: 0; - margin-left: 16px; -} -.ant-list-rtl .ant-list-item-action { - margin-right: 48px; - margin-left: 0; -} -.ant-list.ant-list-rtl .ant-list-item-action > li:first-child { - padding-right: 0; - padding-left: 16px; -} -.ant-list-rtl .ant-list-item-action-split { - right: auto; - left: 0; -} -.ant-list-rtl.ant-list-vertical .ant-list-item-extra { - margin-right: 40px; - margin-left: 0; -} -.ant-list-rtl.ant-list-vertical .ant-list-item-action { - margin-right: auto; -} -.ant-list-rtl .ant-list-vertical .ant-list-item-action > li:first-child { - padding-right: 0; - padding-left: 16px; -} -.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action { - float: left; -} -@media screen and (max-width: 768px) { - .ant-list-rtl .ant-list-item-action { - margin-right: 24px; - margin-left: 0; - } - .ant-list-rtl .ant-list-vertical .ant-list-item-extra { - margin-right: 24px; - margin-left: 0; - } -} -@media screen and (max-width: 576px) { - .ant-list-rtl .ant-list-item-action { - margin-right: 22px; - margin-left: 0; - } - .ant-list-rtl.ant-list-vertical .ant-list-item-extra { - margin: auto auto 16px; - } -} -.ant-menu-item-danger.ant-menu-item { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item:hover, -.ant-menu-item-danger.ant-menu-item-active { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item:active { - background: #fff1f0; -} -.ant-menu-item-danger.ant-menu-item-selected { - color: #ff4d4f; -} -.ant-menu-item-danger.ant-menu-item-selected > a, -.ant-menu-item-danger.ant-menu-item-selected > a:hover { - color: #ff4d4f; -} -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected { - background-color: #fff1f0; -} -.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after { - border-right-color: #ff4d4f; -} -.ant-menu-dark .ant-menu-item-danger.ant-menu-item, -.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover, -.ant-menu-dark .ant-menu-item-danger.ant-menu-item > a { - color: #ff4d4f; -} -.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected { - color: #fff; - background-color: #ff4d4f; -} -.ant-menu { - box-sizing: border-box; - margin: 0; - padding: 0; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - margin-bottom: 0; - padding-left: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 0; - text-align: left; - list-style: none; - background: #fff; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - transition: background 0.3s, width 0.3s cubic-bezier(0.2, 0, 0, 1) 0s; -} -.ant-menu::before { - display: table; - content: ''; -} -.ant-menu::after { - display: table; - clear: both; - content: ''; -} -.ant-menu::before { - display: table; - content: ''; -} -.ant-menu::after { - display: table; - clear: both; - content: ''; -} -.ant-menu.ant-menu-root:focus-visible { - box-shadow: 0 0 0 2px #bae7ff; -} -.ant-menu ul, -.ant-menu ol { - margin: 0; - padding: 0; - list-style: none; -} -.ant-menu-overflow { - display: flex; -} -.ant-menu-overflow-item { - flex: none; -} -.ant-menu-hidden, -.ant-menu-submenu-hidden { - display: none; -} -.ant-menu-item-group-title { - height: 1.5715; - padding: 8px 16px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - transition: all 0.3s; -} -.ant-menu-horizontal .ant-menu-submenu { - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu, -.ant-menu-submenu-inline { - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-item:active, -.ant-menu-submenu-title:active { - background: #e6f7ff; -} -.ant-menu-submenu .ant-menu-sub { - cursor: initial; - transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-title-content { - transition: color 0.3s; -} -.ant-menu-item a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-item a:hover { - color: #1890ff; -} -.ant-menu-item a::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: transparent; - content: ''; -} -.ant-menu-item > .ant-badge a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-item > .ant-badge a:hover { - color: #1890ff; -} -.ant-menu-item-divider { - overflow: hidden; - line-height: 0; - border-color: #f0f0f0; - border-style: solid; - border-width: 1px 0 0; -} -.ant-menu-item-divider-dashed { - border-style: dashed; -} -.ant-menu-horizontal .ant-menu-item, -.ant-menu-horizontal .ant-menu-submenu { - margin-top: -1px; -} -.ant-menu-horizontal > .ant-menu-item:hover, -.ant-menu-horizontal > .ant-menu-item-active, -.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { - background-color: transparent; -} -.ant-menu-item-selected { - color: #1890ff; -} -.ant-menu-item-selected a, -.ant-menu-item-selected a:hover { - color: #1890ff; -} -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: #e6f7ff; -} -.ant-menu-inline, -.ant-menu-vertical, -.ant-menu-vertical-left { - border-right: 1px solid #f0f0f0; -} -.ant-menu-vertical-right { - border-left: 1px solid #f0f0f0; -} -.ant-menu-vertical.ant-menu-sub, -.ant-menu-vertical-left.ant-menu-sub, -.ant-menu-vertical-right.ant-menu-sub { - min-width: 160px; - max-height: calc(100vh - 100px); - padding: 0; - overflow: hidden; - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub:not([class*='-active']), -.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']), -.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']) { - overflow-x: hidden; - overflow-y: auto; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { - left: 0; - margin-left: 0; - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub .ant-menu-item::after, -.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after, -.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after { - border-right: 0; -} -.ant-menu-vertical.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item, -.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu, -.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu, -.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu { - transform-origin: 0 0; -} -.ant-menu-horizontal.ant-menu-sub { - min-width: 114px; -} -.ant-menu-horizontal .ant-menu-item, -.ant-menu-horizontal .ant-menu-submenu-title { - transition: border-color 0.3s, background 0.3s; -} -.ant-menu-item, -.ant-menu-submenu-title { - position: relative; - display: block; - margin: 0; - padding: 0 20px; - white-space: nowrap; - cursor: pointer; - transition: border-color 0.3s, background 0.3s, padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-item .ant-menu-item-icon, -.ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu-item .anticon, -.ant-menu-submenu-title .anticon { - min-width: 14px; - font-size: 14px; - transition: font-size 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s; -} -.ant-menu-item .ant-menu-item-icon + span, -.ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu-item .anticon + span, -.ant-menu-submenu-title .anticon + span { - margin-left: 10px; - opacity: 1; - transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), margin 0.3s, color 0.3s; -} -.ant-menu-item .ant-menu-item-icon.svg, -.ant-menu-submenu-title .ant-menu-item-icon.svg { - vertical-align: -0.125em; -} -.ant-menu-item.ant-menu-item-only-child > .anticon, -.ant-menu-submenu-title.ant-menu-item-only-child > .anticon, -.ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon { - margin-right: 0; -} -.ant-menu-item:not(.ant-menu-item-disabled):focus-visible, -.ant-menu-submenu-title:not(.ant-menu-item-disabled):focus-visible { - box-shadow: 0 0 0 2px #bae7ff; -} -.ant-menu > .ant-menu-item-divider { - margin: 1px 0; - padding: 0; -} -.ant-menu-submenu-popup { - position: absolute; - z-index: 1050; - background: transparent; - border-radius: 2px; - box-shadow: none; - transform-origin: 0 0; -} -.ant-menu-submenu-popup::before { - position: absolute; - top: -7px; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - width: 100%; - height: 100%; - opacity: 0.0001; - content: ' '; -} -.ant-menu-submenu-placement-rightTop::before { - top: 0; - left: -7px; -} -.ant-menu-submenu > .ant-menu { - background-color: #fff; - border-radius: 2px; -} -.ant-menu-submenu > .ant-menu-submenu-title::after { - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-popup > .ant-menu { - background-color: #fff; -} -.ant-menu-submenu-expand-icon, -.ant-menu-submenu-arrow { - position: absolute; - top: 50%; - right: 16px; - width: 10px; - color: rgba(0, 0, 0, 0.85); - transform: translateY(-50%); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-submenu-arrow::before, -.ant-menu-submenu-arrow::after { - position: absolute; - width: 6px; - height: 1.5px; - background-color: currentcolor; - border-radius: 2px; - transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - content: ''; -} -.ant-menu-submenu-arrow::before { - transform: rotate(45deg) translateY(-2.5px); -} -.ant-menu-submenu-arrow::after { - transform: rotate(-45deg) translateY(2.5px); -} -.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon, -.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - color: #1890ff; -} -.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before, -.ant-menu-submenu-inline .ant-menu-submenu-arrow::before { - transform: rotate(-45deg) translateX(2.5px); -} -.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after, -.ant-menu-submenu-inline .ant-menu-submenu-arrow::after { - transform: rotate(45deg) translateX(-2.5px); -} -.ant-menu-submenu-horizontal .ant-menu-submenu-arrow { - display: none; -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - transform: translateY(-2px); -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - transform: rotate(-45deg) translateX(-2.5px); -} -.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before { - transform: rotate(45deg) translateX(2.5px); -} -.ant-menu-vertical .ant-menu-submenu-selected, -.ant-menu-vertical-left .ant-menu-submenu-selected, -.ant-menu-vertical-right .ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-horizontal { - line-height: 46px; - border: 0; - border-bottom: 1px solid #f0f0f0; - box-shadow: none; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu { - margin-top: -1px; - margin-bottom: 0; - padding: 0 20px; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected { - color: #1890ff; -} -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected::after, -.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected::after { - border-bottom: 2px solid #1890ff; -} -.ant-menu-horizontal > .ant-menu-item, -.ant-menu-horizontal > .ant-menu-submenu { - position: relative; - top: 1px; - display: inline-block; - vertical-align: bottom; -} -.ant-menu-horizontal > .ant-menu-item::after, -.ant-menu-horizontal > .ant-menu-submenu::after { - position: absolute; - right: 20px; - bottom: 0; - left: 20px; - border-bottom: 2px solid transparent; - transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - content: ''; -} -.ant-menu-horizontal > .ant-menu-submenu > .ant-menu-submenu-title { - padding: 0; -} -.ant-menu-horizontal > .ant-menu-item a { - color: rgba(0, 0, 0, 0.85); -} -.ant-menu-horizontal > .ant-menu-item a:hover { - color: #1890ff; -} -.ant-menu-horizontal > .ant-menu-item a::before { - bottom: -2px; -} -.ant-menu-horizontal > .ant-menu-item-selected a { - color: #1890ff; -} -.ant-menu-horizontal::after { - display: block; - clear: both; - height: 0; - content: '\20'; -} -.ant-menu-vertical .ant-menu-item, -.ant-menu-vertical-left .ant-menu-item, -.ant-menu-vertical-right .ant-menu-item, -.ant-menu-inline .ant-menu-item { - position: relative; -} -.ant-menu-vertical .ant-menu-item::after, -.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-vertical-right .ant-menu-item::after, -.ant-menu-inline .ant-menu-item::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - border-right: 3px solid #1890ff; - transform: scaleY(0.0001); - opacity: 0; - transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); - content: ''; -} -.ant-menu-vertical .ant-menu-item, -.ant-menu-vertical-left .ant-menu-item, -.ant-menu-vertical-right .ant-menu-item, -.ant-menu-inline .ant-menu-item, -.ant-menu-vertical .ant-menu-submenu-title, -.ant-menu-vertical-left .ant-menu-submenu-title, -.ant-menu-vertical-right .ant-menu-submenu-title, -.ant-menu-inline .ant-menu-submenu-title { - height: 40px; - margin-top: 4px; - margin-bottom: 4px; - padding: 0 16px; - overflow: hidden; - line-height: 40px; - text-overflow: ellipsis; -} -.ant-menu-vertical .ant-menu-submenu, -.ant-menu-vertical-left .ant-menu-submenu, -.ant-menu-vertical-right .ant-menu-submenu, -.ant-menu-inline .ant-menu-submenu { - padding-bottom: 0.02px; -} -.ant-menu-vertical .ant-menu-item:not(:last-child), -.ant-menu-vertical-left .ant-menu-item:not(:last-child), -.ant-menu-vertical-right .ant-menu-item:not(:last-child), -.ant-menu-inline .ant-menu-item:not(:last-child) { - margin-bottom: 8px; -} -.ant-menu-vertical > .ant-menu-item, -.ant-menu-vertical-left > .ant-menu-item, -.ant-menu-vertical-right > .ant-menu-item, -.ant-menu-inline > .ant-menu-item, -.ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-vertical-left > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-vertical-right > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title { - height: 40px; - line-height: 40px; -} -.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title, -.ant-menu-vertical .ant-menu-submenu-title { - padding-right: 34px; -} -.ant-menu-inline { - width: 100%; -} -.ant-menu-inline .ant-menu-selected::after, -.ant-menu-inline .ant-menu-item-selected::after { - transform: scaleY(1); - opacity: 1; - transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-menu-inline .ant-menu-item, -.ant-menu-inline .ant-menu-submenu-title { - width: calc(100% + 1px); -} -.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title, -.ant-menu-inline .ant-menu-submenu-title { - padding-right: 34px; -} -.ant-menu-inline.ant-menu-root .ant-menu-item, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title { - display: flex; - align-items: center; - transition: border-color 0.3s, background 0.3s, padding 0.1s cubic-bezier(0.215, 0.61, 0.355, 1); -} -.ant-menu-inline.ant-menu-root .ant-menu-item > .ant-menu-title-content, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > .ant-menu-title-content { - flex: auto; - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; -} -.ant-menu-inline.ant-menu-root .ant-menu-item > *, -.ant-menu-inline.ant-menu-root .ant-menu-submenu-title > * { - flex: none; -} -.ant-menu.ant-menu-inline-collapsed { - width: 80px; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title { - left: 0; - padding: 0 calc(50% - 16px / 2); - text-overflow: clip; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow { - opacity: 0; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon { - margin: 0; - font-size: 16px; - line-height: 40px; -} -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-item-icon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span, -.ant-menu.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span { - display: inline-block; - opacity: 0; -} -.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed .anticon { - display: inline-block; -} -.ant-menu.ant-menu-inline-collapsed-tooltip { - pointer-events: none; -} -.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon, -.ant-menu.ant-menu-inline-collapsed-tooltip .anticon { - display: none; -} -.ant-menu.ant-menu-inline-collapsed-tooltip a { - color: rgba(255, 255, 255, 0.85); -} -.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title { - padding-right: 4px; - padding-left: 4px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-menu-item-group-list { - margin: 0; - padding: 0; -} -.ant-menu-item-group-list .ant-menu-item, -.ant-menu-item-group-list .ant-menu-submenu-title { - padding: 0 16px 0 28px; -} -.ant-menu-root.ant-menu-vertical, -.ant-menu-root.ant-menu-vertical-left, -.ant-menu-root.ant-menu-vertical-right, -.ant-menu-root.ant-menu-inline { - box-shadow: none; -} -.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item > .ant-menu-inline-collapsed-noicon, -.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title > .ant-menu-inline-collapsed-noicon { - font-size: 16px; - text-align: center; -} -.ant-menu-sub.ant-menu-inline { - padding: 0; - background: #fafafa; - border: 0; - border-radius: 0; - box-shadow: none; -} -.ant-menu-sub.ant-menu-inline > .ant-menu-item, -.ant-menu-sub.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title { - height: 40px; - line-height: 40px; - list-style-position: inside; - list-style-type: disc; -} -.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title { - padding-left: 32px; -} -.ant-menu-item-disabled, -.ant-menu-submenu-disabled { - color: rgba(0, 0, 0, 0.25) !important; - background: none; - cursor: not-allowed; -} -.ant-menu-item-disabled::after, -.ant-menu-submenu-disabled::after { - border-color: transparent !important; -} -.ant-menu-item-disabled a, -.ant-menu-submenu-disabled a { - color: rgba(0, 0, 0, 0.25) !important; -} -.ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(0, 0, 0, 0.25) !important; - cursor: not-allowed; -} -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - background: rgba(0, 0, 0, 0.25) !important; -} -.ant-layout-header .ant-menu { - line-height: inherit; -} -.ant-menu-inline-collapsed-tooltip a, -.ant-menu-inline-collapsed-tooltip a:hover { - color: #fff; -} -.ant-menu-light .ant-menu-item:hover, -.ant-menu-light .ant-menu-item-active, -.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, -.ant-menu-light .ant-menu-submenu-active, -.ant-menu-light .ant-menu-submenu-title:hover { - color: #1890ff; -} -.ant-menu.ant-menu-root:focus-visible { - box-shadow: 0 0 0 2px #096dd9; -} -.ant-menu-dark .ant-menu-item:focus-visible, -.ant-menu-dark .ant-menu-submenu-title:focus-visible { - box-shadow: 0 0 0 2px #096dd9; -} -.ant-menu.ant-menu-dark, -.ant-menu-dark .ant-menu-sub, -.ant-menu.ant-menu-dark .ant-menu-sub { - color: rgba(255, 255, 255, 0.65); - background: #001529; -} -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow { - opacity: 0.45; - transition: all 0.3s; -} -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before { - background: #fff; -} -.ant-menu-dark.ant-menu-submenu-popup { - background: transparent; -} -.ant-menu-dark .ant-menu-inline.ant-menu-sub { - background: #000c17; -} -.ant-menu-dark.ant-menu-horizontal { - border-bottom: 0; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, -.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { - top: 0; - margin-top: 0; - padding: 0 20px; - border-color: #001529; - border-bottom: 0; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover { - background-color: #1890ff; -} -.ant-menu-dark.ant-menu-horizontal > .ant-menu-item > a::before { - bottom: 0; -} -.ant-menu-dark .ant-menu-item, -.ant-menu-dark .ant-menu-item-group-title, -.ant-menu-dark .ant-menu-item > a, -.ant-menu-dark .ant-menu-item > span > a { - color: rgba(255, 255, 255, 0.65); -} -.ant-menu-dark.ant-menu-inline, -.ant-menu-dark.ant-menu-vertical, -.ant-menu-dark.ant-menu-vertical-left, -.ant-menu-dark.ant-menu-vertical-right { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item, -.ant-menu-dark.ant-menu-vertical .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { - left: 0; - margin-left: 0; - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after { - border-right: 0; -} -.ant-menu-dark.ant-menu-inline .ant-menu-item, -.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title { - width: 100%; -} -.ant-menu-dark .ant-menu-item:hover, -.ant-menu-dark .ant-menu-item-active, -.ant-menu-dark .ant-menu-submenu-active, -.ant-menu-dark .ant-menu-submenu-open, -.ant-menu-dark .ant-menu-submenu-selected, -.ant-menu-dark .ant-menu-submenu-title:hover { - color: #fff; - background-color: transparent; -} -.ant-menu-dark .ant-menu-item:hover > a, -.ant-menu-dark .ant-menu-item-active > a, -.ant-menu-dark .ant-menu-submenu-active > a, -.ant-menu-dark .ant-menu-submenu-open > a, -.ant-menu-dark .ant-menu-submenu-selected > a, -.ant-menu-dark .ant-menu-submenu-title:hover > a, -.ant-menu-dark .ant-menu-item:hover > span > a, -.ant-menu-dark .ant-menu-item-active > span > a, -.ant-menu-dark .ant-menu-submenu-active > span > a, -.ant-menu-dark .ant-menu-submenu-open > span > a, -.ant-menu-dark .ant-menu-submenu-selected > span > a, -.ant-menu-dark .ant-menu-submenu-title:hover > span > a { - color: #fff; -} -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow { - opacity: 1; -} -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before { - background: #fff; -} -.ant-menu-dark .ant-menu-item:hover { - background-color: transparent; -} -.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected { - background-color: #1890ff; -} -.ant-menu-dark .ant-menu-item-selected { - color: #fff; - border-right: 0; -} -.ant-menu-dark .ant-menu-item-selected::after { - border-right: 0; -} -.ant-menu-dark .ant-menu-item-selected > a, -.ant-menu-dark .ant-menu-item-selected > span > a, -.ant-menu-dark .ant-menu-item-selected > a:hover, -.ant-menu-dark .ant-menu-item-selected > span > a:hover { - color: #fff; -} -.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon, -.ant-menu-dark .ant-menu-item-selected .anticon { - color: #fff; -} -.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon + span, -.ant-menu-dark .ant-menu-item-selected .anticon + span { - color: #fff; -} -.ant-menu.ant-menu-dark .ant-menu-item-selected, -.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { - background-color: #1890ff; -} -.ant-menu-dark .ant-menu-item-disabled, -.ant-menu-dark .ant-menu-submenu-disabled, -.ant-menu-dark .ant-menu-item-disabled > a, -.ant-menu-dark .ant-menu-submenu-disabled > a, -.ant-menu-dark .ant-menu-item-disabled > span > a, -.ant-menu-dark .ant-menu-submenu-disabled > span > a { - color: rgba(255, 255, 255, 0.35) !important; - opacity: 0.8; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { - color: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, -.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, -.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { - background: rgba(255, 255, 255, 0.35) !important; -} -.ant-menu.ant-menu-rtl { - direction: rtl; - text-align: right; -} -.ant-menu-rtl .ant-menu-item-group-title { - text-align: right; -} -.ant-menu-rtl.ant-menu-inline, -.ant-menu-rtl.ant-menu-vertical { - border-right: none; - border-left: 1px solid #f0f0f0; -} -.ant-menu-rtl.ant-menu-dark.ant-menu-inline, -.ant-menu-rtl.ant-menu-dark.ant-menu-vertical { - border-left: none; -} -.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu, -.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu, -.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu { - transform-origin: top right; -} -.ant-menu-rtl .ant-menu-item .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-item .anticon, -.ant-menu-rtl .ant-menu-submenu-title .anticon { - margin-right: auto; - margin-left: 10px; -} -.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .ant-menu-item-icon, -.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child > .anticon, -.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child > .anticon { - margin-left: 0; -} -.ant-menu-submenu-rtl.ant-menu-submenu-popup { - transform-origin: 100% 0; -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow, -.ant-menu-rtl .ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow { - right: auto; - left: 16px; -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::before { - transform: rotate(-45deg) translateY(-2px); -} -.ant-menu-rtl .ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-rtl .ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, -.ant-menu-rtl .ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::after { - transform: rotate(45deg) translateY(2px); -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after, -.ant-menu-rtl.ant-menu-inline .ant-menu-item::after { - right: auto; - left: 0; -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item, -.ant-menu-rtl.ant-menu-inline .ant-menu-item, -.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title, -.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title { - text-align: right; -} -.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title { - padding-right: 0; - padding-left: 34px; -} -.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title { - padding-right: 16px; - padding-left: 34px; -} -.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title { - padding: 0 calc(50% - 16px / 2); -} -.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item, -.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title { - padding: 0 28px 0 16px; -} -.ant-menu-sub.ant-menu-inline { - border: 0; -} -.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title { - padding-right: 32px; - padding-left: 0; -} -.ant-menu-submenu.ant-menu-submenu-placement-bottom { - top: 6px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-right { - left: 4px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl { - left: auto; - right: 4px; -} -.ant-menu-submenu.ant-menu-submenu-placement-left { - right: 4px; - position: relative; -} -.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl { - right: auto; - left: 4px; -} -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions, -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover { - background: #fff; - border-color: #ff4d4f; -} -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus, -.ant-mentions-status-error:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-mentions-status-error .ant-input-prefix { - color: #ff4d4f; -} -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions, -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:hover { - background: #fff; - border-color: #faad14; -} -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions:focus, -.ant-mentions-status-warning:not(.ant-mentions-disabled):not(.ant-mentions-borderless).ant-mentions-focused { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-mentions-status-warning .ant-input-prefix { - color: #faad14; -} -.ant-mentions { - box-sizing: border-box; - margin: 0; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - position: relative; - display: inline-block; - height: auto; - padding: 0; - overflow: hidden; - line-height: 1.5715; - white-space: pre-wrap; - vertical-align: bottom; -} -.ant-mentions::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-mentions:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions:focus, -.ant-mentions-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions:focus, -.ant-input-rtl .ant-mentions-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions-borderless, -.ant-mentions-borderless:hover, -.ant-mentions-borderless:focus, -.ant-mentions-borderless-focused, -.ant-mentions-borderless-disabled, -.ant-mentions-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-mentions { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-mentions-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-mentions-sm { - padding: 0px 7px; -} -.ant-mentions-rtl { - direction: rtl; -} -.ant-mentions-disabled > textarea { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions-disabled > textarea:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions > textarea, -.ant-mentions-measure { - min-height: 30px; - margin: 0; - padding: 4px 11px; - overflow: inherit; - overflow-x: hidden; - overflow-y: auto; - /* stylelint-disable declaration-block-no-redundant-longhand-properties */ - font-weight: inherit; - font-size: inherit; - font-family: inherit; - font-style: inherit; - font-variant: inherit; - font-size-adjust: inherit; - font-stretch: inherit; - line-height: inherit; - /* stylelint-enable declaration-block-no-redundant-longhand-properties */ - direction: inherit; - letter-spacing: inherit; - white-space: inherit; - text-align: inherit; - vertical-align: top; - word-wrap: break-word; - word-break: inherit; - tab-size: inherit; -} -.ant-mentions > textarea { - width: 100%; - border: none; - outline: none; - resize: none; -} -.ant-mentions > textarea::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions > textarea:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions-measure { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: -1; - color: transparent; - pointer-events: none; -} -.ant-mentions-measure > span { - display: inline-block; - min-height: 1em; -} -.ant-mentions-dropdown { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - box-sizing: border-box; - font-size: 14px; - font-variant: initial; - background-color: #fff; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-mentions-dropdown-hidden { - display: none; -} -.ant-mentions-dropdown-menu { - max-height: 250px; - margin-bottom: 0; - padding-left: 0; - overflow: auto; - list-style: none; - outline: none; -} -.ant-mentions-dropdown-menu-item { - position: relative; - display: block; - min-width: 100px; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-mentions-dropdown-menu-item:hover { - background-color: #f5f5f5; -} -.ant-mentions-dropdown-menu-item:first-child { - border-radius: 2px 2px 0 0; -} -.ant-mentions-dropdown-menu-item:last-child { - border-radius: 0 0 2px 2px; -} -.ant-mentions-dropdown-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-mentions-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #fff; - cursor: not-allowed; -} -.ant-mentions-dropdown-menu-item-selected { - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - background-color: #fafafa; -} -.ant-mentions-dropdown-menu-item-active { - background-color: #f5f5f5; -} -.ant-mentions-suffix { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - z-index: 1; - display: inline-flex; - align-items: center; - margin: auto; -} -.ant-mentions-rtl { - direction: rtl; -} -.ant-mention-dropdown { - top: 100%; - left: 0; - position: relative; - width: 100%; - margin-top: 4px; - margin-bottom: 4px; -} -.ant-mentions { - border: none; -} -.ant-mentions .rc-textarea { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; -} -.ant-mentions .rc-textarea::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-mentions .rc-textarea:placeholder-shown { - text-overflow: ellipsis; -} -.ant-mentions .rc-textarea:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-mentions .rc-textarea:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions .rc-textarea:focus, -.ant-mentions .rc-textarea-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-mentions .rc-textarea:focus, -.ant-input-rtl .ant-mentions .rc-textarea-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-mentions .rc-textarea-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions .rc-textarea-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions .rc-textarea[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-mentions .rc-textarea[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-mentions .rc-textarea-borderless, -.ant-mentions .rc-textarea-borderless:hover, -.ant-mentions .rc-textarea-borderless:focus, -.ant-mentions .rc-textarea-borderless-focused, -.ant-mentions .rc-textarea-borderless-disabled, -.ant-mentions .rc-textarea-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-mentions .rc-textarea { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-mentions .rc-textarea-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-mentions .rc-textarea-sm { - padding: 0px 7px; -} -.ant-mentions .rc-textarea-rtl { - direction: rtl; -} -.ant-message { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - top: 8px; - left: 0; - z-index: 1010; - width: 100%; - pointer-events: none; -} -.ant-message-notice { - padding: 8px; - text-align: center; -} -.ant-message-notice-content { - display: inline-block; - padding: 10px 16px; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - pointer-events: all; -} -.ant-message-success .anticon { - color: #52c41a; -} -.ant-message-error .anticon { - color: #ff4d4f; -} -.ant-message-warning .anticon { - color: #faad14; -} -.ant-message-info .anticon, -.ant-message-loading .anticon { - color: #1890ff; -} -.ant-message .anticon { - position: relative; - top: 1px; - margin-right: 8px; - font-size: 16px; -} -.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active { - animation-name: MessageMoveOut; - animation-duration: 0.3s; -} -@keyframes MessageMoveOut { - 0% { - max-height: 150px; - padding: 8px; - opacity: 1; - } - 100% { - max-height: 0; - padding: 0; - opacity: 0; - } -} -.ant-message-rtl { - direction: rtl; -} -.ant-message-rtl span { - direction: rtl; -} -.ant-message-rtl .anticon { - margin-right: 0; - margin-left: 8px; -} -.ant-modal { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - pointer-events: none; - position: relative; - top: 100px; - width: auto; - max-width: calc(100vw - 32px); - margin: 0 auto; - padding-bottom: 24px; -} -.ant-modal.ant-zoom-enter, -.ant-modal.ant-zoom-appear { - transform: none; - opacity: 0; - animation-duration: 0.3s; - user-select: none; -} -.ant-modal-mask { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - height: 100%; - background-color: rgba(0, 0, 0, 0.45); -} -.ant-modal-mask-hidden { - display: none; -} -.ant-modal-wrap { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - outline: 0; -} -.ant-modal-wrap { - z-index: 1000; -} -.ant-modal-title { - margin: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 22px; - word-wrap: break-word; -} -.ant-modal-content { - position: relative; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - pointer-events: auto; -} -.ant-modal-close { - position: absolute; - top: 0; - right: 0; - z-index: 10; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - line-height: 1; - text-decoration: none; - background: transparent; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-modal-close-x { - display: block; - width: 54px; - height: 54px; - font-size: 16px; - font-style: normal; - line-height: 54px; - text-align: center; - text-transform: none; - text-rendering: auto; -} -.ant-modal-close:focus, -.ant-modal-close:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-modal-header { - padding: 16px 24px; - color: rgba(0, 0, 0, 0.85); - background: #fff; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-modal-body { - padding: 24px; - font-size: 14px; - line-height: 1.5715; - word-wrap: break-word; -} -.ant-modal-footer { - padding: 10px 16px; - text-align: right; - background: transparent; - border-top: 1px solid #f0f0f0; - border-radius: 0 0 2px 2px; -} -.ant-modal-footer .ant-btn + .ant-btn:not(.ant-dropdown-trigger) { - margin-bottom: 0; - margin-left: 8px; -} -.ant-modal-open { - overflow: hidden; -} -.ant-modal-centered { - text-align: center; -} -.ant-modal-centered::before { - display: inline-block; - width: 0; - height: 100%; - vertical-align: middle; - content: ''; -} -.ant-modal-centered .ant-modal { - top: 0; - display: inline-block; - padding-bottom: 0; - text-align: left; - vertical-align: middle; -} -@media (max-width: 767px) { - .ant-modal { - max-width: calc(100vw - 16px); - margin: 8px auto; - } - .ant-modal-centered .ant-modal { - flex: 1; - } -} -.ant-modal-confirm .ant-modal-header { - display: none; -} -.ant-modal-confirm .ant-modal-body { - padding: 32px 32px 24px; -} -.ant-modal-confirm-body-wrapper::before { - display: table; - content: ''; -} -.ant-modal-confirm-body-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-modal-confirm-body-wrapper::before { - display: table; - content: ''; -} -.ant-modal-confirm-body-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-modal-confirm-body .ant-modal-confirm-title { - display: block; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - font-size: 16px; - line-height: 1.4; -} -.ant-modal-confirm-body .ant-modal-confirm-content { - margin-top: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-modal-confirm-body > .anticon { - float: left; - margin-right: 16px; - font-size: 22px; -} -.ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content { - margin-left: 38px; -} -.ant-modal-confirm .ant-modal-confirm-btns { - margin-top: 24px; - text-align: right; -} -.ant-modal-confirm .ant-modal-confirm-btns .ant-btn + .ant-btn { - margin-bottom: 0; - margin-left: 8px; -} -.ant-modal-confirm-error .ant-modal-confirm-body > .anticon { - color: #ff4d4f; -} -.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon, -.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon { - color: #faad14; -} -.ant-modal-confirm-info .ant-modal-confirm-body > .anticon { - color: #1890ff; -} -.ant-modal-confirm-success .ant-modal-confirm-body > .anticon { - color: #52c41a; -} -.ant-modal-confirm .ant-zoom-leave .ant-modal-confirm-btns { - pointer-events: none; -} -.ant-modal-wrap-rtl { - direction: rtl; -} -.ant-modal-wrap-rtl .ant-modal-close { - right: initial; - left: 0; -} -.ant-modal-wrap-rtl .ant-modal-footer { - text-align: left; -} -.ant-modal-wrap-rtl .ant-modal-footer .ant-btn + .ant-btn { - margin-right: 8px; - margin-left: 0; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body { - direction: rtl; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content { - margin-right: 38px; - margin-left: 0; -} -.ant-modal-wrap-rtl .ant-modal-confirm-btns { - text-align: left; -} -.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn + .ant-btn { - margin-right: 8px; - margin-left: 0; -} -.ant-modal-wrap-rtl.ant-modal-centered .ant-modal { - text-align: right; -} -.ant-modal-max { - display: flex; - flex-direction: column; -} -.ant-modal-max > .ant-modal-content { - width: 100vw; - height: 100vh; - display: flex; - flex-direction: column; -} -.ant-modal-max > .ant-modal-content > .ant-modal-body { - flex-grow: 1; - overflow: auto; -} -.ant-modal-max-btn { - position: absolute; - top: 0; - right: 54px; - z-index: 10; - padding: 0; - color: rgba(0, 0, 0, 0.45); - font-weight: 700; - line-height: 1; - text-decoration: none; - background: 0 0; - border: 0; - outline: 0; - cursor: pointer; - transition: color 0.3s; -} -.ant-modal-max-btn-x { - display: block; - width: 54px; - height: 54px; - font-size: 16px; - font-style: normal; - line-height: 54px; - text-align: center; - text-transform: none; - text-rendering: auto; -} -.ant-modal-max-btn:focus, -.ant-modal-max-btn:hover { - color: rgba(0, 0, 0, 0.75); - text-decoration: none; -} -.ant-notification { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: fixed; - z-index: 1010; - margin-right: 24px; -} -.ant-notification-close-icon { - font-size: 14px; - cursor: pointer; -} -.ant-notification-hook-holder { - position: relative; -} -.ant-notification-notice { - position: relative; - width: 384px; - max-width: calc(100vw - 24px * 2); - margin-bottom: 16px; - margin-left: auto; - padding: 16px 24px; - overflow: hidden; - line-height: 1.5715; - word-wrap: break-word; - background: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-notification-top .ant-notification-notice, -.ant-notification-bottom .ant-notification-notice { - margin-right: auto; - margin-left: auto; -} -.ant-notification-topLeft .ant-notification-notice, -.ant-notification-bottomLeft .ant-notification-notice { - margin-right: auto; - margin-left: 0; -} -.ant-notification-notice-message { - margin-bottom: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 24px; -} -.ant-notification-notice-message-single-line-auto-margin { - display: block; - width: calc(384px - 24px * 2 - 24px - 48px - 100%); - max-width: 4px; - background-color: transparent; - pointer-events: none; -} -.ant-notification-notice-message-single-line-auto-margin::before { - display: block; - content: ''; -} -.ant-notification-notice-description { - font-size: 14px; -} -.ant-notification-notice-closable .ant-notification-notice-message { - padding-right: 24px; -} -.ant-notification-notice-with-icon .ant-notification-notice-message { - margin-bottom: 4px; - margin-left: 48px; - font-size: 16px; -} -.ant-notification-notice-with-icon .ant-notification-notice-description { - margin-left: 48px; - font-size: 14px; -} -.ant-notification-notice-icon { - position: absolute; - margin-left: 4px; - font-size: 24px; - line-height: 24px; -} -.anticon.ant-notification-notice-icon-success { - color: #52c41a; -} -.anticon.ant-notification-notice-icon-info { - color: #1890ff; -} -.anticon.ant-notification-notice-icon-warning { - color: #faad14; -} -.anticon.ant-notification-notice-icon-error { - color: #ff4d4f; -} -.ant-notification-notice-close { - position: absolute; - top: 16px; - right: 22px; - color: rgba(0, 0, 0, 0.45); - outline: none; -} -.ant-notification-notice-close:hover { - color: rgba(0, 0, 0, 0.67); -} -.ant-notification-notice-btn { - float: right; - margin-top: 16px; -} -.ant-notification .notification-fade-effect { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; -} -.ant-notification-fade-enter, -.ant-notification-fade-appear { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; - opacity: 0; - animation-play-state: paused; -} -.ant-notification-fade-leave { - animation-duration: 0.24s; - animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); - animation-fill-mode: both; - animation-duration: 0.2s; - animation-play-state: paused; -} -.ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationFadeIn; - animation-play-state: running; -} -.ant-notification-fade-leave.ant-notification-fade-leave-active { - animation-name: NotificationFadeOut; - animation-play-state: running; -} -@keyframes NotificationFadeIn { - 0% { - left: 384px; - opacity: 0; - } - 100% { - left: 0; - opacity: 1; - } -} -@keyframes NotificationFadeOut { - 0% { - max-height: 150px; - margin-bottom: 16px; - opacity: 1; - } - 100% { - max-height: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; - opacity: 0; - } -} -.ant-notification-rtl { - direction: rtl; -} -.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message { - padding-right: 0; - padding-left: 24px; -} -.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message { - margin-right: 48px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description { - margin-right: 48px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-icon { - margin-right: 4px; - margin-left: 0; -} -.ant-notification-rtl .ant-notification-notice-close { - right: auto; - left: 22px; -} -.ant-notification-rtl .ant-notification-notice-btn { - float: left; -} -.ant-notification-top, -.ant-notification-bottom { - margin-right: 0; - margin-left: 0; -} -.ant-notification-top .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-top .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationTopFadeIn; -} -.ant-notification-bottom .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-bottom .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationBottomFadeIn; -} -.ant-notification-topLeft, -.ant-notification-bottomLeft { - margin-right: 0; - margin-left: 24px; -} -.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active, -.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active, -.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active { - animation-name: NotificationLeftFadeIn; -} -@keyframes NotificationTopFadeIn { - 0% { - margin-top: -100%; - opacity: 0; - } - 100% { - margin-top: 0; - opacity: 1; - } -} -@keyframes NotificationBottomFadeIn { - 0% { - margin-bottom: -100%; - opacity: 0; - } - 100% { - margin-bottom: 0; - opacity: 1; - } -} -@keyframes NotificationLeftFadeIn { - 0% { - right: 384px; - opacity: 0; - } - 100% { - right: 0; - opacity: 1; - } -} -@keyframes NotificationBottomFadeIn { - 0% { - margin-bottom: -100%; - opacity: 0; - } - 100% { - margin-bottom: 16px; - opacity: 1; - } -} -.ant-page-header { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - padding: 16px 24px; - background-color: #fff; -} -.ant-page-header-ghost { - background-color: inherit; -} -.ant-page-header.has-breadcrumb { - padding-top: 12px; -} -.ant-page-header.has-footer { - padding-bottom: 0; -} -.ant-page-header-back { - margin-right: 16px; - font-size: 16px; - line-height: 1; -} -.ant-page-header-back-button { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - color: #000; -} -.ant-page-header-back-button:focus-visible, -.ant-page-header-back-button:hover { - color: #40a9ff; -} -.ant-page-header-back-button:active { - color: #096dd9; -} -.ant-page-header .ant-divider-vertical { - height: 14px; - margin: 0 12px; - vertical-align: middle; -} -.ant-breadcrumb + .ant-page-header-heading { - margin-top: 8px; -} -.ant-page-header-heading { - display: flex; - justify-content: space-between; -} -.ant-page-header-heading-left { - display: flex; - align-items: center; - margin: 4px 0; - overflow: hidden; -} -.ant-page-header-heading-title { - margin-right: 12px; - margin-bottom: 0; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 20px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-page-header-heading .ant-avatar { - margin-right: 12px; -} -.ant-page-header-heading-sub-title { - margin-right: 12px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.5715; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-page-header-heading-extra { - margin: 4px 0; - white-space: nowrap; -} -.ant-page-header-heading-extra > * { - white-space: unset; -} -.ant-page-header-content { - padding-top: 12px; -} -.ant-page-header-footer { - margin-top: 16px; -} -.ant-page-header-footer .ant-tabs > .ant-tabs-nav { - margin: 0; -} -.ant-page-header-footer .ant-tabs > .ant-tabs-nav::before { - border: none; -} -.ant-page-header-footer .ant-tabs .ant-tabs-tab { - padding-top: 8px; - padding-bottom: 8px; - font-size: 16px; -} -.ant-page-header-compact .ant-page-header-heading { - flex-wrap: wrap; -} -.ant-page-header-rtl { - direction: rtl; -} -.ant-page-header-rtl .ant-page-header-back { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-page-header-rtl .ant-page-header-heading-title { - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading .ant-avatar { - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading-sub-title { - float: right; - margin-right: 0; - margin-left: 12px; -} -.ant-page-header-rtl .ant-page-header-heading-tags { - float: right; -} -.ant-page-header-rtl .ant-page-header-heading-extra { - float: left; -} -.ant-page-header-rtl .ant-page-header-heading-extra > * { - margin-right: 12px; - margin-left: 0; -} -.ant-page-header-rtl .ant-page-header-heading-extra > *:first-child { - margin-right: 0; -} -.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav { - float: right; -} -.ant-page-header-back-button { - border: 0; - background: transparent; - padding: 0; - line-height: inherit; - display: inline-block; -} -.ant-pagination { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-pagination ul, -.ant-pagination ol { - margin: 0; - padding: 0; - list-style: none; -} -.ant-pagination::after { - display: block; - clear: both; - height: 0; - overflow: hidden; - visibility: hidden; - content: ' '; -} -.ant-pagination-total-text { - display: inline-block; - height: 32px; - margin-right: 8px; - line-height: 30px; - vertical-align: middle; -} -.ant-pagination-item { - display: inline-block; - min-width: 32px; - height: 32px; - margin-right: 8px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 30px; - text-align: center; - vertical-align: middle; - list-style: none; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: 0; - cursor: pointer; - user-select: none; -} -.ant-pagination-item a { - display: block; - padding: 0 6px; - color: rgba(0, 0, 0, 0.85); - transition: none; -} -.ant-pagination-item a:hover { - text-decoration: none; -} -.ant-pagination-item:hover { - border-color: #1890ff; - transition: all 0.3s; -} -.ant-pagination-item:hover a { - color: #1890ff; -} -.ant-pagination-item:focus-visible { - border-color: #1890ff; - transition: all 0.3s; -} -.ant-pagination-item:focus-visible a { - color: #1890ff; -} -.ant-pagination-item-active { - font-weight: 500; - background: #fff; - border-color: #1890ff; -} -.ant-pagination-item-active a { - color: #1890ff; -} -.ant-pagination-item-active:hover { - border-color: #40a9ff; -} -.ant-pagination-item-active:focus-visible { - border-color: #40a9ff; -} -.ant-pagination-item-active:hover a { - color: #40a9ff; -} -.ant-pagination-item-active:focus-visible a { - color: #40a9ff; -} -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - outline: 0; -} -.ant-pagination-jump-prev .ant-pagination-item-container, -.ant-pagination-jump-next .ant-pagination-item-container { - position: relative; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { - color: #1890ff; - font-size: 12px; - letter-spacing: -1px; - opacity: 0; - transition: all 0.2s; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg { - top: 0; - right: 0; - bottom: 0; - left: 0; - margin: auto; -} -.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, -.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - margin: auto; - color: rgba(0, 0, 0, 0.25); - font-family: Arial, Helvetica, sans-serif; - letter-spacing: 2px; - text-align: center; - text-indent: 0.13em; - opacity: 1; - transition: all 0.2s; -} -.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon, -.ant-pagination-jump-next:hover .ant-pagination-item-link-icon { - opacity: 1; -} -.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis, -.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis { - opacity: 0; -} -.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon, -.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon { - opacity: 1; -} -.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis, -.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis { - opacity: 0; -} -.ant-pagination-prev, -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - margin-right: 8px; -} -.ant-pagination-prev, -.ant-pagination-next, -.ant-pagination-jump-prev, -.ant-pagination-jump-next { - display: inline-block; - min-width: 32px; - height: 32px; - color: rgba(0, 0, 0, 0.85); - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 32px; - text-align: center; - vertical-align: middle; - list-style: none; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s; -} -.ant-pagination-prev, -.ant-pagination-next { - font-family: Arial, Helvetica, sans-serif; - outline: 0; -} -.ant-pagination-prev button, -.ant-pagination-next button { - color: rgba(0, 0, 0, 0.85); - cursor: pointer; - user-select: none; -} -.ant-pagination-prev:hover button, -.ant-pagination-next:hover button { - border-color: #40a9ff; -} -.ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-next .ant-pagination-item-link { - display: block; - width: 100%; - height: 100%; - padding: 0; - font-size: 12px; - text-align: center; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: none; - transition: all 0.3s; -} -.ant-pagination-prev:focus-visible .ant-pagination-item-link, -.ant-pagination-next:focus-visible .ant-pagination-item-link { - color: #1890ff; - border-color: #1890ff; -} -.ant-pagination-prev:hover .ant-pagination-item-link, -.ant-pagination-next:hover .ant-pagination-item-link { - color: #1890ff; - border-color: #1890ff; -} -.ant-pagination-disabled, -.ant-pagination-disabled:hover { - cursor: not-allowed; -} -.ant-pagination-disabled .ant-pagination-item-link, -.ant-pagination-disabled:hover .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-disabled:focus-visible { - cursor: not-allowed; -} -.ant-pagination-disabled:focus-visible .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-slash { - margin: 0 10px 0 5px; -} -.ant-pagination-options { - display: inline-block; - margin-left: 16px; - vertical-align: middle; -} -@media all and (-ms-high-contrast: none) { - .ant-pagination-options *::-ms-backdrop, - .ant-pagination-options { - vertical-align: top; - } -} -.ant-pagination-options-size-changer.ant-select { - display: inline-block; - width: auto; -} -.ant-pagination-options-quick-jumper { - display: inline-block; - height: 32px; - margin-left: 8px; - line-height: 32px; - vertical-align: top; -} -.ant-pagination-options-quick-jumper input { - position: relative; - display: inline-block; - width: 100%; - min-width: 0; - padding: 4px 11px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 1.5715; - background-color: #fff; - background-image: none; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s; - width: 50px; - height: 32px; - margin: 0 8px; -} -.ant-pagination-options-quick-jumper input::placeholder { - color: #bfbfbf; - user-select: none; -} -.ant-pagination-options-quick-jumper input:placeholder-shown { - text-overflow: ellipsis; -} -.ant-pagination-options-quick-jumper input:hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-pagination-options-quick-jumper input:hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-pagination-options-quick-jumper input:focus, -.ant-pagination-options-quick-jumper input-focused { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-pagination-options-quick-jumper input:focus, -.ant-input-rtl .ant-pagination-options-quick-jumper input-focused { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-pagination-options-quick-jumper input-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-pagination-options-quick-jumper input-disabled:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-pagination-options-quick-jumper input[disabled] { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - box-shadow: none; - cursor: not-allowed; - opacity: 1; -} -.ant-pagination-options-quick-jumper input[disabled]:hover { - border-color: #d9d9d9; - border-right-width: 1px; -} -.ant-pagination-options-quick-jumper input-borderless, -.ant-pagination-options-quick-jumper input-borderless:hover, -.ant-pagination-options-quick-jumper input-borderless:focus, -.ant-pagination-options-quick-jumper input-borderless-focused, -.ant-pagination-options-quick-jumper input-borderless-disabled, -.ant-pagination-options-quick-jumper input-borderless[disabled] { - background-color: transparent; - border: none; - box-shadow: none; -} -textarea.ant-pagination-options-quick-jumper input { - max-width: 100%; - height: auto; - min-height: 32px; - line-height: 1.5715; - vertical-align: bottom; - transition: all 0.3s, height 0s; -} -.ant-pagination-options-quick-jumper input-lg { - padding: 6.5px 11px; - font-size: 16px; -} -.ant-pagination-options-quick-jumper input-sm { - padding: 0px 7px; -} -.ant-pagination-options-quick-jumper input-rtl { - direction: rtl; -} -.ant-pagination-simple .ant-pagination-prev, -.ant-pagination-simple .ant-pagination-next { - height: 24px; - line-height: 24px; - vertical-align: top; -} -.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { - height: 24px; - background-color: transparent; - border: 0; -} -.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after, -.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after { - height: 24px; - line-height: 24px; -} -.ant-pagination-simple .ant-pagination-simple-pager { - display: inline-block; - height: 24px; - margin-right: 8px; -} -.ant-pagination-simple .ant-pagination-simple-pager input { - box-sizing: border-box; - height: 100%; - margin-right: 8px; - padding: 0 6px; - text-align: center; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - outline: none; - transition: border-color 0.3s; -} -.ant-pagination-simple .ant-pagination-simple-pager input:hover { - border-color: #1890ff; -} -.ant-pagination-simple .ant-pagination-simple-pager input:focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); -} -.ant-pagination-simple .ant-pagination-simple-pager input[disabled] { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-mini .ant-pagination-total-text, -.ant-pagination.ant-pagination-mini .ant-pagination-simple-pager { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-item { - min-width: 24px; - height: 24px; - margin: 0; - line-height: 22px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-item:not(.ant-pagination-item-active) { - background: transparent; - border-color: transparent; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev, -.ant-pagination.ant-pagination-mini .ant-pagination-next { - min-width: 24px; - height: 24px; - margin: 0; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link, -.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link { - background: transparent; - border-color: transparent; -} -.ant-pagination.ant-pagination-mini .ant-pagination-prev .ant-pagination-item-link::after, -.ant-pagination.ant-pagination-mini .ant-pagination-next .ant-pagination-item-link::after { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-jump-prev, -.ant-pagination.ant-pagination-mini .ant-pagination-jump-next { - height: 24px; - margin-right: 0; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options { - margin-left: 2px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-size-changer { - top: 0px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper { - height: 24px; - line-height: 24px; -} -.ant-pagination.ant-pagination-mini .ant-pagination-options-quick-jumper input { - padding: 0px 7px; - width: 44px; - height: 24px; -} -.ant-pagination.ant-pagination-disabled { - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item { - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item a { - color: rgba(0, 0, 0, 0.25); - background: transparent; - border: none; - cursor: not-allowed; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-active { - background: #e6e6e6; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a { - color: rgba(0, 0, 0, 0.25); -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-link { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link { - background: transparent; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon { - opacity: 0; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis { - opacity: 1; -} -.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager { - color: rgba(0, 0, 0, 0.25); -} -@media only screen and (max-width: 992px) { - .ant-pagination-item-after-jump-prev, - .ant-pagination-item-before-jump-next { - display: none; - } -} -@media only screen and (max-width: 576px) { - .ant-pagination-options { - display: none; - } -} -.ant-pagination-rtl .ant-pagination-total-text { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-item, -.ant-pagination-rtl .ant-pagination-prev, -.ant-pagination-rtl .ant-pagination-jump-prev, -.ant-pagination-rtl .ant-pagination-jump-next { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-slash { - margin: 0 5px 0 10px; -} -.ant-pagination-rtl .ant-pagination-options { - margin-right: 16px; - margin-left: 0; -} -.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper { - margin-left: 0; -} -.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input { - margin-right: 0; - margin-left: 8px; -} -.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options { - margin-right: 2px; - margin-left: 0; -} -.ant-popover { - position: relative; -} -.ant-popover { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: 0; - left: 0; - z-index: 1030; - font-weight: normal; - white-space: normal; - text-align: left; - cursor: auto; - user-select: text; -} -.ant-popover-content { - position: relative; -} -.ant-popover::after { - position: absolute; - background: rgba(255, 255, 255, 0.01); - content: ''; -} -.ant-popover-hidden { - display: none; -} -.ant-popover-placement-top, -.ant-popover-placement-topLeft, -.ant-popover-placement-topRight { - padding-bottom: 15.3137085px; -} -.ant-popover-placement-right, -.ant-popover-placement-rightTop, -.ant-popover-placement-rightBottom { - padding-left: 15.3137085px; -} -.ant-popover-placement-bottom, -.ant-popover-placement-bottomLeft, -.ant-popover-placement-bottomRight { - padding-top: 15.3137085px; -} -.ant-popover-placement-left, -.ant-popover-placement-leftTop, -.ant-popover-placement-leftBottom { - padding-right: 15.3137085px; -} -.ant-popover-inner { - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ant-popover { - /* IE10+ */ - } - .ant-popover-inner { - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - } -} -.ant-popover-title { - min-width: 177px; - min-height: 32px; - margin: 0; - padding: 5px 16px 4px; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - border-bottom: 1px solid #f0f0f0; -} -.ant-popover-inner-content { - padding: 12px 16px; - color: rgba(0, 0, 0, 0.85); -} -.ant-popover-message { - display: flex; - align-items: center; - padding: 4px 0 12px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; -} -.ant-popover-message-icon { - display: inline-block; - margin-right: 8px; - color: #faad14; - font-size: 14px; -} -.ant-popover-buttons { - margin-bottom: 4px; - text-align: right; -} -.ant-popover-buttons button:not(:first-child) { - margin-left: 8px; -} -.ant-popover-arrow { - position: absolute; - display: block; - width: 22px; - height: 22px; - overflow: hidden; - background: transparent; - pointer-events: none; -} -.ant-popover-arrow-content { - --antd-arrow-background-color: #fff; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - width: 11.3137085px; - height: 11.3137085px; - margin: auto; - content: ''; - pointer-events: auto; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-popover-arrow-content::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: var(--antd-arrow-background-color); - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-popover-placement-top .ant-popover-arrow, -.ant-popover-placement-topLeft .ant-popover-arrow, -.ant-popover-placement-topRight .ant-popover-arrow { - bottom: 0; - transform: translateY(100%); -} -.ant-popover-placement-top .ant-popover-arrow-content, -.ant-popover-placement-topLeft .ant-popover-arrow-content, -.ant-popover-placement-topRight .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(-11px) rotate(45deg); -} -.ant-popover-placement-top .ant-popover-arrow { - left: 50%; - transform: translateY(100%) translateX(-50%); -} -.ant-popover-placement-topLeft .ant-popover-arrow { - left: 16px; -} -.ant-popover-placement-topRight .ant-popover-arrow { - right: 16px; -} -.ant-popover-placement-right .ant-popover-arrow, -.ant-popover-placement-rightTop .ant-popover-arrow, -.ant-popover-placement-rightBottom .ant-popover-arrow { - left: 0; - transform: translateX(-100%); -} -.ant-popover-placement-right .ant-popover-arrow-content, -.ant-popover-placement-rightTop .ant-popover-arrow-content, -.ant-popover-placement-rightBottom .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(11px) rotate(135deg); -} -.ant-popover-placement-right .ant-popover-arrow { - top: 50%; - transform: translateX(-100%) translateY(-50%); -} -.ant-popover-placement-rightTop .ant-popover-arrow { - top: 12px; -} -.ant-popover-placement-rightBottom .ant-popover-arrow { - bottom: 12px; -} -.ant-popover-placement-bottom .ant-popover-arrow, -.ant-popover-placement-bottomLeft .ant-popover-arrow, -.ant-popover-placement-bottomRight .ant-popover-arrow { - top: 0; - transform: translateY(-100%); -} -.ant-popover-placement-bottom .ant-popover-arrow-content, -.ant-popover-placement-bottomLeft .ant-popover-arrow-content, -.ant-popover-placement-bottomRight .ant-popover-arrow-content { - box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.06); - transform: translateY(11px) rotate(-135deg); -} -.ant-popover-placement-bottom .ant-popover-arrow { - left: 50%; - transform: translateY(-100%) translateX(-50%); -} -.ant-popover-placement-bottomLeft .ant-popover-arrow { - left: 16px; -} -.ant-popover-placement-bottomRight .ant-popover-arrow { - right: 16px; -} -.ant-popover-placement-left .ant-popover-arrow, -.ant-popover-placement-leftTop .ant-popover-arrow, -.ant-popover-placement-leftBottom .ant-popover-arrow { - right: 0; - transform: translateX(100%); -} -.ant-popover-placement-left .ant-popover-arrow-content, -.ant-popover-placement-leftTop .ant-popover-arrow-content, -.ant-popover-placement-leftBottom .ant-popover-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(-11px) rotate(-45deg); -} -.ant-popover-placement-left .ant-popover-arrow { - top: 50%; - transform: translateX(100%) translateY(-50%); -} -.ant-popover-placement-leftTop .ant-popover-arrow { - top: 12px; -} -.ant-popover-placement-leftBottom .ant-popover-arrow { - bottom: 12px; -} -.ant-popover-pink .ant-popover-inner { - background-color: #eb2f96; -} -.ant-popover-pink .ant-popover-arrow-content { - background-color: #eb2f96; -} -.ant-popover-magenta .ant-popover-inner { - background-color: #eb2f96; -} -.ant-popover-magenta .ant-popover-arrow-content { - background-color: #eb2f96; -} -.ant-popover-red .ant-popover-inner { - background-color: #f5222d; -} -.ant-popover-red .ant-popover-arrow-content { - background-color: #f5222d; -} -.ant-popover-volcano .ant-popover-inner { - background-color: #fa541c; -} -.ant-popover-volcano .ant-popover-arrow-content { - background-color: #fa541c; -} -.ant-popover-orange .ant-popover-inner { - background-color: #fa8c16; -} -.ant-popover-orange .ant-popover-arrow-content { - background-color: #fa8c16; -} -.ant-popover-yellow .ant-popover-inner { - background-color: #fadb14; -} -.ant-popover-yellow .ant-popover-arrow-content { - background-color: #fadb14; -} -.ant-popover-gold .ant-popover-inner { - background-color: #faad14; -} -.ant-popover-gold .ant-popover-arrow-content { - background-color: #faad14; -} -.ant-popover-cyan .ant-popover-inner { - background-color: #13c2c2; -} -.ant-popover-cyan .ant-popover-arrow-content { - background-color: #13c2c2; -} -.ant-popover-lime .ant-popover-inner { - background-color: #a0d911; -} -.ant-popover-lime .ant-popover-arrow-content { - background-color: #a0d911; -} -.ant-popover-green .ant-popover-inner { - background-color: #52c41a; -} -.ant-popover-green .ant-popover-arrow-content { - background-color: #52c41a; -} -.ant-popover-blue .ant-popover-inner { - background-color: #1890ff; -} -.ant-popover-blue .ant-popover-arrow-content { - background-color: #1890ff; -} -.ant-popover-geekblue .ant-popover-inner { - background-color: #2f54eb; -} -.ant-popover-geekblue .ant-popover-arrow-content { - background-color: #2f54eb; -} -.ant-popover-purple .ant-popover-inner { - background-color: #722ed1; -} -.ant-popover-purple .ant-popover-arrow-content { - background-color: #722ed1; -} -.ant-popover-rtl { - direction: rtl; - text-align: right; -} -.ant-popover-rtl .ant-popover-message-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-popover-rtl .ant-popover-message-title { - padding-left: 16px; -} -.ant-popover-rtl .ant-popover-buttons { - text-align: left; -} -.ant-popover-rtl .ant-popover-buttons button { - margin-right: 8px; - margin-left: 0; -} -.ant-popover { - position: relative; -} -.ant-progress { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-progress-line { - position: relative; - width: 100%; - font-size: 14px; -} -.ant-progress-steps { - display: inline-block; -} -.ant-progress-steps-outer { - display: flex; - flex-direction: row; - align-items: center; -} -.ant-progress-steps-item { - flex-shrink: 0; - min-width: 2px; - margin-right: 2px; - background: #f3f3f3; - transition: all 0.3s; -} -.ant-progress-steps-item-active { - background: #1890ff; -} -.ant-progress-small.ant-progress-line, -.ant-progress-small.ant-progress-line .ant-progress-text .anticon { - font-size: 12px; -} -.ant-progress-outer { - display: inline-block; - width: 100%; - margin-right: 0; - padding-right: 0; -} -.ant-progress-show-info .ant-progress-outer { - margin-right: calc(-2em - 8px); - padding-right: calc(2em + 8px); -} -.ant-progress-inner { - position: relative; - display: inline-block; - width: 100%; - overflow: hidden; - vertical-align: middle; - background-color: #f5f5f5; - border-radius: 100px; -} -.ant-progress-circle-trail { - stroke: #f5f5f5; -} -.ant-progress-circle-path { - animation: ant-progress-appear 0.3s; -} -.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #1890ff; -} -.ant-progress-success-bg, -.ant-progress-bg { - position: relative; - background-color: #1890ff; - border-radius: 100px; - transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s; -} -.ant-progress-success-bg { - position: absolute; - top: 0; - left: 0; - background-color: #52c41a; -} -.ant-progress-text { - display: inline-block; - width: 2em; - margin-left: 8px; - color: rgba(0, 0, 0, 0.85); - font-size: 1em; - line-height: 1; - white-space: nowrap; - text-align: left; - vertical-align: middle; - word-break: normal; -} -.ant-progress-text .anticon { - font-size: 14px; -} -.ant-progress-status-active .ant-progress-bg::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: #fff; - border-radius: 10px; - opacity: 0; - animation: ant-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite; - content: ''; -} -.ant-progress-status-exception .ant-progress-bg { - background-color: #ff4d4f; -} -.ant-progress-status-exception .ant-progress-text { - color: #ff4d4f; -} -.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #ff4d4f; -} -.ant-progress-status-success .ant-progress-bg { - background-color: #52c41a; -} -.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path { - stroke: #52c41a; -} -.ant-progress-circle .ant-progress-inner { - position: relative; - line-height: 1; - background-color: transparent; -} -.ant-progress-circle .ant-progress-text { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 1em; - line-height: 1; - white-space: normal; - text-align: center; - transform: translate(-50%, -50%); -} -.ant-progress-circle .ant-progress-text .anticon { - font-size: 1.16666667em; -} -.ant-progress-circle.ant-progress-status-exception .ant-progress-text { - color: #ff4d4f; -} -.ant-progress-circle.ant-progress-status-success .ant-progress-text { - color: #52c41a; -} -@keyframes ant-progress-active { - 0% { - transform: translateX(-100%) scaleX(0); - opacity: 0.1; - } - 20% { - transform: translateX(-100%) scaleX(0); - opacity: 0.5; - } - 100% { - transform: translateX(0) scaleX(1); - opacity: 0; - } -} -.ant-progress-rtl { - direction: rtl; -} -.ant-progress-rtl.ant-progress-show-info .ant-progress-outer { - margin-right: 0; - margin-left: calc(-2em - 8px); - padding-right: 0; - padding-left: calc(2em + 8px); -} -.ant-progress-rtl .ant-progress-success-bg { - right: 0; - left: auto; -} -.ant-progress-rtl.ant-progress-line .ant-progress-text, -.ant-progress-rtl.ant-progress-steps .ant-progress-text { - margin-right: 8px; - margin-left: 0; - text-align: right; -} -.ant-progress-line { - font-size: 0; -} -.ant-progress-line .ant-progress-outer, -.ant-progress-line .ant-progress-text { - font-size: 14px; -} -.ant-progress-small.ant-progress-line { - font-size: 0; -} -.ant-progress-small.ant-progress-line .ant-progress-outer, -.ant-progress-small.ant-progress-line .ant-progress-text { - font-size: 12px; -} -.ant-radio-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - font-size: 0; -} -.ant-radio-group .ant-badge-count { - z-index: 1; -} -.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper { - border-left: none; -} -.ant-radio-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-flex; - align-items: baseline; - margin-right: 8px; - cursor: pointer; -} -.ant-radio-wrapper-disabled { - cursor: not-allowed; -} -.ant-radio-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-radio-wrapper.ant-radio-wrapper-in-form-item input[type='radio'] { - width: 14px; - height: 14px; -} -.ant-radio { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - display: inline-block; - outline: none; - cursor: pointer; -} -.ant-radio-wrapper:hover .ant-radio, -.ant-radio:hover .ant-radio-inner, -.ant-radio-input:focus + .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-input:focus + .ant-radio-inner { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 50%; - visibility: hidden; - animation: antRadioEffect 0.36s ease-in-out; - animation-fill-mode: both; - content: ''; -} -.ant-radio:hover::after, -.ant-radio-wrapper:hover .ant-radio::after { - visibility: visible; -} -.ant-radio-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - background-color: #fff; - border-color: #d9d9d9; - border-style: solid; - border-width: 1px; - border-radius: 50%; - transition: all 0.3s; -} -.ant-radio-inner::after { - position: absolute; - top: 50%; - left: 50%; - display: block; - width: 16px; - height: 16px; - margin-top: -8px; - margin-left: -8px; - background-color: #1890ff; - border-top: 0; - border-left: 0; - border-radius: 16px; - transform: scale(0); - opacity: 0; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); - content: ' '; -} -.ant-radio-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - cursor: pointer; - opacity: 0; -} -.ant-radio.ant-radio-disabled .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-radio-checked .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-checked .ant-radio-inner::after { - transform: scale(0.5); - opacity: 1; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-radio-disabled { - cursor: not-allowed; -} -.ant-radio-disabled .ant-radio-inner { - background-color: #f5f5f5; - cursor: not-allowed; -} -.ant-radio-disabled .ant-radio-inner::after { - background-color: rgba(0, 0, 0, 0.2); -} -.ant-radio-disabled .ant-radio-input { - cursor: not-allowed; -} -.ant-radio-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -span.ant-radio + * { - padding-right: 8px; - padding-left: 8px; -} -.ant-radio-button-wrapper { - position: relative; - display: inline-block; - height: 32px; - margin: 0; - padding: 0 15px; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - line-height: 30px; - background: #fff; - border: 1px solid #d9d9d9; - border-top-width: 1.02px; - border-left-width: 0; - cursor: pointer; - transition: color 0.3s, background 0.3s, border-color 0.3s, box-shadow 0.3s; -} -.ant-radio-button-wrapper a { - color: rgba(0, 0, 0, 0.85); -} -.ant-radio-button-wrapper > .ant-radio-button { - position: absolute; - top: 0; - left: 0; - z-index: -1; - width: 100%; - height: 100%; -} -.ant-radio-group-large .ant-radio-button-wrapper { - height: 40px; - font-size: 16px; - line-height: 38px; -} -.ant-radio-group-small .ant-radio-button-wrapper { - height: 24px; - padding: 0 7px; - line-height: 22px; -} -.ant-radio-button-wrapper:not(:first-child)::before { - position: absolute; - top: -1px; - left: -1px; - display: block; - box-sizing: content-box; - width: 1px; - height: 100%; - padding: 1px 0; - background-color: #d9d9d9; - transition: background-color 0.3s; - content: ''; -} -.ant-radio-button-wrapper:first-child { - border-left: 1px solid #d9d9d9; - border-radius: 2px 0 0 2px; -} -.ant-radio-button-wrapper:last-child { - border-radius: 0 2px 2px 0; -} -.ant-radio-button-wrapper:first-child:last-child { - border-radius: 2px; -} -.ant-radio-button-wrapper:hover { - position: relative; - color: #1890ff; -} -.ant-radio-button-wrapper:focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-button-wrapper .ant-radio-inner, -.ant-radio-button-wrapper input[type='checkbox'], -.ant-radio-button-wrapper input[type='radio'] { - width: 0; - height: 0; - opacity: 0; - pointer-events: none; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { - z-index: 1; - color: #1890ff; - background: #fff; - border-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before { - background-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child { - border-color: #1890ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { - color: #40a9ff; - border-color: #40a9ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before { - background-color: #40a9ff; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { - color: #096dd9; - border-color: #096dd9; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before { - background-color: #096dd9; -} -.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { - color: #fff; - background: #1890ff; - border-color: #1890ff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { - color: #fff; - background: #40a9ff; - border-color: #40a9ff; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { - color: #fff; - background: #096dd9; - border-color: #096dd9; -} -.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { - box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.12); -} -.ant-radio-button-wrapper-disabled { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-radio-button-wrapper-disabled:first-child, -.ant-radio-button-wrapper-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background-color: #f5f5f5; - border-color: #d9d9d9; -} -.ant-radio-button-wrapper-disabled:first-child { - border-left-color: #d9d9d9; -} -.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { - color: rgba(0, 0, 0, 0.25); - background-color: #e6e6e6; - border-color: #d9d9d9; - box-shadow: none; -} -@keyframes antRadioEffect { - 0% { - transform: scale(1); - opacity: 0.5; - } - 100% { - transform: scale(1.6); - opacity: 0; - } -} -.ant-radio-group.ant-radio-group-rtl { - direction: rtl; -} -.ant-radio-wrapper.ant-radio-wrapper-rtl { - margin-right: 0; - margin-left: 8px; - direction: rtl; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl { - border-right-width: 0; - border-left-width: 1px; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before { - right: -1px; - left: 0; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child { - border-right: 1px solid #d9d9d9; - border-radius: 0 2px 2px 0; -} -.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child { - border-right-color: #40a9ff; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child { - border-radius: 2px 0 0 2px; -} -.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child { - border-right-color: #d9d9d9; -} -.ant-radio + span:empty { - display: none; -} -.ant-radio-input:checked + .ant-radio-inner { - border-color: #1890ff; -} -.ant-radio-input:checked + .ant-radio-inner::after { - transform: scale(0.5); - opacity: 1; - transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-radio-disabled .ant-radio-input:checked + .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-radio-checked .ant-radio-inner::after { - opacity: 0; - /** cover the *-checked's opacity, use :checked's for static SSR */ -} -.ant-radio-checked .ant-radio-inner { - border-color: #d9d9d9; -} -.ant-rate { - box-sizing: border-box; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - display: inline-block; - margin: 0; - padding: 0; - color: #fadb14; - font-size: 20px; - line-height: unset; - list-style: none; - outline: none; -} -.ant-rate-disabled .ant-rate-star { - cursor: default; -} -.ant-rate-disabled .ant-rate-star > div:hover { - transform: scale(1); -} -.ant-rate-star { - position: relative; - display: inline-block; - color: inherit; - cursor: pointer; -} -.ant-rate-star:not(:last-child) { - margin-right: 8px; -} -.ant-rate-star > div { - transition: all 0.3s, outline 0s; -} -.ant-rate-star > div:hover { - transform: scale(1.1); -} -.ant-rate-star > div:focus { - outline: 0; -} -.ant-rate-star > div:focus-visible { - outline: 1px dashed #fadb14; - transform: scale(1.1); -} -.ant-rate-star-first, -.ant-rate-star-second { - color: #f0f0f0; - transition: all 0.3s; - user-select: none; -} -.ant-rate-star-first .anticon, -.ant-rate-star-second .anticon { - vertical-align: middle; -} -.ant-rate-star-first { - position: absolute; - top: 0; - left: 0; - width: 50%; - height: 100%; - overflow: hidden; - opacity: 0; -} -.ant-rate-star-half .ant-rate-star-first, -.ant-rate-star-half .ant-rate-star-second { - opacity: 1; -} -.ant-rate-star-half .ant-rate-star-first, -.ant-rate-star-full .ant-rate-star-second { - color: inherit; -} -.ant-rate-text { - display: inline-block; - margin: 0 8px; - font-size: 14px; -} -.ant-rate-rtl { - direction: rtl; -} -.ant-rate-rtl .ant-rate-star:not(:last-child) { - margin-right: 0; - margin-left: 8px; -} -.ant-rate-rtl .ant-rate-star-first { - right: 0; - left: auto; -} -.ant-select-single .ant-select-selector { - display: flex; -} -.ant-select-single .ant-select-selector .ant-select-selection-search { - position: absolute; - top: 0; - right: 11px; - bottom: 0; - left: 11px; -} -.ant-select-single .ant-select-selector .ant-select-selection-search-input { - width: 100%; -} -.ant-select-single .ant-select-selector .ant-select-selection-item, -.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - padding: 0; - line-height: 30px; - transition: all 0.3s; -} -.ant-select-single .ant-select-selector .ant-select-selection-item { - position: relative; - user-select: none; -} -.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - transition: none; - pointer-events: none; -} -.ant-select-single .ant-select-selector::after, -.ant-select-single .ant-select-selector .ant-select-selection-item::after, -.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after { - display: inline-block; - width: 0; - visibility: hidden; - content: '\a0'; -} -.ant-select-single.ant-select-show-arrow .ant-select-selection-search { - right: 25px; -} -.ant-select-single.ant-select-show-arrow .ant-select-selection-item, -.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 18px; -} -.ant-select-single.ant-select-open .ant-select-selection-item { - color: #bfbfbf; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { - width: 100%; - height: 32px; - padding: 0 11px; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { - height: 30px; -} -.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after { - line-height: 30px; -} -.ant-select-single.ant-select-customize-input .ant-select-selector::after { - display: none; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search { - position: static; - width: 100%; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder { - position: absolute; - right: 0; - left: 0; - padding: 0 11px; -} -.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after { - display: none; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector { - height: 40px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after, -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item, -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder { - line-height: 38px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input { - height: 38px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector { - height: 24px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder { - line-height: 22px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input { - height: 22px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search { - right: 7px; - left: 7px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector { - padding: 0 7px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search { - right: 28px; -} -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item, -.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 21px; -} -.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector { - padding: 0 11px; -} -/** - * Do not merge `height` & `line-height` under style with `selection` & `search`, - * since chrome may update to redesign with its align logic. - */ -.ant-select-selection-overflow { - position: relative; - display: flex; - flex: auto; - flex-wrap: wrap; - max-width: 100%; -} -.ant-select-selection-overflow-item { - flex: none; - align-self: center; - max-width: 100%; -} -.ant-select-multiple .ant-select-selector { - display: flex; - flex-wrap: wrap; - align-items: center; - padding: 1px 4px; -} -.ant-select-show-search.ant-select-multiple .ant-select-selector { - cursor: text; -} -.ant-select-disabled.ant-select-multiple .ant-select-selector { - background: #f5f5f5; - cursor: not-allowed; -} -.ant-select-multiple .ant-select-selector::after { - display: inline-block; - width: 0; - margin: 2px 0; - line-height: 24px; - content: '\a0'; -} -.ant-select-multiple.ant-select-show-arrow .ant-select-selector, -.ant-select-multiple.ant-select-allow-clear .ant-select-selector { - padding-right: 24px; -} -.ant-select-multiple .ant-select-selection-item { - position: relative; - display: flex; - flex: none; - box-sizing: border-box; - max-width: 100%; - height: 24px; - margin-top: 2px; - margin-bottom: 2px; - line-height: 22px; - background: #f5f5f5; - border: 1px solid #f0f0f0; - border-radius: 2px; - cursor: default; - transition: font-size 0.3s, line-height 0.3s, height 0.3s; - user-select: none; - margin-inline-end: 4px; - padding-inline-start: 8px; - padding-inline-end: 4px; -} -.ant-select-disabled.ant-select-multiple .ant-select-selection-item { - color: #bfbfbf; - border-color: #d9d9d9; - cursor: not-allowed; -} -.ant-select-multiple .ant-select-selection-item-content { - display: inline-block; - margin-right: 4px; - overflow: hidden; - white-space: pre; - text-overflow: ellipsis; -} -.ant-select-multiple .ant-select-selection-item-remove { - color: inherit; - font-style: normal; - line-height: 0; - text-align: center; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - color: rgba(0, 0, 0, 0.45); - font-weight: bold; - font-size: 10px; - line-height: inherit; - cursor: pointer; -} -.ant-select-multiple .ant-select-selection-item-remove > * { - line-height: 1; -} -.ant-select-multiple .ant-select-selection-item-remove svg { - display: inline-block; -} -.ant-select-multiple .ant-select-selection-item-remove::before { - display: none; -} -.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon { - display: block; -} -.ant-select-multiple .ant-select-selection-item-remove > .anticon { - vertical-align: middle; -} -.ant-select-multiple .ant-select-selection-item-remove:hover { - color: rgba(0, 0, 0, 0.75); -} -.ant-select-multiple .ant-select-selection-overflow-item + .ant-select-selection-overflow-item .ant-select-selection-search { - margin-inline-start: 0; -} -.ant-select-multiple .ant-select-selection-search { - position: relative; - max-width: 100%; - margin-inline-start: 7px; -} -.ant-select-multiple .ant-select-selection-search-input, -.ant-select-multiple .ant-select-selection-search-mirror { - height: 24px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 24px; - transition: all 0.3s; -} -.ant-select-multiple .ant-select-selection-search-input { - width: 100%; - min-width: 4.1px; -} -.ant-select-multiple .ant-select-selection-search-mirror { - position: absolute; - top: 0; - left: 0; - z-index: 999; - white-space: pre; - visibility: hidden; -} -.ant-select-multiple .ant-select-selection-placeholder { - position: absolute; - top: 50%; - right: 11px; - left: 11px; - transform: translateY(-50%); - transition: all 0.3s; -} -.ant-select-multiple.ant-select-lg .ant-select-selector::after { - line-height: 32px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-item { - height: 32px; - line-height: 30px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-search { - height: 32px; - line-height: 32px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-search-input, -.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror { - height: 32px; - line-height: 30px; -} -.ant-select-multiple.ant-select-sm .ant-select-selector::after { - line-height: 16px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-item { - height: 16px; - line-height: 14px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search { - height: 16px; - line-height: 16px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search-input, -.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror { - height: 16px; - line-height: 14px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder { - left: 7px; -} -.ant-select-multiple.ant-select-sm .ant-select-selection-search { - margin-inline-start: 3px; -} -.ant-select-multiple.ant-select-lg .ant-select-selection-item { - height: 32px; - line-height: 32px; -} -.ant-select-disabled .ant-select-selection-item-remove { - display: none; -} -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector { - background-color: #fff; - border-color: #ff4d4f !important; -} -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector, -.ant-select-status-error.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector { - border-color: #ff7875; - box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector { - background-color: #fff; - border-color: #faad14 !important; -} -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-open .ant-select-selector, -.ant-select-status-warning.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer).ant-select-focused .ant-select-selector { - border-color: #ffc53d; - box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-select-status-error.ant-select-has-feedback .ant-select-clear, -.ant-select-status-warning.ant-select-has-feedback .ant-select-clear, -.ant-select-status-success.ant-select-has-feedback .ant-select-clear, -.ant-select-status-validating.ant-select-has-feedback .ant-select-clear { - right: 32px; -} -.ant-select-status-error.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-warning.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-success.ant-select-has-feedback .ant-select-selection-selected-value, -.ant-select-status-validating.ant-select-has-feedback .ant-select-selection-selected-value { - padding-right: 42px; -} -/* Reset search input style */ -.ant-select { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - cursor: pointer; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector { - position: relative; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: pointer; -} -.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector { - cursor: text; -} -.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: auto; -} -.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { - color: rgba(0, 0, 0, 0.25); - background: #f5f5f5; - cursor: not-allowed; -} -.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { - background: #f5f5f5; -} -.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input { - cursor: not-allowed; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { - margin: 0; - padding: 0; - background: transparent; - border: none; - outline: none; - appearance: none; -} -.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button { - display: none; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -webkit-appearance: none; -} -.ant-select:not(.ant-select-disabled):hover .ant-select-selector { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-select-selection-item { - flex: 1; - overflow: hidden; - font-weight: normal; - white-space: nowrap; - text-overflow: ellipsis; -} -@media all and (-ms-high-contrast: none) { - .ant-select-selection-item *::-ms-backdrop, - .ant-select-selection-item { - flex: auto; - } -} -.ant-select-selection-placeholder { - flex: 1; - overflow: hidden; - color: #bfbfbf; - white-space: nowrap; - text-overflow: ellipsis; - pointer-events: none; -} -@media all and (-ms-high-contrast: none) { - .ant-select-selection-placeholder *::-ms-backdrop, - .ant-select-selection-placeholder { - flex: auto; - } -} -.ant-select-arrow { - display: inline-block; - color: inherit; - font-style: normal; - line-height: 0; - text-transform: none; - vertical-align: -0.125em; - text-rendering: optimizelegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - position: absolute; - top: 50%; - right: 11px; - display: flex; - align-items: center; - height: 12px; - margin-top: -6px; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - line-height: 1; - text-align: center; - pointer-events: none; -} -.ant-select-arrow > * { - line-height: 1; -} -.ant-select-arrow svg { - display: inline-block; -} -.ant-select-arrow::before { - display: none; -} -.ant-select-arrow .ant-select-arrow-icon { - display: block; -} -.ant-select-arrow .anticon { - vertical-align: top; - transition: transform 0.3s; -} -.ant-select-arrow .anticon > svg { - vertical-align: top; -} -.ant-select-arrow .anticon:not(.ant-select-suffix) { - pointer-events: auto; -} -.ant-select-disabled .ant-select-arrow { - cursor: not-allowed; -} -.ant-select-arrow > *:not(:last-child) { - margin-inline-end: 8px; -} -.ant-select-clear { - position: absolute; - top: 50%; - right: 11px; - z-index: 1; - display: inline-block; - width: 12px; - height: 12px; - margin-top: -6px; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - font-style: normal; - line-height: 1; - text-align: center; - text-transform: none; - background: #fff; - cursor: pointer; - opacity: 0; - transition: color 0.3s ease, opacity 0.15s ease; - text-rendering: auto; -} -.ant-select-clear::before { - display: block; -} -.ant-select-clear:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-select:hover .ant-select-clear { - opacity: 1; -} -.ant-select-dropdown { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - box-sizing: border-box; - padding: 4px 0; - overflow: hidden; - font-size: 14px; - font-variant: initial; - background-color: #fff; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft, -.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft { - animation-name: antSlideUpIn; -} -.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft, -.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft { - animation-name: antSlideDownIn; -} -.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft { - animation-name: antSlideUpOut; -} -.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft { - animation-name: antSlideDownOut; -} -.ant-select-dropdown-hidden { - display: none; -} -.ant-select-dropdown-empty { - color: rgba(0, 0, 0, 0.25); -} -.ant-select-item-empty { - position: relative; - display: block; - min-height: 32px; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - color: rgba(0, 0, 0, 0.25); -} -.ant-select-item { - position: relative; - display: block; - min-height: 32px; - padding: 5px 12px; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - cursor: pointer; - transition: background 0.3s ease; -} -.ant-select-item-group { - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - cursor: default; -} -.ant-select-item-option { - display: flex; -} -.ant-select-item-option-content { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-select-item-option-state { - flex: none; -} -.ant-select-item-option-active:not(.ant-select-item-option-disabled) { - background-color: #f5f5f5; -} -.ant-select-item-option-selected:not(.ant-select-item-option-disabled) { - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - background-color: #e6f7ff; -} -.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state { - color: #1890ff; -} -.ant-select-item-option-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-item-option-disabled.ant-select-item-option-selected { - background-color: #f5f5f5; -} -.ant-select-item-option-grouped { - padding-left: 24px; -} -.ant-select-lg { - font-size: 16px; -} -.ant-select-borderless .ant-select-selector { - background-color: transparent !important; - border-color: transparent !important; - box-shadow: none !important; -} -.ant-select.ant-select-in-form-item { - width: 100%; -} -.ant-select-compact-item:not(.ant-select-compact-last-item) { - margin-right: -1px; -} -.ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-item-rtl { - margin-right: 0; - margin-left: -1px; -} -.ant-select-compact-item:hover > *, -.ant-select-compact-item:focus > *, -.ant-select-compact-item:active > * { - z-index: 2; -} -.ant-select-compact-item.ant-select-focused > * { - z-index: 2; -} -.ant-select-compact-item[disabled] > * { - z-index: 0; -} -.ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item).ant-select > .ant-select-selector { - border-radius: 0; -} -.ant-select-compact-item.ant-select-compact-first-item.ant-select:not(.ant-select-compact-item-rtl) > .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-select-compact-item.ant-select-compact-last-item.ant-select:not(.ant-select-compact-item-rtl) > .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-select-compact-item.ant-select.ant-select-compact-first-item.ant-select-compact-item-rtl > .ant-select-selector { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-select-compact-item.ant-select.ant-select-compact-last-item.ant-select-compact-item-rtl > .ant-select-selector { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-select-rtl { - direction: rtl; -} -.ant-select-rtl .ant-select-arrow { - right: initial; - left: 11px; -} -.ant-select-rtl .ant-select-clear { - right: initial; - left: 11px; -} -.ant-select-dropdown-rtl { - direction: rtl; -} -.ant-select-dropdown-rtl .ant-select-item-option-grouped { - padding-right: 24px; - padding-left: 12px; -} -.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector, -.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector { - padding-right: 4px; - padding-left: 24px; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-item { - text-align: right; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content { - margin-right: 0; - margin-left: 4px; - text-align: right; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror { - right: 0; - left: auto; -} -.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder { - right: 11px; - left: auto; -} -.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder { - right: 7px; -} -.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item, -.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder { - right: 0; - left: 9px; - text-align: right; -} -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search { - right: 11px; - left: 25px; -} -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item, -.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 0; - padding-left: 18px; -} -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search { - right: 6px; -} -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item, -.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder { - padding-right: 0; - padding-left: 21px; -} -.segmented-disabled-item, -.segmented-disabled-item:hover, -.segmented-disabled-item:focus { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.segmented-item-selected { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); -} -.segmented-text-ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-segmented { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - padding: 2px; - color: rgba(0, 0, 0, 0.65); - background-color: rgba(0, 0, 0, 0.04); - border-radius: 2px; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-segmented-group { - position: relative; - display: flex; - align-items: stretch; - justify-items: flex-start; - width: 100%; -} -.ant-segmented.ant-segmented-block { - display: flex; -} -.ant-segmented.ant-segmented-block .ant-segmented-item { - flex: 1; - min-width: 0; -} -.ant-segmented:not(.ant-segmented-disabled):hover, -.ant-segmented:not(.ant-segmented-disabled):focus { - background-color: rgba(0, 0, 0, 0.06); -} -.ant-segmented-item { - position: relative; - text-align: center; - cursor: pointer; - transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-segmented-item-selected { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); - color: #262626; -} -.ant-segmented-item:hover, -.ant-segmented-item:focus { - color: #262626; -} -.ant-segmented-item-label { - min-height: 28px; - padding: 0 11px; - line-height: 28px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-segmented-item-icon + * { - margin-left: 6px; -} -.ant-segmented-item-input { - position: absolute; - top: 0; - left: 0; - width: 0; - height: 0; - opacity: 0; - pointer-events: none; -} -.ant-segmented.ant-segmented-lg .ant-segmented-item-label { - min-height: 36px; - padding: 0 11px; - font-size: 16px; - line-height: 36px; -} -.ant-segmented.ant-segmented-sm .ant-segmented-item-label { - min-height: 20px; - padding: 0 7px; - line-height: 20px; -} -.ant-segmented-item-disabled, -.ant-segmented-item-disabled:hover, -.ant-segmented-item-disabled:focus { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-segmented-thumb { - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05), 0 1px 4px -1px rgba(0, 0, 0, 0.07), 0 0 1px 0 rgba(0, 0, 0, 0.08); - position: absolute; - top: 0; - left: 0; - width: 0; - height: 100%; - padding: 4px 0; -} -.ant-segmented-thumb-motion-appear-active { - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - will-change: transform, width; -} -.ant-segmented.ant-segmented-rtl { - direction: rtl; -} -.ant-segmented.ant-segmented-rtl .ant-segmented-item-icon { - margin-right: 0; - margin-left: 6px; -} -.ant-skeleton { - display: table; - width: 100%; -} -.ant-skeleton-header { - display: table-cell; - padding-right: 16px; - vertical-align: top; -} -.ant-skeleton-header .ant-skeleton-avatar { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 32px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-header .ant-skeleton-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-content { - display: table-cell; - width: 100%; - vertical-align: top; -} -.ant-skeleton-content .ant-skeleton-title { - width: 100%; - height: 16px; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; -} -.ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph { - margin-top: 24px; -} -.ant-skeleton-content .ant-skeleton-paragraph { - padding: 0; -} -.ant-skeleton-content .ant-skeleton-paragraph > li { - width: 100%; - height: 16px; - list-style: none; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; -} -.ant-skeleton-content .ant-skeleton-paragraph > li:last-child:not(:first-child):not(:nth-child(2)) { - width: 61%; -} -.ant-skeleton-content .ant-skeleton-paragraph > li + li { - margin-top: 16px; -} -.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title { - margin-top: 12px; -} -.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title + .ant-skeleton-paragraph { - margin-top: 28px; -} -.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title, -.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li { - border-radius: 100px; -} -.ant-skeleton-active .ant-skeleton-title, -.ant-skeleton-active .ant-skeleton-paragraph > li, -.ant-skeleton-active .ant-skeleton-avatar, -.ant-skeleton-active .ant-skeleton-button, -.ant-skeleton-active .ant-skeleton-input, -.ant-skeleton-active .ant-skeleton-image { - position: relative; - /* stylelint-disable-next-line property-no-vendor-prefix,value-no-vendor-prefix */ - z-index: 0; - overflow: hidden; - background: transparent; -} -.ant-skeleton-active .ant-skeleton-title::after, -.ant-skeleton-active .ant-skeleton-paragraph > li::after, -.ant-skeleton-active .ant-skeleton-avatar::after, -.ant-skeleton-active .ant-skeleton-button::after, -.ant-skeleton-active .ant-skeleton-input::after, -.ant-skeleton-active .ant-skeleton-image::after { - position: absolute; - top: 0; - right: -150%; - bottom: 0; - left: -150%; - background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%); - animation: ant-skeleton-loading 1.4s ease infinite; - content: ''; -} -.ant-skeleton.ant-skeleton-block { - width: 100%; -} -.ant-skeleton.ant-skeleton-block .ant-skeleton-button { - width: 100%; -} -.ant-skeleton.ant-skeleton-block .ant-skeleton-input { - width: 100%; -} -.ant-skeleton-element { - display: inline-block; - width: auto; -} -.ant-skeleton-element .ant-skeleton-button { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - border-radius: 2px; - width: 64px; - min-width: 64px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-square { - width: 32px; - min-width: 32px; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle { - width: 32px; - min-width: 32px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round { - border-radius: 32px; -} -.ant-skeleton-element .ant-skeleton-button-lg { - width: 80px; - min-width: 80px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-square { - width: 40px; - min-width: 40px; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle { - width: 40px; - min-width: 40px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round { - border-radius: 40px; -} -.ant-skeleton-element .ant-skeleton-button-sm { - width: 48px; - min-width: 48px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-square { - width: 24px; - min-width: 24px; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle { - width: 24px; - min-width: 24px; - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round { - border-radius: 24px; -} -.ant-skeleton-element .ant-skeleton-avatar { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 32px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-avatar-lg { - width: 40px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-avatar-sm { - width: 24px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-input { - display: inline-block; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 160px; - min-width: 160px; - height: 32px; - line-height: 32px; -} -.ant-skeleton-element .ant-skeleton-input-lg { - width: 200px; - min-width: 200px; - height: 40px; - line-height: 40px; -} -.ant-skeleton-element .ant-skeleton-input-sm { - width: 120px; - min-width: 120px; - height: 24px; - line-height: 24px; -} -.ant-skeleton-element .ant-skeleton-image { - display: flex; - align-items: center; - justify-content: center; - vertical-align: top; - background: rgba(190, 190, 190, 0.2); - width: 96px; - height: 96px; - line-height: 96px; -} -.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle { - border-radius: 50%; -} -.ant-skeleton-element .ant-skeleton-image-path { - fill: #bfbfbf; -} -.ant-skeleton-element .ant-skeleton-image-svg { - width: 48px; - height: 48px; - line-height: 48px; - max-width: 192px; - max-height: 192px; -} -.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle { - border-radius: 50%; -} -@keyframes ant-skeleton-loading { - 0% { - transform: translateX(-37.5%); - } - 100% { - transform: translateX(37.5%); - } -} -.ant-skeleton-rtl { - direction: rtl; -} -.ant-skeleton-rtl .ant-skeleton-header { - padding-right: 0; - padding-left: 16px; -} -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { - animation-name: ant-skeleton-loading-rtl; -} -.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { - animation-name: ant-skeleton-loading-rtl; -} -@keyframes ant-skeleton-loading-rtl { - 0% { - background-position: 0% 50%; - } - 100% { - background-position: 100% 50%; - } -} -.ant-slider { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - height: 12px; - margin: 10px 6px 10px; - padding: 4px 0; - cursor: pointer; - touch-action: none; -} -.ant-slider-vertical { - width: 12px; - height: 100%; - margin: 6px 10px; - padding: 0 4px; -} -.ant-slider-vertical .ant-slider-rail { - width: 4px; - height: 100%; -} -.ant-slider-vertical .ant-slider-track { - width: 4px; -} -.ant-slider-vertical .ant-slider-handle { - margin-top: -6px; - margin-left: -5px; -} -.ant-slider-vertical .ant-slider-mark { - top: 0; - left: 12px; - width: 18px; - height: 100%; -} -.ant-slider-vertical .ant-slider-mark-text { - left: 4px; - white-space: nowrap; -} -.ant-slider-vertical .ant-slider-step { - width: 4px; - height: 100%; -} -.ant-slider-vertical .ant-slider-dot { - top: auto; - margin-left: -2px; -} -.ant-slider-tooltip .ant-tooltip-inner { - min-width: unset; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-handle { - margin-right: -5px; - margin-left: 0; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-mark { - right: 12px; - left: auto; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text { - right: 4px; - left: auto; -} -.ant-slider-rtl.ant-slider-vertical .ant-slider-dot { - right: 2px; - left: auto; -} -.ant-slider-with-marks { - margin-bottom: 28px; -} -.ant-slider-rail { - position: absolute; - width: 100%; - height: 4px; - background-color: #f5f5f5; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-slider-track { - position: absolute; - height: 4px; - background-color: #91d5ff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-slider-handle { - position: absolute; - width: 14px; - height: 14px; - margin-top: -5px; - background-color: #fff; - border: solid 2px #91d5ff; - border-radius: 50%; - box-shadow: 0; - cursor: pointer; - transition: border-color 0.3s, box-shadow 0.6s, transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); -} -.ant-slider-handle-dragging { - z-index: 1; -} -.ant-slider-handle:focus { - border-color: #46a6ff; - outline: none; - box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12); -} -.ant-slider-handle.ant-tooltip-open { - border-color: #1890ff; -} -.ant-slider-handle::after { - position: absolute; - top: -6px; - right: -6px; - bottom: -6px; - left: -6px; - content: ''; -} -.ant-slider:hover .ant-slider-rail { - background-color: #e1e1e1; -} -.ant-slider:hover .ant-slider-track { - background-color: #69c0ff; -} -.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { - border-color: #69c0ff; -} -.ant-slider-mark { - position: absolute; - top: 14px; - left: 0; - width: 100%; - font-size: 14px; -} -.ant-slider-mark-text { - position: absolute; - display: inline-block; - color: rgba(0, 0, 0, 0.45); - text-align: center; - word-break: keep-all; - cursor: pointer; - user-select: none; -} -.ant-slider-mark-text-active { - color: rgba(0, 0, 0, 0.85); -} -.ant-slider-step { - position: absolute; - width: 100%; - height: 4px; - background: transparent; - pointer-events: none; -} -.ant-slider-dot { - position: absolute; - top: -2px; - width: 8px; - height: 8px; - background-color: #fff; - border: 2px solid #f0f0f0; - border-radius: 50%; - cursor: pointer; -} -.ant-slider-dot-active { - border-color: #8cc8ff; -} -.ant-slider-disabled { - cursor: not-allowed; -} -.ant-slider-disabled .ant-slider-rail { - background-color: #f5f5f5 !important; -} -.ant-slider-disabled .ant-slider-track { - background-color: rgba(0, 0, 0, 0.25) !important; -} -.ant-slider-disabled .ant-slider-handle, -.ant-slider-disabled .ant-slider-dot { - background-color: #fff; - border-color: rgba(0, 0, 0, 0.25) !important; - box-shadow: none; - cursor: not-allowed; -} -.ant-slider-disabled .ant-slider-mark-text, -.ant-slider-disabled .ant-slider-dot { - cursor: not-allowed !important; -} -.ant-slider-rtl { - direction: rtl; -} -.ant-slider-rtl .ant-slider-mark { - right: 0; - left: auto; -} -.ant-spin { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - display: none; - color: #1890ff; - text-align: center; - vertical-align: middle; - opacity: 0; - transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); -} -.ant-spin-spinning { - position: static; - display: inline-block; - opacity: 1; -} -.ant-spin-nested-loading { - position: relative; -} -.ant-spin-nested-loading > div > .ant-spin { - position: absolute; - top: 0; - left: 0; - z-index: 4; - display: block; - width: 100%; - height: 100%; - max-height: 400px; -} -.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot { - position: absolute; - top: 50%; - left: 50%; - margin: -10px; -} -.ant-spin-nested-loading > div > .ant-spin .ant-spin-text { - position: absolute; - top: 50%; - width: 100%; - padding-top: 5px; - text-shadow: 0 1px 2px #fff; -} -.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot { - margin-top: -20px; -} -.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot { - margin: -7px; -} -.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text { - padding-top: 2px; -} -.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot { - margin-top: -17px; -} -.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot { - margin: -16px; -} -.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text { - padding-top: 11px; -} -.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot { - margin-top: -26px; -} -.ant-spin-container { - position: relative; - transition: opacity 0.3s; -} -.ant-spin-container::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 10; - display: none \9; - width: 100%; - height: 100%; - background: #fff; - opacity: 0; - transition: all 0.3s; - content: ''; - pointer-events: none; -} -.ant-spin-blur { - clear: both; - opacity: 0.5; - user-select: none; - pointer-events: none; -} -.ant-spin-blur::after { - opacity: 0.4; - pointer-events: auto; -} -.ant-spin-tip { - color: rgba(0, 0, 0, 0.45); -} -.ant-spin-dot { - position: relative; - display: inline-block; - font-size: 20px; - width: 1em; - height: 1em; -} -.ant-spin-dot-item { - position: absolute; - display: block; - width: 9px; - height: 9px; - background-color: #1890ff; - border-radius: 100%; - transform: scale(0.75); - transform-origin: 50% 50%; - opacity: 0.3; - animation: antSpinMove 1s infinite linear alternate; -} -.ant-spin-dot-item:nth-child(1) { - top: 0; - left: 0; -} -.ant-spin-dot-item:nth-child(2) { - top: 0; - right: 0; - animation-delay: 0.4s; -} -.ant-spin-dot-item:nth-child(3) { - right: 0; - bottom: 0; - animation-delay: 0.8s; -} -.ant-spin-dot-item:nth-child(4) { - bottom: 0; - left: 0; - animation-delay: 1.2s; -} -.ant-spin-dot-spin { - transform: rotate(0deg); - animation: antRotate 1.2s infinite linear; -} -.ant-spin-sm .ant-spin-dot { - font-size: 14px; -} -.ant-spin-sm .ant-spin-dot i { - width: 6px; - height: 6px; -} -.ant-spin-lg .ant-spin-dot { - font-size: 32px; -} -.ant-spin-lg .ant-spin-dot i { - width: 14px; - height: 14px; -} -.ant-spin.ant-spin-show-text .ant-spin-text { - display: block; -} -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - /* IE10+ */ - .ant-spin-blur { - background: #fff; - opacity: 0.5; - } -} -@keyframes antSpinMove { - to { - opacity: 1; - } -} -@keyframes antRotate { - to { - transform: rotate(360deg); - } -} -.ant-spin-rtl { - direction: rtl; -} -.ant-spin-rtl .ant-spin-dot-spin { - transform: rotate(-45deg); - animation-name: antRotateRtl; -} -@keyframes antRotateRtl { - to { - transform: rotate(-405deg); - } -} -.ant-statistic { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-statistic-title { - margin-bottom: 4px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-statistic-skeleton { - padding-top: 16px; -} -.ant-statistic-content { - color: rgba(0, 0, 0, 0.85); - font-size: 24px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; -} -.ant-statistic-content-value { - display: inline-block; - direction: ltr; -} -.ant-statistic-content-prefix, -.ant-statistic-content-suffix { - display: inline-block; -} -.ant-statistic-content-prefix { - margin-right: 4px; -} -.ant-statistic-content-suffix { - margin-left: 4px; -} -.ant-statistic-rtl { - direction: rtl; -} -.ant-statistic-rtl .ant-statistic-content-prefix { - margin-right: 0; - margin-left: 4px; -} -.ant-statistic-rtl .ant-statistic-content-suffix { - margin-right: 4px; - margin-left: 0; -} -.ant-steps { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: flex; - width: 100%; - font-size: 0; - text-align: initial; -} -.ant-steps-item { - position: relative; - display: inline-block; - flex: 1; - overflow: hidden; - vertical-align: top; -} -.ant-steps-item-container { - outline: none; -} -.ant-steps-item:last-child { - flex: none; -} -.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-tail, -.ant-steps-item:last-child > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - display: none; -} -.ant-steps-item-icon, -.ant-steps-item-content { - display: inline-block; - vertical-align: top; -} -.ant-steps-item-icon { - width: 32px; - height: 32px; - margin: 0 8px 0 0; - font-size: 16px; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - line-height: 32px; - text-align: center; - border: 1px solid rgba(0, 0, 0, 0.25); - border-radius: 32px; - transition: background-color 0.3s, border-color 0.3s; -} -.ant-steps-item-icon .ant-steps-icon { - position: relative; - top: -0.5px; - color: #1890ff; - line-height: 1; -} -.ant-steps-item-tail { - position: absolute; - top: 12px; - left: 0; - width: 100%; - padding: 0 10px; -} -.ant-steps-item-tail::after { - display: inline-block; - width: 100%; - height: 1px; - background: #f0f0f0; - border-radius: 1px; - transition: background 0.3s; - content: ''; -} -.ant-steps-item-title { - position: relative; - display: inline-block; - padding-right: 16px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; - line-height: 32px; -} -.ant-steps-item-title::after { - position: absolute; - top: 16px; - left: 100%; - display: block; - width: 9999px; - height: 1px; - background: #f0f0f0; - content: ''; -} -.ant-steps-item-subtitle { - display: inline; - margin-left: 8px; - color: rgba(0, 0, 0, 0.45); - font-weight: normal; - font-size: 14px; -} -.ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-steps-item-wait .ant-steps-item-icon { - background-color: #fff; - border-color: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: rgba(0, 0, 0, 0.25); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item-process .ant-steps-item-icon { - background-color: #fff; - border-color: #1890ff; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #1890ff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon { - background: #1890ff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon .ant-steps-icon { - color: #fff; -} -.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-title { - font-weight: 500; -} -.ant-steps-item-finish .ant-steps-item-icon { - background-color: #fff; - border-color: #1890ff; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #1890ff; -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: rgba(0, 0, 0, 0.85); -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #1890ff; -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); -} -.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #1890ff; -} -.ant-steps-item-error .ant-steps-item-icon { - background-color: #fff; - border-color: #ff4d4f; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { - color: #ff4d4f; -} -.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { - background: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { - color: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - background-color: #f0f0f0; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { - color: #ff4d4f; -} -.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after { - background-color: #f0f0f0; -} -.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after { - background: #ff4d4f; -} -.ant-steps-item-disabled { - cursor: not-allowed; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] { - cursor: pointer; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-title, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-subtitle, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-description, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button'] .ant-steps-item-icon .ant-steps-icon { - transition: color 0.3s; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, -.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description { - color: #1890ff; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon { - border-color: #1890ff; -} -.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon { - color: #1890ff; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-left: 16px; - white-space: nowrap; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-left: 0; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title { - padding-right: 0; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail { - display: none; -} -.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description { - max-width: 140px; - white-space: normal; -} -.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon { - height: auto; - background: none; - border: 0; -} -.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon > .ant-steps-icon { - top: 0px; - left: 0.5px; - width: 32px; - height: 32px; - font-size: 24px; - line-height: 32px; -} -.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { - color: #1890ff; -} -.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon { - width: auto; - background: none; -} -.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-left: 12px; -} -.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-left: 0; -} -.ant-steps-small .ant-steps-item-icon { - width: 24px; - height: 24px; - margin: 0 8px 0 0; - font-size: 12px; - line-height: 24px; - text-align: center; - border-radius: 24px; -} -.ant-steps-small .ant-steps-item-title { - padding-right: 12px; - font-size: 14px; - line-height: 24px; -} -.ant-steps-small .ant-steps-item-title::after { - top: 12px; -} -.ant-steps-small .ant-steps-item-description { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-steps-small .ant-steps-item-tail { - top: 8px; -} -.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { - width: inherit; - height: inherit; - line-height: inherit; - background: none; - border: 0; - border-radius: 0; -} -.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon { - font-size: 24px; - line-height: 24px; - transform: none; -} -.ant-steps-vertical { - display: flex; - flex-direction: column; -} -.ant-steps-vertical > .ant-steps-item { - display: block; - flex: 1 0 auto; - padding-left: 0; - overflow: visible; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon { - float: left; - margin-right: 16px; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-content { - display: block; - min-height: 48px; - overflow: hidden; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-title { - line-height: 32px; -} -.ant-steps-vertical > .ant-steps-item .ant-steps-item-description { - padding-bottom: 12px; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - position: absolute; - top: 0; - left: 16px; - width: 1px; - height: 100%; - padding: 38px 0 6px; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail::after { - width: 1px; - height: 100%; -} -.ant-steps-vertical > .ant-steps-item:not(:last-child) > .ant-steps-item-container > .ant-steps-item-tail { - display: block; -} -.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { - display: none; -} -.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail { - position: absolute; - top: 0; - left: 12px; - padding: 30px 0 6px; -} -.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title { - line-height: 24px; -} -.ant-steps-label-vertical .ant-steps-item { - overflow: visible; -} -.ant-steps-label-vertical .ant-steps-item-tail { - margin-left: 58px; - padding: 3.5px 24px; -} -.ant-steps-label-vertical .ant-steps-item-content { - display: block; - width: 116px; - margin-top: 8px; - text-align: center; -} -.ant-steps-label-vertical .ant-steps-item-icon { - display: inline-block; - margin-left: 42px; -} -.ant-steps-label-vertical .ant-steps-item-title { - padding-right: 0; - padding-left: 0; -} -.ant-steps-label-vertical .ant-steps-item-title::after { - display: none; -} -.ant-steps-label-vertical .ant-steps-item-subtitle { - display: block; - margin-bottom: 4px; - margin-left: 0; - line-height: 1.5715; -} -.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon { - margin-left: 46px; -} -.ant-steps-dot .ant-steps-item-title, -.ant-steps-dot.ant-steps-small .ant-steps-item-title { - line-height: 1.5715; -} -.ant-steps-dot .ant-steps-item-tail, -.ant-steps-dot.ant-steps-small .ant-steps-item-tail { - top: 2px; - width: 100%; - margin: 0 0 0 70px; - padding: 0; -} -.ant-steps-dot .ant-steps-item-tail::after, -.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after { - width: calc(100% - 20px); - height: 3px; - margin-left: 12px; -} -.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot { - left: 2px; -} -.ant-steps-dot .ant-steps-item-icon, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - width: 8px; - height: 8px; - margin-left: 67px; - padding-right: 0; - line-height: 8px; - background: transparent; - border: 0; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - position: relative; - float: left; - width: 100%; - height: 100%; - border-radius: 100px; - transition: all 0.3s; - /* expand hover area */ -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after { - position: absolute; - top: -12px; - left: -26px; - width: 60px; - height: 32px; - background: rgba(0, 0, 0, 0.001); - content: ''; -} -.ant-steps-dot .ant-steps-item-content, -.ant-steps-dot.ant-steps-small .ant-steps-item-content { - width: 140px; -} -.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon, -.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon { - position: relative; - top: -1px; - width: 10px; - height: 10px; - line-height: 10px; - background: none; -} -.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot { - left: 0; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon { - margin-top: 13px; - margin-left: 0; - background: none; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - top: 6.5px; - left: -9px; - margin: 0; - padding: 22px 0 4px; -} -.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - margin-top: 10px; -} -.ant-steps-vertical.ant-steps-dot.ant-steps-small .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - top: 3.5px; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot { - left: 0; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-content { - width: inherit; -} -.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot { - top: -1px; - left: -1px; -} -.ant-steps-navigation { - padding-top: 12px; -} -.ant-steps-navigation.ant-steps-small .ant-steps-item-container { - margin-left: -12px; -} -.ant-steps-navigation .ant-steps-item { - overflow: visible; - text-align: center; -} -.ant-steps-navigation .ant-steps-item-container { - display: inline-block; - height: 100%; - margin-left: -16px; - padding-bottom: 12px; - text-align: left; - transition: opacity 0.3s; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content { - max-width: auto; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title { - max-width: 100%; - padding-right: 0; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after { - display: none; -} -.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button'] { - cursor: pointer; -} -.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role='button']:hover { - opacity: 0.85; -} -.ant-steps-navigation .ant-steps-item:last-child { - flex: 1; -} -.ant-steps-navigation .ant-steps-item:last-child::after { - display: none; -} -.ant-steps-navigation .ant-steps-item::after { - position: absolute; - top: 50%; - left: 100%; - display: inline-block; - width: 12px; - height: 12px; - margin-top: -14px; - margin-left: -2px; - border: 1px solid rgba(0, 0, 0, 0.25); - border-bottom: none; - border-left: none; - transform: rotate(45deg); - content: ''; -} -.ant-steps-navigation .ant-steps-item::before { - position: absolute; - bottom: 0; - left: 50%; - display: inline-block; - width: 0; - height: 2px; - background-color: #1890ff; - transition: width 0.3s, left 0.3s; - transition-timing-function: ease-out; - content: ''; -} -.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before { - left: 0; - width: 100%; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item { - margin-right: 0 !important; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::before { - display: none; -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item.ant-steps-item-active::before { - top: 0; - right: 0; - left: unset; - display: block; - width: 3px; - height: calc(100% - 24px); -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item::after { - position: relative; - top: -2px; - left: 50%; - display: block; - width: 8px; - height: 8px; - margin-bottom: 8px; - text-align: center; - transform: rotate(135deg); -} -.ant-steps-navigation.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - visibility: hidden; -} -.ant-steps-navigation.ant-steps-horizontal > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - visibility: hidden; -} -.ant-steps-rtl { - direction: rtl; -} -.ant-steps.ant-steps-rtl .ant-steps-item-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-steps-rtl .ant-steps-item-tail { - right: 0; - left: auto; -} -.ant-steps-rtl .ant-steps-item-title { - padding-right: 0; - padding-left: 16px; -} -.ant-steps-rtl .ant-steps-item-title .ant-steps-item-subtitle { - float: left; - margin-right: 8px; - margin-left: 0; -} -.ant-steps-rtl .ant-steps-item-title::after { - right: 100%; - left: auto; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-right: 16px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-right: 0; -} -.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon { - right: 0.5px; - left: auto; -} -.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container { - margin-right: -12px; - margin-left: 0; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container { - margin-right: -16px; - margin-left: 0; - text-align: right; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after { - right: 100%; - left: auto; - margin-right: -2px; - margin-left: 0; - transform: rotate(225deg); -} -.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item { - padding-right: 12px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child { - padding-right: 0; -} -.ant-steps-rtl.ant-steps-small .ant-steps-item-title { - padding-right: 0; - padding-left: 12px; -} -.ant-steps-rtl.ant-steps-vertical > .ant-steps-item .ant-steps-item-icon { - float: right; - margin-right: 0; - margin-left: 16px; -} -.ant-steps-rtl.ant-steps-vertical > .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - right: 16px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail { - right: 12px; - left: auto; -} -.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title { - padding-left: 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail { - margin: 0 70px 0 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after { - margin-right: 12px; - margin-left: 0; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot { - right: 2px; - left: auto; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon { - margin-right: 67px; - margin-left: 0; -} -.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - /* expand hover area */ -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { - float: right; -} -.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, -.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after { - right: -26px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon { - margin-right: 0; - margin-left: 16px; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item > .ant-steps-item-container > .ant-steps-item-tail { - right: -9px; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot { - right: 0; - left: auto; -} -.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot { - right: -2px; - left: auto; -} -.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child { - padding-right: 4px; - padding-left: 0; -} -.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active { - padding-right: 4px; -} -.ant-steps-with-progress .ant-steps-item { - padding-top: 4px; -} -.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail { - top: 4px !important; -} -.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child { - padding-bottom: 4px; - padding-left: 4px; -} -.ant-steps-with-progress.ant-steps-label-vertical .ant-steps-item .ant-steps-item-tail { - top: 14px !important; -} -.ant-steps-with-progress .ant-steps-item-icon { - position: relative; -} -.ant-steps-with-progress .ant-steps-item-icon .ant-progress { - position: absolute; - top: -5px; - right: -5px; - bottom: -5px; - left: -5px; -} -.ant-switch { - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: inline-block; - box-sizing: border-box; - min-width: 44px; - height: 22px; - line-height: 22px; - vertical-align: middle; - background-color: rgba(0, 0, 0, 0.25); - border: 0; - border-radius: 100px; - cursor: pointer; - transition: all 0.2s; - user-select: none; -} -.ant-switch:focus { - outline: 0; - box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1); -} -.ant-switch-checked:focus { - box-shadow: 0 0 0 2px #e6f7ff; -} -.ant-switch:focus:hover { - box-shadow: none; -} -.ant-switch-checked { - background-color: #1890ff; -} -.ant-switch-loading, -.ant-switch-disabled { - cursor: not-allowed; - opacity: 0.4; -} -.ant-switch-loading *, -.ant-switch-disabled * { - box-shadow: none; - cursor: not-allowed; -} -.ant-switch-inner { - display: block; - margin: 0 7px 0 25px; - color: #fff; - font-size: 12px; - transition: margin 0.2s; -} -.ant-switch-checked .ant-switch-inner { - margin: 0 25px 0 7px; -} -.ant-switch-handle { - position: absolute; - top: 2px; - left: 2px; - width: 18px; - height: 18px; - transition: all 0.2s ease-in-out; -} -.ant-switch-handle::before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: #fff; - border-radius: 9px; - box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); - transition: all 0.2s ease-in-out; - content: ''; -} -.ant-switch-checked .ant-switch-handle { - left: calc(100% - 18px - 2px); -} -.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before { - right: -30%; - left: 0; -} -.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before { - right: 0; - left: -30%; -} -.ant-switch-loading-icon.anticon { - position: relative; - top: 2px; - color: rgba(0, 0, 0, 0.65); - vertical-align: top; -} -.ant-switch-checked .ant-switch-loading-icon { - color: #1890ff; -} -.ant-switch-small { - min-width: 28px; - height: 16px; - line-height: 16px; -} -.ant-switch-small .ant-switch-inner { - margin: 0 5px 0 18px; - font-size: 12px; -} -.ant-switch-small .ant-switch-handle { - width: 12px; - height: 12px; -} -.ant-switch-small .ant-switch-loading-icon { - top: 1.5px; - font-size: 9px; -} -.ant-switch-small.ant-switch-checked .ant-switch-inner { - margin: 0 18px 0 5px; -} -.ant-switch-small.ant-switch-checked .ant-switch-handle { - left: calc(100% - 12px - 2px); -} -.ant-switch-rtl { - direction: rtl; -} -.ant-switch-rtl .ant-switch-inner { - margin: 0 25px 0 7px; -} -.ant-switch-rtl .ant-switch-handle { - right: 2px; - left: auto; -} -.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before { - right: 0; - left: -30%; -} -.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before { - right: -30%; - left: 0; -} -.ant-switch-rtl.ant-switch-checked .ant-switch-inner { - margin: 0 7px 0 25px; -} -.ant-switch-rtl.ant-switch-checked .ant-switch-handle { - right: calc(100% - 18px - 2px); -} -.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle { - right: calc(100% - 12px - 2px); -} -.ant-table.ant-table-middle { - font-size: 14px; -} -.ant-table.ant-table-middle .ant-table-title, -.ant-table.ant-table-middle .ant-table-footer, -.ant-table.ant-table-middle .ant-table-thead > tr > th, -.ant-table.ant-table-middle .ant-table-tbody > tr > td, -.ant-table.ant-table-middle tfoot > tr > th, -.ant-table.ant-table-middle tfoot > tr > td { - padding: 12px 8px; -} -.ant-table.ant-table-middle .ant-table-filter-trigger { - margin-right: -4px; -} -.ant-table.ant-table-middle .ant-table-expanded-row-fixed { - margin: -12px -8px; -} -.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table { - margin: -12px -8px -12px 40px; -} -.ant-table.ant-table-middle .ant-table-selection-column { - padding-inline-start: 2px; -} -.ant-table.ant-table-small { - font-size: 14px; -} -.ant-table.ant-table-small .ant-table-title, -.ant-table.ant-table-small .ant-table-footer, -.ant-table.ant-table-small .ant-table-thead > tr > th, -.ant-table.ant-table-small .ant-table-tbody > tr > td, -.ant-table.ant-table-small tfoot > tr > th, -.ant-table.ant-table-small tfoot > tr > td { - padding: 8px 8px; -} -.ant-table.ant-table-small .ant-table-filter-trigger { - margin-right: -4px; -} -.ant-table.ant-table-small .ant-table-expanded-row-fixed { - margin: -8px -8px; -} -.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table { - margin: -8px -8px -8px 40px; -} -.ant-table.ant-table-small .ant-table-selection-column { - padding-inline-start: 2px; -} -.ant-table.ant-table-bordered > .ant-table-title { - border: 1px solid #f0f0f0; - border-bottom: 0; -} -.ant-table.ant-table-bordered > .ant-table-container { - border-left: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > td, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > td { - border-right: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr:not(:last-child) > th, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr:not(:last-child) > th { - border-bottom: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th::before, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th::before { - background-color: transparent !important; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > .ant-table-cell-fix-right-first::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > .ant-table-cell-fix-right-first::after { - border-right: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -16px -17px; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed::after { - position: absolute; - top: 0; - right: 1px; - bottom: 0; - border-right: 1px solid #f0f0f0; - content: ''; -} -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table, -.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table { - border-top: 1px solid #f0f0f0; -} -.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td, -.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td { - border-right: 0; -} -.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered.ant-table-middle > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -12px -9px; -} -.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed, -.ant-table.ant-table-bordered.ant-table-small > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed { - margin: -8px -9px; -} -.ant-table.ant-table-bordered > .ant-table-footer { - border: 1px solid #f0f0f0; - border-top: 0; -} -.ant-table-cell .ant-table-container:first-child { - border-top: 0; -} -.ant-table-cell-scrollbar:not([rowspan]) { - box-shadow: 0 1px 0 1px #fafafa; -} -.ant-table-wrapper { - clear: both; - max-width: 100%; -} -.ant-table-wrapper::before { - display: table; - content: ''; -} -.ant-table-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-table-wrapper::before { - display: table; - content: ''; -} -.ant-table-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-table { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - font-size: 14px; - background: #fff; - border-radius: 2px; -} -.ant-table table { - width: 100%; - text-align: left; - border-radius: 2px 2px 0 0; - border-collapse: separate; - border-spacing: 0; -} -.ant-table-thead > tr > th, -.ant-table-tbody > tr > td, -.ant-table tfoot > tr > th, -.ant-table tfoot > tr > td { - position: relative; - padding: 16px 16px; - overflow-wrap: break-word; -} -.ant-table-cell-ellipsis { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-table-cell-ellipsis.ant-table-cell-fix-left-last, -.ant-table-cell-ellipsis.ant-table-cell-fix-right-first { - overflow: visible; -} -.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content, -.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content { - display: block; - overflow: hidden; - text-overflow: ellipsis; -} -.ant-table-cell-ellipsis .ant-table-column-title { - overflow: hidden; - text-overflow: ellipsis; - word-break: keep-all; -} -.ant-table-title { - padding: 16px 16px; -} -.ant-table-footer { - padding: 16px 16px; - color: rgba(0, 0, 0, 0.85); - background: #fafafa; -} -.ant-table-thead > tr > th { - position: relative; - color: rgba(0, 0, 0, 0.85); - font-weight: 500; - text-align: left; - background: #fafafa; - border-bottom: 1px solid #f0f0f0; - transition: background 0.3s ease; -} -.ant-table-thead > tr > th[colspan]:not([colspan='1']) { - text-align: center; -} -.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { - position: absolute; - top: 50%; - right: 0; - width: 1px; - height: 1.6em; - background-color: rgba(0, 0, 0, 0.06); - transform: translateY(-50%); - transition: background-color 0.3s; - content: ''; -} -.ant-table-thead > tr:not(:last-child) > th[colspan] { - border-bottom: 0; -} -.ant-table-tbody > tr > td { - border-bottom: 1px solid #f0f0f0; - transition: background 0.3s; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table { - margin: -16px -16px -16px 32px; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td { - border-bottom: 0; -} -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, -.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child, -.ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child { - border-radius: 0; -} -.ant-table-tbody > tr.ant-table-row:hover > td, -.ant-table-tbody > tr > td.ant-table-cell-row-hover { - background: #fafafa; -} -.ant-table-tbody > tr.ant-table-row-selected > td { - background: #e6f7ff; - border-color: rgba(0, 0, 0, 0.03); -} -.ant-table-tbody > tr.ant-table-row-selected:hover > td { - background: #dcf4ff; -} -.ant-table-summary { - position: relative; - z-index: 2; - background: #fff; -} -div.ant-table-summary { - box-shadow: 0 -1px 0 #f0f0f0; -} -.ant-table-summary > tr > th, -.ant-table-summary > tr > td { - border-bottom: 1px solid #f0f0f0; -} -.ant-table-pagination.ant-pagination { - margin: 16px 0; -} -.ant-table-pagination { - display: flex; - flex-wrap: wrap; - row-gap: 8px; -} -.ant-table-pagination > * { - flex: none; -} -.ant-table-pagination-left { - justify-content: flex-start; -} -.ant-table-pagination-center { - justify-content: center; -} -.ant-table-pagination-right { - justify-content: flex-end; -} -.ant-table-thead th.ant-table-column-has-sorters { - outline: none; - cursor: pointer; - transition: all 0.3s; -} -.ant-table-thead th.ant-table-column-has-sorters:hover { - background: rgba(0, 0, 0, 0.04); -} -.ant-table-thead th.ant-table-column-has-sorters:hover::before { - background-color: transparent !important; -} -.ant-table-thead th.ant-table-column-has-sorters:focus-visible { - color: #1890ff; -} -.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover, -.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover { - background: #f5f5f5; -} -.ant-table-thead th.ant-table-column-sort { - background: #f5f5f5; -} -.ant-table-thead th.ant-table-column-sort::before { - background-color: transparent !important; -} -td.ant-table-column-sort { - background: #fafafa; -} -.ant-table-column-title { - position: relative; - z-index: 1; - flex: 1; -} -.ant-table-column-sorters { - display: flex; - flex: auto; - align-items: center; - justify-content: space-between; -} -.ant-table-column-sorters::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - content: ''; -} -.ant-table-column-sorter { - margin-left: 4px; - color: #bfbfbf; - font-size: 0; - transition: color 0.3s; -} -.ant-table-column-sorter-inner { - display: inline-flex; - flex-direction: column; - align-items: center; -} -.ant-table-column-sorter-up, -.ant-table-column-sorter-down { - font-size: 11px; -} -.ant-table-column-sorter-up.active, -.ant-table-column-sorter-down.active { - color: #1890ff; -} -.ant-table-column-sorter-up + .ant-table-column-sorter-down { - margin-top: -0.3em; -} -.ant-table-column-sorters:hover .ant-table-column-sorter { - color: #a6a6a6; -} -.ant-table-filter-column { - display: flex; - justify-content: space-between; -} -.ant-table-filter-trigger { - position: relative; - display: flex; - align-items: center; - margin: -4px -8px -4px 4px; - padding: 0 4px; - color: #bfbfbf; - font-size: 12px; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s; -} -.ant-table-filter-trigger:hover { - color: rgba(0, 0, 0, 0.45); - background: rgba(0, 0, 0, 0.04); -} -.ant-table-filter-trigger.active { - color: #1890ff; -} -.ant-table-filter-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - min-width: 120px; - background-color: #fff; - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-table-filter-dropdown .ant-dropdown-menu { - max-height: 264px; - overflow-x: hidden; - border: 0; - box-shadow: none; -} -.ant-table-filter-dropdown .ant-dropdown-menu:empty::after { - display: block; - padding: 8px 0; - color: rgba(0, 0, 0, 0.25); - font-size: 12px; - text-align: center; - content: 'Not Found'; -} -.ant-table-filter-dropdown-tree { - padding: 8px 8px 0; -} -.ant-table-filter-dropdown-tree .ant-tree-treenode .ant-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper, -.ant-table-filter-dropdown-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper:hover { - background-color: #bae7ff; -} -.ant-table-filter-dropdown-search { - padding: 8px; - border-bottom: 1px #f0f0f0 solid; -} -.ant-table-filter-dropdown-search-input input { - min-width: 140px; -} -.ant-table-filter-dropdown-search-input .anticon { - color: rgba(0, 0, 0, 0.25); -} -.ant-table-filter-dropdown-checkall { - width: 100%; - margin-bottom: 4px; - margin-left: 4px; -} -.ant-table-filter-dropdown-submenu > ul { - max-height: calc(100vh - 130px); - overflow-x: hidden; - overflow-y: auto; -} -.ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span { - padding-left: 8px; -} -.ant-table-filter-dropdown-btns { - display: flex; - justify-content: space-between; - padding: 7px 8px; - overflow: hidden; - background-color: inherit; - border-top: 1px solid #f0f0f0; -} -.ant-table-selection-col { - width: 32px; -} -.ant-table-bordered .ant-table-selection-col { - width: 50px; -} -table tr th.ant-table-selection-column, -table tr td.ant-table-selection-column { - padding-right: 8px; - padding-left: 8px; - text-align: center; -} -table tr th.ant-table-selection-column .ant-radio-wrapper, -table tr td.ant-table-selection-column .ant-radio-wrapper { - margin-right: 0; -} -table tr th.ant-table-selection-column.ant-table-cell-fix-left { - z-index: 3; -} -table tr th.ant-table-selection-column::after { - background-color: transparent !important; -} -.ant-table-selection { - position: relative; - display: inline-flex; - flex-direction: column; -} -.ant-table-selection-extra { - position: absolute; - top: 0; - z-index: 1; - cursor: pointer; - transition: all 0.3s; - margin-inline-start: 100%; - padding-inline-start: 4px; -} -.ant-table-selection-extra .anticon { - color: #bfbfbf; - font-size: 10px; -} -.ant-table-selection-extra .anticon:hover { - color: #a6a6a6; -} -.ant-table-expand-icon-col { - width: 48px; -} -.ant-table-row-expand-icon-cell { - text-align: center; -} -.ant-table-row-expand-icon-cell .ant-table-row-expand-icon { - display: inline-flex; - float: none; - vertical-align: sub; -} -.ant-table-row-indent { - float: left; - height: 1px; -} -.ant-table-row-expand-icon { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - position: relative; - float: left; - box-sizing: border-box; - width: 17px; - height: 17px; - padding: 0; - color: inherit; - line-height: 17px; - background: #fff; - border: 1px solid #f0f0f0; - border-radius: 2px; - transform: scale(0.94117647); - transition: all 0.3s; - user-select: none; -} -.ant-table-row-expand-icon:focus-visible, -.ant-table-row-expand-icon:hover { - color: #40a9ff; -} -.ant-table-row-expand-icon:active { - color: #096dd9; -} -.ant-table-row-expand-icon:focus, -.ant-table-row-expand-icon:hover, -.ant-table-row-expand-icon:active { - border-color: currentcolor; -} -.ant-table-row-expand-icon::before, -.ant-table-row-expand-icon::after { - position: absolute; - background: currentcolor; - transition: transform 0.3s ease-out; - content: ''; -} -.ant-table-row-expand-icon::before { - top: 7px; - right: 3px; - left: 3px; - height: 1px; -} -.ant-table-row-expand-icon::after { - top: 3px; - bottom: 3px; - left: 7px; - width: 1px; - transform: rotate(90deg); -} -.ant-table-row-expand-icon-collapsed::before { - transform: rotate(-180deg); -} -.ant-table-row-expand-icon-collapsed::after { - transform: rotate(0deg); -} -.ant-table-row-expand-icon-spaced { - background: transparent; - border: 0; - visibility: hidden; -} -.ant-table-row-expand-icon-spaced::before, -.ant-table-row-expand-icon-spaced::after { - display: none; - content: none; -} -.ant-table-row-indent + .ant-table-row-expand-icon { - margin-top: 2.5005px; - margin-right: 8px; -} -tr.ant-table-expanded-row > td, -tr.ant-table-expanded-row:hover > td { - background: #fbfbfb; -} -tr.ant-table-expanded-row .ant-descriptions-view { - display: flex; -} -tr.ant-table-expanded-row .ant-descriptions-view table { - flex: auto; - width: auto; -} -.ant-table .ant-table-expanded-row-fixed { - position: relative; - margin: -16px -16px; - padding: 16px 16px; -} -.ant-table-tbody > tr.ant-table-placeholder { - text-align: center; -} -.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder { - color: rgba(0, 0, 0, 0.25); -} -.ant-table-tbody > tr.ant-table-placeholder:hover > td { - background: #fff; -} -.ant-table-cell-fix-left, -.ant-table-cell-fix-right { - position: sticky !important; - z-index: 2; - background: #fff; -} -.ant-table-cell-fix-left-first::after, -.ant-table-cell-fix-left-last::after { - position: absolute; - top: 0; - right: 0; - bottom: -1px; - width: 30px; - transform: translateX(100%); - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table-cell-fix-left-all::after { - display: none; -} -.ant-table-cell-fix-right-first::after, -.ant-table-cell-fix-right-last::after { - position: absolute; - top: 0; - bottom: -1px; - left: 0; - width: 30px; - transform: translateX(-100%); - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table .ant-table-container::before, -.ant-table .ant-table-container::after { - position: absolute; - top: 0; - bottom: 0; - z-index: calc(calc(2 + 1) + 1); - width: 30px; - transition: box-shadow 0.3s; - content: ''; - pointer-events: none; -} -.ant-table .ant-table-container::before { - left: 0; -} -.ant-table .ant-table-container::after { - right: 0; -} -.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container { - position: relative; -} -.ant-table-ping-left:not(.ant-table-has-fix-left) > .ant-table-container::before { - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-left .ant-table-cell-fix-left-first::after, -.ant-table-ping-left .ant-table-cell-fix-left-last::after { - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-left .ant-table-cell-fix-left-last::before { - background-color: transparent !important; -} -.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container { - position: relative; -} -.ant-table-ping-right:not(.ant-table-has-fix-right) > .ant-table-container::after { - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-ping-right .ant-table-cell-fix-right-first::after, -.ant-table-ping-right .ant-table-cell-fix-right-last::after { - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); -} -.ant-table-sticky-holder { - position: sticky; - z-index: calc(2 + 1); - background: #fff; -} -.ant-table-sticky-scroll { - position: sticky; - bottom: 0; - z-index: calc(2 + 1); - display: flex; - align-items: center; - background: #ffffff; - border-top: 1px solid #f0f0f0; - opacity: 0.6; -} -.ant-table-sticky-scroll:hover { - transform-origin: center bottom; -} -.ant-table-sticky-scroll-bar { - height: 8px; - background-color: rgba(0, 0, 0, 0.35); - border-radius: 4px; -} -.ant-table-sticky-scroll-bar:hover { - background-color: rgba(0, 0, 0, 0.8); -} -.ant-table-sticky-scroll-bar-active { - background-color: rgba(0, 0, 0, 0.8); -} -@media all and (-ms-high-contrast: none) { - .ant-table-ping-left .ant-table-cell-fix-left-last::after { - box-shadow: none !important; - } - .ant-table-ping-right .ant-table-cell-fix-right-first::after { - box-shadow: none !important; - } -} -.ant-table { - /* title + table */ - /* table */ - /* table + footer */ -} -.ant-table-title { - border-radius: 2px 2px 0 0; -} -.ant-table-title + .ant-table-container { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.ant-table-title + .ant-table-container table { - border-radius: 0; -} -.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child { - border-radius: 0; -} -.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child { - border-radius: 0; -} -.ant-table-container { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.ant-table-container table > thead > tr:first-child th:first-child { - border-top-left-radius: 2px; -} -.ant-table-container table > thead > tr:first-child th:last-child { - border-top-right-radius: 2px; -} -.ant-table-footer { - border-radius: 0 0 2px 2px; -} -.ant-table-wrapper-rtl { - direction: rtl; -} -.ant-table-rtl { - direction: rtl; -} -.ant-table-wrapper-rtl .ant-table table { - text-align: right; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th[colspan]:not([colspan='1']) { - text-align: center; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { - right: auto; - left: 0; -} -.ant-table-wrapper-rtl .ant-table-thead > tr > th { - text-align: right; -} -.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl { - margin: -16px 33px -16px -16px; -} -.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left { - justify-content: flex-end; -} -.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right { - justify-content: flex-start; -} -.ant-table-wrapper-rtl .ant-table-column-sorter { - margin-right: 4px; - margin-left: 0; -} -.ant-table-wrapper-rtl .ant-table-filter-column-title { - padding: 16px 16px 16px 2.3em; -} -.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title { - padding: 0 0 0 2.3em; -} -.ant-table-wrapper-rtl .ant-table-filter-trigger { - margin: -4px 4px -4px -8px; -} -.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span, -.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper + span, -.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper + span { - padding-right: 8px; - padding-left: 0; -} -.ant-table-wrapper-rtl .ant-table-selection { - text-align: center; -} -.ant-table-wrapper-rtl .ant-table-row-indent { - float: right; -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon { - float: right; -} -.ant-table-wrapper-rtl .ant-table-row-indent + .ant-table-row-expand-icon { - margin-right: 0; - margin-left: 8px; -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon::after { - transform: rotate(-90deg); -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before { - transform: rotate(180deg); -} -.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after { - transform: rotate(0deg); -} -@media (max-width: 960px) { - .ant-table-responsive .ant-table table { - table-layout: auto !important; - width: 100% !important; - } - .ant-table-responsive .ant-table table col { - width: auto !important; - min-width: auto !important; - } - .ant-table-responsive .ant-table-thead { - display: none; - } - .ant-table-responsive .ant-table.ant-table-fixed-column .ant-table-content { - overflow: hidden !important; - } - .ant-table-responsive .ant-table.ant-table-scroll-horizontal .ant-table-body { - overflow-x: hidden !important; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell { - display: flex; - justify-content: space-between; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell:not(:last-child) { - border: none; - } - .ant-table-responsive .ant-table-tbody .ant-table-cell:before { - content: attr(data-label); - font-weight: 500; - padding-right: 16px; - padding-inline-end: 16px; - padding-inline-start: unset; - } - .ant-table-responsive .ant-table-cell-ellipsis { - white-space: normal; - } -} -.ant-table-has-scrollbar-width .ant-table-content::-webkit-scrollbar, -.ant-table-has-scrollbar-width .ant-table-body::-webkit-scrollbar { - width: var(--scrollbar-width); - height: var(--scrollbar-width); - background: #f5f5f5; -} -.ant-table-has-scrollbar-width .ant-table-content::-webkit-scrollbar-thumb, -.ant-table-has-scrollbar-width .ant-table-body::-webkit-scrollbar-thumb { - width: var(--scrollbar-width); - height: var(--scrollbar-width); - background: #d9d9d9; -} -.ant-table-resizable .ant-table-resizable-handle { - position: absolute; - top: 0; - right: 0; - width: 5px; - height: 100%; - cursor: ew-resize; - user-select: none; -} -.ant-table-resizable .ant-table-resizable-handle:hover { - border-right: 2px dashed #40a9ff; -} -.ant-table-resizable .ant-table-resizing { - border-right: 2px dashed #096dd9; - z-index: 99; -} -.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab { - padding: 8px 0; - font-size: 14px; -} -.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { - padding: 16px 0; - font-size: 16px; -} -.ant-tabs-card.ant-tabs-small > .ant-tabs-nav .ant-tabs-tab { - padding: 6px 16px; -} -.ant-tabs-card.ant-tabs-large > .ant-tabs-nav .ant-tabs-tab { - padding: 7px 16px 6px; -} -.ant-tabs-rtl { - direction: rtl; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab { - margin: 0 0 0 32px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type { - margin-left: 0; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon { - margin-right: 0; - margin-left: 12px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove { - margin-right: 8px; - margin-left: -4px; -} -.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon { - margin: 0; -} -.ant-tabs-rtl.ant-tabs-left > .ant-tabs-nav { - order: 1; -} -.ant-tabs-rtl.ant-tabs-left > .ant-tabs-content-holder { - order: 0; -} -.ant-tabs-rtl.ant-tabs-right > .ant-tabs-nav { - order: 0; -} -.ant-tabs-rtl.ant-tabs-right > .ant-tabs-content-holder { - order: 1; -} -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-right: 2px; - margin-left: 0; -} -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-add { - margin-right: 2px; - margin-left: 0; -} -.ant-tabs-dropdown-rtl { - direction: rtl; -} -.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item { - text-align: right; -} -.ant-tabs-top, -.ant-tabs-bottom { - flex-direction: column; -} -.ant-tabs-top > .ant-tabs-nav, -.ant-tabs-bottom > .ant-tabs-nav, -.ant-tabs-top > div > .ant-tabs-nav, -.ant-tabs-bottom > div > .ant-tabs-nav { - margin: 0 0 16px 0; -} -.ant-tabs-top > .ant-tabs-nav::before, -.ant-tabs-bottom > .ant-tabs-nav::before, -.ant-tabs-top > div > .ant-tabs-nav::before, -.ant-tabs-bottom > div > .ant-tabs-nav::before { - position: absolute; - right: 0; - left: 0; - border-bottom: 1px solid #f0f0f0; - content: ''; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar { - height: 2px; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar-animated { - transition: width 0.3s, left 0.3s, right 0.3s; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - top: 0; - bottom: 0; - width: 30px; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before { - left: 0; - box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - right: 0; - box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before { - opacity: 1; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after { - opacity: 1; -} -.ant-tabs-top > .ant-tabs-nav::before, -.ant-tabs-top > div > .ant-tabs-nav::before { - bottom: 0; -} -.ant-tabs-top > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-ink-bar { - bottom: 0; -} -.ant-tabs-bottom > .ant-tabs-nav, -.ant-tabs-bottom > div > .ant-tabs-nav { - order: 1; - margin-top: 16px; - margin-bottom: 0; -} -.ant-tabs-bottom > .ant-tabs-nav::before, -.ant-tabs-bottom > div > .ant-tabs-nav::before { - top: 0; -} -.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-ink-bar { - top: 0; -} -.ant-tabs-bottom > .ant-tabs-content-holder, -.ant-tabs-bottom > div > .ant-tabs-content-holder { - order: 0; -} -.ant-tabs-left > .ant-tabs-nav, -.ant-tabs-right > .ant-tabs-nav, -.ant-tabs-left > div > .ant-tabs-nav, -.ant-tabs-right > div > .ant-tabs-nav { - flex-direction: column; - min-width: 50px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab { - padding: 8px 24px; - text-align: center; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin: 16px 0 0 0; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap { - flex-direction: column; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - right: 0; - left: 0; - height: 30px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before { - top: 0; - box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - bottom: 0; - box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08); -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before { - opacity: 1; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after { - opacity: 1; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar { - width: 2px; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar-animated, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar-animated { - transition: height 0.3s, top 0.3s; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-operations { - flex: 1 0 auto; - flex-direction: column; -} -.ant-tabs-left > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-ink-bar { - right: 0; -} -.ant-tabs-left > .ant-tabs-content-holder, -.ant-tabs-left > div > .ant-tabs-content-holder { - margin-left: -1px; - border-left: 1px solid #f0f0f0; -} -.ant-tabs-left > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane, -.ant-tabs-left > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane { - padding-left: 24px; -} -.ant-tabs-right > .ant-tabs-nav, -.ant-tabs-right > div > .ant-tabs-nav { - order: 1; -} -.ant-tabs-right > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-ink-bar { - left: 0; -} -.ant-tabs-right > .ant-tabs-content-holder, -.ant-tabs-right > div > .ant-tabs-content-holder { - order: 0; - margin-right: -1px; - border-right: 1px solid #f0f0f0; -} -.ant-tabs-right > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane, -.ant-tabs-right > div > .ant-tabs-content-holder > .ant-tabs-content > .ant-tabs-tabpane { - padding-right: 24px; -} -.ant-tabs-dropdown { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - top: -9999px; - left: -9999px; - z-index: 1050; - display: block; -} -.ant-tabs-dropdown-hidden { - display: none; -} -.ant-tabs-dropdown-menu { - max-height: 200px; - margin: 0; - padding: 4px 0; - overflow-x: hidden; - overflow-y: auto; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-tabs-dropdown-menu-item { - display: flex; - align-items: center; - min-width: 120px; - margin: 0; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.ant-tabs-dropdown-menu-item > span { - flex: 1; - white-space: nowrap; -} -.ant-tabs-dropdown-menu-item-remove { - flex: none; - margin-left: 12px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - background: transparent; - border: 0; - cursor: pointer; -} -.ant-tabs-dropdown-menu-item-remove:hover { - color: #40a9ff; -} -.ant-tabs-dropdown-menu-item:hover { - background: #f5f5f5; -} -.ant-tabs-dropdown-menu-item-disabled, -.ant-tabs-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab { - margin: 0; - padding: 8px 16px; - background: #fafafa; - border: 1px solid #f0f0f0; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active { - color: #1890ff; - background: #fff; -} -.ant-tabs-card > .ant-tabs-nav .ant-tabs-ink-bar, -.ant-tabs-card > div > .ant-tabs-nav .ant-tabs-ink-bar { - visibility: hidden; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-left: 2px; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 2px 2px 0 0; -} -.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active { - border-bottom-color: #fff; -} -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 0 0 2px 2px; -} -.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab-active { - border-top-color: #fff; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { - margin-top: 2px; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 2px 0 0 2px; -} -.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab-active { - border-right-color: #fff; -} -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab { - border-radius: 0 2px 2px 0; -} -.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab-active, -.ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab-active { - border-left-color: #fff; -} -.ant-tabs { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: flex; -} -.ant-tabs > .ant-tabs-nav, -.ant-tabs > div > .ant-tabs-nav { - position: relative; - display: flex; - flex: none; - align-items: center; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap { - position: relative; - display: inline-block; - display: flex; - flex: auto; - align-self: stretch; - overflow: hidden; - white-space: nowrap; - transform: translate(0); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-wrap::after, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-wrap::after { - position: absolute; - z-index: 1; - opacity: 0; - transition: opacity 0.3s; - content: ''; - pointer-events: none; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-list, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-list { - position: relative; - display: flex; - transition: transform 0.3s; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations { - display: flex; - align-self: stretch; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-operations-hidden, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-operations-hidden { - position: absolute; - visibility: hidden; - pointer-events: none; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more { - position: relative; - padding: 8px 16px; - background: transparent; - border: 0; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more::after, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more::after { - position: absolute; - right: 0; - bottom: 0; - left: 0; - height: 5px; - transform: translateY(100%); - content: ''; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add { - min-width: 40px; - margin-left: 2px; - padding: 0 8px; - background: #fafafa; - border: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; - outline: none; - cursor: pointer; - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:hover, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:hover { - color: #40a9ff; -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:active, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:active, -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:focus, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:focus { - color: #096dd9; -} -.ant-tabs-extra-content { - flex: none; -} -.ant-tabs-centered > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']), -.ant-tabs-centered > div > .ant-tabs-nav .ant-tabs-nav-wrap:not([class*='ant-tabs-nav-wrap-ping']) { - justify-content: center; -} -.ant-tabs-ink-bar { - position: absolute; - background: #1890ff; - pointer-events: none; -} -.ant-tabs-tab { - position: relative; - display: inline-flex; - align-items: center; - padding: 12px 0; - font-size: 14px; - background: transparent; - border: 0; - outline: none; - cursor: pointer; -} -.ant-tabs-tab-btn:focus, -.ant-tabs-tab-remove:focus, -.ant-tabs-tab-btn:active, -.ant-tabs-tab-remove:active { - color: #096dd9; -} -.ant-tabs-tab-btn { - outline: none; - transition: all 0.3s; -} -.ant-tabs-tab-remove { - flex: none; - margin-right: -4px; - margin-left: 8px; - color: rgba(0, 0, 0, 0.45); - font-size: 12px; - background: transparent; - border: none; - outline: none; - cursor: pointer; - transition: all 0.3s; -} -.ant-tabs-tab-remove:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tabs-tab:hover { - color: #40a9ff; -} -.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn { - color: #1890ff; - text-shadow: 0 0 0.25px currentcolor; -} -.ant-tabs-tab.ant-tabs-tab-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active, -.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active { - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-tab .ant-tabs-tab-remove .anticon { - margin: 0; -} -.ant-tabs-tab .anticon { - margin-right: 12px; -} -.ant-tabs-tab + .ant-tabs-tab { - margin: 0 0 0 32px; -} -.ant-tabs-content { - position: relative; - width: 100%; -} -.ant-tabs-content-holder { - flex: auto; - min-width: 0; - min-height: 0; -} -.ant-tabs-tabpane { - outline: none; -} -.ant-tabs-tabpane-hidden { - display: none; -} -.ant-tabs-switch-appear, -.ant-tabs-switch-enter { - transition: none; -} -.ant-tabs-switch-appear-start, -.ant-tabs-switch-enter-start { - opacity: 0; -} -.ant-tabs-switch-appear-active, -.ant-tabs-switch-enter-active { - opacity: 1; - transition: opacity 0.3s; -} -.ant-tabs-switch-leave { - position: absolute; - transition: none; - inset: 0; -} -.ant-tabs-switch-leave-start { - opacity: 1; -} -.ant-tabs-switch-leave-active { - opacity: 0; - transition: opacity 0.3s; -} -.ant-tabs-dropdown-menu-item a[antblazor-tab-link] { - position: relative; -} -a[antblazor-tab-link]::before { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: transparent; - content: ''; -} -a[antblazor-tab-link] ~ * { - position: relative; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu { - max-height: 200px; - margin: 0; - padding: 4px 0; - overflow-x: hidden; - overflow-y: auto; - text-align: left; - list-style-type: none; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - outline: none; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item { - min-width: 120px; - margin: 0; - padding: 5px 12px; - overflow: hidden; - color: rgba(0, 0, 0, 0.85); - font-weight: normal; - font-size: 14px; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover { - background: #f5f5f5; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled, -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover { - color: rgba(0, 0, 0, 0.25); - background: transparent; - cursor: not-allowed; -} -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a, -.antblazor-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a { - pointer-events: none; - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs-rtl .ant-tabs-rtl-tab-next { - right: auto; - left: 2px; -} -.ant-tabs-tab-disabled a { - pointer-events: none; - color: rgba(0, 0, 0, 0.25); -} -.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, -.ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add { - min-height: 40px; -} -.ant-tag { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; - height: auto; - margin-right: 8px; - padding: 0 7px; - font-size: 12px; - line-height: 20px; - white-space: nowrap; - background: #fafafa; - border: 1px solid #d9d9d9; - border-radius: 2px; - opacity: 1; - transition: all 0.3s; -} -.ant-tag, -.ant-tag a, -.ant-tag a:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tag > a:first-child:last-child { - display: inline-block; - margin: 0 -8px; - padding: 0 8px; -} -.ant-tag-close-icon { - margin-left: 3px; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; - cursor: pointer; - transition: all 0.3s; -} -.ant-tag-close-icon:hover { - color: rgba(0, 0, 0, 0.85); -} -.ant-tag-has-color { - border-color: transparent; -} -.ant-tag-has-color, -.ant-tag-has-color a, -.ant-tag-has-color a:hover, -.ant-tag-has-color .anticon-close, -.ant-tag-has-color .anticon-close:hover { - color: #fff; -} -.ant-tag-checkable { - background-color: transparent; - border-color: transparent; - cursor: pointer; -} -.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { - color: #1890ff; -} -.ant-tag-checkable:active, -.ant-tag-checkable-checked { - color: #fff; -} -.ant-tag-checkable-checked { - background-color: #1890ff; -} -.ant-tag-checkable:active { - background-color: #096dd9; -} -.ant-tag-hidden { - display: none; -} -.ant-tag-pink { - color: #c41d7f; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-pink-inverse { - color: #fff; - background: #eb2f96; - border-color: #eb2f96; -} -.ant-tag-magenta { - color: #c41d7f; - background: #fff0f6; - border-color: #ffadd2; -} -.ant-tag-magenta-inverse { - color: #fff; - background: #eb2f96; - border-color: #eb2f96; -} -.ant-tag-red { - color: #cf1322; - background: #fff1f0; - border-color: #ffa39e; -} -.ant-tag-red-inverse { - color: #fff; - background: #f5222d; - border-color: #f5222d; -} -.ant-tag-volcano { - color: #d4380d; - background: #fff2e8; - border-color: #ffbb96; -} -.ant-tag-volcano-inverse { - color: #fff; - background: #fa541c; - border-color: #fa541c; -} -.ant-tag-orange { - color: #d46b08; - background: #fff7e6; - border-color: #ffd591; -} -.ant-tag-orange-inverse { - color: #fff; - background: #fa8c16; - border-color: #fa8c16; -} -.ant-tag-yellow { - color: #d4b106; - background: #feffe6; - border-color: #fffb8f; -} -.ant-tag-yellow-inverse { - color: #fff; - background: #fadb14; - border-color: #fadb14; -} -.ant-tag-gold { - color: #d48806; - background: #fffbe6; - border-color: #ffe58f; -} -.ant-tag-gold-inverse { - color: #fff; - background: #faad14; - border-color: #faad14; -} -.ant-tag-cyan { - color: #08979c; - background: #e6fffb; - border-color: #87e8de; -} -.ant-tag-cyan-inverse { - color: #fff; - background: #13c2c2; - border-color: #13c2c2; -} -.ant-tag-lime { - color: #7cb305; - background: #fcffe6; - border-color: #eaff8f; -} -.ant-tag-lime-inverse { - color: #fff; - background: #a0d911; - border-color: #a0d911; -} -.ant-tag-green { - color: #389e0d; - background: #f6ffed; - border-color: #b7eb8f; -} -.ant-tag-green-inverse { - color: #fff; - background: #52c41a; - border-color: #52c41a; -} -.ant-tag-blue { - color: #096dd9; - background: #e6f7ff; - border-color: #91d5ff; -} -.ant-tag-blue-inverse { - color: #fff; - background: #1890ff; - border-color: #1890ff; -} -.ant-tag-geekblue { - color: #1d39c4; - background: #f0f5ff; - border-color: #adc6ff; -} -.ant-tag-geekblue-inverse { - color: #fff; - background: #2f54eb; - border-color: #2f54eb; -} -.ant-tag-purple { - color: #531dab; - background: #f9f0ff; - border-color: #d3adf7; -} -.ant-tag-purple-inverse { - color: #fff; - background: #722ed1; - border-color: #722ed1; -} -.ant-tag-success { - color: #52c41a; - background: #f6ffed; - border-color: #b7eb8f; -} -.ant-tag-processing { - color: #1890ff; - background: #e6f7ff; - border-color: #91d5ff; -} -.ant-tag-error { - color: #ff4d4f; - background: #fff2f0; - border-color: #ffccc7; -} -.ant-tag-warning { - color: #faad14; - background: #fffbe6; - border-color: #ffe58f; -} -.ant-tag > .anticon + span, -.ant-tag > span + .anticon { - margin-left: 7px; -} -.ant-tag.ant-tag-rtl { - margin-right: 0; - margin-left: 8px; - direction: rtl; - text-align: right; -} -.ant-tag-rtl .ant-tag-close-icon { - margin-right: 3px; - margin-left: 0; -} -.ant-tag-rtl.ant-tag > .anticon + span, -.ant-tag-rtl.ant-tag > span + .anticon { - margin-right: 7px; - margin-left: 0; -} -.ant-timeline { - box-sizing: border-box; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - margin: 0; - padding: 0; - list-style: none; -} -.ant-timeline-item { - position: relative; - margin: 0; - padding-bottom: 20px; - font-size: 14px; - list-style: none; -} -.ant-timeline-item-tail { - position: absolute; - top: 10px; - left: 4px; - height: calc(100% - 10px); - border-left: 2px solid #f0f0f0; -} -.ant-timeline-item-pending .ant-timeline-item-head { - font-size: 12px; - background-color: transparent; -} -.ant-timeline-item-pending .ant-timeline-item-tail { - display: none; -} -.ant-timeline-item-head { - position: absolute; - width: 10px; - height: 10px; - background-color: #fff; - border: 2px solid transparent; - border-radius: 100px; -} -.ant-timeline-item-head-blue { - color: #1890ff; - border-color: #1890ff; -} -.ant-timeline-item-head-red { - color: #ff4d4f; - border-color: #ff4d4f; -} -.ant-timeline-item-head-green { - color: #52c41a; - border-color: #52c41a; -} -.ant-timeline-item-head-gray { - color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-timeline-item-head-custom { - position: absolute; - top: 5.5px; - left: 5px; - width: auto; - height: auto; - margin-top: 0; - padding: 3px 1px; - line-height: 1; - text-align: center; - border: 0; - border-radius: 0; - transform: translate(-50%, -50%); -} -.ant-timeline-item-content { - position: relative; - top: -7.001px; - margin: 0 0 0 26px; - word-break: break-word; -} -.ant-timeline-item-last > .ant-timeline-item-tail { - display: none; -} -.ant-timeline-item-last > .ant-timeline-item-content { - min-height: 48px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail, -.ant-timeline.ant-timeline-right .ant-timeline-item-tail, -.ant-timeline.ant-timeline-label .ant-timeline-item-tail, -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-label .ant-timeline-item-head, -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - left: 50%; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-label .ant-timeline-item-head { - margin-left: -4px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - margin-left: 1px; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content { - left: calc(50% - 4px); - width: calc(50% - 14px); - text-align: left; -} -.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content { - width: calc(50% - 12px); - margin: 0; - text-align: right; -} -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head, -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom { - left: calc(100% - 4px - 2px); -} -.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content { - width: calc(100% - 18px); -} -.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { - display: block; - height: calc(100% - 14px); - border-left: 2px dotted #f0f0f0; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail { - display: none; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { - top: 15px; - display: block; - height: calc(100% - 15px); - border-left: 2px dotted #f0f0f0; -} -.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content { - min-height: 48px; -} -.ant-timeline.ant-timeline-label .ant-timeline-item-label { - position: absolute; - top: -7.001px; - width: calc(50% - 12px); - text-align: right; -} -.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label { - left: calc(50% + 14px); - width: calc(50% - 14px); - text-align: left; -} -.ant-timeline-rtl { - direction: rtl; -} -.ant-timeline-rtl .ant-timeline-item-tail { - right: 4px; - left: auto; - border-right: 2px solid #f0f0f0; - border-left: none; -} -.ant-timeline-rtl .ant-timeline-item-head-custom { - right: 5px; - left: auto; - transform: translate(50%, -50%); -} -.ant-timeline-rtl .ant-timeline-item-content { - margin: 0 18px 0 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - right: 50%; - left: auto; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head { - margin-right: -4px; - margin-left: 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom { - margin-right: 1px; - margin-left: 0; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content { - right: calc(50% - 4px); - left: auto; - text-align: right; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content, -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content { - text-align: left; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head, -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom { - right: 0; - left: auto; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content { - width: 100%; - margin-right: 18px; - text-align: right; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { - border-right: 2px dotted #f0f0f0; - border-left: none; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { - border-right: 2px dotted #f0f0f0; - border-left: none; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label { - text-align: left; -} -.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label { - right: calc(50% + 14px); - text-align: right; -} -.ant-tooltip { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: absolute; - z-index: 1070; - display: block; - width: max-content; - width: intrinsic; - max-width: 250px; - visibility: visible; -} -.ant-tooltip-content { - position: relative; -} -.ant-tooltip-hidden { - display: none; -} -.ant-tooltip-placement-top, -.ant-tooltip-placement-topLeft, -.ant-tooltip-placement-topRight { - padding-bottom: 14.3137085px; -} -.ant-tooltip-placement-right, -.ant-tooltip-placement-rightTop, -.ant-tooltip-placement-rightBottom { - padding-left: 14.3137085px; -} -.ant-tooltip-placement-bottom, -.ant-tooltip-placement-bottomLeft, -.ant-tooltip-placement-bottomRight { - padding-top: 14.3137085px; -} -.ant-tooltip-placement-left, -.ant-tooltip-placement-leftTop, -.ant-tooltip-placement-leftBottom { - padding-right: 14.3137085px; -} -.ant-tooltip-inner { - min-width: 30px; - min-height: 32px; - padding: 6px 8px; - color: #fff; - text-align: left; - text-decoration: none; - word-wrap: break-word; - background-color: rgba(0, 0, 0, 0.75); - border-radius: 2px; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); -} -.ant-tooltip-arrow { - position: absolute; - z-index: 2; - display: block; - width: 22px; - height: 22px; - overflow: hidden; - background: transparent; - pointer-events: none; -} -.ant-tooltip-arrow-content { - --antd-arrow-background-color: linear-gradient(to right bottom, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.75)); - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - width: 11.3137085px; - height: 11.3137085px; - margin: auto; - content: ''; - pointer-events: auto; - border-radius: 0 0 2px; - pointer-events: none; -} -.ant-tooltip-arrow-content::before { - position: absolute; - top: -11.3137085px; - left: -11.3137085px; - width: 33.9411255px; - height: 33.9411255px; - background: var(--antd-arrow-background-color); - background-repeat: no-repeat; - background-position: -10px -10px; - content: ''; - clip-path: inset(33% 33%); - clip-path: path('M 9.849242404917499 24.091883092036785 A 5 5 0 0 1 13.384776310850237 22.627416997969522 L 20.627416997969522 22.627416997969522 A 2 2 0 0 0 22.627416997969522 20.627416997969522 L 22.627416997969522 13.384776310850237 A 5 5 0 0 1 24.091883092036785 9.849242404917499 L 23.091883092036785 9.849242404917499 L 9.849242404917499 23.091883092036785 Z'); -} -.ant-tooltip-placement-top .ant-tooltip-arrow, -.ant-tooltip-placement-topLeft .ant-tooltip-arrow, -.ant-tooltip-placement-topRight .ant-tooltip-arrow { - bottom: 0; - transform: translateY(100%); -} -.ant-tooltip-placement-top .ant-tooltip-arrow-content, -.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content, -.ant-tooltip-placement-topRight .ant-tooltip-arrow-content { - box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(-11px) rotate(45deg); -} -.ant-tooltip-placement-top .ant-tooltip-arrow { - left: 50%; - transform: translateY(100%) translateX(-50%); -} -.ant-tooltip-placement-topLeft .ant-tooltip-arrow { - left: 13px; -} -.ant-tooltip-placement-topRight .ant-tooltip-arrow { - right: 13px; -} -.ant-tooltip-placement-right .ant-tooltip-arrow, -.ant-tooltip-placement-rightTop .ant-tooltip-arrow, -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { - left: 0; - transform: translateX(-100%); -} -.ant-tooltip-placement-right .ant-tooltip-arrow-content, -.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content, -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content { - box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(11px) rotate(135deg); -} -.ant-tooltip-placement-right .ant-tooltip-arrow { - top: 50%; - transform: translateX(-100%) translateY(-50%); -} -.ant-tooltip-placement-rightTop .ant-tooltip-arrow { - top: 5px; -} -.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { - bottom: 5px; -} -.ant-tooltip-placement-left .ant-tooltip-arrow, -.ant-tooltip-placement-leftTop .ant-tooltip-arrow, -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { - right: 0; - transform: translateX(100%); -} -.ant-tooltip-placement-left .ant-tooltip-arrow-content, -.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content, -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content { - box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); - transform: translateX(-11px) rotate(315deg); -} -.ant-tooltip-placement-left .ant-tooltip-arrow { - top: 50%; - transform: translateX(100%) translateY(-50%); -} -.ant-tooltip-placement-leftTop .ant-tooltip-arrow { - top: 5px; -} -.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { - bottom: 5px; -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow, -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow, -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { - top: 0; - transform: translateY(-100%); -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow-content, -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content, -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content { - box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07); - transform: translateY(11px) rotate(225deg); -} -.ant-tooltip-placement-bottom .ant-tooltip-arrow { - left: 50%; - transform: translateY(-100%) translateX(-50%); -} -.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow { - left: 13px; -} -.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { - right: 13px; -} -.ant-tooltip-pink .ant-tooltip-inner { - background-color: #eb2f96; -} -.ant-tooltip-pink .ant-tooltip-arrow-content::before { - background: #eb2f96; -} -.ant-tooltip-magenta .ant-tooltip-inner { - background-color: #eb2f96; -} -.ant-tooltip-magenta .ant-tooltip-arrow-content::before { - background: #eb2f96; -} -.ant-tooltip-red .ant-tooltip-inner { - background-color: #f5222d; -} -.ant-tooltip-red .ant-tooltip-arrow-content::before { - background: #f5222d; -} -.ant-tooltip-volcano .ant-tooltip-inner { - background-color: #fa541c; -} -.ant-tooltip-volcano .ant-tooltip-arrow-content::before { - background: #fa541c; -} -.ant-tooltip-orange .ant-tooltip-inner { - background-color: #fa8c16; -} -.ant-tooltip-orange .ant-tooltip-arrow-content::before { - background: #fa8c16; -} -.ant-tooltip-yellow .ant-tooltip-inner { - background-color: #fadb14; -} -.ant-tooltip-yellow .ant-tooltip-arrow-content::before { - background: #fadb14; -} -.ant-tooltip-gold .ant-tooltip-inner { - background-color: #faad14; -} -.ant-tooltip-gold .ant-tooltip-arrow-content::before { - background: #faad14; -} -.ant-tooltip-cyan .ant-tooltip-inner { - background-color: #13c2c2; -} -.ant-tooltip-cyan .ant-tooltip-arrow-content::before { - background: #13c2c2; -} -.ant-tooltip-lime .ant-tooltip-inner { - background-color: #a0d911; -} -.ant-tooltip-lime .ant-tooltip-arrow-content::before { - background: #a0d911; -} -.ant-tooltip-green .ant-tooltip-inner { - background-color: #52c41a; -} -.ant-tooltip-green .ant-tooltip-arrow-content::before { - background: #52c41a; -} -.ant-tooltip-blue .ant-tooltip-inner { - background-color: #1890ff; -} -.ant-tooltip-blue .ant-tooltip-arrow-content::before { - background: #1890ff; -} -.ant-tooltip-geekblue .ant-tooltip-inner { - background-color: #2f54eb; -} -.ant-tooltip-geekblue .ant-tooltip-arrow-content::before { - background: #2f54eb; -} -.ant-tooltip-purple .ant-tooltip-inner { - background-color: #722ed1; -} -.ant-tooltip-purple .ant-tooltip-arrow-content::before { - background: #722ed1; -} -.ant-tooltip-rtl { - direction: rtl; -} -.ant-tooltip-rtl .ant-tooltip-inner { - text-align: right; -} -.ant-tooltip { - position: relative; -} -.ant-transfer-customize-list .ant-transfer-list { - flex: 1 1 50%; - width: auto; - height: auto; - min-height: 200px; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small { - border: 0; - border-radius: 0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-selection-column { - width: 40px; - min-width: 40px; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th { - background: #fafafa; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td { - border-bottom: 1px solid #f0f0f0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body { - margin: 0; -} -.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination { - margin: 16px 0 4px; -} -.ant-transfer-customize-list .ant-input[disabled] { - background-color: transparent; -} -.ant-transfer-status-error .ant-transfer-list { - border-color: #ff4d4f; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]) { - border-color: #d9d9d9; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-transfer-status-error .ant-transfer-list-search:not([disabled]):focus { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-warning .ant-transfer-list { - border-color: #faad14; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]) { - border-color: #d9d9d9; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover { - border-color: #40a9ff; - border-right-width: 1px; -} -.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):hover { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus { - border-color: #40a9ff; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); - border-right-width: 1px; - outline: 0; -} -.ant-input-rtl .ant-transfer-status-warning .ant-transfer-list-search:not([disabled]):focus { - border-right-width: 0; - border-left-width: 1px !important; -} -.ant-transfer { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - display: flex; - align-items: stretch; -} -.ant-transfer-disabled .ant-transfer-list { - background: #f5f5f5; -} -.ant-transfer-list { - display: flex; - flex-direction: column; - width: 180px; - height: 200px; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-transfer-list-with-pagination { - width: 250px; - height: auto; -} -.ant-transfer-list-search .anticon-search { - color: rgba(0, 0, 0, 0.25); -} -.ant-transfer-list-header { - display: flex; - flex: none; - align-items: center; - height: 40px; - padding: 8px 12px 9px; - color: rgba(0, 0, 0, 0.85); - background: #fff; - border-bottom: 1px solid #f0f0f0; - border-radius: 2px 2px 0 0; -} -.ant-transfer-list-header > *:not(:last-child) { - margin-right: 4px; -} -.ant-transfer-list-header > * { - flex: none; -} -.ant-transfer-list-header-title { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-align: right; - text-overflow: ellipsis; -} -.ant-transfer-list-header-dropdown { - font-size: 10px; - transform: translateY(10%); - cursor: pointer; -} -.ant-transfer-list-header-dropdown[disabled] { - cursor: not-allowed; -} -.ant-transfer-list-body { - display: flex; - flex: auto; - flex-direction: column; - overflow: hidden; - font-size: 14px; -} -.ant-transfer-list-body-search-wrapper { - position: relative; - flex: none; - padding: 12px; -} -.ant-transfer-list-content { - flex: auto; - margin: 0; - padding: 0; - overflow: auto; - list-style: none; -} -.ant-transfer-list-content-item { - display: flex; - align-items: center; - min-height: 32px; - padding: 6px 12px; - line-height: 20px; - transition: all 0.3s; -} -.ant-transfer-list-content-item > *:not(:last-child) { - margin-right: 8px; -} -.ant-transfer-list-content-item > * { - flex: none; -} -.ant-transfer-list-content-item-text { - flex: auto; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-transfer-list-content-item-remove { - position: relative; - color: #d9d9d9; - cursor: pointer; - transition: all 0.3s; -} -.ant-transfer-list-content-item-remove:hover { - color: #40a9ff; -} -.ant-transfer-list-content-item-remove::after { - position: absolute; - top: -6px; - right: -50%; - bottom: -6px; - left: -50%; - content: ''; -} -.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { - background-color: #f5f5f5; - cursor: pointer; -} -.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover { - background-color: #dcf4ff; -} -.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { - background: transparent; - cursor: default; -} -.ant-transfer-list-content-item-checked { - background-color: #e6f7ff; -} -.ant-transfer-list-content-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-transfer-list-pagination { - padding: 8px 0; - text-align: right; - border-top: 1px solid #f0f0f0; -} -.ant-transfer-list-body-not-found { - flex: none; - width: 100%; - margin: auto 0; - color: rgba(0, 0, 0, 0.25); - text-align: center; -} -.ant-transfer-list-footer { - border-top: 1px solid #f0f0f0; -} -.ant-transfer-operation { - display: flex; - flex: none; - flex-direction: column; - align-self: center; - margin: 0 8px; - vertical-align: middle; -} -.ant-transfer-operation .ant-btn { - display: block; -} -.ant-transfer-operation .ant-btn:first-child { - margin-bottom: 4px; -} -.ant-transfer-operation .ant-btn .anticon { - font-size: 12px; -} -.ant-transfer .ant-empty-image { - max-height: -2px; -} -.ant-transfer-rtl { - direction: rtl; -} -.ant-transfer-rtl .ant-transfer-list-search { - padding-right: 8px; - padding-left: 24px; -} -.ant-transfer-rtl .ant-transfer-list-search-action { - right: auto; - left: 12px; -} -.ant-transfer-rtl .ant-transfer-list-header > *:not(:last-child) { - margin-right: 0; - margin-left: 4px; -} -.ant-transfer-rtl .ant-transfer-list-header { - right: 0; - left: auto; -} -.ant-transfer-rtl .ant-transfer-list-header-title { - text-align: left; -} -.ant-transfer-rtl .ant-transfer-list-content-item > *:not(:last-child) { - margin-right: 0; - margin-left: 8px; -} -.ant-transfer-rtl .ant-transfer-list-pagination { - text-align: left; -} -.ant-transfer-rtl .ant-transfer-list-footer { - right: 0; - left: auto; -} -.ant-typography { - color: rgba(0, 0, 0, 0.85); - word-break: break-word; -} -.ant-typography.ant-typography-secondary { - color: rgba(0, 0, 0, 0.45); -} -.ant-typography.ant-typography-success { - color: #52c41a; -} -.ant-typography.ant-typography-warning { - color: #faad14; -} -.ant-typography.ant-typography-danger { - color: #ff4d4f; -} -a.ant-typography.ant-typography-danger:active, -a.ant-typography.ant-typography-danger:focus { - color: #d9363e; -} -a.ant-typography.ant-typography-danger:hover { - color: #ff7875; -} -.ant-typography.ant-typography-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; - user-select: none; -} -div.ant-typography, -.ant-typography p { - margin-bottom: 1em; -} -h1.ant-typography, -div.ant-typography-h1, -div.ant-typography-h1 > textarea, -.ant-typography h1 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 38px; - line-height: 1.23; -} -h2.ant-typography, -div.ant-typography-h2, -div.ant-typography-h2 > textarea, -.ant-typography h2 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 30px; - line-height: 1.35; -} -h3.ant-typography, -div.ant-typography-h3, -div.ant-typography-h3 > textarea, -.ant-typography h3 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 24px; - line-height: 1.35; -} -h4.ant-typography, -div.ant-typography-h4, -div.ant-typography-h4 > textarea, -.ant-typography h4 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 20px; - line-height: 1.4; -} -h5.ant-typography, -div.ant-typography-h5, -div.ant-typography-h5 > textarea, -.ant-typography h5 { - margin-bottom: 0.5em; - color: rgba(0, 0, 0, 0.85); - font-weight: 600; - font-size: 16px; - line-height: 1.5; -} -.ant-typography + h1.ant-typography, -.ant-typography + h2.ant-typography, -.ant-typography + h3.ant-typography, -.ant-typography + h4.ant-typography, -.ant-typography + h5.ant-typography { - margin-top: 1.2em; -} -.ant-typography div + h1, -.ant-typography ul + h1, -.ant-typography li + h1, -.ant-typography p + h1, -.ant-typography h1 + h1, -.ant-typography h2 + h1, -.ant-typography h3 + h1, -.ant-typography h4 + h1, -.ant-typography h5 + h1, -.ant-typography div + h2, -.ant-typography ul + h2, -.ant-typography li + h2, -.ant-typography p + h2, -.ant-typography h1 + h2, -.ant-typography h2 + h2, -.ant-typography h3 + h2, -.ant-typography h4 + h2, -.ant-typography h5 + h2, -.ant-typography div + h3, -.ant-typography ul + h3, -.ant-typography li + h3, -.ant-typography p + h3, -.ant-typography h1 + h3, -.ant-typography h2 + h3, -.ant-typography h3 + h3, -.ant-typography h4 + h3, -.ant-typography h5 + h3, -.ant-typography div + h4, -.ant-typography ul + h4, -.ant-typography li + h4, -.ant-typography p + h4, -.ant-typography h1 + h4, -.ant-typography h2 + h4, -.ant-typography h3 + h4, -.ant-typography h4 + h4, -.ant-typography h5 + h4, -.ant-typography div + h5, -.ant-typography ul + h5, -.ant-typography li + h5, -.ant-typography p + h5, -.ant-typography h1 + h5, -.ant-typography h2 + h5, -.ant-typography h3 + h5, -.ant-typography h4 + h5, -.ant-typography h5 + h5 { - margin-top: 1.2em; -} -a.ant-typography-ellipsis, -span.ant-typography-ellipsis { - display: inline-block; - max-width: 100%; -} -a.ant-typography, -.ant-typography a { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - text-decoration: none; -} -a.ant-typography:focus-visible, -.ant-typography a:focus-visible, -a.ant-typography:hover, -.ant-typography a:hover { - color: #40a9ff; -} -a.ant-typography:active, -.ant-typography a:active { - color: #096dd9; -} -a.ant-typography:active, -.ant-typography a:active, -a.ant-typography:hover, -.ant-typography a:hover { - text-decoration: none; -} -a.ant-typography[disabled], -.ant-typography a[disabled], -a.ant-typography.ant-typography-disabled, -.ant-typography a.ant-typography-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -a.ant-typography[disabled]:active, -.ant-typography a[disabled]:active, -a.ant-typography.ant-typography-disabled:active, -.ant-typography a.ant-typography-disabled:active, -a.ant-typography[disabled]:hover, -.ant-typography a[disabled]:hover, -a.ant-typography.ant-typography-disabled:hover, -.ant-typography a.ant-typography-disabled:hover { - color: rgba(0, 0, 0, 0.25); -} -a.ant-typography[disabled]:active, -.ant-typography a[disabled]:active, -a.ant-typography.ant-typography-disabled:active, -.ant-typography a.ant-typography-disabled:active { - pointer-events: none; -} -.ant-typography code { - margin: 0 0.2em; - padding: 0.2em 0.4em 0.1em; - font-size: 85%; - background: rgba(150, 150, 150, 0.1); - border: 1px solid rgba(100, 100, 100, 0.2); - border-radius: 3px; -} -.ant-typography kbd { - margin: 0 0.2em; - padding: 0.15em 0.4em 0.1em; - font-size: 90%; - background: rgba(150, 150, 150, 0.06); - border: 1px solid rgba(100, 100, 100, 0.2); - border-bottom-width: 2px; - border-radius: 3px; -} -.ant-typography mark { - padding: 0; - background-color: #ffe58f; -} -.ant-typography u, -.ant-typography ins { - text-decoration: underline; - text-decoration-skip-ink: auto; -} -.ant-typography s, -.ant-typography del { - text-decoration: line-through; -} -.ant-typography strong { - font-weight: 600; -} -.ant-typography-expand, -.ant-typography-edit, -.ant-typography-copy { - color: #1890ff; - outline: none; - cursor: pointer; - transition: color 0.3s; - margin-left: 4px; -} -.ant-typography-expand:focus-visible, -.ant-typography-edit:focus-visible, -.ant-typography-copy:focus-visible, -.ant-typography-expand:hover, -.ant-typography-edit:hover, -.ant-typography-copy:hover { - color: #40a9ff; -} -.ant-typography-expand:active, -.ant-typography-edit:active, -.ant-typography-copy:active { - color: #096dd9; -} -.ant-typography-copy-success, -.ant-typography-copy-success:hover, -.ant-typography-copy-success:focus { - color: #52c41a; -} -.ant-typography-edit-content { - position: relative; -} -div.ant-typography-edit-content { - left: -12px; - margin-top: -5px; - margin-bottom: calc(1em - 4px - 1px); -} -.ant-typography-edit-content-confirm { - position: absolute; - right: 10px; - bottom: 8px; - color: rgba(0, 0, 0, 0.45); - font-weight: normal; - font-size: 14px; - font-style: normal; - pointer-events: none; -} -.ant-typography-edit-content textarea { - height: 1em; - margin: 0 !important; - /* stylelint-disable-next-line property-no-vendor-prefix */ - -moz-transition: none; -} -.ant-typography ul, -.ant-typography ol { - margin: 0 0 1em; - padding: 0; -} -.ant-typography ul li, -.ant-typography ol li { - margin: 0 0 0 20px; - padding: 0 0 0 4px; -} -.ant-typography ul { - list-style-type: circle; -} -.ant-typography ul ul { - list-style-type: disc; -} -.ant-typography ol { - list-style-type: decimal; -} -.ant-typography pre, -.ant-typography blockquote { - margin: 1em 0; -} -.ant-typography pre { - padding: 0.4em 0.6em; - white-space: pre-wrap; - word-wrap: break-word; - background: rgba(150, 150, 150, 0.1); - border: 1px solid rgba(100, 100, 100, 0.2); - border-radius: 3px; -} -.ant-typography pre code { - display: inline; - margin: 0; - padding: 0; - font-size: inherit; - font-family: inherit; - background: transparent; - border: 0; -} -.ant-typography blockquote { - padding: 0 0 0 0.6em; - border-left: 4px solid rgba(100, 100, 100, 0.2); - opacity: 0.85; -} -.ant-typography-single-line { - white-space: nowrap; -} -.ant-typography-ellipsis-single-line { - overflow: hidden; - text-overflow: ellipsis; -} -a.ant-typography-ellipsis-single-line, -span.ant-typography-ellipsis-single-line { - vertical-align: bottom; -} -.ant-typography-ellipsis-multiple-line { - /* stylelint-disable-next-line value-no-vendor-prefix */ - display: -webkit-box; - overflow: hidden; - -webkit-line-clamp: 3; - /*! autoprefixer: ignore next */ - -webkit-box-orient: vertical; -} -.ant-typography-rtl { - direction: rtl; -} -.ant-typography-rtl .ant-typography-expand, -.ant-typography-rtl .ant-typography-edit, -.ant-typography-rtl .ant-typography-copy { - margin-right: 4px; - margin-left: 0; -} -.ant-typography-rtl .ant-typography-expand { - float: left; -} -div.ant-typography-edit-content.ant-typography-rtl { - right: -12px; - left: auto; -} -.ant-typography-rtl .ant-typography-edit-content-confirm { - right: auto; - left: 10px; -} -.ant-typography-rtl.ant-typography ul li, -.ant-typography-rtl.ant-typography ol li { - margin: 0 20px 0 0; - padding: 0 4px 0 0; -} -.ant-upload { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - outline: 0; -} -.ant-upload p { - margin: 0; -} -.ant-upload-btn { - display: block; - width: 100%; - outline: none; -} -.ant-upload input[type='file'] { - cursor: pointer; -} -.ant-upload.ant-upload-select { - display: inline-block; -} -.ant-upload.ant-upload-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-upload.ant-upload-select-picture-card { - width: 104px; - height: 104px; - margin-right: 8px; - margin-bottom: 8px; - text-align: center; - vertical-align: top; - background-color: #fafafa; - border: 1px dashed #d9d9d9; - border-radius: 2px; - cursor: pointer; - transition: border-color 0.3s; -} -.ant-upload.ant-upload-select-picture-card > .ant-upload { - display: flex; - align-items: center; - justify-content: center; - height: 100%; - text-align: center; -} -.ant-upload.ant-upload-select-picture-card:hover { - border-color: #1890ff; -} -.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover { - border-color: #d9d9d9; -} -.ant-upload.ant-upload-drag { - position: relative; - width: 100%; - height: 100%; - text-align: center; - background: #fafafa; - border: 1px dashed #d9d9d9; - border-radius: 2px; - cursor: pointer; - transition: border-color 0.3s; -} -.ant-upload.ant-upload-drag .ant-upload { - padding: 16px 0; -} -.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { - border-color: #096dd9; -} -.ant-upload.ant-upload-drag.ant-upload-disabled { - cursor: not-allowed; -} -.ant-upload.ant-upload-drag .ant-upload-btn { - display: table; - height: 100%; -} -.ant-upload.ant-upload-drag .ant-upload-drag-container { - display: table-cell; - vertical-align: middle; -} -.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { - border-color: #40a9ff; -} -.ant-upload.ant-upload-drag p.ant-upload-drag-icon { - margin-bottom: 20px; -} -.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { - color: #40a9ff; - font-size: 48px; -} -.ant-upload.ant-upload-drag p.ant-upload-text { - margin: 0 0 4px; - color: rgba(0, 0, 0, 0.85); - font-size: 16px; -} -.ant-upload.ant-upload-drag p.ant-upload-hint { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-upload.ant-upload-drag .anticon-plus { - color: rgba(0, 0, 0, 0.25); - font-size: 30px; - transition: all 0.3s; -} -.ant-upload.ant-upload-drag .anticon-plus:hover { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload.ant-upload-drag:hover .anticon-plus { - color: rgba(0, 0, 0, 0.45); -} -.ant-upload-picture-card-wrapper { - display: inline-block; - width: 100%; -} -.ant-upload-picture-card-wrapper::before { - display: table; - content: ''; -} -.ant-upload-picture-card-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-picture-card-wrapper::before { - display: table; - content: ''; -} -.ant-upload-picture-card-wrapper::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - list-style: none; - font-feature-settings: 'tnum'; - line-height: 1.5715; -} -.ant-upload-list::before { - display: table; - content: ''; -} -.ant-upload-list::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list::before { - display: table; - content: ''; -} -.ant-upload-list::after { - display: table; - clear: both; - content: ''; -} -.ant-upload-list-item { - position: relative; - height: 22.001px; - margin-top: 8px; - font-size: 14px; -} -.ant-upload-list-item-name { - display: inline-block; - width: 100%; - padding-left: 22px; - overflow: hidden; - line-height: 1.5715; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-upload-list-item-card-actions { - position: absolute; - right: 0; -} -.ant-upload-list-item-card-actions-btn { - opacity: 0; -} -.ant-upload-list-item-card-actions-btn.ant-btn-sm { - height: 22.001px; - line-height: 1; - vertical-align: top; -} -.ant-upload-list-item-card-actions.picture { - top: 22px; - line-height: 0; -} -.ant-upload-list-item-card-actions-btn:focus, -.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-card-actions .anticon { - color: rgba(0, 0, 0, 0.45); - transition: all 0.3s; -} -.ant-upload-list-item-card-actions:hover .anticon { - color: rgba(0, 0, 0, 0.85); -} -.ant-upload-list-item-info { - height: 100%; - transition: background-color 0.3s; -} -.ant-upload-list-item-info > span { - display: block; - width: 100%; - height: 100%; -} -.ant-upload-list-item-info .anticon-loading .anticon, -.ant-upload-list-item-info .ant-upload-text-icon .anticon { - position: absolute; - top: 5px; - color: rgba(0, 0, 0, 0.45); - font-size: 14px; -} -.ant-upload-list-item:hover .ant-upload-list-item-info { - background-color: #f5f5f5; -} -.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-error, -.ant-upload-list-item-error .ant-upload-text-icon > .anticon, -.ant-upload-list-item-error .ant-upload-list-item-name { - color: #ff4d4f; -} -.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon { - color: #ff4d4f; -} -.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn { - opacity: 1; -} -.ant-upload-list-item-progress { - position: absolute; - bottom: -12px; - width: 100%; - padding-left: 26px; - font-size: 14px; - line-height: 0; -} -.ant-upload-list-picture .ant-upload-list-item, -.ant-upload-list-picture-card .ant-upload-list-item { - position: relative; - height: 66px; - padding: 8px; - border: 1px solid #d9d9d9; - border-radius: 2px; -} -.ant-upload-list-picture .ant-upload-list-item:hover, -.ant-upload-list-picture-card .ant-upload-list-item:hover { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-error, -.ant-upload-list-picture-card .ant-upload-list-item-error { - border-color: #ff4d4f; -} -.ant-upload-list-picture .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item-info { - padding: 0; -} -.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { - background: transparent; -} -.ant-upload-list-picture .ant-upload-list-item-uploading, -.ant-upload-list-picture-card .ant-upload-list-item-uploading { - border-style: dashed; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail { - width: 48px; - height: 48px; - line-height: 60px; - text-align: center; - opacity: 0.8; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon { - font-size: 26px; -} -.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'], -.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'] { - fill: #fff2f0; -} -.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'], -.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'] { - fill: #ff4d4f; -} -.ant-upload-list-picture .ant-upload-list-item-icon, -.ant-upload-list-picture-card .ant-upload-list-item-icon { - position: absolute; - top: 50%; - left: 50%; - font-size: 26px; - transform: translate(-50%, -50%); -} -.ant-upload-list-picture .ant-upload-list-item-icon .anticon, -.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon { - font-size: 26px; -} -.ant-upload-list-picture .ant-upload-list-item-image, -.ant-upload-list-picture-card .ant-upload-list-item-image { - max-width: 100%; -} -.ant-upload-list-picture .ant-upload-list-item-thumbnail img, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img { - display: block; - width: 48px; - height: 48px; - overflow: hidden; -} -.ant-upload-list-picture .ant-upload-list-item-name, -.ant-upload-list-picture-card .ant-upload-list-item-name { - display: inline-block; - box-sizing: border-box; - max-width: 100%; - margin: 0 0 0 8px; - padding-right: 8px; - padding-left: 48px; - overflow: hidden; - line-height: 44px; - white-space: nowrap; - text-overflow: ellipsis; - transition: all 0.3s; -} -.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name { - margin-bottom: 12px; -} -.ant-upload-list-picture .ant-upload-list-item-progress, -.ant-upload-list-picture-card .ant-upload-list-item-progress { - bottom: 14px; - width: calc(100% - 24px); - margin-top: 0; - padding-left: 56px; -} -.ant-upload-list-picture-card-container { - display: inline-block; - width: 104px; - height: 104px; - margin: 0 8px 8px 0; - vertical-align: top; -} -.ant-upload-list-picture-card .ant-upload-list-item { - height: 100%; - margin: 0; -} -.ant-upload-list-picture-card .ant-upload-list-item-info { - position: relative; - height: 100%; - overflow: hidden; -} -.ant-upload-list-picture-card .ant-upload-list-item-info::before { - position: absolute; - z-index: 1; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - opacity: 0; - transition: all 0.3s; - content: ' '; -} -.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before { - opacity: 1; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions { - position: absolute; - top: 50%; - left: 50%; - z-index: 10; - white-space: nowrap; - transform: translate(-50%, -50%); - opacity: 0; - transition: all 0.3s; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { - z-index: 10; - width: 16px; - margin: 0 4px; - color: rgba(255, 255, 255, 0.85); - font-size: 16px; - cursor: pointer; - transition: all 0.3s; -} -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, -.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { - color: #fff; -} -.ant-upload-list-picture-card .ant-upload-list-item-info:hover + .ant-upload-list-item-actions, -.ant-upload-list-picture-card .ant-upload-list-item-actions:hover { - opacity: 1; -} -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail, -.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img { - position: static; - display: block; - width: 100%; - height: 100%; - object-fit: contain; -} -.ant-upload-list-picture-card .ant-upload-list-item-name { - display: none; - margin: 8px 0 0; - padding: 0; - line-height: 1.5715; - text-align: center; -} -.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name { - position: absolute; - bottom: 10px; - display: block; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { - background-color: #fafafa; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info { - height: auto; -} -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye, -.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete { - display: none; -} -.ant-upload-list-picture-card .ant-upload-list-item-progress { - bottom: 32px; - width: calc(100% - 14px); - padding-left: 0; -} -.ant-upload-list-text-container, -.ant-upload-list-picture-container { - transition: opacity 0.3s, height 0.3s; -} -.ant-upload-list-text-container::before, -.ant-upload-list-picture-container::before { - display: table; - width: 0; - height: 0; - content: ''; -} -.ant-upload-list-text-container .ant-upload-span, -.ant-upload-list-picture-container .ant-upload-span { - display: block; - flex: auto; -} -.ant-upload-list-text .ant-upload-span, -.ant-upload-list-picture .ant-upload-span { - display: flex; - align-items: center; -} -.ant-upload-list-text .ant-upload-span > *, -.ant-upload-list-picture .ant-upload-span > * { - flex: none; -} -.ant-upload-list-text .ant-upload-list-item-name, -.ant-upload-list-picture .ant-upload-list-item-name { - flex: auto; - margin: 0; - padding: 0 8px; -} -.ant-upload-list-text .ant-upload-list-item-card-actions, -.ant-upload-list-picture .ant-upload-list-item-card-actions { - position: static; -} -.ant-upload-list-text .ant-upload-text-icon .anticon { - position: static; -} -.ant-upload-list .ant-upload-animate-inline-appear, -.ant-upload-list .ant-upload-animate-inline-enter, -.ant-upload-list .ant-upload-animate-inline-leave { - animation-duration: 0.3s; - animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); - animation-fill-mode: forwards; -} -.ant-upload-list .ant-upload-animate-inline-appear, -.ant-upload-list .ant-upload-animate-inline-enter { - animation-name: uploadAnimateInlineIn; -} -.ant-upload-list .ant-upload-animate-inline-leave { - animation-name: uploadAnimateInlineOut; -} -@keyframes uploadAnimateInlineIn { - from { - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - } -} -@keyframes uploadAnimateInlineOut { - to { - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - } -} -.ant-upload-rtl { - direction: rtl; -} -.ant-upload-rtl.ant-upload.ant-upload-select-picture-card { - margin-right: auto; - margin-left: 8px; -} -.ant-upload-list-rtl { - direction: rtl; -} -.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1 { - padding-right: 22px; - padding-left: 14px; -} -.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2 { - padding-right: 22px; - padding-left: 28px; -} -.ant-upload-list-rtl .ant-upload-list-item-name { - padding-right: 22px; - padding-left: 0; -} -.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1 { - padding-left: 14px; -} -.ant-upload-list-rtl .ant-upload-list-item-card-actions { - right: auto; - left: 0; -} -.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon { - padding-right: 0; - padding-left: 5px; -} -.ant-upload-list-rtl .ant-upload-list-item-info { - padding: 0 4px 0 12px; -} -.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon { - padding-right: 0; - padding-left: 5px; -} -.ant-upload-list-rtl .ant-upload-list-item-progress { - padding-right: 26px; - padding-left: 0; -} -.ant-upload-list-picture .ant-upload-list-item-info, -.ant-upload-list-picture-card .ant-upload-list-item-info { - padding: 0; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail { - right: 8px; - left: auto; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon { - right: 50%; - left: auto; - transform: translate(50%, -50%); -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name { - margin: 0 8px 0 0; - padding-right: 48px; - padding-left: 8px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1 { - padding-right: 48px; - padding-left: 18px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2 { - padding-right: 48px; - padding-left: 36px; -} -.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress, -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress { - padding-right: 0; - padding-left: 0; -} -.ant-upload-list-rtl .ant-upload-list-picture-card-container { - margin: 0 0 8px 8px; -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions { - right: 50%; - left: auto; - transform: translate(50%, -50%); -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file + .ant-upload-list-item-name { - margin: 8px 0 0; - padding: 0; -} -.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item { - float: unset; -} -.ant-upload-no-btn .ant-upload-list-item { - margin-top: 0; -} -.ant-select-auto-complete { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; -} -.ant-select-auto-complete .ant-select-clear { - right: 13px; -} -.ant-select-dropdown-hidden { - display: none; -} -.ant-cascader-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-inner, -.ant-cascader-checkbox:hover .ant-cascader-checkbox-inner, -.ant-cascader-checkbox-input:focus + .ant-cascader-checkbox-inner { - border-color: #1890ff; -} -.ant-cascader-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-cascader-checkbox:hover::after, -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox::after { - visibility: visible; -} -.ant-cascader-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-cascader-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-cascader-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-cascader-checkbox-disabled { - cursor: not-allowed; -} -.ant-cascader-checkbox-disabled.ant-cascader-checkbox-checked .ant-cascader-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-cascader-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-cascader-checkbox-disabled:hover::after, -.ant-cascader-checkbox-wrapper:hover .ant-cascader-checkbox-disabled::after { - visibility: hidden; -} -.ant-cascader-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-cascader-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-cascader-checkbox-wrapper + .ant-cascader-checkbox-wrapper { - margin-left: 8px; -} -.ant-cascader-checkbox-wrapper.ant-cascader-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-cascader-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-cascader-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-cascader-checkbox-group-item { - margin-right: 8px; -} -.ant-cascader-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item { - margin-left: 0; -} -.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-cascader-checkbox-indeterminate .ant-cascader-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-cascader-checkbox-indeterminate.ant-cascader-checkbox-disabled .ant-cascader-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-checkbox-rtl { - direction: rtl; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-cascader-checkbox-group-rtl .ant-cascader-checkbox-group-item + .ant-cascader-checkbox-group-item { - margin-left: 8px; -} -.ant-cascader { - width: 184px; -} -.ant-cascader-checkbox { - top: 0; - margin-right: 8px; -} -.ant-cascader-menus { - display: flex; - flex-wrap: nowrap; - align-items: flex-start; -} -.ant-cascader-menus.ant-cascader-menu-empty .ant-cascader-menu { - width: 100%; - height: auto; -} -.ant-cascader-menu { - flex-grow: 1; - min-width: 111px; - height: 180px; - margin: 0; - margin: -4px 0; - padding: 4px 0; - overflow: auto; - vertical-align: top; - list-style: none; - border-right: 1px solid #f0f0f0; - -ms-overflow-style: -ms-autohiding-scrollbar; -} -.ant-cascader-menu-item { - display: flex; - flex-wrap: nowrap; - align-items: center; - padding: 5px 12px; - overflow: hidden; - line-height: 22px; - white-space: nowrap; - text-overflow: ellipsis; - cursor: pointer; - transition: all 0.3s; -} -.ant-cascader-menu-item:hover { - background: #f5f5f5; -} -.ant-cascader-menu-item-disabled { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-cascader-menu-item-disabled:hover { - background: transparent; -} -.ant-cascader-menu-empty .ant-cascader-menu-item { - color: rgba(0, 0, 0, 0.25); - cursor: default; - pointer-events: none; -} -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), -.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { - font-weight: 600; - background-color: #e6f7ff; -} -.ant-cascader-menu-item-content { - flex: auto; -} -.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, -.ant-cascader-menu-item-loading-icon { - margin-left: 4px; - color: rgba(0, 0, 0, 0.45); - font-size: 10px; -} -.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, -.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon { - color: rgba(0, 0, 0, 0.25); -} -.ant-cascader-menu-item-keyword { - color: #ff4d4f; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-last-item):not(.ant-cascader-compact-item-rtl) { - margin-right: -1px; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-last-item).ant-cascader-compact-item-rtl { - margin-left: -1px; -} -.ant-cascader-compact-item:hover, -.ant-cascader-compact-item:focus, -.ant-cascader-compact-item:active { - z-index: 2; -} -.ant-cascader-compact-item[disabled] { - z-index: 0; -} -.ant-cascader-compact-item:not(.ant-cascader-compact-first-item):not(.ant-cascader-compact-last-item).ant-cascader { - border-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-first-item:not(.ant-cascader-compact-item-rtl) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-last-item:not(.ant-cascader-compact-item-rtl) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-first-item { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.ant-cascader-compact-item.ant-cascader.ant-cascader-compact-item-rtl.ant-cascader-compact-last-item { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.ant-cascader-rtl .ant-cascader-menu-item-expand-icon, -.ant-cascader-rtl .ant-cascader-menu-item-loading-icon { - margin-right: 4px; - margin-left: 0; -} -.ant-cascader-rtl .ant-cascader-checkbox { - top: 0; - margin-right: 0; - margin-left: 8px; -} -.ant-cascader-menus { - position: relative; - margin-top: 2px; - margin-bottom: 2px; -} -@keyframes ant-tree-node-fx-do-not-use { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -.ant-tree.ant-tree-directory .ant-tree-treenode { - position: relative; -} -.ant-tree.ant-tree-directory .ant-tree-treenode::before { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - transition: background-color 0.3s; - content: ''; - pointer-events: none; -} -.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before { - background: #f5f5f5; -} -.ant-tree.ant-tree-directory .ant-tree-treenode > * { - z-index: 1; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher { - transition: color 0.3s; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper { - border-radius: 0; - user-select: none; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected { - color: #fff; - background: transparent; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, -.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before { - background: #1890ff; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher { - color: #fff; -} -.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper { - color: #fff; - background: transparent; -} -.ant-tree-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox:hover .ant-tree-checkbox-inner, -.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { - border-color: #1890ff; -} -.ant-tree-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-tree-checkbox:hover::after, -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after { - visibility: visible; -} -.ant-tree-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-tree-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-tree-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-tree-checkbox-checked .ant-tree-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-tree-checkbox-disabled { - cursor: not-allowed; -} -.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tree-checkbox-disabled:hover::after, -.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after { - visibility: hidden; -} -.ant-tree-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-tree-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-tree-checkbox-wrapper + .ant-tree-checkbox-wrapper { - margin-left: 8px; -} -.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-tree-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-tree-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-tree-checkbox-group-item { - margin-right: 8px; -} -.ant-tree-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item { - margin-left: 0; -} -.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-tree-checkbox-rtl { - direction: rtl; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item + .ant-tree-checkbox-group-item { - margin-left: 8px; -} -.ant-tree { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { - background: #e6f7ff; -} -.ant-tree-list-holder-inner { - align-items: flex-start; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner { - align-items: stretch; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper { - flex: auto; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging { - position: relative; -} -.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging::after { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - border: 1px solid #1890ff; - opacity: 0; - animation: ant-tree-node-fx-do-not-use 0.3s; - animation-play-state: running; - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -.ant-tree .ant-tree-treenode { - display: flex; - align-items: flex-start; - padding: 0 0 4px 0; - outline: none; -} -.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { - background: #f5f5f5; -} -.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title { - color: inherit; - font-weight: 500; -} -.ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon { - width: 24px; - line-height: 24px; - text-align: center; - visibility: visible; - opacity: 0.2; - transition: opacity 0.3s; -} -.ant-tree-treenode:hover .ant-tree .ant-tree-treenode-draggable .ant-tree-draggable-icon { - opacity: 0.45; -} -.ant-tree .ant-tree-treenode-draggable.ant-tree-treenode-disabled .ant-tree-draggable-icon { - visibility: hidden; -} -.ant-tree-indent { - align-self: stretch; - white-space: nowrap; - user-select: none; -} -.ant-tree-indent-unit { - display: inline-block; - width: 24px; -} -.ant-tree-draggable-icon { - visibility: hidden; -} -.ant-tree-switcher { - position: relative; - flex: none; - align-self: stretch; - width: 24px; - margin: 0; - line-height: 24px; - text-align: center; - cursor: pointer; - user-select: none; -} -.ant-tree-switcher .ant-tree-switcher-icon, -.ant-tree-switcher .ant-select-tree-switcher-icon { - display: inline-block; - font-size: 10px; - vertical-align: baseline; -} -.ant-tree-switcher .ant-tree-switcher-icon svg, -.ant-tree-switcher .ant-select-tree-switcher-icon svg { - transition: transform 0.3s; -} -.ant-tree-switcher-noop { - cursor: default; -} -.ant-tree-switcher_close .ant-tree-switcher-icon svg { - transform: rotate(-90deg); -} -.ant-tree-switcher-loading-icon { - color: #1890ff; -} -.ant-tree-switcher-leaf-line { - position: relative; - z-index: 1; - display: inline-block; - width: 100%; - height: 100%; -} -.ant-tree-switcher-leaf-line::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - margin-left: -1px; - border-right: 1px solid #d9d9d9; - content: ' '; -} -.ant-tree-switcher-leaf-line::after { - position: absolute; - width: 10px; - height: 14px; - border-bottom: 1px solid #d9d9d9; - content: ' '; -} -.ant-tree-checkbox { - top: initial; - margin: 4px 8px 0 0; -} -.ant-tree .ant-tree-node-content-wrapper { - position: relative; - z-index: auto; - min-height: 24px; - margin: 0; - padding: 0 4px; - color: inherit; - line-height: 24px; - background: transparent; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s; -} -.ant-tree .ant-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { - background-color: #bae7ff; -} -.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle { - display: inline-block; - width: 24px; - height: 24px; - line-height: 24px; - text-align: center; - vertical-align: top; -} -.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty { - display: none; -} -.ant-tree-unselectable .ant-tree-node-content-wrapper:hover { - background-color: transparent; -} -.ant-tree-node-content-wrapper { - line-height: 24px; - user-select: none; -} -.ant-tree-node-content-wrapper .ant-tree-drop-indicator { - position: absolute; - z-index: 1; - height: 2px; - background-color: #1890ff; - border-radius: 1px; - pointer-events: none; -} -.ant-tree-node-content-wrapper .ant-tree-drop-indicator::after { - position: absolute; - top: -3px; - left: -6px; - width: 8px; - height: 8px; - background-color: transparent; - border: 2px solid #1890ff; - border-radius: 50%; - content: ''; -} -.ant-tree .ant-tree-treenode.drop-container > [draggable] { - box-shadow: 0 0 0 2px #1890ff; -} -.ant-tree-show-line .ant-tree-indent-unit { - position: relative; - height: 100%; -} -.ant-tree-show-line .ant-tree-indent-unit::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - border-right: 1px solid #d9d9d9; - content: ''; -} -.ant-tree-show-line .ant-tree-indent-unit-end::before { - display: none; -} -.ant-tree-show-line .ant-tree-switcher { - background: #fff; -} -.ant-tree-show-line .ant-tree-switcher-line-icon { - vertical-align: -0.15em; -} -.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before { - top: auto !important; - bottom: auto !important; - height: 14px !important; -} -.ant-tree-rtl { - direction: rtl; -} -.ant-tree-rtl .ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after { - right: -6px; - left: unset; -} -.ant-tree .ant-tree-treenode-rtl { - direction: rtl; -} -.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg { - transform: rotate(90deg); -} -.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before { - right: auto; - left: -13px; - border-right: none; - border-left: 1px solid #d9d9d9; -} -.ant-tree-rtl .ant-tree-checkbox { - margin: 4px 0 0 8px; -} -.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox { - margin: 4px 0 0 8px; -} -/* - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://github.com/ant-design-blazor/ng-zorro-antd/blob/master/LICENSE - */ -.font-highlight { - color: #ff4d4f; -} -.ant-tree-child-tree { - overflow: hidden; -} -.ant-select-tree-checkbox { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - position: relative; - top: 0.2em; - line-height: 1; - white-space: nowrap; - outline: none; - cursor: pointer; -} -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, -.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { - border-color: #1890ff; -} -.ant-select-tree-checkbox-checked::after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border: 1px solid #1890ff; - border-radius: 2px; - visibility: hidden; - animation: antCheckboxEffect 0.36s ease-in-out; - animation-fill-mode: backwards; - content: ''; -} -.ant-select-tree-checkbox:hover::after, -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after { - visibility: visible; -} -.ant-select-tree-checkbox-inner { - position: relative; - top: 0; - left: 0; - display: block; - width: 16px; - height: 16px; - direction: ltr; - background-color: #fff; - border: 1px solid #d9d9d9; - border-radius: 2px; - border-collapse: separate; - transition: all 0.3s; -} -.ant-select-tree-checkbox-inner::after { - position: absolute; - top: 50%; - left: 21.5%; - display: table; - width: 5.71428571px; - height: 9.14285714px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0) translate(-50%, -50%); - opacity: 0; - transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s; - content: ' '; -} -.ant-select-tree-checkbox-input { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - cursor: pointer; - opacity: 0; -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { - position: absolute; - display: table; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1) translate(-50%, -50%); - opacity: 1; - transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s; - content: ' '; -} -.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { - background-color: #1890ff; - border-color: #1890ff; -} -.ant-select-tree-checkbox-disabled { - cursor: not-allowed; -} -.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { - border-color: rgba(0, 0, 0, 0.25); - animation-name: none; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input { - cursor: not-allowed; - pointer-events: none; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { - background-color: #f5f5f5; - border-color: #d9d9d9 !important; -} -.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { - border-color: #f5f5f5; - border-collapse: separate; - animation-name: none; -} -.ant-select-tree-checkbox-disabled + span { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-tree-checkbox-disabled:hover::after, -.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after { - visibility: hidden; -} -.ant-select-tree-checkbox-wrapper { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-flex; - align-items: baseline; - line-height: unset; - cursor: pointer; -} -.ant-select-tree-checkbox-wrapper::after { - display: inline-block; - width: 0; - overflow: hidden; - content: '\a0'; -} -.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled { - cursor: not-allowed; -} -.ant-select-tree-checkbox-wrapper + .ant-select-tree-checkbox-wrapper { - margin-left: 8px; -} -.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-in-form-item input[type='checkbox'] { - width: 14px; - height: 14px; -} -.ant-select-tree-checkbox + span { - padding-right: 8px; - padding-left: 8px; -} -.ant-select-tree-checkbox-group { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - display: inline-block; -} -.ant-select-tree-checkbox-group-item { - margin-right: 8px; -} -.ant-select-tree-checkbox-group-item:last-child { - margin-right: 0; -} -.ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item { - margin-left: 0; -} -.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner { - background-color: #fff; - border-color: #d9d9d9; -} -.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after { - top: 50%; - left: 50%; - width: 8px; - height: 8px; - background-color: #1890ff; - border: 0; - transform: translate(-50%, -50%) scale(1); - opacity: 1; - content: ' '; -} -.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { - background-color: rgba(0, 0, 0, 0.25); - border-color: rgba(0, 0, 0, 0.25); -} -.ant-select-tree-checkbox-rtl { - direction: rtl; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item { - margin-right: 0; - margin-left: 8px; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child { - margin-left: 0 !important; -} -.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item + .ant-select-tree-checkbox-group-item { - margin-left: 8px; -} -.ant-tree-select-dropdown { - padding: 8px 4px; -} -.ant-tree-select-dropdown-rtl { - direction: rtl; -} -.ant-tree-select-dropdown .ant-select-tree { - border-radius: 0; -} -.ant-tree-select-dropdown .ant-select-tree-list-holder-inner { - align-items: stretch; -} -.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper { - flex: auto; -} -.ant-select-tree { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; - border-radius: 2px; - transition: background-color 0.3s; -} -.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) { - background: #e6f7ff; -} -.ant-select-tree-list-holder-inner { - align-items: flex-start; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner { - align-items: stretch; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper { - flex: auto; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging { - position: relative; -} -.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-treenode.dragging::after { - position: absolute; - top: 0; - right: 0; - bottom: 4px; - left: 0; - border: 1px solid #1890ff; - opacity: 0; - animation: ant-tree-node-fx-do-not-use 0.3s; - animation-play-state: running; - animation-fill-mode: forwards; - content: ''; - pointer-events: none; -} -.ant-select-tree .ant-select-tree-treenode { - display: flex; - align-items: flex-start; - padding: 0 0 4px 0; - outline: none; -} -.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper { - color: rgba(0, 0, 0, 0.25); - cursor: not-allowed; -} -.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover { - background: transparent; -} -.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper { - background: #f5f5f5; -} -.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title { - color: inherit; - font-weight: 500; -} -.ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon { - width: 24px; - line-height: 24px; - text-align: center; - visibility: visible; - opacity: 0.2; - transition: opacity 0.3s; -} -.ant-select-tree-treenode:hover .ant-select-tree .ant-select-tree-treenode-draggable .ant-select-tree-draggable-icon { - opacity: 0.45; -} -.ant-select-tree .ant-select-tree-treenode-draggable.ant-select-tree-treenode-disabled .ant-select-tree-draggable-icon { - visibility: hidden; -} -.ant-select-tree-indent { - align-self: stretch; - white-space: nowrap; - user-select: none; -} -.ant-select-tree-indent-unit { - display: inline-block; - width: 24px; -} -.ant-select-tree-draggable-icon { - visibility: hidden; -} -.ant-select-tree-switcher { - position: relative; - flex: none; - align-self: stretch; - width: 24px; - margin: 0; - line-height: 24px; - text-align: center; - cursor: pointer; - user-select: none; -} -.ant-select-tree-switcher .ant-tree-switcher-icon, -.ant-select-tree-switcher .ant-select-tree-switcher-icon { - display: inline-block; - font-size: 10px; - vertical-align: baseline; -} -.ant-select-tree-switcher .ant-tree-switcher-icon svg, -.ant-select-tree-switcher .ant-select-tree-switcher-icon svg { - transition: transform 0.3s; -} -.ant-select-tree-switcher-noop { - cursor: default; -} -.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg { - transform: rotate(-90deg); -} -.ant-select-tree-switcher-loading-icon { - color: #1890ff; -} -.ant-select-tree-switcher-leaf-line { - position: relative; - z-index: 1; - display: inline-block; - width: 100%; - height: 100%; -} -.ant-select-tree-switcher-leaf-line::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - margin-left: -1px; - border-right: 1px solid #d9d9d9; - content: ' '; -} -.ant-select-tree-switcher-leaf-line::after { - position: absolute; - width: 10px; - height: 14px; - border-bottom: 1px solid #d9d9d9; - content: ' '; -} -.ant-select-tree-checkbox { - top: initial; - margin: 4px 8px 0 0; -} -.ant-select-tree .ant-select-tree-node-content-wrapper { - position: relative; - z-index: auto; - min-height: 24px; - margin: 0; - padding: 0 4px; - color: inherit; - line-height: 24px; - background: transparent; - border-radius: 2px; - cursor: pointer; - transition: all 0.3s, border 0s, line-height 0s, box-shadow 0s; -} -.ant-select-tree .ant-select-tree-node-content-wrapper:hover { - background-color: #f5f5f5; -} -.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { - background-color: #bae7ff; -} -.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle { - display: inline-block; - width: 24px; - height: 24px; - line-height: 24px; - text-align: center; - vertical-align: top; -} -.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty { - display: none; -} -.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover { - background-color: transparent; -} -.ant-select-tree-node-content-wrapper { - line-height: 24px; - user-select: none; -} -.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator { - position: absolute; - z-index: 1; - height: 2px; - background-color: #1890ff; - border-radius: 1px; - pointer-events: none; -} -.ant-select-tree-node-content-wrapper .ant-tree-drop-indicator::after { - position: absolute; - top: -3px; - left: -6px; - width: 8px; - height: 8px; - background-color: transparent; - border: 2px solid #1890ff; - border-radius: 50%; - content: ''; -} -.ant-select-tree .ant-select-tree-treenode.drop-container > [draggable] { - box-shadow: 0 0 0 2px #1890ff; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit { - position: relative; - height: 100%; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit::before { - position: absolute; - top: 0; - right: 12px; - bottom: -4px; - border-right: 1px solid #d9d9d9; - content: ''; -} -.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before { - display: none; -} -.ant-select-tree-show-line .ant-select-tree-switcher { - background: #fff; -} -.ant-select-tree-show-line .ant-select-tree-switcher-line-icon { - vertical-align: -0.15em; -} -.ant-select-tree .ant-select-tree-treenode-leaf-last .ant-select-tree-switcher-leaf-line::before { - top: auto !important; - bottom: auto !important; - height: 14px !important; -} -.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg { - transform: rotate(90deg); -} -.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon { - transform: scaleY(-1); -} -.ant-tree.ant-select-tree.ant-tree-show-line antblazor-tree-node[builtin]:not(:last-child) > li::before { - content: ' '; - width: 1px; - border-left: 1px solid #d9d9d9; - height: calc(100% - 16px); - position: absolute; - left: 12px; - margin: 26px 0; -} -.ant-picker-calendar { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - list-style: none; - font-feature-settings: 'tnum'; - background: #fff; -} -.ant-picker-calendar-header { - display: flex; - justify-content: flex-end; - padding: 12px 0; -} -.ant-picker-calendar-header .ant-picker-calendar-year-select { - min-width: 80px; -} -.ant-picker-calendar-header .ant-picker-calendar-month-select { - min-width: 70px; - margin-left: 8px; -} -.ant-picker-calendar-header .ant-picker-calendar-mode-switch { - margin-left: 8px; -} -.ant-picker-calendar .ant-picker-panel { - background: #fff; - border: 0; - border-top: 1px solid #f0f0f0; - border-radius: 0; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel, -.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel { - width: auto; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-body { - padding: 8px 0; -} -.ant-picker-calendar .ant-picker-panel .ant-picker-content { - width: 100%; -} -.ant-picker-calendar-mini { - border-radius: 2px; -} -.ant-picker-calendar-mini .ant-picker-calendar-header { - padding-right: 8px; - padding-left: 8px; -} -.ant-picker-calendar-mini .ant-picker-panel { - border-radius: 0 0 2px 2px; -} -.ant-picker-calendar-mini .ant-picker-content { - height: 256px; -} -.ant-picker-calendar-mini .ant-picker-content th { - height: auto; - padding: 0; - line-height: 18px; -} -.ant-picker-calendar-mini .ant-picker-cell::before { - pointer-events: none; -} -.ant-picker-calendar-full .ant-picker-panel { - display: block; - width: 100%; - text-align: right; - background: #fff; - border: 0; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td { - padding: 0; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th { - height: auto; - padding: 0 12px 5px 0; - line-height: 18px; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before { - display: none; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date { - background: #f5f5f5; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before { - display: none; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today { - background: #e6f7ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, -.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value { - color: #1890ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date { - display: block; - width: auto; - height: auto; - margin: 0 4px; - padding: 4px 8px 0; - border: 0; - border-top: 2px solid #f0f0f0; - border-radius: 0; - transition: background 0.3s; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value { - line-height: 24px; - transition: color 0.3s; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content { - position: static; - width: auto; - height: 86px; - overflow-y: auto; - color: rgba(0, 0, 0, 0.85); - line-height: 1.5715; - text-align: left; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today { - border-color: #1890ff; -} -.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value { - color: rgba(0, 0, 0, 0.85); -} -@media only screen and (max-width: 480px) { - .ant-picker-calendar-header { - display: block; - } - .ant-picker-calendar-header .ant-picker-calendar-year-select { - width: 50%; - } - .ant-picker-calendar-header .ant-picker-calendar-month-select { - width: calc(50% - 8px); - } - .ant-picker-calendar-header .ant-picker-calendar-mode-switch { - width: 100%; - margin-top: 8px; - margin-left: 0; - } - .ant-picker-calendar-header .ant-picker-calendar-mode-switch > label { - width: 50%; - text-align: center; - } -} -.ant-picker-calendar-rtl { - direction: rtl; -} -.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch { - margin-right: 8px; - margin-left: 0; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel { - text-align: left; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th { - padding: 0 0 5px 12px; -} -.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content { - text-align: right; -} -.ant-result { - padding: 48px 32px; -} -.ant-result-success .ant-result-icon > .anticon { - color: #52c41a; -} -.ant-result-error .ant-result-icon > .anticon { - color: #ff4d4f; -} -.ant-result-info .ant-result-icon > .anticon { - color: #1890ff; -} -.ant-result-warning .ant-result-icon > .anticon { - color: #faad14; -} -.ant-result-image { - width: 250px; - height: 295px; - margin: auto; -} -.ant-result-icon { - margin-bottom: 24px; - text-align: center; -} -.ant-result-icon > .anticon { - font-size: 72px; -} -.ant-result-title { - color: rgba(0, 0, 0, 0.85); - font-size: 24px; - line-height: 1.8; - text-align: center; -} -.ant-result-subtitle { - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - line-height: 1.6; - text-align: center; -} -.ant-result-extra { - margin: 24px 0 0 0; - text-align: center; -} -.ant-result-extra > * { - margin-right: 8px; -} -.ant-result-extra > *:last-child { - margin-right: 0; -} -.ant-result-content { - margin-top: 24px; - padding: 24px 40px; - background-color: #fafafa; -} -.ant-result-rtl { - direction: rtl; -} -.ant-result-rtl .ant-result-extra > * { - margin-right: 0; - margin-left: 8px; -} -.ant-result-rtl .ant-result-extra > *:last-child { - margin-left: 0; -} -.ant-space { - display: inline-flex; -} -.ant-space-vertical { - flex-direction: column; -} -.ant-space-align-center { - align-items: center; -} -.ant-space-align-start { - align-items: flex-start; -} -.ant-space-align-end { - align-items: flex-end; -} -.ant-space-align-baseline { - align-items: baseline; -} -.ant-space-item:empty { - display: none; -} -.ant-space-compact { - display: inline-flex; -} -.ant-space-compact-block { - display: flex; - width: 100%; -} -.ant-space-compact-vertical { - flex-direction: column; -} -.ant-space-rtl { - direction: rtl; -} -.ant-space-compact-rtl { - direction: rtl; -} -.ant-image { - position: relative; - display: inline-block; -} -.ant-image-img { - width: 100%; - height: auto; - vertical-align: middle; -} -.ant-image-img-placeholder { - background-color: #f5f5f5; - background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4='); - background-repeat: no-repeat; - background-position: center center; - background-size: 30%; -} -.ant-image-mask { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: flex; - align-items: center; - justify-content: center; - color: #fff; - background: rgba(0, 0, 0, 0.5); - cursor: pointer; - opacity: 0; - transition: opacity 0.3s; -} -.ant-image-mask-info { - padding: 0 4px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ant-image-mask-info .anticon { - margin-inline-end: 4px; -} -.ant-image-mask:hover { - opacity: 1; -} -.ant-image-placeholder { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.ant-image-preview { - pointer-events: none; - height: 100%; - text-align: center; -} -.ant-image-preview.ant-zoom-enter, -.ant-image-preview.ant-zoom-appear { - transform: none; - opacity: 0; - animation-duration: 0.3s; - user-select: none; -} -.ant-image-preview-mask { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1000; - height: 100%; - background-color: rgba(0, 0, 0, 0.45); -} -.ant-image-preview-mask-hidden { - display: none; -} -.ant-image-preview-wrap { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - outline: 0; -} -.ant-image-preview-body { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: hidden; -} -.ant-image-preview-img { - max-width: 100%; - max-height: 100%; - vertical-align: middle; - transform: scale3d(1, 1, 1); - cursor: grab; - transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; - user-select: none; - pointer-events: auto; -} -.ant-image-preview-img-wrapper { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s; -} -.ant-image-preview-img-wrapper::before { - display: inline-block; - width: 1px; - height: 50%; - margin-right: -1px; - content: ''; -} -.ant-image-preview-moving .ant-image-preview-img { - cursor: grabbing; -} -.ant-image-preview-moving .ant-image-preview-img-wrapper { - transition-duration: 0s; -} -.ant-image-preview-wrap { - z-index: 1080; -} -.ant-image-preview-operations-wrapper { - position: fixed; - top: 0; - right: 0; - z-index: 1081; - width: 100%; -} -.ant-image-preview-operations { - box-sizing: border-box; - margin: 0; - padding: 0; - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5715; - font-feature-settings: 'tnum'; - display: flex; - flex-direction: row-reverse; - align-items: center; - color: rgba(255, 255, 255, 0.85); - list-style: none; - background: rgba(0, 0, 0, 0.1); - pointer-events: auto; -} -.ant-image-preview-operations-operation { - margin-left: 12px; - padding: 12px; - cursor: pointer; - transition: all 0.3s; -} -.ant-image-preview-operations-operation:hover { - background: rgba(0, 0, 0, 0.2); -} -.ant-image-preview-operations-operation-disabled { - color: rgba(255, 255, 255, 0.25); - pointer-events: none; -} -.ant-image-preview-operations-operation:last-of-type { - margin-left: 0; -} -.ant-image-preview-operations-progress { - position: absolute; - left: 50%; - transform: translateX(-50%); -} -.ant-image-preview-operations-icon { - font-size: 18px; -} -.ant-image-preview-switch-left, -.ant-image-preview-switch-right { - position: fixed; - top: 50%; - right: 8px; - z-index: 1081; - display: flex; - align-items: center; - justify-content: center; - width: 44px; - height: 44px; - color: rgba(255, 255, 255, 0.85); - background: rgba(0, 0, 0, 0.1); - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - transition: all 0.3s; - pointer-events: auto; -} -.ant-image-preview-switch-left:hover, -.ant-image-preview-switch-right:hover { - background: rgba(0, 0, 0, 0.2); -} -.ant-image-preview-switch-left-disabled, -.ant-image-preview-switch-right-disabled, -.ant-image-preview-switch-left-disabled:hover, -.ant-image-preview-switch-right-disabled:hover { - color: rgba(255, 255, 255, 0.25); - background: rgba(0, 0, 0, 0.1); - cursor: not-allowed; -} -.ant-image-preview-switch-left-disabled > .anticon, -.ant-image-preview-switch-right-disabled > .anticon, -.ant-image-preview-switch-left-disabled:hover > .anticon, -.ant-image-preview-switch-right-disabled:hover > .anticon { - cursor: not-allowed; -} -.ant-image-preview-switch-left > .anticon, -.ant-image-preview-switch-right > .anticon { - font-size: 18px; -} -.ant-image-preview-switch-left { - left: 8px; -} -.ant-image-preview-switch-right { - right: 8px; -} -.ant-flex { - display: flex; -} -.ant-flex-vertical { - flex-direction: column; -} -.ant-flex-rtl { - direction: rtl; -} -.ant-flex:empty { - display: none; -} -.ant-flex-gap-small { - gap: 8px; -} -.ant-flex-gap-middle { - gap: 16px; -} -.ant-flex-gap-large { - gap: 24px; -} - -html,body,#root,#app,#ApplicationContainer,app{height:100%}.colorWeak{filter:invert(80%)}.ant-layout{min-height:100vh}.ant-design-header-top{background-color:#001529}.ant-design-header-top-light{background-color:#fff}.ant-design-header-left{background-color:#fff;box-shadow:0 -2px 4px}.ant-design-header-left-light{background-color:#001529}.ant-design-body-content{margin:16px 50px}.ant-design-footer{text-align:center}.page-content{min-height:70vh;background:#fff;padding:24px;margin-top:8px}.ant-design-page-title{font-size:20px;font-weight:600;margin-top:8px}.ant-design-header-left .trigger{font-size:18px;line-height:64px;cursor:pointer;transition:color .3s}.ant-design-header-left .trigger:hover{color:#1890ff}.ant-design-header-left-light .trigger{color:#fff}.ant-design-side .ant-design-brand{font-size:18px;font-weight:600;display:flex;padding:16px 16px;cursor:pointer}.ant-design-side .ant-design-brand a{display:flex}.ant-design-side .ant-design-brand img{display:inline-block;height:40px}.ant-design-side .ant-design-brand h1{display:inline-block;color:#fff;margin:0 0 0 15px}.ant-layout-sider-light .ant-design-brand h1{color:#001529}.ant-design-header-top .ant-design-brand img{display:inline-block;height:35px}.ant-design-header-top .ant-design-brand{position:relative;float:left;min-width:170px}.ant-design-header-top .ant-design-brand h1{display:inline-block;color:#fff;margin:0 0 0 12px;font-weight:400;font-size:15px;vertical-align:top}.ant-design-header-top-light .ant-design-brand h1{color:#001529}.ant-design-header-top .ant-menu-root{margin-left:20px;float:left}.abp-application-layout .ant-menu-sub li{min-width:120px}.ant-design-header-left .nav-link{color:#001529}.ant-design-header-left-light .nav-link{color:#fff}.ant-design-header-top .nav-link{color:#fff}.ant-design-header-top-light .nav-link{color:#001529}.ant-dropdown-link{margin-right:20px}.ant-design-header-left .ant-dropdown-link{color:#001529}.ant-design-header-top .ant-dropdown-trigger{color:#fff}.ant-design-header-top-light .ant-dropdown-trigger{color:#001529}.ant-design-header-top-light .ant-dropdown-trigger{color:#001529}.ant-design-header-left-light .ant-dropdown-trigger{color:#fff} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.js b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.js deleted file mode 100644 index 688809e..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/global.js +++ /dev/null @@ -1,11 +0,0 @@ -/*! For license information please see AuthenticationService.js.LICENSE.txt */ -var t,e;t={671:function(t){var e;e=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=22)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var t=arguments.length,e=Array(t),r=0;r=3){for(var t=arguments.length,e=Array(t),r=0;r=2){for(var t=arguments.length,e=Array(t),r=0;r=1){for(var t=arguments.length,e=Array(t),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function(){var t=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(e){i.Log.debug("MetadataService.getMetadata: json received");var r=t._settings.metadataSeed||{};return t._settings.metadata=Object.assign({},r,e),t._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",t)},t.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+t),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[t]){if(!0===e)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+t);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+t),new Error("Metadata does not contain property "+t)}return r[t]}))},t.prototype.getSigningKeys=function(){var t=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(e){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",e),t._jsonService.getJson(e).then((function(e){if(i.Log.debug("MetadataService.getSigningKeys: key set received",e),!e.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return t._settings.signingKeys=e.keys,t._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(s)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=s))),this._metadataUrl}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function(t,e,r){return t.indexOf("?")<0&&(t+="?"),"?"!==t[t.length-1]&&(t+="&"),t+=encodeURIComponent(e),(t+="=")+encodeURIComponent(r)},t.parseUrlFragment=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof t&&(t=r.location.href);var o=t.lastIndexOf(e);o>=0&&(t=t.substr(o+1)),"?"===e&&(o=t.indexOf("#"))>=0&&(t=t.substr(0,o));for(var s,a={},u=/([^&=]+)=([^&]*)/g,c=0;s=u.exec(t);)if(a[decodeURIComponent(s[1])]=decodeURIComponent(s[2].replace(/\+/g," ")),c++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",t),{error:"Response exceeded expected number of parameters"};for(var h in a)return a;return{}},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,l=e.metadataSeed,f=e.client_id,g=e.client_secret,d=e.response_type,p=void 0===d?"id_token":d,v=e.scope,y=void 0===v?"openid":v,m=e.redirect_uri,_=e.post_logout_redirect_uri,S=e.client_authentication,w=void 0===S?"client_secret_post":S,b=e.prompt,F=e.display,E=e.max_age,x=e.ui_locales,A=e.acr_values,k=e.resource,P=e.response_mode,C=e.filterProtocolClaims,T=void 0===C||C,R=e.loadUserInfo,I=void 0===R||R,D=e.staleStateAge,L=void 0===D?900:D,N=e.clockSkew,U=void 0===N?300:N,O=e.clockService,B=void 0===O?new s.ClockService:O,M=e.userInfoJwtIssuer,j=void 0===M?"OP":M,H=e.mergeClaims,K=void 0!==H&&H,V=e.stateStore,q=void 0===V?new a.WebStorageStateStore:V,J=e.ResponseValidatorCtor,W=void 0===J?u.ResponseValidator:J,z=e.MetadataServiceCtor,Y=void 0===z?c.MetadataService:z,G=e.extraQueryParams,$=void 0===G?{}:G,X=e.extraTokenParams,Q=void 0===X?{}:X;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=l,this._signingKeys=h,this._client_id=f,this._client_secret=g,this._response_type=p,this._scope=y,this._redirect_uri=m,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=b,this._display=F,this._max_age=E,this._ui_locales=x,this._acr_values=A,this._resource=k,this._response_mode=P,this._filterProtocolClaims=!!T,this._loadUserInfo=!!I,this._staleStateAge=L,this._clockSkew=U,this._clockService=B,this._userInfoJwtIssuer=j,this._mergeClaims=!!K,this._stateStore=q,this._validator=new W(this),this._metadataService=new Y(this),this._extraQueryParams="object"===(void 0===$?"undefined":n($))?$:{},this._extraTokenParams="object"===(void 0===Q?"undefined":n(Q))?Q:{}}return t.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function(){return this._client_id},set:function(t){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=t}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(t){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=t}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(t){this._metadata=t}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(t){this._metadataSeed=t}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(t){this._signingKeys=t}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraQueryParams=t:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(t){"object"===(void 0===t?"undefined":n(t))?this._extraTokenParams=t:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._store=s,this._prefix=n}return t.prototype.set=function(t,e){return n.Log.debug("WebStorageStateStore.set",t),t=this._prefix+t,this._store.setItem(t,e),Promise.resolve()},t.prototype.get=function(t){n.Log.debug("WebStorageStateStore.get",t),t=this._prefix+t;var e=this._store.getItem(t);return Promise.resolve(e)},t.prototype.remove=function(t){n.Log.debug("WebStorageStateStore.remove",t),t=this._prefix+t;var e=this._store.getItem(t);return this._store.removeItem(t),Promise.resolve(e)},t.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var t=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function(t,e){var r=this;if(!t)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",t),new Promise((function(i,o){var s=new r._XMLHttpRequest;s.open("GET",t);var a=r._contentTypes,u=r._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var e=s.getResponseHeader("Content-Type");if(e){var r=a.find((function(t){if(e.startsWith(t))return!0}));if("application/jwt"==r)return void u(s).then(i,o);if(r)try{return void i(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+e+", from URL: "+t))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},e&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+e)),s.send()}))},t.prototype.postForm=function(t,e,r){var i=this;if(!t)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",t),new Promise((function(o,s){var a=new i._XMLHttpRequest;a.open("POST",t);var u=i._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status&&(r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{var e=JSON.parse(a.responseText);if(e&&e.error)return n.Log.error("JsonService.postForm: Error from server: ",e.error),void s(new Error(e.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var r;if((r=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(r.startsWith(t))return!0})))try{return void o(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+r+", from URL: "+t))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var h in e){var l=e[h];l&&(c.length>0&&(c+="&"),c+=encodeURIComponent(h),c+="=",c+=encodeURIComponent(l))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&a.setRequestHeader("Authorization","Basic "+btoa(r)),a.send(c)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,w=e.request,b=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!h)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var P=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:P,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),P&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var T={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:w,request_uri:b,response_mode:S};for(var R in T)T[R]&&(r=i.UrlUtility.addQueryParam(r,R,T[R]));for(var I in F)r=i.UrlUtility.addQueryParam(r,I,F[I]);this.url=r}return t.isOidc=function(t){return!!t.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function(t){return!!t.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function(t){return!!t.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function(e){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(e))},t.clearStaleState=function(e,r){var n=Date.now()/1e3-r;return e.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],s=function(s){var a=r[s];u=e.get(a).then((function(r){var o=!1;if(r)try{var s=t.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",a,s.created),s.created<=n&&(o=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",a,t.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",a),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",a),e.remove(a)})),o.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.response_type,n=e.scope,o=e.redirect_uri,s=e.data,u=e.state,c=e.prompt,h=e.display,l=e.max_age,f=e.ui_locales,g=e.id_token_hint,d=e.login_hint,p=e.acr_values,v=e.resource,y=e.request,m=e.request_uri,_=e.response_mode,S=e.extraQueryParams,w=e.extraTokenParams,b=e.request_type,F=e.skipUserInfo,E=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var x=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,c=c||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,f=f||this._settings.ui_locales,p=p||this._settings.acr_values,v=v||this._settings.resource,_=_||this._settings.response_mode,S=S||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var A=this._settings.authority;return a.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(e){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",e);var k=new a.SigninRequest({url:e,client_id:x,redirect_uri:o,response_type:r,scope:n,data:s||u,authority:A,prompt:c,display:h,max_age:l,ui_locales:f,id_token_hint:g,login_hint:d,acr_values:p,resource:v,request:y,request_uri:m,extraQueryParams:S,extraTokenParams:w,request_type:b,response_mode:_,client_secret:t._settings.client_secret,skipUserInfo:F}),P=k.state;return(E=E||t._stateStore).set(P.id,P.toStorageString()).then((function(){return k}))}))},t.prototype.readSigninResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new u.SigninResponse(t,n);return o.state?(e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.SigninState.fromStorageString(t),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(e,n)}))},t.prototype.createSignoutRequest=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.id_token_hint,n=e.data,o=e.state,s=e.post_logout_redirect_uri,a=e.extraQueryParams,u=e.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),s=s||this._settings.post_logout_redirect_uri,a=a||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(e){if(!e)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",e);var l=new c.SignoutRequest({url:e,id_token_hint:r,post_logout_redirect_uri:s,data:n||o,extraQueryParams:a,request_type:u}),f=l.state;return f&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||t._stateStore).set(f.id,f.toStorageString())),l}))},t.prototype.readSignoutResponseState=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new h.SignoutResponse(t);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new s.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return e=e||this._stateStore,(r?e.remove.bind(e):e.get.bind(e))(o).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:f.State.fromStorageString(t),response:n}}))},t.prototype.processSignoutResponse=function(t,e){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(t,e,!0).then((function(t){var e=t.state,n=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(e,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},t.prototype.clearStaleState=function(t){return i.Log.debug("OidcClient.clearStaleState"),t=t||this._stateStore,f.State.clearStaleState(t,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"authorization_code",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret,e.redirect_uri=e.redirect_uri||this._settings.redirect_uri;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.code?e.redirect_uri?e.code_verifier?e.client_id?e.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).grant_type=e.grant_type||"refresh_token",e.client_id=e.client_id||this._settings.client_id,e.client_secret=e.client_secret||this._settings.client_secret;var r=void 0,n=e._client_authentication||this._settings._client_authentication;return delete e._client_authentication,e.refresh_token?e.client_id?("client_secret_basic"==n&&(r=e.client_id+":"+e.client_secret,delete e.client_id,delete e.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),t._jsonService.postForm(n,e,r).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(0);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var c=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return c.name="ErrorResponse",c.error=i,c.error_description=o,c.error_uri=s,c.state=a,c.session_state=u,c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,h=r.response_mode,l=r.client_secret,f=r.scope,g=r.extraTokenParams,d=r.skipUserInfo;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var p=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?p._nonce=(0,a.default)():n&&(p._nonce=n),!0===c?p._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(p._code_verifier=c),p.code_verifier){var v=s.JoseUtil.hashString(p.code_verifier,"SHA256");p._code_challenge=s.JoseUtil.hexToBase64Url(v)}return p._redirect_uri=u,p._authority=i,p._client_id=o,p._response_mode=h,p._client_secret=l,p._scope=f,p._extraTokenParams=g,p._skipUserInfo=d,p}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function(t){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(t))},n(e,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^n.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=e.accessTokenExpiringTimer,s=void 0===o?new i.Timer("Access token expiring"):o,a=e.accessTokenExpiredTimer,u=void 0===a?new i.Timer("Access token expired"):a;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=s,this._accessTokenExpired=u}return t.prototype.load=function(t){if(t.access_token&&void 0!==t.expires_in){var e=t.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",e),e>0){var r=e-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=e+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function(t){this._accessTokenExpiring.addHandler(t)},t.prototype.removeAccessTokenExpiring=function(t){this._accessTokenExpiring.removeHandler(t)},t.prototype.addAccessTokenExpired=function(t){this._accessTokenExpired.addHandler(t)},t.prototype.removeAccessTokenExpired=function(t){this._accessTokenExpired.removeHandler(t)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function(t){this._callbacks.push(t)},t.prototype.removeHandler=function(t){var e=this._callbacks.findIndex((function(e){return e===t}));e>=0&&this._callbacks.splice(e,1)},t.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function(t){var e=this,r=t.session_state;r&&(t.profile?(this._sub=t.profile.sub,this._sid=t.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=e._client_id,o=e._checkSessionInterval,s=e._stopCheckSessionOnError;e._checkSessionIFrame=new e._CheckSessionIFrameCtor(e._callback.bind(e),n,t,o,s),e._checkSessionIFrame.load().then((function(){e._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function(){var t=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var e=this._timer.setInterval((function(){t._timer.clearInterval(e),t._userManager.querySessionStatus().then((function(e){var r={session_state:e.session_state};e.sub&&e.sid&&(r.profile={sub:e.sub,sid:e.sid}),t._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function(){var t=this;this._userManager.querySessionStatus().then((function(e){var r=!0;e?e.sub===t._sub?(r=!1,t._checkSessionIFrame.start(e.session_state),e.sid===t._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",e.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",e.session_state),t._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",e.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(t._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),t._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),t._userManager.events._raiseUserSignedIn()))})).catch((function(e){t._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",e.message),t._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);e.CheckSessionIFrame=function(){function t(e,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var s=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,s),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function(){var t=this;return new Promise((function(e){t._frame.onload=function(){e()},window.document.body.appendChild(t._frame),t._boundMessageEvent=t._message.bind(t),window.addEventListener("message",t._boundMessageEvent,!1)}))},t.prototype._message=function(t){t.origin===this._frame_origin&&t.source===this._frame.contentWindow&&("error"===t.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===t.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+t.data+" message from check session op iframe"))},t.prototype.start=function(t){var e=this;if(this._session_state!==t){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=t;var r=function(){e._frame.contentWindow.postMessage(e._client_id+" "+e._session_state,e._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},t.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function(t,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!t)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var s=r._settings.client_id,a=r._settings.client_secret;return r._revoke(o,s,a,t,i)}if(e)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function(t,e,r,i,o){var s=this;return new Promise((function(a,u){var c=new s._XMLHttpRequestCtor;c.open("POST",t),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?a():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var h="client_id="+encodeURIComponent(e);r&&(h+="&client_secret="+encodeURIComponent(r)),h+="&token_type_hint="+encodeURIComponent(o),h+="&token="+encodeURIComponent(i),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(h)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function(t,e){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(t,e).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(t,e).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function(t,e){return t.id!==e.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):Promise.resolve(e))},t.prototype._processSigninParams=function(t,e){if(t.id!==e.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!t.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!t.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==t.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=t.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==t.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=t.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),e.state=t.data,e.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",e.error),Promise.reject(new u.ErrorResponse(e))):t.nonce&&!e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!t.nonce&&e.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):t.code_verifier&&!e.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!t.code_verifier&&e.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(e.scope||(e.scope=t.scope),Promise.resolve(e))},t.prototype._processClaims=function(t,e){var r=this;if(e.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),e.profile=this._filterProtocolClaims(e.profile),!0!==t.skipUserInfo&&this._settings.loadUserInfo&&e.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(e.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==e.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(e.profile=r._mergeClaims(e.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",e.profile),e)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(e)},t.prototype._mergeClaims=function(t,e){var r=Object.assign({},t);for(var i in e){var o=e[i];Array.isArray(o)||(o=[o]);for(var s=0;s1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function(t){var e=this;return this._getSigningKeyForJwt(t).then((function(r){return r?Promise.resolve(r):(e._metadataService.resetSigningKeys(),e._getSigningKeyForJwt(t))}))},t.prototype._validateIdToken=function(t,e){var r=this;if(!t.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(e.id_token);return n&&n.header&&n.payload?t.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=t.client_id,u=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(e.id_token,s,o,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(e.profile=n.payload,e):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",e),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,t.length),t},t.prototype._validateAccessToken=function(t){if(!t.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!t.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!t.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var e=this._joseUtil.parseJwt(t.id_token);if(!e||!e.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",e),Promise.reject(new Error("Failed to parse id_token"));var r=e.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,s=this._joseUtil.hashString(t.access_token,o);if(!s)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var a=s.substr(0,s.length/2),u=this._joseUtil.hexToBase64Url(a);return u!==t.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",u,t.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(t))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function(t){var e=this;return t?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),e._jsonService.getJson(r,t).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function(t,e){var r=null;if(e.startsWith("RS"))r="RSA";else if(e.startsWith("PS"))r="PS";else{if(!e.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",e),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),t=t.filter((function(t){return t.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,t.length),t},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={};if(void 0===o)var o={};o.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var i=function(){};if(i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var o;for(o in r)t.prototype[o]=r[o];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(n.userAgent)&&(s=function(t,e){for(o=0;o>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=s.ceil(e/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},g=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(g.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return g.parse(unescape(encodeURIComponent(t)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,r=e.words,n=e.sigBytes,i=this.blockSize,o=n/(4*i),a=(o=t?s.ceil(o):s.max((0|o)-this._minBufferSize,0))*i,u=s.min(4*a,n);if(a){for(var c=0;c>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s>>6*(3-s)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var r=t.length,n=this._map;(i=n.charAt(64))&&-1!=(i=t.indexOf(i))&&(r=i);for(var i=[],o=0,s=0;s>>6-s%4*2;i[o>>>2]|=(a|u)<<24-o%4*8,o++}return e.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function(t){return 4294967296*(t-(0|t))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],u=r[4],c=r[5],h=r[6],l=r[7],f=0;64>f;f++){if(16>f)g[f]=0|t[e+f];else{var d=g[f-15],p=g[f-2];g[f]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[f-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[f-16]}d=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&h)+s[f]+g[f],p=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),l=h,h=c,c=u,u=a+d|0,a=o,o=i,i=n,n=d+p|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+h|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=(l=this._hash.words)[0],n=l[1],i=l[2],o=l[3],u=l[4],c=l[5],h=l[6],l=l[7],f=r.high,g=r.low,d=n.high,p=n.low,v=i.high,y=i.low,m=o.high,_=o.low,S=u.high,w=u.low,b=c.high,F=c.low,E=h.high,x=h.low,A=l.high,k=l.low,P=f,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,O=w,B=b,M=F,j=E,H=x,K=A,V=k,q=0;80>q;q++){var J=a[q];if(16>q)var W=J.high=0|t[e+2*q],z=J.low=0|t[e+2*q+1];else{W=((z=(W=a[q-15]).high)>>>1|(Y=W.low)<<31)^(z>>>8|Y<<24)^z>>>7;var Y=(Y>>>1|z<<31)^(Y>>>8|z<<24)^(Y>>>7|z<<25),G=((z=(G=a[q-2]).high)>>>19|($=G.low)<<13)^(z<<3|$>>>29)^z>>>6,$=($>>>19|z<<13)^($<<3|z>>>29)^($>>>6|z<<26),X=(z=a[q-7]).high,Q=(Z=a[q-16]).high,Z=Z.low;W=(W=(W=W+X+((z=Y+z.low)>>>0>>0?1:0))+G+((z+=$)>>>0<$>>>0?1:0))+Q+((z+=Z)>>>0>>0?1:0),J.high=W,J.low=z}X=U&B^~U&j,Z=O&M^~O&H,J=P&T^P&I^T&I;var tt=C&R^C&D^R&D,et=(Y=(P>>>28|C<<4)^(P<<30|C>>>2)^(P<<25|C>>>7),G=(C>>>28|P<<4)^(C<<30|P>>>2)^(C<<25|P>>>7),($=s[q]).high),rt=$.low;Q=K+((U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9))+(($=V+((O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9)))>>>0>>0?1:0),K=j,V=H,j=B,H=M,B=U,M=O,U=L+(Q=(Q=(Q=Q+X+(($+=Z)>>>0>>0?1:0))+et+(($+=rt)>>>0>>0?1:0))+W+(($+=z)>>>0>>0?1:0))+((O=N+$|0)>>>0>>0?1:0)|0,L=I,N=D,I=T,D=R,T=P,R=C,P=Q+(J=Y+J+((z=G+tt)>>>0>>0?1:0))+((C=$+z|0)>>>0<$>>>0?1:0)|0}g=r.low=g+C,r.high=f+P+(g>>>0>>0?1:0),p=n.low=p+R,n.high=d+T+(p>>>0>>0?1:0),y=i.low=y+D,i.high=v+I+(y>>>0>>0?1:0),_=o.low=_+N,o.high=m+L+(_>>>0>>0?1:0),w=u.low=w+O,u.high=S+U+(w>>>0>>0?1:0),F=c.low=F+M,c.high=b+B+(F>>>0>>0?1:0),x=h.low=x+H,h.high=E+j+(x>>>0>>0?1:0),k=l.low=k+V,l.high=A+K+(k>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=P(r<<2|n>>4),r=15&n,o=2):2==o?(i+=P(r),i+=P(n>>2),r=3&n,o=3):(i+=P(r<<2|n>>4),i+=P(15&n),o=0));return 1==o&&(i+=P(r<<2)),i}function b(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function I(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function M(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function j(){}function H(t){return t}function K(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}I.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},I.prototype.revert=function(t){return t},I.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},I.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},I.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:C(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=R(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=P(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=P(r));return i?o:"0"},F.prototype.negate=function(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function(){return this.s<0?this.negate():this},F.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+R(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new I(e):new D(e),this.exp(t,r)},F.ZERO=T(0),F.ONE=T(1),j.prototype.convert=H,j.prototype.revert=H,j.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},j.prototype.sqrTo=function(t,e){t.squareTo(e)},K.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},K.prototype.revert=function(t){return t},K.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},K.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},K.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var V,q,J,W=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=(1<<26)/W[W.length-1];function Y(){this.i=0,this.j=0,this.S=new Array}function G(){!function(t){q[J++]^=255&t,q[J++]^=t>>8&255,q[J++]^=t>>16&255,q[J++]^=t>>24&255,J>=256&&(J-=256)}((new Date).getTime())}if(F.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=T(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),N,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>W.length&&(t=W.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function(t){return 0==this.compareTo(t)},F.prototype.min=function(t){return this.compareTo(t)<0?this:t},F.prototype.max=function(t){return this.compareTo(t)>0?this:t},F.prototype.and=function(t){var e=E();return this.bitwiseTo(t,L,e),e},F.prototype.or=function(t){var e=E();return this.bitwiseTo(t,N,e),e},F.prototype.xor=function(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.not=function(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=R(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function(t){return this.exp(t,new j)},F.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=W[W.length-1]){for(e=0;e>>8,q[J++]=255&$;J=0,G()}function tt(){if(null==V){for(G(),(V=new Y).init(q),J=0;J>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function it(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ot(t,e){this.x=e,this.q=t}function st(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function at(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new st(this,null,null)}et.prototype.nextBytes=function(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=rt(t,16),this.e=parseInt(e,16)}},it.prototype.encrypt=function(t){var e=function(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new et,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},it.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=ct.crypto.MessageDigest,o=ct.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function(t){return Ft(o.hashHex(Et(t),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 0==(1&o.length)?o:"0"+o},it.prototype.type="RSA",ot.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},ot.prototype.toBigInteger=function(){return this.x},ot.prototype.negate=function(){return new ot(this.q,this.x.negate().mod(this.q))},ot.prototype.add=function(t){return new ot(this.q,this.x.add(t.toBigInteger()).mod(this.q))},ot.prototype.subtract=function(t){return new ot(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},ot.prototype.multiply=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},ot.prototype.square=function(){return new ot(this.q,this.x.square().mod(this.q))},ot.prototype.divide=function(t){return new ot(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},st.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},st.prototype.equals=function(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},st.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},st.prototype.negate=function(){return new st(this.curve,this.x,this.y.negate(),this.z)},st.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},st.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new st(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},st.prototype.multiply=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new st(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},st.prototype.multiplyTwo=function(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},at.prototype.getQ=function(){return this.q},at.prototype.getA=function(){return this.a},at.prototype.getB=function(){return this.b},at.prototype.equals=function(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},at.prototype.getInfinity=function(){return this.infinity},at.prototype.fromBigInteger=function(t){return new ot(this.q,t)},at.prototype.decodePointHex=function(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new st(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)))}},ot.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},st.prototype.getEncoded=function(t){var e=function(t,e){var r=t.toByteArrayUnsigned();if(er.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},st.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new st(t,t.fromBigInteger(o),t.fromBigInteger(s))},st.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new st(this.curve,n,i)},st.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},st.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},st.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},st.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var ut=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;"{"===l?u={}:"["===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({"":u},"")),u}}();void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.asn1&&ct.asn1||(ct.asn1={}),ct.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},ct.asn1.DERAbstractString=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=wt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(ct.asn1.DERAbstractString,ct.asn1.ASN1Object),ct.asn1.DERAbstractTime=function(t){ct.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=vt(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(ct.asn1.DERAbstractTime,ct.asn1.ASN1Object),ct.asn1.DERAbstractStructured=function(t){ct.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(ct.asn1.DERAbstractStructured,ct.asn1.ASN1Object),ct.asn1.DERBoolean=function(t){ct.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(ct.asn1.DERBoolean,ct.asn1.ASN1Object),ct.asn1.DERInteger=function(t){ct.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=ct.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(ct.asn1.DERInteger,ct.asn1.ASN1Object),ct.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=ct.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}ct.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Ut(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Nt(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Ot(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}ft.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},ft.getNthChildIdx=function(t,e,r){return ft.getChildIdx(t,e)[r]},ft.getIdxbyList=function(t,e,r,n){var i,o,s=ft;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},ft.getIdxbyListEx=function(t,e,r,n){var i,o,s=ft;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},ft.getTLVbyListEx=function(t,e,r,n){var i=ft,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},ft.getVbyList=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},ft.getVbyListEx=function(t,e,r,n,i){var o,s,a=ft;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},ft.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=ft.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},ft.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!Bt(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(ft.getV(t,e))}catch(t){return r}},ft.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=ft.getOID(t,e,r);if(n==r)return r;var i=ct.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},ft.getString=function(t,e,r){null==r&&(r=null);try{return Ft(ft.getV(t,e))}catch(t){return r}},ft.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+"."+u.join(".")),h},ft.dump=function(t,e,r,n){var i=ft,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof ct.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var h,l=e.ommit_long_octet;if("01"==(h=u.substr(r,2)))return"00"==(f=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==h)return n+"INTEGER "+c(f=o(u,r),l)+"\n";if("03"==h){var f=o(u,r);return i.isASN1HEX(f.substr(2))?(w=n+"BITSTRING, encapsulates\n")+s(f.substr(2),e,0,n+" "):n+"BITSTRING "+c(f,l)+"\n"}if("04"==h)return f=o(u,r),i.isASN1HEX(f)?(w=n+"OCTETSTRING, encapsulates\n")+s(f,e,0,n+" "):n+"OCTETSTRING "+c(f,l)+"\n";if("05"==h)return n+"NULL\n";if("06"==h){var g=o(u,r),d=ct.asn1.ASN1Util.oidHexToInt(g),p=ct.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=p?n+"ObjectIdentifier "+p+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==h)return n+"UTF8String '"+bt(o(u,r))+"'\n";if("13"==h)return n+"PrintableString '"+bt(o(u,r))+"'\n";if("14"==h)return n+"TeletexString '"+bt(o(u,r))+"'\n";if("16"==h)return n+"IA5String '"+bt(o(u,r))+"'\n";if("17"==h)return n+"UTCTime "+bt(o(u,r))+"\n";if("18"==h)return n+"GeneralizedTime "+bt(o(u,r))+"\n";if("1a"==h)return n+"VisualString '"+bt(o(u,r))+"'\n";if("1e"==h)return n+"BMPString '"+bt(o(u,r))+"'\n";if("30"==h){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){p=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=p,y=m}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(t){return!1}},ft.isASN1HEX=function(t){var e=ft;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},ft.checkStrictDER=function(t,e,r,n,i){var o=ft;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!ct.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var h=o.getVidx(t,e);if("00"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=e?t:new Array(e-t.length+1).join(r)+t};void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="00"+n,s="",a=i-4-o.length,u=0;u=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},ct.crypto.ECDSA.parseSigHex=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},ct.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=ft,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},ct.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=ct.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ct.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return ct.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},ct.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return ct.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ct.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=ct.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ct.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==ct&&ct||(e.KJUR=ct={}),void 0!==ct.crypto&&ct.crypto||(ct.crypto={}),ct.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new at(p,v,y),w=S.decodePointHex("04"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=w,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var b=0;b=2*a)break}var l={};return l.keyhex=u.substr(0,2*i[t].keylen),l.ivhex=u.substr(2*i[t].keylen,2*i[t].ivlen),l},a=function(t,e,r,n){var o=y.enc.Base64.parse(t),s=y.enc.Hex.stringify(o);return(0,i[e].proc)(s,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(t){return o(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return s(t,e,r)},decryptKeyB64:function(t,e,r,n){return a(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=o(t),n=(r.type,r.cipher),i=r.ivsalt,u=r.data,c=s(n,e,i).keyhex;return a(u,n,c,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,o){var a="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw"KEYUTIL unsupported algorithm: "+n;void 0!==o&&null!=o||(o=function(t){var e=y.lib.WordArray.random(t);return y.enc.Hex.stringify(e)}(i[n].ivlen).toUpperCase());var u=function(t,e,r,n){return(0,i[e].eproc)(t,r,n)}(e,n,s(n,r,o).keyhex,o);return a="-----BEGIN "+t+" PRIVATE KEY-----\r\n",a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+o+"\r\n",a+="\r\n",(a+=u.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={},o=r(t,0);if(2!=o.length)throw"malformed format: SEQUENCE(0).items != 2: "+o.length;i.ciphertext=n(t,o[1]);var s=r(t,o[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(t,s[0]))throw"this only supports pkcs5PBES2";var a=r(t,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var c=r(t,a[0]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+c.length;if("2a864886f70d01050c"!=n(t,c[0]))throw"this only supports pkcs5PBKDF2";var h=r(t,c[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;i.pbkdf2Salt=n(t,h[0]);var l=n(t,h[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=y.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=y.PBKDF2(e,r,{keySize:6,iterations:n});return y.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=Ct(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=Ht.getPBKDF2KeyHexFromParam(n,e),o={};o.ciphertext=y.enc.Hex.parse(n.ciphertext);var s=y.enc.Hex.parse(i),a=y.enc.Hex.parse(n.encryptionSchemeIV),u=y.TripleDES.decrypt(o,s,{iv:a});return y.enc.Hex.stringify(u)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var o=r(t,0);if(3!=o.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=t.substr(o[1],2))throw"malformed PKCS8 private key(code:003)";var s=r(t,o[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=t.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(i.algoid=n(t,s[0]),"06"==t.substr(s[1],2)&&(i.algparam=n(t,s[1])),"04"!=t.substr(o[2],2))throw"malformed PKCS8 private key(code:006)";return i.keyidx=e.getVidx(t,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=Ct(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new it;else if("2a8648ce380401"==r.algoid)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new ct.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=ft.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new it;else if("2a8648ce380401"===r)e=new ct.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new ct.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var o=r(t,0);if(2!=o.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(o[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,o[0]),"02"!=t.substr(o[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,o[1]),i},parsePublicPKCS8Hex:function(t){var e=ft,r=e.getChildIdx,n=e.getV,i={algparam:null},o=r(t,0);if(2!=o.length)throw"outer DERSequence shall have 2 elements: "+o.length;var s=o[0];if("30"!=t.substr(s,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,s);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(o[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,o[1]).substr(2),i}}}();Ht.getKey=function(t,e,r){var n,i=(y=ft).getChildIdx,o=(y.getV,y.getVbyList),s=ct.crypto,a=s.ECDSA,u=s.DSA,c=it,h=Ct,l=Ht;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(t.n,t.e),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(C=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),C;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(C=new c).setPrivate(t.n,t.e,t.d),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(C=new u).setPublic(t.p,t.q,t.g,t.y),C;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(C=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(C=new c).setPublic(St(t.n),St(t.e)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(C=new c).setPrivateEx(St(t.n),St(t.e),St(t.d),St(t.p),St(t.q),St(t.dp),St(t.dq),St(t.qi)),C;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(C=new c).setPrivate(St(t.n),St(t.e),St(t.d)),C;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);return P.setPublicKeyHex(g),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){f=(P=new a({curve:t.crv})).ecparams.keylen/4,g="04"+("0000000000"+St(t.x)).slice(-f)+("0000000000"+St(t.y)).slice(-f);var d=("0000000000"+St(t.d)).slice(-f);return P.setPublicKeyHex(g),P.setPrivateKeyHex(d),P}if("pkcs5prv"===r){var p,v=t,y=ft;if(9===(p=i(v,0)).length)(C=new c).readPKCS5PrvKeyHex(v);else if(6===p.length)(C=new u).readPKCS5PrvKeyHex(v);else{if(!(p.length>2&&"04"===v.substr(p[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(C=new a).readPKCS5PrvKeyHex(v)}return C}if("pkcs8prv"===r)return l.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return l._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Wt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Wt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var m=Ct(t,"PUBLIC KEY");return l._getKeyFromPublicPKCS8Hex(m)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=h(t,"RSA PRIVATE KEY");return l.getKey(_,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=o(n=h(t,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02");return(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED"))return _=h(t,"EC PRIVATE KEY"),l.getKey(_,null,"pkcs5prv");if(-1!=t.indexOf("-END PRIVATE KEY-"))return l.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var A=l.getDecryptedKeyHex(t,e),k=new it;return k.readPKCS5PrvKeyHex(A),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,C=o(n=l.getDecryptedKeyHex(t,e),0,[1],"04"),T=o(n,0,[2,0],"06"),R=o(n,0,[3,0],"03").substr(2);if(void 0===ct.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new a({curve:ct.crypto.OID.oidhex2name[T]})).setPublicKeyHex(R),P.setPrivateKeyHex(C),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED"))return S=o(n=l.getDecryptedKeyHex(t,e),0,[1],"02"),w=o(n,0,[2],"02"),b=o(n,0,[3],"02"),E=o(n,0,[4],"02"),x=o(n,0,[5],"02"),(C=new u).setPrivate(new F(S,16),new F(w,16),new F(b,16),new F(E,16),new F(x,16)),C;if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return l.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Ht.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new it).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new it,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new ct.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new ct.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Ht.getPEM=function(t,e,r,n,i,o){var s=ct,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=it;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Pt(F=new l(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),w=m(t).getEncodedHex(),b="";return(b+=Pt(S,"EC PARAMETERS"))+Pt(w,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Pt(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate)return F=m(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o);if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate)return F=_(t).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o);var E=function(t,e){var r=x(t,e);return new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},x=function(t,e){var r=y.lib.WordArray.random(8),n=y.lib.WordArray.random(8),i=y.PBKDF2(e,r,{keySize:6,iterations:100}),o=y.enc.Hex.parse(t),s=y.TripleDES.encrypt(o,i,{iv:n})+"",a={};return a.ciphertext=s,a.pbkdf2Salt=y.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=y.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();return F=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate)return A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate)return A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex(),void 0===r||null==r?Pt(F,"PRIVATE KEY"):Pt(w=E(F,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},Ht.getKeyFromCSRPEM=function(t){var e=Ct(t,"CERTIFICATE REQUEST");return Ht.getKeyFromCSRHex(e)},Ht.getKeyFromCSRHex=function(t){var e=Ht.parseCSRHex(t);return Ht.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Ht.parseCSRHex=function(t){var e=ft,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Ht.getKeyID=function(t){var e=Ht,r=ft;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Ct(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ct.crypto.Util.hashHex(o,"sha1")},Ht.getJWKFromKey=function(t){var e={};if(t instanceof it&&t.isPrivate)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e.d=_t(t.d.toString(16)),e.p=_t(t.p.toString(16)),e.q=_t(t.q.toString(16)),e.dp=_t(t.dmp1.toString(16)),e.dq=_t(t.dmq1.toString(16)),e.qi=_t(t.coeff.toString(16)),e;if(t instanceof it&&t.isPublic)return e.kty="RSA",e.n=_t(t.n.toString(16)),e.e=_t(t.e.toString(16)),e;if(t instanceof ct.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e.d=_t(t.prvKeyHex),e}if(t instanceof ct.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;return r=t.getPublicKeyXYHex(),e.kty="EC",e.crv=n,e.x=_t(r.x),e.y=_t(r.y),e}throw"not supported key object"},it.getPosArrayOfChildrenFromHex=function(t){return ft.getChildIdx(t,0)},it.getHexValueArrayOfChildrenFromHex=function(t){var e,r=ft.getV,n=r(t,(e=it.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},it.prototype.readPrivateKeyFromPEMString=function(t){var e=Ct(t),r=it.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},it.prototype.readPKCS5PrvKeyHex=function(t){var e=it.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},it.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=ft,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=h(t,0,[2,0,1],"02"),r=h(t,0,[2,0,2],"02"),n=h(t,0,[2,0,3],"02"),i=h(t,0,[2,0,4],"02"),o=h(t,0,[2,0,5],"02"),s=h(t,0,[2,0,6],"02"),a=h(t,0,[2,0,7],"02"),u=h(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},it.prototype.readPKCS5PubKeyHex=function(t){var e=ft,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},it.prototype.readPKCS8PubKeyHex=function(t){var e=ft;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},it.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Wt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Kt=new RegExp("[^0-9a-f]","gi");function Vt(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Jt(t){for(var e in ct.crypto.Util.DIGESTINFOHEAD){var r=ct.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Wt(t){var e,r=ft,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=Wt,v=Ct;try{e=ct.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Ht.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new ct.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Ct(t);var u=h(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&-1!=l(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30"));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new et).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Ft(u(Et("\0\0\0\0\0\0\0\0"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function(t){return ct.crypto.Util.hashString(t,i)}(t)},it.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=rt(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Jt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},it.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return ct.crypto.Util.hashHex(t,r)}(Et(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},it.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function(t){return ct.crypto.Util.hashHex(t,r)},a=Ft(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error("bits beyond keysize not zero");var p=qt(g,f.length,s),v=[];for(i=0;i0&&-1==(":"+n.join(":")+":").indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list";if("none"!=y&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Ht.getKey(e)),!("RS"!=g&&"PS"!=g||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==g&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[v.alg])throw"unsupported alg name: "+y;if("none"==(m=s.jwsalg2sigalg[y]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new h({alg:m,pass:e});return _.updateString(d),p==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,w=null;try{w=c.concatSigToASN1Sig(p)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(w)}return(S=new l({alg:m})).init(e),S.updateString(d),S.verify(p)},ct.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ct.jws.JWS.readSafeJSONString(lt(e)),o.payloadObj=ct.jws.JWS.readSafeJSONString(lt(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=lt(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=St(n)),o},ct.jws.JWS.verifyJWT=function(t,e,n){var i=ct.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),h=c[0],l=c[1],f=(St(c[2]),s(lt(h))),g=s(lt(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&"object"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&"object"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&"object"===r(n.aud))if("string"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if("object"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&"number"==typeof g.exp&&g.exp+n.gracePeriode.length&&(r=e.length);for(var n=0;n=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return H(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);for(var r="",n=0;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},u.prototype.compare=function(t,e,r,n,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(n,i),h=t.slice(e,r),l=0;li)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":return w(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return F(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function P(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function L(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function N(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function U(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,n,o){return o||U(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||U(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||I(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||D(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o>0)-a&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):L(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):L(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),s=n[0],a=n[1],c=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,a)),h=0,l=a>0?s-4:s;for(r=0;r>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,c[h++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;au?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,s=[],a=e;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.jws,r=t.KeyUtil,i=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){n.Log.debug("JoseUtil.parseJwt");try{var i=e.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(t){n.Log.error(t)}},t.validateJwt=function(e,o,s,u,c,h,l){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var f=a(o.x5c[0]);o=i.getPublicKeyFromCertHex(f)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return t._validateJwt(e,o,s,u,c,h,l)}catch(t){return n.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function(e,r,i,o,s,a){o||(o=0),s||(s=parseInt(Date.now()/1e3));var u=t.parseJwt(e).payload;if(!u.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(u.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",u.iss),Promise.reject(new Error("Invalid issuer in token: "+u.iss));if(!u.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(u.aud===i||Array.isArray(u.aud)&&u.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",u.aud),Promise.reject(new Error("Invalid audience in token: "+u.aud));if(u.azp&&u.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",u.azp),Promise.reject(new Error("Invalid azp in token: "+u.azp));if(!a){var c=s+o,h=s-o;if(!u.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(c1&&void 0!==arguments[1]?arguments[1]:"#";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function(){if(this.expires_at){var t=parseInt(Date.now()/1e3);return this.expires_at-t}},set:function(t){var e=parseInt(t);if("number"==typeof e&&e>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+e}}},{key:"expired",get:function(){var t=this.expires_in;if(void 0!==t)return t<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var r=n.UrlUtility.parseUrlFragment(e,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,p=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var v=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return v._events=new u.UserManagerEvents(r),v._silentRenewService=new n(v),v.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),v.startSilentRenew()),v.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),v._sessionMonitor=new o(v)),v._tokenRevocationClient=new a(v._settings),v._tokenClient=new l(v._settings),v._joseUtil=p,v}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function(){var t=this;return this._loadUser().then((function(e){return e?(i.Log.info("UserManager.getUser: user loaded"),t._events.load(e,!1),e):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function(){var t=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),t._events.unload()}))},e.prototype.signinRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:r";var e={useReplaceToNavigate:t.useReplaceToNavigate};return this._signinStart(t,this._redirectNavigator,e).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function(t){return this._signinEnd(t||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:p";var e=t.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.display="popup",this._signin(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function(t){return this._signinCallback(t,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e=Object.assign({},e),this._loadUser().then((function(r){return r&&r.refresh_token?(e.refresh_token=r.refresh_token,t._useRefreshToken(e)):(e.request_type="si:s",e.id_token_hint=e.id_token_hint||t.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&t._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),e.current_sub=r.profile.sub),t._signinSilentIframe(e))}))},e.prototype._useRefreshToken=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(e).then((function(e){return e?e.access_token?t._loadUser().then((function(r){if(r){var n=Promise.resolve();return e.id_token&&(n=t._validateIdTokenFromTokenRefreshToken(r.profile,e.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=e.id_token||r.id_token,r.access_token=e.access_token,r.refresh_token=e.refresh_token||r.refresh_token,r.expires_in=e.expires_in,t.storeUser(r).then((function(){return t._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function(t,e){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(e,n,r._settings.client_id,r._settings.clockSkew,o).then((function(e){return e?e.sub!==t.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):e.auth_time&&e.auth_time!==t.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):e.azp&&e.azp!==t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!e.azp&&t.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return e?(t.redirect_uri=e,t.prompt=t.prompt||"none",this._signin(t,this._iframeNavigator,{startUrl:e,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function(t){return this._signinCallback(t,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function(t){var e=this;return this.readSigninResponseState(t).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?e.signinRedirectCallback(t):"si:p"===n.request_type?e.signinPopupCallback(t):"si:s"===n.request_type?e.signinSilentCallback(t):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function(t,e){var r=this;return this.readSignoutResponseState(t).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(t):"so:p"===i.request_type?r.signoutPopupCallback(t,e):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:s";var r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt="none",e.response_type=e.response_type||this.settings.query_status_response_type,e.scope=e.scope||"openid",e.skipUserInfo=!0,this._signinStart(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return t.processSigninResponse(e.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(e){if(e.session_state&&t.settings.monitorAnonymousSession&&("login_required"==e.message||"consent_required"==e.message||"interaction_required"==e.message||"account_selection_required"==e.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:e.session_state};throw e}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(t,e,n).then((function(e){return r._signinEnd(e.url,t)}))},e.prototype._signinStart=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.prepare(n).then((function(e){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(t).then((function(t){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=t.url,n.id=t.state.id,e.navigate(n)})).catch((function(t){throw e.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),e.close()),t}))}))},e.prototype._signinEnd=function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(t).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var n=new a.User(t);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return e.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),e._events.load(n),n}))}))},e.prototype._signinCallback=function(t,e){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?"?":"#";return e.callback(t,void 0,r)},e.prototype.signoutRedirect=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:r";var e=t.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;e&&(t.post_logout_redirect_uri=e);var r={useReplaceToNavigate:t.useReplaceToNavigate};return this._signoutStart(t,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function(t){return this._signoutEnd(t||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="so:p";var e=t.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return t.post_logout_redirect_uri=e,t.display="popup",t.post_logout_redirect_uri&&(t.state=t.state||{}),this._signout(t,this._popupNavigator,{startUrl:e,popupWindowFeatures:t.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:t.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function(t,e){return void 0===e&&"boolean"==typeof t&&(e=t,t=null),this._popupNavigator.callback(t,e,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(t,e,n).then((function(t){return r._signoutEnd(t.url)}))},e.prototype._signoutStart=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),e._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(e._settings.revokeAccessTokenOnSignout?e._revokeInternal(o):Promise.resolve()).then((function(){var s=t.id_token_hint||o&&o.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),t.id_token_hint=s),e.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),e.createSignoutRequest(t).then((function(t){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=t.url,t.state&&(r.id=t.state.id),n.navigate(r)}))}))}))})).catch((function(t){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),t}))}))},e.prototype._signoutEnd=function(t){return this.processSignoutResponse(t).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function(){var t=this;return this._loadUser().then((function(e){return t._revokeInternal(e,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),e.access_token=null,e.refresh_token=null,e.expires_at=null,e.token_type=null,t.storeUser(e).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),t._events.load(e)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function(t,e){var r=this;if(t){var n=t.access_token,o=t.refresh_token;return this._revokeAccessTokenInternal(n,e).then((function(t){return r._revokeRefreshTokenInternal(o,e).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function(t,e){return!t||t.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(t,e).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function(t,e){return t?this._tokenRevocationClient.revoke(t,e,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},e.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function(t){if(t){i.Log.debug("UserManager.storeUser: storing user");var e=t.toStorageString();return this._userStore.set(this._userStoreKey,e)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,l=r.popupWindowFeatures,f=r.popupWindowTarget,g=r.silent_redirect_uri,d=r.silentRequestTimeout,p=r.automaticSilentRenew,v=void 0!==p&&p,y=r.validateSubOnSilentRenew,m=void 0!==y&&y,_=r.includeIdTokenInSilentRenew,S=void 0===_||_,w=r.monitorSession,b=void 0===w||w,F=r.monitorAnonymousSession,E=void 0!==F&&F,x=r.checkSessionInterval,A=void 0===x?2e3:x,k=r.stopCheckSessionOnError,P=void 0===k||k,C=r.query_status_response_type,T=r.revokeAccessTokenOnSignout,R=void 0!==T&&T,I=r.accessTokenExpiringNotificationTime,D=void 0===I?60:I,L=r.redirectNavigator,N=void 0===L?new o.RedirectNavigator:L,U=r.popupNavigator,O=void 0===U?new s.PopupNavigator:U,B=r.iframeNavigator,M=void 0===B?new a.IFrameNavigator:B,j=r.userStore,H=void 0===j?new u.WebStorageStateStore({store:c.Global.sessionStorage}):j;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var K=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return K._popup_redirect_uri=n,K._popup_post_logout_redirect_uri=i,K._popupWindowFeatures=l,K._popupWindowTarget=f,K._silent_redirect_uri=g,K._silentRequestTimeout=d,K._automaticSilentRenew=v,K._validateSubOnSilentRenew=m,K._includeIdTokenInSilentRenew=S,K._accessTokenExpiringNotificationTime=D,K._monitorSession=b,K._monitorAnonymousSession=E,K._checkSessionInterval=A,K._stopCheckSessionOnError=P,C?K._query_status_response_type=C:arguments[0]&&arguments[0].response_type?K._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":K._query_status_response_type="id_token",K._revokeAccessTokenOnSignout=R,K._redirectNavigator=N,K._popupNavigator=O,K._iframeNavigator=M,K._userStore=H,K}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,e),r&&this._userLoaded.raise(e)},e.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function(t){this._userLoaded.addHandler(t)},e.prototype.removeUserLoaded=function(t){this._userLoaded.removeHandler(t)},e.prototype.addUserUnloaded=function(t){this._userUnloaded.addHandler(t)},e.prototype.removeUserUnloaded=function(t){this._userUnloaded.removeHandler(t)},e.prototype.addSilentRenewError=function(t){this._silentRenewError.addHandler(t)},e.prototype.removeSilentRenewError=function(t){this._silentRenewError.removeHandler(t)},e.prototype._raiseSilentRenewError=function(t){n.Log.debug("UserManagerEvents._raiseSilentRenewError",t.message),this._silentRenewError.raise(t)},e.prototype.addUserSignedIn=function(t){this._userSignedIn.addHandler(t)},e.prototype.removeUserSignedIn=function(t){this._userSignedIn.removeHandler(t)},e.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function(t){this._userSignedOut.addHandler(t)},e.prototype.removeUserSignedOut=function(t){this._userSignedOut.removeHandler(t)},e.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function(t){this._userSessionChanged.addHandler(t)},e.prototype.removeUserSessionChanged=function(t){this._userSessionChanged.removeHandler(t)},e.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var s=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function(t){t<=0&&(t=1),t=parseInt(t);var e=this.now+t;if(this.expiration===e&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",t),this._expiration=e;var r=5;t{"use strict";e.in=e.kO=e.Pd=void 0;const n=r(671);var i,o,s;!function(t){t.Success="Success",t.RequiresRedirect="RequiresRedirect"}(i=e.Pd||(e.Pd={})),function(t){t.Redirect="Redirect",t.Success="Success",t.Failure="Failure",t.OperationCompleted="OperationCompleted"}(o=e.kO||(e.kO={}));class a{constructor(t){this.debug=t.debugEnabled,this.trace=t.traceEnabled}log(t,e){if(t==s.Trace&&this.trace||t==s.Debug&&this.debug){const r=t==s.Trace?"trce":"dbug";console.debug(`${r}: Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService[0]\n ${e}`)}}}!function(t){t[t.Trace=0]="Trace",t[t.Debug=1]="Debug"}(s=e.in||(e.in={}));class u{constructor(t,e){this._userManager=t,this._logger=e}async trySilentSignIn(){return this._intialSilentSignIn||(this._intialSilentSignIn=(async()=>{try{this.debug("Beginning initial silent sign in."),await this._userManager.signinSilent(),this.debug("Initial silent sign in succeeded.")}catch(t){t instanceof Error&&this.debug(`Initial silent sign in failed '${t.message}'`)}})()),this._intialSilentSignIn}async getUser(){window.parent!==window||window.opener||window.frameElement||!this._userManager.settings.redirect_uri||location.href.startsWith(this._userManager.settings.redirect_uri)||await this.trySilentSignIn();const t=await this._userManager.getUser();return t&&t.profile}async getAccessToken(t){this.trace("getAccessToken",t);const e=await this._userManager.getUser();if(function(t){return!(!t||!t.access_token||t.expired||!t.scopes)}(e)&&function(t,e){const r=new Set(e);if(t&&t.scopes)for(const e of t.scopes)if(!r.has(e))return!1;return!0}(t,e.scopes))return this.debug(`Valid access token present expiring at '${r(e.expires_in).toISOString()}'`),{status:i.Success,token:{grantedScopes:e.scopes,expires:r(e.expires_in),value:e.access_token}};try{const e=t&&t.scopes?{scope:t.scopes.join(" ")}:void 0;this.debug(`Provisioning a token silently for scopes '${null==e?void 0:e.scope}'`),this.trace("userManager.signinSilent",e);const n=await this._userManager.signinSilent(e);this.debug(`Provisioned an access token expiring at '${r(n.expires_in).toISOString()}'`);const o={status:i.Success,token:{grantedScopes:n.scopes,expires:r(n.expires_in),value:n.access_token}};return this.trace("getAccessToken-result",o),o}catch(t){return t instanceof Error&&this.debug(`Failed to provision a token silently '${t.message}'`),{status:i.RequiresRedirect}}function r(t){const e=new Date;return e.setTime(e.getTime()+1e3*t),e}}async signIn(t){if(this.trace("signIn",t),t.interactiveRequest)return this.debug("Interactive sign in starting."),this.signInInteractive(t);try{return this.debug("Silent sign in starting"),await this._userManager.clearStaleState(),await this._userManager.signinSilent(this.createArguments(void 0,t.interactiveRequest)),this.debug("Silent sign in succeeded"),this.success(t.state)}catch(e){return e instanceof Error&&this.debug(`Silent sign in failed, redirecting to the identity provider '${e.message}'.`),await this.signInInteractive(t)}}async signInInteractive(t){this.trace("signInInteractive",t);try{return await this._userManager.clearStaleState(),await this._userManager.signinRedirect(this.createArguments(t.state,t.interactiveRequest)),this.debug("Redirect sign in succeeded"),this.redirect()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Redirect sign in failed '${e}'.`),this.error(e)}}async completeSignIn(t){this.trace("completeSignIn",t);const e=await this.loginRequired(t),r=await this.stateExists(t);try{const e=await this._userManager.signinCallback(t);return window.self!==window.top?this.operationCompleted():(this.trace("completeSignIn-result",e),this.success(e&&e.state))}catch(t){return e||window.self!==window.top||!r?this.operationCompleted():this.error("There was an error signing in.")}}async signOut(t){this.trace("signOut",t);try{return await this._userManager.metadataService.getEndSessionEndpoint()?(await this._userManager.signoutRedirect(this.createArguments(t.state,t.interactiveRequest)),this.redirect()):(await this._userManager.removeUser(),this.success(t.state))}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Sign out error '${e}'.`),this.error(e)}}async completeSignOut(t){this.trace("completeSignOut",t);try{if(await this.stateExists(t)){const e=await this._userManager.signoutCallback(t);return this.success(e&&e.state)}return this.operationCompleted()}catch(t){const e=this.getExceptionMessage(t);return this.debug(`Complete sign out error '${e}'`),this.error(e)}}getExceptionMessage(t){return function(t){return t&&t.error_description}(t)?t.error_description:function(t){return t&&t.message}(t)?t.message:t.toString()}async stateExists(t){const e=new URLSearchParams(new URL(t).search).get("state");return e&&this._userManager.settings.stateStore?await this._userManager.settings.stateStore.get(e):void 0}async loginRequired(t){const e=new URLSearchParams(new URL(t).search).get("error");return!(!e||!this._userManager.settings.stateStore)&&"login_required"===await this._userManager.settings.stateStore.get(e)}createArguments(t,e){return{useReplaceToNavigate:!0,data:t,scope:(null==e?void 0:e.scopes)?e.scopes.join(" "):void 0,...null==e?void 0:e.additionalRequestParameters}}error(t){return{status:o.Failure,errorMessage:t}}success(t){return{status:o.Success,state:t}}redirect(){return{status:o.Redirect}}operationCompleted(){return{status:o.OperationCompleted}}debug(t){var e;null===(e=this._logger)||void 0===e||e.log(s.Debug,t)}trace(t,e){var r;null===(r=this._logger)||void 0===r||r.log(s.Trace,`${t}: ${JSON.stringify(e)}`)}}class c{static init(t,e){return c._initialized||(c._initialized=c.initializeCore(t,new a(e))),c._initialized}static handleCallback(){return c.initializeCore()}static async initializeCore(t,e){const r=t||c.resolveCachedSettings(),n=c.resolveCachedLoggerOptions(),i=e||n&&new a(n);if(!t&&r&&!e&&i){const t=c.createUserManagerCore(r);window.parent!==window&&!window.opener&&window.frameElement&&t.settings.redirect_uri&&location.href.startsWith(t.settings.redirect_uri)&&(c.instance=new u(t,i),c._initialized=(async()=>{await c.instance.completeSignIn(location.href)})())}else if(t&&e){const r=await c.createUserManager(t);c.instance=new u(r,e),window.sessionStorage.setItem(`${c._infrastructureKey}.CachedJSLoggingOptions`,JSON.stringify({debugEnabled:e.debug,traceEnabled:e.trace}))}}static resolveCachedSettings(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedAuthSettings`);return t?JSON.parse(t):void 0}static resolveCachedLoggerOptions(){const t=window.sessionStorage.getItem(`${c._infrastructureKey}.CachedJSLoggingOptions`);return t?JSON.parse(t):void 0}static getUser(){return c.instance.getUser()}static getAccessToken(t){return c.instance.getAccessToken(t)}static signIn(t){return c.instance.signIn(t)}static async completeSignIn(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignIn(t),await e,delete this._pendingOperations[t]),e}static signOut(t){return c.instance.signOut(t)}static async completeSignOut(t){let e=this._pendingOperations[t];return e||(e=c.instance.completeSignOut(t),await e,delete this._pendingOperations[t]),e}static async createUserManager(t){let e;if(function(t){return t.hasOwnProperty("configurationEndpoint")}(t)){const r=await fetch(t.configurationEndpoint);if(!r.ok)throw new Error(`Could not load settings from '${t.configurationEndpoint}'`);e=await r.json()}else t.scope||(t.scope=t.defaultScopes.join(" ")),null===t.response_type&&delete t.response_type,e=t;return window.sessionStorage.setItem(`${c._infrastructureKey}.CachedAuthSettings`,JSON.stringify(e)),c.createUserManagerCore(e)}static createUserManagerCore(t){const e=new n.UserManager(t);return e.events.addUserSignedOut((async()=>{e.removeUser()})),e}}c._infrastructureKey="Microsoft.AspNetCore.Components.WebAssembly.Authentication",c._pendingOperations={},c.handleCallback(),window.AuthenticationService=c}},e={},function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}(981); - -var abp=abp||{};(function(){abp.utils=abp.utils||{};abp.domReady=function(n){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(n,1):document.addEventListener("DOMContentLoaded",n)};abp.utils.setCookieValue=function(n,t,i,r,u){var f=encodeURIComponent(n)+"=";t&&(f=f+encodeURIComponent(t));i&&(f=f+"; expires="+i);r&&(f=f+"; path="+r);u&&(f=f+"; secure");document.cookie=f};abp.utils.getCookieValue=function(n){for(var i,r=document.cookie.split("; "),t=0;ta[0]&&e[1]|`|"|&/g,"?")}var t=s.getTextarea(t),o=t.value,n=t.selectionStart,i=o.slice(0,n),o=(0@")+e(o),document.createElement("div")),o=(i.className="ant-mentions-measure",i.innerHTML=n,t.parentNode.append(i),i.querySelector("span")),n=o.offsetLeft-t.scrollLeft+16,o=o.offsetTop-t.scrollTop+16;return i.remove(),[n,o]},s);function s(){}o.mentionsHelper=n},{}],12:[function(t,e,o){"use strict";o.__esModule=!0,o.modalHelper=void 0;var r=t("../dom/exports"),n=t("../dom/manipulationHelper");function i(){}i.focusDialog=function(t,e){var o,n=this,i=(void 0===e&&(e=0),document.querySelector(t));i&&(i.hasAttribute("disabled")?null!=(o=document.activeElement)&&o.blur():setTimeout(function(){i.focus(),"#"+r.domInfoHelper.getActiveElement()!==t&&e<10&&n.focusDialog(t,e+1)},10))},i.destroyAllDialog=function(){document.querySelectorAll(".ant-modal-root").forEach(function(t){t=t.parentNode;t instanceof HTMLElement&&t.remove()}),n.manipulationHelper.enableBodyScroll(!0)},o.modalHelper=i},{"../dom/exports":20,"../dom/manipulationHelper":22}],13:[function(t,e,o){"use strict";var n,s,l=function(){return(l=Object.assign||function(t){for(var e,o=1,n=arguments.length;oo.bound.right&&(e=o.bound.right),to.bound.bottom&&(t=o.bound.bottom)),i._container.style.translate=e+"px "+t+"px")},10).bind(this),this.onResize=r(function(t){i._state.bound=c(i._container,i._draggedInContainer)},30).bind(this),this._trigger=t,this._container=e,this._draggedInContainer=n,this._options=Object.assign({},a,{inViewport:o}),this._state={isInDrag:!1,mouseDownX:0,mouseDownY:0,mouseDownXOffset:0,mouseDownYOffset:0,bound:{left:0,top:0,right:0,bottom:0}}}function c(t,e){var o=window.getComputedStyle(e),n=window.getComputedStyle(e);return{left:-t.offsetLeft+parseInt(o.marginLeft)+parseInt(n.paddingLeft),top:-t.offsetTop+parseInt(o.marginTop)+parseInt(n.paddingTop),right:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t-=parseInt(e.paddingLeft))-parseInt(e.paddingRight)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientWidth;return t=(t+=parseInt(e.borderLeftWidth))+parseInt(e.borderRightWidth)}(t,o)-t.offsetLeft+parseInt(n.paddingRight)-parseInt(o.marginRight),bottom:function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t-=parseInt(e.paddingTop))-parseInt(e.paddingBottom)}(e,n)-function(t,e){void 0===e&&(e=null);e=e||window.getComputedStyle(t);t=t.clientHeight;return t=(t+=parseInt(e.borderTopWidth))+parseInt(e.borderBottomWidth)}(t,o)-t.offsetTop+parseInt(n.paddingBottom)-parseInt(o.marginBottom)}}o.enableDraggable=function(t,e,o,n){void 0===o&&(o=!0),void 0===n&&(n=document.documentElement);var i=s.get(t);i||(i=new l(t,e,o,n),s.set(t,i)),i.bindDrag()},o.disableDraggable=function(t){(t=s.get(t))&&t.unbindDrag()},o.resetModalPosition=function(t){(t=s.get(t))&&t.resetContainerStyle()}},{}],19:[function(t,e,o){"use strict";var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=(o.__esModule=!0,o.eventHelper=void 0,t("./exports")),r=t("../stateProvider");function n(){}n.triggerEvent=function(t,e,o){e=document.createEvent(e);return e.initEvent(o),t.dispatchEvent(e)},n.addDomEventListener=function(t,e,r,s,a){void 0===a&&(a=!1);function o(t){var e,o={};for(e in t)"originalTarget"!==e&&(o[e]=t[e]);var n=new Set,i=JSON.stringify(o,function(t,e){if("object"===(void 0===e?"undefined":l(e))&&null!==e){if(n.has(e))return;n.add(e)}return e instanceof Node?"Node":e instanceof Window?"Window":e}," ");setTimeout(function(){s.invokeMethodAsync("Invoke",i)},0),!0===r&&t.preventDefault(),a&&t.stopPropagation()}var t=i.domInfoHelper.get(t),n=e+"-"+s._id;t["e_"+n]="resize"===e?this.debounce(function(){return o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})},200,!1):o,t["i_"+n]=s,t.addEventListener(e,t["e_"+n])},n.addDomEventListenerToFirstChild=function(t,e,o,n){t=i.domInfoHelper.get(t);t&&t.firstElementChild&&this.addDomEventListener(t.firstElementChild,e,o,n)},n.removeDomEventListener=function(t,e,o){t=i.domInfoHelper.get(t),o=e+"-"+o._id;t&&t.removeEventListener(e,t["e_"+o])},n.addPreventKeys=function(t,e){var o,n=this;t&&(o=i.domInfoHelper.get(t),e=e.map(function(t){return t.toUpperCase()}),r.state.eventCallbackRegistry[t.id+"keydown"]=function(t){return n.preventKeys(t,e)},o.addEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"],!1))},n.preventKeyOnCondition=function(t,e,o){if(t.key.toUpperCase()===e.toUpperCase()&&o())return t.preventDefault(),!1},n.removePreventKeys=function(t){var e;t&&(e=i.domInfoHelper.get(t))&&(e.removeEventListener("keydown",r.state.eventCallbackRegistry[t.id+"keydown"]),r.state.eventCallbackRegistry[t.id+"keydown"]=null)},n.debounce=function(i,r,s){var a,l=this;return function(){for(var t=[],e=0;e(window.innerHeight||document.documentElement.clientHeight)},c.getScrollBarSize=function(t){var e,o;return void 0===t&&(t=!1),"undefined"==typeof document?0:(!t&&void 0!==a||((t=document.createElement("div")).style.width="100%",t.style.height="200px",(o=(e=document.createElement("div")).style).position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",e.appendChild(t),document.body.appendChild(e),o=t.offsetWidth,e.style.overflow="scroll",o===(t=t.offsetWidth)&&(t=e.clientWidth),document.body.removeChild(e),a=o-t),a)},o.manipulationHelper=c},{"../enums":24,"../stateProvider":25,"../styleHelper":26,"./exports":20}],23:[function(t,e,o){"use strict";o.__esModule=!0},{}],24:[function(t,e,o){"use strict";o.__esModule=!0,o.FocusBehavior=void 0,(o=o.FocusBehavior||(o.FocusBehavior={}))[o.FocusAtLast=0]="FocusAtLast",o[o.FocusAtFirst=1]="FocusAtFirst",o[o.FocusAndSelectAll=2]="FocusAndSelectAll"},{}],25:[function(t,e,o){"use strict";o.__esModule=!0,o.state=o.State=void 0;i.prototype.disposeObj=function(t){delete this.objReferenceDict[t]},i.getInstance=function(){return this.instance||(this.instance=new i),this.instance};var n=i;function i(){this.objReferenceDict={},this.eventCallbackRegistry={},this.oldBodyCacheStack=[]}o.State=n,o.state=n.getInstance()},{}],26:[function(t,e,o){"use strict";o.__esModule=!0,o.styleHelper=void 0;var n=t("./dom/infoHelper");function i(){}i.addCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.add(e):(t=t.classList).add.apply(t,e))},i.removeCls=function(t,e){var t=n.infoHelper.get(t);t&&("string"==typeof e?t.classList.remove(e):(t=t.classList).remove.apply(t,e))},i.addClsToFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.add(e)},i.removeClsFromFirstChild=function(t,e){t=n.infoHelper.get(t);t&&t.firstElementChild&&t.firstElementChild.classList.remove(e)},i.matchMedia=function(t){return window.matchMedia(t).matches},i.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?document.defaultView.getComputedStyle(t,null).getPropertyValue(e):void 0},i.css=function(t,e,o){if(void 0===o&&(o=null),"string"==typeof e)if(null===o)for(var n=e.split(";"),i=0;i>16,g:(65280&t)>>8,b:255&t}}},{"./util":39}],30:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.names=void 0,o.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],31:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.isValidCSSUnit=o.stringInputToObject=o.inputToRGB=void 0;var a=t("./conversion"),n=t("./css-color-names"),l=t("./util");o.inputToRGB=function(t){var e,o={r:0,g:0,b:0},n=1,i=null,r=!1,s=!1;return"object"==typeof(t="string"==typeof t?c(t):t)&&(u(t.r)&&u(t.g)&&u(t.b)?(o=(0,a.rgbToRgb)(t.r,t.g,t.b),r=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):u(t.h)&&u(t.s)&&u(t.v)?(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.v),o=(0,a.hsvToRgb)(t.h,i,e),r=!0,s="hsv"):u(t.h)&&u(t.s)&&u(t.l)&&(i=(0,l.convertToPercentage)(t.s),e=(0,l.convertToPercentage)(t.l),o=(0,a.hslToRgb)(t.h,i,e),r=!0,s="hsl"),Object.prototype.hasOwnProperty.call(t,"a"))&&(n=t.a),n=(0,l.boundAlpha)(n),{ok:r,format:t.format||s,r:Math.min(255,Math.max(o.r,0)),g:Math.min(255,Math.max(o.g,0)),b:Math.min(255,Math.max(o.b,0)),a:n}};var t="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),i="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),r="[\\s|\\(]+(".concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")[,|\\s]+(").concat(t,")\\s*\\)?"),s={CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function c(t){if(0===(t=t.trim().toLowerCase()).length)return!1;var e=!1;if(n.names[t])t=n.names[t],e=!0;else if("transparent"===t)return{r:0,g:0,b:0,a:0,format:"name"};var o=s.rgb.exec(t);return o?{r:o[1],g:o[2],b:o[3]}:(o=s.rgba.exec(t))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=s.hsl.exec(t))?{h:o[1],s:o[2],l:o[3]}:(o=s.hsla.exec(t))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=s.hsv.exec(t))?{h:o[1],s:o[2],v:o[3]}:(o=s.hsva.exec(t))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=s.hex8.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),a:(0,a.convertHexToDecimal)(o[4]),format:e?"name":"hex8"}:(o=s.hex6.exec(t))?{r:(0,a.parseIntFromHex)(o[1]),g:(0,a.parseIntFromHex)(o[2]),b:(0,a.parseIntFromHex)(o[3]),format:e?"name":"hex"}:(o=s.hex4.exec(t))?{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),a:(0,a.convertHexToDecimal)(o[4]+o[4]),format:e?"name":"hex8"}:!!(o=s.hex3.exec(t))&&{r:(0,a.parseIntFromHex)(o[1]+o[1]),g:(0,a.parseIntFromHex)(o[2]+o[2]),b:(0,a.parseIntFromHex)(o[3]+o[3]),format:e?"name":"hex"}}function u(t){return Boolean(s.CSS_UNIT.exec(String(t)))}o.stringInputToObject=c,o.isValidCSSUnit=u},{"./conversion":29,"./css-color-names":30,"./util":39}],32:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.legacyRandom=o.fromRatio=void 0;var n=t("./index"),i=t("./util");o.fromRatio=function(t,e){var o={r:(0,i.convertToPercentage)(t.r),g:(0,i.convertToPercentage)(t.g),b:(0,i.convertToPercentage)(t.b)};return void 0!==t.a&&(o.a=Number(t.a)),new n.TinyColor(o,e)},o.legacyRandom=function(){return new n.TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}},{"./index":33,"./util":39}],33:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.tinycolor=o.TinyColor=void 0;var r=t("./conversion"),s=t("./css-color-names"),n=t("./format-input"),i=t("./util"),a=(l.prototype.isDark=function(){return this.getBrightness()<128},l.prototype.isLight=function(){return!this.isDark()},l.prototype.getBrightness=function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},l.prototype.getLuminance=function(){var t=this.toRgb(),e=t.r/255,o=t.g/255,t=t.b/255,e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4),o=o<=.03928?o/12.92:Math.pow((.055+o)/1.055,2.4),t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4);return.2126*e+.7152*o+.0722*t},l.prototype.getAlpha=function(){return this.a},l.prototype.setAlpha=function(t){return this.a=(0,i.boundAlpha)(t),this.roundA=Math.round(100*this.a)/100,this},l.prototype.isMonochrome=function(){return 0===this.toHsl().s},l.prototype.toHsv=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,v:t.v,a:this.a}},l.prototype.toHsvString=function(){var t=(0,r.rgbToHsv)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.v);return 1===this.a?"hsv(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsva(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHsl=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b);return{h:360*t.h,s:t.s,l:t.l,a:this.a}},l.prototype.toHslString=function(){var t=(0,r.rgbToHsl)(this.r,this.g,this.b),e=Math.round(360*t.h),o=Math.round(100*t.s),t=Math.round(100*t.l);return 1===this.a?"hsl(".concat(e,", ").concat(o,"%, ").concat(t,"%)"):"hsla(".concat(e,", ").concat(o,"%, ").concat(t,"%, ").concat(this.roundA,")")},l.prototype.toHex=function(t){return(0,r.rgbToHex)(this.r,this.g,this.b,t=void 0===t?!1:t)},l.prototype.toHexString=function(t){return"#"+this.toHex(t=void 0===t?!1:t)},l.prototype.toHex8=function(t){return(0,r.rgbaToHex)(this.r,this.g,this.b,this.a,t=void 0===t?!1:t)},l.prototype.toHex8String=function(t){return"#"+this.toHex8(t=void 0===t?!1:t)},l.prototype.toHexShortString=function(t){return void 0===t&&(t=!1),1===this.a?this.toHexString(t):this.toHex8String(t)},l.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},l.prototype.toRgbString=function(){var t=Math.round(this.r),e=Math.round(this.g),o=Math.round(this.b);return 1===this.a?"rgb(".concat(t,", ").concat(e,", ").concat(o,")"):"rgba(".concat(t,", ").concat(e,", ").concat(o,", ").concat(this.roundA,")")},l.prototype.toPercentageRgb=function(){function t(t){return"".concat(Math.round(100*(0,i.bound01)(t,255)),"%")}return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},l.prototype.toPercentageRgbString=function(){function t(t){return Math.round(100*(0,i.bound01)(t,255))}return 1===this.a?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},l.prototype.toName=function(){if(0===this.a)return"transparent";if(!(this.a<1))for(var t="#"+(0,r.rgbToHex)(this.r,this.g,this.b,!1),e=0,o=Object.entries(s.names);e>1)+720)%360;--t;)o.h=(o.h+n)%360,i.push(new l(o));return i},l.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new l(t)},l.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var e=this.toHsv(),o=e.h,n=e.s,i=e.v,r=[],s=1/t;t--;)r.push(new l({h:o,s:n,v:i})),i=(i+s)%1;return r},l.prototype.splitcomplement=function(){var t=this.toHsl(),e=t.h;return[this,new l({h:(e+72)%360,s:t.s,l:t.l}),new l({h:(e+216)%360,s:t.s,l:t.l})]},l.prototype.onBackground=function(t){var e=this.toRgb(),t=new l(t).toRgb(),o=e.a+t.a*(1-e.a);return new l({r:(e.r*e.a+t.r*t.a*(1-e.a))/o,g:(e.g*e.a+t.g*t.a*(1-e.a))/o,b:(e.b*e.a+t.b*t.a*(1-e.a))/o,a:o})},l.prototype.triad=function(){return this.polyad(3)},l.prototype.tetrad=function(){return this.polyad(4)},l.prototype.polyad=function(t){for(var e=this.toHsl(),o=e.h,n=[this],i=360/t,r=1;r=n.hueRange[0]&&t<=n.hueRange[1])return n}throw Error("Color not found")}function c(t,e){var o;return void 0===e?Math.floor(t[0]+Math.random()*(t[1]+1-t[0])):(o=t[1]||1,t=t[0]||0,e=(e=(9301*e+49297)%233280)/233280,Math.floor(t+e*(o-t)))}function u(t){var e=t.lowerBounds[0][0],o=t.lowerBounds[t.lowerBounds.length-1][0],n=t.lowerBounds[t.lowerBounds.length-1][1],i=t.lowerBounds[0][1];return{name:t.name,hueRange:t.hueRange,lowerBounds:t.lowerBounds,saturationRange:[e,o],brightnessRange:[n,i]}}s.random=function t(e){if(void 0!==(e=void 0===e?{}:e).count&&null!==e.count){var o=e.count,n=[];for(e.count=void 0;n.length "BookStoreWebApp"; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppComponentBase.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppComponentBase.cs deleted file mode 100644 index e2b1cfd..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppComponentBase.cs +++ /dev/null @@ -1,12 +0,0 @@ -using BookStoreWebApp.Localization; -using Volo.Abp.AspNetCore.Components; - -namespace BookStoreWebApp.Blazor; - -public abstract class BookStoreWebAppComponentBase : AbpComponentBase -{ - protected BookStoreWebAppComponentBase() - { - LocalizationResource = typeof(BookStoreWebAppResource); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Program.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Program.cs deleted file mode 100644 index 5a1ac2d..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Program.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Serilog; -using Serilog.Events; - -namespace BookStoreWebApp.Blazor; - -public class Program -{ - public async static Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() -#if DEBUG - .MinimumLevel.Debug() -#else - .MinimumLevel.Information() -#endif - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) - .Enrich.FromLogContext() - .WriteTo.Async(c => c.File("Logs/logs.txt")) - .WriteTo.Async(c => c.Console()) - .CreateLogger(); - - try - { - Log.Information("Starting web host."); - var builder = WebApplication.CreateBuilder(args); - builder.Host.AddAppSettingsSecretsJson() - .UseAutofac() - .UseSerilog(); - await builder.AddApplicationAsync(); - var app = builder.Build(); - await app.InitializeApplicationAsync(); - await app.RunAsync(); - return 0; - } - catch (Exception ex) - { - if (ex is HostAbortedException) - { - throw; - } - - Log.Fatal(ex, "Host terminated unexpectedly!"); - return 1; - } - finally - { - Log.CloseAndFlush(); - } - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Properties/launchSettings.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Properties/launchSettings.json deleted file mode 100644 index 220bf85..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Properties/launchSettings.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "https://localhost:44390/", - "sslPort": 44390 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "BookStoreWebApp.Blazor": { - "commandName": "Project", - "dotnetRunMessages": "true", - "launchBrowser": true, - "applicationUrl": "https://localhost:44390/", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/abp.resourcemapping.js b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/abp.resourcemapping.js deleted file mode 100644 index 4a2ad45..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/abp.resourcemapping.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - aliases: { - - }, - clean: [ - - ], - mappings: { - - } -}; diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.json deleted file mode 100644 index 883dcaf..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "App": { - "SelfUrl": "https://localhost:44390", - "RedirectAllowedUrls": "https://localhost:44390" - }, - "ConnectionStrings": { - "Default": "mongodb://localhost:27017/BookStoreWebApp" - }, - "AuthServer": { - "Authority": "https://localhost:44390", - "RequireHttpsMetadata": false - }, - "StringEncryption": { - "DefaultPassPhrase": "ADLoA9exOjkj7Duu" - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.secrets.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package-lock.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package-lock.json deleted file mode 100644 index 521dbfd..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package-lock.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "name": "my-app", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "my-app", - "version": "1.0.0", - "dependencies": { - "@abp/aspnetcore.components.server.leptonxlitetheme": "~3.3.1", - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.1" - } - }, - "node_modules/@abp/aspnetcore.components.server.leptonxlitetheme": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.leptonxlitetheme/-/aspnetcore.components.server.leptonxlitetheme-3.3.2.tgz", - "integrity": "sha512-ylPjMDs2GEIpnYCoZdNZjIOt5N2qqeu7L21ubl47Wv+1rNa7AyOxYVA9ZAAAA7q6w4vU+VW0XZV8dJYtT2/pRQ==", - "dependencies": { - "@abp/aspnetcore.components.server.theming": "~8.3.2" - } - }, - "node_modules/@abp/aspnetcore.components.server.theming": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-8.3.2.tgz", - "integrity": "sha512-qzMD4TuAGDPUnSYxSsFnr8HbDIJFmWWtg96yNxeXwbdhziuyeSVswFzugNsnedBWMsBgpHwfKUhPPsRkiYqwiw==", - "dependencies": { - "@abp/bootstrap": "~8.3.2", - "@abp/font-awesome": "~8.3.2" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.3.2.tgz", - "integrity": "sha512-og4n6CZFGSA9Oe5kxZfz5b0db6nBO8oEDdSkpwRO7t/g/WTNpz1gBps32tQbvKEO7FahZ36wvWlD8Or201MapA==", - "dependencies": { - "ansi-colors": "^4.1.3" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.leptonxlite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-3.3.2.tgz", - "integrity": "sha512-Uu0+iBw+8oBBJ12pUvz4Z2EhLkQV/xVjthaN2yR9l2i9MOoU9eesW9kBgMIb574VJBJa0J1v5wOiRgJCJgO9Ew==", - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~8.3.2" - } - }, - "node_modules/@abp/aspnetcore.mvc.ui.theme.shared": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.3.2.tgz", - "integrity": "sha512-p8d+kx9xCUuZS9CpDk2gCnC6L/Sd4oqt07zEsO4IGRV3Dd9eyYZhvk4GhtQa4/lGauwXrKr+YUMZU+2fJm8zUg==", - "dependencies": { - "@abp/aspnetcore.mvc.ui": "~8.3.2", - "@abp/bootstrap": "~8.3.2", - "@abp/bootstrap-datepicker": "~8.3.2", - "@abp/bootstrap-daterangepicker": "~8.3.2", - "@abp/datatables.net-bs5": "~8.3.2", - "@abp/font-awesome": "~8.3.2", - "@abp/jquery-form": "~8.3.2", - "@abp/jquery-validation-unobtrusive": "~8.3.2", - "@abp/lodash": "~8.3.2", - "@abp/luxon": "~8.3.2", - "@abp/malihu-custom-scrollbar-plugin": "~8.3.2", - "@abp/moment": "~8.3.2", - "@abp/select2": "~8.3.2", - "@abp/sweetalert2": "~8.3.2", - "@abp/timeago": "~8.3.2", - "@abp/toastr": "~8.3.2" - } - }, - "node_modules/@abp/bootstrap": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-8.3.2.tgz", - "integrity": "sha512-qlCt5xpoIH7l4WeJtZvottpOq/GonYIaOpw4PXf4wmpma+iE8IMW5SKD12ajTI46DvAUuJdJzn/HuZi09btQkw==", - "dependencies": { - "@abp/core": "~8.3.2", - "bootstrap": "^5.3.3" - } - }, - "node_modules/@abp/bootstrap-datepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.3.2.tgz", - "integrity": "sha512-Bdxc0SJ4/nC9BbBCz9hutgVtLBWQ2vkMLXFHqLrME7cQ0i8zg7XolEvY6IHt2/0V3omMCw/BA9oUc4JBsE76KQ==", - "dependencies": { - "bootstrap-datepicker": "^1.10.0" - } - }, - "node_modules/@abp/bootstrap-daterangepicker": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.3.2.tgz", - "integrity": "sha512-+hSTVqvlYrdlQ5ajwVvjzQdAWj5U1eoRMHNKFLdddIHp27n5q6waz2kIhqvUe1TNHF98LksbFkylFcuj6v7aZg==", - "dependencies": { - "bootstrap-daterangepicker": "^3.1.0" - } - }, - "node_modules/@abp/core": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/core/-/core-8.3.2.tgz", - "integrity": "sha512-sNAJZr7bRBYPzM5zR1a3B+ZAHUUPO1cZey38Vf4UtRZ5cTNnVuM7RovMQKvWZkUcD7S1vWgtKS8m/KWq4/tMQg==", - "dependencies": { - "@abp/utils": "~8.3.2" - } - }, - "node_modules/@abp/datatables.net": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-8.3.2.tgz", - "integrity": "sha512-LI0AM5HYfMVdMZZ7VucyqFq/MxTt1Yh9klh2DB4B0lTeZTaXtjK4rJbV8B2A6MhSN04ZNqz5LF+xoKoUerNK5w==", - "dependencies": { - "@abp/jquery": "~8.3.2", - "datatables.net": "^2.0.8" - } - }, - "node_modules/@abp/datatables.net-bs5": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs5/-/datatables.net-bs5-8.3.2.tgz", - "integrity": "sha512-JrBtjsr4jWgG/8ZJYbyYWk65tCkjkU5UIrK1xdX8hFCHX+Rq4ioCXdswqRzNkLLIfXh6U4J96JurMLuJtinepA==", - "dependencies": { - "@abp/datatables.net": "~8.3.2", - "datatables.net-bs5": "^2.0.8" - } - }, - "node_modules/@abp/font-awesome": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-8.3.2.tgz", - "integrity": "sha512-nhoyY/svGY5iaoU3M8q7MCIB5OGrFSpsyY5eoRROady+BrIww9msZwMFcyE08+uNQXbqL94BcrMIDAnUA/zdYg==", - "dependencies": { - "@abp/core": "~8.3.2", - "@fortawesome/fontawesome-free": "^6.5.2" - } - }, - "node_modules/@abp/jquery": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-8.3.2.tgz", - "integrity": "sha512-tCNNQJCVQmAmz2z5orBQNFWPD9MfvM3hkFM/TZSDEZMetFBfz1tJKwEjS7eLEOLeSDju3YbByG1PtWGKN1rsUQ==", - "dependencies": { - "@abp/core": "~8.3.2", - "jquery": "~3.7.1" - } - }, - "node_modules/@abp/jquery-form": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-8.3.2.tgz", - "integrity": "sha512-cO9VTL2gO7dvd2FpYWHYgUfmzfTQkm90LE5CfEFJipXrq92alPV5FFB/DrTFOX1UoR9SCTdq6k0auEPNPnp6Dw==", - "dependencies": { - "@abp/jquery": "~8.3.2", - "jquery-form": "^4.3.0" - } - }, - "node_modules/@abp/jquery-validation": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-8.3.2.tgz", - "integrity": "sha512-4l4D5cSJw75/dH81JagDcyV82q3+AEwyPcgNymAcxbe0N+8hvch2dWxW/WlxgdSt1Wj17MHRQyaOHJD299yB2Q==", - "dependencies": { - "@abp/jquery": "~8.3.2", - "jquery-validation": "^1.20.1" - } - }, - "node_modules/@abp/jquery-validation-unobtrusive": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.3.2.tgz", - "integrity": "sha512-KBKozSr7Q3+WZgvYDkpSmMHLikyl8tz9N1XXzkQTvHTI8LEIdP2wLCKqkjccP0IlivYFzcSamAHsuEK+mfg11Q==", - "dependencies": { - "@abp/jquery-validation": "~8.3.2", - "jquery-validation-unobtrusive": "^4.0.0" - } - }, - "node_modules/@abp/lodash": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-8.3.2.tgz", - "integrity": "sha512-O5p6mchGaZHnge1tza3/uQfEqUvIuyWVhzMv+sRq//9FHnMyTThlHU0zriFsYb3wpBQfPf11uOtisv5F+wbuRw==", - "dependencies": { - "@abp/core": "~8.3.2", - "lodash": "^4.17.21" - } - }, - "node_modules/@abp/luxon": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-8.3.2.tgz", - "integrity": "sha512-GxjKfYAUu3YPW8oJq/APNvghG8a+PR2vgX13k4FTRi7o0ndLjqu1m4+oqfA9r4tpRgj4WLmoaVjGGJYrtaEBGQ==", - "dependencies": { - "@abp/core": "~8.3.2", - "luxon": "^3.4.4" - } - }, - "node_modules/@abp/malihu-custom-scrollbar-plugin": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.3.2.tgz", - "integrity": "sha512-cyVeeKppYYYR93eyy20QFuwmhCf0k5B/+ZlslOqbm5E4NIoPN8oIVcg02wyq541jSmDINj1pOl71IZcMxt01hA==", - "dependencies": { - "@abp/core": "~8.3.2", - "malihu-custom-scrollbar-plugin": "^3.1.5" - } - }, - "node_modules/@abp/moment": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/moment/-/moment-8.3.2.tgz", - "integrity": "sha512-2aFlq+sdXpcBS/nOEo1CQMlVl5/Qv0/wYKFez5KylyKic4CKGrmzFWvQWeqsR73Ns+Ayk8dX0Dabzseia1hdIQ==", - "dependencies": { - "moment": "^2.30.1" - } - }, - "node_modules/@abp/select2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-8.3.2.tgz", - "integrity": "sha512-q2pAsmF+J2Zs2+DqDgA63DBfkKUSgqqvSYdeEGVoGQqmr70o6BAvIvyaNSW7FNq/VzQca+zSQAoUI6F3opHiuQ==", - "dependencies": { - "@abp/core": "~8.3.2", - "select2": "^4.0.13" - } - }, - "node_modules/@abp/sweetalert2": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/sweetalert2/-/sweetalert2-8.3.2.tgz", - "integrity": "sha512-rQEU27H9Yj8IMQY5IzwgE6N4jvlE4lnCQno87NDDa6lYp1QO8Bp6VJi77TSj3/eXb/8mJSyyoO1QqLoyrql+tg==", - "dependencies": { - "@abp/core": "~8.3.2", - "sweetalert2": "^11.3.6" - } - }, - "node_modules/@abp/timeago": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-8.3.2.tgz", - "integrity": "sha512-JZ9lo6AgDjpxs5AhhS+UoNIDpx1yN7bHxYdnEXg7wztVbV+V9U96Upp3rYhRHSjiCmx0xIMLfujElwjgBAhPDQ==", - "dependencies": { - "@abp/jquery": "~8.3.2", - "timeago": "^1.6.7" - } - }, - "node_modules/@abp/toastr": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-8.3.2.tgz", - "integrity": "sha512-aFnSMojAPSIYkHV7tE3Uh00G+r07c6spW+tRqxEiooF11t6PXZyWayNGsol+8L43tXk9dQYj8GwnGau/yTxzRA==", - "dependencies": { - "@abp/jquery": "~8.3.2", - "toastr": "^2.1.4" - } - }, - "node_modules/@abp/utils": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-8.3.2.tgz", - "integrity": "sha512-0i4yqwxSGnKKZJZwXNBvCPoT7nZ0/vnyNVBMeE12x3Y7MV3bZSza2CGTPUhVVvoWt2JfGiDpAfKzPq2eUKfisg==", - "dependencies": { - "just-compare": "^2.3.0" - } - }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", - "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/bootstrap": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", - "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "peerDependencies": { - "@popperjs/core": "^2.11.8" - } - }, - "node_modules/bootstrap-datepicker": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz", - "integrity": "sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg==", - "dependencies": { - "jquery": ">=3.4.0 <4.0.0" - } - }, - "node_modules/bootstrap-daterangepicker": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz", - "integrity": "sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g==", - "dependencies": { - "jquery": ">=1.10", - "moment": "^2.9.0" - } - }, - "node_modules/datatables.net": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz", - "integrity": "sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA==", - "dependencies": { - "jquery": ">=1.7" - } - }, - "node_modules/datatables.net-bs5": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz", - "integrity": "sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg==", - "dependencies": { - "datatables.net": "2.1.8", - "jquery": ">=1.7" - } - }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" - }, - "node_modules/jquery-form": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz", - "integrity": "sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ==", - "dependencies": { - "jquery": ">=1.7.2" - } - }, - "node_modules/jquery-mousewheel": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" - }, - "node_modules/jquery-validation": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz", - "integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==", - "peerDependencies": { - "jquery": "^1.7 || ^2.0 || ^3.1" - } - }, - "node_modules/jquery-validation-unobtrusive": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz", - "integrity": "sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ==", - "dependencies": { - "jquery": "^3.6.0", - "jquery-validation": ">=1.19" - } - }, - "node_modules/just-compare": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz", - "integrity": "sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==" - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/luxon": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", - "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/malihu-custom-scrollbar-plugin": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz", - "integrity": "sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ==", - "dependencies": { - "jquery-mousewheel": ">=3.0.6" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, - "node_modules/select2": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", - "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" - }, - "node_modules/sweetalert2": { - "version": "11.14.4", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.4.tgz", - "integrity": "sha512-8QMzjxCuinwm18EK5AtYvuhP+lRMRxTWVXy8om9wGlULsXSI4TD29kyih3VYrSXMMBlD4EShFvNC7slhTC7j0w==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/limonte" - } - }, - "node_modules/timeago": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz", - "integrity": "sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ==", - "dependencies": { - "jquery": ">=1.5.0 <4.0" - } - }, - "node_modules/toastr": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", - "integrity": "sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA==", - "dependencies": { - "jquery": ">=1.12.0" - } - } - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package.json deleted file mode 100644 index 0033791..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.1", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~3.3.1" - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/blazor-global-styles.css b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/blazor-global-styles.css deleted file mode 100644 index 8721004..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/blazor-global-styles.css +++ /dev/null @@ -1,22 +0,0 @@ -#blazor-error-ui { - background: lightyellow; - bottom: 0; - box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); - display: none; - left: 0; - padding: 0.6rem 1.25rem 0.7rem 1.25rem; - position: fixed; - width: 100%; - z-index: 1000; -} - -#blazor-error-ui .dismiss { - cursor: pointer; - position: absolute; - right: 0.75rem; - top: 0.5rem; -} -:root .lpx-brand-logo { - --lpx-logo: url('/images/logo/leptonx/logo-light.png'); - --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/favicon.ico b/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/favicon.ico deleted file mode 100644 index a3a799985c43bc7309d701b2cad129023377dc71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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.4.0 <4.0.0" - -bootstrap-daterangepicker@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz" - integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== - dependencies: - jquery ">=1.10" - moment "^2.9.0" - -bootstrap@^5.3.3: - version "5.3.3" - resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz" - integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== - -datatables.net-bs5@^2.0.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz" - integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== - dependencies: - datatables.net "2.1.8" - jquery ">=1.7" - -datatables.net@2.1.8, datatables.net@^2.0.8: - version "2.1.8" - resolved "https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.8.tgz" - integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== - dependencies: - jquery ">=1.7" - -jquery-form@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz" - integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== - dependencies: - jquery ">=1.7.2" - -jquery-mousewheel@>=3.0.6: - version "3.1.13" - resolved "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz" - integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== - -jquery-validation-unobtrusive@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz" - integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== - dependencies: - jquery "^3.6.0" - jquery-validation ">=1.19" - -jquery-validation@>=1.19, jquery-validation@^1.20.1: - version "1.21.0" - resolved "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz" - integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== - -jquery@>=1.10, jquery@>=1.12.0, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1: - version "3.7.1" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -just-compare@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/just-compare/-/just-compare-2.3.0.tgz" - integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -luxon@^3.4.4: - version "3.5.0" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz" - integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== - -malihu-custom-scrollbar-plugin@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz" - integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== - dependencies: - jquery-mousewheel ">=3.0.6" - -moment@^2.30.1, moment@^2.9.0: - version "2.30.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -select2@^4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz" - integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== - -sweetalert2@^11.3.6: - version "11.14.4" - resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.14.4.tgz" - integrity sha512-8QMzjxCuinwm18EK5AtYvuhP+lRMRxTWVXy8om9wGlULsXSI4TD29kyih3VYrSXMMBlD4EShFvNC7slhTC7j0w== - -timeago@^1.6.7: - version "1.6.7" - resolved "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz" - integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== - dependencies: - jquery ">=1.5.0 <4.0" - -toastr@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz" - integrity sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA== - dependencies: - jquery ">=1.12.0" diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebApp.DbMigrator.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebApp.DbMigrator.csproj deleted file mode 100644 index 5fb2a2a..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebApp.DbMigrator.csproj +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - Exe - net9.0 - enable - - - - - - PreserveNewest - Always - - - - PreserveNewest - Always - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebAppDbMigratorModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebAppDbMigratorModule.cs deleted file mode 100644 index f64b53f..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebAppDbMigratorModule.cs +++ /dev/null @@ -1,14 +0,0 @@ -using BookStoreWebApp.MongoDB; -using Volo.Abp.Autofac; -using Volo.Abp.Modularity; - -namespace BookStoreWebApp.DbMigrator; - -[DependsOn( - typeof(AbpAutofacModule), - typeof(BookStoreWebAppMongoDbModule), - typeof(BookStoreWebAppApplicationContractsModule) - )] -public class BookStoreWebAppDbMigratorModule : AbpModule -{ -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/DbMigratorHostedService.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/DbMigratorHostedService.cs deleted file mode 100644 index 5ee9626..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/DbMigratorHostedService.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using BookStoreWebApp.Data; -using Serilog; -using Volo.Abp; -using Volo.Abp.Data; - -namespace BookStoreWebApp.DbMigrator; - -public class DbMigratorHostedService : IHostedService -{ - private readonly IHostApplicationLifetime _hostApplicationLifetime; - private readonly IConfiguration _configuration; - - public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration) - { - _hostApplicationLifetime = hostApplicationLifetime; - _configuration = configuration; - } - - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = await AbpApplicationFactory.CreateAsync(options => - { - options.Services.ReplaceConfiguration(_configuration); - options.UseAutofac(); - options.Services.AddLogging(c => c.AddSerilog()); - options.AddDataMigrationEnvironment(); - })) - { - await application.InitializeAsync(); - - await application - .ServiceProvider - .GetRequiredService() - .MigrateAsync(); - - await application.ShutdownAsync(); - - _hostApplicationLifetime.StopApplication(); - } - } - - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/Program.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/Program.cs deleted file mode 100644 index 2e60538..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/Program.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.IO; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using Serilog; -using Serilog.Events; - -namespace BookStoreWebApp.DbMigrator; - -class Program -{ - static async Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) - .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) -#if DEBUG - .MinimumLevel.Override("BookStoreWebApp", LogEventLevel.Debug) -#else - .MinimumLevel.Override("BookStoreWebApp", LogEventLevel.Information) -#endif - .Enrich.FromLogContext() - .WriteTo.Async(c => c.File("Logs/logs.txt")) - .WriteTo.Async(c => c.Console()) - .CreateLogger(); - - await CreateHostBuilder(args).RunConsoleAsync(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .AddAppSettingsSecretsJson() - .ConfigureLogging((context, logging) => logging.ClearProviders()) - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.json b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.json deleted file mode 100644 index 9417dc2..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ConnectionStrings": { - "Default": "mongodb://localhost:27017/BookStoreWebApp" - }, - "OpenIddict": { - "Applications": { - "BookStoreWebApp_Swagger": { - "ClientId": "BookStoreWebApp_Swagger", - "RootUrl": "https://localhost:44352" - } - } - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.secrets.json b/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebApp.Domain.Shared.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebApp.Domain.Shared.csproj deleted file mode 100644 index 9f651f4..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebApp.Domain.Shared.csproj +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - true - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainErrorCodes.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainErrorCodes.cs deleted file mode 100644 index 1a60979..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainErrorCodes.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStoreWebApp; - -public static class BookStoreWebAppDomainErrorCodes -{ - /* You can add your business exception error codes here, as constants */ -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainSharedModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainSharedModule.cs deleted file mode 100644 index 947dafb..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainSharedModule.cs +++ /dev/null @@ -1,58 +0,0 @@ -using BookStoreWebApp.Localization; -using Volo.Abp.AuditLogging; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Localization; -using Volo.Abp.Localization.ExceptionHandling; -using Volo.Abp.Modularity; -using Volo.Abp.OpenIddict; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.Validation.Localization; -using Volo.Abp.VirtualFileSystem; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(AbpAuditLoggingDomainSharedModule), - typeof(AbpBackgroundJobsDomainSharedModule), - typeof(AbpFeatureManagementDomainSharedModule), - typeof(AbpIdentityDomainSharedModule), - typeof(AbpOpenIddictDomainSharedModule), - typeof(AbpPermissionManagementDomainSharedModule), - typeof(AbpSettingManagementDomainSharedModule), - typeof(AbpTenantManagementDomainSharedModule) - )] -public class BookStoreWebAppDomainSharedModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - BookStoreWebAppGlobalFeatureConfigurator.Configure(); - BookStoreWebAppModuleExtensionConfigurator.Configure(); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/BookStoreWebApp"); - - options.DefaultResourceType = typeof(BookStoreWebAppResource); - }); - - Configure(options => - { - options.MapCodeNamespace("BookStoreWebApp", typeof(BookStoreWebAppResource)); - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppGlobalFeatureConfigurator.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppGlobalFeatureConfigurator.cs deleted file mode 100644 index cde019b..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppGlobalFeatureConfigurator.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Volo.Abp.Threading; - -namespace BookStoreWebApp; - -public static class BookStoreWebAppGlobalFeatureConfigurator -{ - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - /* You can configure (enable/disable) global features of the used modules here. - * - * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! - * - * Please refer to the documentation to lear more about the Global Features System: - * https://docs.abp.io/en/abp/latest/Global-Features - */ - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ar.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ar.json deleted file mode 100644 index aa3bcfa..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ar.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ar", - "texts": { - "Menu:Home": "الصفحة الرئيسية", - "Welcome": "مرحباً", - "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ، يرجى زيارة abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/cs.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/cs.json deleted file mode 100644 index 5a0bbf6..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/cs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:Home": "Úvod", - "Welcome": "Vítejte", - "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/de.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/de.json deleted file mode 100644 index 831493b..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/de.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "de", - "texts": { - "Menu:Home": "Home", - "Welcome": "Willkommen", - "LongWelcomeMessage": "Willkommen bei der Anwendung. Dies ist ein Startup-Projekt, das auf dem ABP-Framework basiert. Weitere Informationen finden Sie unter abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/es.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/es.json deleted file mode 100644 index 31b4b59..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/es.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "es", - "texts": { - "Menu:Home": "Inicio", - "Welcome": "Bienvenido", - "LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fi.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fi.json deleted file mode 100644 index a318859..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "fi", - "texts": { - "Menu:Home": "Koti", - "Welcome": "Tervetuloa", - "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fr.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fr.json deleted file mode 100644 index e76eac0..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "fr", - "texts": { - "Menu:Home": "Accueil", - "Welcome": "Bienvenue", - "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hi.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hi.json deleted file mode 100644 index a1676bf..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hi", - "texts": { - "Menu:Home": "घर", - "Welcome": "स्वागत हे", - "LongWelcomeMessage": "आवेदन करने के लिए आपका स्वागत है। यह एबीपी ढांचे पर आधारित एक स्टार्टअप परियोजना है। अधिक जानकारी के लिए, abp.io पर जाएं।" - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hr.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hr.json deleted file mode 100644 index fa8efab..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hr", - "texts": { - "Menu:Home": "Početna", - "Welcome": "Dobrodošli", - "LongWelcomeMessage": "Dobrodošli u aplikaciju. Ovo je startup projekt temeljen na ABP framework-u. Za više informacija posjetite abp.io." - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hu.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hu.json deleted file mode 100644 index c7b6a33..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hu.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hu", - "texts": { - "Menu:Home": "Kezdőlap", - "Welcome": "Üdvözlöm", - "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információkért látogasson el az abp.io oldalra." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/is.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/is.json deleted file mode 100644 index 190df90..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/is.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "is", - "texts": { - "Menu:Home": "Heim", - "Welcome": "Velkomin", - "LongWelcomeMessage": "Verið velkomin í forritið. Þetta er startup verkefni sem byggir á ABP. Nánari upplýsingar er að finna á abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/it.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/it.json deleted file mode 100644 index 82ce42b..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/it.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "it", - "texts": { - "Menu:Home": "Home", - "Welcome": "Benvenuto", - "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per ulteriori informazioni, visita abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/nl.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/nl.json deleted file mode 100644 index 9ba8da4..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/nl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "nl", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welkom", - "LongWelcomeMessage": "Welkom bij de applicatie. Dit is een startup-project gebaseerd op het ABP-framework. Bezoek abp.io voor meer informatie." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pl-PL.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pl-PL.json deleted file mode 100644 index 33412f3..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pl-PL.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Menu:Home": "Home", - "Welcome": "Witaj", - "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pt-BR.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pt-BR.json deleted file mode 100644 index 8c818a0..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pt-BR.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:Home": "Principal", - "Welcome": "Seja bem-vindo!", - "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ro-RO.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ro-RO.json deleted file mode 100644 index 1fe5601..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ro-RO.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ro-RO", - "texts": { - "Menu:Home": "Acasă", - "Welcome": "Bun venit", - "LongWelcomeMessage": "Bun venit la aplicaţie. Acesta este un proiect de pornire bazat pe framework-ul ABP. Pentru mai multe informaţii, vizitaţi, visit abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ru.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ru.json deleted file mode 100644 index 8464e44..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ru.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ru", - "texts": { - "Menu:Home": "Главная", - "Welcome": "Добро пожаловать", - "LongWelcomeMessage": "Добро пожаловать в приложение. Этот запущенный проект основан на фреймворке ABP. Для получения дополнительной информации посетите сайт abp.io." - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sk.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sk.json deleted file mode 100644 index 4f35aaf..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sk.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "sk", - "texts": { - "Menu:Home": "Domov", - "Welcome": "Vitajte", - "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovací projekt založený na ABP frameworku. Viac informácií nájdete na stránke abp.io." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sl.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sl.json deleted file mode 100644 index a066ef2..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:Home": "Domov", - "Welcome": "Dobrodošli", - "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/tr.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/tr.json deleted file mode 100644 index 2cc911e..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/tr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:Home": "Ana sayfa", - "Welcome": "Hoşgeldiniz", - "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/vi.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/vi.json deleted file mode 100644 index c115a35..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/vi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:Home": "Trang chủ", - "Welcome": "Chào mừng bạn", - "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hans.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hans.json deleted file mode 100644 index 65828f3..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hans.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "zh-Hans", - "texts": { - "Menu:Home": "首页", - "Welcome": "欢迎", - "LongWelcomeMessage": "欢迎使用本应用程序。这是一个基于 ABP 框架的启动项目。更多信息,请访问 abp.io。" - } -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hant.json b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hant.json deleted file mode 100644 index 31e0ab5..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hant.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "zh-Hant", - "texts": { - "Menu:Home": "首頁", - "Welcome": "歡迎", - "LongWelcomeMessage": "歡迎來到此應用程式. 這是一個基於ABP框架的起始專案. 有關更多訊息, 請瀏覽 abp.io." - } - } \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebAppResource.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebAppResource.cs deleted file mode 100644 index 94a350e..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebAppResource.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Volo.Abp.Localization; - -namespace BookStoreWebApp.Localization; - -[LocalizationResourceName("BookStoreWebApp")] -public class BookStoreWebAppResource -{ - -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs deleted file mode 100644 index 7c04493..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace BookStoreWebApp.MultiTenancy; - -public static class MultiTenancyConsts -{ - /* Enable/disable multi-tenancy easily in a single point. - * If you will never need to multi-tenancy, you can remove - * related modules and code parts, including this file. - */ - public const bool IsEnabled = true; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebApp.Domain.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebApp.Domain.csproj deleted file mode 100644 index c311924..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebApp.Domain.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppConsts.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppConsts.cs deleted file mode 100644 index b5c590e..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppConsts.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace BookStoreWebApp; - -public static class BookStoreWebAppConsts -{ - public const string DbTablePrefix = "App"; - - public const string DbSchema = null; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppDomainModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppDomainModule.cs deleted file mode 100644 index c8b9b8e..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppDomainModule.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; -using BookStoreWebApp.MultiTenancy; -using Volo.Abp.AuditLogging; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.Emailing; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.OpenIddict; -using Volo.Abp.PermissionManagement.Identity; -using Volo.Abp.PermissionManagement.OpenIddict; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppDomainSharedModule), - typeof(AbpAuditLoggingDomainModule), - typeof(AbpBackgroundJobsDomainModule), - typeof(AbpFeatureManagementDomainModule), - typeof(AbpIdentityDomainModule), - typeof(AbpOpenIddictDomainModule), - typeof(AbpPermissionManagementDomainOpenIddictModule), - typeof(AbpPermissionManagementDomainIdentityModule), - typeof(AbpSettingManagementDomainModule), - typeof(AbpTenantManagementDomainModule), - typeof(AbpEmailingModule) -)] -public class BookStoreWebAppDomainModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.Languages.Add(new LanguageInfo("ar", "ar", "العربية")); - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (UK)")); - options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); - options.Languages.Add(new LanguageInfo("hr", "hr", "Croatian")); - options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish")); - options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); - options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi")); - options.Languages.Add(new LanguageInfo("it", "it", "Italiano")); - options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português")); - options.Languages.Add(new LanguageInfo("ru", "ru", "Русский")); - options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); - options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); - options.Languages.Add(new LanguageInfo("es", "es", "Español")); - }); - - Configure(options => - { - options.IsEnabled = MultiTenancyConsts.IsEnabled; - }); - -#if DEBUG - context.Services.Replace(ServiceDescriptor.Singleton()); -#endif - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/IBookStoreWebAppDbSchemaMigrator.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/IBookStoreWebAppDbSchemaMigrator.cs deleted file mode 100644 index bfcb2a3..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/IBookStoreWebAppDbSchemaMigrator.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Threading.Tasks; - -namespace BookStoreWebApp.Data; - -public interface IBookStoreWebAppDbSchemaMigrator -{ - Task MigrateAsync(); -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/NullBookStoreWebAppDbSchemaMigrator.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/NullBookStoreWebAppDbSchemaMigrator.cs deleted file mode 100644 index c73ecdd..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/NullBookStoreWebAppDbSchemaMigrator.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; - -namespace BookStoreWebApp.Data; - -/* This is used if database provider does't define - * IBookStoreWebAppDbSchemaMigrator implementation. - */ -public class NullBookStoreWebAppDbSchemaMigrator : IBookStoreWebAppDbSchemaMigrator, ITransientDependency -{ - public Task MigrateAsync() - { - return Task.CompletedTask; - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Properties/AssemblyInfo.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Properties/AssemblyInfo.cs deleted file mode 100644 index c68f641..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("BookStoreWebApp.Domain.Tests")] -[assembly:InternalsVisibleToAttribute("BookStoreWebApp.TestBase")] diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettingDefinitionProvider.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettingDefinitionProvider.cs deleted file mode 100644 index 945ce6c..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettingDefinitionProvider.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Volo.Abp.Settings; - -namespace BookStoreWebApp.Settings; - -public class BookStoreWebAppSettingDefinitionProvider : SettingDefinitionProvider -{ - public override void Define(ISettingDefinitionContext context) - { - //Define your own settings here. Example: - //context.Add(new SettingDefinition(BookStoreWebAppSettings.MySetting1)); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettings.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettings.cs deleted file mode 100644 index a993408..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettings.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace BookStoreWebApp.Settings; - -public static class BookStoreWebAppSettings -{ - private const string Prefix = "BookStoreWebApp"; - - //Add your own setting names here. Example: - //public const string MySetting1 = Prefix + ".MySetting1"; -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebApp.HttpApi.Client.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebApp.HttpApi.Client.csproj deleted file mode 100644 index 6b92be7..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebApp.HttpApi.Client.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebAppHttpApiClientModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebAppHttpApiClientModule.cs deleted file mode 100644 index e2bcbd3..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi.Client/BookStoreWebAppHttpApiClientModule.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.VirtualFileSystem; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppApplicationContractsModule), - typeof(AbpAccountHttpApiClientModule), - typeof(AbpIdentityHttpApiClientModule), - typeof(AbpPermissionManagementHttpApiClientModule), - typeof(AbpTenantManagementHttpApiClientModule), - typeof(AbpFeatureManagementHttpApiClientModule), - typeof(AbpSettingManagementHttpApiClientModule) -)] -public class BookStoreWebAppHttpApiClientModule : AbpModule -{ - public const string RemoteServiceName = "Default"; - - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddHttpClientProxies( - typeof(BookStoreWebAppApplicationContractsModule).Assembly, - RemoteServiceName - ); - - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebApp.HttpApi.csproj b/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebApp.HttpApi.csproj deleted file mode 100644 index 70d9e48..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebApp.HttpApi.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebAppHttpApiModule.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebAppHttpApiModule.cs deleted file mode 100644 index eeaf3e8..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebAppHttpApiModule.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Localization.Resources.AbpUi; -using BookStoreWebApp.Localization; -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement.HttpApi; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppApplicationContractsModule), - typeof(AbpAccountHttpApiModule), - typeof(AbpIdentityHttpApiModule), - typeof(AbpPermissionManagementHttpApiModule), - typeof(AbpTenantManagementHttpApiModule), - typeof(AbpFeatureManagementHttpApiModule), - typeof(AbpSettingManagementHttpApiModule) - )] -public class BookStoreWebAppHttpApiModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - ConfigureLocalization(); - } - - private void ConfigureLocalization() - { - Configure(options => - { - options.Resources - .Get() - .AddBaseTypes( - typeof(AbpUiResource) - ); - }); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Controllers/BookStoreWebAppController.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Controllers/BookStoreWebAppController.cs deleted file mode 100644 index 51f9bbb..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Controllers/BookStoreWebAppController.cs +++ /dev/null @@ -1,14 +0,0 @@ -using BookStoreWebApp.Localization; -using Volo.Abp.AspNetCore.Mvc; - -namespace BookStoreWebApp.Controllers; - -/* Inherit your controllers from this class. - */ -public abstract class BookStoreWebAppController : AbpControllerBase -{ - protected BookStoreWebAppController() - { - LocalizationResource = typeof(BookStoreWebAppResource); - } -} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/Properties/AssemblyInfo.cs b/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/Properties/AssemblyInfo.cs deleted file mode 100644 index cd86de4..0000000 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("BookStoreWebApp.MongoDB.Tests")] diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestBase.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestBase.cs deleted file mode 100644 index b66bd9c..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestBase.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Volo.Abp.Modularity; - -namespace BookStoreWebApp; - -public abstract class BookStoreWebAppApplicationTestBase : BookStoreWebAppTestBase - where TStartupModule : IAbpModule -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestModule.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestModule.cs deleted file mode 100644 index edf2bc0..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestModule.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Volo.Abp.Modularity; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppApplicationModule), - typeof(BookStoreWebAppDomainTestModule) -)] -public class BookStoreWebAppApplicationTestModule : AbpModule -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebApp.Domain.Tests.csproj b/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebApp.Domain.Tests.csproj deleted file mode 100644 index 16b0193..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebApp.Domain.Tests.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestBase.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestBase.cs deleted file mode 100644 index 8ce6d21..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Volo.Abp.Modularity; - -namespace BookStoreWebApp; - -/* Inherit from this class for your domain layer tests. */ -public abstract class BookStoreWebAppDomainTestBase : BookStoreWebAppTestBase - where TStartupModule : IAbpModule -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestModule.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestModule.cs deleted file mode 100644 index 9e5ff7e..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestModule.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Volo.Abp.Modularity; - -namespace BookStoreWebApp; - -[DependsOn( - typeof(BookStoreWebAppDomainModule), - typeof(BookStoreWebAppTestBaseModule) -)] -public class BookStoreWebAppDomainTestModule : AbpModule -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj deleted file mode 100644 index 5e952ad..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj +++ /dev/null @@ -1,33 +0,0 @@ - - - - Exe - net9.0 - enable - - - - - - PreserveNewest - Always - - - - PreserveNewest - Always - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebAppConsoleApiClientModule.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebAppConsoleApiClientModule.cs deleted file mode 100644 index 6425f60..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/BookStoreWebAppConsoleApiClientModule.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using Microsoft.Extensions.DependencyInjection; -using Polly; -using Volo.Abp.Autofac; -using Volo.Abp.Http.Client; -using Volo.Abp.Http.Client.IdentityModel; -using Volo.Abp.Modularity; - -namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; - -[DependsOn( - typeof(AbpAutofacModule), - typeof(BookStoreWebAppHttpApiClientModule), - typeof(AbpHttpClientIdentityModelModule) - )] -public class BookStoreWebAppConsoleApiClientModule : AbpModule -{ - public override void PreConfigureServices(ServiceConfigurationContext context) - { - PreConfigure(options => - { - options.ProxyClientBuildActions.Add((remoteServiceName, clientBuilder) => - { - clientBuilder.AddTransientHttpErrorPolicy( - policyBuilder => policyBuilder.WaitAndRetryAsync(3, i => TimeSpan.FromSeconds(Math.Pow(2, i))) - ); - }); - }); - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs deleted file mode 100644 index 42b040f..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Threading.Tasks; -using Volo.Abp.Account; -using Volo.Abp.DependencyInjection; - -namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; - -public class ClientDemoService : ITransientDependency -{ - private readonly IProfileAppService _profileAppService; - - public ClientDemoService(IProfileAppService profileAppService) - { - _profileAppService = profileAppService; - } - - public async Task RunAsync() - { - var output = await _profileAppService.GetAsync(); - Console.WriteLine($"UserName : {output.UserName}"); - Console.WriteLine($"Email : {output.Email}"); - Console.WriteLine($"Name : {output.Name}"); - Console.WriteLine($"Surname : {output.Surname}"); - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs deleted file mode 100644 index 675e89c..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Microsoft.Extensions.Hosting; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; - -namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; - -public class ConsoleTestAppHostedService : IHostedService -{ - private readonly IConfiguration _configuration; - - public ConsoleTestAppHostedService(IConfiguration configuration) - { - _configuration = configuration; - } - - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = await AbpApplicationFactory.CreateAsync(options => - { - options.Services.ReplaceConfiguration(_configuration); - options.UseAutofac(); - })) - { - await application.InitializeAsync(); - - var demo = application.ServiceProvider.GetRequiredService(); - await demo.RunAsync(); - - await application.ShutdownAsync(); - } - } - - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/Program.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/Program.cs deleted file mode 100644 index 717f332..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/Program.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; - -class Program -{ - static async Task Main(string[] args) - { - await CreateHostBuilder(args).RunConsoleAsync(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .AddAppSettingsSecretsJson() - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.json b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.json deleted file mode 100644 index 27430a5..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "RemoteServices": { - "Default": { - "BaseUrl": "https://localhost:44313" - } - }, - "IdentityClients": { - "Default": { - "GrantType": "password", - "ClientId": "BookStoreWebApp_App", - "UserName": "admin", - "UserPassword": "1q2w3E*", - "Authority": "https://localhost:44313", - "Scope": "BookStoreWebApp" - } - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json b/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json deleted file mode 100644 index 7a73a41..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/BookStoreWebApp.MongoDB.Tests.csproj b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/BookStoreWebApp.MongoDB.Tests.csproj deleted file mode 100644 index 8026297..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/BookStoreWebApp.MongoDB.Tests.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - - - diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs deleted file mode 100644 index 5d59e78..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs +++ /dev/null @@ -1,11 +0,0 @@ -using BookStoreWebApp.MongoDB; -using BookStoreWebApp.Samples; -using Xunit; - -namespace BookStoreWebApp.MongoDb.Applications; - -[Collection(BookStoreWebAppTestConsts.CollectionDefinitionName)] -public class MongoDBSampleAppServiceTests : SampleAppServiceTests -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoCollection.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoCollection.cs deleted file mode 100644 index 19d6fb3..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoCollection.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Xunit; - -namespace BookStoreWebApp.MongoDB; - -[CollectionDefinition(BookStoreWebAppTestConsts.CollectionDefinitionName)] -public class BookStoreWebAppMongoCollection : BookStoreWebAppMongoDbCollectionFixtureBase -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbCollectionFixtureBase.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbCollectionFixtureBase.cs deleted file mode 100644 index 09fc732..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbCollectionFixtureBase.cs +++ /dev/null @@ -1,9 +0,0 @@ -using BookStoreWebApp.MongoDB; -using Xunit; - -namespace BookStoreWebApp.MongoDB; - -public class BookStoreWebAppMongoDbCollectionFixtureBase : ICollectionFixture -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestBase.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestBase.cs deleted file mode 100644 index fcd7542..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestBase.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStoreWebApp.MongoDB; - -public abstract class BookStoreWebAppMongoDbTestBase : BookStoreWebAppTestBase -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestModule.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestModule.cs deleted file mode 100644 index dc0309a..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestModule.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using Volo.Abp.Data; -using Volo.Abp.Modularity; - -namespace BookStoreWebApp.MongoDB; - -[DependsOn( - typeof(BookStoreWebAppApplicationTestModule), - typeof(BookStoreWebAppMongoDbModule) -)] -public class BookStoreWebAppMongoDbTestModule : AbpModule -{ - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.ConnectionStrings.Default = BookStoreWebAppMongoDbFixture.GetRandomConnectionString(); - }); - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs deleted file mode 100644 index 3d5d21f..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs +++ /dev/null @@ -1,10 +0,0 @@ -using BookStoreWebApp.Samples; -using Xunit; - -namespace BookStoreWebApp.MongoDB.Domains; - -[Collection(BookStoreWebAppTestConsts.CollectionDefinitionName)] -public class MongoDBSampleDomainTests : SampleDomainTests -{ - -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebApp.TestBase.csproj b/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebApp.TestBase.csproj deleted file mode 100644 index 9f5af9c..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebApp.TestBase.csproj +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - net9.0 - enable - BookStoreWebApp - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers - - - - - - - - diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBase.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBase.cs deleted file mode 100644 index 0b66993..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBase.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; -using Volo.Abp.Modularity; -using Volo.Abp.Uow; -using Volo.Abp.Testing; - -namespace BookStoreWebApp; - -/* All test classes are derived from this class, directly or indirectly. - */ -public abstract class BookStoreWebAppTestBase : AbpIntegratedTest - where TStartupModule : IAbpModule -{ - protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) - { - options.UseAutofac(); - } - - protected virtual Task WithUnitOfWorkAsync(Func func) - { - return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); - } - - protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func action) - { - using (var scope = ServiceProvider.CreateScope()) - { - var uowManager = scope.ServiceProvider.GetRequiredService(); - - using (var uow = uowManager.Begin(options)) - { - await action(); - - await uow.CompleteAsync(); - } - } - } - - protected virtual Task WithUnitOfWorkAsync(Func> func) - { - return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); - } - - protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func> func) - { - using (var scope = ServiceProvider.CreateScope()) - { - var uowManager = scope.ServiceProvider.GetRequiredService(); - - using (var uow = uowManager.Begin(options)) - { - var result = await func(); - await uow.CompleteAsync(); - return result; - } - } - } -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestConsts.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestConsts.cs deleted file mode 100644 index d145979..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestConsts.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BookStoreWebApp; - -public static class BookStoreWebAppTestConsts -{ - public const string CollectionDefinitionName = "BookStoreWebApp collection"; -} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestDataSeedContributor.cs b/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestDataSeedContributor.cs deleted file mode 100644 index af14672..0000000 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestDataSeedContributor.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; - -namespace BookStoreWebApp; - -public class BookStoreWebAppTestDataSeedContributor : IDataSeedContributor, ITransientDependency -{ - public Task SeedAsync(DataSeedContext context) - { - /* Seed additional test data... */ - - return Task.CompletedTask; - } -} diff --git a/samples/WebApp/.editorconfig b/samples/WebApp/.editorconfig new file mode 100644 index 0000000..3aa69ea --- /dev/null +++ b/samples/WebApp/.editorconfig @@ -0,0 +1,2 @@ +[*.csproj] +indent_size = 2 \ No newline at end of file diff --git a/samples/BookStore/.gitattributes b/samples/WebApp/.gitattributes similarity index 100% rename from samples/BookStore/.gitattributes rename to samples/WebApp/.gitattributes diff --git a/samples/BookStore/.gitignore b/samples/WebApp/.gitignore similarity index 92% rename from samples/BookStore/.gitignore rename to samples/WebApp/.gitignore index 5ef0150..3caa12e 100644 --- a/samples/BookStore/.gitignore +++ b/samples/WebApp/.gitignore @@ -248,15 +248,27 @@ paket-files/ .fake/ # JetBrains Rider -.idea/ +**/.idea/ *.sln.iml +# ABP Studio +**/.abpstudio/ + # BookStore src/BookStore.Web/Logs/* src/BookStore.Web.Host/Logs/* -src/BookStore.IdentityServer/Logs/* -src/BookStore.HttpApi.Host/Logs/* +src/BookStore.Web.Public/Logs/* +src/BookStore.Web.Public.Host/Logs/* +src/BookStore.AuthServer/Logs/* src/BookStore.HttpApi.Host/Logs/* +src/BookStore.HttpApi.HostWithIds/Logs/* src/BookStore.DbMigrator/Logs/* src/BookStore.Blazor.Server/Logs/* -src/BookStore.Blazor.Server.Tiered/Logs/* \ No newline at end of file +src/BookStore.Blazor.Server.Tiered/Logs/* + +# Use abp install-libs to restore. +**/wwwroot/libs/* + +# IdentityServer temp files +tempkey.rsa +tempkey.jwk \ No newline at end of file diff --git a/samples/WebApp/BookStore.abpmdl b/samples/WebApp/BookStore.abpmdl new file mode 100644 index 0000000..13a23b6 --- /dev/null +++ b/samples/WebApp/BookStore.abpmdl @@ -0,0 +1,105 @@ +{ + "template": "app", + "imports": { + "Volo.Abp.LeptonXLiteTheme": { + "version": "4.2.0", + "isInstalled": true + }, + "Volo.Abp.Account": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.OpenIddict": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.Identity": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.TenantManagement": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.SettingManagement": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.PermissionManagement": { + "version": "9.2.0", + "isInstalled": true + }, + "Volo.Abp.FeatureManagement": { + "version": "9.2.0", + "isInstalled": true + } + }, + "folders": { + "items": { + "src": {}, + "test": {} + } + }, + "packages": { + "BookStore.Application": { + "path": "src/BookStore.Application/BookStore.Application.abppkg", + "folder": "src" + }, + "BookStore.Application.Tests": { + "path": "test/BookStore.Application.Tests/BookStore.Application.Tests.abppkg", + "folder": "test" + }, + "BookStore.MongoDB": { + "path": "src/BookStore.MongoDB/BookStore.MongoDB.abppkg", + "folder": "src" + }, + "BookStore.MongoDB.Tests": { + "path": "test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.abppkg", + "folder": "test" + }, + "BookStore.Domain.Shared": { + "path": "src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg", + "folder": "src" + }, + "BookStore.Application.Contracts": { + "path": "src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg", + "folder": "src" + }, + "BookStore.HttpApi": { + "path": "src/BookStore.HttpApi/BookStore.HttpApi.abppkg", + "folder": "src" + }, + "BookStore.HttpApi.Client": { + "path": "src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg", + "folder": "src" + }, + "BookStore.TestBase": { + "path": "test/BookStore.TestBase/BookStore.TestBase.abppkg", + "folder": "test" + }, + "BookStore.Domain.Tests": { + "path": "test/BookStore.Domain.Tests/BookStore.Domain.Tests.abppkg", + "folder": "test" + }, + "BookStore.HttpApi.Client.ConsoleTestApp": { + "path": "test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.abppkg", + "folder": "test" + }, + "BookStore.DbMigrator": { + "path": "src/BookStore.DbMigrator/BookStore.DbMigrator.abppkg", + "folder": "src" + }, + "BookStore.Blazor": { + "path": "src/BookStore.Blazor/BookStore.Blazor.abppkg", + "folder": "src" + }, + "BookStore.Blazor.Client": { + "path": "src/BookStore.Blazor.Client/BookStore.Blazor.Client.abppkg", + "folder": "src" + }, + "BookStore.Domain": { + "path": "src/BookStore.Domain/BookStore.Domain.abppkg", + "folder": "src" + } + } +} \ No newline at end of file diff --git a/samples/WebApp/BookStore.abpsln b/samples/WebApp/BookStore.abpsln new file mode 100644 index 0000000..deb331f --- /dev/null +++ b/samples/WebApp/BookStore.abpsln @@ -0,0 +1,50 @@ +{ + "id": "e0d04395-b10e-4f2d-89aa-ee6628012bc7", + "template": "app", + "versions": { + "AbpFramework": "9.2.0", + "AbpStudio": "1.0.1", + "TargetDotnetFramework": "net9.0" + }, + "modules": { + "BookStore": { + "path": "BookStore.abpmdl" + } + }, + "runProfiles": { + "Default": { + "path": "etc/abp-studio/run-profiles/Default.abprun.json" + } + }, + "options": { + "httpRequests": { + "ignoredUrls": [ + + ] + } + }, + "creatingStudioConfiguration": { + "template": "app", + "createdAbpStudioVersion": "1.0.1", + "tiered": "false", + "runInstallLibs": "true", + "useLocalReferences": "false", + "multiTenancy": "true", + "includeTests": "true", + "kubernetesConfiguration": "false", + "uiFramework": "blazor-webapp", + "mobileFramework": "none", + "distributedEventBus": "none", + "databaseProvider": "mongodb", + "runDbMigrator": "true", + "theme": "leptonx-lite", + "themeStyle": "", + "themeMenuPlacement": "", + "mobileFramework": "none", + "publicWebsite": "false", + "socialLogin": "true", + "selectedLanguages": ["English", "English (United Kingdom)", "简体中文", "Español", "العربية", "हिन्दी", "Português (Brasil)", "Français", "Русский", "Deutsch (Deuthschland)", "Türkçe", "Italiano", "Čeština", "Magyar", "Română (România)", "Svenska", "Suomi", "Slovenčina", "Íslenska", "繁體中z文", ], + "defaultLanguage": "English", + "createCommand": "abp new BookStore -t app --ui-framework blazor-webapp --database-provider mongodb --theme leptonx-lite --skip-migration --without-cms-kit --dont-run-bundling -no-file-management" + } +} \ No newline at end of file diff --git a/samples/BookStore/BookStore.sln b/samples/WebApp/BookStore.sln similarity index 75% rename from samples/BookStore/BookStore.sln rename to samples/WebApp/BookStore.sln index ee9096d..2d6fc58 100644 --- a/samples/BookStore/BookStore.sln +++ b/samples/WebApp/BookStore.sln @@ -1,20 +1,20 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29020.237 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32611.2 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Domain", "src\BookStore.Domain\BookStore.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Application", "src\BookStore.Application\BookStore.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.EntityFrameworkCore", "src\BookStore.EntityFrameworkCore\BookStore.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Application.Tests", "test\BookStore.Application.Tests\BookStore.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.MongoDB", "src\BookStore.MongoDB\BookStore.MongoDB.csproj", "{E3444355-D47E-431E-BDD0-DD3A7113B2AE}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Domain.Shared", "src\BookStore.Domain.Shared\BookStore.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Application.Contracts", "src\BookStore.Application.Contracts\BookStore.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}" @@ -23,19 +23,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi", "src\Bo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi.Client", "src\BookStore.HttpApi.Client\BookStore.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.EntityFrameworkCore.Tests", "test\BookStore.EntityFrameworkCore.Tests\BookStore.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.TestBase", "test\BookStore.TestBase\BookStore.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Domain.Tests", "test\BookStore.Domain.Tests\BookStore.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.MongoDB.Tests", "test\BookStore.MongoDB.Tests\BookStore.MongoDB.Tests.csproj", "{6015D17B-104B-4EC2-A9B7-D8A40C891458}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi.Client.ConsoleTestApp", "test\BookStore.HttpApi.Client.ConsoleTestApp\BookStore.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.DbMigrator", "src\BookStore.DbMigrator\BookStore.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.DbMigrator", "src\BookStore.DbMigrator\BookStore.DbMigrator.csproj", "{70680696-BB1E-4383-BCB2-42C3767171FB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.HttpApi.Host", "src\BookStore.HttpApi.Host\BookStore.HttpApi.Host.csproj", "{748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Blazor", "src\BookStore.Blazor\BookStore.Blazor.csproj", "{84f89c75-34fb-4605-9cb4-9db74446ed19}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Blazor", "src\BookStore.Blazor\BookStore.Blazor.csproj", "{27B2DDC7-8B75-4322-A312-25419C15D9D8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookStore.Blazor.Client", "src\BookStore.Blazor.Client\BookStore.Blazor.Client.csproj", "{77e8c6c8-71b8-481b-bf48-ac83ed0e4725}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -51,14 +51,14 @@ Global {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU + {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3444355-D47E-431E-BDD0-DD3A7113B2AE}.Release|Any CPU.Build.0 = Release|Any CPU {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -75,10 +75,6 @@ Global {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -87,22 +83,26 @@ Global {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU + {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6015D17B-104B-4EC2-A9B7-D8A40C891458}.Release|Any CPU.Build.0 = Release|Any CPU {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU - {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D}.Release|Any CPU.Build.0 = Release|Any CPU - {27B2DDC7-8B75-4322-A312-25419C15D9D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {27B2DDC7-8B75-4322-A312-25419C15D9D8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {27B2DDC7-8B75-4322-A312-25419C15D9D8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {27B2DDC7-8B75-4322-A312-25419C15D9D8}.Release|Any CPU.Build.0 = Release|Any CPU + {70680696-BB1E-4383-BCB2-42C3767171FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70680696-BB1E-4383-BCB2-42C3767171FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70680696-BB1E-4383-BCB2-42C3767171FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70680696-BB1E-4383-BCB2-42C3767171FB}.Release|Any CPU.Build.0 = Release|Any CPU + {77e8c6c8-71b8-481b-bf48-ac83ed0e4725}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {77e8c6c8-71b8-481b-bf48-ac83ed0e4725}.Debug|Any CPU.Build.0 = Debug|Any CPU + {77e8c6c8-71b8-481b-bf48-ac83ed0e4725}.Release|Any CPU.ActiveCfg = Release|Any CPU + {77e8c6c8-71b8-481b-bf48-ac83ed0e4725}.Release|Any CPU.Build.0 = Release|Any CPU + {84f89c75-34fb-4605-9cb4-9db74446ed19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {84f89c75-34fb-4605-9cb4-9db74446ed19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {84f89c75-34fb-4605-9cb4-9db74446ed19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {84f89c75-34fb-4605-9cb4-9db74446ed19}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -110,21 +110,21 @@ Global GlobalSection(NestedProjects) = preSolution {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {E3444355-D47E-431E-BDD0-DD3A7113B2AE} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} + {6015D17B-104B-4EC2-A9B7-D8A40C891458} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {748584B1-BA69-4F6A-81AA-F4BDE6BCE29D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {27B2DDC7-8B75-4322-A312-25419C15D9D8} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {70680696-BB1E-4383-BCB2-42C3767171FB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {77e8c6c8-71b8-481b-bf48-ac83ed0e4725} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} + {84f89c75-34fb-4605-9cb4-9db74446ed19} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C09128AF-C73F-ED7D-33F5-69BF7D934D50} + SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} EndGlobalSection EndGlobal diff --git a/samples/BookStore/BookStore.sln.DotSettings b/samples/WebApp/BookStore.sln.DotSettings similarity index 100% rename from samples/BookStore/BookStore.sln.DotSettings rename to samples/WebApp/BookStore.sln.DotSettings diff --git a/samples/WebApp/NuGet.Config b/samples/WebApp/NuGet.Config new file mode 100644 index 0000000..5107236 --- /dev/null +++ b/samples/WebApp/NuGet.Config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/WebApp/README.md b/samples/WebApp/README.md new file mode 100644 index 0000000..fefbe0e --- /dev/null +++ b/samples/WebApp/README.md @@ -0,0 +1,56 @@ +# BookStore + +## About this solution + +This is a layered startup solution based on [Domain Driven Design (DDD)](https://abp.io/docs/latest/framework/architecture/domain-driven-design) practises. All the fundamental ABP modules are already installed. Check the [Application Startup Template](https://abp.io/docs/latest/solution-templates/layered-web-application) documentation for more info. + +### Pre-requirements + +* [.NET9.0+ SDK](https://dotnet.microsoft.com/download/dotnet) +* [Node v18 or 20](https://nodejs.org/en) + +### Configurations + +The solution comes with a default configuration that works out of the box. However, you may consider to change the following configuration before running your solution: + + +### Before running the application + +* Run `abp install-libs` command on your solution folder to install client-side package dependencies. This step is automatically done when you create a new solution, if you didn't especially disabled it. However, you should run it yourself if you have first cloned this solution from your source control, or added a new client-side package dependency to your solution. +* Run `BookStore.DbMigrator` to create the initial database. This step is also automatically done when you create a new solution, if you didn't especially disabled it. This should be done in the first run. It is also needed if a new database migration is added to the solution later. + +#### Generating a Signing Certificate + +In the production environment, you need to use a production signing certificate. ABP Framework sets up signing and encryption certificates in your application and expects an `openiddict.pfx` file in your application. + +To generate a signing certificate, you can use the following command: + +```bash +dotnet dev-certs https -v -ep openiddict.pfx -p b0859b18-d774-4576-aad2-c49c1a9dc2ef +``` + +> `b0859b18-d774-4576-aad2-c49c1a9dc2ef` is the password of the certificate, you can change it to any password you want. + +It is recommended to use **two** RSA certificates, distinct from the certificate(s) used for HTTPS: one for encryption, one for signing. + +For more information, please refer to: [OpenIddict Certificate Configuration](https://documentation.openiddict.com/configuration/encryption-and-signing-credentials.html#registering-a-certificate-recommended-for-production-ready-scenarios) + +> Also, see the [Configuring OpenIddict](https://abp.io/docs/latest/Deployment/Configuring-OpenIddict#production-environment) documentation for more information. + +### Solution structure + +This is a layered monolith application that consists of the following applications: + +* `BookStore.DbMigrator`: A console application which applies the migrations and also seeds the initial data. It is useful on development as well as on production environment. + + +## Deploying the application + +Deploying an ABP application follows the same process as deploying any .NET or ASP.NET Core application. However, there are important considerations to keep in mind. For detailed guidance, refer to ABP's [deployment documentation](https://abp.io/docs/latest/Deployment/Index). + +### Additional resources + +You can see the following resources to learn more about your solution and the ABP Framework: + +* [Web Application Development Tutorial](https://abp.io/docs/latest/tutorials/book-store/part-1) +* [Application Startup Template](https://abp.io/docs/latest/startup-templates/application/index) diff --git a/samples/BookStoreWebApp/common.props b/samples/WebApp/common.props similarity index 87% rename from samples/BookStoreWebApp/common.props rename to samples/WebApp/common.props index 7454067..22d34c4 100644 --- a/samples/BookStoreWebApp/common.props +++ b/samples/WebApp/common.props @@ -3,7 +3,7 @@ latest 1.0.0 $(NoWarn);CS1591 - + app diff --git a/samples/WebApp/etc/abp-studio/run-profiles/Default.abprun.json b/samples/WebApp/etc/abp-studio/run-profiles/Default.abprun.json new file mode 100644 index 0000000..dfc7e54 --- /dev/null +++ b/samples/WebApp/etc/abp-studio/run-profiles/Default.abprun.json @@ -0,0 +1,17 @@ +{ + "applications": { + "BookStore.Blazor": { + "type": "dotnet-project", + "launchUrl": "https://localhost:44320", + "path": "../../../src/BookStore.Blazor/BookStore.Blazor.csproj", + "healthCheckEndpoint": "/", + "kubernetesService": ".*-blazorwebapp$", + "execution": { + "order": 2 + } +} + }, + "containers": { + "serviceName": "BookStore-Containers", + } +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg new file mode 100644 index 0000000..4903279 --- /dev/null +++ b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.application-contracts" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg.analyze.json b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg.analyze.json new file mode 100644 index 0000000..060ef71 --- /dev/null +++ b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.abppkg.analyze.json @@ -0,0 +1,118 @@ +{ + "name": "BookStore.Application.Contracts", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Domain.Shared", + "namespace": "BookStore", + "name": "BookStoreDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.Application.Contracts", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.Application.Contracts", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.Application.Contracts", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Public.Application.Contracts", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountPublicApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Admin.Application.Contracts", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountAdminApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.Application.Contracts", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.Application.Contracts", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.Application.Contracts", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.Application.Contracts", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.Application.Contracts", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.Application.Contracts", + "namespace": "Volo.Abp.PermissionManagement", + "name": "AbpPermissionManagementApplicationContractsModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreApplicationContractsModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj similarity index 93% rename from samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj rename to samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj index 5baf74d..1041e77 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj +++ b/samples/WebApp/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj @@ -4,21 +4,21 @@ net9.0 + enable BookStore - + - - - - + + +
diff --git a/samples/BookStore/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs b/samples/WebApp/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs similarity index 85% rename from samples/BookStore/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs rename to samples/WebApp/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs index a0f97b4..7bab31b 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs +++ b/samples/WebApp/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs @@ -1,23 +1,21 @@ using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; using Volo.Abp.Modularity; -using Volo.Abp.ObjectExtending; using Volo.Abp.PermissionManagement; using Volo.Abp.SettingManagement; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; using Volo.Abp.TenantManagement; namespace BookStore; [DependsOn( typeof(BookStoreDomainSharedModule), - typeof(AbpAccountApplicationContractsModule), typeof(AbpFeatureManagementApplicationContractsModule), - typeof(AbpIdentityApplicationContractsModule), - typeof(AbpPermissionManagementApplicationContractsModule), typeof(AbpSettingManagementApplicationContractsModule), + typeof(AbpIdentityApplicationContractsModule), + typeof(AbpAccountApplicationContractsModule), typeof(AbpTenantManagementApplicationContractsModule), - typeof(AbpObjectExtendingModule) + typeof(AbpPermissionManagementApplicationContractsModule) )] public class BookStoreApplicationContractsModule : AbpModule { diff --git a/samples/BookStore/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs b/samples/WebApp/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs similarity index 96% rename from samples/BookStore/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs rename to samples/WebApp/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs index f0e5c04..7030268 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs +++ b/samples/WebApp/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs @@ -1,4 +1,4 @@ -using Volo.Abp.Identity; +using Volo.Abp.Identity; using Volo.Abp.ObjectExtending; using Volo.Abp.Threading; diff --git a/samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs b/samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs similarity index 91% rename from samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs rename to samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs index 803f6bc..25b8f87 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs +++ b/samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs @@ -1,6 +1,7 @@ -using BookStore.Localization; +using BookStore.Localization; using Volo.Abp.Authorization.Permissions; using Volo.Abp.Localization; +using Volo.Abp.MultiTenancy; namespace BookStore.Permissions; @@ -9,6 +10,7 @@ public class BookStorePermissionDefinitionProvider : PermissionDefinitionProvide public override void Define(IPermissionDefinitionContext context) { var myGroup = context.AddGroup(BookStorePermissions.GroupName); + //Define your own permissions here. Example: //myGroup.AddPermission(BookStorePermissions.MyPermission1, L("Permission:MyPermission1")); } diff --git a/samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs b/samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs similarity index 84% rename from samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs rename to samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs index 73e4579..01445cb 100644 --- a/samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs +++ b/samples/WebApp/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs @@ -1,9 +1,11 @@ -namespace BookStore.Permissions; +namespace BookStore.Permissions; public static class BookStorePermissions { public const string GroupName = "BookStore"; + + //Add your own permission names. Example: //public const string MyPermission1 = GroupName + ".MyPermission1"; } diff --git a/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg b/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg new file mode 100644 index 0000000..412567a --- /dev/null +++ b/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.application" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg.analyze.json b/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg.analyze.json new file mode 100644 index 0000000..db859aa --- /dev/null +++ b/samples/WebApp/src/BookStore.Application/BookStore.Application.abppkg.analyze.json @@ -0,0 +1,123 @@ +{ + "name": "BookStore.Application", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Domain", + "namespace": "BookStore", + "name": "BookStoreDomainModule" + }, + { + "declaringAssemblyName": "BookStore.Application.Contracts", + "namespace": "BookStore", + "name": "BookStoreApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.Application", + "namespace": "Volo.Abp.PermissionManagement", + "name": "AbpPermissionManagementApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.Application", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.Application", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Public.Application", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountPublicApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Admin.Application", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountAdminApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.Application", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.Application", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.Application", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.Application", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.Application", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprApplicationModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.Application", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementApplicationModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreApplicationModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj b/samples/WebApp/src/BookStore.Application/BookStore.Application.csproj similarity index 96% rename from samples/BookStore/src/BookStore.Application/BookStore.Application.csproj rename to samples/WebApp/src/BookStore.Application/BookStore.Application.csproj index 887b2ba..b0ae1c8 100644 --- a/samples/BookStore/src/BookStore.Application/BookStore.Application.csproj +++ b/samples/WebApp/src/BookStore.Application/BookStore.Application.csproj @@ -4,6 +4,7 @@ net9.0 + enable BookStore @@ -13,12 +14,12 @@ - - - + + + diff --git a/samples/BookStore/src/BookStore.Application/BookStoreAppService.cs b/samples/WebApp/src/BookStore.Application/BookStoreAppService.cs similarity index 74% rename from samples/BookStore/src/BookStore.Application/BookStoreAppService.cs rename to samples/WebApp/src/BookStore.Application/BookStoreAppService.cs index 734dca4..2f12e97 100644 --- a/samples/BookStore/src/BookStore.Application/BookStoreAppService.cs +++ b/samples/WebApp/src/BookStore.Application/BookStoreAppService.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using BookStore.Localization; +using BookStore.Localization; using Volo.Abp.Application.Services; namespace BookStore; diff --git a/samples/BookStore/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs b/samples/WebApp/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs similarity index 94% rename from samples/BookStore/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs rename to samples/WebApp/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs index 2f15e6a..8c6108c 100644 --- a/samples/BookStore/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs +++ b/samples/WebApp/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs @@ -1,4 +1,4 @@ -using AutoMapper; +using AutoMapper; namespace BookStore; diff --git a/samples/BookStore/src/BookStore.Application/BookStoreApplicationModule.cs b/samples/WebApp/src/BookStore.Application/BookStoreApplicationModule.cs similarity index 93% rename from samples/BookStore/src/BookStore.Application/BookStoreApplicationModule.cs rename to samples/WebApp/src/BookStore.Application/BookStoreApplicationModule.cs index 565103a..add2aeb 100644 --- a/samples/BookStore/src/BookStore.Application/BookStoreApplicationModule.cs +++ b/samples/WebApp/src/BookStore.Application/BookStoreApplicationModule.cs @@ -1,22 +1,22 @@ -using Volo.Abp.Account; +using Volo.Abp.PermissionManagement; +using Volo.Abp.SettingManagement; +using Volo.Abp.Account; +using Volo.Abp.Identity; using Volo.Abp.AutoMapper; using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; using Volo.Abp.TenantManagement; namespace BookStore; [DependsOn( typeof(BookStoreDomainModule), - typeof(AbpAccountApplicationModule), typeof(BookStoreApplicationContractsModule), - typeof(AbpIdentityApplicationModule), typeof(AbpPermissionManagementApplicationModule), - typeof(AbpTenantManagementApplicationModule), typeof(AbpFeatureManagementApplicationModule), + typeof(AbpIdentityApplicationModule), + typeof(AbpAccountApplicationModule), + typeof(AbpTenantManagementApplicationModule), typeof(AbpSettingManagementApplicationModule) )] public class BookStoreApplicationModule : AbpModule diff --git a/samples/BookStore/src/BookStore.Application/Properties/AssemblyInfo.cs b/samples/WebApp/src/BookStore.Application/Properties/AssemblyInfo.cs similarity index 100% rename from samples/BookStore/src/BookStore.Application/Properties/AssemblyInfo.cs rename to samples/WebApp/src/BookStore.Application/Properties/AssemblyInfo.cs diff --git a/samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.abppkg b/samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.abppkg new file mode 100644 index 0000000..9340612 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.blazor-webapp-client" +} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebApp.Blazor.Client.csproj b/samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.csproj similarity index 66% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebApp.Blazor.Client.csproj rename to samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.csproj index 8536434..384a08c 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebApp.Blazor.Client.csproj +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStore.Blazor.Client.csproj @@ -6,41 +6,33 @@ net9.0 enable true - BookStoreWebApp.Blazor.Client - - + - - + - + - - + - - + - diff --git a/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorAutoMapperProfile.cs b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorAutoMapperProfile.cs new file mode 100644 index 0000000..3925cd6 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorAutoMapperProfile.cs @@ -0,0 +1,11 @@ +using AutoMapper; + +namespace BookStore.Blazor.Client; + +public class BookStoreBlazorAutoMapperProfile : Profile +{ + public BookStoreBlazorAutoMapperProfile() + { + //Define your AutoMapper configuration here for the Blazor project. + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorClientModule.cs b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorClientModule.cs similarity index 78% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorClientModule.cs rename to samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorClientModule.cs index 6ac01ed..3ba3112 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorClientModule.cs +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBlazorClientModule.cs @@ -2,35 +2,41 @@ using System.Net.Http; using Microsoft.AspNetCore.Components.WebAssembly.Authentication; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; -using BookStoreWebApp.Blazor.Client.Menus; +using BookStore.Blazor.Client.Navigation; using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; -using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; -using Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI; -using Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI; -using Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI; +using OpenIddict.Abstractions; using Volo.Abp.AspNetCore.Components.Web; using Volo.Abp.Autofac.WebAssembly; using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; +using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; +using Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI; +using Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI; +using Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI; +using Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI; + -namespace BookStoreWebApp.Blazor.Client; +namespace BookStore.Blazor.Client; [DependsOn( - typeof(AbpAutofacWebAssemblyModule), - typeof(BookStoreWebAppHttpApiClientModule), - // typeof(AbpAspNetCoreComponentsWebAssemblyLeptonXLiteThemeModule), + // typeof(AbpSettingManagementBlazorWebAssemblyModule), + // typeof(AbpFeatureManagementBlazorWebAssemblyModule), // typeof(AbpIdentityBlazorWebAssemblyModule), // typeof(AbpTenantManagementBlazorWebAssemblyModule), - // typeof(AbpSettingManagementBlazorWebAssemblyModule) - typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), + // typeof(AbpAspNetCoreComponentsWebAssemblyLeptonXLiteThemeModule), + typeof(AbpSettingManagementBlazorWebAssemblyAntDesignModule), + typeof(AbpFeatureManagementBlazorWebAssemblyAntDesignModule), typeof(AbpIdentityBlazorWebAssemblyAntDesignModule), typeof(AbpTenantManagementBlazorWebAssemblyAntDesignModule), - typeof(AbpSettingManagementBlazorWebAssemblyAntDesignModule) + typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), + typeof(AbpAutofacWebAssemblyModule), + typeof(BookStoreHttpApiClientModule) )] -public class BookStoreWebAppBlazorClientModule : AbpModule +public class BookStoreBlazorClientModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { @@ -39,7 +45,7 @@ public class BookStoreWebAppBlazorClientModule : AbpModule options.IsBlazorWebApp = true; }); } - + public override void ConfigureServices(ServiceConfigurationContext context) { var environment = context.Services.GetSingletonInstance(); @@ -53,12 +59,13 @@ public class BookStoreWebAppBlazorClientModule : AbpModule ConfigureAutoMapper(context); } + private void ConfigureRouter(ServiceConfigurationContext context) { Configure(options => { - options.AppAssembly = typeof(BookStoreWebAppBlazorClientModule).Assembly; - options.AdditionalAssemblies.Add(typeof(BookStoreWebAppBlazorClientModule).Assembly); + options.AppAssembly = typeof(BookStoreBlazorClientModule).Assembly; + options.AdditionalAssemblies.Add(typeof(BookStoreBlazorClientModule).Assembly); }); } @@ -66,7 +73,7 @@ public class BookStoreWebAppBlazorClientModule : AbpModule { Configure(options => { - options.MenuContributors.Add(new BookStoreWebAppMenuContributor(context.Services.GetConfiguration())); + options.MenuContributors.Add(new BookStoreMenuContributor(context.Services.GetConfiguration())); }); } @@ -79,11 +86,9 @@ public class BookStoreWebAppBlazorClientModule : AbpModule private static void ConfigureAuthentication(WebAssemblyHostBuilder builder) { - //TODO: Remove SignOutSessionStateManager in new version. - builder.Services.TryAddScoped(); builder.Services.AddBlazorWebAppServices(); } - + private static void ConfigureHttpClient(ServiceConfigurationContext context, IWebAssemblyHostEnvironment environment) { context.Services.AddTransient(sp => new HttpClient @@ -96,7 +101,7 @@ public class BookStoreWebAppBlazorClientModule : AbpModule { Configure(options => { - options.AddMaps(); + options.AddMaps(); }); } } diff --git a/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBrandingProvider.cs b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBrandingProvider.cs new file mode 100644 index 0000000..3cf655e --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreBrandingProvider.cs @@ -0,0 +1,19 @@ +using Volo.Abp.Ui.Branding; +using Volo.Abp.DependencyInjection; +using Microsoft.Extensions.Localization; +using BookStore.Localization; + +namespace BookStore.Blazor.Client; + +[Dependency(ReplaceServices = true)] +public class BookStoreBrandingProvider : DefaultBrandingProvider +{ + private IStringLocalizer _localizer; + + public BookStoreBrandingProvider(IStringLocalizer localizer) + { + _localizer = localizer; + } + + public override string AppName => _localizer["AppName"]; +} diff --git a/samples/BookStore/src/BookStore.BlazorServer/BookStoreComponentBase.cs b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreComponentBase.cs similarity index 87% rename from samples/BookStore/src/BookStore.BlazorServer/BookStoreComponentBase.cs rename to samples/WebApp/src/BookStore.Blazor.Client/BookStoreComponentBase.cs index ccc8300..3857592 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/BookStoreComponentBase.cs +++ b/samples/WebApp/src/BookStore.Blazor.Client/BookStoreComponentBase.cs @@ -1,7 +1,7 @@ using BookStore.Localization; using Volo.Abp.AspNetCore.Components; -namespace BookStore.Blazor; +namespace BookStore.Blazor.Client; public abstract class BookStoreComponentBase : AbpComponentBase { diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenuContributor.cs b/samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenuContributor.cs similarity index 50% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenuContributor.cs rename to samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenuContributor.cs index f9d6830..f95e439 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenuContributor.cs +++ b/samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenuContributor.cs @@ -1,23 +1,25 @@ using System; using System.Threading.Tasks; -using AntDesign; using Microsoft.Extensions.Configuration; -using BookStoreWebApp.Localization; -using BookStoreWebApp.MultiTenancy; +using BookStore.Localization; +using BookStore.Permissions; +using BookStore.MultiTenancy; +using Volo.Abp.Account.Localization; +using Volo.Abp.UI.Navigation; +using Localization.Resources.AbpUi; using Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; using Lsw.Abp.SettingManagement.Blazor.AntDesignUI; using Lsw.Abp.TenantManagement.Blazor.AntDesignUI; -using Volo.Abp.Account.Localization; using Volo.Abp.Authorization.Permissions; -using Volo.Abp.UI.Navigation; +using Volo.Abp.Users; -namespace BookStoreWebApp.Blazor.Client.Menus; +namespace BookStore.Blazor.Client.Navigation; -public class BookStoreWebAppMenuContributor : IMenuContributor +public class BookStoreMenuContributor : IMenuContributor { private readonly IConfiguration _configuration; - public BookStoreWebAppMenuContributor(IConfiguration configuration) + public BookStoreMenuContributor(IConfiguration configuration) { _configuration = configuration; } @@ -28,28 +30,29 @@ public class BookStoreWebAppMenuContributor : IMenuContributor { await ConfigureMainMenuAsync(context); } + else if (context.Menu.Name == StandardMenus.User) { await ConfigureUserMenuAsync(context); } } - private Task ConfigureMainMenuAsync(MenuConfigurationContext context) + private static async Task ConfigureMainMenuAsync(MenuConfigurationContext context) { - var l = context.GetLocalizer(); - - context.Menu.Items.Insert( - 0, - new ApplicationMenuItem( - BookStoreWebAppMenus.Home, - l["Menu:Home"], - "/", - icon: IconType.Outline.Home - ) - ); - + var l = context.GetLocalizer(); + + //Administration var administration = context.Menu.GetAdministration(); + administration.Order = 6; + context.Menu.AddItem(new ApplicationMenuItem( + BookStoreMenus.Home, + l["Menu:Home"], + "/", + icon: "IconType.Outline.Home", + order: 1 + )); + if (MultiTenancyConsts.IsEnabled) { administration.SetSubItemOrder(TenantManagementMenuNames.GroupName, 1); @@ -61,29 +64,25 @@ public class BookStoreWebAppMenuContributor : IMenuContributor administration.SetSubItemOrder(IdentityMenuNames.GroupName, 2); administration.SetSubItemOrder(SettingManagementMenus.GroupName, 3); - - return Task.CompletedTask; } - - private Task ConfigureUserMenuAsync(MenuConfigurationContext context) + + private async Task ConfigureUserMenuAsync(MenuConfigurationContext context) { - if (!OperatingSystem.IsBrowser()) + if (OperatingSystem.IsBrowser()) { - return Task.CompletedTask; - } + //Blazor wasm menu items - var authServerUrl = _configuration["AuthServer:Authority"] ?? ""; - var accountStringLocalizer = context.GetLocalizer(); + var authServerUrl = _configuration["AuthServer:Authority"] ?? ""; + var accountResource = context.GetLocalizer(); - context.Menu.AddItem(new ApplicationMenuItem( - "Account.Manage", - accountStringLocalizer["MyAccount"], - $"{authServerUrl.EnsureEndsWith('/')}Account/Manage", - icon: IconType.Outline.Setting, - order: 1000, - target: "_blank") - .RequireAuthenticated()); + context.Menu.AddItem(new ApplicationMenuItem("Account.Manage", accountResource["MyAccount"], $"{authServerUrl.EnsureEndsWith('/')}Account/Manage", icon: "IconType.Outline.Setting", order: 900, target: "_blank").RequireAuthenticated()); + + } + else + { + //Blazor server menu items - return Task.CompletedTask; + } + await Task.CompletedTask; } } diff --git a/samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenus.cs b/samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenus.cs similarity index 64% rename from samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenus.cs rename to samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenus.cs index 3b31f55..e8b672f 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenus.cs +++ b/samples/WebApp/src/BookStore.Blazor.Client/Navigation/BookStoreMenus.cs @@ -1,10 +1,8 @@ -namespace BookStore.Blazor.Menus; +namespace BookStore.Blazor.Client.Navigation; public class BookStoreMenus { private const string Prefix = "BookStore"; - public const string Home = Prefix + ".Home"; - - //Add your menu items here... + public const string Home = Prefix + ".Home"; } diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor similarity index 88% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor rename to samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor index c54d250..eea7c45 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor +++ b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor @@ -1,5 +1,5 @@ @page "/" -@inherits BookStoreWebAppComponentBase +@inherits BookStoreComponentBase diff --git a/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.cs b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.cs new file mode 100644 index 0000000..1aea204 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Components; + +namespace BookStore.Blazor.Client.Pages; + +public partial class Index +{ + [Inject] + protected NavigationManager Navigation { get; set; } = default!; + + private void Login() + { + Navigation.NavigateTo("/Account/Login", true); + } +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.css b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.css new file mode 100644 index 0000000..4ef771b --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/Pages/Index.razor.css @@ -0,0 +1,17 @@ +/* Getting-Started */ +.card-bg-image { + pointer-events: none; + position: absolute; + width: 630px; + height: auto; + bottom: 0; + right: 0; + z-index: 1; +} +.starting-content { + position: relative; + z-index: 2; +} +/* Getting-Started End */ + +/* Write here your styles for the Index page */ \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Blazor/Program.cs b/samples/WebApp/src/BookStore.Blazor.Client/Program.cs similarity index 87% rename from samples/BookStore/src/BookStore.Blazor/Program.cs rename to samples/WebApp/src/BookStore.Blazor.Client/Program.cs index 21657f5..788e5ee 100644 --- a/samples/BookStore/src/BookStore.Blazor/Program.cs +++ b/samples/WebApp/src/BookStore.Blazor.Client/Program.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; -namespace BookStore.Blazor; +namespace BookStore.Blazor.Client; public class Program { @@ -9,7 +9,7 @@ public class Program { var builder = WebAssemblyHostBuilder.CreateDefault(args); - var application = await builder.AddApplicationAsync(options => + var application = await builder.AddApplicationAsync(options => { options.UseAutofac(); }); diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Routes.razor b/samples/WebApp/src/BookStore.Blazor.Client/Routes.razor similarity index 88% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Routes.razor rename to samples/WebApp/src/BookStore.Blazor.Client/Routes.razor index 0c2be79..097c83a 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Routes.razor +++ b/samples/WebApp/src/BookStore.Blazor.Client/Routes.razor @@ -1,4 +1,4 @@ -@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme @using Microsoft.Extensions.Options @inject IOptions RouterOptions diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/_Imports.razor b/samples/WebApp/src/BookStore.Blazor.Client/_Imports.razor similarity index 67% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/_Imports.razor rename to samples/WebApp/src/BookStore.Blazor.Client/_Imports.razor index 1f8fe05..e1d76f1 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/_Imports.razor +++ b/samples/WebApp/src/BookStore.Blazor.Client/_Imports.razor @@ -1,5 +1,4 @@ @using System.Net.Http -@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Authorization @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Routing @@ -7,12 +6,12 @@ @using Microsoft.AspNetCore.Components.WebAssembly.Http @using static Microsoft.AspNetCore.Components.Web.RenderMode @using Microsoft.JSInterop -@using Volo.Abp.AspNetCore.Components.Web -@* @using Blazorise *@ -@* @using Blazorise.DataGrid *@ -@* @using Volo.Abp.BlazoriseUI *@ -@* @using Volo.Abp.BlazoriseUI.Components *@ +@using Volo.Abp.AspNetCore.Components +@using Volo.Abp.AspNetCore.Components.WebAssembly +@using BookStore.Blazor.Client @using AntDesign @using Lsw.Abp.AntDesignUI @using Lsw.Abp.AntDesignUI.Components +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout +@using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Bundling \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.Development.json b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.Development.json similarity index 100% rename from samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.Development.json rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.Development.json diff --git a/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.json b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.json new file mode 100644 index 0000000..7102d10 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/appsettings.json @@ -0,0 +1,7 @@ +{ + "RemoteServices": { + "Default": { + "BaseUrl": "https://localhost:44320" + } + } +} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-192.png b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/icon-192.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-192.png rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/icon-192.png diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-512.png b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/icon-512.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-512.png rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/icon-512.png diff --git a/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/main.css b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/main.css new file mode 100644 index 0000000..09b3585 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/main.css @@ -0,0 +1,45 @@ +/* + loader +*/ +.loader { + position: fixed; + top: 0; + right: 0; + left: 0; + bottom: 0; + width: 100vw; + height: 100vh; + z-index: 999; + background-color: #f1f1f2; + } + +#ApplicationContainer > div:first-child:not(:only-child) { + display: none !important; +} + +#blazor-error-ui { + background: lightyellow; + bottom: 0; + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); + display: none; + left: 0; + padding: 0.6rem 1.25rem 0.7rem 1.25rem; + position: fixed; + width: 100%; + z-index: 1000; +} + +#blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; +} + +:root { + --lpx-logo: url('/images/logo/leptonxlite/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonxlite/logo-light-thumbnail.png'); +} +:root .abp-account-layout .lpx-brand-logo{ + --lpx-logo: url('/images/logo/leptonxlite/logo-dark.png'); +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/manifest.json b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/manifest.json similarity index 84% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/manifest.json rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/manifest.json index d12de66..89e5235 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/manifest.json +++ b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/manifest.json @@ -1,6 +1,6 @@ { - "name": "BookStoreWebApp", - "short_name": "BookStoreWebApp", + "name": "BookStore", + "short_name": "BookStore", "start_url": "./", "display": "standalone", "background_color": "#ffffff", diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/service-worker.js b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/service-worker.js similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/service-worker.js rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/service-worker.js diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/service-worker.published.js b/samples/WebApp/src/BookStore.Blazor.Client/wwwroot/service-worker.published.js similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/service-worker.published.js rename to samples/WebApp/src/BookStore.Blazor.Client/wwwroot/service-worker.published.js diff --git a/samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.abppkg b/samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.abppkg new file mode 100644 index 0000000..a3ceaf2 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.abppkg @@ -0,0 +1,3 @@ +{ + "role": "host.blazor-server" +} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebApp.Blazor.csproj b/samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.csproj similarity index 70% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebApp.Blazor.csproj rename to samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.csproj index 6b9be3d..e235839 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebApp.Blazor.csproj +++ b/samples/WebApp/src/BookStore.Blazor/BookStore.Blazor.csproj @@ -5,48 +5,50 @@ net9.0 enable + InProcess true true true false true - BookStoreWebApp-4681b4fd-151f-4221-84a4-929d86723e4c - BookStoreWebApp.Blazor - - - - - - + + + + - - - - + + + - - + + + + + + + + + + diff --git a/samples/BookStore/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs similarity index 91% rename from samples/BookStore/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs rename to samples/WebApp/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs index c62f863..140ddf6 100644 --- a/samples/BookStore/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs +++ b/samples/WebApp/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs @@ -1,4 +1,4 @@ -using AutoMapper; +using AutoMapper; namespace BookStore.Blazor; diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBlazorModule.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreBlazorModule.cs similarity index 59% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBlazorModule.cs rename to samples/WebApp/src/BookStore.Blazor/BookStoreBlazorModule.cs index 60119f2..f10ca81 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBlazorModule.cs +++ b/samples/WebApp/src/BookStore.Blazor/BookStoreBlazorModule.cs @@ -1,66 +1,71 @@ using System; using System.IO; +using System.Security.Cryptography.X509Certificates; +using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Extensions.DependencyInjection; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Options; +using Microsoft.AspNetCore.Extensions.DependencyInjection; +using OpenIddict.Validation.AspNetCore; +using OpenIddict.Server.AspNetCore; +using BookStore.Blazor.Client.Navigation; +using BookStore.MongoDB; +using BookStore.Localization; +using BookStore.MultiTenancy; using Microsoft.OpenApi.Models; -using BookStoreWebApp.Blazor.Client; -using BookStoreWebApp.Blazor.Client.Menus; -using BookStoreWebApp.Blazor.Components; -using BookStoreWebApp.MongoDB; -using BookStoreWebApp.Localization; -using BookStoreWebApp.MultiTenancy; +using Microsoft.Extensions.Options; +using BookStore.Blazor.Client; +using BookStore.Blazor.Components; using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme; using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; -using Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI; -using Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI; -using Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI; -using OpenIddict.Validation.AspNetCore; using Volo.Abp; -using Volo.Abp.Account.Web; using Volo.Abp.AspNetCore.Components.Web; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.AutoMapper; -using Volo.Abp.Modularity; -using Volo.Abp.OpenIddict; using Volo.Abp.Security.Claims; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling; +using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.Bundling; +using Volo.Abp.Localization; +using Volo.Abp.Modularity; using Volo.Abp.Swashbuckle; using Volo.Abp.UI.Navigation; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; +using Volo.Abp.Identity; +using Volo.Abp.OpenIddict; +using Volo.Abp.Account.Web; +using Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI; +using Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI; -namespace BookStoreWebApp.Blazor; +namespace BookStore.Blazor; [DependsOn( - typeof(BookStoreWebAppApplicationModule), - typeof(BookStoreWebAppMongoDbModule), - typeof(BookStoreWebAppHttpApiModule), + typeof(BookStoreApplicationModule), + typeof(BookStoreMongoDbModule), + typeof(BookStoreHttpApiModule), typeof(AbpAutofacModule), typeof(AbpSwashbuckleModule), - typeof(AbpAspNetCoreSerilogModule), + typeof(AbpIdentityBlazorServerAntDesignModule), + typeof(AbpTenantManagementBlazorServerAntDesignModule), typeof(AbpAccountWebOpenIddictModule), //typeof(AbpAspNetCoreComponentsServerLeptonXLiteThemeModule), typeof(AbpAspNetCoreComponentsServerAntDesignThemeModule), + // typeof(AbpAspNetCoreComponentsWebAssemblyLeptonXLiteThemeBundlingModule), + typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeBundlingModule), typeof(AbpAspNetCoreMvcUiLeptonXLiteThemeModule), - // typeof(AbpIdentityBlazorServerModule), - // typeof(AbpTenantManagementBlazorServerModule), - // typeof(AbpSettingManagementBlazorServerModule) - typeof(AbpIdentityBlazorServerAntDesignModule), - typeof(AbpTenantManagementBlazorServerAntDesignModule), - typeof(AbpSettingManagementBlazorServerAntDesignModule) + typeof(AbpAspNetCoreSerilogModule) )] -public class BookStoreWebAppBlazorModule : AbpModule +public class BookStoreBlazorModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { @@ -70,12 +75,12 @@ public class BookStoreWebAppBlazorModule : AbpModule context.Services.PreConfigure(options => { options.AddAssemblyResource( - typeof(BookStoreWebAppResource), - typeof(BookStoreWebAppDomainModule).Assembly, - typeof(BookStoreWebAppDomainSharedModule).Assembly, - typeof(BookStoreWebAppApplicationModule).Assembly, - typeof(BookStoreWebAppApplicationContractsModule).Assembly, - typeof(BookStoreWebAppBlazorModule).Assembly + typeof(BookStoreResource), + typeof(BookStoreDomainModule).Assembly, + typeof(BookStoreDomainSharedModule).Assembly, + typeof(BookStoreApplicationModule).Assembly, + typeof(BookStoreApplicationContractsModule).Assembly, + typeof(BookStoreBlazorModule).Assembly ); }); @@ -83,7 +88,7 @@ public class BookStoreWebAppBlazorModule : AbpModule { builder.AddValidation(options => { - options.AddAudiences("BookStoreWebApp"); + options.AddAudiences("BookStore"); options.UseLocalServer(); options.UseAspNetCore(); }); @@ -98,7 +103,8 @@ public class BookStoreWebAppBlazorModule : AbpModule PreConfigure(serverBuilder => { - serverBuilder.AddProductionEncryptionAndSigningCertificate("openiddict.pfx", "4a4461cf-98c8-4315-a9d7-7650423f4fe5"); + serverBuilder.AddProductionEncryptionAndSigningCertificate("openiddict.pfx", configuration["AuthServer:CertificatePassPhrase"]!); + serverBuilder.SetIssuer(new Uri(configuration["AuthServer:Authority"]!)); }); } @@ -118,6 +124,20 @@ public class BookStoreWebAppBlazorModule : AbpModule .AddInteractiveServerComponents() .AddInteractiveWebAssemblyComponents(); + if (!configuration.GetValue("App:DisablePII")) + { + Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true; + Microsoft.IdentityModel.Logging.IdentityModelEventSource.LogCompleteSecurityArtifact = true; + } + + if (!configuration.GetValue("AuthServer:RequireHttpsMetadata")) + { + Configure(options => + { + options.DisableTransportSecurityRequirement = true; + }); + } + ConfigureAuthentication(context); ConfigureUrls(configuration); ConfigureBundles(); @@ -152,6 +172,9 @@ public class BookStoreWebAppBlazorModule : AbpModule { Configure(options => { + // Blazor Web App + options.Parameters.InteractiveAuto = true; + // MVC UI options.StyleBundles.Configure( LeptonXLiteThemeBundles.Styles.Global, @@ -161,17 +184,33 @@ public class BookStoreWebAppBlazorModule : AbpModule } ); - //BLAZOR UI + options.ScriptBundles.Configure( + LeptonXLiteThemeBundles.Scripts.Global, + bundle => + { + bundle.AddFiles("/global-scripts.js"); + } + ); + + // Blazor UI options.StyleBundles.Configure( BlazorAntDesignThemeBundles.Styles.Global, bundle => { - bundle.AddFiles("/blazor-global-styles.css"); - //You can remove the following line if you don't use Blazor CSS isolation for components - bundle.AddFiles(new BundleFile("/BookStoreWebApp.Blazor.Client.styles.css", true)); + bundle.AddFiles("/global-styles.css"); } ); }); + + Configure(options => + { + var globalStyles = options.StyleBundles.Get(BlazorWebAssemblyStandardBundles.Styles.Global); + globalStyles.AddContributors(typeof(BookStoreStyleBundleContributor)); + + var globalScripts = options.ScriptBundles.Get(BlazorWebAssemblyStandardBundles.Scripts.Global); + globalScripts.AddContributors(typeof(BookStoreScriptBundleContributor)); + + }); } private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment) @@ -180,11 +219,11 @@ public class BookStoreWebAppBlazorModule : AbpModule { Configure(options => { - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStoreWebApp.Domain.Shared")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStoreWebApp.Domain")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStoreWebApp.Application.Contracts")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStoreWebApp.Application")); - options.FileSets.ReplaceEmbeddedByPhysical(hostingEnvironment.ContentRootPath); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStore.Domain.Shared")); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStore.Domain")); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStore.Application.Contracts")); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}BookStore.Application")); + options.FileSets.ReplaceEmbeddedByPhysical(hostingEnvironment.ContentRootPath); }); } } @@ -194,18 +233,26 @@ public class BookStoreWebAppBlazorModule : AbpModule services.AddAbpSwaggerGen( options => { - options.SwaggerDoc("v1", new OpenApiInfo { Title = "BookStoreWebApp API", Version = "v1" }); + options.SwaggerDoc("v1", new OpenApiInfo { Title = "BookStore API", Version = "v1" }); options.DocInclusionPredicate((docName, description) => true); options.CustomSchemaIds(type => type.FullName); } ); } + + // private void ConfigureBlazorise(ServiceConfigurationContext context) + // { + // context.Services + // .AddBootstrap5Providers() + // .AddFontAwesomeIcons(); + // } + private void ConfigureMenu(ServiceConfigurationContext context) { Configure(options => { - options.MenuContributors.Add(new BookStoreWebAppMenuContributor(context.Services.GetConfiguration())); + options.MenuContributors.Add(new BookStoreMenuContributor(context.Services.GetConfiguration())); }); } @@ -213,8 +260,8 @@ public class BookStoreWebAppBlazorModule : AbpModule { Configure(options => { - options.AppAssembly = typeof(BookStoreWebAppBlazorModule).Assembly; - options.AdditionalAssemblies.Add(typeof(BookStoreWebAppBlazorClientModule).Assembly); + options.AppAssembly = typeof(BookStoreBlazorModule).Assembly; + options.AdditionalAssemblies.Add(typeof(BookStoreBlazorClientModule).Assembly); }); } @@ -222,7 +269,7 @@ public class BookStoreWebAppBlazorModule : AbpModule { Configure(options => { - options.ConventionalControllers.Create(typeof(BookStoreWebAppApplicationModule).Assembly); + options.ConventionalControllers.Create(typeof(BookStoreApplicationModule).Assembly); }); } @@ -230,7 +277,7 @@ public class BookStoreWebAppBlazorModule : AbpModule { Configure(options => { - options.AddMaps(); + options.AddMaps(); }); } @@ -239,22 +286,52 @@ public class BookStoreWebAppBlazorModule : AbpModule var env = context.GetEnvironment(); var app = context.GetApplicationBuilder(); - app.UseAbpRequestLocalization(); + app.Use(async (ctx, next) => + { + /* Converting to https to be able to include https URLs in `/.well-known/openid-configuration` endpoint. + * This should only be done if the request is coming outside of the cluster. */ + if (ctx.Request.Headers.ContainsKey("from-ingress")) + { + ctx.Request.Scheme = "https"; + } + + await next(); + }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } - else + + app.UseAbpRequestLocalization(); + + if (!env.IsDevelopment()) { - app.UseExceptionHandler("/Error"); + app.UseErrorPage(); app.UseHsts(); } - app.UseHttpsRedirection(); app.UseCorrelationId(); - app.MapAbpStaticAssets(); app.UseRouting(); + var configuration = context.GetConfiguration(); + if (Convert.ToBoolean(configuration["AuthServer:IsOnK8s"])) + { + app.Use(async (context, next) => + { + if (context.Request.Path.Value != null && + context.Request.Path.Value.StartsWith("/appsettings", StringComparison.OrdinalIgnoreCase) && + context.Request.Path.Value.EndsWith(".json", StringComparison.OrdinalIgnoreCase)) + { + // Set endpoint to null so the static files middleware will handle the request. + context.SetEndpoint(null); + } + await next(context); + }); + + app.UseStaticFilesForPatterns("appsettings*.json"); + } + app.MapAbpStaticAssets(); + app.UseAbpSecurityHeaders(); app.UseAuthentication(); app.UseAbpOpenIddictValidation(); @@ -262,16 +339,18 @@ public class BookStoreWebAppBlazorModule : AbpModule { app.UseMultiTenancy(); } + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAntiforgery(); app.UseAuthorization(); - app.UseSwagger(); app.UseAbpSwaggerUI(options => { - options.SwaggerEndpoint("/swagger/v1/swagger.json", "BookStoreWebApp API"); + options.SwaggerEndpoint("/swagger/v1/swagger.json", "BookStore API"); }); + app.UseAuditing(); + app.UseAbpSerilogEnrichers(); app.UseConfiguredEndpoints(builder => { diff --git a/samples/WebApp/src/BookStore.Blazor/BookStoreBrandingProvider.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreBrandingProvider.cs new file mode 100644 index 0000000..3728b01 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/BookStoreBrandingProvider.cs @@ -0,0 +1,19 @@ +using Microsoft.Extensions.Localization; +using BookStore.Localization; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Ui.Branding; + +namespace BookStore.Blazor; + +[Dependency(ReplaceServices = true)] +public class BookStoreBrandingProvider : DefaultBrandingProvider +{ + private IStringLocalizer _localizer; + + public BookStoreBrandingProvider(IStringLocalizer localizer) + { + _localizer = localizer; + } + + public override string AppName => _localizer["AppName"]; +} diff --git a/samples/BookStore/src/BookStore.Blazor/BookStoreComponentBase.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreComponentBase.cs similarity index 100% rename from samples/BookStore/src/BookStore.Blazor/BookStoreComponentBase.cs rename to samples/WebApp/src/BookStore.Blazor/BookStoreComponentBase.cs diff --git a/samples/WebApp/src/BookStore.Blazor/BookStoreScriptBundleContributor.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreScriptBundleContributor.cs new file mode 100644 index 0000000..28f3c69 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/BookStoreScriptBundleContributor.cs @@ -0,0 +1,11 @@ +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; + +namespace BookStore.Blazor; + +public class BookStoreScriptBundleContributor : BundleContributor +{ + public override void ConfigureBundle(BundleConfigurationContext context) + { + + } +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Blazor/BookStoreStyleBundleContributor.cs b/samples/WebApp/src/BookStore.Blazor/BookStoreStyleBundleContributor.cs new file mode 100644 index 0000000..9cfa18b --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/BookStoreStyleBundleContributor.cs @@ -0,0 +1,11 @@ +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; + +namespace BookStore.Blazor; + +public class BookStoreStyleBundleContributor : BundleContributor +{ + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.Add(new BundleFile("main.css", true)); + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Components/App.razor b/samples/WebApp/src/BookStore.Blazor/Components/App.razor similarity index 82% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Components/App.razor rename to samples/WebApp/src/BookStore.Blazor/Components/App.razor index fcb4227..074789d 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Components/App.razor +++ b/samples/WebApp/src/BookStore.Blazor/Components/App.razor @@ -1,7 +1,7 @@ -@using Volo.Abp.Localization -@using System.Globalization +@using System.Globalization @using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling @using Microsoft.Extensions.Hosting +@using Volo.Abp.Localization @inject IHostEnvironment Env @{ var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty; @@ -9,26 +9,25 @@ - - BookStoreWebApp.Blazor.Server + BookStore + + + + - + - - - -
@if (Env.IsDevelopment()) { @@ -41,19 +40,23 @@ Reload 🗙
+ + + + + @code{ private List GlobalStyles => [ - "global.css", - "main.css", - "blazor-global-styles.css" + "global.css" ]; private List GlobalScripts => [ "global.js" ]; -} + +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Blazor/Dockerfile b/samples/WebApp/src/BookStore.Blazor/Dockerfile new file mode 100644 index 0000000..1bd4eef --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/Dockerfile @@ -0,0 +1,5 @@ +FROM mcr.microsoft.com/dotnet/aspnet:9.0 +COPY bin/Release/net9.0/publish/ app/ +WORKDIR /app +ENV ASPNETCORE_URLS=http://+:80 +ENTRYPOINT ["dotnet", "BookStore.Blazor.dll"] \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Blazor/Dockerfile.local b/samples/WebApp/src/BookStore.Blazor/Dockerfile.local new file mode 100644 index 0000000..472a272 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/Dockerfile.local @@ -0,0 +1,18 @@ +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base +USER $APP_UID +EXPOSE 8080 +EXPOSE 8081 + +COPY bin/Release/net9.0/publish/ app/ +WORKDIR /app + +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +WORKDIR /src +RUN dotnet dev-certs https -v -ep openiddict.pfx -p b0859b18-d774-4576-aad2-c49c1a9dc2ef +RUN chmod 644 openiddict.pfx + +FROM base AS final +WORKDIR /app +COPY --from=build /src . + +ENTRYPOINT ["dotnet", "BookStore.Blazor.dll"] diff --git a/samples/BookStore/src/BookStore.BlazorServer/Program.cs b/samples/WebApp/src/BookStore.Blazor/Program.cs similarity index 52% rename from samples/BookStore/src/BookStore.BlazorServer/Program.cs rename to samples/WebApp/src/BookStore.Blazor/Program.cs index 4a494fa..71d24b5 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/Program.cs +++ b/samples/WebApp/src/BookStore.Blazor/Program.cs @@ -13,27 +13,32 @@ public class Program public async static Task Main(string[] args) { Log.Logger = new LoggerConfiguration() -#if DEBUG - .MinimumLevel.Debug() -#else - .MinimumLevel.Information() -#endif - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) - .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) -#if DEBUG .WriteTo.Async(c => c.Console()) -#endif - .CreateLogger(); + .CreateBootstrapLogger(); try { Log.Information("Starting web host."); var builder = WebApplication.CreateBuilder(args); - builder.Host.AddAppSettingsSecretsJson() + builder.Host + .AddAppSettingsSecretsJson() .UseAutofac() - .UseSerilog(); + .UseSerilog((context, services, loggerConfiguration) => + { + loggerConfiguration + #if DEBUG + .MinimumLevel.Debug() + #else + .MinimumLevel.Information() + #endif + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) + .Enrich.FromLogContext() + .WriteTo.Async(c => c.File("Logs/logs.txt")) + .WriteTo.Async(c => c.Console()) + .WriteTo.Async(c => c.AbpStudio(services)); + }); await builder.AddApplicationAsync(); var app = builder.Build(); await app.InitializeApplicationAsync(); @@ -42,6 +47,11 @@ public class Program } catch (Exception ex) { + if (ex is HostAbortedException) + { + throw; + } + Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } diff --git a/samples/BookStore/src/BookStore.BlazorServer/Properties/launchSettings.json b/samples/WebApp/src/BookStore.Blazor/Properties/launchSettings.json similarity index 81% rename from samples/BookStore/src/BookStore.BlazorServer/Properties/launchSettings.json rename to samples/WebApp/src/BookStore.Blazor/Properties/launchSettings.json index 57c1da4..591aec5 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/Properties/launchSettings.json +++ b/samples/WebApp/src/BookStore.Blazor/Properties/launchSettings.json @@ -3,8 +3,8 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44313/", - "sslPort": 44313 + "applicationUrl": "https://localhost:44320/", + "sslPort": 44320 } }, "profiles": { @@ -19,7 +19,7 @@ "commandName": "Project", "dotnetRunMessages": "true", "launchBrowser": true, - "applicationUrl": "https://localhost:44313/", + "applicationUrl": "https://localhost:44320/", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/samples/WebApp/src/BookStore.Blazor/Themes/_ViewImports.cshtml b/samples/WebApp/src/BookStore.Blazor/Themes/_ViewImports.cshtml new file mode 100644 index 0000000..229004a --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/Themes/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using System.Globalization +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/_Imports.razor b/samples/WebApp/src/BookStore.Blazor/_Imports.razor similarity index 79% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/_Imports.razor rename to samples/WebApp/src/BookStore.Blazor/_Imports.razor index 83dd5b9..ef623a6 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/_Imports.razor +++ b/samples/WebApp/src/BookStore.Blazor/_Imports.razor @@ -7,11 +7,8 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using static Microsoft.AspNetCore.Components.Web.RenderMode @using Microsoft.JSInterop -@using BookStoreWebApp.Blazor.Client -@* @using Blazorise *@ -@* @using Blazorise.DataGrid *@ -@* @using Volo.Abp.BlazoriseUI *@ -@* @using Volo.Abp.BlazoriseUI.Components *@ +@using BookStore.Blazor +@using BookStore.Blazor.Client @using AntDesign @using Lsw.Abp.AntDesignUI @using Lsw.Abp.AntDesignUI.Components diff --git a/samples/BookStore/src/BookStore.BlazorServer/abp.resourcemapping.js b/samples/WebApp/src/BookStore.Blazor/abp.resourcemapping.js similarity index 96% rename from samples/BookStore/src/BookStore.BlazorServer/abp.resourcemapping.js rename to samples/WebApp/src/BookStore.Blazor/abp.resourcemapping.js index 4a2ad45..98822e4 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/abp.resourcemapping.js +++ b/samples/WebApp/src/BookStore.Blazor/abp.resourcemapping.js @@ -8,4 +8,4 @@ module.exports = { mappings: { } -}; +}; \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.BlazorServer/appsettings.Development.json b/samples/WebApp/src/BookStore.Blazor/appsettings.Development.json similarity index 100% rename from samples/BookStore/src/BookStore.BlazorServer/appsettings.Development.json rename to samples/WebApp/src/BookStore.Blazor/appsettings.Development.json diff --git a/samples/WebApp/src/BookStore.Blazor/appsettings.json b/samples/WebApp/src/BookStore.Blazor/appsettings.json new file mode 100644 index 0000000..91fca96 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/appsettings.json @@ -0,0 +1,18 @@ +{ + "App": { + "SelfUrl": "https://localhost:44320", + "RedirectAllowedUrls": "https://localhost:44320", + "DisablePII": false + }, + "ConnectionStrings": { + "Default": "mongodb://localhost:27017/BookStore" + }, + "AuthServer": { + "Authority": "https://localhost:44320", + "RequireHttpsMetadata": true, + "CertificatePassPhrase": "b0859b18-d774-4576-aad2-c49c1a9dc2ef" + }, + "StringEncryption": { + "DefaultPassPhrase": "15IVRscULXqonKka" + } +} diff --git a/samples/WebApp/src/BookStore.Blazor/package-lock.json b/samples/WebApp/src/BookStore.Blazor/package-lock.json new file mode 100644 index 0000000..d671d9a --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/package-lock.json @@ -0,0 +1,3196 @@ +{ + "name": "my-app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@abp/aspnetcore.mvc.ui": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz", + "integrity": "sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==", + "requires": { + "ansi-colors": "^4.1.1", + "extend-object": "^1.0.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "gulp": "^4.0.2", + "merge-stream": "^2.0.0", + "micromatch": "^4.0.2", + "path": "^0.12.7" + } + }, + "@abp/aspnetcore.mvc.ui.theme.basic": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz", + "integrity": "sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==", + "requires": { + "@abp/aspnetcore.mvc.ui.theme.shared": "~4.2.1" + } + }, + "@abp/aspnetcore.mvc.ui.theme.shared": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz", + "integrity": "sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==", + "requires": { + "@abp/aspnetcore.mvc.ui": "~4.2.1", + "@abp/bootstrap": "~4.2.1", + "@abp/bootstrap-datepicker": "~4.2.1", + "@abp/datatables.net-bs4": "~4.2.1", + "@abp/font-awesome": "~4.2.1", + "@abp/jquery-form": "~4.2.1", + "@abp/jquery-validation-unobtrusive": "~4.2.1", + "@abp/lodash": "~4.2.1", + "@abp/luxon": "~4.2.1", + "@abp/malihu-custom-scrollbar-plugin": "~4.2.1", + "@abp/select2": "~4.2.1", + "@abp/sweetalert": "~4.2.1", + "@abp/timeago": "~4.2.1", + "@abp/toastr": "~4.2.1" + } + }, + "@abp/bootstrap": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap/-/bootstrap-4.2.1.tgz", + "integrity": "sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==", + "requires": { + "@abp/core": "~4.2.1", + "bootstrap": "^4.5.0", + "bootstrap-v4-rtl": "4.4.1-2" + } + }, + "@abp/bootstrap-datepicker": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz", + "integrity": "sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==", + "requires": { + "bootstrap-datepicker": "^1.9.0" + } + }, + "@abp/core": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/core/-/core-4.2.1.tgz", + "integrity": "sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==", + "requires": { + "@abp/utils": "^4.2.1" + } + }, + "@abp/datatables.net": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net/-/datatables.net-4.2.1.tgz", + "integrity": "sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==", + "requires": { + "@abp/jquery": "~4.2.1", + "datatables.net": "^1.10.21" + } + }, + "@abp/datatables.net-bs4": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz", + "integrity": "sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==", + "requires": { + "@abp/datatables.net": "~4.2.1", + "datatables.net-bs4": "^1.10.21" + } + }, + "@abp/font-awesome": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/font-awesome/-/font-awesome-4.2.1.tgz", + "integrity": "sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==", + "requires": { + "@abp/core": "~4.2.1", + "@fortawesome/fontawesome-free": "^5.13.0" + } + }, + "@abp/jquery": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/jquery/-/jquery-4.2.1.tgz", + "integrity": "sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==", + "requires": { + "@abp/core": "~4.2.1", + "jquery": "~3.5.1" + }, + "dependencies": { + "jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + } + } + }, + "@abp/jquery-form": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-form/-/jquery-form-4.2.1.tgz", + "integrity": "sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==", + "requires": { + "@abp/jquery": "~4.2.1", + "jquery-form": "^4.3.0" + } + }, + "@abp/jquery-validation": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz", + "integrity": "sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==", + "requires": { + "@abp/jquery": "~4.2.1", + "jquery-validation": "^1.19.2" + } + }, + "@abp/jquery-validation-unobtrusive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz", + "integrity": "sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==", + "requires": { + "@abp/jquery-validation": "~4.2.1", + "jquery-validation-unobtrusive": "^3.2.11" + } + }, + "@abp/lodash": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/lodash/-/lodash-4.2.1.tgz", + "integrity": "sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==", + "requires": { + "@abp/core": "~4.2.1", + "lodash": "^4.17.15" + } + }, + "@abp/luxon": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/luxon/-/luxon-4.2.1.tgz", + "integrity": "sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==", + "requires": { + "@abp/core": "~4.2.1", + "luxon": "^1.24.1" + } + }, + "@abp/malihu-custom-scrollbar-plugin": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz", + "integrity": "sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==", + "requires": { + "@abp/core": "~4.2.1", + "malihu-custom-scrollbar-plugin": "^3.1.5" + } + }, + "@abp/select2": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/select2/-/select2-4.2.1.tgz", + "integrity": "sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==", + "requires": { + "@abp/core": "~4.2.1", + "select2": "^4.0.13" + } + }, + "@abp/sweetalert": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/sweetalert/-/sweetalert-4.2.1.tgz", + "integrity": "sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==", + "requires": { + "@abp/core": "~4.2.1", + "sweetalert": "^2.1.2" + } + }, + "@abp/timeago": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/timeago/-/timeago-4.2.1.tgz", + "integrity": "sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==", + "requires": { + "@abp/jquery": "~4.2.1", + "timeago": "^1.6.7" + } + }, + "@abp/toastr": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/toastr/-/toastr-4.2.1.tgz", + "integrity": "sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==", + "requires": { + "@abp/jquery": "~4.2.1", + "toastr": "^2.1.4" + } + }, + "@abp/utils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@abp/utils/-/utils-4.2.1.tgz", + "integrity": "sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==", + "requires": { + "just-compare": "^1.3.0" + } + }, + "@fortawesome/fontawesome-free": { + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz", + "integrity": "sha512-7l/AX41m609L/EXI9EKH3Vs3v0iA8tKlIOGtw+kgcoanI7p+e4I4GYLqW3UXWiTnjSFymKSmTTPKYrivzbxxqA==" + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "requires": { + "async-done": "^1.2.2" + } + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" + }, + "bootstrap-datepicker": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/bootstrap-datepicker/-/bootstrap-datepicker-1.9.0.tgz", + "integrity": "sha512-9rYYbaVOheGYxjOr/+bJCmRPihfy+LkLSg4fIFMT9Od8WwWB/MB50w0JO1eBgKUMbb7PFHQD5uAfI3ArAxZRXA==", + "requires": { + "jquery": ">=1.7.1 <4.0.0" + } + }, + "bootstrap-v4-rtl": { + "version": "4.4.1-2", + "resolved": "https://registry.npmjs.org/bootstrap-v4-rtl/-/bootstrap-v4-rtl-4.4.1-2.tgz", + "integrity": "sha512-x9jZLEQzeOlkfxnR73aE/LjTD6hlqU6BbKVKdGasDByEP7dHBaxYaDGX54pfpHTom2QFqQ3t6y0WkDZW6DrQhw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "requires": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "datatables.net": { + "version": "1.10.23", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.23.tgz", + "integrity": "sha512-we3tlNkzpxvgkKKlTxTMXPCt35untVXNg8zUYWpQyC1U5vJc+lT0+Zdc1ztK8d3lh5CfdnuFde2p8n3XwaGl3Q==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-bs4": { + "version": "1.10.23", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.23.tgz", + "integrity": "sha512-ChUB8t5t5uzPnJYTPXx2DOvnlm2shz8OadXrKoFavOadB308OuwHVxSldYq9+KGedCeiVxEjNqcaV4nFSXkRsw==", + "requires": { + "datatables.net": "1.10.23", + "jquery": ">=1.7" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz", + "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/extend-object/-/extend-object-1.0.0.tgz", + "integrity": "sha1-QlFPhAFdE1bK9Rh5ad+yvBvaCCM=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "requires": { + "glogg": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "jquery-form": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jquery-form/-/jquery-form-4.3.0.tgz", + "integrity": "sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ==", + "requires": { + "jquery": ">=1.7.2" + } + }, + "jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=" + }, + "jquery-validation": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.3.tgz", + "integrity": "sha512-iXxCS5W7STthSTMFX/NDZfWHBLbJ1behVK3eAgHXAV8/0vRa9M4tiqHvJMr39VGWHMGdlkhrtrkBuaL2UlE8yw==" + }, + "jquery-validation-unobtrusive": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.2.12.tgz", + "integrity": "sha512-kPixGhVcuat7vZXngGFfSIksy4VlzZcHyRgnBIZdsfVneCU+D5sITC8T8dD/9c9K/Q+qkMlgp7ufJHz93nKSuQ==", + "requires": { + "jquery": "^3.5.1", + "jquery-validation": ">=1.16" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "just-compare": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/just-compare/-/just-compare-1.3.0.tgz", + "integrity": "sha512-i4QNo3mPYubDmAwPbCKQl5C2b5s0yudP5V5GDp6lGR1PM22Em4Idf7mcaIzXYcL6/RLdZtuGrAqkBe9RYM/t4w==" + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "luxon": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.26.0.tgz", + "integrity": "sha512-+V5QIQ5f6CDXQpWNICELwjwuHdqeJM1UenlZWx5ujcRMc9venvluCjFb4t5NYLhb6IhkbMVOxzVuOqkgMxee2A==" + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "malihu-custom-scrollbar-plugin": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz", + "integrity": "sha1-MQzsxeWUFaHCnp37XStuAdZqKe8=", + "requires": { + "jquery-mousewheel": ">=3.0.6" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==" + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "requires": { + "once": "^1.3.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=" + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "select2": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", + "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "requires": { + "sver-compat": "^1.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==" + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "sweetalert": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", + "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", + "requires": { + "es6-object-assign": "^1.1.0", + "promise-polyfill": "^6.0.2" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + }, + "timeago": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz", + "integrity": "sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ==", + "requires": { + "jquery": ">=1.5.0 <4.0" + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "requires": { + "through2": "^2.0.3" + } + }, + "toastr": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", + "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", + "requires": { + "jquery": ">=1.12.0" + } + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", + "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "5.0.0-security.0" + } + }, + "yargs-parser": { + "version": "5.0.0-security.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", + "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } +} diff --git a/samples/WebApp/src/BookStore.Blazor/package.json b/samples/WebApp/src/BookStore.Blazor/package.json new file mode 100644 index 0000000..7d42c69 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/package.json @@ -0,0 +1,9 @@ +{ + "version": "1.0.0", + "name": "my-app", + "private": true, + "dependencies": { + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.2.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.2.0" + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/web.config b/samples/WebApp/src/BookStore.Blazor/web.config similarity index 75% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/web.config rename to samples/WebApp/src/BookStore.Blazor/web.config index 7c337bd..9d0917b 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/web.config +++ b/samples/WebApp/src/BookStore.Blazor/web.config @@ -5,7 +5,7 @@ - + diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/favicon.ico b/samples/WebApp/src/BookStore.Blazor/wwwroot/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..450151f27260563a2f6adb9a987efe4cc7b82b61 GIT binary patch literal 38078 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 literal 0 HcmV?d00001 diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/global-scripts.js b/samples/WebApp/src/BookStore.Blazor/wwwroot/global-scripts.js new file mode 100644 index 0000000..e8136b0 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/wwwroot/global-scripts.js @@ -0,0 +1 @@ +/* Your Global Scripts */ diff --git a/samples/BookStore/src/BookStore.BlazorServer/wwwroot/blazor-global-styles.css b/samples/WebApp/src/BookStore.Blazor/wwwroot/global-styles.css similarity index 57% rename from samples/BookStore/src/BookStore.BlazorServer/wwwroot/blazor-global-styles.css rename to samples/WebApp/src/BookStore.Blazor/wwwroot/global-styles.css index 0d26cfc..cd2e926 100644 --- a/samples/BookStore/src/BookStore.BlazorServer/wwwroot/blazor-global-styles.css +++ b/samples/WebApp/src/BookStore.Blazor/wwwroot/global-styles.css @@ -16,3 +16,11 @@ right: 0.75rem; top: 0.5rem; } + +:root { + --lpx-logo: url('/images/logo/leptonxlite/logo-light.png'); + --lpx-logo-icon: url('/images/logo/leptonxlite/logo-light-thumbnail.png'); +} +:root .abp-account-layout .lpx-brand-logo{ + --lpx-logo: url('/images/logo/leptonxlite/logo-dark.png'); +} diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/bg-01.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/bg-01.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6b323aa9572d615d559b8c4dc3c8b5507b0e65 GIT binary patch literal 27830 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%0DgFjl9gGQJQWE9+C8G;b;SMS9te zPcY83(BVp1f>k*-2Y;iX`d8`#;*|6q3M#fL@TEU1VRk*SAk_sRFckCn6a+5Zl0P=E zvN%Q>V}h+i@sKGFZ0_m2>07 zd-IHj8wS=sSIJ8R7cA^;kzl>$gRt>pLkalX+M=dY9w1y3ej>a1%YGb{r;(Zf zSP}i~0l{d5N?3J%6mWxMFi9G(;z%me?%ew7wsT#62vT6ga@N-L(>C6e3wL$TW4#Y% zW+GD}eIR2)td1VIYvjbFhMq=oAAW8l`)yOKFT{rngy{$e`@`M{M$A5*@1L%wxpn|K z8_sVB=QIc0Dvn$M<40IsPIH4nU_3Q9{;bGTr#d|VQOlK2(_$?^XcT`l`m=*h9la2K zGq_0La8xgo6VzzanJxgLE@gWc`d*&3^f`m&XiflbJCgMPI&8+4bQDT@*t{e%CWSqt zSsasjwC!vE(Dw!e{x=ACr1|3;1}xcx?lwK`?6*ZJQor6>34@ZqYA-mltSm8|dDT_) zKHjCAW8-bEK;uLNDCJk7?}Wx|4=&YCK z333g!MkUWYWO$nEP_?2lb=_gB{V}lQ-YX4p;Eoe#4%x=Ztiv#jd)o>iP}n)bctr# zg?f=YL?S^N-mpX=5UEy*In>zlsMBSi-N1DBhER6-%WMbGNVD=bFI^!G4);Pq!nC(` z1HQa3pVDDYnk+B@jgo4VjuqCHw5sUsQ&Tj-O-Zc$y~^>YJ((Qb!)3s`HOFa|M?pGKXZrQG1ZgI(E+~87Xn~QD*;j5jHyj|(asIYPwNKAs5A2}K z!Bl?g*OwAnb6J@#-n;@R$ydar1?hPTI~AhSEtJb%^n9bt%>T4Vhq=du2xxP{^P64r zK9awX4MzamptwQ@@ooqk?)&Nuj^DquCvRc+{!%|qTd7*QS}xTl)DBBAC^?!noX{z# z4uo)$soKkz^0Fi9%}b+!GU@i{u-ac)(+6d(pkMT7tT87|ZSd_}2|vl}>^ZMu;$@TJ zD*&!TX_tlfo^ge9X{v9BuD8v7Vkuj(gL1L*amc}qrdIY<)>Ol`dhbN6sDb!qmq zHgYp`>j(3ef(~R&5aU_pv5LmCfy@#-<2>4F$3rj<8x|uM6>ZJVAIbmuSooj*J>d)kl%+0*_EhHFi z_i>#%wi7maG!9pFuZDOF<`1mEiuxpWV(wis_soOSuVWGL%OV3U-%AUm_?v5VL9EFf zaytik%Bnu-9<35BzGY!n__7Y{0gxUqx!3O4T2hl`Aaj$7-pUdCPCxhr+B`AV{hz7BJ`lwBp$&Yy%_^@^g*`LcGM!Q<;rR2NIjm56}5E#*OaGx!Bku|Ea}G>gvHWjQ`VkG#vUK>E*ucfA>^dD`hM|-`czF5a zdD}<00__M7!6KN6IuCS(e!d>N)MW|fs;FOIjf;13;x$1r3P%xqGPIlI!*DC(`H{Y| zJP^O8mMkehHOa)c-W$E*l#E1>7E~mHhfYD4I94~0qf|rmhWr-Z)yUdSu zdyCFPnA3mUWKi1scFoQhV(#e>s~rfmO05Km4IiXHHd~#^Zps7GH#$=pc_rhZlh{AI zhcqOJ8DcdaGA;2S2WGl*M?!vx(4L3uZqFl+N&6^*t8Du5j*PsW$OP+_IT9l25&25A z1a;QV?TDPQ=2&J?Xqa)sX%Qpo;qC5bh6t#55f+O~%Q3cG?bQ7zF_bYMq4RVeb|v12 z

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 z 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

uCa*26FF~|Zlkjl#xEm_dJ*dY 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%0DbBoo1p9gWu$#S;P0wxN<0sa#78*oPc*s6wVQ$ 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 + + + + + + diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-blog.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-blog.png new file mode 100644 index 0000000000000000000000000000000000000000..37fc5be0e03e6d59a60d559d74d6fdfa51e10482 GIT binary patch literal 42029 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 literal 0 HcmV?d00001 diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-support.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/img-support.png new file mode 100644 index 0000000000000000000000000000000000000000..27f4f13b22c1036c269b6e2b17d29e287e2ef26a GIT binary patch literal 33989 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 StuUzo0000 + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/stack-overflow.svg b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/stack-overflow.svg new file mode 100644 index 0000000..2b09789 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/stack-overflow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/x-white.svg b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/x-white.svg new file mode 100644 index 0000000..38b09ee --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/x-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/youtube.svg b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/youtube.svg new file mode 100644 index 0000000..1d38b17 --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/getting-started/youtube.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-dark-thumbnail.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png rename to samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-dark-thumbnail.png diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-dark.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark.png rename to samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-dark.png diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light-thumbnail.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-light-thumbnail.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light-thumbnail.png rename to samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-light-thumbnail.png diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light.png b/samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-light.png similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light.png rename to samples/WebApp/src/BookStore.Blazor/wwwroot/images/logo/leptonxlite/logo-light.png diff --git a/samples/WebApp/src/BookStore.Blazor/yarn.lock b/samples/WebApp/src/BookStore.Blazor/yarn.lock new file mode 100644 index 0000000..421dd0a --- /dev/null +++ b/samples/WebApp/src/BookStore.Blazor/yarn.lock @@ -0,0 +1,321 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@abp/aspnetcore.components.server.leptonxlitetheme@~4.2.0": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.components.server.leptonxlitetheme/-/aspnetcore.components.server.leptonxlitetheme-4.2.1.tgz#3fb1c687940052cc20e93a282ce8fbc61c0844e7" + integrity sha512-2DgQMU6MPAJ7WmcJUaoouk4eAXP8XhJftdcPh+BjB9rCu5FDQnWHqhT6hQOz1DR+KQ3vD3R8jbyZis1sB8InSw== + dependencies: + "@abp/aspnetcore.components.server.theming" "~9.2.1" + +"@abp/aspnetcore.components.server.theming@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.components.server.theming/-/aspnetcore.components.server.theming-9.2.1.tgz#9e9e01f6356b4a5616fb706460b0cde53204075a" + integrity sha512-fxOJwzG7YiMYLxYHKLPL3Cv0pynfivOCLqhG+v60Hz4VTUIDqJDy4EJ2EN+LcEAkpYGglzGNmbGh5je+2anzCA== + dependencies: + "@abp/bootstrap" "~9.2.1" + "@abp/font-awesome" "~9.2.1" + +"@abp/aspnetcore.mvc.ui.theme.leptonxlite@~4.2.0": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-4.2.1.tgz#3e3cc78b0d1d56113d459d61e01125bffada0c21" + integrity sha512-unZMV9HY13Kq00FZROVlo9po+foivENEoM7jUmZWlxOQjxBwa3/VJaxwQIXd9DZOqdpJpi5zUv/pSb6DqiZkfg== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.1" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.1.tgz#35f6de6f106c80592ce70d36b6e8b20c64862803" + integrity sha512-kZz1tgUguGHxwG1MRkbkeXn9sIjbCOHJcBU+w+XuWwCqigM2yaE+KgnASDcjCrjQiPu6i73hf9OwtxXY1UbGMQ== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.2.1" + "@abp/bootstrap" "~9.2.1" + "@abp/bootstrap-datepicker" "~9.2.1" + "@abp/bootstrap-daterangepicker" "~9.2.1" + "@abp/datatables.net-bs5" "~9.2.1" + "@abp/font-awesome" "~9.2.1" + "@abp/jquery-form" "~9.2.1" + "@abp/jquery-validation-unobtrusive" "~9.2.1" + "@abp/lodash" "~9.2.1" + "@abp/luxon" "~9.2.1" + "@abp/malihu-custom-scrollbar-plugin" "~9.2.1" + "@abp/moment" "~9.2.1" + "@abp/select2" "~9.2.1" + "@abp/sweetalert2" "~9.2.1" + "@abp/timeago" "~9.2.1" + +"@abp/aspnetcore.mvc.ui@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.1.tgz#8b30f830d85f7e1f4a386b0ef8d0444e2550bc42" + integrity sha512-0C41JpevGynbyHGeKkqLUSVNK64QETsKVyVWY4fSZkChGHlD09Fn3qIlHJInpBqJ9qNYs5VQ7RRP02PSum9mAg== + dependencies: + ansi-colors "^4.1.3" + +"@abp/bootstrap-datepicker@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.1.tgz#373c8715d175ca23a8871bacdb5f017b070254aa" + integrity sha512-uaCpz5EDSZYDacjnYoqTiktTDFGnGJPEHYh5eG4BORlQta53Hvak7m2CkRVjdOaXtuPLi6EbWPSh2bHIfhKRyQ== + dependencies: + bootstrap-datepicker "^1.10.0" + +"@abp/bootstrap-daterangepicker@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.1.tgz#b49e17a4753b09d49bfad6774a7f185e7e5bf71c" + integrity sha512-kd6LEACfx7CBIQOAiE/RHFp/WnthE2iz/eivl3fwuz1VgAO0CBIQ7hYoX91GaAIQgt+OAcgGbOl2G6E284EM9Q== + dependencies: + bootstrap-daterangepicker "^3.1.0" + +"@abp/bootstrap@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.1.tgz#ddf624e95f1dab4a8fce8d20b6dccd2b3d3f1679" + integrity sha512-NghAVP7M/Y2y9GYDu7IWo8oW7EyJEO+1NnPqCudpjWX4C6B27d7ghJ7I0MfrHoRq9/hBJZ07AKf3KMAZQD99ng== + dependencies: + "@abp/core" "~9.2.1" + bootstrap "^5.3.3" + +"@abp/core@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.1.tgz#f7c635f1fe88fc3fbbc4accaa6aee2dc3b5631a7" + integrity sha512-onCzS2w+U+wBv5FRDCVE176AiyZDMm1D5GaqiEnpuAwsBncFpFyZedC95dtPmykagJbpOvHVSPOLyZ2jzGjcYg== + dependencies: + "@abp/utils" "~9.2.1" + +"@abp/datatables.net-bs5@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.1.tgz#ff69059e96d5341166fa8d08390e9bb352010e5d" + integrity sha512-NEkf8xWTIYFDs9lAAPs0hOL2UD+pnVwyix/9IAtip3BIkyPFpLCniNWbu1WhuNJpfmLHrWPSqIrouR80gGL7PQ== + dependencies: + "@abp/datatables.net" "~9.2.1" + datatables.net-bs5 "^2.1.8" + +"@abp/datatables.net@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.1.tgz#0a5ab74ca44cd785efb487f0447e8acdea9d7aa1" + integrity sha512-A9TSPRNUV0eeCPnpGV9Htu9ZylUf3e03smYcbEROQHe+htwhcEV5dz8SLAI90baPi2g7VnyPav/3efaqo+ETdg== + dependencies: + "@abp/jquery" "~9.2.1" + datatables.net "^2.1.8" + +"@abp/font-awesome@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.1.tgz#a387f1cf457bdb6e3cd30bd9f4c455a41f8ca0b1" + integrity sha512-RVo3422BItdAAmafSCH/mT1Ux8q6yUz7nswGep4beP1k1VfmFExj1mgVphIpAlH3DWyzfnwUOq7lLWf/Ul2dOA== + dependencies: + "@abp/core" "~9.2.1" + "@fortawesome/fontawesome-free" "^6.6.0" + +"@abp/jquery-form@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.1.tgz#727b391c36e8ff46b62cb01be14715a05fe74b4f" + integrity sha512-n6EpUNNRzilOzP5rYTWr9K2mPQbvBQAuxPiwUZpfwf+QpJrs+NppJMaC06HFbHcSkDDy/utd+P1/sqWaJjL/tw== + dependencies: + "@abp/jquery" "~9.2.1" + jquery-form "^4.3.0" + +"@abp/jquery-validation-unobtrusive@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.1.tgz#98215811818e618d96a1dcac6419962fd39c6fef" + integrity sha512-7no3KxRW3agw4EAM5iTvQjE4+m9JrjuMAV20gAU0uVPB2+sHlluEAks0IU9wz76T+Ac7osferUZz33LgdDvIaw== + dependencies: + "@abp/jquery-validation" "~9.2.1" + jquery-validation-unobtrusive "^4.0.0" + +"@abp/jquery-validation@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.1.tgz#559c581523e4e098f2bf67627dfe6c7ef0e1c3c1" + integrity sha512-AEGm3agbwr1f5kmXvpBeiDmsS22P88zVr8NJDICGsgBxZofKndXsDFciNZGu6lXF5qXp8AwGRi//QPaCeQsP8g== + dependencies: + "@abp/jquery" "~9.2.1" + jquery-validation "^1.21.0" + +"@abp/jquery@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.1.tgz#bbcc9eab9cef528a8163f5062665ffcf2b87c2f0" + integrity sha512-gdDIKMNEpeUdzUu5C/g6j568ytJ7ifaDxBr1NYf2kJ34p7y6rrBmyY+sL+xR3ZlcGgyPGXyFhTLRD7qTjXlkPg== + dependencies: + "@abp/core" "~9.2.1" + jquery "~3.7.1" + +"@abp/lodash@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.1.tgz#a80ab7a908a0332b721277b1193209187fab57d8" + integrity sha512-I2+XYqwMi3+FXCv4xp5hBoJmOszg2WR1gnGc+Qd0zwb2VAbG4MvKVFgM/GUAFD8EKlquGyPf3f+4l5FkaPFkrQ== + dependencies: + "@abp/core" "~9.2.1" + lodash "^4.17.21" + +"@abp/luxon@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.1.tgz#7e3d197425813cfc6932cd3f9f09f97ecd2f4fc7" + integrity sha512-2tyOZRmq9jQN0Uhg8WaHfEzL0Xeew04sbA8O9bqw28psRbXaWXEVdElRMBNt50sZkFPhHFoxxFN7PR8obs0Qug== + dependencies: + "@abp/core" "~9.2.1" + luxon "^3.5.0" + +"@abp/malihu-custom-scrollbar-plugin@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.1.tgz#b0fa249885d442ba84657c7705df73851cb56db1" + integrity sha512-fzgQZsbN0xLMxEWh7znKAI4j0CPb8ciT/3x+QguGZDJf7OFw0YnEWctfEYJnnGG28HpHs1mh64gjqoeceHy0HQ== + dependencies: + "@abp/core" "~9.2.1" + malihu-custom-scrollbar-plugin "^3.1.5" + +"@abp/moment@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.1.tgz#9982c65d63171962091b08fc4e0d1ea98cc1f0eb" + integrity sha512-V4KH1WmahP0BoaQGLEY4a0AQyfk1cLeNMk3qCPtuqIUbOFwimJY3oQgpelilEwjI3oD/upMzGphjLGrfQLRM2A== + dependencies: + moment "^2.30.1" + +"@abp/select2@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.1.tgz#5c3c6a4b0018b533491d6a46540069782559c57a" + integrity sha512-p743cnoohNLKX11ptnBcN5z9+ZyC11M9mwRR6SWbW5f1Eqvbkq03bf2mDFUfukCNis4RefeURZunPlsBOmRn/A== + dependencies: + "@abp/core" "~9.2.1" + select2 "^4.0.13" + +"@abp/sweetalert2@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.1.tgz#3db7e33855614460d2fdc5e3f8b65530902fcd9a" + integrity sha512-fJYLVxc5pAJoSLIcQYf5xRkPVnVQi/5+xwTgOePy3QeygOrAMpGS7vy+MIq7Mn+tBoEFlQ/Jn+NoB04AIYYPFw== + dependencies: + "@abp/core" "~9.2.1" + sweetalert2 "^11.14.1" + +"@abp/timeago@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.1.tgz#6904e2d7bda57b436e3385c5fd1899b9cd806dd8" + integrity sha512-fmsPuBouWR/BvhXN53yJpg1Se06uIL7ox8XOgx1MHCe+1vxbXnFCtM2VujfowWtOSTJOzbL1DHcDpFE7JlkOag== + dependencies: + "@abp/jquery" "~9.2.1" + timeago "^1.6.7" + +"@abp/utils@~9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.1.tgz#803fd48927ae332309f8a7005806c6aa6e499750" + integrity sha512-+j0SNB/K2j2xTTijy/qCL3ds2c/7OW4nrJ8Ccq17WtEqP+jk2TtJi0EnLqhNTDih0A++XV+pcftUC+cQ0h1cUw== + dependencies: + just-compare "^2.3.0" + +"@fortawesome/fontawesome-free@^6.6.0": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz#8249de9b7e22fcb3ceb5e66090c30a1d5492b81a" + integrity sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA== + +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +bootstrap-datepicker@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/bootstrap-datepicker/-/bootstrap-datepicker-1.10.0.tgz#61612bbe8bf0a69a5bce32bbcdda93ebb6ccf24a" + integrity sha512-lWxtSYddAQOpbAO8UhYhHLcK6425eWoSjb5JDvZU3ePHEPF6A3eUr51WKaFy4PccU19JRxUG6wEU3KdhtKfvpg== + dependencies: + jquery ">=3.4.0 <4.0.0" + +bootstrap-daterangepicker@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bootstrap-daterangepicker/-/bootstrap-daterangepicker-3.1.0.tgz#632e6fb2de4b6360c5c0a9d5f6adb9aace051fe8" + integrity sha512-oaQZx6ZBDo/dZNyXGVi2rx5GmFXThyQLAxdtIqjtLlYVaQUfQALl5JZMJJZzyDIX7blfy4ppZPAJ10g8Ma4d/g== + dependencies: + jquery ">=1.10" + moment "^2.9.0" + +bootstrap@^5.3.3: + version "5.3.7" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.7.tgz#8640065036124d961d885d80b5945745e1154d90" + integrity sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw== + +datatables.net-bs5@^2.1.8: + version "2.3.2" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.3.2.tgz#cffb8007a9f752a997bc70c0dbe9f545edfd18eb" + integrity sha512-1rh0ZTLoiziIQ4oAtgr+IOYVgJfAIceDnbDe535u8kv191pBAdTrKF6ovQO98Xy9mDXLdLNB7QCrLiV/sgPoQw== + dependencies: + datatables.net "2.3.2" + jquery ">=1.7" + +datatables.net@2.3.2, datatables.net@^2.1.8: + version "2.3.2" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.3.2.tgz#6821f6288e6ad3cb6879c33e0e7e11d4091d330b" + integrity sha512-31TzwIQM0+pr2ZOEOEH6dsHd/WSAl5GDDGPezOHPI3mM2NK4lcDyOoG8xXeWmSbVfbi852LNK5C84fpp4Q+qxg== + dependencies: + jquery ">=1.7" + +jquery-form@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jquery-form/-/jquery-form-4.3.0.tgz#7d3961c314a1f2d15298f4af1d3943f54f4149c6" + integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ== + dependencies: + jquery ">=1.7.2" + +jquery-mousewheel@>=3.0.6: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.2.2.tgz#48c833f6260ee0c46d438a999e7d0060ec9eed0b" + integrity sha512-JP71xTAg08ZY3hcs9ZbYUZ5i+dkSsz4yRl/zpWkAmtzc+kMs5EfPkpkINSidiLYMaR0MTo3DfFGF9WIezMsFQQ== + dependencies: + jquery ">=1.2.6" + +jquery-validation-unobtrusive@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.0.0.tgz#dfcf25a558496a2c883db6021d10f5398d15f99d" + integrity sha512-1ervYFFv6LX/rp7ktuLnMakHNG0piNRDyROI8Ir3hL1vPIwylAehB1AY3BPrYJnzW3WmwWryZq+Bz4sazZK9iQ== + dependencies: + jquery "^3.6.0" + jquery-validation ">=1.19" + +jquery-validation@>=1.19, jquery-validation@^1.21.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.21.0.tgz#78fc05ab76020912a246af3661b3f54a438bca93" + integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w== + +jquery@>=1.10, jquery@>=1.2.6, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" + integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== + +just-compare@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/just-compare/-/just-compare-2.3.0.tgz#a2adcc1d1940536263275f5a1ef1298bcacfeda7" + integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +luxon@^3.5.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.6.1.tgz#d283ffc4c0076cb0db7885ec6da1c49ba97e47b0" + integrity sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ== + +malihu-custom-scrollbar-plugin@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.5.tgz#310cecc5e59415a1c29e9dfb5d2b6e01d66a29ef" + integrity sha512-lwW3LgI+CNDMPnP4ED2la6oYxWMkCXlnhex+s2wuOLhFDFGnGmQuTQVdRK9bvDLpxs10sGlfErVufJy9ztfgJQ== + dependencies: + jquery-mousewheel ">=3.0.6" + +moment@^2.30.1, moment@^2.9.0: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +select2@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/select2/-/select2-4.0.13.tgz#0dbe377df3f96167c4c1626033e924372d8ef44d" + integrity sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw== + +sweetalert2@^11.14.1: + version "11.22.2" + resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.22.2.tgz#d4d82a2edd4e97024306fe37f1bc64fa576e9bc9" + integrity sha512-GFQGzw8ZXF23PO79WMAYXLl4zYmLiaKqYJwcp5eBF07wiI5BYPbZtKi2pcvVmfUQK+FqL1risJAMxugcPbGIyg== + +timeago@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/timeago/-/timeago-1.6.7.tgz#afd467c29a911e697fc22a81888c7c3022783cb5" + integrity sha512-FikcjN98+ij0siKH4VO4dZ358PR3oDDq4Vdl1+sN9gWz1/+JXGr3uZbUShYH/hL7bMhcTpPbplJU5Tej4b4jbQ== + dependencies: + jquery ">=1.5.0 <4.0" diff --git a/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.abppkg b/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.abppkg new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.abppkg @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj b/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj new file mode 100644 index 0000000..f02d482 --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/BookStore.DbMigrator.csproj @@ -0,0 +1,46 @@ + + + + + + Exe + net9.0 + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + Always + + + + PreserveNewest + Always + + + + diff --git a/samples/WebApp/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs b/samples/WebApp/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs new file mode 100644 index 0000000..05a84e5 --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs @@ -0,0 +1,14 @@ +using BookStore.MongoDB; +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; + +namespace BookStore.DbMigrator; + +[DependsOn( + typeof(AbpAutofacModule), + typeof(BookStoreMongoDbModule), + typeof(BookStoreApplicationContractsModule) +)] +public class BookStoreDbMigratorModule : AbpModule +{ +} diff --git a/samples/BookStore/src/BookStore.DbMigrator/DbMigratorHostedService.cs b/samples/WebApp/src/BookStore.DbMigrator/DbMigratorHostedService.cs similarity index 100% rename from samples/BookStore/src/BookStore.DbMigrator/DbMigratorHostedService.cs rename to samples/WebApp/src/BookStore.DbMigrator/DbMigratorHostedService.cs diff --git a/samples/WebApp/src/BookStore.DbMigrator/Dockerfile b/samples/WebApp/src/BookStore.DbMigrator/Dockerfile new file mode 100644 index 0000000..f4c5d31 --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/Dockerfile @@ -0,0 +1,5 @@ +FROM mcr.microsoft.com/dotnet/aspnet:9.0 +COPY bin/Release/net9.0/publish/ app/ +WORKDIR /app +ENV ASPNETCORE_URLS=http://+:80 +ENTRYPOINT ["dotnet", "BookStore.DbMigrator.dll"] \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.DbMigrator/Dockerfile.local b/samples/WebApp/src/BookStore.DbMigrator/Dockerfile.local new file mode 100644 index 0000000..82052b7 --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/Dockerfile.local @@ -0,0 +1,6 @@ + FROM mcr.microsoft.com/dotnet/aspnet:9.0 + USER $APP_UID + + COPY bin/Release/net9.0/publish/ app/ + WORKDIR /app + ENTRYPOINT ["dotnet", "BookStore.DbMigrator.dll"] \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.DbMigrator/Program.cs b/samples/WebApp/src/BookStore.DbMigrator/Program.cs similarity index 93% rename from samples/BookStore/src/BookStore.DbMigrator/Program.cs rename to samples/WebApp/src/BookStore.DbMigrator/Program.cs index 82f1513..7fa2ec0 100644 --- a/samples/BookStore/src/BookStore.DbMigrator/Program.cs +++ b/samples/WebApp/src/BookStore.DbMigrator/Program.cs @@ -1,6 +1,4 @@ -using System.IO; -using System.Threading.Tasks; -using Microsoft.Extensions.Configuration; +using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; diff --git a/samples/WebApp/src/BookStore.DbMigrator/appsettings.json b/samples/WebApp/src/BookStore.DbMigrator/appsettings.json new file mode 100644 index 0000000..493de39 --- /dev/null +++ b/samples/WebApp/src/BookStore.DbMigrator/appsettings.json @@ -0,0 +1,15 @@ +{ + "ConnectionStrings": { + "Default": "mongodb://localhost:27017/BookStore" + }, + "OpenIddict": { + "Applications": { + "BookStore_App": { + "ClientId": "BookStore_App" }, + "BookStore_Swagger": { + "ClientId": "BookStore_Swagger", + "RootUrl": "https://localhost:44320/" + } + } + } +} diff --git a/samples/BookStore/src/BookStore.HttpApi.Host/appsettings.Development.json b/samples/WebApp/src/BookStore.DbMigrator/appsettings.secrets.json similarity index 100% rename from samples/BookStore/src/BookStore.HttpApi.Host/appsettings.Development.json rename to samples/WebApp/src/BookStore.DbMigrator/appsettings.secrets.json diff --git a/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg new file mode 100644 index 0000000..8b3de05 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.domain-shared" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg.analyze.json b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg.analyze.json new file mode 100644 index 0000000..c9c6442 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.abppkg.analyze.json @@ -0,0 +1,118 @@ +{ + "name": "BookStore.Domain.Shared", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.Domain.Shared", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BackgroundJobs.Domain.Shared", + "namespace": "Volo.Abp.BackgroundJobs", + "name": "AbpBackgroundJobsDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.Domain.Shared", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.Domain.Shared", + "namespace": "Volo.Abp.PermissionManagement", + "name": "AbpPermissionManagementDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.Domain.Shared", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.Domain.Shared", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityProDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.Domain.Shared", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.Domain.Shared", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.Domain.Shared", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.Domain.Shared", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.GlobalFeatures", + "namespace": "Volo.Abp.GlobalFeatures", + "name": "AbpGlobalFeaturesModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BlobStoring.Database.Domain.Shared", + "namespace": "Volo.Abp.BlobStoring.Database", + "name": "BlobStoringDatabaseDomainSharedModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreDomainSharedModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj similarity index 77% rename from samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj rename to samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj index d0d6a5a..9a95879 100644 --- a/samples/BookStore/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStore.Domain.Shared.csproj @@ -1,31 +1,37 @@ - + net9.0 + enable BookStore true - - - + + - - + + + + + + + + diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs rename to samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs diff --git a/samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs new file mode 100644 index 0000000..051cf45 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreDomainSharedModule.cs @@ -0,0 +1,82 @@ +using BookStore.Localization; +using Volo.Abp.AuditLogging; +using Volo.Abp.BackgroundJobs; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.Localization; +using Volo.Abp.Localization.ExceptionHandling; +using Volo.Abp.Validation.Localization; +using Volo.Abp.Modularity; +using Volo.Abp.PermissionManagement; +using Volo.Abp.SettingManagement; +using Volo.Abp.VirtualFileSystem; +using Volo.Abp.OpenIddict; +using Volo.Abp.BlobStoring.Database; +using Volo.Abp.TenantManagement; + +namespace BookStore; + +[DependsOn( + typeof(AbpAuditLoggingDomainSharedModule), + typeof(AbpBackgroundJobsDomainSharedModule), + typeof(AbpFeatureManagementDomainSharedModule), + typeof(AbpPermissionManagementDomainSharedModule), + typeof(AbpSettingManagementDomainSharedModule), + typeof(AbpIdentityDomainSharedModule), + typeof(AbpOpenIddictDomainSharedModule), + typeof(AbpTenantManagementDomainSharedModule), + typeof(BlobStoringDatabaseDomainSharedModule) + )] +public class BookStoreDomainSharedModule : AbpModule +{ + public override void PreConfigureServices(ServiceConfigurationContext context) + { + BookStoreGlobalFeatureConfigurator.Configure(); + BookStoreModuleExtensionConfigurator.Configure(); + } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.FileSets.AddEmbedded(); + }); + + Configure(options => + { + options.Resources + .Add("en") + .AddBaseTypes(typeof(AbpValidationResource)) + .AddVirtualJson("/Localization/BookStore"); + + options.DefaultResourceType = typeof(BookStoreResource); + + options.Languages.Add(new LanguageInfo("en", "en", "English")); + options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (United Kingdom)")); + options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); + options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("ar", "ar", "العربية")); + options.Languages.Add(new LanguageInfo("hi", "hi", "हिन्दी")); + options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português (Brasil)")); + options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); + options.Languages.Add(new LanguageInfo("ru", "ru", "Русский")); + options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch (Deuthschland)")); + options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); + options.Languages.Add(new LanguageInfo("it", "it", "Italiano")); + options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); + options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); + options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română (România)")); + options.Languages.Add(new LanguageInfo("sv", "sv", "Svenska")); + options.Languages.Add(new LanguageInfo("fi", "fi", "Suomi")); + options.Languages.Add(new LanguageInfo("sk", "sk", "Slovenčina")); + options.Languages.Add(new LanguageInfo("is", "is", "Íslenska")); + options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中z文")); + + }); + + Configure(options => + { + options.MapCodeNamespace("BookStore", typeof(BookStoreResource)); + }); + } +} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs similarity index 61% rename from samples/BookStore/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs rename to samples/WebApp/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs index 8acba6e..167a72f 100644 --- a/samples/BookStore/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Threading; +using Volo.Abp.GlobalFeatures; +using Volo.Abp.Threading; namespace BookStore; @@ -11,12 +12,9 @@ public static class BookStoreGlobalFeatureConfigurator OneTimeRunner.Run(() => { /* You can configure (enable/disable) global features of the used modules here. - * - * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! - * - * Please refer to the documentation to lear more about the Global Features System: + * Please refer to the documentation to learn more about the Global Features System: * https://docs.abp.io/en/abp/latest/Global-Features */ - }); + }); } } diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppModuleExtensionConfigurator.cs b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs similarity index 90% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppModuleExtensionConfigurator.cs rename to samples/WebApp/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs index 9f70c8b..f5f40bc 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppModuleExtensionConfigurator.cs +++ b/samples/WebApp/src/BookStore.Domain.Shared/BookStoreModuleExtensionConfigurator.cs @@ -3,9 +3,9 @@ using Volo.Abp.Identity; using Volo.Abp.ObjectExtending; using Volo.Abp.Threading; -namespace BookStoreWebApp; +namespace BookStore; -public static class BookStoreWebAppModuleExtensionConfigurator +public static class BookStoreModuleExtensionConfigurator { private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); @@ -57,8 +57,6 @@ public static class BookStoreWebAppModuleExtensionConfigurator //validation rules property.Attributes.Add(new RequiredAttribute()); property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4}); - - property.Configuration[IdentityModuleExtensionConsts.ConfigurationNames.AllowUserToEdit] = true; //...other configurations for this property } diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ar.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ar.json new file mode 100644 index 0000000..dfb6c89 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ar.json @@ -0,0 +1,42 @@ +{ + "culture": "ar", + "texts": { + "AppName": "BookStore", + "Menu:Home": "منزل، بيت", + "Menu:ContactUs": "اتصل بنا", + "Menu:ArticleSample": "عينة المادة", + "Home": "منزل، بيت", + "Welcome": "مرحبا", + "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء التشغيل يعتمد على إطار عمل برنامج ABP. لمزيد من المعلومات قم بزيارة", + "Date": "تاريخ", + "Permission:Dashboard": "لوحة القيادة", + "Menu:Dashboard": "لوحة القيادة", + "Menu:HomePage": "الصفحة الرئيسية", + "Dashboard": "لوحة القيادة", + "ExternalProvider:Google": "جوجل", + "ExternalProvider:Google:ClientId": "معرف العميل", + "ExternalProvider:Google:ClientSecret": "سر العميل", + "ExternalProvider:Microsoft": "مايكروسوفت", + "ExternalProvider:Microsoft:ClientId": "معرف العميل", + "ExternalProvider:Microsoft:ClientSecret": "سر العميل", + "ExternalProvider:Twitter": "تويتر", + "ExternalProvider:Twitter:ConsumerKey": "مفتاح المستهلك", + "ExternalProvider:Twitter:ConsumerSecret": "سر المستهلك", + "NewsletterHeader": "اشترك في النشرة الإخبارية!", + "NewsletterInfo": "احصل على معلومات حول آخر الأحداث.", + "NewsletterPreference_Default": "النشرة الإخبارية الافتراضية", + "NewsletterPrivacyAcceptMessage": "أوافق على سياسة الخصوصية .", + "Language": "لغة", + "Search": "يبحث", + "LoadMore": "تحميل المزيد", + "Settings": "إعدادات", + "Theme": "سمة", + "DeviceTheme": "موضوع الجهاز", + "Dark": "مظلم", + "Light": "ضوء", + "Unspecified": "نظام", + "SeeAllUsers": "رؤية كافة المستخدمين", + "TakePhoto": "تصوير", + "ChoosePhoto": "اختر صورة" + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en-GB.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/cs.json similarity index 62% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en-GB.json rename to samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/cs.json index d2ca079..96d3df1 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en-GB.json +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/cs.json @@ -1,8 +1,9 @@ { - "culture": "en-GB", - "texts": { + "Culture": "cs", + "Texts": { + "AppName": "BookStore", "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" } -} \ No newline at end of file +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json new file mode 100644 index 0000000..91727da --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json @@ -0,0 +1,42 @@ +{ + "culture": "de-DE", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Home", + "Menu:ContactUs": "Kontaktiere uns", + "Menu:ArticleSample": "Artikelmuster", + "Home": "Home", + "Welcome": "Willkommen", + "LongWelcomeMessage": "Willkommen in der Anwendung. Dies ist ein Startup-Projekt basierend auf dem ABP-Framework. Weitere Informationen finden Sie unter", + "Date": "Datum", + "Permission:Dashboard": "Dashboard", + "Menu:Dashboard": "Dashboard", + "Menu:HomePage": "Startseite", + "Dashboard": "Dashboard", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Kunden ID", + "ExternalProvider:Google:ClientSecret": "Client-Geheimnis", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Kunden ID", + "ExternalProvider:Microsoft:ClientSecret": "Client-Geheimnis", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Verbraucherschlüssel", + "ExternalProvider:Twitter:ConsumerSecret": "Verbrauchergeheimnis", + "NewsletterHeader": "Abonnieren Sie den Newsletter!", + "NewsletterInfo": "Informieren Sie sich über aktuelle Ereignisse.", + "NewsletterPreference_Default": "Standard-Newsletter", + "NewsletterPrivacyAcceptMessage": "Ich akzeptiere die Datenschutzerklärung.", + "Language": "Sprache", + "Search": "Suchen", + "LoadMore": "Mehr laden", + "Settings": "Einstellungen", + "Theme": "Thema", + "DeviceTheme": "Gerätethema", + "Dark": "Dunkel", + "Light": "Licht", + "Unspecified": "System", + "SeeAllUsers": "Alle Benutzer anzeigen", + "TakePhoto": "Foto machen", + "ChoosePhoto": "Wähle ein Foto aus" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json new file mode 100644 index 0000000..9ce52ca --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json @@ -0,0 +1,9 @@ +{ + "Culture": "en-GB", + "Texts": { + "AppName": "BookStore", + "Menu:Home": "Home", + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en.json similarity index 62% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en.json rename to samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en.json index d2a6a98..90874f6 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en.json +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/en.json @@ -1,8 +1,9 @@ { - "culture": "en", - "texts": { + "Culture": "en", + "Texts": { + "AppName": "BookStore", "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" } } diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/es.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/es.json new file mode 100644 index 0000000..43f20ea --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/es.json @@ -0,0 +1,42 @@ +{ + "culture": "es", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Hogar", + "Menu:ContactUs": "Contáctenos", + "Menu:ArticleSample": "Muestra de artículo", + "Home": "Hogar", + "Welcome": "Bienvenido", + "LongWelcomeMessage": "Bienvenido a la aplicacion. Este es un proyecto de inicio basado en el marco ABP. Para obtener mas informacion, visite", + "Date": "Fecha", + "Permission:Dashboard": "Panel de control", + "Menu:Dashboard": "Panel de control", + "Menu:HomePage": "Página de inicio", + "Dashboard": "Panel de control", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "ID de cliente", + "ExternalProvider:Google:ClientSecret": "Client Secret", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "ID de cliente", + "ExternalProvider:Microsoft:ClientSecret": "Client Secret", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Clave de consumidor", + "ExternalProvider:Twitter:ConsumerSecret": "Consumer Secret", + "NewsletterHeader": "Suscríbete a la newsletter!", + "NewsletterInfo": "Obtenga información sobre los últimos acontecimientos.", + "NewsletterPreference_Default": "Boletín de noticias predeterminado", + "NewsletterPrivacyAcceptMessage": "Acepto la Política de privacidad .", + "Language": "Idioma", + "Search": "Buscar", + "LoadMore": "Carga más", + "Settings": "Ajustes", + "Theme": "Tema", + "DeviceTheme": "Tema del dispositivo", + "Dark": "Oscuro", + "Light": "Luz", + "Unspecified": "Sistema", + "SeeAllUsers": "Ver todos los usuarios", + "TakePhoto": "Tomar foto", + "ChoosePhoto": "Escoge una foto" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fi.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fi.json new file mode 100644 index 0000000..306a774 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fi.json @@ -0,0 +1,42 @@ +{ + "culture": "fi", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Koti", + "Menu:ContactUs": "Ota meihin yhteyttä", + "Menu:ArticleSample": "Artikkelinäyte", + "Home": "Koti", + "Welcome": "Tervetuloa", + "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa", + "Date": "Päivämäärä", + "Permission:Dashboard": "Kojelauta", + "Menu:Dashboard": "Kojelauta", + "Menu:HomePage": "Kotisivu", + "Dashboard": "Kojelauta", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Asiakastunnus", + "ExternalProvider:Google:ClientSecret": "Asiakkaan salaisuus", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Asiakastunnus", + "ExternalProvider:Microsoft:ClientSecret": "Asiakkaan salaisuus", + "ExternalProvider:Twitter": "Viserrys", + "ExternalProvider:Twitter:ConsumerKey": "Kuluttaja-avain", + "ExternalProvider:Twitter:ConsumerSecret": "Kuluttajan salaisuus", + "NewsletterHeader": "Tilaa uutiskirje!", + "NewsletterInfo": "Hanki tietoa viimeisimmistä tapahtumista.", + "NewsletterPreference_Default": "Oletusuutiskirje", + "NewsletterPrivacyAcceptMessage": "Hyväksyn tietosuojakäytännön .", + "Language": "Kieli", + "Search": "Hae", + "LoadMore": "Lataa lisää", + "Settings": "asetukset", + "Theme": "Teema", + "DeviceTheme": "Laitteen teema", + "Dark": "Tumma", + "Light": "Kevyt", + "Unspecified": "Järjestelmä", + "SeeAllUsers": "Katso Kaikki käyttäjät", + "TakePhoto": "Ota valokuva", + "ChoosePhoto": "Valitse Valokuva" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fr.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fr.json new file mode 100644 index 0000000..e498f7e --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/fr.json @@ -0,0 +1,42 @@ +{ + "culture": "fr", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Acceuil", + "Menu:ContactUs": "Nous contacter", + "Menu:ArticleSample": "Échantillon d'article", + "Home": "Acceuil", + "Welcome": "Bienvenue", + "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez", + "Date": "Date", + "Permission:Dashboard": "Tableau de bord", + "Menu:Dashboard": "Tableau de bord", + "Menu:HomePage": "Page d'accueil", + "Dashboard": "Tableau de bord", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "identité du client", + "ExternalProvider:Google:ClientSecret": "Secret du client", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "identité du client", + "ExternalProvider:Microsoft:ClientSecret": "Secret du client", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "La clé du consommateur", + "ExternalProvider:Twitter:ConsumerSecret": "Secret du consommateur", + "NewsletterHeader": "Abonnez-vous à la newsletter!", + "NewsletterInfo": "Obtenez des informations sur les derniers événements.", + "NewsletterPreference_Default": "Newsletter par défaut", + "NewsletterPrivacyAcceptMessage": "J'accepte la Politique de confidentialité .", + "Language": "Langue", + "Search": "Recherche", + "LoadMore": "Charger plus", + "Settings": "Paramètres", + "Theme": "Thème", + "DeviceTheme": "Thème de l'appareil", + "Dark": "Sombre", + "Light": "Lumière", + "Unspecified": "Système", + "SeeAllUsers": "Voir tous les utilisateurs", + "TakePhoto": "Prendre une photo", + "ChoosePhoto": "Choisissez une photo" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hi.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hi.json new file mode 100644 index 0000000..c98acd5 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hi.json @@ -0,0 +1,42 @@ +{ + "culture": "hi", + "texts": { + "AppName": "BookStore", + "Menu:Home": "घर", + "Menu:ContactUs": "संपर्क करें", + "Menu:ArticleSample": "आलेख नमूना", + "Home": "घर", + "Welcome": "स्वागत हे", + "LongWelcomeMessage": "आवेदन करने के लिए आपका स्वागत है। यह एबीपी ढांचे पर आधारित एक स्टार्टअप परियोजना है। अधिक जानकारी के लिए पर जाएँ।", + "Date": "दिनांक", + "Permission:Dashboard": "डैशबोर्ड", + "Menu:Dashboard": "डैशबोर्ड", + "Menu:HomePage": "मुख पृष्ठ", + "Dashboard": "डैशबोर्ड", + "ExternalProvider:Google": "गूगल", + "ExternalProvider:Google:ClientId": "ग्राहक ID", + "ExternalProvider:Google:ClientSecret": "ग्राहक गुप्त", + "ExternalProvider:Microsoft": "माइक्रोसॉफ्ट", + "ExternalProvider:Microsoft:ClientId": "ग्राहक ID", + "ExternalProvider:Microsoft:ClientSecret": "ग्राहक गुप्त", + "ExternalProvider:Twitter": "ट्विटर", + "ExternalProvider:Twitter:ConsumerKey": "उपभोक्ता कुंजी", + "ExternalProvider:Twitter:ConsumerSecret": "उपभोक्ता रहस्य", + "NewsletterHeader": "न्यूज़लेटर की सदस्यता लें!", + "NewsletterInfo": "नवीनतम घटनाओं के बारे में जानकारी प्राप्त करें।", + "NewsletterPreference_Default": "डिफ़ॉल्ट न्यूज़लैटर", + "NewsletterPrivacyAcceptMessage": "मैं गोपनीयता नीति स्वीकार करता हूं।", + "Language": "भाषा", + "Search": "खोज", + "LoadMore": "और लोड करें", + "Settings": "समायोजन", + "Theme": "विषय", + "DeviceTheme": "डिवाइस थीम", + "Dark": "अँधेरा", + "Light": "रोशनी", + "Unspecified": "प्रणाली", + "SeeAllUsers": "सभी उपयोगकर्ता देखें", + "TakePhoto": "फोटो लो", + "ChoosePhoto": "तस्विर का चयन करो" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hu.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hu.json new file mode 100644 index 0000000..0e38e37 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/hu.json @@ -0,0 +1,42 @@ +{ + "culture": "hu", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Kezdőlap", + "Menu:ContactUs": "Lépjen kapcsolatba velünk", + "Menu:ArticleSample": "Cikkminta", + "Home": "Kezdőlap", + "Welcome": "Üdvözöljük", + "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információért látogasson el az oldalra", + "Date": "dátum", + "Permission:Dashboard": "Irányítópult", + "Menu:Dashboard": "Irányítópult", + "Menu:HomePage": "Kezdőlap", + "Dashboard": "Irányítópult", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Ügyfélazonosító", + "ExternalProvider:Google:ClientSecret": "Ügyfél titkos kulcs", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Ügyfélazonosító", + "ExternalProvider:Microsoft:ClientSecret": "Ügyfél titkos kulcs", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Fogyasztói kulcs", + "ExternalProvider:Twitter:ConsumerSecret": "Fogyasztói titkos kulcs", + "NewsletterHeader": "Iratkozz fel a hírlevélre!", + "NewsletterInfo": "Tájékozódjon a legfrissebb eseményekről.", + "NewsletterPreference_Default": "Alapértelmezett hírlevél", + "NewsletterPrivacyAcceptMessage": "Elfogadom az Adatvédelmi szabályzatot .", + "Language": "Nyelv", + "Search": "Keresés", + "LoadMore": "Load More", + "Settings": "Beállítások", + "Theme": "Téma", + "DeviceTheme": "Eszköz téma", + "Dark": "Sötét", + "Light": "Fény", + "Unspecified": "Rendszer", + "SeeAllUsers": "Lásd: Összes felhasználó", + "TakePhoto": "Fotót készíteni", + "ChoosePhoto": "Válassz képet" + } +} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/is.json similarity index 62% rename from samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json rename to samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/is.json index d2ca079..1ed7e68 100644 --- a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/is.json @@ -1,8 +1,9 @@ { - "culture": "en-GB", - "texts": { + "Culture": "is", + "Texts": { + "AppName": "BookStore", "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" } -} \ No newline at end of file +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/it.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/it.json new file mode 100644 index 0000000..42806bc --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/it.json @@ -0,0 +1,42 @@ +{ + "culture": "it", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Home", + "Menu:ContactUs": "Contattaci", + "Menu:ArticleSample": "Esempio di articolo", + "Home": "Home", + "Welcome": "Benvenuto", + "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per maggiori informazioni visita", + "Date": "Data", + "Permission:Dashboard": "Cruscotto", + "Menu:Dashboard": "Cruscotto", + "Menu:HomePage": "Pagina iniziale", + "Dashboard": "Cruscotto", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Client ID", + "ExternalProvider:Google:ClientSecret": "Client Secret", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Client ID", + "ExternalProvider:Microsoft:ClientSecret": "Client Secret", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Consumer Key", + "ExternalProvider:Twitter:ConsumerSecret": "Consumer Secret", + "NewsletterHeader": "Iscriviti alla newsletter!", + "NewsletterInfo": "Ottieni informazioni sugli ultimi avvenimenti.", + "NewsletterPreference_Default": "Newsletter predefinita", + "NewsletterPrivacyAcceptMessage": "Accetto la Informativa sulla privacy.", + "Language": "Lingua", + "Search": "Ricerca", + "LoadMore": "Carica altro", + "Settings": "Impostazioni", + "Theme": "Tema", + "DeviceTheme": "Tema del dispositivo", + "Dark": "Buio", + "Light": "Leggero", + "Unspecified": "Sistema", + "SeeAllUsers": "Visualizza tutti gli utenti", + "TakePhoto": "Fare foto", + "ChoosePhoto": "Scegli la foto" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json new file mode 100644 index 0000000..4d3ae19 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json @@ -0,0 +1,42 @@ +{ + "culture": "pt-BR", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Principal", + "Menu:ContactUs": "Entre em contato conosco", + "Menu:ArticleSample": "Amostra de Artigo", + "Home": "Casa", + "Welcome": "Seja bem-vindo!", + "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite", + "Date": "Data", + "Permission:Dashboard": "Painel", + "Menu:Dashboard": "Painel", + "Menu:HomePage": "Pagina inicial", + "Dashboard": "Painel", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "ID do Cliente", + "ExternalProvider:Google:ClientSecret": "Segredo do cliente", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "ID do Cliente", + "ExternalProvider:Microsoft:ClientSecret": "Segredo do cliente", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Chave do consumidor", + "ExternalProvider:Twitter:ConsumerSecret": "consumidor secreto", + "NewsletterHeader": "Assine a newsletter!", + "NewsletterInfo": "Obtenha informações sobre os últimos acontecimentos.", + "NewsletterPreference_Default": "Boletim informativo padrão", + "NewsletterPrivacyAcceptMessage": "Eu aceito a Política de Privacidade .", + "Language": "Linguagem", + "Search": "Procurar", + "LoadMore": "Carregue mais", + "Settings": "Configurações", + "Theme": "Tema", + "DeviceTheme": "Tema do dispositivo", + "Dark": "Escuro", + "Light": "Luz", + "Unspecified": "Sistema", + "SeeAllUsers": "Ver todos os usuários", + "TakePhoto": "Tirar fotos", + "ChoosePhoto": "Escolher Foto" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json new file mode 100644 index 0000000..19a18cb --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json @@ -0,0 +1,9 @@ +{ + "Culture": "ro-RO", + "Texts": { + "AppName": "BookStore", + "Menu:Home": "Home", + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ru.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ru.json new file mode 100644 index 0000000..b97912e --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/ru.json @@ -0,0 +1,42 @@ +{ + "culture": "ru", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Дома", + "Menu:ContactUs": "Связаться с нами", + "Menu:ArticleSample": "Образец статьи", + "Home": "Дома", + "Welcome": "Добро пожаловать", + "LongWelcomeMessage": "Добро пожаловать в приложение. Это стартап-проект, основанный на структуре ABP. Для получения дополнительной информации посетите сайт", + "Date": "датировать", + "Permission:Dashboard": "Панель приборов", + "Menu:Dashboard": "Панель приборов", + "Menu:HomePage": "Домашняя страница", + "Dashboard": "Панель приборов", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "ID клиента", + "ExternalProvider:Google:ClientSecret": "Секрет клиента", + "ExternalProvider:Microsoft": "Майкрософт", + "ExternalProvider:Microsoft:ClientId": "ID клиента", + "ExternalProvider:Microsoft:ClientSecret": "Секрет клиента", + "ExternalProvider:Twitter": "Твиттер", + "ExternalProvider:Twitter:ConsumerKey": "Потребительский ключ", + "ExternalProvider:Twitter:ConsumerSecret": "Потребительский секрет", + "NewsletterHeader": "Подпишитесь на рассылку!", + "NewsletterInfo": "Получайте информацию о последних событиях.", + "NewsletterPreference_Default": "Информационный бюллетень по умолчанию", + "NewsletterPrivacyAcceptMessage": "Я принимаю Политику конфиденциальности.", + "Language": "Язык", + "Search": "Поиск", + "LoadMore": "Загрузи больше", + "Settings": "Настройки", + "Theme": "Тема", + "DeviceTheme": "Тема устройства", + "Dark": "Темный", + "Light": "Свет", + "Unspecified": "Система", + "SeeAllUsers": "Просмотреть всех пользователей", + "TakePhoto": "Сделать фотографию", + "ChoosePhoto": "Выбрать фото" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sk.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sk.json new file mode 100644 index 0000000..cfa4247 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sk.json @@ -0,0 +1,42 @@ +{ + "culture": "sk", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Domov", + "Menu:ContactUs": "Kontaktujte nás", + "Menu:ArticleSample": "Ukážka článku", + "Home": "Domov", + "Welcome": "Vitajte", + "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovací projekt založený na ABP frameworku. Viac informácií nájdete na stránke", + "Date": "Dátum", + "Permission:Dashboard": "Dashboard", + "Menu:Dashboard": "Dashboard", + "Menu:HomePage": "Domovská stránka", + "Dashboard": "Dashboard", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Client ID", + "ExternalProvider:Google:ClientSecret": "Client Secret", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Client ID", + "ExternalProvider:Microsoft:ClientSecret": "Client Secret", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Consumer Key", + "ExternalProvider:Twitter:ConsumerSecret": "Consumer Secret", + "NewsletterHeader": "Prihláste sa na odber noviniek!", + "NewsletterInfo": "Získajte informácie o najnovšiom dianí.", + "NewsletterPreference_Default": "Predvolený odber noviniek", + "NewsletterPrivacyAcceptMessage": "Súhlasím so Zásadami ochrany osobných údajov.", + "Language": "Jazyk", + "Search": "Vyhľadávanie", + "LoadMore": "Načítať viac", + "Settings": "nastavenie", + "Theme": "Téma", + "DeviceTheme": "Téma zariadenia", + "Dark": "Tmavý", + "Light": "Svetlo", + "Unspecified": "Systém", + "SeeAllUsers": "Pozrite si Všetci používatelia", + "TakePhoto": "Odfoť", + "ChoosePhoto": "Vyberte fotografiu" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sv.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sv.json new file mode 100644 index 0000000..f5c6717 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/sv.json @@ -0,0 +1,42 @@ +{ + "Culture": "sv", + "Texts": { + "AppName": "BookStore", + "Menu:ContactUs": "Kontakta oss", + "Menu:ArticleSample": "Artikelexempel", + "Home": "Hem", + "Date": "Datum", + "Permission:Dashboard": "Dashboard", + "Menu:Dashboard": "Dashboard", + "Menu:HomePage": "Hemsida", + "Dashboard": "Dashboard", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Klient-ID", + "ExternalProvider:Google:ClientSecret": "Klienthemlighet", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Klient-ID", + "ExternalProvider:Microsoft:ClientSecret": "Klienthemlighet", + "ExternalProvider:Twitter": "Twitter (X)", + "ExternalProvider:Twitter:ConsumerKey": "Konsumentnyckel", + "ExternalProvider:Twitter:ConsumerSecret": "Konsumenthemlighet", + "NewsletterHeader": "Prenumerera på nyhetsbrevet!", + "NewsletterInfo": "Få information om de senaste händelserna.", + "NewsletterPreference_Default": "Standardnyhetsbrev", + "NewsletterPrivacyAcceptMessage": "Jag accepterar Sekretesspolicy.", + "Language": "Språk", + "Search": "Söka", + "LoadMore": "Ladda mer", + "Settings": "Inställningar", + "Theme": "Tema", + "DeviceTheme": "Enhetstema", + "Dark": "Mörk", + "Light": "Ljus", + "Unspecified": "System", + "SeeAllUsers": "Se Alla användare", + "TakePhoto": "Ta foto", + "ChoosePhoto": "Välj Foto", + "Menu:Home": "Hem", + "LongWelcomeMessage": "Välkommen till ansökan. ", + "Welcome": "Välkomna" + } + } \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/tr.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/tr.json new file mode 100644 index 0000000..fc1011c --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/tr.json @@ -0,0 +1,42 @@ +{ + "culture": "tr", + "texts": { + "AppName": "BookStore", + "Menu:Home": "Ana sayfa", + "Menu:ContactUs": "Bize Ulaşın", + "Menu:ArticleSample": "Yazı Örneği", + "Home": "Ana sayfa", + "Welcome": "Hoşgeldiniz", + "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için ziyaret edebilirsiniz", + "Date": "Tarih", + "Permission:Dashboard": "Genel görünüm", + "Menu:Dashboard": "Genel görünüm", + "Menu:HomePage": "ana sayfa", + "Dashboard": "Genel görünüm", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Client ID", + "ExternalProvider:Google:ClientSecret": "Client Secret", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Client ID", + "ExternalProvider:Microsoft:ClientSecret": "Client Secret", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Consumer Key", + "ExternalProvider:Twitter:ConsumerSecret": "Consumer Secret", + "NewsletterHeader": "Bültene abone olun!", + "NewsletterInfo": "Son gelişmeler hakkında bilgi alın.", + "NewsletterPreference_Default": "Varsayılan Bülten", + "NewsletterPrivacyAcceptMessage": "Gizlilik Politikası'nı kabul ediyorum.", + "Language": "Dil", + "Search": "Ara", + "LoadMore": "Daha fazla yükle", + "Settings": "Ayarlar", + "Theme": "Tema", + "DeviceTheme": "Cihaz Teması", + "Dark": "Koyu", + "Light": "Açık", + "Unspecified": "Sistem", + "SeeAllUsers": "Tüm Kullanıcıları Gör", + "TakePhoto": "Fotoğraf Çek", + "ChoosePhoto": "Fotoğraf Seç" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json new file mode 100644 index 0000000..fcdc1ee --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json @@ -0,0 +1,42 @@ +{ + "culture": "zh-Hans", + "texts": { + "AppName": "BookStore", + "Menu:Home": "首页", + "Menu:ContactUs": "联系我们", + "Menu:ArticleSample": "文章示例", + "Home": "首页", + "Welcome": "欢迎", + "LongWelcomeMessage": "欢迎使用本应用程序。这是一个基于 ABP 框架的启动项目。欲了解更多信息,请访问", + "Date": "日期", + "Permission:Dashboard": "仪表板", + "Menu:Dashboard": "仪表板", + "Menu:HomePage": "主页", + "Dashboard": "仪表板", + "ExternalProvider:Google": "Google", + "ExternalProvider:Google:ClientId": "Client Id", + "ExternalProvider:Google:ClientSecret": "Client Secret", + "ExternalProvider:Microsoft": "Microsoft", + "ExternalProvider:Microsoft:ClientId": "Client Id", + "ExternalProvider:Microsoft:ClientSecret": "Client Secret", + "ExternalProvider:Twitter": "Twitter", + "ExternalProvider:Twitter:ConsumerKey": "Consumer Key", + "ExternalProvider:Twitter:ConsumerSecret": "Consumer Secret", + "NewsletterHeader": "订阅时事通讯!", + "NewsletterInfo": "了解最新动态。", + "NewsletterPreference_Default": "默认通讯", + "NewsletterPrivacyAcceptMessage": "我接受隐私政策。", + "Language": "语言", + "Search": "搜索", + "LoadMore": "加载更多", + "Settings": "设置", + "Theme": "主题", + "DeviceTheme": "设备主题", + "Dark": "Dark", + "Light": "Light", + "Unspecified": "System", + "SeeAllUsers": "查看所有用户", + "TakePhoto": "拍摄照片", + "ChoosePhoto": "选择照片" + } +} diff --git a/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json new file mode 100644 index 0000000..a1818f0 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json @@ -0,0 +1,9 @@ +{ + "Culture": "zh-Hant", + "Texts": { + "AppName": "BookStore", + "Menu:Home": "Home", + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information visit", + "Welcome": "Welcome" + } +} diff --git a/samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs b/samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs rename to samples/WebApp/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs diff --git a/samples/BookStore/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/samples/WebApp/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs rename to samples/WebApp/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs diff --git a/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg new file mode 100644 index 0000000..1d574ef --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.domain" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg.analyze.json b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg.analyze.json new file mode 100644 index 0000000..444cfad --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.abppkg.analyze.json @@ -0,0 +1,138 @@ +{ + "name": "BookStore.Domain", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Domain.Shared", + "namespace": "BookStore", + "name": "BookStoreDomainSharedModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.Domain", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Caching", + "namespace": "Volo.Abp.Caching", + "name": "AbpCachingModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BackgroundJobs.Domain", + "namespace": "Volo.Abp.BackgroundJobs", + "name": "AbpBackgroundJobsDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.Domain", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.Domain.Identity", + "namespace": "Volo.Abp.PermissionManagement.Identity", + "name": "AbpPermissionManagementDomainIdentityModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.Domain.OpenIddict", + "namespace": "Volo.Abp.PermissionManagement.OpenIddict", + "name": "AbpPermissionManagementDomainOpenIddictModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.Domain", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Emailing", + "namespace": "Volo.Abp.Emailing", + "name": "AbpEmailingModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.Domain", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityProDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.Domain", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.Domain", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.Domain", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Commercial.SuiteTemplates", + "namespace": "Volo.Abp.Commercial.SuiteTemplates", + "name": "VoloAbpCommercialSuiteTemplatesModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.Domain", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BlobStoring.Database.Domain", + "namespace": "Volo.Abp.BlobStoring.Database", + "name": "BlobStoringDatabaseDomainModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreDomainModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.csproj similarity index 78% rename from samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj rename to samples/WebApp/src/BookStore.Domain/BookStore.Domain.csproj index c485695..cb8accc 100644 --- a/samples/BookStore/src/BookStore.Domain/BookStore.Domain.csproj +++ b/samples/WebApp/src/BookStore.Domain/BookStore.Domain.csproj @@ -4,6 +4,7 @@ net9.0 + enable BookStore @@ -13,15 +14,20 @@ - + - - + - + + + + + + + diff --git a/samples/WebApp/src/BookStore.Domain/BookStoreConsts.cs b/samples/WebApp/src/BookStore.Domain/BookStoreConsts.cs new file mode 100644 index 0000000..74b09a8 --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain/BookStoreConsts.cs @@ -0,0 +1,11 @@ +using Volo.Abp.Identity; + +namespace BookStore; + +public static class BookStoreConsts +{ + public const string DbTablePrefix = "App"; + public const string? DbSchema = null; + public const string AdminEmailDefaultValue = IdentityDataSeedContributor.AdminEmailDefaultValue; + public const string AdminPasswordDefaultValue = IdentityDataSeedContributor.AdminPasswordDefaultValue; +} diff --git a/samples/BookStore/src/BookStore.Domain/BookStoreDomainModule.cs b/samples/WebApp/src/BookStore.Domain/BookStoreDomainModule.cs similarity index 72% rename from samples/BookStore/src/BookStore.Domain/BookStoreDomainModule.cs rename to samples/WebApp/src/BookStore.Domain/BookStoreDomainModule.cs index 125e4b5..a477c50 100644 --- a/samples/BookStore/src/BookStore.Domain/BookStoreDomainModule.cs +++ b/samples/WebApp/src/BookStore.Domain/BookStoreDomainModule.cs @@ -1,17 +1,21 @@ -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using BookStore.Localization; using BookStore.MultiTenancy; +using Volo.Abp.Localization; +using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy; +using Volo.Abp.PermissionManagement.Identity; +using Volo.Abp.SettingManagement; +using Volo.Abp.BlobStoring.Database; +using Volo.Abp.Caching; +using Volo.Abp.OpenIddict; +using Volo.Abp.PermissionManagement.OpenIddict; using Volo.Abp.AuditLogging; using Volo.Abp.BackgroundJobs; using Volo.Abp.Emailing; using Volo.Abp.FeatureManagement; using Volo.Abp.Identity; -using Volo.Abp.IdentityServer; -using Volo.Abp.Modularity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.PermissionManagement.Identity; -using Volo.Abp.PermissionManagement.IdentityServer; -using Volo.Abp.SettingManagement; using Volo.Abp.TenantManagement; namespace BookStore; @@ -19,16 +23,18 @@ namespace BookStore; [DependsOn( typeof(BookStoreDomainSharedModule), typeof(AbpAuditLoggingDomainModule), + typeof(AbpCachingModule), typeof(AbpBackgroundJobsDomainModule), typeof(AbpFeatureManagementDomainModule), - typeof(AbpIdentityDomainModule), typeof(AbpPermissionManagementDomainIdentityModule), - typeof(AbpIdentityServerDomainModule), - typeof(AbpPermissionManagementDomainIdentityServerModule), + typeof(AbpPermissionManagementDomainOpenIddictModule), typeof(AbpSettingManagementDomainModule), + typeof(AbpEmailingModule), + typeof(AbpIdentityDomainModule), + typeof(AbpOpenIddictDomainModule), typeof(AbpTenantManagementDomainModule), - typeof(AbpEmailingModule) -)] + typeof(BlobStoringDatabaseDomainModule) + )] public class BookStoreDomainModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) @@ -38,6 +44,7 @@ public class BookStoreDomainModule : AbpModule options.IsEnabled = MultiTenancyConsts.IsEnabled; }); + #if DEBUG context.Services.Replace(ServiceDescriptor.Singleton()); #endif diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/BookStoreWebAppDbMigrationService.cs b/samples/WebApp/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs similarity index 54% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/BookStoreWebAppDbMigrationService.cs rename to samples/WebApp/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs index 99a1885..ff74805 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/BookStoreWebAppDbMigrationService.cs +++ b/samples/WebApp/src/BookStore.Domain/Data/BookStoreDbMigrationService.cs @@ -11,31 +11,32 @@ using Volo.Abp.Data; using Volo.Abp.DependencyInjection; using Volo.Abp.Identity; using Volo.Abp.MultiTenancy; +using BookStore.MultiTenancy; using Volo.Abp.TenantManagement; -namespace BookStoreWebApp.Data; +namespace BookStore.Data; -public class BookStoreWebAppDbMigrationService : ITransientDependency +public class BookStoreDbMigrationService : ITransientDependency { - public ILogger Logger { get; set; } + public ILogger Logger { get; set; } private readonly IDataSeeder _dataSeeder; - private readonly IEnumerable _dbSchemaMigrators; + private readonly IEnumerable _dbSchemaMigrators; private readonly ITenantRepository _tenantRepository; private readonly ICurrentTenant _currentTenant; - public BookStoreWebAppDbMigrationService( + public BookStoreDbMigrationService( IDataSeeder dataSeeder, - IEnumerable dbSchemaMigrators, ITenantRepository tenantRepository, - ICurrentTenant currentTenant) + ICurrentTenant currentTenant, + IEnumerable dbSchemaMigrators) { _dataSeeder = dataSeeder; - _dbSchemaMigrators = dbSchemaMigrators; _tenantRepository = tenantRepository; _currentTenant = currentTenant; + _dbSchemaMigrators = dbSchemaMigrators; - Logger = NullLogger.Instance; + Logger = NullLogger.Instance; } public async Task MigrateAsync() @@ -48,34 +49,38 @@ public class BookStoreWebAppDbMigrationService : ITransientDependency Logger.LogInformation($"Successfully completed host database migrations."); - var tenants = await _tenantRepository.GetListAsync(includeDetails: true); - - var migratedDatabaseSchemas = new HashSet(); - foreach (var tenant in tenants) + if (MultiTenancyConsts.IsEnabled) { - using (_currentTenant.Change(tenant.Id)) + + var tenants = await _tenantRepository.GetListAsync(includeDetails: true); + + var migratedDatabaseSchemas = new HashSet(); + foreach (var tenant in tenants) { - if (tenant.ConnectionStrings.Any()) + using (_currentTenant.Change(tenant.Id)) { - var tenantConnectionStrings = tenant.ConnectionStrings - .Select(x => x.Value) - .ToList(); - - if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings)) + if (tenant.ConnectionStrings.Any()) { - await MigrateDatabaseSchemaAsync(tenant); + var tenantConnectionStrings = tenant.ConnectionStrings + .Select(x => x.Value) + .ToList(); - migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings); + if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings)) + { + await MigrateDatabaseSchemaAsync(tenant); + + migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings); + } } + + await SeedDataAsync(tenant); } - await SeedDataAsync(tenant); + Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations."); } - Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations."); + Logger.LogInformation("Successfully completed all database migrations."); } - - Logger.LogInformation("Successfully completed all database migrations."); Logger.LogInformation("You can safely end this process..."); } @@ -83,7 +88,7 @@ public class BookStoreWebAppDbMigrationService : ITransientDependency { Logger.LogInformation( $"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database..."); - + foreach (var migrator in _dbSchemaMigrators) { await migrator.MigrateAsync(); @@ -93,10 +98,12 @@ public class BookStoreWebAppDbMigrationService : ITransientDependency private async Task SeedDataAsync(Tenant? tenant = null) { Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed..."); - + await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id) - .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, IdentityDataSeedContributor.AdminEmailDefaultValue) - .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, IdentityDataSeedContributor.AdminPasswordDefaultValue) + .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, + BookStoreConsts.AdminEmailDefaultValue) + .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, + BookStoreConsts.AdminPasswordDefaultValue) ); } diff --git a/samples/BookStore/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs b/samples/WebApp/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs rename to samples/WebApp/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs diff --git a/samples/BookStore/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs b/samples/WebApp/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs rename to samples/WebApp/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs diff --git a/samples/WebApp/src/BookStore.Domain/Identity/ChangeIdentityPasswordPolicySettingDefinitionProvider.cs b/samples/WebApp/src/BookStore.Domain/Identity/ChangeIdentityPasswordPolicySettingDefinitionProvider.cs new file mode 100644 index 0000000..4f4443a --- /dev/null +++ b/samples/WebApp/src/BookStore.Domain/Identity/ChangeIdentityPasswordPolicySettingDefinitionProvider.cs @@ -0,0 +1,34 @@ +using Volo.Abp.Identity.Settings; +using Volo.Abp.Settings; + +namespace BookStore.Identity; + +public class ChangeIdentityPasswordPolicySettingDefinitionProvider : SettingDefinitionProvider +{ + public override void Define(ISettingDefinitionContext context) + { + var requireNonAlphanumeric = context.GetOrNull(IdentitySettingNames.Password.RequireNonAlphanumeric); + if (requireNonAlphanumeric != null) + { + requireNonAlphanumeric.DefaultValue = false.ToString(); + } + + var requireLowercase = context.GetOrNull(IdentitySettingNames.Password.RequireLowercase); + if (requireLowercase != null) + { + requireLowercase.DefaultValue = false.ToString(); + } + + var requireUppercase = context.GetOrNull(IdentitySettingNames.Password.RequireUppercase); + if (requireUppercase != null) + { + requireUppercase.DefaultValue = false.ToString(); + } + + var requireDigit = context.GetOrNull(IdentitySettingNames.Password.RequireDigit); + if (requireDigit != null) + { + requireDigit.DefaultValue = false.ToString(); + } + } +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/samples/WebApp/src/BookStore.Domain/OpenIddict/OpenIddictDataSeedContributor.cs similarity index 79% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Domain/OpenIddict/OpenIddictDataSeedContributor.cs rename to samples/WebApp/src/BookStore.Domain/OpenIddict/OpenIddictDataSeedContributor.cs index 22182c6..c9c88e4 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.Domain/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/samples/WebApp/src/BookStore.Domain/OpenIddict/OpenIddictDataSeedContributor.cs @@ -16,7 +16,7 @@ using Volo.Abp.OpenIddict.Scopes; using Volo.Abp.PermissionManagement; using Volo.Abp.Uow; -namespace BookStoreWebApp.OpenIddict; +namespace BookStore.OpenIddict; /* Creates initial data that is needed to property run the application * and make client-to-server communication possible. @@ -38,7 +38,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep IOpenIddictScopeRepository openIddictScopeRepository, IOpenIddictScopeManager scopeManager, IPermissionDataSeeder permissionDataSeeder, - IStringLocalizer l ) + IStringLocalizer l) { _configuration = configuration; _openIddictApplicationRepository = openIddictApplicationRepository; @@ -58,10 +58,10 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep private async Task CreateScopesAsync() { - if (await _openIddictScopeRepository.FindByNameAsync("BookStoreWebApp") == null) + if (await _openIddictScopeRepository.FindByNameAsync("BookStore") == null) { await _scopeManager.CreateAsync(new OpenIddictScopeDescriptor { - Name = "BookStoreWebApp", DisplayName = "BookStoreWebApp API", Resources = { "BookStoreWebApp" } + Name = "BookStore", DisplayName = "BookStore API", Resources = { "BookStore" } }); } } @@ -74,23 +74,54 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep OpenIddictConstants.Permissions.Scopes.Phone, OpenIddictConstants.Permissions.Scopes.Profile, OpenIddictConstants.Permissions.Scopes.Roles, - "BookStoreWebApp" + "BookStore" }; var configurationSection = _configuration.GetSection("OpenIddict:Applications"); + //Console Test / Angular Client + var consoleAndAngularClientId = configurationSection["BookStore_App:ClientId"]; + if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) + { + var consoleAndAngularClientRootUrl = configurationSection["BookStore_App:RootUrl"]?.TrimEnd('/'); + await CreateApplicationAsync( + applicationType: OpenIddictConstants.ApplicationTypes.Web, + name: consoleAndAngularClientId!, + type: OpenIddictConstants.ClientTypes.Public, + consentType: OpenIddictConstants.ConsentTypes.Implicit, + displayName: "Console Test / Angular Application", + secret: null, + grantTypes: new List { + OpenIddictConstants.GrantTypes.AuthorizationCode, + OpenIddictConstants.GrantTypes.Password, + OpenIddictConstants.GrantTypes.ClientCredentials, + OpenIddictConstants.GrantTypes.RefreshToken, + "LinkLogin", + "Impersonation" + }, + scopes: commonScopes, + redirectUris: new List { consoleAndAngularClientRootUrl }, + postLogoutRedirectUris: new List { consoleAndAngularClientRootUrl }, + clientUri: consoleAndAngularClientRootUrl, + logoUri: "/images/clients/angular.svg" + ); + } + + + // Swagger Client - var swaggerClientId = configurationSection["BookStoreWebApp_Swagger:ClientId"]; + var swaggerClientId = configurationSection["BookStore_Swagger:ClientId"]; if (!swaggerClientId.IsNullOrWhiteSpace()) { - var swaggerRootUrl = configurationSection["BookStoreWebApp_Swagger:RootUrl"]?.TrimEnd('/'); + var swaggerRootUrl = configurationSection["BookStore_Swagger:RootUrl"]?.TrimEnd('/'); await CreateApplicationAsync( + applicationType: OpenIddictConstants.ApplicationTypes.Web, name: swaggerClientId!, type: OpenIddictConstants.ClientTypes.Public, consentType: OpenIddictConstants.ConsentTypes.Implicit, @@ -98,13 +129,17 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep secret: null, grantTypes: new List { OpenIddictConstants.GrantTypes.AuthorizationCode, }, scopes: commonScopes, - redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html", - clientUri: swaggerRootUrl + redirectUris: new List { $"{swaggerRootUrl}/swagger/oauth2-redirect.html" }, + clientUri: swaggerRootUrl.EnsureEndsWith('/') + "swagger", + logoUri: "/images/clients/swagger.svg" ); } + + } private async Task CreateApplicationAsync( + [NotNull] string applicationType, [NotNull] string name, [NotNull] string type, [NotNull] string consentType, @@ -112,10 +147,11 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep string? secret, List grantTypes, List scopes, + List? redirectUris = null, + List? postLogoutRedirectUris = null, + List? permissions = null, string? clientUri = null, - string? redirectUri = null, - string? postLogoutRedirectUri = null, - List? permissions = null) + string? logoUri = null) { if (!string.IsNullOrEmpty(secret) && string.Equals(type, OpenIddictConstants.ClientTypes.Public, StringComparison.OrdinalIgnoreCase)) @@ -132,12 +168,14 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep var client = await _openIddictApplicationRepository.FindByClientIdAsync(name); var application = new AbpApplicationDescriptor { + ApplicationType = applicationType, ClientId = name, ClientType = type, ClientSecret = secret, ConsentType = consentType, DisplayName = displayName, ClientUri = clientUri, + LogoUri = logoUri, }; Check.NotNullOrEmpty(grantTypes, nameof(grantTypes)); @@ -155,9 +193,9 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep } } - if (!redirectUri.IsNullOrWhiteSpace() || !postLogoutRedirectUri.IsNullOrWhiteSpace()) + if (!redirectUris.IsNullOrEmpty() || !postLogoutRedirectUris.IsNullOrEmpty()) { - application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Logout); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.EndSession); } var buildInGrantTypes = new[] { @@ -214,7 +252,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep if (grantType == OpenIddictConstants.GrantTypes.DeviceCode) { application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.DeviceCode); - application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Device); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.DeviceAuthorization); } if (grantType == OpenIddictConstants.GrantTypes.Implicit) @@ -251,9 +289,9 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep } } - if (redirectUri != null) + if (!redirectUris.IsNullOrEmpty()) { - if (!redirectUri.IsNullOrEmpty()) + foreach (var redirectUri in redirectUris!.Where(redirectUri => !redirectUri.IsNullOrWhiteSpace())) { if (!Uri.TryCreate(redirectUri, UriKind.Absolute, out var uri) || !uri.IsWellFormedOriginalString()) { @@ -265,11 +303,12 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep application.RedirectUris.Add(uri); } } + } - - if (postLogoutRedirectUri != null) + + if (!postLogoutRedirectUris.IsNullOrEmpty()) { - if (!postLogoutRedirectUri.IsNullOrEmpty()) + foreach (var postLogoutRedirectUri in postLogoutRedirectUris!.Where(postLogoutRedirectUri => !postLogoutRedirectUri.IsNullOrWhiteSpace())) { if (!Uri.TryCreate(postLogoutRedirectUri, UriKind.Absolute, out var uri) || !uri.IsWellFormedOriginalString()) @@ -302,8 +341,8 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep if (!HasSameRedirectUris(client, application)) { - client.RedirectUris = JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().TrimEnd('/'))); - client.PostLogoutRedirectUris = JsonSerializer.Serialize(application.PostLogoutRedirectUris.Select(q => q.ToString().TrimEnd('/'))); + client.RedirectUris = JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().RemovePostFix("/"))); + client.PostLogoutRedirectUris = JsonSerializer.Serialize(application.PostLogoutRedirectUris.Select(q => q.ToString().RemovePostFix("/"))); await _applicationManager.UpdateAsync(client.ToModel()); } @@ -317,7 +356,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep private bool HasSameRedirectUris(OpenIddictApplication existingClient, AbpApplicationDescriptor application) { - return existingClient.RedirectUris == JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().TrimEnd('/'))); + return existingClient.RedirectUris == JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().RemovePostFix("/"))); } private bool HasSameScopes(OpenIddictApplication existingClient, AbpApplicationDescriptor application) diff --git a/samples/BookStore/src/BookStore.Domain/Properties/AssemblyInfo.cs b/samples/WebApp/src/BookStore.Domain/Properties/AssemblyInfo.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain/Properties/AssemblyInfo.cs rename to samples/WebApp/src/BookStore.Domain/Properties/AssemblyInfo.cs diff --git a/samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs b/samples/WebApp/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs rename to samples/WebApp/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs diff --git a/samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettings.cs b/samples/WebApp/src/BookStore.Domain/Settings/BookStoreSettings.cs similarity index 100% rename from samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettings.cs rename to samples/WebApp/src/BookStore.Domain/Settings/BookStoreSettings.cs diff --git a/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg new file mode 100644 index 0000000..7deef5e --- /dev/null +++ b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.http-api-client" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg.analyze.json b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg.analyze.json new file mode 100644 index 0000000..615eeda --- /dev/null +++ b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.abppkg.analyze.json @@ -0,0 +1,118 @@ +{ + "name": "BookStore.HttpApi.Client", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Application.Contracts", + "namespace": "BookStore", + "name": "BookStoreApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.HttpApi.Client", + "namespace": "Volo.Abp.PermissionManagement", + "name": "AbpPermissionManagementHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.HttpApi.Client", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.HttpApi.Client", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Admin.HttpApi.Client", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountAdminHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Public.HttpApi.Client", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountPublicHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.HttpApi.Client", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.HttpApi.Client", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.HttpApi.Client", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.HttpApi.Client", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.HttpApi.Client", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprHttpApiClientModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.HttpApi.Client", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementHttpApiClientModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreHttpApiClientModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj similarity index 94% rename from samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj rename to samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj index 3002b6d..6ef895f 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj +++ b/samples/WebApp/src/BookStore.HttpApi.Client/BookStore.HttpApi.Client.csproj @@ -4,6 +4,7 @@ net9.0 + enable BookStore @@ -12,14 +13,17 @@ - - - + + + + + + diff --git a/samples/BookStore/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs b/samples/WebApp/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs similarity index 100% rename from samples/BookStore/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs rename to samples/WebApp/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs index fcc3a85..7618aa9 100644 --- a/samples/BookStore/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs +++ b/samples/WebApp/src/BookStore.HttpApi.Client/BookStoreHttpApiClientModule.cs @@ -1,22 +1,22 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement; -using Volo.Abp.TenantManagement; using Volo.Abp.SettingManagement; using Volo.Abp.VirtualFileSystem; +using Volo.Abp.FeatureManagement; +using Volo.Abp.Identity; +using Volo.Abp.TenantManagement; namespace BookStore; [DependsOn( typeof(BookStoreApplicationContractsModule), + typeof(AbpPermissionManagementHttpApiClientModule), + typeof(AbpFeatureManagementHttpApiClientModule), typeof(AbpAccountHttpApiClientModule), typeof(AbpIdentityHttpApiClientModule), - typeof(AbpPermissionManagementHttpApiClientModule), typeof(AbpTenantManagementHttpApiClientModule), - typeof(AbpFeatureManagementHttpApiClientModule), typeof(AbpSettingManagementHttpApiClientModule) )] public class BookStoreHttpApiClientModule : AbpModule diff --git a/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg new file mode 100644 index 0000000..515bfe6 --- /dev/null +++ b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.http-api" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg.analyze.json b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg.analyze.json new file mode 100644 index 0000000..1a43e53 --- /dev/null +++ b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.abppkg.analyze.json @@ -0,0 +1,118 @@ +{ + "name": "BookStore.HttpApi", + "hash": "", + "contents": [ + { + "namespace": "BookStore", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Application.Contracts", + "namespace": "BookStore", + "name": "BookStoreApplicationContractsModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.HttpApi", + "namespace": "Volo.Abp.PermissionManagement.HttpApi", + "name": "AbpPermissionManagementHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.HttpApi", + "namespace": "Volo.Abp.SettingManagement", + "name": "AbpSettingManagementHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.HttpApi", + "namespace": "Volo.Abp.Identity", + "name": "AbpIdentityHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Admin.HttpApi", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountAdminHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.HttpApi", + "namespace": "Volo.Abp.TextTemplateManagement", + "name": "TextTemplateManagementHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.HttpApi", + "namespace": "Volo.Abp.AuditLogging", + "name": "AbpAuditLoggingHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.HttpApi", + "namespace": "Volo.Abp.OpenIddict", + "name": "AbpOpenIddictProHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.HttpApi", + "namespace": "Volo.Abp.LanguageManagement", + "name": "LanguageManagementHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.HttpApi", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Account.Pro.Public.HttpApi", + "namespace": "Volo.Abp.Account", + "name": "AbpAccountPublicHttpApiModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.HttpApi", + "namespace": "Volo.Abp.FeatureManagement", + "name": "AbpFeatureManagementHttpApiModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreHttpApiModule", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStore/src/BookStore.HttpApi/BookStore.HttpApi.csproj b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.csproj similarity index 92% rename from samples/BookStore/src/BookStore.HttpApi/BookStore.HttpApi.csproj rename to samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.csproj index e07be72..b818a47 100644 --- a/samples/BookStore/src/BookStore.HttpApi/BookStore.HttpApi.csproj +++ b/samples/WebApp/src/BookStore.HttpApi/BookStore.HttpApi.csproj @@ -4,6 +4,7 @@ net9.0 + enable BookStore @@ -12,12 +13,15 @@ - - - + + + + + + diff --git a/samples/BookStore/src/BookStore.HttpApi/BookStoreHttpApiModule.cs b/samples/WebApp/src/BookStore.HttpApi/BookStoreHttpApiModule.cs similarity index 90% rename from samples/BookStore/src/BookStore.HttpApi/BookStoreHttpApiModule.cs rename to samples/WebApp/src/BookStore.HttpApi/BookStoreHttpApiModule.cs index e45e81d..073a6d3 100644 --- a/samples/BookStore/src/BookStore.HttpApi/BookStoreHttpApiModule.cs +++ b/samples/WebApp/src/BookStore.HttpApi/BookStoreHttpApiModule.cs @@ -1,24 +1,24 @@ using Localization.Resources.AbpUi; using BookStore.Localization; using Volo.Abp.Account; +using Volo.Abp.SettingManagement; using Volo.Abp.FeatureManagement; using Volo.Abp.Identity; -using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.HttpApi; -using Volo.Abp.SettingManagement; +using Volo.Abp.Localization; using Volo.Abp.TenantManagement; namespace BookStore; -[DependsOn( + [DependsOn( typeof(BookStoreApplicationContractsModule), + typeof(AbpPermissionManagementHttpApiModule), + typeof(AbpSettingManagementHttpApiModule), typeof(AbpAccountHttpApiModule), typeof(AbpIdentityHttpApiModule), - typeof(AbpPermissionManagementHttpApiModule), typeof(AbpTenantManagementHttpApiModule), - typeof(AbpFeatureManagementHttpApiModule), - typeof(AbpSettingManagementHttpApiModule) + typeof(AbpFeatureManagementHttpApiModule) )] public class BookStoreHttpApiModule : AbpModule { diff --git a/samples/BookStore/src/BookStore.HttpApi/Controllers/BookStoreController.cs b/samples/WebApp/src/BookStore.HttpApi/Controllers/BookStoreController.cs similarity index 100% rename from samples/BookStore/src/BookStore.HttpApi/Controllers/BookStoreController.cs rename to samples/WebApp/src/BookStore.HttpApi/Controllers/BookStoreController.cs diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Models/Test/TestModel.cs b/samples/WebApp/src/BookStore.HttpApi/Models/Test/TestModel.cs similarity index 76% rename from samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Models/Test/TestModel.cs rename to samples/WebApp/src/BookStore.HttpApi/Models/Test/TestModel.cs index 5295971..e480a88 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Models/Test/TestModel.cs +++ b/samples/WebApp/src/BookStore.HttpApi/Models/Test/TestModel.cs @@ -1,6 +1,6 @@ using System; -namespace BookStoreWebApp.Models.Test; +namespace BookStore.Models.Test; public class TestModel { diff --git a/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg new file mode 100644 index 0000000..8b23fd1 --- /dev/null +++ b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.mongodb" +} \ No newline at end of file diff --git a/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg.analyze.json b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg.analyze.json new file mode 100644 index 0000000..172d865 --- /dev/null +++ b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.abppkg.analyze.json @@ -0,0 +1,145 @@ +{ + "name": "BookStore.MongoDB", + "hash": "", + "contents": [ + { + "namespace": "BookStore.MongoDB", + "dependsOnModules": [ + { + "declaringAssemblyName": "BookStore.Domain", + "namespace": "BookStore", + "name": "BookStoreDomainModule" + }, + { + "declaringAssemblyName": "Volo.Abp.PermissionManagement.MongoDB", + "namespace": "Volo.Abp.PermissionManagement.MongoDB", + "name": "AbpPermissionManagementMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.SettingManagement.MongoDB", + "namespace": "Volo.Abp.SettingManagement.MongoDB", + "name": "AbpSettingManagementMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BackgroundJobs.MongoDB", + "namespace": "Volo.Abp.BackgroundJobs.MongoDB", + "name": "AbpBackgroundJobsMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.AuditLogging.MongoDB", + "namespace": "Volo.Abp.AuditLogging.MongoDB", + "name": "AbpAuditLoggingMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.FeatureManagement.MongoDB", + "namespace": "Volo.Abp.FeatureManagement.MongoDB", + "name": "AbpFeatureManagementMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Identity.Pro.MongoDB", + "namespace": "Volo.Abp.Identity.MongoDB", + "name": "AbpIdentityProMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.OpenIddict.Pro.MongoDb", + "namespace": "Volo.Abp.OpenIddict.MongoDB", + "name": "AbpOpenIddictProMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.LanguageManagement.MongoDB", + "namespace": "Volo.Abp.LanguageManagement.MongoDB", + "name": "LanguageManagementMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Saas.MongoDB", + "namespace": "Volo.Saas.MongoDB", + "name": "SaasMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.TextTemplateManagement.MongoDB", + "namespace": "Volo.Abp.TextTemplateManagement.MongoDB", + "name": "TextTemplateManagementMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.Gdpr.MongoDB", + "namespace": "Volo.Abp.Gdpr", + "name": "AbpGdprMongoDbModule" + }, + { + "declaringAssemblyName": "Volo.Abp.BlobStoring.Database.MongoDB", + "namespace": "Volo.Abp.BlobStoring.Database.MongoDB", + "name": "BlobStoringDatabaseMongoDbModule" + } + ], + "implementingInterfaces": [ + { + "name": "IAbpModule", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IAbpModule" + }, + { + "name": "IOnPreApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPreApplicationInitialization" + }, + { + "name": "IOnApplicationInitialization", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationInitialization" + }, + { + "name": "IOnPostApplicationInitialization", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IOnPostApplicationInitialization" + }, + { + "name": "IOnApplicationShutdown", + "namespace": "Volo.Abp", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.IOnApplicationShutdown" + }, + { + "name": "IPreConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPreConfigureServices" + }, + { + "name": "IPostConfigureServices", + "namespace": "Volo.Abp.Modularity", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.Modularity.IPostConfigureServices" + } + ], + "contentType": "abpModule", + "name": "BookStoreMongoDbModule", + "summary": null + }, + { + "namespace": "BookStore.MongoDB", + "connectionStringName": "Default", + "databaseCollections": [], + "implementingInterfaces": [ + { + "name": "IAbpMongoDbContext", + "namespace": "Volo.Abp.MongoDB", + "declaringAssemblyName": "Volo.Abp.MongoDB", + "fullName": "Volo.Abp.MongoDB.IAbpMongoDbContext" + }, + { + "name": "ITransientDependency", + "namespace": "Volo.Abp.DependencyInjection", + "declaringAssemblyName": "Volo.Abp.Core", + "fullName": "Volo.Abp.DependencyInjection.ITransientDependency" + } + ], + "contentType": "mongoDbContext", + "name": "BookStoreMongoDbContext", + "summary": null + } + ] +} \ No newline at end of file diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/BookStoreWebApp.MongoDB.csproj b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.csproj similarity index 71% rename from samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/BookStoreWebApp.MongoDB.csproj rename to samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.csproj index c6d374b..db150a5 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/BookStoreWebApp.MongoDB.csproj +++ b/samples/WebApp/src/BookStore.MongoDB/BookStore.MongoDB.csproj @@ -1,23 +1,30 @@ - + net9.0 enable - BookStoreWebApp + BookStore - + + + + - - + + + + + + diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbContext.cs b/samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbContext.cs similarity index 72% rename from samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbContext.cs rename to samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbContext.cs index c680bf1..f16a454 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbContext.cs +++ b/samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbContext.cs @@ -1,11 +1,13 @@ using Volo.Abp.Data; using Volo.Abp.MongoDB; +using MongoDB.Driver; -namespace BookStoreWebApp.MongoDB; +namespace BookStore.MongoDB; [ConnectionStringName("Default")] -public class BookStoreWebAppMongoDbContext : AbpMongoDbContext +public class BookStoreMongoDbContext : AbpMongoDbContext { + /* Add mongo collections here. Example: * public IMongoCollection Questions => Collection(); */ @@ -14,7 +16,7 @@ public class BookStoreWebAppMongoDbContext : AbpMongoDbContext { base.CreateModel(modelBuilder); - //modelBuilder.Entity(b => + //builder.Entity(b => //{ // //... //}); diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbModule.cs b/samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbModule.cs similarity index 69% rename from samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbModule.cs rename to samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbModule.cs index 0ccb844..9574ea1 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbModule.cs +++ b/samples/WebApp/src/BookStore.MongoDB/MongoDb/BookStoreMongoDbModule.cs @@ -1,37 +1,40 @@ -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AuditLogging.MongoDB; using Volo.Abp.BackgroundJobs.MongoDB; using Volo.Abp.FeatureManagement.MongoDB; using Volo.Abp.Identity.MongoDB; -using Volo.Abp.Modularity; using Volo.Abp.OpenIddict.MongoDB; +using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.MongoDB; using Volo.Abp.SettingManagement.MongoDB; -using Volo.Abp.TenantManagement.MongoDB; +using Volo.Abp.BlobStoring.Database.MongoDB; using Volo.Abp.Uow; +using Volo.Abp.TenantManagement.MongoDB; -namespace BookStoreWebApp.MongoDB; +namespace BookStore.MongoDB; [DependsOn( - typeof(BookStoreWebAppDomainModule), + typeof(BookStoreDomainModule), typeof(AbpPermissionManagementMongoDbModule), typeof(AbpSettingManagementMongoDbModule), - typeof(AbpIdentityMongoDbModule), - typeof(AbpOpenIddictMongoDbModule), typeof(AbpBackgroundJobsMongoDbModule), typeof(AbpAuditLoggingMongoDbModule), + typeof(AbpFeatureManagementMongoDbModule), + typeof(AbpIdentityMongoDbModule), + typeof(AbpOpenIddictMongoDbModule), typeof(AbpTenantManagementMongoDbModule), - typeof(AbpFeatureManagementMongoDbModule) - )] -public class BookStoreWebAppMongoDbModule : AbpModule + typeof(BlobStoringDatabaseMongoDbModule) +)] +public class BookStoreMongoDbModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddMongoDbContext(options => + context.Services.AddMongoDbContext(options => { options.AddDefaultRepositories(); }); + context.Services.AddAlwaysDisableUnitOfWorkTransaction(); Configure(options => { options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/MongoDbBookStoreWebAppDbSchemaMigrator.cs b/samples/WebApp/src/BookStore.MongoDB/MongoDb/MongoDbBookStoreDbSchemaMigrator.cs similarity index 70% rename from samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/MongoDbBookStoreWebAppDbSchemaMigrator.cs rename to samples/WebApp/src/BookStore.MongoDB/MongoDb/MongoDbBookStoreDbSchemaMigrator.cs index 30b63d7..3ad09fd 100644 --- a/samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/MongoDbBookStoreWebAppDbSchemaMigrator.cs +++ b/samples/WebApp/src/BookStore.MongoDB/MongoDb/MongoDbBookStoreDbSchemaMigrator.cs @@ -1,19 +1,23 @@ using System; +using System.Linq; +using System.Reflection; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using MongoDB.Driver; -using BookStoreWebApp.Data; +using BookStore.Data; using Volo.Abp.Data; using Volo.Abp.DependencyInjection; using Volo.Abp.MongoDB; +using Volo.Abp.MultiTenancy; +using Volo.Abp.Reflection; -namespace BookStoreWebApp.MongoDB; +namespace BookStore.MongoDB; -public class MongoDbBookStoreWebAppDbSchemaMigrator : IBookStoreWebAppDbSchemaMigrator, ITransientDependency +public class MongoDbBookStoreDbSchemaMigrator : IBookStoreDbSchemaMigrator, ITransientDependency { private readonly IServiceProvider _serviceProvider; - public MongoDbBookStoreWebAppDbSchemaMigrator(IServiceProvider serviceProvider) + public MongoDbBookStoreDbSchemaMigrator(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } @@ -23,6 +27,11 @@ public class MongoDbBookStoreWebAppDbSchemaMigrator : IBookStoreWebAppDbSchemaMi var dbContexts = _serviceProvider.GetServices(); var connectionStringResolver = _serviceProvider.GetRequiredService(); + if (_serviceProvider.GetRequiredService().IsAvailable) + { + dbContexts = dbContexts.Where(x => !x.GetType().IsDefined(typeof(IgnoreMultiTenancyAttribute))); + } + foreach (var dbContext in dbContexts) { var connectionString = diff --git a/samples/WebApp/src/BookStore.MongoDB/Properties/AssemblyInfo.cs b/samples/WebApp/src/BookStore.MongoDB/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..db15775 --- /dev/null +++ b/samples/WebApp/src/BookStore.MongoDB/Properties/AssemblyInfo.cs @@ -0,0 +1,2 @@ +using System.Runtime.CompilerServices; +[assembly:InternalsVisibleToAttribute("BookStore.MongoDB.Tests")] diff --git a/samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.abppkg b/samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.abppkg new file mode 100644 index 0000000..a686451 --- /dev/null +++ b/samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.test" +} \ No newline at end of file diff --git a/samples/BookStore/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj b/samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj similarity index 77% rename from samples/BookStore/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj rename to samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj index 9fcffa8..1574640 100644 --- a/samples/BookStore/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj +++ b/samples/WebApp/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj @@ -1,9 +1,10 @@ - + net9.0 + enable BookStore @@ -13,7 +14,7 @@ - + diff --git a/samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs b/samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs new file mode 100644 index 0000000..ede63f1 --- /dev/null +++ b/samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs @@ -0,0 +1,9 @@ +using Volo.Abp.Modularity; + +namespace BookStore; + +public abstract class BookStoreApplicationTestBase : BookStoreTestBase + where TStartupModule : IAbpModule +{ + +} diff --git a/samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs b/samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs similarity index 96% rename from samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs rename to samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs index eb3263d..19f3c75 100644 --- a/samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs +++ b/samples/WebApp/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs @@ -5,7 +5,7 @@ namespace BookStore; [DependsOn( typeof(BookStoreApplicationModule), typeof(BookStoreDomainTestModule) - )] +)] public class BookStoreApplicationTestModule : AbpModule { diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/Samples/SampleAppServiceTests.cs b/samples/WebApp/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs similarity index 91% rename from samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/Samples/SampleAppServiceTests.cs rename to samples/WebApp/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs index e197701..7e8575a 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/Samples/SampleAppServiceTests.cs +++ b/samples/WebApp/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs @@ -4,14 +4,14 @@ using Volo.Abp.Identity; using Volo.Abp.Modularity; using Xunit; -namespace BookStoreWebApp.Samples; +namespace BookStore.Samples; /* This is just an example test class. * Normally, you don't test code of the modules you are using * (like IIdentityUserAppService here). * Only test your own application services. */ -public abstract class SampleAppServiceTests : BookStoreWebAppApplicationTestBase +public abstract class SampleAppServiceTests : BookStoreApplicationTestBase where TStartupModule : IAbpModule { private readonly IIdentityUserAppService _userAppService; diff --git a/samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.abppkg b/samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.abppkg new file mode 100644 index 0000000..a686451 --- /dev/null +++ b/samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.test" +} \ No newline at end of file diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebApp.Application.Tests.csproj b/samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj similarity index 55% rename from samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebApp.Application.Tests.csproj rename to samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj index ee8d074..bad4361 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebApp.Application.Tests.csproj +++ b/samples/WebApp/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj @@ -5,12 +5,12 @@ net9.0 enable - BookStoreWebApp + BookStore - - + + diff --git a/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs b/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs new file mode 100644 index 0000000..0e04bff --- /dev/null +++ b/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs @@ -0,0 +1,10 @@ +using Volo.Abp.Modularity; + +namespace BookStore; + +/* Inherit from this class for your domain layer tests. */ +public abstract class BookStoreDomainTestBase : BookStoreTestBase + where TStartupModule : IAbpModule +{ + +} diff --git a/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs b/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs new file mode 100644 index 0000000..fbfad50 --- /dev/null +++ b/samples/WebApp/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs @@ -0,0 +1,12 @@ +using Volo.Abp.Modularity; + +namespace BookStore; + +[DependsOn( + typeof(BookStoreDomainModule), + typeof(BookStoreTestBaseModule) +)] +public class BookStoreDomainTestModule : AbpModule +{ + +} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/Samples/SampleDomainTests.cs b/samples/WebApp/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs similarity index 95% rename from samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/Samples/SampleDomainTests.cs rename to samples/WebApp/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs index a56a734..d41088e 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/Samples/SampleDomainTests.cs +++ b/samples/WebApp/test/BookStore.Domain.Tests/Samples/SampleDomainTests.cs @@ -4,14 +4,14 @@ using Volo.Abp.Identity; using Volo.Abp.Modularity; using Xunit; -namespace BookStoreWebApp.Samples; +namespace BookStore.Samples; /* This is just an example test class. * Normally, you don't test code of the modules you are using * (like IdentityUserManager here). * Only test your own domain services. */ -public abstract class SampleDomainTests : BookStoreWebAppDomainTestBase +public abstract class SampleDomainTests : BookStoreDomainTestBase where TStartupModule : IAbpModule { private readonly IIdentityUserRepository _identityUserRepository; diff --git a/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.abppkg b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.abppkg new file mode 100644 index 0000000..a686451 --- /dev/null +++ b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.test" +} \ No newline at end of file diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj similarity index 78% rename from samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj rename to samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj index f80a537..3ea40fd 100644 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj +++ b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStore.HttpApi.Client.ConsoleTestApp.csproj @@ -1,8 +1,9 @@ - + Exe net9.0 + enable @@ -19,14 +20,17 @@ - - - - + + + + + + + diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStoreConsoleApiClientModule.cs b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStoreConsoleApiClientModule.cs similarity index 100% rename from samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStoreConsoleApiClientModule.cs rename to samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/BookStoreConsoleApiClientModule.cs diff --git a/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs new file mode 100644 index 0000000..2feb61d --- /dev/null +++ b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs @@ -0,0 +1,38 @@ +using System; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Identity; +using Volo.Abp.Account; + +namespace BookStore.HttpApi.Client.ConsoleTestApp; + +public class ClientDemoService : ITransientDependency +{ + private readonly IProfileAppService _profileAppService; + private readonly IIdentityUserAppService _identityUserAppService; + + public ClientDemoService( + IProfileAppService profileAppService, + IIdentityUserAppService identityUserAppService) + { + _profileAppService = profileAppService; + _identityUserAppService = identityUserAppService; + } + + public async Task RunAsync() + { + var profileDto = await _profileAppService.GetAsync(); + Console.WriteLine($"UserName : {profileDto.UserName}"); + Console.WriteLine($"Email : {profileDto.Email}"); + Console.WriteLine($"Name : {profileDto.Name}"); + Console.WriteLine($"Surname : {profileDto.Surname}"); + Console.WriteLine(); + + var resultDto = await _identityUserAppService.GetListAsync(new GetIdentityUsersInput()); + Console.WriteLine($"Total users: {resultDto.TotalCount}"); + foreach (var identityUserDto in resultDto.Items) + { + Console.WriteLine($"- [{identityUserDto.Id}] {identityUserDto.Name}"); + } + } +} diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs similarity index 53% rename from samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs rename to samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs index 6e323cf..cb2b8ea 100644 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs +++ b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs @@ -1,5 +1,4 @@ -using Microsoft.Extensions.Hosting; -using System.Threading; +using System; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -7,20 +6,16 @@ using Volo.Abp; namespace BookStore.HttpApi.Client.ConsoleTestApp; -public class ConsoleTestAppHostedService : IHostedService +class Program { - private readonly IConfiguration _configuration; - - public ConsoleTestAppHostedService(IConfiguration configuration) - { - _configuration = configuration; - } - - public async Task StartAsync(CancellationToken cancellationToken) + static async Task Main(string[] args) { using (var application = await AbpApplicationFactory.CreateAsync(options => { - options.Services.ReplaceConfiguration(_configuration); + var builder = new ConfigurationBuilder(); + builder.AddJsonFile("appsettings.json", false); + builder.AddJsonFile("appsettings.secrets.json", true); + options.Services.ReplaceConfiguration(builder.Build()); options.UseAutofac(); })) { @@ -29,12 +24,10 @@ public class ConsoleTestAppHostedService : IHostedService var demo = application.ServiceProvider.GetRequiredService(); await demo.RunAsync(); + Console.WriteLine("Press ENTER to stop application..."); + Console.ReadLine(); + await application.ShutdownAsync(); } } - - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } } diff --git a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json similarity index 67% rename from samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json rename to samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json index c0ea453..6c8fe28 100644 --- a/samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json +++ b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json @@ -1,18 +1,17 @@ { "RemoteServices": { "Default": { - "BaseUrl": "https://localhost:44306" + "BaseUrl": "https://localhost:44320/" } }, "IdentityClients": { "Default": { "GrantType": "password", "ClientId": "BookStore_App", - "ClientSecret": "1q2w3e*", "UserName": "admin", "UserPassword": "1q2w3E*", - "Authority": "https://localhost:44306", + "Authority": "https://localhost:44320/", "Scope": "BookStore" } } -} \ No newline at end of file +} diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.Development.json b/samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.Development.json rename to samples/WebApp/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.abppkg b/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.abppkg new file mode 100644 index 0000000..a686451 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.test" +} \ No newline at end of file diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.csproj b/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.csproj new file mode 100644 index 0000000..6389c17 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/BookStore.MongoDB.Tests.csproj @@ -0,0 +1,24 @@ + + + + + + net9.0 + enable + BookStore + + + + + + + + + + + + + + + + diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs new file mode 100644 index 0000000..b061d26 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs @@ -0,0 +1,11 @@ +using BookStore.MongoDB; +using BookStore.Samples; +using Xunit; + +namespace BookStore.MongoDb.Applications; + +[Collection(BookStoreTestConsts.CollectionDefinitionName)] +public class MongoDBSampleAppServiceTests : SampleAppServiceTests +{ + +} diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoCollection.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoCollection.cs new file mode 100644 index 0000000..33d7d33 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoCollection.cs @@ -0,0 +1,9 @@ +using Xunit; + +namespace BookStore.MongoDB; + +[CollectionDefinition(BookStoreTestConsts.CollectionDefinitionName)] +public class BookStoreMongoCollection : BookStoreMongoDbCollectionFixtureBase +{ + +} diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbCollectionFixtureBase.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbCollectionFixtureBase.cs new file mode 100644 index 0000000..3f4aa52 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbCollectionFixtureBase.cs @@ -0,0 +1,9 @@ +using BookStore.MongoDB; +using Xunit; + +namespace BookStore.MongoDB; + +public class BookStoreMongoDbCollectionFixtureBase : ICollectionFixture +{ + +} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbFixture.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbFixture.cs similarity index 82% rename from samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbFixture.cs rename to samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbFixture.cs index d916a2e..a6ec125 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbFixture.cs +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbFixture.cs @@ -1,13 +1,13 @@ using System; -using EphemeralMongo; +using MongoSandbox; -namespace BookStoreWebApp.MongoDB; +namespace BookStore.MongoDB; -public class BookStoreWebAppMongoDbFixture : IDisposable +public class BookStoreMongoDbFixture : IDisposable { public readonly static IMongoRunner MongoDbRunner; - static BookStoreWebAppMongoDbFixture() + static BookStoreMongoDbFixture() { MongoDbRunner = MongoRunner.Run(new MongoRunnerOptions { diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestBase.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestBase.cs new file mode 100644 index 0000000..91a2c98 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestBase.cs @@ -0,0 +1,6 @@ +namespace BookStore.MongoDB; + +public abstract class BookStoreMongoDbTestBase : BookStoreTestBase +{ + +} diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs new file mode 100644 index 0000000..4300ace --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs @@ -0,0 +1,21 @@ +using System; +using Volo.Abp.Data; +using Volo.Abp.Modularity; +using Volo.Abp.Uow; + +namespace BookStore.MongoDB; + +[DependsOn( + typeof(BookStoreApplicationTestModule), + typeof(BookStoreMongoDbModule) +)] +public class BookStoreMongoDbTestModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.ConnectionStrings.Default = BookStoreMongoDbFixture.GetRandomConnectionString(); + }); + } +} diff --git a/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs new file mode 100644 index 0000000..1467c28 --- /dev/null +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs @@ -0,0 +1,10 @@ +using BookStore.Samples; +using Xunit; + +namespace BookStore.MongoDB.Domains; + +[Collection(BookStoreTestConsts.CollectionDefinitionName)] +public class MongoDBSampleDomainTests : SampleDomainTests +{ + +} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs similarity index 72% rename from samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs rename to samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs index a93e588..e9e001b 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs +++ b/samples/WebApp/test/BookStore.MongoDB.Tests/MongoDb/Samples/SampleRepositoryTests.cs @@ -1,20 +1,18 @@ using System; using System.Threading.Tasks; -using MongoDB.Driver.Linq; using Shouldly; using Volo.Abp.Domain.Repositories; using Volo.Abp.Identity; using Xunit; -namespace BookStoreWebApp.MongoDB.Samples; +namespace BookStore.MongoDB.Samples; /* This is just an example test class. * Normally, you don't test ABP framework code - * (like default AppUser repository IRepository here). * Only test your custom repository methods. */ -[Collection(BookStoreWebAppTestConsts.CollectionDefinitionName)] -public class SampleRepositoryTests : BookStoreWebAppMongoDbTestBase +[Collection(BookStoreTestConsts.CollectionDefinitionName)] +public class SampleRepositoryTests : BookStoreMongoDbTestBase { private readonly IRepository _appUserRepository; @@ -32,7 +30,7 @@ public class SampleRepositoryTests : BookStoreWebAppMongoDbTestBase await WithUnitOfWorkAsync(async () => { //Act - var adminUser = await (await _appUserRepository.GetMongoQueryableAsync()) + var adminUser = await _appUserRepository .FirstOrDefaultAsync(u => u.UserName == "admin"); //Assert diff --git a/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.abppkg b/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.abppkg new file mode 100644 index 0000000..a686451 --- /dev/null +++ b/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.abppkg @@ -0,0 +1,3 @@ +{ + "role": "lib.test" +} \ No newline at end of file diff --git a/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.csproj b/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.csproj new file mode 100644 index 0000000..0d5a663 --- /dev/null +++ b/samples/WebApp/test/BookStore.TestBase/BookStore.TestBase.csproj @@ -0,0 +1,45 @@ + + + + + + net9.0 + enable + BookStore + + + + + + PreserveNewest + true + PreserveNewest + + + + PreserveNewest + Always + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + diff --git a/samples/BookStore/test/BookStore.TestBase/BookStoreTestBase.cs b/samples/WebApp/test/BookStore.TestBase/BookStoreTestBase.cs similarity index 83% rename from samples/BookStore/test/BookStore.TestBase/BookStoreTestBase.cs rename to samples/WebApp/test/BookStore.TestBase/BookStoreTestBase.cs index 2138b57..c38e9e2 100644 --- a/samples/BookStore/test/BookStore.TestBase/BookStoreTestBase.cs +++ b/samples/WebApp/test/BookStore.TestBase/BookStoreTestBase.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Volo.Abp; using Volo.Abp.Modularity; @@ -8,8 +9,6 @@ using Volo.Abp.Testing; namespace BookStore; -/* All test classes are derived from this class, directly or indirectly. - */ public abstract class BookStoreTestBase : AbpIntegratedTest where TStartupModule : IAbpModule { @@ -18,6 +17,14 @@ public abstract class BookStoreTestBase : AbpIntegratedTest func) { return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBaseModule.cs b/samples/WebApp/test/BookStore.TestBase/BookStoreTestBaseModule.cs similarity index 93% rename from samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBaseModule.cs rename to samples/WebApp/test/BookStore.TestBase/BookStoreTestBaseModule.cs index f9337c9..c330b40 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestBaseModule.cs +++ b/samples/WebApp/test/BookStore.TestBase/BookStoreTestBaseModule.cs @@ -7,15 +7,15 @@ using Volo.Abp.Data; using Volo.Abp.Modularity; using Volo.Abp.Threading; -namespace BookStoreWebApp; +namespace BookStore; [DependsOn( typeof(AbpAutofacModule), typeof(AbpTestBaseModule), typeof(AbpAuthorizationModule), typeof(AbpBackgroundJobsAbstractionsModule) - )] -public class BookStoreWebAppTestBaseModule : AbpModule +)] +public class BookStoreTestBaseModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { diff --git a/samples/WebApp/test/BookStore.TestBase/BookStoreTestConsts.cs b/samples/WebApp/test/BookStore.TestBase/BookStoreTestConsts.cs new file mode 100644 index 0000000..41232fe --- /dev/null +++ b/samples/WebApp/test/BookStore.TestBase/BookStoreTestConsts.cs @@ -0,0 +1,6 @@ +namespace BookStore; + +public static class BookStoreTestConsts +{ + public const string CollectionDefinitionName = "BookStore collection"; +} diff --git a/samples/WebApp/test/BookStore.TestBase/BookStoreTestDataBuilder.cs b/samples/WebApp/test/BookStore.TestBase/BookStoreTestDataBuilder.cs new file mode 100644 index 0000000..e7f0cc4 --- /dev/null +++ b/samples/WebApp/test/BookStore.TestBase/BookStoreTestDataBuilder.cs @@ -0,0 +1,26 @@ +using System.Threading.Tasks; +using Volo.Abp.Data; +using Volo.Abp.DependencyInjection; +using Volo.Abp.MultiTenancy; + +namespace BookStore; + +public class BookStoreTestDataSeedContributor : IDataSeedContributor, ITransientDependency +{ + private readonly ICurrentTenant _currentTenant; + + public BookStoreTestDataSeedContributor(ICurrentTenant currentTenant) + { + _currentTenant = currentTenant; + } + + public Task SeedAsync(DataSeedContext context) + { + /* Seed additional test data... */ + + using (_currentTenant.Change(context?.TenantId)) + { + return Task.CompletedTask; + } + } +} diff --git a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/Security/FakeCurrentPrincipalAccessor.cs b/samples/WebApp/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs similarity index 89% rename from samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/Security/FakeCurrentPrincipalAccessor.cs rename to samples/WebApp/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs index bda1dea..8c40ef9 100644 --- a/samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/Security/FakeCurrentPrincipalAccessor.cs +++ b/samples/WebApp/test/BookStore.TestBase/Security/FakeCurrentPrincipalAccessor.cs @@ -1,9 +1,10 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Security.Claims; using Volo.Abp.DependencyInjection; using Volo.Abp.Security.Claims; -namespace BookStoreWebApp.Security; +namespace BookStore.Security; [Dependency(ReplaceServices = true)] public class FakeCurrentPrincipalAccessor : ThreadCurrentPrincipalAccessor diff --git a/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.Development.json b/samples/WebApp/test/BookStore.TestBase/appsettings.json similarity index 100% rename from samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.Development.json rename to samples/WebApp/test/BookStore.TestBase/appsettings.json diff --git a/samples/BookStore/src/BookStore.BlazorServer/appsettings.secrets.json b/samples/WebApp/test/BookStore.TestBase/appsettings.secrets.json similarity index 100% rename from samples/BookStore/src/BookStore.BlazorServer/appsettings.secrets.json rename to samples/WebApp/test/BookStore.TestBase/appsettings.secrets.json