diff --git a/src/Umbraco.Cms.ManagementApi/Configuration/ConfigureMvcOptions.cs b/src/Umbraco.Cms.ManagementApi/Configuration/ConfigureMvcOptions.cs new file mode 100644 index 0000000000..03963c22a3 --- /dev/null +++ b/src/Umbraco.Cms.ManagementApi/Configuration/ConfigureMvcOptions.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; +using Umbraco.Cms.Core; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.New.Cms.Web.Common.Routing; + +namespace Umbraco.Cms.ManagementApi.Configuration; + +public class ConfigureMvcOptions : IConfigureOptions +{ + private readonly IOptions _globalSettings; + + public ConfigureMvcOptions(IOptions globalSettings) + { + _globalSettings = globalSettings; + } + + public void Configure(MvcOptions options) + { + // Replace the BackOfficeToken in routes. + + var backofficePath = _globalSettings.Value.UmbracoPath.TrimStart(Constants.CharArrays.TildeForwardSlash); + options.Conventions.Add(new UmbracoBackofficeToken(Constants.Web.AttributeRouting.BackOfficeToken, backofficePath)); + + } +} diff --git a/src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs b/src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs index 1f57d99e4a..095b4e39e3 100644 --- a/src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs +++ b/src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs @@ -1,21 +1,22 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Diagnostics; +using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Versioning; -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.FileProviders; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; using NSwag.AspNetCore; -using Umbraco.Cms.Core; using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DependencyInjection; -using Umbraco.Cms.Core.Hosting; +using Umbraco.Cms.ManagementApi.Configuration; using Umbraco.Cms.ManagementApi.DependencyInjection; using Umbraco.Cms.Web.Common.ApplicationBuilder; using Umbraco.Extensions; -using Umbraco.New.Cms.Web.Common.Routing; +using IHostingEnvironment = Umbraco.Cms.Core.Hosting.IHostingEnvironment; namespace Umbraco.Cms.ManagementApi; @@ -28,6 +29,8 @@ public class ManagementApiComposer : IComposer public void Compose(IUmbracoBuilder builder) { + // TODO Should just call a single extension method that can be called fromUmbracoTestServerTestBase too, instead of calling this method + IServiceCollection services = builder.Services; builder @@ -59,18 +62,8 @@ public class ManagementApiComposer : IComposer options.AddApiVersionParametersWhenVersionNeutral = true; options.AssumeDefaultVersionWhenUnspecified = true; }); - - // Not super happy with this, but we need to know the UmbracoPath when registering the controller - // To be able to replace the route template token - // TODO this is fixed in Bjarkes PR for v10, and will need to be removed in v11 merge - GlobalSettings? globalSettings = - builder.Config.GetSection(Constants.Configuration.ConfigGlobal).Get(); - var backofficePath = (globalSettings?.UmbracoPath ?? new GlobalSettings().UmbracoPath).TrimStart(Constants.CharArrays.TildeForwardSlash); - - services.AddControllers(options => - { - options.Conventions.Add(new UmbracoBackofficeToken(Constants.Web.AttributeRouting.BackOfficeToken, backofficePath)); - }); + services.AddControllers(); + builder.Services.ConfigureOptions(); builder.Services.Configure(options => { @@ -100,31 +93,46 @@ public class ManagementApiComposer : IComposer applicationBuilder => { IServiceProvider provider = applicationBuilder.ApplicationServices; - GlobalSettings? settings = provider.GetRequiredService>().Value; - IHostingEnvironment hostingEnvironment = provider.GetRequiredService(); - var officePath = settings.GetBackOfficePath(hostingEnvironment); + IWebHostEnvironment webHostEnvironment = provider.GetRequiredService(); - // serve documents (same as app.UseSwagger()) - applicationBuilder.UseOpenApi(config => + if (!webHostEnvironment.IsProduction()) { - config.Path = $"{officePath}/swagger/{{documentName}}/swagger.json"; - }); + GlobalSettings? settings = provider.GetRequiredService>().Value; + IHostingEnvironment hostingEnvironment = provider.GetRequiredService(); + var officePath = settings.GetBackOfficePath(hostingEnvironment); + // serve documents (same as app.UseSwagger()) + applicationBuilder.UseOpenApi(config => + { + config.Path = $"{officePath}/swagger/{{documentName}}/swagger.json"; + }); - // Serve Swagger UI - applicationBuilder.UseSwaggerUi3(config => - { - config.Path = officePath + "/swagger"; - config.SwaggerRoutes.Clear(); - var swaggerPath = $"{officePath}/swagger/{ApiAllName}/swagger.json"; - config.SwaggerRoutes.Add(new SwaggerUi3Route(ApiAllName, swaggerPath)); - }); + // Serve Swagger UI + applicationBuilder.UseSwaggerUi3(config => + { + config.Path = officePath + "/swagger"; + config.SwaggerRoutes.Clear(); + var swaggerPath = $"{officePath}/swagger/{ApiAllName}/swagger.json"; + config.SwaggerRoutes.Add(new SwaggerUi3Route(ApiAllName, swaggerPath)); + }); + } }, applicationBuilder => { + IServiceProvider provider = applicationBuilder.ApplicationServices; + applicationBuilder.UseEndpoints(endpoints => { + GlobalSettings? settings = provider.GetRequiredService>().Value; + IHostingEnvironment hostingEnvironment = provider.GetRequiredService(); + var officePath = settings.GetBackOfficePath(hostingEnvironment); // Maps attribute routed controllers. endpoints.MapControllers(); + + // Serve contract + endpoints.MapGet($"{officePath}/api/openapi.json",async context => + { + await context.Response.SendFileAsync(new EmbeddedFileProvider(this.GetType().Assembly).GetFileInfo("OpenApi.json")); + }); }); } )); diff --git a/src/Umbraco.Cms.ManagementApi/OpenApi.json b/src/Umbraco.Cms.ManagementApi/OpenApi.json new file mode 100644 index 0000000000..47bc9e0fbb --- /dev/null +++ b/src/Umbraco.Cms.ManagementApi/OpenApi.json @@ -0,0 +1,552 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Umbraco Backoffice API", + "description": "This shows all APIs available in this version of Umbraco - Including all the legacy apis that is available for backward compatibility", + "version": "All" + }, + "servers": [ + { + "url": "https://localhost:44331" + } + ], + "paths": { + "/umbraco/api/v1/install/settings": { + "get": { + "tags": [ + "Install" + ], + "operationId": "SettingsInstall_Settings", + "responses": { + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "428": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallSettingsViewModel" + } + } + } + } + } + } + }, + "/umbraco/api/v1/install/setup": { + "post": { + "tags": [ + "Install" + ], + "operationId": "SetupInstall_Setup", + "requestBody": { + "x-name": "installData", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InstallViewModel" + } + } + }, + "required": true, + "x-position": 1 + }, + "responses": { + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "428": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "200": { + "description": "" + } + } + } + }, + "/umbraco/api/v1/install/validateDatabase": { + "post": { + "tags": [ + "Install" + ], + "operationId": "ValidateDatabaseInstall_ValidateDatabase", + "requestBody": { + "x-name": "viewModel", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseInstallViewModel" + } + } + }, + "required": true, + "x-position": 1 + }, + "responses": { + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "200": { + "description": "" + } + } + } + }, + "/umbraco/api/v1/upgrade/authorize": { + "post": { + "tags": [ + "Upgrade" + ], + "operationId": "AuthorizeUpgrade_Authorize", + "responses": { + "200": { + "description": "" + }, + "428": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/umbraco/api/v1/upgrade/settings": { + "get": { + "tags": [ + "Upgrade" + ], + "operationId": "SettingsUpgrade_Settings", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpgradeSettingsViewModel" + } + } + } + }, + "428": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/umbraco/api/v1/server/status": { + "get": { + "tags": [ + "Server" + ], + "operationId": "StatusServer_Get", + "responses": { + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerStatusViewModel" + } + } + } + } + } + } + }, + "/umbraco/api/v1/server/version": { + "get": { + "tags": [ + "Server" + ], + "operationId": "VersionServer_Get", + "responses": { + "400": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VersionViewModel" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ProblemDetails": { + "type": "object", + "additionalProperties": { + "nullable": true + }, + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "detail": { + "type": "string", + "nullable": true + }, + "instance": { + "type": "string", + "nullable": true + } + } + }, + "InstallSettingsViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "user": { + "$ref": "#/components/schemas/UserSettingsViewModel" + }, + "databases": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatabaseSettingsViewModel" + } + } + } + }, + "UserSettingsViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "minCharLength": { + "type": "integer", + "format": "int32" + }, + "minNonAlphaNumericLength": { + "type": "integer", + "format": "int32" + }, + "consentLevels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConsentLevelViewModel" + } + } + } + }, + "ConsentLevelViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "level": { + "$ref": "#/components/schemas/TelemetryLevel" + }, + "description": { + "type": "string" + } + } + }, + "TelemetryLevel": { + "type": "string", + "description": "", + "x-enumNames": [ + "Minimal", + "Basic", + "Detailed" + ], + "enum": [ + "Minimal", + "Basic", + "Detailed" + ] + }, + "DatabaseSettingsViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "format": "guid" + }, + "sortOrder": { + "type": "integer", + "format": "int32" + }, + "displayName": { + "type": "string" + }, + "defaultDatabaseName": { + "type": "string" + }, + "providerName": { + "type": "string" + }, + "isConfigured": { + "type": "boolean" + }, + "requiresServer": { + "type": "boolean" + }, + "serverPlaceholder": { + "type": "string" + }, + "requiresCredentials": { + "type": "boolean" + }, + "supportsIntegratedAuthentication": { + "type": "boolean" + }, + "requiresConnectionTest": { + "type": "boolean" + } + } + }, + "InstallViewModel": { + "type": "object", + "additionalProperties": false, + "required": [ + "user", + "database" + ], + "properties": { + "user": { + "$ref": "#/components/schemas/UserInstallViewModel" + }, + "database": { + "$ref": "#/components/schemas/DatabaseInstallViewModel" + }, + "telemetryLevel": { + "$ref": "#/components/schemas/TelemetryLevel" + } + } + }, + "UserInstallViewModel": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "email", + "password" + ], + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "minLength": 0 + }, + "email": { + "type": "string", + "format": "email", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + }, + "subscribeToNewsletter": { + "type": "boolean" + } + } + }, + "DatabaseInstallViewModel": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "providerName" + ], + "properties": { + "id": { + "type": "string", + "format": "guid", + "minLength": 1 + }, + "providerName": { + "type": "string", + "minLength": 1 + }, + "server": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "useIntegratedAuthentication": { + "type": "boolean" + }, + "connectionString": { + "type": "string", + "nullable": true + } + } + }, + "UpgradeSettingsViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "currentState": { + "type": "string" + }, + "newState": { + "type": "string" + }, + "newVersion": { + "type": "string" + }, + "oldVersion": { + "type": "string" + }, + "reportUrl": { + "type": "string" + } + } + }, + "ServerStatusViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "serverStatus": { + "$ref": "#/components/schemas/RuntimeLevel" + } + } + }, + "RuntimeLevel": { + "type": "string", + "description": "Describes the levels in which the runtime can run.\n ", + "x-enumNames": [ + "Unknown", + "Boot", + "Install", + "Upgrade", + "Run", + "BootFailed" + ], + "enum": [ + "Unknown", + "Boot", + "Install", + "Upgrade", + "Run", + "BootFailed" + ] + }, + "VersionViewModel": { + "type": "object", + "additionalProperties": false, + "properties": { + "version": { + "type": "string" + } + } + } + } + }, + "tags": [ + { + "name": "Upgrade" + }, + { + "name": "Server" + }, + { + "name": "Install" + } + ] +} diff --git a/src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj b/src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj index a3a34e178b..2f4296cb89 100644 --- a/src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj +++ b/src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj @@ -26,4 +26,9 @@ all + + + + + diff --git a/src/Umbraco.Infrastructure/WebAssets/BackOfficeWebAssets.cs b/src/Umbraco.Infrastructure/WebAssets/BackOfficeWebAssets.cs index 56f740804e..ab25dc691c 100644 --- a/src/Umbraco.Infrastructure/WebAssets/BackOfficeWebAssets.cs +++ b/src/Umbraco.Infrastructure/WebAssets/BackOfficeWebAssets.cs @@ -59,6 +59,8 @@ public class BackOfficeWebAssets BundlingOptions.NotOptimizedAndComposite, FormatPaths( "assets/css/umbraco.min.css", + "lib/umbraco-ui/uui-css/dist/custom-properties.css", + "lib/umbraco-ui/uui-css/dist/uui-text.css", "lib/bootstrap-social/bootstrap-social.css", "lib/font-awesome/css/font-awesome.min.css")); diff --git a/src/Umbraco.Infrastructure/WebAssets/JsInitialize.js b/src/Umbraco.Infrastructure/WebAssets/JsInitialize.js index 0cfd9384ba..1d7068c425 100644 --- a/src/Umbraco.Infrastructure/WebAssets/JsInitialize.js +++ b/src/Umbraco.Infrastructure/WebAssets/JsInitialize.js @@ -35,6 +35,8 @@ 'lib/umbraco/NamespaceManager.js', 'lib/umbraco/LegacySpeechBubble.js', + 'lib/umbraco-ui/uui/dist/uui.min.js', + 'js/utilities.min.js', 'js/app.min.js', diff --git a/src/Umbraco.Web.UI.Client/gulp/tasks/dependencies.js b/src/Umbraco.Web.UI.Client/gulp/tasks/dependencies.js index 449a678203..5b4029386f 100644 --- a/src/Umbraco.Web.UI.Client/gulp/tasks/dependencies.js +++ b/src/Umbraco.Web.UI.Client/gulp/tasks/dependencies.js @@ -279,6 +279,16 @@ function dependencies() { "./node_modules/wicg-inert/dist/inert.min.js.map" ], "base": "./node_modules/wicg-inert" + }, + { + "name": "umbraco-ui", + "src": [ + "./node_modules/@umbraco-ui/uui/dist/uui.min.js", + "./node_modules/@umbraco-ui/uui/dist/uui.min.js.map", + "./node_modules/@umbraco-ui/uui-css/dist/custom-properties.css", + "./node_modules/@umbraco-ui/uui-css/dist/uui-text.css" + ], + "base": "./node_modules/@umbraco-ui" } ]; diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index c054a82a3a..d472f50561 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -7,6 +7,8 @@ "name": "ui", "dependencies": { "@microsoft/signalr": "6.0.9", + "@umbraco-ui/uui": "1.0.1", + "@umbraco-ui/uui-css": "1.0.0", "ace-builds": "1.10.1", "angular": "1.8.3", "angular-animate": "1.8.3", @@ -1855,6 +1857,11 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@lit/reactive-element": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.4.1.tgz", + "integrity": "sha512-qDv4851VFSaBWzpS02cXHclo40jsbAjRXnebNXpm0uVg32kCneZPo9RYVQtrTNICtZ+1wAYHu1ZtxWSWMbKrBw==" + }, "node_modules/@microsoft/signalr": { "version": "6.0.9", "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-6.0.9.tgz", @@ -1991,6 +1998,720 @@ "dev": true, "optional": true }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "node_modules/@umbraco-ui/uui": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.0.1.tgz", + "integrity": "sha512-OpVGx6B+iCpFK6ZMpXzBW55ETZG0TKRFtQk98OwXOK+7WHR1BfxtV/R/eM2VGA/85GY6HxYKZuNcmv7btL+NcA==", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.0.0", + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-avatar-group": "1.0.0", + "@umbraco-ui/uui-badge": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0", + "@umbraco-ui/uui-box": "1.0.0", + "@umbraco-ui/uui-breadcrumbs": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0", + "@umbraco-ui/uui-button-inline-create": "1.0.1", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-card-content-node": "1.0.0", + "@umbraco-ui/uui-card-media": "1.0.0", + "@umbraco-ui/uui-card-user": "1.0.0", + "@umbraco-ui/uui-caret": "1.0.0", + "@umbraco-ui/uui-checkbox": "1.0.0", + "@umbraco-ui/uui-combobox": "1.1.0", + "@umbraco-ui/uui-combobox-list": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0", + "@umbraco-ui/uui-dialog": "1.0.0", + "@umbraco-ui/uui-dialog-layout": "1.0.0", + "@umbraco-ui/uui-file-dropzone": "1.0.0", + "@umbraco-ui/uui-file-preview": "1.0.0", + "@umbraco-ui/uui-form": "1.0.0", + "@umbraco-ui/uui-form-layout-item": "1.0.0", + "@umbraco-ui/uui-form-validation-message": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0", + "@umbraco-ui/uui-input-file": "1.0.0", + "@umbraco-ui/uui-input-lock": "1.0.0", + "@umbraco-ui/uui-input-password": "1.0.0", + "@umbraco-ui/uui-keyboard-shortcut": "1.0.0", + "@umbraco-ui/uui-label": "1.0.0", + "@umbraco-ui/uui-loader": "1.0.0", + "@umbraco-ui/uui-loader-bar": "1.0.0", + "@umbraco-ui/uui-loader-circle": "1.0.0", + "@umbraco-ui/uui-menu-item": "1.0.0", + "@umbraco-ui/uui-pagination": "1.0.0", + "@umbraco-ui/uui-popover": "1.0.0", + "@umbraco-ui/uui-progress-bar": "1.0.0", + "@umbraco-ui/uui-radio": "1.0.0", + "@umbraco-ui/uui-ref": "1.0.0", + "@umbraco-ui/uui-ref-list": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0", + "@umbraco-ui/uui-ref-node-data-type": "1.0.0", + "@umbraco-ui/uui-ref-node-document-type": "1.0.0", + "@umbraco-ui/uui-ref-node-form": "1.0.0", + "@umbraco-ui/uui-ref-node-member": "1.0.0", + "@umbraco-ui/uui-ref-node-package": "1.0.0", + "@umbraco-ui/uui-ref-node-user": "1.0.0", + "@umbraco-ui/uui-scroll-container": "1.0.0", + "@umbraco-ui/uui-select": "1.0.0", + "@umbraco-ui/uui-slider": "1.0.0", + "@umbraco-ui/uui-symbol-expand": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.0.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0", + "@umbraco-ui/uui-symbol-lock": "1.0.0", + "@umbraco-ui/uui-symbol-more": "1.0.0", + "@umbraco-ui/uui-symbol-sort": "1.0.0", + "@umbraco-ui/uui-table": "1.0.0", + "@umbraco-ui/uui-tabs": "1.0.0", + "@umbraco-ui/uui-tag": "1.0.0", + "@umbraco-ui/uui-textarea": "1.0.0", + "@umbraco-ui/uui-toast-notification": "1.0.0", + "@umbraco-ui/uui-toast-notification-container": "1.0.0", + "@umbraco-ui/uui-toast-notification-layout": "1.0.0", + "@umbraco-ui/uui-toggle": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-action-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.0.0.tgz", + "integrity": "sha512-YLZHjT2S7cSBGdjdcxORrW0s6qjRBgIun3XKPdBHQU8ihfdd3w/hxrr9Ux4BNsXYcadT0O8at1gEM2Ny8CxWkg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-avatar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.0.0.tgz", + "integrity": "sha512-aNYkFiKLpEXvDukU4J3o0SwJxQgvqfGKPZh+9mDbirwRLuG1JUefLy5n5pOp2dXAHUTO8WzxLTJNXB5RGnc9/Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-avatar-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.0.0.tgz", + "integrity": "sha512-IVWaDcbilL8upSd7y3MrMYyXvADvjUjBZRbUxk2bRdthTCUgJ0vpdrp6m84CP25SQjaMzGV0NkYQ7+H00ukhKw==", + "dependencies": { + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-badge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.0.0.tgz", + "integrity": "sha512-b2oIlWk7YbDvU2lMeBNMhYdit0P8FCM5HF6SXvNwb8pEu8z2VLs8VX1u0E7pJm/dSiKZOT0GDXm16E0CrH5siw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.0.0.tgz", + "integrity": "sha512-8AC1USDYUEN372zwGs4ksQ7utt8MiuP8mcDwnYMY5naaqT9ikNU2ObLxyvbZBe1HqbV8sc2tLW3SFNeBmQATHg==", + "dependencies": { + "lit": "^2.2.8" + } + }, + "node_modules/@umbraco-ui/uui-boolean-input": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.0.0.tgz", + "integrity": "sha512-2Y7v6Ph4rTMR8InoZPch0H7TDPW/RlC1y8bpW+XT/dA8kexw+MQ1VLikm7JrYq6OM8CuwN5lG3+NgGRL/LcsCQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.0.0.tgz", + "integrity": "sha512-UDJYrzlY9hk32DCVJofxoTJBQXRcxr2MsHa2Wyz/R3MThgzKKW6uzZjE89jM07c8KBuuh4TfXzpnp2H/e7XPQw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-breadcrumbs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.0.0.tgz", + "integrity": "sha512-zP2hn+bnxSNayLE9Akd4TEFkK/pf97ed+bWtEX476fw3yYuES3ftdZlZOt8owOr0sa/RpsURunY88LTlV5ojPg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-button": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.0.0.tgz", + "integrity": "sha512-inZIxSnWhBFIUhQEXwTD6Wc5F8zfax0prkXoqf2fUKKo+hoWtroxh8Itgv0/oXKlXxujOHFqtWEaUaUr9e7+nQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-button-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.0.0.tgz", + "integrity": "sha512-2tK+Q6m7j4/pKOPHG/GG9dAHNA1l44xn6OVC1xCLgfrEBRReBj0bvo9hRDnJsA9TKKc9mkrTwhRMffJKP14upg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-button-inline-create": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.0.1.tgz", + "integrity": "sha512-+V3anQI8WPT/5TrQ2P5X1fQw21urMB3cpP6/PnskVQr29Ql36XTmRZg5M6b3aaZ+/66jlyfnPhDkYodv4dqgfg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-card": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.0.0.tgz", + "integrity": "sha512-Pa2SUGbNHY98M2SvccXoJ21yxSIxKdyhcUBJoL2Nk1BS3NfT0g0KFRYyRBnQF1RUb3rZr2S6xu8Ru7ECXdGE7Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-card-content-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.0.0.tgz", + "integrity": "sha512-H+Kw82/ZuISd85g/2es8vvcEl9Am63idU/Qvn/CALkPEkLHVQxbB80zWsBzCMND01ORu4X2KFxDruVXPexbyIA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-card-media": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.0.0.tgz", + "integrity": "sha512-NeAy+osJJrq0oxp8t11JroF9DFk5Wo3WV/5BNXw5JnE4OnSH4lpHvJPmioEyf2cVjNZEze41TyzaZ42NlN2LHA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-card-user": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.0.0.tgz", + "integrity": "sha512-nwQPIYWlTvrBpPvZLFyfqARLOgSVnnoQrUY6joNdX585Q0PZPVfTZhGTuAPJ9KhZ9cjqoY9Yh3iZgm3FNb8gNQ==", + "dependencies": { + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-caret": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.0.0.tgz", + "integrity": "sha512-o/Ys4AlOyiMSEHH0F0gh5+uiY/7GL2ZbxSCq+NznebapfKlxxyAi7qNrZo3MuG2cUpfEAoQrGSHs47CRaam3fA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-checkbox": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.0.0.tgz", + "integrity": "sha512-x8uGRQZ0S7uVSdnLa1tqVv3uEvZSrzTuBLkkV4sjQGL3B7oNLmKyrMEXep0WVAMkholRBHI7XZOIt4KyPPq/QA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-combobox": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.1.0.tgz", + "integrity": "sha512-yIlWF9VCjgfugjzUubShShMg2Lgfjl1/NSevjiMmabh9bR3QWWBTJt1Z6bocMqhf7dznsJjQkSeSwdeSPnbOHA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-combobox-list": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-scroll-container": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-combobox-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.0.0.tgz", + "integrity": "sha512-1DbfM5w/rclqqeiIyfeTgLLFpM4yNGqx5AQbRpUvg3VV+u9PrL0jc860VHH4moBSoyO/I9dWMRuODhoMVV9Y/g==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-css": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.0.0.tgz", + "integrity": "sha512-PiK9umjoUORVtYFXRCL1CySSDJbJFxx96voXuW+0R9Fd8NUsYt2AsfoerH0m9MBJoY0ofQhvu1e4UOfU61Xkgg==", + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/@umbraco-ui/uui-dialog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.0.0.tgz", + "integrity": "sha512-Dnwj2YyEbgiLpG4tQPzX+YO9+AwMoNwK6eFF9CzF4pS0nG5PhX4zTczvr2AWdOWHL5YmzIMgNAXJaenF+8FwYA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-dialog-layout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.0.0.tgz", + "integrity": "sha512-i/ney/ouoqiELUVUrhijkcd+HKdVwhdo+2YyZr5R17tbYT+GKBBb7VH3/aE1RBSohtH+9B/xrq0LubVqPkk2Qw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-file-dropzone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.0.0.tgz", + "integrity": "sha512-XCBisuJL/NPsHjLhJpcBfiSLJqZilkGeomxk7BEMtAWFzWUuJZQkn/+W1MemSXmEC0xzEgNVpIfQNFjZi4glTA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-file-preview": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.0.0.tgz", + "integrity": "sha512-WaDD8T8NVJpzkwkuJBAEozM2n9T1VtBw8VjfH6orBFt+ndVnRhfEQBwiVml5FVNqn8LSNNmrkHsZkClxvoLEYg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-form": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.0.0.tgz", + "integrity": "sha512-kTowxBT3+h1rD8gTyTDkzZIocLVGKcqoNTkR1Ca84cmTKQSFMvuMvFbbhn8mkXNLhswv8r6EAt3b8zWOy3tMXQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-form-layout-item": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.0.0.tgz", + "integrity": "sha512-TP35z3rOloKfIYVvQq/4cK/CX4UuK/8Cl1Sk1YNlh4g4na3RnageJIfXdU0LUs+crLE/4T8pq5gzjI6So22d3g==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-form-validation-message": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-form-validation-message": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.0.0.tgz", + "integrity": "sha512-IqYFfDwvuMJZroP5Fiz2VIitM61qq2XNCXUJ8xXxwLWj1Q3v3Mrxv9vJ+5G6CBJnSp4/gekfQpfMNhnCBOvxZA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-icon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.0.0.tgz", + "integrity": "sha512-OYj9kcsfiuAhQ0yAoQtLZKWWF6cknAoXnOZYgwcuopfRG6YxIQS3rukSNz4AsoBc6Mp53TV5TB4EGEBZOXvISA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-icon-registry": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.0.0.tgz", + "integrity": "sha512-2zj29JsoJF3FmRdTt8xaSebgs2WtSGxAglEOjM78qGGOlafSkyYelzuRGA0NP47HOH3MKp3vzL1Z1AQ2Hr31iw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-icon-registry-essential": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.0.0.tgz", + "integrity": "sha512-1H2liA9/uyYqlR4E44RBTZiOlyrKgCSaJT6ytNiaBo6Br8kWqWTeDXBXngttGENQQ++eBKiUnLDVJC91xbPXug==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-input": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.0.0.tgz", + "integrity": "sha512-gNsE5FFvxr67gT2nFlHhlF4OtxSbA7JLvSmNTvCHtEToc6O6iU/CuepRJeoczrOAc7MvAWBx2x39/mhnIXNldA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-input-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.0.0.tgz", + "integrity": "sha512-y9BZuhaluIBcpjXNj9xZcTNZHg+rYvUlum7os/uyjo7TZQNEitIveEkoemIWy7tpH3/Dt3ql8XMxGa8Mulq9kA==", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-file-dropzone": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-input-lock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.0.0.tgz", + "integrity": "sha512-AHKJl5rvVEsvoRWsrC9rRACUjjP7Zz9veJQd0LDUm21DrDOaWF6cw3lljqKr2bex6KhoF+W4hyV9PDDPPx3umA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-input-password": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.0.0.tgz", + "integrity": "sha512-oJPUesd3mNU26ZEqLy3LQxUndMk3Qa8Yn/TTnCz4itGnF1rl2FqNcLwrRhUnTPKU9g5VI+9xC2rMYQxNPjDdmQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-keyboard-shortcut": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.0.0.tgz", + "integrity": "sha512-7QZugPgLsLVFNJPg/jnPDyhtTK2WqNEKxdUQ9Hbv2RDVBJbuprnSthzUMKpDeu7+IV1UNDZd3oxSUOpfgLV/EQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-label": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.0.0.tgz", + "integrity": "sha512-Kp3T8Mcjvak8nROPZwG6N81haDTSZfMH0FGrpWmwKJyCTEbtftrI3XqbsgCiSElikDVQJfmE/tA+l2zz9Wsoyw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.0.0.tgz", + "integrity": "sha512-5IXyi2lTl23KXxd+BcHUKLxqApanmp/h2ocDGo45P2OalajgagMottHFQ8Xj05KNLmMyOtv5kT8/Z8Vvdrcn2w==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-loader-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.0.0.tgz", + "integrity": "sha512-r4z8VLtYJw/l4af37w9NQr1pNo2ZnWLtZyEVhNWafLQmXZzPSBpMd5Z62kzGQx6dU7FoRT0mgsbjfVQcYK+oJg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-loader-circle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.0.0.tgz", + "integrity": "sha512-dLL5+yPlChpj9euvCwq+hPDmMu2yCF+PeRvoDdQXxfgqCqhk144VIgiknErTByfUpCot9PApOnquwiIpdbzu6w==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-menu-item": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.0.0.tgz", + "integrity": "sha512-dgxl/bKbjH2YykrpKc/qk4AtzdwD/xUPtFB/dj9b+JJnNyam8LyZEYgZVVveayCETruxN2FVUMIaf1xLaswRVw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-loader-bar": "1.0.0", + "@umbraco-ui/uui-symbol-expand": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-pagination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.0.0.tgz", + "integrity": "sha512-Io3zO/BHHSHxNu0vUFJ50n4Pb/b+3m2YHfigfjUuAcN+68NxnOtuUziMCCoJnl/eri2f6/ha5HI5nVcm5jEziQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-popover": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.0.0.tgz", + "integrity": "sha512-kudJMrSOnEP7hIhNgPVVjoG13UU+ouNNYD4mat4lJ3b5CdjOWQLlUxlSEVQFMMieVHW0O3tO6tDMdyUhecEsCg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-progress-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.0.0.tgz", + "integrity": "sha512-+lPn2U82UVySLz6hGZ6u1C3Wa4F4/EiGWYiSMrZs1YDRMiXfD5dtViLdrpa24VuWk9kr5E7VR8XN/d7H+ns3pg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-radio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.0.0.tgz", + "integrity": "sha512-iD3l2JacoAkZvyphxZqp7+IU80kLwSDfCewTr3ntlGlpCuSXOJHA/ppz8hAcLIngTaijAFjqdufYq3wbOBMgqQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.0.0.tgz", + "integrity": "sha512-9oMLXn64VU8JRhTW9TM9xTNeLMYezmHh2mCdBKw7khYVL9Jss8tC6Is5WsQ52ocUPB5RTVyF7pua1ByYFhgghQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.0.0.tgz", + "integrity": "sha512-lX+JK/WoD2m60ehZC7od/9EtCIYhvTYEIUOM7pcR+3hFOnEph1JprQjoRUwcrJmAe9qXCsaDiQ3IA7Cp84eMOQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.0.0.tgz", + "integrity": "sha512-2InpH96gVpdMeT8i70jdPvyXWb+gmmgucKhvbcuQ6zeHIrpUzdfkgjsZVPMjzJp9czDxlBSScjsXHa6QpRIffg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-ref": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-data-type": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.0.0.tgz", + "integrity": "sha512-/QDBMKAaEAUEVPajPt2fCP+YfeZvmnAg4xJdjaUb5mCS/GYoqPpkKoBa1w4iVsErPJtKdzA6QL8iyLEbcVleow==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-document-type": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.0.0.tgz", + "integrity": "sha512-mRm6XBQDjAb6WBXQkOUZBbAJTNjPStRNMlw+48fp9W93nMMizJwhdpqU01m93+6ADzkG7OkFGBIb88kfRXMezQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-form": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.0.0.tgz", + "integrity": "sha512-p1wPUVgvJ9B8ZWZLXDEduMfCq4/GyjKYsOtfxvl8hx1HvhoVWfEZmOHFg1XBdw+TTkz2ytWAsv2rPKwYDpqUEw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-member": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.0.0.tgz", + "integrity": "sha512-M1DNGt0XSSGkzc9oiCEKupjtGlSElFlaoRI5ENGbfxdX/b66BiEq3hrCCvOf8VeCffK31Rlhaw7vXs2gCPyDPg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-package": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.0.0.tgz", + "integrity": "sha512-Erh5q+dOfgXfhR26yM92b9qZsWcwgZ5mXr0C6LpXzYgfIe+xJ1gEFQ7IwCNKw4j+N+obgBw4ZQfnbjpW0m5ueQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-ref-node-user": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.0.0.tgz", + "integrity": "sha512-RS0g9/7nPrzRRC8KsjPjghYY8cUQdcsj6wwOj4ketgYUO2g3mX0SaYvbwD+x1vrOYqKRG9X1btbtVD8o0iVQ0w==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-scroll-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.0.0.tgz", + "integrity": "sha512-8P+2GG4MN7WDH80+wBLgTBpRUHoN3zMLaTlOElZyYGm21aGfu1kYzby9b+vX4ecJk6F3cEGGIqHj0jhPPdUN9Q==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.0.0.tgz", + "integrity": "sha512-PRqTrxg0GV/+1CgHU8rbS+7lcaGx5W+JbyRKB5RTwrLq8eZ1F2dT4/PVtR/om23x0JDA86qarav5kcIF5KaNyw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-slider": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.0.0.tgz", + "integrity": "sha512-0un7TO+sP66min0eS/IjUUSdtZc2Fq5ilM0Eu9CKWWIcoS17n+AjwErINByace3zUCjuFHy5KpqlPvU183IoBA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-expand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.0.0.tgz", + "integrity": "sha512-jngwZDDcshth22flb1JVywz6eCOrwQ93+ea+HBzoGDm1cwID1I9Ik8fMAXmE4XGfc+upna/p3kU9b0d/SvlU4w==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.0.0.tgz", + "integrity": "sha512-1WfNr4NbvgBpdN/TX6/vO1v6il35MgpKBW+HQMVeFwCtmotRXGaS9hcwSSN80xESdlkybrJ/H8Nq81TFq1z2qg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file-dropzone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.0.0.tgz", + "integrity": "sha512-xYbpcnZd+dUfq30YoMDERkQ+RZagwQ3wE2nUfC5lEdKyxEO7DedFLZYcQijj6LUAxcrlMUFkTpWmLAmmT4Ovxg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-file-thumbnail": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.0.0.tgz", + "integrity": "sha512-8LvS4StbUqyglw6K8ojlNuh1lLbhozz5b1UWLE/MsR8TpA9eZGuwx9CgarU4CGJlvwI6pEQcRFu4Eb0FPqvqEA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-folder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.0.0.tgz", + "integrity": "sha512-AK38UMcBiA312ZHRx1+PSKo5NL2jYQxLLYo8e75GwymJ2VwE/AF08RvIJRBfmk4N21yoRxlKos1xhvBkyO6+Kw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-lock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.0.0.tgz", + "integrity": "sha512-oFTfFvJk6Qiu2QrTBgz4KsCbVKC48jXO20pP1EGylVgP0AyMMWMaTJjFb5A32ifkRv77A8b9Xc0/sppUUeXXzw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-more": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.0.0.tgz", + "integrity": "sha512-Ld2hWfcJsVgEsKrfwRFl2dd4hJQw1+xF4zC5yVVNp/65e+Hv3aGSB6GsWKcj3aA0XlMOChJcUiTyi1yQ8vd4lQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-symbol-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.0.0.tgz", + "integrity": "sha512-Se52onHvKVOa6AOJC5W7QaTixsa2oN6RhlN+ZTxXi7wZfKG9nKDC9mcNd5OS6A35Y//0KZjVTnwtYWcTmSeJoA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-table": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.0.0.tgz", + "integrity": "sha512-BbJp6Fuyt3cemxjJRcLV299vZxg2kvJnSHLPsSYWB83xqGyuFRP+S87WmMkNa4vu7kkUlj1sWmcOtS1vD4vQkA==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.0.0.tgz", + "integrity": "sha512-2EbmmzDMgC315T0b6xE7RjWCBqOUL7SRnX8JgBShN/ekiLKSPalkhnuKi1D9ZEvrC1hupwpgh8Vjt2szTU905g==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.0.0.tgz", + "integrity": "sha512-gWN+JqtTy9emyjQWJFIEtYmmO6s1GWEeBFE+HcNFdBFoksugtK8850plwUMaQOP4vaHlOxK0Qf5Cm9lVaXm7Yw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-textarea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.0.0.tgz", + "integrity": "sha512-zoxVq5UDlGTD/aVe1fGYH3fIHYO/IjsN2FEeeVg1hAC97EzhB0Gi72XzuSJHVZFdd+JjWCr8aXmOioSbcqxFyw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.0.0.tgz", + "integrity": "sha512-5IjK92Q4awsnHGawPqKDRC+d/LOpXXPGb5IkhunogEyDtgp5Yy1EqrYS5dHkGVTR7fOFVqtVMN0pOVJCnZi3rw==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.0.0.tgz", + "integrity": "sha512-XIjhBJzUF4+2eBXjNcOc232Z6FRvq7m8YNLycwE4I3C9mzWaTUiXKB7Ovt587MlqCZZUSy6XtKqkI9DV+nJIVg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-toast-notification": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toast-notification-layout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.0.0.tgz", + "integrity": "sha512-2rSHdgwmcb4V7XcKBl2pbJLfU4E1ttOONQjg4BgpFKMP1HK86snBmcRYWjIiVP6lBz1cTFq/B+PPgaQX7KITvg==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "node_modules/@umbraco-ui/uui-toggle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.0.0.tgz", + "integrity": "sha512-3OgU9fP+CpnNsIn5+GSUjJoakWRIC+ziBSJC3C8Dr9ScksS5oR/d1WFNk/HsUvPh/QNZAQ6dU73CJ2xzprwgrQ==", + "dependencies": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0" + } + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -10403,6 +11124,33 @@ "node": ">=10" } }, + "node_modules/lit": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.3.1.tgz", + "integrity": "sha512-TejktDR4mqG3qB32Y8Lm5Lye3c8SUehqz7qRsxe1PqGYL6me2Ef+jeQAEqh20BnnGncv4Yxy2njEIT0kzK1WCw==", + "dependencies": { + "@lit/reactive-element": "^1.4.0", + "lit-element": "^3.2.0", + "lit-html": "^2.3.0" + } + }, + "node_modules/lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "dependencies": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "node_modules/lit-html": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.3.1.tgz", + "integrity": "sha512-FyKH6LTW6aBdkfNhNSHyZTnLgJSTe5hMk7HFtc/+DcN1w74C215q8B+Cfxc2OuIEpBNcEKxgF64qL8as30FDHA==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -17710,6 +18458,11 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@lit/reactive-element": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.4.1.tgz", + "integrity": "sha512-qDv4851VFSaBWzpS02cXHclo40jsbAjRXnebNXpm0uVg32kCneZPo9RYVQtrTNICtZ+1wAYHu1ZtxWSWMbKrBw==" + }, "@microsoft/signalr": { "version": "6.0.9", "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-6.0.9.tgz", @@ -17825,6 +18578,720 @@ "dev": true, "optional": true }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "@umbraco-ui/uui": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.0.1.tgz", + "integrity": "sha512-OpVGx6B+iCpFK6ZMpXzBW55ETZG0TKRFtQk98OwXOK+7WHR1BfxtV/R/eM2VGA/85GY6HxYKZuNcmv7btL+NcA==", + "requires": { + "@umbraco-ui/uui-action-bar": "1.0.0", + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-avatar-group": "1.0.0", + "@umbraco-ui/uui-badge": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0", + "@umbraco-ui/uui-box": "1.0.0", + "@umbraco-ui/uui-breadcrumbs": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0", + "@umbraco-ui/uui-button-inline-create": "1.0.1", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-card-content-node": "1.0.0", + "@umbraco-ui/uui-card-media": "1.0.0", + "@umbraco-ui/uui-card-user": "1.0.0", + "@umbraco-ui/uui-caret": "1.0.0", + "@umbraco-ui/uui-checkbox": "1.0.0", + "@umbraco-ui/uui-combobox": "1.1.0", + "@umbraco-ui/uui-combobox-list": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0", + "@umbraco-ui/uui-dialog": "1.0.0", + "@umbraco-ui/uui-dialog-layout": "1.0.0", + "@umbraco-ui/uui-file-dropzone": "1.0.0", + "@umbraco-ui/uui-file-preview": "1.0.0", + "@umbraco-ui/uui-form": "1.0.0", + "@umbraco-ui/uui-form-layout-item": "1.0.0", + "@umbraco-ui/uui-form-validation-message": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0", + "@umbraco-ui/uui-input-file": "1.0.0", + "@umbraco-ui/uui-input-lock": "1.0.0", + "@umbraco-ui/uui-input-password": "1.0.0", + "@umbraco-ui/uui-keyboard-shortcut": "1.0.0", + "@umbraco-ui/uui-label": "1.0.0", + "@umbraco-ui/uui-loader": "1.0.0", + "@umbraco-ui/uui-loader-bar": "1.0.0", + "@umbraco-ui/uui-loader-circle": "1.0.0", + "@umbraco-ui/uui-menu-item": "1.0.0", + "@umbraco-ui/uui-pagination": "1.0.0", + "@umbraco-ui/uui-popover": "1.0.0", + "@umbraco-ui/uui-progress-bar": "1.0.0", + "@umbraco-ui/uui-radio": "1.0.0", + "@umbraco-ui/uui-ref": "1.0.0", + "@umbraco-ui/uui-ref-list": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0", + "@umbraco-ui/uui-ref-node-data-type": "1.0.0", + "@umbraco-ui/uui-ref-node-document-type": "1.0.0", + "@umbraco-ui/uui-ref-node-form": "1.0.0", + "@umbraco-ui/uui-ref-node-member": "1.0.0", + "@umbraco-ui/uui-ref-node-package": "1.0.0", + "@umbraco-ui/uui-ref-node-user": "1.0.0", + "@umbraco-ui/uui-scroll-container": "1.0.0", + "@umbraco-ui/uui-select": "1.0.0", + "@umbraco-ui/uui-slider": "1.0.0", + "@umbraco-ui/uui-symbol-expand": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.0.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0", + "@umbraco-ui/uui-symbol-lock": "1.0.0", + "@umbraco-ui/uui-symbol-more": "1.0.0", + "@umbraco-ui/uui-symbol-sort": "1.0.0", + "@umbraco-ui/uui-table": "1.0.0", + "@umbraco-ui/uui-tabs": "1.0.0", + "@umbraco-ui/uui-tag": "1.0.0", + "@umbraco-ui/uui-textarea": "1.0.0", + "@umbraco-ui/uui-toast-notification": "1.0.0", + "@umbraco-ui/uui-toast-notification-container": "1.0.0", + "@umbraco-ui/uui-toast-notification-layout": "1.0.0", + "@umbraco-ui/uui-toggle": "1.0.0" + } + }, + "@umbraco-ui/uui-action-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.0.0.tgz", + "integrity": "sha512-YLZHjT2S7cSBGdjdcxORrW0s6qjRBgIun3XKPdBHQU8ihfdd3w/hxrr9Ux4BNsXYcadT0O8at1gEM2Ny8CxWkg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0" + } + }, + "@umbraco-ui/uui-avatar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.0.0.tgz", + "integrity": "sha512-aNYkFiKLpEXvDukU4J3o0SwJxQgvqfGKPZh+9mDbirwRLuG1JUefLy5n5pOp2dXAHUTO8WzxLTJNXB5RGnc9/Q==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-avatar-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.0.0.tgz", + "integrity": "sha512-IVWaDcbilL8upSd7y3MrMYyXvADvjUjBZRbUxk2bRdthTCUgJ0vpdrp6m84CP25SQjaMzGV0NkYQ7+H00ukhKw==", + "requires": { + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-badge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.0.0.tgz", + "integrity": "sha512-b2oIlWk7YbDvU2lMeBNMhYdit0P8FCM5HF6SXvNwb8pEu8z2VLs8VX1u0E7pJm/dSiKZOT0GDXm16E0CrH5siw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.0.0.tgz", + "integrity": "sha512-8AC1USDYUEN372zwGs4ksQ7utt8MiuP8mcDwnYMY5naaqT9ikNU2ObLxyvbZBe1HqbV8sc2tLW3SFNeBmQATHg==", + "requires": { + "lit": "^2.2.8" + } + }, + "@umbraco-ui/uui-boolean-input": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.0.0.tgz", + "integrity": "sha512-2Y7v6Ph4rTMR8InoZPch0H7TDPW/RlC1y8bpW+XT/dA8kexw+MQ1VLikm7JrYq6OM8CuwN5lG3+NgGRL/LcsCQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.0.0.tgz", + "integrity": "sha512-UDJYrzlY9hk32DCVJofxoTJBQXRcxr2MsHa2Wyz/R3MThgzKKW6uzZjE89jM07c8KBuuh4TfXzpnp2H/e7XPQw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "@umbraco-ui/uui-breadcrumbs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.0.0.tgz", + "integrity": "sha512-zP2hn+bnxSNayLE9Akd4TEFkK/pf97ed+bWtEX476fw3yYuES3ftdZlZOt8owOr0sa/RpsURunY88LTlV5ojPg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-button": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.0.0.tgz", + "integrity": "sha512-inZIxSnWhBFIUhQEXwTD6Wc5F8zfax0prkXoqf2fUKKo+hoWtroxh8Itgv0/oXKlXxujOHFqtWEaUaUr9e7+nQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "@umbraco-ui/uui-button-group": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.0.0.tgz", + "integrity": "sha512-2tK+Q6m7j4/pKOPHG/GG9dAHNA1l44xn6OVC1xCLgfrEBRReBj0bvo9hRDnJsA9TKKc9mkrTwhRMffJKP14upg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-button-inline-create": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.0.1.tgz", + "integrity": "sha512-+V3anQI8WPT/5TrQ2P5X1fQw21urMB3cpP6/PnskVQr29Ql36XTmRZg5M6b3aaZ+/66jlyfnPhDkYodv4dqgfg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-card": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.0.0.tgz", + "integrity": "sha512-Pa2SUGbNHY98M2SvccXoJ21yxSIxKdyhcUBJoL2Nk1BS3NfT0g0KFRYyRBnQF1RUb3rZr2S6xu8Ru7ECXdGE7Q==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-card-content-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.0.0.tgz", + "integrity": "sha512-H+Kw82/ZuISd85g/2es8vvcEl9Am63idU/Qvn/CALkPEkLHVQxbB80zWsBzCMND01ORu4X2KFxDruVXPexbyIA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0" + } + }, + "@umbraco-ui/uui-card-media": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.0.0.tgz", + "integrity": "sha512-NeAy+osJJrq0oxp8t11JroF9DFk5Wo3WV/5BNXw5JnE4OnSH4lpHvJPmioEyf2cVjNZEze41TyzaZ42NlN2LHA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0" + } + }, + "@umbraco-ui/uui-card-user": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.0.0.tgz", + "integrity": "sha512-nwQPIYWlTvrBpPvZLFyfqARLOgSVnnoQrUY6joNdX585Q0PZPVfTZhGTuAPJ9KhZ9cjqoY9Yh3iZgm3FNb8gNQ==", + "requires": { + "@umbraco-ui/uui-avatar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-card": "1.0.0" + } + }, + "@umbraco-ui/uui-caret": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.0.0.tgz", + "integrity": "sha512-o/Ys4AlOyiMSEHH0F0gh5+uiY/7GL2ZbxSCq+NznebapfKlxxyAi7qNrZo3MuG2cUpfEAoQrGSHs47CRaam3fA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-checkbox": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.0.0.tgz", + "integrity": "sha512-x8uGRQZ0S7uVSdnLa1tqVv3uEvZSrzTuBLkkV4sjQGL3B7oNLmKyrMEXep0WVAMkholRBHI7XZOIt4KyPPq/QA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "@umbraco-ui/uui-combobox": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.1.0.tgz", + "integrity": "sha512-yIlWF9VCjgfugjzUubShShMg2Lgfjl1/NSevjiMmabh9bR3QWWBTJt1Z6bocMqhf7dznsJjQkSeSwdeSPnbOHA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-combobox-list": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-scroll-container": "1.0.0" + } + }, + "@umbraco-ui/uui-combobox-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.0.0.tgz", + "integrity": "sha512-1DbfM5w/rclqqeiIyfeTgLLFpM4yNGqx5AQbRpUvg3VV+u9PrL0jc860VHH4moBSoyO/I9dWMRuODhoMVV9Y/g==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-css": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.0.0.tgz", + "integrity": "sha512-PiK9umjoUORVtYFXRCL1CySSDJbJFxx96voXuW+0R9Fd8NUsYt2AsfoerH0m9MBJoY0ofQhvu1e4UOfU61Xkgg==", + "requires": { + "lit": "^2.2.2" + } + }, + "@umbraco-ui/uui-dialog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.0.0.tgz", + "integrity": "sha512-Dnwj2YyEbgiLpG4tQPzX+YO9+AwMoNwK6eFF9CzF4pS0nG5PhX4zTczvr2AWdOWHL5YmzIMgNAXJaenF+8FwYA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "@umbraco-ui/uui-dialog-layout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.0.0.tgz", + "integrity": "sha512-i/ney/ouoqiELUVUrhijkcd+HKdVwhdo+2YyZr5R17tbYT+GKBBb7VH3/aE1RBSohtH+9B/xrq0LubVqPkk2Qw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-file-dropzone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.0.0.tgz", + "integrity": "sha512-XCBisuJL/NPsHjLhJpcBfiSLJqZilkGeomxk7BEMtAWFzWUuJZQkn/+W1MemSXmEC0xzEgNVpIfQNFjZi4glTA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.0.0" + } + }, + "@umbraco-ui/uui-file-preview": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.0.0.tgz", + "integrity": "sha512-WaDD8T8NVJpzkwkuJBAEozM2n9T1VtBw8VjfH6orBFt+ndVnRhfEQBwiVml5FVNqn8LSNNmrkHsZkClxvoLEYg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-symbol-file": "1.0.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.0.0", + "@umbraco-ui/uui-symbol-folder": "1.0.0" + } + }, + "@umbraco-ui/uui-form": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.0.0.tgz", + "integrity": "sha512-kTowxBT3+h1rD8gTyTDkzZIocLVGKcqoNTkR1Ca84cmTKQSFMvuMvFbbhn8mkXNLhswv8r6EAt3b8zWOy3tMXQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-form-layout-item": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.0.0.tgz", + "integrity": "sha512-TP35z3rOloKfIYVvQq/4cK/CX4UuK/8Cl1Sk1YNlh4g4na3RnageJIfXdU0LUs+crLE/4T8pq5gzjI6So22d3g==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-form-validation-message": "1.0.0" + } + }, + "@umbraco-ui/uui-form-validation-message": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.0.0.tgz", + "integrity": "sha512-IqYFfDwvuMJZroP5Fiz2VIitM61qq2XNCXUJ8xXxwLWj1Q3v3Mrxv9vJ+5G6CBJnSp4/gekfQpfMNhnCBOvxZA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-icon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.0.0.tgz", + "integrity": "sha512-OYj9kcsfiuAhQ0yAoQtLZKWWF6cknAoXnOZYgwcuopfRG6YxIQS3rukSNz4AsoBc6Mp53TV5TB4EGEBZOXvISA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-icon-registry": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.0.0.tgz", + "integrity": "sha512-2zj29JsoJF3FmRdTt8xaSebgs2WtSGxAglEOjM78qGGOlafSkyYelzuRGA0NP47HOH3MKp3vzL1Z1AQ2Hr31iw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0" + } + }, + "@umbraco-ui/uui-icon-registry-essential": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.0.0.tgz", + "integrity": "sha512-1H2liA9/uyYqlR4E44RBTZiOlyrKgCSaJT6ytNiaBo6Br8kWqWTeDXBXngttGENQQ++eBKiUnLDVJC91xbPXug==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry": "1.0.0" + } + }, + "@umbraco-ui/uui-input": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.0.0.tgz", + "integrity": "sha512-gNsE5FFvxr67gT2nFlHhlF4OtxSbA7JLvSmNTvCHtEToc6O6iU/CuepRJeoczrOAc7MvAWBx2x39/mhnIXNldA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-input-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.0.0.tgz", + "integrity": "sha512-y9BZuhaluIBcpjXNj9xZcTNZHg+rYvUlum7os/uyjo7TZQNEitIveEkoemIWy7tpH3/Dt3ql8XMxGa8Mulq9kA==", + "requires": { + "@umbraco-ui/uui-action-bar": "1.0.0", + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-file-dropzone": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "@umbraco-ui/uui-input-lock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.0.0.tgz", + "integrity": "sha512-AHKJl5rvVEsvoRWsrC9rRACUjjP7Zz9veJQd0LDUm21DrDOaWF6cw3lljqKr2bex6KhoF+W4hyV9PDDPPx3umA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0" + } + }, + "@umbraco-ui/uui-input-password": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.0.0.tgz", + "integrity": "sha512-oJPUesd3mNU26ZEqLy3LQxUndMk3Qa8Yn/TTnCz4itGnF1rl2FqNcLwrRhUnTPKU9g5VI+9xC2rMYQxNPjDdmQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0", + "@umbraco-ui/uui-input": "1.0.0" + } + }, + "@umbraco-ui/uui-keyboard-shortcut": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.0.0.tgz", + "integrity": "sha512-7QZugPgLsLVFNJPg/jnPDyhtTK2WqNEKxdUQ9Hbv2RDVBJbuprnSthzUMKpDeu7+IV1UNDZd3oxSUOpfgLV/EQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-label": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.0.0.tgz", + "integrity": "sha512-Kp3T8Mcjvak8nROPZwG6N81haDTSZfMH0FGrpWmwKJyCTEbtftrI3XqbsgCiSElikDVQJfmE/tA+l2zz9Wsoyw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.0.0.tgz", + "integrity": "sha512-5IXyi2lTl23KXxd+BcHUKLxqApanmp/h2ocDGo45P2OalajgagMottHFQ8Xj05KNLmMyOtv5kT8/Z8Vvdrcn2w==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-loader-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.0.0.tgz", + "integrity": "sha512-r4z8VLtYJw/l4af37w9NQr1pNo2ZnWLtZyEVhNWafLQmXZzPSBpMd5Z62kzGQx6dU7FoRT0mgsbjfVQcYK+oJg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-loader-circle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.0.0.tgz", + "integrity": "sha512-dLL5+yPlChpj9euvCwq+hPDmMu2yCF+PeRvoDdQXxfgqCqhk144VIgiknErTByfUpCot9PApOnquwiIpdbzu6w==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-menu-item": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.0.0.tgz", + "integrity": "sha512-dgxl/bKbjH2YykrpKc/qk4AtzdwD/xUPtFB/dj9b+JJnNyam8LyZEYgZVVveayCETruxN2FVUMIaf1xLaswRVw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-loader-bar": "1.0.0", + "@umbraco-ui/uui-symbol-expand": "1.0.0" + } + }, + "@umbraco-ui/uui-pagination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.0.0.tgz", + "integrity": "sha512-Io3zO/BHHSHxNu0vUFJ50n4Pb/b+3m2YHfigfjUuAcN+68NxnOtuUziMCCoJnl/eri2f6/ha5HI5nVcm5jEziQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-button-group": "1.0.0" + } + }, + "@umbraco-ui/uui-popover": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.0.0.tgz", + "integrity": "sha512-kudJMrSOnEP7hIhNgPVVjoG13UU+ouNNYD4mat4lJ3b5CdjOWQLlUxlSEVQFMMieVHW0O3tO6tDMdyUhecEsCg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-progress-bar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.0.0.tgz", + "integrity": "sha512-+lPn2U82UVySLz6hGZ6u1C3Wa4F4/EiGWYiSMrZs1YDRMiXfD5dtViLdrpa24VuWk9kr5E7VR8XN/d7H+ns3pg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-radio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.0.0.tgz", + "integrity": "sha512-iD3l2JacoAkZvyphxZqp7+IU80kLwSDfCewTr3ntlGlpCuSXOJHA/ppz8hAcLIngTaijAFjqdufYq3wbOBMgqQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.0.0.tgz", + "integrity": "sha512-9oMLXn64VU8JRhTW9TM9xTNeLMYezmHh2mCdBKw7khYVL9Jss8tC6Is5WsQ52ocUPB5RTVyF7pua1ByYFhgghQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.0.0.tgz", + "integrity": "sha512-lX+JK/WoD2m60ehZC7od/9EtCIYhvTYEIUOM7pcR+3hFOnEph1JprQjoRUwcrJmAe9qXCsaDiQ3IA7Cp84eMOQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.0.0.tgz", + "integrity": "sha512-2InpH96gVpdMeT8i70jdPvyXWb+gmmgucKhvbcuQ6zeHIrpUzdfkgjsZVPMjzJp9czDxlBSScjsXHa6QpRIffg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-ref": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-data-type": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.0.0.tgz", + "integrity": "sha512-/QDBMKAaEAUEVPajPt2fCP+YfeZvmnAg4xJdjaUb5mCS/GYoqPpkKoBa1w4iVsErPJtKdzA6QL8iyLEbcVleow==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-document-type": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.0.0.tgz", + "integrity": "sha512-mRm6XBQDjAb6WBXQkOUZBbAJTNjPStRNMlw+48fp9W93nMMizJwhdpqU01m93+6ADzkG7OkFGBIb88kfRXMezQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-form": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.0.0.tgz", + "integrity": "sha512-p1wPUVgvJ9B8ZWZLXDEduMfCq4/GyjKYsOtfxvl8hx1HvhoVWfEZmOHFg1XBdw+TTkz2ytWAsv2rPKwYDpqUEw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-member": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.0.0.tgz", + "integrity": "sha512-M1DNGt0XSSGkzc9oiCEKupjtGlSElFlaoRI5ENGbfxdX/b66BiEq3hrCCvOf8VeCffK31Rlhaw7vXs2gCPyDPg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-package": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.0.0.tgz", + "integrity": "sha512-Erh5q+dOfgXfhR26yM92b9qZsWcwgZ5mXr0C6LpXzYgfIe+xJ1gEFQ7IwCNKw4j+N+obgBw4ZQfnbjpW0m5ueQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-ref-node-user": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.0.0.tgz", + "integrity": "sha512-RS0g9/7nPrzRRC8KsjPjghYY8cUQdcsj6wwOj4ketgYUO2g3mX0SaYvbwD+x1vrOYqKRG9X1btbtVD8o0iVQ0w==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-ref-node": "1.0.0" + } + }, + "@umbraco-ui/uui-scroll-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.0.0.tgz", + "integrity": "sha512-8P+2GG4MN7WDH80+wBLgTBpRUHoN3zMLaTlOElZyYGm21aGfu1kYzby9b+vX4ecJk6F3cEGGIqHj0jhPPdUN9Q==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.0.0.tgz", + "integrity": "sha512-PRqTrxg0GV/+1CgHU8rbS+7lcaGx5W+JbyRKB5RTwrLq8eZ1F2dT4/PVtR/om23x0JDA86qarav5kcIF5KaNyw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-slider": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.0.0.tgz", + "integrity": "sha512-0un7TO+sP66min0eS/IjUUSdtZc2Fq5ilM0Eu9CKWWIcoS17n+AjwErINByace3zUCjuFHy5KpqlPvU183IoBA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-expand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.0.0.tgz", + "integrity": "sha512-jngwZDDcshth22flb1JVywz6eCOrwQ93+ea+HBzoGDm1cwID1I9Ik8fMAXmE4XGfc+upna/p3kU9b0d/SvlU4w==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.0.0.tgz", + "integrity": "sha512-1WfNr4NbvgBpdN/TX6/vO1v6il35MgpKBW+HQMVeFwCtmotRXGaS9hcwSSN80xESdlkybrJ/H8Nq81TFq1z2qg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-file-dropzone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.0.0.tgz", + "integrity": "sha512-xYbpcnZd+dUfq30YoMDERkQ+RZagwQ3wE2nUfC5lEdKyxEO7DedFLZYcQijj6LUAxcrlMUFkTpWmLAmmT4Ovxg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-file-thumbnail": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.0.0.tgz", + "integrity": "sha512-8LvS4StbUqyglw6K8ojlNuh1lLbhozz5b1UWLE/MsR8TpA9eZGuwx9CgarU4CGJlvwI6pEQcRFu4Eb0FPqvqEA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-folder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.0.0.tgz", + "integrity": "sha512-AK38UMcBiA312ZHRx1+PSKo5NL2jYQxLLYo8e75GwymJ2VwE/AF08RvIJRBfmk4N21yoRxlKos1xhvBkyO6+Kw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-lock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.0.0.tgz", + "integrity": "sha512-oFTfFvJk6Qiu2QrTBgz4KsCbVKC48jXO20pP1EGylVgP0AyMMWMaTJjFb5A32ifkRv77A8b9Xc0/sppUUeXXzw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-more": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.0.0.tgz", + "integrity": "sha512-Ld2hWfcJsVgEsKrfwRFl2dd4hJQw1+xF4zC5yVVNp/65e+Hv3aGSB6GsWKcj3aA0XlMOChJcUiTyi1yQ8vd4lQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-symbol-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.0.0.tgz", + "integrity": "sha512-Se52onHvKVOa6AOJC5W7QaTixsa2oN6RhlN+ZTxXi7wZfKG9nKDC9mcNd5OS6A35Y//0KZjVTnwtYWcTmSeJoA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-table": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.0.0.tgz", + "integrity": "sha512-BbJp6Fuyt3cemxjJRcLV299vZxg2kvJnSHLPsSYWB83xqGyuFRP+S87WmMkNa4vu7kkUlj1sWmcOtS1vD4vQkA==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.0.0.tgz", + "integrity": "sha512-2EbmmzDMgC315T0b6xE7RjWCBqOUL7SRnX8JgBShN/ekiLKSPalkhnuKi1D9ZEvrC1hupwpgh8Vjt2szTU905g==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.0.0.tgz", + "integrity": "sha512-gWN+JqtTy9emyjQWJFIEtYmmO6s1GWEeBFE+HcNFdBFoksugtK8850plwUMaQOP4vaHlOxK0Qf5Cm9lVaXm7Yw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-textarea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.0.0.tgz", + "integrity": "sha512-zoxVq5UDlGTD/aVe1fGYH3fIHYO/IjsN2FEeeVg1hAC97EzhB0Gi72XzuSJHVZFdd+JjWCr8aXmOioSbcqxFyw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0" + } + }, + "@umbraco-ui/uui-toast-notification": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.0.0.tgz", + "integrity": "sha512-5IjK92Q4awsnHGawPqKDRC+d/LOpXXPGb5IkhunogEyDtgp5Yy1EqrYS5dHkGVTR7fOFVqtVMN0pOVJCnZi3rw==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-button": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0", + "@umbraco-ui/uui-icon": "1.0.0", + "@umbraco-ui/uui-icon-registry-essential": "1.0.0" + } + }, + "@umbraco-ui/uui-toast-notification-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.0.0.tgz", + "integrity": "sha512-XIjhBJzUF4+2eBXjNcOc232Z6FRvq7m8YNLycwE4I3C9mzWaTUiXKB7Ovt587MlqCZZUSy6XtKqkI9DV+nJIVg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-toast-notification": "1.0.0" + } + }, + "@umbraco-ui/uui-toast-notification-layout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.0.0.tgz", + "integrity": "sha512-2rSHdgwmcb4V7XcKBl2pbJLfU4E1ttOONQjg4BgpFKMP1HK86snBmcRYWjIiVP6lBz1cTFq/B+PPgaQX7KITvg==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-css": "1.0.0" + } + }, + "@umbraco-ui/uui-toggle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.0.0.tgz", + "integrity": "sha512-3OgU9fP+CpnNsIn5+GSUjJoakWRIC+ziBSJC3C8Dr9ScksS5oR/d1WFNk/HsUvPh/QNZAQ6dU73CJ2xzprwgrQ==", + "requires": { + "@umbraco-ui/uui-base": "1.0.0", + "@umbraco-ui/uui-boolean-input": "1.0.0" + } + }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -24452,6 +25919,33 @@ "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "dev": true }, + "lit": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.3.1.tgz", + "integrity": "sha512-TejktDR4mqG3qB32Y8Lm5Lye3c8SUehqz7qRsxe1PqGYL6me2Ef+jeQAEqh20BnnGncv4Yxy2njEIT0kzK1WCw==", + "requires": { + "@lit/reactive-element": "^1.4.0", + "lit-element": "^3.2.0", + "lit-html": "^2.3.0" + } + }, + "lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "requires": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "lit-html": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.3.1.tgz", + "integrity": "sha512-FyKH6LTW6aBdkfNhNSHyZTnLgJSTe5hMk7HFtc/+DcN1w74C215q8B+Cfxc2OuIEpBNcEKxgF64qL8as30FDHA==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 37be74cc1e..8d8334e3a7 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -18,6 +18,8 @@ }, "dependencies": { "@microsoft/signalr": "6.0.9", + "@umbraco-ui/uui": "1.0.1", + "@umbraco-ui/uui-css": "1.0.0", "ace-builds": "1.10.1", "angular": "1.8.3", "angular-animate": "1.8.3", diff --git a/tests/Umbraco.Tests.Integration/NewBackoffice/OpenAPIContractTest.cs b/tests/Umbraco.Tests.Integration/NewBackoffice/OpenAPIContractTest.cs new file mode 100644 index 0000000000..de5fcc6b3b --- /dev/null +++ b/tests/Umbraco.Tests.Integration/NewBackoffice/OpenAPIContractTest.cs @@ -0,0 +1,57 @@ +using System; +using System.Threading.Tasks; +using Microsoft.Extensions.Options; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using NUnit.Framework; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.DependencyInjection; +using Umbraco.Cms.Core.Hosting; +using Umbraco.Cms.Tests.Integration.TestServerTest; +using Umbraco.Extensions; + +namespace Umbraco.Cms.Tests.Integration.NewBackoffice; + +// We only run this test in release because the schema looks different depending if it's built against release or debug. +// XML summaries is included in the description of a response model in release, but not debug mode. +#if DEBUG +[Ignore("This test runs only in release")] +#endif +[TestFixture] +public class OpenAPIContractTest : UmbracoTestServerTestBase +{ + + private GlobalSettings GlobalSettings => GetRequiredService>().Value; + + private IHostingEnvironment HostingEnvironment => GetRequiredService(); + + [Test] + public async Task Validate_OpenApi_Contract_is_implemented() + { + string[] keysToIgnore = { "servers" }; + + var officePath = GlobalSettings.GetBackOfficePath(HostingEnvironment); + + var urlToContract = $"{officePath}/api/openapi.json"; + var swaggerPath = $"{officePath}/swagger/All/swagger.json"; + var apiContract = JObject.Parse(await Client.GetStringAsync(urlToContract)); + + var generatedJsonString = await Client.GetStringAsync(swaggerPath); + var mergedContract = JObject.Parse(generatedJsonString); + var originalGeneratedContract = JObject.Parse(generatedJsonString); + + + mergedContract.Merge(apiContract, new JsonMergeSettings + { + MergeArrayHandling = MergeArrayHandling.Merge + }); + + foreach (var key in keysToIgnore) + { + originalGeneratedContract.Remove(key); + mergedContract.Remove(key); + } + + Assert.AreEqual(originalGeneratedContract, mergedContract, $"Generated API do not respect the contract:{Environment.NewLine}Expected:{Environment.NewLine}{originalGeneratedContract.ToString(Formatting.Indented)}{Environment.NewLine}{Environment.NewLine}Actual:{Environment.NewLine}{mergedContract.ToString(Formatting.Indented)}"); + } +} diff --git a/tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs b/tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs index 823754bdfc..92909149d1 100644 --- a/tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs +++ b/tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs @@ -19,6 +19,9 @@ using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Web; +using Umbraco.Cms.ManagementApi; +using Umbraco.Cms.ManagementApi.Configuration; +using Umbraco.Cms.ManagementApi.Controllers.Install; using Umbraco.Cms.Persistence.Sqlite; using Umbraco.Cms.Persistence.SqlServer; using Umbraco.Cms.Tests.Common.Testing; @@ -26,7 +29,6 @@ using Umbraco.Cms.Tests.Integration.DependencyInjection; using Umbraco.Cms.Tests.Integration.Testing; using Umbraco.Cms.Web.BackOffice.Controllers; using Umbraco.Cms.Web.Common.Controllers; -using Umbraco.Cms.Web.Common.Hosting; using Umbraco.Cms.Web.Website.Controllers; using Umbraco.Extensions; @@ -238,6 +240,9 @@ namespace Umbraco.Cms.Tests.Integration.TestServerTest // Adds Umbraco.Tests.Integration mvcBuilder.AddApplicationPart(typeof(UmbracoTestServerTestBase).Assembly); + + // Adds Umbraco.Tests.Integration + mvcBuilder.AddApplicationPart(typeof(InstallControllerBase).Assembly); }) .AddWebServer() .AddWebsite() @@ -245,6 +250,8 @@ namespace Umbraco.Cms.Tests.Integration.TestServerTest .AddUmbracoSqliteSupport() .AddTestServices(TestHelper); // This is the important one! + new ManagementApiComposer().Compose(builder); + CustomTestSetup(builder); builder.Build(); } @@ -254,6 +261,7 @@ namespace Umbraco.Cms.Tests.Integration.TestServerTest /// protected virtual void ConfigureTestServices(IServiceCollection services) { + } protected void Configure(IApplicationBuilder app) diff --git a/tests/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj b/tests/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj index 6c9d648c0f..fb671795cc 100644 --- a/tests/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj +++ b/tests/Umbraco.Tests.Integration/Umbraco.Tests.Integration.csproj @@ -107,6 +107,7 @@ + diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/InstallAreaRoutesTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/InstallAreaRoutesTests.cs index 3e4c930947..c5a8eb5201 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/InstallAreaRoutesTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/InstallAreaRoutesTests.cs @@ -81,7 +81,8 @@ public class InstallAreaRoutesTests var route = endpoints.DataSources.First(); Assert.AreEqual(1, route.Endpoints.Count); - Assert.AreEqual("install/{controller?}/{action?} HTTP: GET", route.Endpoints[0].ToString()); + var routeEndpoint = (RouteEndpoint)route.Endpoints[0]; + Assert.AreEqual("install/{controller?}/{action?}", routeEndpoint.RoutePattern.RawText); } private InstallAreaRoutes GetInstallAreaRoutes(RuntimeLevel level) =>