From a1a28d36df2fe9c06326f018748658c60ac24450 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Wed, 22 Oct 2025 14:15:23 +0300 Subject: [PATCH 01/21] Update pagination and filtering actions --- .../Controllers/GetFormsPagedController.cs | 27 ++++++++++++++++--- .../Client/generated/types.gen.ts | 5 +--- .../context/activecampaign-forms.context.ts | 4 +-- .../activecampaign-forms-modal.element.ts | 18 ++++++------- .../form-picker-property-editor.element.ts | 1 - .../activecampaign-forms.repository.ts | 4 +-- ...Cms.Integrations.Crm.ActiveCampaign.csproj | 2 +- 7 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs index 98462086..f2d549f6 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; +using System.Web; using Umbraco.Cms.Api.Common.Builders; using Umbraco.Cms.Integrations.Crm.ActiveCampaign.Configuration; using Umbraco.Cms.Integrations.Crm.ActiveCampaign.Models.Dtos; @@ -21,15 +22,13 @@ public GetFormsByPageController(IOptions options, IHttpC [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - public async Task GetForms([FromQuery] int? page = 1) + public async Task GetForms([FromQuery] int? page = 1, string? searchQuery = "") { try { var client = HttpClientFactory.CreateClient(Constants.FormsHttpClient); - var requestUriString = page == 1 - ? $"{client.BaseAddress}{ApiPath}&limit={Constants.DefaultPageSize}" - : $"{client.BaseAddress}{ApiPath}&limit={Constants.DefaultPageSize}&offset={(page - 1) * Constants.DefaultPageSize}"; + var requestUriString = BuildRequestUri(client.BaseAddress.ToString(), page ?? 1, searchQuery); var requestMessage = new HttpRequestMessage { @@ -48,5 +47,25 @@ public async Task GetForms([FromQuery] int? page = 1) .Build()); } } + + private string BuildRequestUri(string baseAddress, int page, string searchQuery) + { + var uri = $"{baseAddress}{ApiPath}?limit={Constants.DefaultPageSize}"; + + Dictionary queryParamsDictionary = new Dictionary(); + if (page > 1) + { + queryParamsDictionary.Add("offset", ((page - 1) * Constants.DefaultPageSize).ToString()); + } + + if (!string.IsNullOrWhiteSpace(searchQuery)) + { + queryParamsDictionary.Add("search", HttpUtility.UrlEncode(searchQuery)); + } + + return queryParamsDictionary.Count == 0 + ? uri + : string.Format("{0}&{1}", uri, string.Join("&", queryParamsDictionary.Select(kvp => $"{kvp.Key}={kvp.Value}"))); + } } } diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/generated/types.gen.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/generated/types.gen.ts index 8d0e4ab5..33843809 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/generated/types.gen.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/generated/types.gen.ts @@ -64,6 +64,7 @@ export type GetFormsData = { path?: never; query?: { page?: number; + searchQuery?: string; }; url: '/umbraco/activecampaign-forms/management/api/v1/forms'; }; @@ -73,10 +74,6 @@ export type GetFormsErrors = { * The resource is protected and requires an authentication token */ 401: unknown; - /** - * Payment Required - */ - 402: unknown; /** * Forbidden */ diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/context/activecampaign-forms.context.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/context/activecampaign-forms.context.ts index d2f4b91b..2d36bd54 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/context/activecampaign-forms.context.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/context/activecampaign-forms.context.ts @@ -28,8 +28,8 @@ export class ActiveCampaignFormsContext extends UmbControllerBase { this.#configurationModel.setValue(data); } - async getForms(page?: number) { - return await this.#repository.getForms(page); + async getForms(page?: number, searchQuery?: string) { + return await this.#repository.getForms(page, searchQuery); } async getForm(id: string) { diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index 0d9e1d45..94a6716f 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -29,6 +29,9 @@ export default class ActiveCampaignFormsModalElement @state() _totalPages = 1; + @state() + _searchQuery = ""; + constructor() { super(); @@ -58,10 +61,10 @@ export default class ActiveCampaignFormsModalElement await this.#loadForms(); } - async #loadForms(page?: number) { + async #loadForms(page?: number, searchQuery?: string) { this._loading = true; - const { data } = await this.#activecampaignFormsContext.getForms(page); + const { data } = await this.#activecampaignFormsContext.getForms(page, searchQuery); if (!data) { this._loading = false; return; @@ -75,21 +78,18 @@ export default class ActiveCampaignFormsModalElement this._loading = false; } - #handleFilterInput(event: UUIInputEvent) { + async #handleFilterInput(event: UUIInputEvent) { let query = (event.target.value as string) || ''; query = query.toLowerCase(); + this._searchQuery = query; - const result = !query - ? this._forms - : this._forms.filter((form) => form.name.toLowerCase().includes(query)); - - this._filteredForms = result; + await this.#loadForms(this._currentPageNumber, this._searchQuery); } async #onPageChange(event: UUIPaginationEvent) { this._currentPageNumber = event.target?.current; - await this.#loadForms(this._currentPageNumber); + await this.#loadForms(this._currentPageNumber, this._searchQuery); } #renderPagination() { diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/property-editor/form-picker-property-editor.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/property-editor/form-picker-property-editor.element.ts index 73c5c217..c4c0e5ed 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/property-editor/form-picker-property-editor.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/property-editor/form-picker-property-editor.element.ts @@ -15,7 +15,6 @@ export default class ActiveCampaignFormPickerElement extends UmbElementMixin(Lit @property({ type: String }) public value = ""; - @state() private _form: FormDtoModel = { diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/repository/activecampaign-forms.repository.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/repository/activecampaign-forms.repository.ts index c22606a8..49c3d166 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/repository/activecampaign-forms.repository.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/repository/activecampaign-forms.repository.ts @@ -28,8 +28,8 @@ export class ActiveCampaignFormsRepository extends UmbControllerBase { return { data }; } - async getForms(page?: number) { - const { data, error } = await tryExecute(this, ActiveCampaignFormsService.getForms({ query: { page } })); + async getForms(page?: number, searchQuery?: string) { + const { data, error } = await tryExecute(this, ActiveCampaignFormsService.getForms({ query: { page, searchQuery } })); if (error || !data) { return { error }; diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Umbraco.Cms.Integrations.Crm.ActiveCampaign.csproj b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Umbraco.Cms.Integrations.Crm.ActiveCampaign.csproj index fe4bcbec..9bc37288 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Umbraco.Cms.Integrations.Crm.ActiveCampaign.csproj +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Umbraco.Cms.Integrations.Crm.ActiveCampaign.csproj @@ -16,7 +16,7 @@ https://github.com/umbraco/Umbraco.Cms.Integrations/tree/main-v16/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign https://github.com/umbraco/Umbraco.Cms.Integrations - 5.0.0 + 5.1.0 Umbraco HQ Umbraco Umbraco;Umbraco-Marketplace From b8f07f0ee0960e35da2b465a9ff7037809440bc6 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Wed, 22 Oct 2025 15:56:46 +0300 Subject: [PATCH 02/21] Update ActiveCampaign backoffice version --- .../Client/public/umbraco-package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/public/umbraco-package.json b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/public/umbraco-package.json index 8e990ca3..7080243f 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/public/umbraco-package.json +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/public/umbraco-package.json @@ -1,7 +1,7 @@ { "id": "Umbraco.Cms.Integrations.Crm.ActiveCampaign", "name": "Umbraco CMS Integrations: CRM - ActiveCampaign", - "version": "5.0.0", + "version": "5.1.0", "extensions": [ { "name": "Umbraco EntryPoint", From 3cb8c0843c4babb66c466ae1326007e8a63db216 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 12:02:58 +0300 Subject: [PATCH 03/21] Add debouncing feature --- .../src/modal/activecampaign-forms-modal.element.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index 94a6716f..a718f554 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -32,6 +32,8 @@ export default class ActiveCampaignFormsModalElement @state() _searchQuery = ""; + #filterTimeout?: NodeJS.Timeout; + constructor() { super(); @@ -83,7 +85,15 @@ export default class ActiveCampaignFormsModalElement query = query.toLowerCase(); this._searchQuery = query; - await this.#loadForms(this._currentPageNumber, this._searchQuery); + // Clear existing timeout + if (this.#filterTimeout) { + clearTimeout(this.#filterTimeout); + } + + this.#filterTimeout = setTimeout(async () => { + this._currentPageNumber = 1; + await this.#loadForms(this._currentPageNumber, this._searchQuery); + }, 2000); } async #onPageChange(event: UUIPaginationEvent) { From 1798828c72f5c1d5518c7572c8a3aa0e177c9442 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 14:55:11 +0300 Subject: [PATCH 04/21] Modify timeout delay --- .../Client/src/modal/activecampaign-forms-modal.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index a718f554..c4da6962 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -93,7 +93,7 @@ export default class ActiveCampaignFormsModalElement this.#filterTimeout = setTimeout(async () => { this._currentPageNumber = 1; await this.#loadForms(this._currentPageNumber, this._searchQuery); - }, 2000); + }, 500); } async #onPageChange(event: UUIPaginationEvent) { From 584d3c1b813080da2eef314c4cb55261374d2f43 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 15:44:04 +0300 Subject: [PATCH 05/21] Use QueryHelpers and clear timeout on disconnected callback. --- .../Management/Controllers/GetFormsPagedController.cs | 11 ++++++----- .../src/modal/activecampaign-forms-modal.element.ts | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs index f2d549f6..e8ba37ba 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs @@ -1,6 +1,7 @@ using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; using System.Web; using Umbraco.Cms.Api.Common.Builders; @@ -51,21 +52,21 @@ public async Task GetForms([FromQuery] int? page = 1, string? sea private string BuildRequestUri(string baseAddress, int page, string searchQuery) { var uri = $"{baseAddress}{ApiPath}?limit={Constants.DefaultPageSize}"; - - Dictionary queryParamsDictionary = new Dictionary(); + + Dictionary queryParamsDictionary = new(); if (page > 1) { - queryParamsDictionary.Add("offset", ((page - 1) * Constants.DefaultPageSize).ToString()); + uri = QueryHelpers.AddQueryString(uri, "offset", ((page - 1) * Constants.DefaultPageSize).ToString()); } if (!string.IsNullOrWhiteSpace(searchQuery)) { - queryParamsDictionary.Add("search", HttpUtility.UrlEncode(searchQuery)); + uri = QueryHelpers.AddQueryString(uri, "search", searchQuery); } return queryParamsDictionary.Count == 0 ? uri - : string.Format("{0}&{1}", uri, string.Join("&", queryParamsDictionary.Select(kvp => $"{kvp.Key}={kvp.Value}"))); + : $"{uri}&{string.Join("&", queryParamsDictionary.Select(kvp => $"{kvp.Key}={kvp.Value}"))}"; } } } diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index c4da6962..02774e88 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -52,6 +52,10 @@ export default class ActiveCampaignFormsModalElement this.#checkApiAccess(); } + disconnectedCallback() { + clearTimeout(this.#filterTimeout); + } + async #checkApiAccess() { if (!this.#activecampaignFormsContext || !this.#configurationModel) return; From 1b730cedd43106e543af81443b71cc4af1b667d2 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 15:57:17 +0300 Subject: [PATCH 06/21] Remove unused declarations --- .../Api/Management/Controllers/GetFormsPagedController.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs index e8ba37ba..b7513c73 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs @@ -3,7 +3,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.WebUtilities; using Microsoft.Extensions.Options; -using System.Web; using Umbraco.Cms.Api.Common.Builders; using Umbraco.Cms.Integrations.Crm.ActiveCampaign.Configuration; using Umbraco.Cms.Integrations.Crm.ActiveCampaign.Models.Dtos; @@ -53,7 +52,6 @@ private string BuildRequestUri(string baseAddress, int page, string searchQuery) { var uri = $"{baseAddress}{ApiPath}?limit={Constants.DefaultPageSize}"; - Dictionary queryParamsDictionary = new(); if (page > 1) { uri = QueryHelpers.AddQueryString(uri, "offset", ((page - 1) * Constants.DefaultPageSize).ToString()); @@ -64,9 +62,7 @@ private string BuildRequestUri(string baseAddress, int page, string searchQuery) uri = QueryHelpers.AddQueryString(uri, "search", searchQuery); } - return queryParamsDictionary.Count == 0 - ? uri - : $"{uri}&{string.Join("&", queryParamsDictionary.Select(kvp => $"{kvp.Key}={kvp.Value}"))}"; + return uri; } } } From 6187c879a5fffcbedc77228f68551240694dfcf7 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 16:04:13 +0300 Subject: [PATCH 07/21] Add timeout check on disconnected --- .../Client/src/modal/activecampaign-forms-modal.element.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index 02774e88..f8240a5f 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -53,7 +53,9 @@ export default class ActiveCampaignFormsModalElement } disconnectedCallback() { - clearTimeout(this.#filterTimeout); + if (this.#filterTimeout) { + clearTimeout(this.#filterTimeout); + } } async #checkApiAccess() { From 710ea33751677a3e1c1a0bef80abd01644d14d03 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 23 Oct 2025 16:08:47 +0300 Subject: [PATCH 08/21] PR updates --- .../Api/Management/Controllers/GetFormsPagedController.cs | 2 +- .../Client/src/modal/activecampaign-forms-modal.element.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs index b7513c73..1f79cbd3 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Api/Management/Controllers/GetFormsPagedController.cs @@ -22,7 +22,7 @@ public GetFormsByPageController(IOptions options, IHttpC [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - public async Task GetForms([FromQuery] int? page = 1, string? searchQuery = "") + public async Task GetForms([FromQuery] int? page = 1, [FromQuery] string? searchQuery = "") { try { diff --git a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts index f8240a5f..f5451646 100644 --- a/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign/Client/src/modal/activecampaign-forms-modal.element.ts @@ -53,6 +53,7 @@ export default class ActiveCampaignFormsModalElement } disconnectedCallback() { + super.disconnectedCallback(); if (this.#filterTimeout) { clearTimeout(this.#filterTimeout); } From ea006979fbd04129ade73a7ad7b9714d88f15800 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 13 Nov 2025 10:52:18 +0200 Subject: [PATCH 09/21] Update V16 with changes for load balancing environments and media converter --- .../AlgoliaComposer.cs | 1 + .../Client/public/umbraco-package.json | 2 +- .../Converters/UmbracoMediaPickerConverter.cs | 33 ++++++++++++++----- ...aco.Cms.Integrations.Search.Algolia.csproj | 2 +- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Cms.Integrations.Search.Algolia/AlgoliaComposer.cs b/src/Umbraco.Cms.Integrations.Search.Algolia/AlgoliaComposer.cs index 71416d65..793caf9c 100644 --- a/src/Umbraco.Cms.Integrations.Search.Algolia/AlgoliaComposer.cs +++ b/src/Umbraco.Cms.Integrations.Search.Algolia/AlgoliaComposer.cs @@ -24,6 +24,7 @@ public void Compose(IUmbracoBuilder builder) builder.AddNotificationHandler(); builder.AddNotificationAsyncHandler(); + builder.AddNotificationAsyncHandler(); builder.Services.AddOptions() .Bind(builder.Config.GetSection(Constants.SettingsPath)); diff --git a/src/Umbraco.Cms.Integrations.Search.Algolia/Client/public/umbraco-package.json b/src/Umbraco.Cms.Integrations.Search.Algolia/Client/public/umbraco-package.json index d554b88f..8e333ab6 100644 --- a/src/Umbraco.Cms.Integrations.Search.Algolia/Client/public/umbraco-package.json +++ b/src/Umbraco.Cms.Integrations.Search.Algolia/Client/public/umbraco-package.json @@ -1,7 +1,7 @@ { "id": "Umbraco.Cms.Integrations.Search.Algolia", "name": "Umbraco CMS Integrations: Search - Algolia", - "version": "5.0.0", + "version": "5.0.2", "extensions": [ { "name": "Umbraco EntryPoint", diff --git a/src/Umbraco.Cms.Integrations.Search.Algolia/Converters/UmbracoMediaPickerConverter.cs b/src/Umbraco.Cms.Integrations.Search.Algolia/Converters/UmbracoMediaPickerConverter.cs index f3298674..eb598162 100644 --- a/src/Umbraco.Cms.Integrations.Search.Algolia/Converters/UmbracoMediaPickerConverter.cs +++ b/src/Umbraco.Cms.Integrations.Search.Algolia/Converters/UmbracoMediaPickerConverter.cs @@ -7,6 +7,8 @@ namespace Umbraco.Cms.Integrations.Search.Algolia.Converters { public class UmbracoMediaPickerConverter : IAlgoliaIndexValueConverter { + const string udiPrefix = "umb://media/"; + private readonly IMediaService _mediaService; public UmbracoMediaPickerConverter(IMediaService mediaService) => _mediaService = mediaService; @@ -21,19 +23,34 @@ public object ParseIndexValues(IProperty property, IndexValue indexValue) if (string.IsNullOrEmpty(parsedIndexValue)) return list; - var inputMedia = JsonSerializer.Deserialize>(parsedIndexValue); + if (parsedIndexValue.StartsWith(udiPrefix)) + { + var guidPart = parsedIndexValue.Substring(udiPrefix.Length); + if (Guid.TryParse(guidPart, out Guid guid)) + { + var mediaItem = _mediaService.GetById(guid); + if (mediaItem != null) + { + list.Add(mediaItem.GetValue("umbracoFile")?.ToString() ?? string.Empty); + } + } + } + else + { + var inputMedia = JsonSerializer.Deserialize>(parsedIndexValue); - if (inputMedia == null) return string.Empty; + if (inputMedia == null) return string.Empty; - foreach (var item in inputMedia) - { - if (item == null) continue; + foreach (var item in inputMedia) + { + if (item == null) continue; - var mediaItem = _mediaService.GetById(Guid.Parse(item.MediaKey)); + var mediaItem = _mediaService.GetById(Guid.Parse(item.MediaKey)); - if (mediaItem == null) continue; + if (mediaItem == null) continue; - list.Add(mediaItem.GetValue("umbracoFile")?.ToString() ?? string.Empty); + list.Add(mediaItem.GetValue("umbracoFile")?.ToString() ?? string.Empty); + } } return list; diff --git a/src/Umbraco.Cms.Integrations.Search.Algolia/Umbraco.Cms.Integrations.Search.Algolia.csproj b/src/Umbraco.Cms.Integrations.Search.Algolia/Umbraco.Cms.Integrations.Search.Algolia.csproj index 7daf894c..7d410477 100644 --- a/src/Umbraco.Cms.Integrations.Search.Algolia/Umbraco.Cms.Integrations.Search.Algolia.csproj +++ b/src/Umbraco.Cms.Integrations.Search.Algolia/Umbraco.Cms.Integrations.Search.Algolia.csproj @@ -15,7 +15,7 @@ https://github.com/umbraco/Umbraco.Cms.Integrations/tree/main/src/Umbraco.Cms.Integrations.Search.Algolia https://github.com/umbraco/Umbraco.Cms.Integrations - 5.0.1 + 5.0.2 Umbraco HQ Umbraco Umbraco;Umbraco-Marketplace From 13fb582191fe1f39c5fa983f006e66422b83a835 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Thu, 13 Nov 2025 11:34:24 +0200 Subject: [PATCH 10/21] Add missing handler --- .../AlgoliaContentPublishedHandler.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/Umbraco.Cms.Integrations.Search.Algolia/Handlers/AlgoliaContentPublishedHandler.cs diff --git a/src/Umbraco.Cms.Integrations.Search.Algolia/Handlers/AlgoliaContentPublishedHandler.cs b/src/Umbraco.Cms.Integrations.Search.Algolia/Handlers/AlgoliaContentPublishedHandler.cs new file mode 100644 index 00000000..247be41f --- /dev/null +++ b/src/Umbraco.Cms.Integrations.Search.Algolia/Handlers/AlgoliaContentPublishedHandler.cs @@ -0,0 +1,31 @@ +using Umbraco.Cms.Core.Cache; +using Umbraco.Cms.Core.Events; +using Umbraco.Cms.Core.Notifications; +using Umbraco.Cms.Core.Sync; +using Umbraco.Extensions; + +namespace Umbraco.Cms.Integrations.Search.Algolia.Handlers +{ + public class AlgoliaContentPublishedHandler : INotificationAsyncHandler + { + private readonly IServerRoleAccessor _serverRoleAccessor; + private readonly DistributedCache _distributedCache; + + public AlgoliaContentPublishedHandler( + IServerRoleAccessor serverRoleAccessor, + DistributedCache distributedCache) + { + _serverRoleAccessor = serverRoleAccessor; + _distributedCache = distributedCache; + } + + public Task HandleAsync(ContentPublishedNotification notification, CancellationToken cancellationToken) + { + if (_serverRoleAccessor.CurrentServerRole == ServerRole.SchedulingPublisher) + { + _distributedCache.RefreshAllContentCache(); + } + return Task.CompletedTask; + } + } +} From 873260897f45341336503c3ac0ae34802d3a5d7b Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:10:23 +0200 Subject: [PATCH 11/21] Update azure-pipeline - Crm.ActiveCampaign.yml for Azure Pipelines --- azure-pipeline - Crm.ActiveCampaign.yml | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipeline - Crm.ActiveCampaign.yml b/azure-pipeline - Crm.ActiveCampaign.yml index b08f4182..17a7d654 100644 --- a/azure-pipeline - Crm.ActiveCampaign.yml +++ b/azure-pipeline - Crm.ActiveCampaign.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -57,3 +61,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From 8345a12688bf2d752b2b63360f7395fa68d6ee1e Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:11:08 +0200 Subject: [PATCH 12/21] Update azure-pipeline - Crm.Dynamics.yml for Azure Pipelines --- azure-pipeline - Crm.Dynamics.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipeline - Crm.Dynamics.yml b/azure-pipeline - Crm.Dynamics.yml index ceebc0a7..03e7788f 100644 --- a/azure-pipeline - Crm.Dynamics.yml +++ b/azure-pipeline - Crm.Dynamics.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -71,3 +75,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From 96d9cb56c5a09b05dc5894a6893b1c7535ec491a Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:11:59 +0200 Subject: [PATCH 13/21] Update azure-pipeline - Search.Algolia.yml for Azure Pipelines --- azure-pipeline - Search.Algolia.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipeline - Search.Algolia.yml b/azure-pipeline - Search.Algolia.yml index 0a86b725..ac2ee0eb 100644 --- a/azure-pipeline - Search.Algolia.yml +++ b/azure-pipeline - Search.Algolia.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -55,3 +59,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From cbdc86beba0a9478aa35bd85c7c81f8ccf2213fd Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:12:56 +0200 Subject: [PATCH 14/21] Update azure-pipelines - Automation.Zapier.yml for Azure Pipelines --- azure-pipelines - Automation.Zapier.yml | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipelines - Automation.Zapier.yml b/azure-pipelines - Automation.Zapier.yml index 37748a31..aa66b925 100644 --- a/azure-pipelines - Automation.Zapier.yml +++ b/azure-pipelines - Automation.Zapier.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -72,3 +76,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From 40193a6f365cfa88ec266074dea8468e0f84f6cc Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:13:33 +0200 Subject: [PATCH 15/21] Update azure-pipelines - Commerce.Shopify.yml for Azure Pipelines --- azure-pipelines - Commerce.Shopify.yml | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipelines - Commerce.Shopify.yml b/azure-pipelines - Commerce.Shopify.yml index 8c64baef..9749eb90 100644 --- a/azure-pipelines - Commerce.Shopify.yml +++ b/azure-pipelines - Commerce.Shopify.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -72,3 +76,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From 01e807c9edc1edc244b19b0f30bfda7310e551cf Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:14:13 +0200 Subject: [PATCH 16/21] Update azure-pipeline - Crm.Hubspot.yml for Azure Pipelines --- azure-pipeline - Crm.Hubspot.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/azure-pipeline - Crm.Hubspot.yml b/azure-pipeline - Crm.Hubspot.yml index 98c7b071..061fdae6 100644 --- a/azure-pipeline - Crm.Hubspot.yml +++ b/azure-pipeline - Crm.Hubspot.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -57,3 +61,26 @@ steps: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM From c2eee4719f437e7ebbadd4b5127478e43a300f75 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Fri, 14 Nov 2025 11:14:49 +0200 Subject: [PATCH 17/21] Update azure-pipeline - SEO.SemrushTools.yml for Azure Pipelines --- azure-pipeline - SEO.SemrushTools.yml | 29 ++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/azure-pipeline - SEO.SemrushTools.yml b/azure-pipeline - SEO.SemrushTools.yml index 4d2976f1..37ed5320 100644 --- a/azure-pipeline - SEO.SemrushTools.yml +++ b/azure-pipeline - SEO.SemrushTools.yml @@ -16,6 +16,10 @@ variables: project: 'src/$(projectName)/$(projectName).csproj' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + productGroup: 'DXP' + productVersion: 'v16' + DT_API_KEY: $(dtApiKey) + DT_BASE_URL: $(dtBaseUrl) steps: - task: NuGetToolInstaller@1 @@ -56,4 +60,27 @@ steps: inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' - publishLocation: 'Container' \ No newline at end of file + publishLocation: 'Container' + +# Generate/upload SBOM with cdxgen +- script: | + cd $(Build.SourcesDirectory) + npm install --global @cyclonedx/cdxgen + displayName: 'Install cdxgen' + +- script: | + mkdir -p $(Build.ArtifactStagingDirectory)/bom + cd $(Build.SourcesDirectory) + + cdxgen --recurse --output $(Build.ArtifactStagingDirectory)\bom\bom.json --json-pretty --project-group "$(productGroup)" --project-name "$(projectName)" --project-version "$(productVersion)" --server-url "$(DT_BASE_URL)" --api-key "$(DT_API_KEY)" --deep + displayName: 'Generate & Upload SBOM with cdxgen' + env: + DT_API_KEY: $(DT_API_KEY) + DT_BASE_URL: $(DT_BASE_URL) + +# Publish SBOM artifact +- task: PublishPipelineArtifact@1 + displayName: 'Publish SBOM Artifact' + inputs: + targetPath: $(Build.ArtifactStagingDirectory)/bom + artifactName: SBOM \ No newline at end of file From a7c6cdbb8883af1ec85d6ab548c070106fe7b4e8 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Tue, 18 Nov 2025 12:37:19 +0200 Subject: [PATCH 18/21] Update HubSpot integration for V17 --- .../Controllers/GetAccessTokenController.cs | 4 +- .../GetAuthorizationUrlController.cs | 4 +- .../RefreshAccessTokenController.cs | 5 +- .../ValidateAccessTokenController.cs | 4 +- .../Client/generated/client.gen.ts | 13 +- .../Client/generated/index.ts | 3 +- .../Client/generated/sdk.gen.ts | 30 +- .../Client/generated/types.gen.ts | 21 +- .../Client/openapi-ts.config.js | 2 +- .../Client/package-lock.json | 2501 +++++++++-------- .../Client/package.json | 9 +- .../Client/public/umbraco-package.json | 2 +- .../src/context/hubspot-forms.context.ts | 4 +- .../src/modal/hubspot-forms-modal.element.ts | 4 +- .../authorization-property-editor.element.ts | 4 +- .../form-picker-property-editor.element.ts | 4 +- .../repository/hubspot-forms.repository.ts | 18 +- .../HubspotComposer.cs | 11 +- .../HubspotAuthorizationServiceFactory.cs | 16 + .../IHubspotAuthorizationServiceFactory.cs | 6 + ...mbraco.Cms.Integrations.Crm.Hubspot.csproj | 8 +- 21 files changed, 1430 insertions(+), 1243 deletions(-) create mode 100644 src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/HubspotAuthorizationServiceFactory.cs create mode 100644 src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/IHubspotAuthorizationServiceFactory.cs diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAccessTokenController.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAccessTokenController.cs index 51783df2..e8488b05 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAccessTokenController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAccessTokenController.cs @@ -16,9 +16,9 @@ public class GetAccessTokenController : HubspotFormsControllerBase public GetAccessTokenController( IOptions settingsOptions, - AuthorizationImplementationFactory authorizationImplementationFactory) + IHubspotAuthorizationServiceFactory authorizationServiceFactory) : base(settingsOptions) - => _authorizationService = authorizationImplementationFactory(Settings.UseUmbracoAuthorization); + => _authorizationService = authorizationServiceFactory.GetAuthorizationService(Settings.UseUmbracoAuthorization); [HttpPost("access-token", Name = Constants.OperationIdentifiers.GetAccessToken)] [ProducesResponseType(typeof(string), StatusCodes.Status200OK)] diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAuthorizationUrlController.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAuthorizationUrlController.cs index d3f5f3ba..5009e202 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAuthorizationUrlController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/GetAuthorizationUrlController.cs @@ -16,8 +16,8 @@ public class GetAuthorizationUrlController : HubspotFormsControllerBase public GetAuthorizationUrlController( IOptions settingsOptions, - AuthorizationImplementationFactory authorizationImplementationFactory) - : base(settingsOptions) => _authorizationService = authorizationImplementationFactory(Settings.UseUmbracoAuthorization); + IHubspotAuthorizationServiceFactory authorizationServiceFactory) + : base(settingsOptions) => _authorizationService = authorizationServiceFactory.GetAuthorizationService(Settings.UseUmbracoAuthorization); [HttpGet("authorization-url", Name = Constants.OperationIdentifiers.GetAuthorizationUrl)] [ProducesResponseType(typeof(string), StatusCodes.Status200OK)] diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/RefreshAccessTokenController.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/RefreshAccessTokenController.cs index b5ea1b2c..74a945c5 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/RefreshAccessTokenController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/RefreshAccessTokenController.cs @@ -4,7 +4,6 @@ using Microsoft.Extensions.Options; using Umbraco.Cms.Integrations.Crm.Hubspot.Configuration; using Umbraco.Cms.Integrations.Crm.Hubspot.Services; -using static Umbraco.Cms.Integrations.Crm.Hubspot.HubspotComposer; namespace Umbraco.Cms.Integrations.Crm.Hubspot.Api.Management.Controllers { @@ -15,8 +14,8 @@ public class RefreshAccessTokenController : HubspotFormsControllerBase public RefreshAccessTokenController( IOptions settingsOptions, - AuthorizationImplementationFactory authorizationImplementationFactory) - : base(settingsOptions) => _authorizationService = authorizationImplementationFactory(Settings.UseUmbracoAuthorization); + IHubspotAuthorizationServiceFactory authorizationServiceFactory) + : base(settingsOptions) => _authorizationService = authorizationServiceFactory.GetAuthorizationService(Settings.UseUmbracoAuthorization); [HttpPost("refresh", Name = Constants.OperationIdentifiers.RefreshAccessToken)] [ProducesResponseType(typeof(string), StatusCodes.Status200OK)] diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/ValidateAccessTokenController.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/ValidateAccessTokenController.cs index 72552639..453ab097 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/ValidateAccessTokenController.cs +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Api/Management/Controllers/ValidateAccessTokenController.cs @@ -21,12 +21,12 @@ public ValidateAccessTokenController( IOptions settingsOptions, IHttpClientFactory httpClientFactory, ITokenService tokenService, - IHubspotAuthorizationService authorizationService) + IHubspotAuthorizationServiceFactory authorizationServiceFactory) : base(settingsOptions) { _httpClientFactory = httpClientFactory; _tokenService = tokenService; - _authorizationService = authorizationService; + _authorizationService = authorizationServiceFactory.GetAuthorizationService(settingsOptions.Value.UseUmbracoAuthorization); } [HttpGet("validate", Name = Constants.OperationIdentifiers.ValidateAccessToken)] diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/client.gen.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/client.gen.ts index 8d45663f..4500dc20 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/client.gen.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/client.gen.ts @@ -1,7 +1,8 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { ClientOptions } from './types.gen'; -import { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch'; +import { type ClientOptions, type Config, createClient, createConfig } from '@hey-api/client-fetch'; + +import type { ClientOptions as ClientOptions2 } from './types.gen'; /** * The `createClientConfig()` function will be called on client initialization @@ -11,9 +12,9 @@ import { type Config, type ClientOptions as DefaultClientOptions, createClient, * `setConfig()`. This is useful for example if you're using Next.js * to ensure your client always has the correct values. */ -export type CreateClientConfig = (override?: Config) => Config & T>; +export type CreateClientConfig = (override?: Config) => Config & T>; -export const client = createClient(createConfig({ - baseUrl: 'http://localhost:30450', +export const client = createClient(createConfig({ + baseUrl: 'http://localhost:28157', throwOnError: true -})); \ No newline at end of file +})); diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/index.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/index.ts index 31a9f07e..fcc8d64a 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/index.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/index.ts @@ -1,4 +1,5 @@ // This file is auto-generated by @hey-api/openapi-ts + export * from './types.gen'; export * from './client.gen'; -export * from './sdk.gen'; \ No newline at end of file +export * from './sdk.gen'; diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/sdk.gen.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/sdk.gen.ts index 1ef586e4..96cae3ae 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/sdk.gen.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/sdk.gen.ts @@ -1,10 +1,11 @@ // This file is auto-generated by @hey-api/openapi-ts -import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch'; -import type { PostGetAccessTokenData, PostGetAccessTokenResponse, GetAuthorizationUrlData, GetAuthorizationUrlResponse, GetCheckConfigurationData, GetCheckConfigurationResponse, GetFormsByApiKeyData, GetFormsByApiKeyResponse, GetFormsOAuthData, GetFormsOAuthResponse, PostRefreshAccessTokenData, PostRefreshAccessTokenResponse, PostRevokeAccessTokenData, GetValidateAccessTokenData, GetValidateAccessTokenResponse } from './types.gen'; -import { client as _heyApiClient } from './client.gen'; +import type { Client, Options as Options2, TDataShape } from '@hey-api/client-fetch'; -export type Options = ClientOptions & { +import { client } from './client.gen'; +import type { GetAuthorizationUrlData, GetAuthorizationUrlErrors, GetAuthorizationUrlResponses, GetCheckConfigurationData, GetCheckConfigurationErrors, GetCheckConfigurationResponses, GetFormsByApiKeyData, GetFormsByApiKeyErrors, GetFormsByApiKeyResponses, GetFormsOAuthData, GetFormsOAuthErrors, GetFormsOAuthResponses, GetValidateAccessTokenData, GetValidateAccessTokenErrors, GetValidateAccessTokenResponses, PostGetAccessTokenData, PostGetAccessTokenErrors, PostGetAccessTokenResponses, PostRefreshAccessTokenData, PostRefreshAccessTokenErrors, PostRefreshAccessTokenResponses, PostRevokeAccessTokenData, PostRevokeAccessTokenErrors, PostRevokeAccessTokenResponses } from './types.gen'; + +export type Options = Options2 & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a @@ -18,9 +19,9 @@ export type Options; }; -export class FormsService { +export class Forms { public static postGetAccessToken(options?: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options?.client ?? client).post({ security: [ { scheme: 'bearer', @@ -37,7 +38,7 @@ export class FormsService { } public static getAuthorizationUrl(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? client).get({ security: [ { scheme: 'bearer', @@ -50,7 +51,7 @@ export class FormsService { } public static getCheckConfiguration(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? client).get({ security: [ { scheme: 'bearer', @@ -63,7 +64,7 @@ export class FormsService { } public static getFormsByApiKey(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? client).get({ security: [ { scheme: 'bearer', @@ -76,7 +77,7 @@ export class FormsService { } public static getFormsOAuth(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? client).get({ security: [ { scheme: 'bearer', @@ -89,7 +90,7 @@ export class FormsService { } public static postRefreshAccessToken(options?: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options?.client ?? client).post({ security: [ { scheme: 'bearer', @@ -102,7 +103,7 @@ export class FormsService { } public static postRevokeAccessToken(options?: Options) { - return (options?.client ?? _heyApiClient).post({ + return (options?.client ?? client).post({ security: [ { scheme: 'bearer', @@ -115,7 +116,7 @@ export class FormsService { } public static getValidateAccessToken(options?: Options) { - return (options?.client ?? _heyApiClient).get({ + return (options?.client ?? client).get({ security: [ { scheme: 'bearer', @@ -126,5 +127,4 @@ export class FormsService { ...options }); } - -} \ No newline at end of file +} diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/types.gen.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/types.gen.ts index 186e749a..499fbac1 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/types.gen.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/generated/types.gen.ts @@ -1,5 +1,9 @@ // This file is auto-generated by @hey-api/openapi-ts +export type ClientOptions = { + baseUrl: 'http://localhost:28157' | (string & {}); +}; + export type ConfigurationTypeModel = { readonly value: string; }; @@ -20,15 +24,11 @@ export type HubspotFormDtoModel = { region: string; }; -export type HubspotFormPickerSettingsModelReadable = { +export type HubspotFormPickerSettingsModel = { isValid: boolean; type: ConfigurationTypeModel; }; -export type HubspotFormPickerSettingsModelWritable = { - isValid: boolean; -}; - export type NotificationHeaderModel = { message: string; category: string; @@ -46,6 +46,11 @@ export type ResponseDtoModel = { forms: Array; }; +export type HubspotFormPickerSettingsModelWritable = { + isValid: boolean; + type: unknown; +}; + export type PostGetAccessTokenData = { body?: OAuthRequestDtoModel; path?: never; @@ -110,7 +115,7 @@ export type GetCheckConfigurationResponses = { /** * OK */ - 200: HubspotFormPickerSettingsModelReadable; + 200: HubspotFormPickerSettingsModel; }; export type GetCheckConfigurationResponse = GetCheckConfigurationResponses[keyof GetCheckConfigurationResponses]; @@ -227,7 +232,3 @@ export type GetValidateAccessTokenResponses = { }; export type GetValidateAccessTokenResponse = GetValidateAccessTokenResponses[keyof GetValidateAccessTokenResponses]; - -export type ClientOptions = { - baseUrl: 'http://localhost:30450' | (string & {}); -}; \ No newline at end of file diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/openapi-ts.config.js b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/openapi-ts.config.js index b9428eb4..162433fe 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/openapi-ts.config.js +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/openapi-ts.config.js @@ -4,7 +4,7 @@ export default defineConfig({ logs: { level: 'debug', }, - input: 'http://localhost:30450/umbraco/swagger/hubspot-forms-management/swagger.json', + input: 'http://localhost:28157/umbraco/swagger/hubspot-forms-management/swagger.json', output: { path: 'generated', }, diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package-lock.json b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package-lock.json index b9861332..753a9a58 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package-lock.json +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package-lock.json @@ -8,11 +8,11 @@ "name": "hubspot", "version": "0.0.0", "devDependencies": { - "@hey-api/client-fetch": "^0.10.0", - "@hey-api/openapi-ts": "0.67.6", + "@hey-api/client-fetch": "^0.13.0", + "@hey-api/openapi-ts": "0.85.0", "@typescript-eslint/eslint-plugin": "^7.13.0", "@typescript-eslint/parser": "^7.13.0", - "@umbraco-cms/backoffice": "^16.0.0", + "@umbraco-cms/backoffice": "17.0.0-rc2", "cross-env": "^7.0.3", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", @@ -29,6 +29,9 @@ "engines": { "node": ">=22", "npm": ">=10.9" + }, + "peerDependencies": { + "@umbraco-cms/backoffice": "17.0.0-rc2" } }, "node_modules/@esbuild/aix-ppc64": { @@ -535,10 +538,22 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@heximal/expressions": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@heximal/expressions/-/expressions-0.1.5.tgz", + "integrity": "sha512-QdWz9vNrdzi24so9KGEM9w4UYLg1yk+LVvYBEDbw9EY1BzKHITWdtYc55xJ3Zuio0/9Naz/D1YtYlCnfsycNDQ==", + "dev": true, + "license": "BSD 3-Clause", + "peer": true, + "dependencies": { + "tslib": "^2.7.0" + } + }, "node_modules/@hey-api/client-fetch": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.10.2.tgz", - "integrity": "sha512-AGiFYDx+y8VT1wlQ3EbzzZtfU8EfV+hLLRTtr8Y/tjYZaxIECwJagVZf24YzNbtEBXONFV50bwcU1wLVGXe1ow==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@hey-api/client-fetch/-/client-fetch-0.13.1.tgz", + "integrity": "sha512-29jBRYNdxVGlx5oewFgOrkulZckpIpBIRHth3uHFn1PrL2ucMy52FvWOY3U3dVx2go1Z3kUmMi6lr07iOpUqqA==", + "deprecated": "Starting with v0.73.0, this package is bundled directly inside @hey-api/openapi-ts.", "dev": true, "license": "MIT", "funding": { @@ -548,10 +563,26 @@ "@hey-api/openapi-ts": "< 2" } }, + "node_modules/@hey-api/codegen-core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@hey-api/codegen-core/-/codegen-core-0.2.0.tgz", + "integrity": "sha512-c7VjBy/8ed0EVLNgaeS9Xxams1Tuv/WK/b4xXH3Qr4wjzYeJUtxOcoP8YdwNLavqKP8pGiuctjX2Z1Pwc4jMgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=22.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + }, + "peerDependencies": { + "typescript": ">=5.5.3" + } + }, "node_modules/@hey-api/json-schema-ref-parser": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@hey-api/json-schema-ref-parser/-/json-schema-ref-parser-1.0.6.tgz", - "integrity": "sha512-yktiFZoWPtEW8QKS65eqKwA5MTKp88CyiL8q72WynrBs/73SAaxlSWlA2zW/DZlywZ5hX1OYzrCC0wFdvO9c2w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hey-api/json-schema-ref-parser/-/json-schema-ref-parser-1.2.0.tgz", + "integrity": "sha512-BMnIuhVgNmSudadw1GcTsP18Yk5l8FrYrg/OSYNxz0D2E0vf4D5e4j5nUbuY8MU6p1vp7ev0xrfP6A/NWazkzQ==", "dev": true, "license": "MIT", "dependencies": { @@ -568,16 +599,22 @@ } }, "node_modules/@hey-api/openapi-ts": { - "version": "0.67.6", - "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.67.6.tgz", - "integrity": "sha512-ywZggKKYieVjM6O6T60/Bl+QBRvhcKAov8dAIQor7reyKpFbEn3Ws+9WKoXR8QUuXN8AR8nMFjOuYPer5db/dg==", + "version": "0.85.0", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.85.0.tgz", + "integrity": "sha512-LSBHP2/wTF1BnaccHGX1t+0Ss+2VJQxotrLz/0+LK2z8ocuyVZXOYhfBSd7FP8sK78MDJVDBYrPCsBUvNSlH1g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@hey-api/json-schema-ref-parser": "1.0.6", - "c12": "2.0.1", + "@hey-api/codegen-core": "^0.2.0", + "@hey-api/json-schema-ref-parser": "1.2.0", + "ansi-colors": "4.1.3", + "c12": "3.3.0", + "color-support": "1.1.3", "commander": "13.0.0", - "handlebars": "4.7.8" + "handlebars": "4.7.8", + "open": "10.1.2", + "semver": "7.7.2" }, "bin": { "openapi-ts": "bin/index.cjs" @@ -589,7 +626,7 @@ "url": "https://github.com/sponsors/hey-api" }, "peerDependencies": { - "typescript": "^5.5.3" + "typescript": ">=5.5.3" } }, "node_modules/@humanwhocodes/config-array": { @@ -658,22 +695,35 @@ "license": "MIT" }, "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", - "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", + "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/@lit/reactive-element": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.0.tgz", - "integrity": "sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", + "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", "dev": true, "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.4.0" + } + }, + "node_modules/@microsoft/signalr": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-9.0.6.tgz", + "integrity": "sha512-DrhgzFWI9JE4RPTsHYRxh4yr+OhnwKz8bnJe7eIi7mLLjqhJpEb62CiUy/YbFvLqLzcGzlzz1QWgVAW0zyipMQ==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" + "abort-controller": "^3.0.0", + "eventsource": "^2.0.2", + "fetch-cookie": "^2.0.3", + "node-fetch": "^2.6.7", + "ws": "^7.5.10" } }, "node_modules/@nodelib/fs.scandir": { @@ -716,8 +766,7 @@ "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz", "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.41.1", @@ -1009,9 +1058,9 @@ } }, "node_modules/@tiptap/core": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.11.7.tgz", - "integrity": "sha512-zN+NFFxLsxNEL8Qioc+DL6b8+Tt2bmRbXH22Gk6F6nD30x83eaUSFlSv3wqvgyCq3I1i1NO394So+Agmayx6rQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.6.2.tgz", + "integrity": "sha512-XKZYrCVFsyQGF6dXQR73YR222l/76wkKfZ+2/4LCrem5qtcOarmv5pYxjUBG8mRuBPskTTBImSFTeQltJIUNCg==", "dev": true, "license": "MIT", "peer": true, @@ -1020,13 +1069,13 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/pm": "^2.7.0" + "@tiptap/pm": "^3.6.2" } }, - "node_modules/@tiptap/extension-blockquote": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.12.0.tgz", - "integrity": "sha512-XUC2A77YAPMJS2SqZ2S62IGcUH8gZ7cdhoWlYQb1pR4ZzXFByeKDJPxfYeAePSiuI01YGrlzgY2c6Ncx/DtO0A==", + "node_modules/@tiptap/extension-image": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-3.6.2.tgz", + "integrity": "sha512-AuetGUr1sGH18UDREk0EMt7jYnFkBFsnYlXNNcp0g0rGACRKaCD7Bzv451nHc8m1WYOpqMAyTTlRg+eYs442xA==", "dev": true, "license": "MIT", "peer": true, @@ -1035,13 +1084,13 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.6.2" } }, - "node_modules/@tiptap/extension-bold": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.12.0.tgz", - "integrity": "sha512-lAUtoLDLRc5ofD2I9MFY6MQ7d1qBLLqS1rvpwaPjOaoQb/GPVnaHj9qXYG0SY9K3erMtto48bMFpAcscjZHzZQ==", + "node_modules/@tiptap/extension-subscript": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-3.6.2.tgz", + "integrity": "sha512-knI9mlRPwRSTza8y5K7x3w3Lg/m5dXAqbxpjCwTxEzu3ngbaUyLEDfQ4TCViwgqCWTefDtPI/FEiKl1MTVcw9g==", "dev": true, "license": "MIT", "peer": true, @@ -1050,13 +1099,14 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.6.2", + "@tiptap/pm": "^3.6.2" } }, - "node_modules/@tiptap/extension-bullet-list": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.12.0.tgz", - "integrity": "sha512-YTCjztB8MaIpwyxFYr81H4+LdKCq1VlaSXQyrPdB44mVdhhRqc46BYQb8/B//XE3UIu3X2QWFjwrqRlUq6vUiw==", + "node_modules/@tiptap/extension-superscript": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-3.6.2.tgz", + "integrity": "sha512-DbxTVrbX6cYSn8vSQ0kScgJ37x3EzNX6a83XO1OhByH3pH1oPqZyzBtLLNt5ocaMFQHEGawhwoGjNpzOCSoajA==", "dev": true, "license": "MIT", "peer": true, @@ -1065,13 +1115,14 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.6.2", + "@tiptap/pm": "^3.6.2" } }, - "node_modules/@tiptap/extension-character-count": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.11.7.tgz", - "integrity": "sha512-gcVbKou+uxzg8N0BBKceLwtpWvN8g2TIjTuCdyAcAPukX63DqVWOkofFHn1RqZbstJmtF4pTGZs9OH/GJrp27Q==", + "node_modules/@tiptap/extension-table": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.6.2.tgz", + "integrity": "sha512-ozRPpxTXrYABTU/zQq3JlytUUXvQDaEcl19YUR1mL/7Ctf4zRBvSnBHCuP/1Cu+4oHX4zdako/G++Z5qJxa65A==", "dev": true, "license": "MIT", "peer": true, @@ -1080,14 +1131,14 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/core": "^3.6.2", + "@tiptap/pm": "^3.6.2" } }, - "node_modules/@tiptap/extension-code": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.12.0.tgz", - "integrity": "sha512-R7RaS+hJeHFim7alImQ9L9CSWSMjWXvz0Ote568x9ea5gdBGUYW8PcH+5a91lh8e1XGYWBM12a8oJZRyxg/tQA==", + "node_modules/@tiptap/extension-text-align": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-3.6.2.tgz", + "integrity": "sha512-P3IYe6pyOe9hZoSQfHypFioLbGrr24d55/RkvNnwSd8qzd0RhjXIyiuOmYLcXdLio4PkJ+KjbZcptQ9zW8Mh4g==", "dev": true, "license": "MIT", "peer": true, @@ -1096,13 +1147,13 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.6.2" } }, - "node_modules/@tiptap/extension-code-block": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.12.0.tgz", - "integrity": "sha512-1D7cYAjgxEFHdfC/35Ooi4GqWKB5sszbW8iI7N16XILNln26xb0d5KflXqYrwr9CN/ZnZoCl2o6YsP7xEObcZA==", + "node_modules/@tiptap/extension-text-style": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-3.6.2.tgz", + "integrity": "sha512-1N5suFcjZLdccYN+5zjFGFPV6YsLWbz0aYnLcwUvrRSxMm5VkOqKSm5ZLV11rikU06WgkfpLCtmZ5jpl0piD9Q==", "dev": true, "license": "MIT", "peer": true, @@ -1111,14 +1162,13 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/core": "^3.6.2" } }, - "node_modules/@tiptap/extension-document": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.12.0.tgz", - "integrity": "sha512-sA1Q+mxDIv0Y3qQTBkYGwknNbDcGFiJ/fyAFholXpqbrcRx3GavwR/o0chBdsJZlFht0x7AWGwUYWvIo7wYilA==", + "node_modules/@tiptap/extensions": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.6.2.tgz", + "integrity": "sha512-tg7/DgaI6SpkeawryapUtNoBxsJUMJl3+nSjTfTvsaNXed+BHzLPsvmPbzlF9ScrAbVEx8nj6CCkneECYIQ4CQ==", "dev": true, "license": "MIT", "peer": true, @@ -1127,29 +1177,83 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.6.2", + "@tiptap/pm": "^3.6.2" } }, - "node_modules/@tiptap/extension-dropcursor": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.12.0.tgz", - "integrity": "sha512-zcZSOXFj+7LVnmdPWTfKr5AoxYIzFPFlLJe35AdTQC5IhkljLn1Exct8I30ZREojX/00hKYsO7JJmePS6TEVlQ==", + "node_modules/@tiptap/pm": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.6.2.tgz", + "integrity": "sha512-g+NXjqjbj6NfHOMl22uNWVYIu8oCq7RFfbnpohPMsSKJLaHYE8mJR++7T6P5R9FoqhIFdwizg1jTpwRU5CHqXQ==", "dev": true, "license": "MIT", "peer": true, + "dependencies": { + "prosemirror-changeset": "^2.3.0", + "prosemirror-collab": "^1.3.1", + "prosemirror-commands": "^1.6.2", + "prosemirror-dropcursor": "^1.8.1", + "prosemirror-gapcursor": "^1.3.2", + "prosemirror-history": "^1.4.1", + "prosemirror-inputrules": "^1.4.0", + "prosemirror-keymap": "^1.2.2", + "prosemirror-markdown": "^1.13.1", + "prosemirror-menu": "^1.2.4", + "prosemirror-model": "^1.24.1", + "prosemirror-schema-basic": "^1.2.3", + "prosemirror-schema-list": "^1.5.0", + "prosemirror-state": "^1.4.3", + "prosemirror-tables": "^1.6.4", + "prosemirror-trailing-node": "^3.0.0", + "prosemirror-transform": "^1.10.2", + "prosemirror-view": "^1.38.1" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tiptap/starter-kit": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-3.6.2.tgz", + "integrity": "sha512-nPzraIx/f1cOUNqG1LSC0OTnEu3mudcN3jQVuyGh3dvdOnik7FUciJEVfHKnloAyeoijidEeiLpiGHInp2uREg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tiptap/core": "^3.6.2", + "@tiptap/extension-blockquote": "^3.6.2", + "@tiptap/extension-bold": "^3.6.2", + "@tiptap/extension-bullet-list": "^3.6.2", + "@tiptap/extension-code": "^3.6.2", + "@tiptap/extension-code-block": "^3.6.2", + "@tiptap/extension-document": "^3.6.2", + "@tiptap/extension-dropcursor": "^3.6.2", + "@tiptap/extension-gapcursor": "^3.6.2", + "@tiptap/extension-hard-break": "^3.6.2", + "@tiptap/extension-heading": "^3.6.2", + "@tiptap/extension-horizontal-rule": "^3.6.2", + "@tiptap/extension-italic": "^3.6.2", + "@tiptap/extension-link": "^3.6.2", + "@tiptap/extension-list": "^3.6.2", + "@tiptap/extension-list-item": "^3.6.2", + "@tiptap/extension-list-keymap": "^3.6.2", + "@tiptap/extension-ordered-list": "^3.6.2", + "@tiptap/extension-paragraph": "^3.6.2", + "@tiptap/extension-strike": "^3.6.2", + "@tiptap/extension-text": "^3.6.2", + "@tiptap/extension-underline": "^3.6.2", + "@tiptap/extensions": "^3.6.2", + "@tiptap/pm": "^3.6.2" }, - "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" } }, - "node_modules/@tiptap/extension-gapcursor": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.12.0.tgz", - "integrity": "sha512-k8ji5v9YKn7bNjo8UtI9hEfXfl4tKUp1hpJOEmUxGJQa3LIwrwSbReupUTnHszGQelzxikS/l1xO9P0TIGwRoA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/core": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.10.7.tgz", + "integrity": "sha512-4rD3oHkXNOS6Fxm0mr+ECyq35iMFnnAXheIO+UsQbOexwTxn2yZ5Q1rQiFKcCf+p+rrg1yt8TtxQPM8VLWS+1g==", "dev": true, "license": "MIT", "peer": true, @@ -1158,216 +1262,201 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/extension-hard-break": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.12.0.tgz", - "integrity": "sha512-08MNS2PK5DzdnAfqXn4krmJ/xebKmWpRpYqqN5EM8AvetYKlAJyTVSpo0ZUeGbZ3EZiPm9djgSnrLqpFUDjRCg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-blockquote": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.10.7.tgz", + "integrity": "sha512-xIeRVTnnC78VDgm3YxosgM1ODVKBdmyWuz4Dhhyc1UCPFptzNIPZuzNbOxyThFseqKh1LVDM+EmjshACE/3jVg==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-heading": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.12.0.tgz", - "integrity": "sha512-9DfES4Wd5TX1foI70N9sAL+35NN1UHrtzDYN2+dTHupnmKir9RaMXyZcbkUb4aDVzYrGxIqxJzHBVkquKIlTrw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-bold": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.10.7.tgz", + "integrity": "sha512-NWjOIIZdxUSkWLQrEY4Tg60MzS6RGt/1aLnwTyFFzFFShzOmd/xzxp0fRS+p79ZKNcQa9OKgnrlS4xuRq8WOdQ==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-history": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.12.0.tgz", - "integrity": "sha512-+B9CAf2BFURC6mQiM1OQtahVTzdEOEgT/UUNlRZkeeBc0K5of3dr6UdBqaoaMAefja3jx5PqiQ7mhUBAjSt6AA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-bullet-list": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.10.7.tgz", + "integrity": "sha512-c6ycK/8TZEl8sw4Wkr4APpjeNaNhh4EJPBZ2bt4oHqkl+v5NCddo9xdP1sgsopNySPNQaHQSO5GYmU2QHbSBpA==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/extension-list": "^3.10.7" } }, - "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.12.0.tgz", - "integrity": "sha512-Vi2+6RIehDSpoJn/7PDuOieUj7W7WrEb4wBxK9TG8PDscihR0mehhhzm/K2xhH4TN48iPJGRsjDFrFjTbXmcnw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-code": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.10.7.tgz", + "integrity": "sha512-POK3CCy29LoRI6JVvFRVAmH2G90a7pKJT8sbqOaX1WKmLLDt7drUxGgBNnz/cBXJQHPnXZgRq/P8ZQPISklT7Q==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-image": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.11.7.tgz", - "integrity": "sha512-YvCmTDB7Oo+A56tR4S/gcNaYpqU4DDlSQcRp5IQvmQV5EekSe0lnEazGDoqOCwsit9qQhj4MPQJhKrnaWrJUrg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-code-block": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.10.7.tgz", + "integrity": "sha512-Z6EH/DhSVQtOKL+vS9J2dbvJ81T3xJ2Htgn4BOxpuCGUCInu5Aymf/53tco3aQse/UHB3Gvr+/4AOwxphXYhgw==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7", + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/extension-italic": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.12.0.tgz", - "integrity": "sha512-JKcXK3LmEsmxNzEq5e06rPUGMRLUxmJ2mYtBY4NlJ6yLM9XMDljtgeTnWT0ySLYmfINSFTkX4S7WIRbpl9l4pw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-document": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.10.7.tgz", + "integrity": "sha512-RlezqyAf0voUblrMLArh+AZJ9t+rE6buFa+U1V37Ey+I1z+Y8pPqlhtYJoTUz0GtSZWMReirSvoQpQJHM9x3Yw==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-link": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.11.7.tgz", - "integrity": "sha512-qKIowE73aAUrnQCIifYP34xXOHOsZw46cT/LBDlb0T60knVfQoKVE4ku08fJzAV+s6zqgsaaZ4HVOXkQYLoW7g==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-dropcursor": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-3.10.7.tgz", + "integrity": "sha512-VnI+lRpXi9Qa/RFeZYqGd5taApM8SD6qYBnL1FqwRx7eLpWH3UyH911d9/sFqYxouDy06XRDHPoqlyMw5afdwQ==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "linkifyjs": "^4.2.0" - }, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/extensions": "^3.10.7" } }, - "node_modules/@tiptap/extension-list-item": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.12.0.tgz", - "integrity": "sha512-4YwZooC8HP+gPxs6YrkB1ayggyYbgVvJx/rWBT6lKSW2MVVg8QXi1zAcSI3MhIhHmqDysXXFPL8JURlbeGjaFA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-gapcursor": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-3.10.7.tgz", + "integrity": "sha512-1VDNX+4ZCKxuoj6nRTZDwHjPYhuSdELYYCSfxscojlwexPxCLcgqOt71xdgnQXW5Hv6ACT4OrGGYcGTupudOHg==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/extensions": "^3.10.7" } }, - "node_modules/@tiptap/extension-ordered-list": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.12.0.tgz", - "integrity": "sha512-1ys0e/oqk09oXxrB1WzAx5EntK/QreObG/V1yhgihGm429fxHMsxzIYN6dKAYxx0YOPQG7qEZRrrPuWU70Ms7g==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-hard-break": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.10.7.tgz", + "integrity": "sha512-EIdTsD2pV4FSef/6nrKlXV8H5861PElnIjuoHkwk1alowAVL/HSvJqPxZwH6k2qLcsabkr0cSdaDixw9gJGAdg==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-paragraph": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.12.0.tgz", - "integrity": "sha512-QNK5cgewCunWFxpLlbvvoO1rrLgEtNKxiY79fctP9toV+e59R+1i1Q9lXC1O5mOfDgVxCb6uFDMsqmKhFjpPog==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-heading": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.10.7.tgz", + "integrity": "sha512-Pp0LYTEyimDfiXzy+8Ls2LDuhhmyM7jXr8go3myTHSLMTpt0ch7P5FVSnDxMFtQ5eRiAwXHET63/JOaiIwMa/w==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-placeholder": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.11.7.tgz", - "integrity": "sha512-/06zXV4HIjYoiaUq1fVJo/RcU8pHbzx21evOpeG/foCfNpMI4xLU/vnxdUi6/SQqpZMY0eFutDqod1InkSOqsg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-horizontal-rule": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.10.7.tgz", + "integrity": "sha512-V9uWb341QUBDDbR3aoSs3Sx0PQQaKwZ/ESVEE03El9rkIrf8g5K82x8/M0nvSOvGobt6oRyI/rgbj196YQuXiQ==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/core": "^3.10.7", + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/extension-strike": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.12.0.tgz", - "integrity": "sha512-nBaa5YtBsLJPZFfSs36sBz4Zgi/c8b3MsmS/Az8uXaHb0R9yPewOVUMDIQbxMct8SXUlIo9VtKlOL+mVJ3Nkpw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-italic": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.10.7.tgz", + "integrity": "sha512-1CQgHNm51xDyZI188f5xKLcUIjRS+2cyZgS9XwKwIU/3QOsiKsNC+cBc4VmN3aR0A01NjK0ch0MjeKkPPWUt5A==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-subscript": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-2.11.7.tgz", - "integrity": "sha512-I25ZexCddFJ9701DCCtQbX3Vtxzj5d9ss2GAXVweIUCdATCScaebsznyUQoN5papmhTxXsw5OD+K2ZHxP82pew==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-link": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-3.10.7.tgz", + "integrity": "sha512-AIgrtveTQ5QyRpcic2MVSuv9aOaN0n+swdZPvi8XREZX/uf1SU4dYU7p0dNChhcn53GGPDNVRTQXX4YdEAZFQQ==", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "linkifyjs": "^4.3.2" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7", + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/extension-superscript": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-2.11.7.tgz", - "integrity": "sha512-dNRpCcRJs0Qvv0sZRgbH7Y5hDVbWsGSZjtwFCs/mysPrvHqmXjzo7568kYWTggxEYxnXw6n0FfkCAEHlt0N90Q==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-list": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.10.7.tgz", + "integrity": "sha512-aggic/94+wAt50Bx492++YsQtu0NdH8psaRokA0/9NvTjHoLq/zbbyloJyYW+DWe4GzwK9qCB5PKHQTTXWMu9Q==", "dev": true, "license": "MIT", "peer": true, @@ -1376,119 +1465,112 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7", + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/extension-table": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-2.11.7.tgz", - "integrity": "sha512-rfwWkNXz/EZuhc8lylsCWPbx0Xr5FlIhreWFyeoXYrDEO3x4ytYcVOpNmbabJYP2semfM0PvPR5o84zfFkLZyg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-list-item": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.10.7.tgz", + "integrity": "sha512-beCOcDfOzCY9/7fAHY/O/RFcqxLPJWGBV/6YMMUkyW34rrb1NmSZp2qegTh+1820DHs7sokn/OeCIo8Fqs8lQA==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0", - "@tiptap/pm": "^2.7.0" + "@tiptap/extension-list": "^3.10.7" } }, - "node_modules/@tiptap/extension-table-cell": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-2.11.7.tgz", - "integrity": "sha512-JMOkSYRckc5SJP86yGGiHzCxCR8ecrRENvTWAKib6qer2tutxs5u42W+Z8uTcHC2dRz7Fv54snOkDoqPwkf6cw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-list-keymap": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-keymap/-/extension-list-keymap-3.10.7.tgz", + "integrity": "sha512-QzDX+BY3z60sz3GfMK7oQV/CnAL0elRI+VdGyObuNS/RCpD6DKwa5Gb+vB9Qj3sUccViJOhBr8OpmLDtAoco8g==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/extension-list": "^3.10.7" } }, - "node_modules/@tiptap/extension-table-header": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-2.11.7.tgz", - "integrity": "sha512-wPRKpliS5QQXgsp//ZjXrHMdLICMkjg2fUrQinOiBa7wDL5C7Y+SehtuK4s2tjeAkyAdj+nepfftyBRIlUSMXg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-ordered-list": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.10.7.tgz", + "integrity": "sha512-+rcJM0iqBVHBRlbupU8KmoTc3AD8maWJyQl05LrVQcAwmRDx3xtIagRnN1hwxSYavIFRwLATgYHSWd08nnL38g==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/extension-list": "^3.10.7" } }, - "node_modules/@tiptap/extension-table-row": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-2.11.7.tgz", - "integrity": "sha512-K254RiXWGXGjz5Cm835hqfQiwnYXm8aw6oOa3isDh4A1B+1Ev4DB2vEDKMrgaOor3nbTsSYmAx2iEMrZSbpaRg==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-paragraph": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.10.7.tgz", + "integrity": "sha512-53+nCxNaKcmeqQ+aWrSauEWywuWPp8qkUTOO2rHlpmM+rk/1bv3IZePKQ2JtHZzYCeRd3xOC33kl60HE7EwakQ==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-text": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.12.0.tgz", - "integrity": "sha512-0ytN9V1tZYTXdiYDQg4FB2SQ56JAJC9r/65snefb9ztl+gZzDrIvih7CflHs1ic9PgyjexfMLeH+VzuMccNyZw==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-strike": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.10.7.tgz", + "integrity": "sha512-pZMdQhChv59jsahvmjiJjSTPM05J6EHAX/GPdA9w8xSKy73899MhIhWJ7yt2CJEPjwn3ixnomIPhMjxBkizv+g==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-text-align": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-2.11.7.tgz", - "integrity": "sha512-3M8zd9ROADXazVNpgR6Ejs1evSvBveN36qN4GgV71GqrNlTcjqYgQcXFLQrsd2hnE+aXir8/8bLJ+aaJXDninA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-text": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.10.7.tgz", + "integrity": "sha512-b7Rjil/uqiabWnRHyd1P84rWD2XRyZZSrmIAO9mDMD/jB2bE+f7rDJcHG76GF03UicDhEEEf2/8mz0dMLa6mUA==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-text-style": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.12.0.tgz", - "integrity": "sha512-Pxwt23ZlvbQUahV0PvHy8Ej6IAuKR1FvHobUvwP3T8AiY7hob66fWRe7tQbESzSAzm5Vv2xkvyHeU8vekMTezA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extension-underline": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.10.7.tgz", + "integrity": "sha512-yBL81xdbjT5Y7acoBqWpnH/SoH3bpgqaLvJBG3NNk+mdLB5HjBWTlPLKjvjQV0HRN5bZ+RJWeiRnQk1ahcfmQA==", "dev": true, "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7" } }, - "node_modules/@tiptap/extension-underline": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.11.7.tgz", - "integrity": "sha512-NtoQw6PGijOAtXC6G+0Aq0/Z5wwEjPhNHs8nsjXogfWIgaj/aI4/zfBnA06eI3WT+emMYQTl0fTc4CUPnLVU8g==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/extensions": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.10.7.tgz", + "integrity": "sha512-jYYR7NA7t2hdyJmSLYVAJ3usyIOZ2mfFqPCCHbSn/k3jqmGaPFZuxJSwmYjfmTxisZ9rGn+49/YJF2y/Yej/0Q==", "dev": true, "license": "MIT", "peer": true, @@ -1497,18 +1579,19 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^3.10.7", + "@tiptap/pm": "^3.10.7" } }, - "node_modules/@tiptap/pm": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.7.tgz", - "integrity": "sha512-7gEEfz2Q6bYKXM07vzLUD0vqXFhC5geWRA6LCozTiLdVFDdHWiBrvb2rtkL5T7mfLq03zc1QhH7rI3F6VntOEA==", + "node_modules/@tiptap/starter-kit/node_modules/@tiptap/pm": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.10.7.tgz", + "integrity": "sha512-/iiurioqSukJk6CrEtfRpdOEafDybyVPToAllgn7i2XcusXSxJSX+K0GUndMUwVR+UqVOCyMYBTRTnE0hdQqgA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "prosemirror-changeset": "^2.2.1", + "prosemirror-changeset": "^2.3.0", "prosemirror-collab": "^1.3.1", "prosemirror-commands": "^1.6.2", "prosemirror-dropcursor": "^1.8.1", @@ -1518,49 +1601,14 @@ "prosemirror-keymap": "^1.2.2", "prosemirror-markdown": "^1.13.1", "prosemirror-menu": "^1.2.4", - "prosemirror-model": "^1.23.0", + "prosemirror-model": "^1.24.1", "prosemirror-schema-basic": "^1.2.3", - "prosemirror-schema-list": "^1.4.1", + "prosemirror-schema-list": "^1.5.0", "prosemirror-state": "^1.4.3", "prosemirror-tables": "^1.6.4", "prosemirror-trailing-node": "^3.0.0", "prosemirror-transform": "^1.10.2", - "prosemirror-view": "^1.37.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - } - }, - "node_modules/@tiptap/starter-kit": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.11.7.tgz", - "integrity": "sha512-K+q51KwNU/l0kqRuV5e1824yOLVftj6kGplGQLvJG56P7Rb2dPbM/JeaDbxQhnHT/KDGamG0s0Po0M3pPY163A==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@tiptap/core": "^2.11.7", - "@tiptap/extension-blockquote": "^2.11.7", - "@tiptap/extension-bold": "^2.11.7", - "@tiptap/extension-bullet-list": "^2.11.7", - "@tiptap/extension-code": "^2.11.7", - "@tiptap/extension-code-block": "^2.11.7", - "@tiptap/extension-document": "^2.11.7", - "@tiptap/extension-dropcursor": "^2.11.7", - "@tiptap/extension-gapcursor": "^2.11.7", - "@tiptap/extension-hard-break": "^2.11.7", - "@tiptap/extension-heading": "^2.11.7", - "@tiptap/extension-history": "^2.11.7", - "@tiptap/extension-horizontal-rule": "^2.11.7", - "@tiptap/extension-italic": "^2.11.7", - "@tiptap/extension-list-item": "^2.11.7", - "@tiptap/extension-ordered-list": "^2.11.7", - "@tiptap/extension-paragraph": "^2.11.7", - "@tiptap/extension-strike": "^2.11.7", - "@tiptap/extension-text": "^2.11.7", - "@tiptap/extension-text-style": "^2.11.7", - "@tiptap/pm": "^2.11.7" + "prosemirror-view": "^1.38.1" }, "funding": { "type": "github", @@ -1600,8 +1648,7 @@ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", @@ -1609,7 +1656,6 @@ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" @@ -1620,8 +1666,7 @@ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/node": { "version": "20.14.9", @@ -1646,8 +1691,7 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.14.1", @@ -1687,6 +1731,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz", "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.14.1", "@typescript-eslint/types": "7.14.1", @@ -1835,455 +1880,428 @@ } }, "node_modules/@umbraco-cms/backoffice": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@umbraco-cms/backoffice/-/backoffice-16.0.0.tgz", - "integrity": "sha512-d8YvcCu4Bddps4agKHZoBgmhPhJhffoEEHUFD18iiRx+6ccRighO/qaE/5X8SeZzusSuyFnbeyJRo/5tyu0FRA==", + "version": "17.0.0-rc2", + "resolved": "https://registry.npmjs.org/@umbraco-cms/backoffice/-/backoffice-17.0.0-rc2.tgz", + "integrity": "sha512-/LbrSc7VNFvGmnqx8Kfz+huYzb9KqYy8vN8PXS7OodCQsD1a/n+0x3dtzsPtr7oiYysu+bdL7z1yDBUjyB+Ofg==", "dev": true, "license": "MIT", "engines": { - "node": ">=22", - "npm": ">=10.9" + "node": ">=22.17.1", + "npm": ">=10.9.2" }, "peerDependencies": { - "@hey-api/client-fetch": "^0.10.0", - "@tiptap/core": "2.11.7", - "@tiptap/extension-character-count": "2.11.7", - "@tiptap/extension-image": "2.11.7", - "@tiptap/extension-link": "2.11.7", - "@tiptap/extension-placeholder": "2.11.7", - "@tiptap/extension-subscript": "2.11.7", - "@tiptap/extension-superscript": "2.11.7", - "@tiptap/extension-table": "2.11.7", - "@tiptap/extension-table-cell": "2.11.7", - "@tiptap/extension-table-header": "2.11.7", - "@tiptap/extension-table-row": "2.11.7", - "@tiptap/extension-text-align": "2.11.7", - "@tiptap/extension-underline": "2.11.7", - "@tiptap/pm": "2.11.7", - "@tiptap/starter-kit": "2.11.7", + "@heximal/expressions": "^0.1.5", + "@hey-api/openapi-ts": "^0.85.0", + "@microsoft/signalr": "9.0.6", + "@tiptap/core": "3.6.2", + "@tiptap/extension-image": "3.6.2", + "@tiptap/extension-subscript": "3.6.2", + "@tiptap/extension-superscript": "3.6.2", + "@tiptap/extension-table": "3.6.2", + "@tiptap/extension-text-align": "3.6.2", + "@tiptap/extension-text-style": "3.6.2", + "@tiptap/extensions": "3.6.2", + "@tiptap/pm": "3.6.2", + "@tiptap/starter-kit": "3.6.2", "@types/diff": "^7.0.2", - "@umbraco-ui/uui": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0", + "@umbraco-ui/uui": "^1.16.0", + "@umbraco-ui/uui-css": "^1.16.0", "diff": "^7.0.0", - "dompurify": "^3.2.5", + "dompurify": "^3.2.7", "element-internals-polyfill": "^3.0.2", - "lit": "^3.3.0", - "marked": "^15.0.9", - "monaco-editor": "^0.52.2", + "lit": "^3.3.1", + "luxon": "^3.7.2", + "marked": "^16.3.0", + "monaco-editor": "^0.54.0", "rxjs": "^7.8.2", - "uuid": "^11.1.0" + "uuid": "^13.0.0" } }, "node_modules/@umbraco-ui/uui": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.14.0.tgz", - "integrity": "sha512-et9xGGEcFyIBaMzSbPFt81SDyPdGyV8qyZzLePbs4vDTJiqjtefl0ICZib3Cwm8X4TjCXOcbVMU84wV2RCcIsQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@umbraco-ui/uui-action-bar": "1.14.0", - "@umbraco-ui/uui-avatar": "1.14.0", - "@umbraco-ui/uui-avatar-group": "1.14.0", - "@umbraco-ui/uui-badge": "1.14.0", - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-boolean-input": "1.14.0", - "@umbraco-ui/uui-box": "1.14.0", - "@umbraco-ui/uui-breadcrumbs": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-button-copy-text": "1.14.0", - "@umbraco-ui/uui-button-group": "1.14.0", - "@umbraco-ui/uui-button-inline-create": "1.14.0", - "@umbraco-ui/uui-card": "1.14.0", - "@umbraco-ui/uui-card-block-type": "1.14.0", - "@umbraco-ui/uui-card-content-node": "1.14.0", - "@umbraco-ui/uui-card-media": "1.14.0", - "@umbraco-ui/uui-card-user": "1.14.0", - "@umbraco-ui/uui-caret": "1.14.0", - "@umbraco-ui/uui-checkbox": "1.14.0", - "@umbraco-ui/uui-color-area": "1.14.0", - "@umbraco-ui/uui-color-picker": "1.14.0", - "@umbraco-ui/uui-color-slider": "1.14.0", - "@umbraco-ui/uui-color-swatch": "1.14.0", - "@umbraco-ui/uui-color-swatches": "1.14.0", - "@umbraco-ui/uui-combobox": "1.14.0", - "@umbraco-ui/uui-combobox-list": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0", - "@umbraco-ui/uui-dialog": "1.14.0", - "@umbraco-ui/uui-dialog-layout": "1.14.0", - "@umbraco-ui/uui-file-dropzone": "1.14.0", - "@umbraco-ui/uui-file-preview": "1.14.0", - "@umbraco-ui/uui-form": "1.14.0", - "@umbraco-ui/uui-form-layout-item": "1.14.0", - "@umbraco-ui/uui-form-validation-message": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-icon-registry": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0", - "@umbraco-ui/uui-input": "1.14.0", - "@umbraco-ui/uui-input-file": "1.14.0", - "@umbraco-ui/uui-input-lock": "1.14.0", - "@umbraco-ui/uui-input-password": "1.14.0", - "@umbraco-ui/uui-keyboard-shortcut": "1.14.0", - "@umbraco-ui/uui-label": "1.14.0", - "@umbraco-ui/uui-loader": "1.14.0", - "@umbraco-ui/uui-loader-bar": "1.14.0", - "@umbraco-ui/uui-loader-circle": "1.14.0", - "@umbraco-ui/uui-menu-item": "1.14.0", - "@umbraco-ui/uui-modal": "1.14.0", - "@umbraco-ui/uui-pagination": "1.14.0", - "@umbraco-ui/uui-popover": "1.14.0", - "@umbraco-ui/uui-popover-container": "1.14.0", - "@umbraco-ui/uui-progress-bar": "1.14.0", - "@umbraco-ui/uui-radio": "1.14.0", - "@umbraco-ui/uui-range-slider": "1.14.0", - "@umbraco-ui/uui-ref": "1.14.0", - "@umbraco-ui/uui-ref-list": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0", - "@umbraco-ui/uui-ref-node-data-type": "1.14.0", - "@umbraco-ui/uui-ref-node-document-type": "1.14.0", - "@umbraco-ui/uui-ref-node-form": "1.14.0", - "@umbraco-ui/uui-ref-node-member": "1.14.0", - "@umbraco-ui/uui-ref-node-package": "1.14.0", - "@umbraco-ui/uui-ref-node-user": "1.14.0", - "@umbraco-ui/uui-scroll-container": "1.14.0", - "@umbraco-ui/uui-select": "1.14.0", - "@umbraco-ui/uui-slider": "1.14.0", - "@umbraco-ui/uui-symbol-expand": "1.14.0", - "@umbraco-ui/uui-symbol-file": "1.14.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.14.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.0", - "@umbraco-ui/uui-symbol-folder": "1.14.0", - "@umbraco-ui/uui-symbol-lock": "1.14.0", - "@umbraco-ui/uui-symbol-more": "1.14.0", - "@umbraco-ui/uui-symbol-sort": "1.14.0", - "@umbraco-ui/uui-table": "1.14.0", - "@umbraco-ui/uui-tabs": "1.14.0", - "@umbraco-ui/uui-tag": "1.14.0", - "@umbraco-ui/uui-textarea": "1.14.0", - "@umbraco-ui/uui-toast-notification": "1.14.0", - "@umbraco-ui/uui-toast-notification-container": "1.14.0", - "@umbraco-ui/uui-toast-notification-layout": "1.14.0", - "@umbraco-ui/uui-toggle": "1.14.0", - "@umbraco-ui/uui-visually-hidden": "1.14.0" + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui/-/uui-1.16.0.tgz", + "integrity": "sha512-aWHFSTf+FkPiMirT25UjmUD7wcyQqxvO7btO3AeA7Ogx7R3KiVNulHpPNPgTsyaHFWRcVmxhWDHaib4GHoOJXQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.16.0", + "@umbraco-ui/uui-avatar": "1.16.0", + "@umbraco-ui/uui-avatar-group": "1.16.0", + "@umbraco-ui/uui-badge": "1.16.0", + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-boolean-input": "1.16.0", + "@umbraco-ui/uui-box": "1.16.0", + "@umbraco-ui/uui-breadcrumbs": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-button-copy-text": "1.16.0", + "@umbraco-ui/uui-button-group": "1.16.0", + "@umbraco-ui/uui-button-inline-create": "1.16.0", + "@umbraco-ui/uui-card": "1.16.0", + "@umbraco-ui/uui-card-block-type": "1.16.0", + "@umbraco-ui/uui-card-content-node": "1.16.0", + "@umbraco-ui/uui-card-media": "1.16.0", + "@umbraco-ui/uui-card-user": "1.16.0", + "@umbraco-ui/uui-caret": "1.16.0", + "@umbraco-ui/uui-checkbox": "1.16.0", + "@umbraco-ui/uui-color-area": "1.16.0", + "@umbraco-ui/uui-color-picker": "1.16.0", + "@umbraco-ui/uui-color-slider": "1.16.0", + "@umbraco-ui/uui-color-swatch": "1.16.0", + "@umbraco-ui/uui-color-swatches": "1.16.0", + "@umbraco-ui/uui-combobox": "1.16.0", + "@umbraco-ui/uui-combobox-list": "1.16.0", + "@umbraco-ui/uui-css": "1.16.0", + "@umbraco-ui/uui-dialog": "1.16.0", + "@umbraco-ui/uui-dialog-layout": "1.16.0", + "@umbraco-ui/uui-file-dropzone": "1.16.0", + "@umbraco-ui/uui-file-preview": "1.16.0", + "@umbraco-ui/uui-form": "1.16.0", + "@umbraco-ui/uui-form-layout-item": "1.16.0", + "@umbraco-ui/uui-form-validation-message": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-icon-registry": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0", + "@umbraco-ui/uui-input": "1.16.0", + "@umbraco-ui/uui-input-file": "1.16.0", + "@umbraco-ui/uui-input-lock": "1.16.0", + "@umbraco-ui/uui-input-password": "1.16.0", + "@umbraco-ui/uui-keyboard-shortcut": "1.16.0", + "@umbraco-ui/uui-label": "1.16.0", + "@umbraco-ui/uui-loader": "1.16.0", + "@umbraco-ui/uui-loader-bar": "1.16.0", + "@umbraco-ui/uui-loader-circle": "1.16.0", + "@umbraco-ui/uui-menu-item": "1.16.0", + "@umbraco-ui/uui-modal": "1.16.0", + "@umbraco-ui/uui-pagination": "1.16.0", + "@umbraco-ui/uui-popover": "1.16.0", + "@umbraco-ui/uui-popover-container": "1.16.0", + "@umbraco-ui/uui-progress-bar": "1.16.0", + "@umbraco-ui/uui-radio": "1.16.0", + "@umbraco-ui/uui-range-slider": "1.16.0", + "@umbraco-ui/uui-ref": "1.16.0", + "@umbraco-ui/uui-ref-list": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0", + "@umbraco-ui/uui-ref-node-data-type": "1.16.0", + "@umbraco-ui/uui-ref-node-document-type": "1.16.0", + "@umbraco-ui/uui-ref-node-form": "1.16.0", + "@umbraco-ui/uui-ref-node-member": "1.16.0", + "@umbraco-ui/uui-ref-node-package": "1.16.0", + "@umbraco-ui/uui-ref-node-user": "1.16.0", + "@umbraco-ui/uui-scroll-container": "1.16.0", + "@umbraco-ui/uui-select": "1.16.0", + "@umbraco-ui/uui-slider": "1.16.0", + "@umbraco-ui/uui-symbol-expand": "1.16.0", + "@umbraco-ui/uui-symbol-file": "1.16.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.16.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.16.0", + "@umbraco-ui/uui-symbol-folder": "1.16.0", + "@umbraco-ui/uui-symbol-lock": "1.16.0", + "@umbraco-ui/uui-symbol-more": "1.16.0", + "@umbraco-ui/uui-symbol-sort": "1.16.0", + "@umbraco-ui/uui-table": "1.16.0", + "@umbraco-ui/uui-tabs": "1.16.0", + "@umbraco-ui/uui-tag": "1.16.0", + "@umbraco-ui/uui-textarea": "1.16.0", + "@umbraco-ui/uui-toast-notification": "1.16.0", + "@umbraco-ui/uui-toast-notification-container": "1.16.0", + "@umbraco-ui/uui-toast-notification-layout": "1.16.0", + "@umbraco-ui/uui-toggle": "1.16.0", + "@umbraco-ui/uui-visually-hidden": "1.16.0" } }, "node_modules/@umbraco-ui/uui-action-bar": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.14.0.tgz", - "integrity": "sha512-cTX0TvVxNC7EFMtEqMGMBFC8E5O8bedmJ1Hkddvp4lAzrbLGrFTPcwOG/kISaSXzFrnMzyQNdi3s23orcL5VRA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-action-bar/-/uui-action-bar-1.16.0.tgz", + "integrity": "sha512-WM08j2cGcJcbXWS6Pb9FdhaKDz3+EUSuoxrsZoGkJBJMriZLv4gq9EcE5RIstUbT8JmDPQ7uT3SDT2gZWl07MQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button-group": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button-group": "1.16.0" } }, "node_modules/@umbraco-ui/uui-avatar": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.14.0.tgz", - "integrity": "sha512-ykYlbHV4K+zW7viv+oqfsGcL0ZII4vQy3YnPusFiz6bS3ceDDpY9MpRtuDTv4z+PXW4Wo1FjB2iMHrza55/RUw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar/-/uui-avatar-1.16.0.tgz", + "integrity": "sha512-1u6+hOLy5NrFh5/Z4Kp88y3Mhq+FYCZRwPb+5lSutm+aMy27dehRKkZqlbptWn/qocUCibDxQpruvu/UMtVQtg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-avatar-group": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.14.0.tgz", - "integrity": "sha512-8pLxQvtW1yuaReuSy0wq6kYZXPSiZjKv8ecmciLgWr9aKGR++CwYrwWKA3c+jZTarb8dz4MGMnQpqHCTqlQbpQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-avatar-group/-/uui-avatar-group-1.16.0.tgz", + "integrity": "sha512-509UZzUSD/JhJEVLEpT5ltccHpEw8RxoZbG+hJeg23Oh3jNuRrKvuiyOut5c6JfjMdawHw6vPivVwjqCmbZG5g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-avatar": "1.14.0", - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-avatar": "1.16.0", + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-badge": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.14.0.tgz", - "integrity": "sha512-iUosWuf7XngJBdwmvx8BZkzsollH4146Gt2CQBGltFZRCZ7uUkB2zCYb2E1ys4BEWuKHK4ZLiOcYtpPtoNeZJQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-badge/-/uui-badge-1.16.0.tgz", + "integrity": "sha512-sHo71JOxxk0EufgYfCl9miuYgM1LDSnmtHedvDGs776htMFkLo3W/cFWgIXabAHZeSj4R5UWMGDNsugwv03R+w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-base": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.14.0.tgz", - "integrity": "sha512-m/BQYeKL9XmHPfHfCfSwTjcmUmJxynI0m4yqLTmQqQ3x1hiRqqfYyLSrpi3uW1H/HCxttUkxEwkhAdYogMDIpQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-base/-/uui-base-1.16.0.tgz", + "integrity": "sha512-8i9bdcSrdR/4lWm0xetr3R3w3Rod3YVbIddHqbb3iVrr0TmPDTVA48tnOsJyQFAvTrh2LZjiETvEve7pBy4WQA==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "lit": ">=2.8.0" } }, "node_modules/@umbraco-ui/uui-boolean-input": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.14.0.tgz", - "integrity": "sha512-O+/GzpF2mNLdhXXNAfxI0k5VaR7CUnUxDDxYPhMgmuLOBwdjiq9iScJM4MUl+l7hihF5ue7os6I8DY2CnG7LJQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-boolean-input/-/uui-boolean-input-1.16.0.tgz", + "integrity": "sha512-IRU2z3GV+WzyjUvIMeErYeOE/0GyOpItsXxfmxsEENT/7qq4UMk28fIxY9IdDfI285WP0N3kezWkPBPlCKBcNQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-box": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.14.0.tgz", - "integrity": "sha512-VjD6MtEnJuHOYarFtLvn/Dyz2MRJ0sPXSDTZ3HWsF0G5fdAUB487ErOGb8CL1JtmUYgZOy6N3CqPlFyWHD+DIA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-box/-/uui-box-1.16.0.tgz", + "integrity": "sha512-/Wgnv2jr6wKG436WNjBdGq6x+aExiZhZgLPnzrTcaevy85MM5pJZWgY1+aI+pJclgU6WtRMii2+C8MZL2Qmh0w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-css": "1.16.0" } }, "node_modules/@umbraco-ui/uui-breadcrumbs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.14.0.tgz", - "integrity": "sha512-IxHPUnIaGyvo54oDdcJf4AfzkYF1Nf727SCLHD28WqMh4QCKQQsyBGa5xhFjcQ4RSediNwvAnY7dNVVYu9OrzQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-breadcrumbs/-/uui-breadcrumbs-1.16.0.tgz", + "integrity": "sha512-PuLcxG+3ZeSXKH3M0Kkh3eVYOEJPwLfg+6+b4UXxV/O9p0tUFbNPc8ciggL/1ZBXYXjsQnFTaOQWV4zGpnCnFQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-button": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.14.0.tgz", - "integrity": "sha512-TVCPLVcXR4wGjtLtrTYOjoAdvwQPiCep1GiHAbozD0QKNgOqjZ2fE3CapwEwoaSNGcgw/37t0KMhUqfmZgYo2g==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button/-/uui-button-1.16.0.tgz", + "integrity": "sha512-0nTAx/GVOdGvlekkIxZp1nJs2E1DRzbdUnARl6RN5Oc40HowW9oO5oJvDIpoZcsWqkqWzFTQqVgE1z1PafKHZw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0" } }, "node_modules/@umbraco-ui/uui-button-copy-text": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-copy-text/-/uui-button-copy-text-1.14.0.tgz", - "integrity": "sha512-cE3ZjSaWzzdgYdNtGv1SzIClMoCxqL86+QPz9zMYvN//yA8YQmkv7y2eUyT+lKFNJXXHMgzVKMhoSn8aUzvQrA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-copy-text/-/uui-button-copy-text-1.16.0.tgz", + "integrity": "sha512-CXjJzLbedqHtlza2zspSWNZCw5XhHV5QkPFzRI5Zd8FwFZop1/UgM2GQeSrMaWdfpznbWvfUqnvSYt9wYEubVg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0" } }, "node_modules/@umbraco-ui/uui-button-group": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.14.0.tgz", - "integrity": "sha512-W4Jf671PqtnBnYKWNyyB6rgq88qyT0IWhqUR3ilJS45znIiht/ec5xDhTFoyhLWP9+zQn/3e8EqZbmnJUj2HAA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-group/-/uui-button-group-1.16.0.tgz", + "integrity": "sha512-ygici33P70SJqa2SSjdSVd8paSKqHwewKJMcyIF/IehDepnDP0ngSHWA23B/sEzJNJgq0Zngo9g3jlhZz6H6GA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-button-inline-create": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.14.0.tgz", - "integrity": "sha512-vDOZJEfjQDqIKymdpxD3h/uvBacXu/yD/xnHMrxADeMQYinvNn0AFjTFBakgfusymRLjXQubrJ63MWqidTRsQQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-button-inline-create/-/uui-button-inline-create-1.16.0.tgz", + "integrity": "sha512-To9K/mYXLm4SGih3uA8/jbZd/ewWKVvYH6b26F5fvEDVT+X9fjJchKT7J/u0a4C7wghvVNT+os7H0rxS3yTXiQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-card": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.14.0.tgz", - "integrity": "sha512-9A44pCbx9nyBtbvFE26FiP+rLE2rUg177vgoMTuURuszYoiEgfU8ixVhWCbDD14LpxET0/Yg9RNiMYF8K1bDvw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card/-/uui-card-1.16.0.tgz", + "integrity": "sha512-o/8vDLT03WnQsJKyD8r7PzxvhD3loRI7pL3tZU1BeSDcFAOZPPWIudQ/OwYeJnMI1iHkd2eTu0h22B/sXOfIIQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-checkbox": "1.16.0" } }, "node_modules/@umbraco-ui/uui-card-block-type": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-block-type/-/uui-card-block-type-1.14.0.tgz", - "integrity": "sha512-FQAInMb4AKj11Jy3TQTc6iz80h0ulmlraw3CtFbnOpwHIRP/aqUVGCW0Zb+Yykz1DGmmGvFE1u1epK/jH//6aQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-block-type/-/uui-card-block-type-1.16.0.tgz", + "integrity": "sha512-Xpq/kB/ofSn067teaOyS4hEsEt/WUlrJ0opTFgkwHxsWg9rvMzUtg2nc2JGMoIqJ64/40Axcx0jmmchIDUcbsQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-card": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-card": "1.16.0" } }, "node_modules/@umbraco-ui/uui-card-content-node": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.14.0.tgz", - "integrity": "sha512-KcXiUfG0ulgvXWuqOGu3LTcRVoGru+Q4sj4q0bV9H/d3ZfY1idPqhkbM7v6TO56gzCng0DJ/kTL0/H5IWd8IcA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-content-node/-/uui-card-content-node-1.16.0.tgz", + "integrity": "sha512-VPRDFrZSPLDGE3kAarW78dZHIFBhwXakyj7PM278tcXGdfSM7M9HsLXME6DhlleOYfSV07wHXm0UXKieqO7vgw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-card": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-card": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0" } }, "node_modules/@umbraco-ui/uui-card-media": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.14.0.tgz", - "integrity": "sha512-Lnr8Y1bxj6QoleSMCj8GDsyJu1N5Rm105/nHYdnPO3+JcNNv3ThodKdHXYo/slSLrcVOoPJHNAQodZG66mIqsg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-media/-/uui-card-media-1.16.0.tgz", + "integrity": "sha512-IHFCnXr4Bdpj/aUn+jpmlYx9L0FzeWTwt+cb29b4oP0cjIiVaJIrkOCSIl3SF8ncrKfMlTjlgBe0t0sP4mjeug==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-card": "1.14.0", - "@umbraco-ui/uui-symbol-file": "1.14.0", - "@umbraco-ui/uui-symbol-folder": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-card": "1.16.0", + "@umbraco-ui/uui-symbol-file": "1.16.0", + "@umbraco-ui/uui-symbol-folder": "1.16.0" } }, "node_modules/@umbraco-ui/uui-card-user": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.14.0.tgz", - "integrity": "sha512-ZBFWO2109+A9SkkznqNHUiul6G6zab/D318yz0wMTW6m2R0E8QE9mljIw8Entd720HeZlvOKpvK3ElSTNlxnJg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-card-user/-/uui-card-user-1.16.0.tgz", + "integrity": "sha512-Ne64+ssQrpP9zJvlJhH1Y5xlEDMW1lG17Orj6XH99iDtGdrnug9FjRE4vpNfAVRIb9P1pf7xNJtq2XqCJHvqOQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-avatar": "1.14.0", - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-card": "1.14.0" + "@umbraco-ui/uui-avatar": "1.16.0", + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-card": "1.16.0" } }, "node_modules/@umbraco-ui/uui-caret": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.14.0.tgz", - "integrity": "sha512-c+71esCgWn7V6Z8gr9fZkfw9BQgewZi5pbJ8R1G6HLEzz0NN11zAn5BAVebdxF5OUi/ajFqvxnAYOSSiWel5tg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-caret/-/uui-caret-1.16.0.tgz", + "integrity": "sha512-B3xNrwkQBwye9ydlrvnYfbJyiLqwQEbpldfaJnjLvlW9xVhOFps2NfeRyXcdsvruaIwjml7aB18GVYDCd/PSlw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-checkbox": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.14.0.tgz", - "integrity": "sha512-qD/O8H7pcPnJkaf5iWjDKg89LgQKZeuBiRmrXqVePDk0HHjdZ+8TJlDaANRyBq5JePezrj6UpHPVabYDqXIJYQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-checkbox/-/uui-checkbox-1.16.0.tgz", + "integrity": "sha512-4z8XrZ0InVArdHKO7L7uwAMwUwHyQKqSYShE74VHHWOibySciJ/zPx3hFO3eQ7EBL3Kj+4raun5Ah5jHUlDZwA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-boolean-input": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-boolean-input": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0" } }, "node_modules/@umbraco-ui/uui-color-area": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-area/-/uui-color-area-1.14.0.tgz", - "integrity": "sha512-ijja8REx/1OhG2ZA1yK98Q8IhSeDf+GIjfCvkR1ptzzFkz1Wiv1mvxkh9eExByidp90SgsTF3kdUxR8x6V570A==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-area/-/uui-color-area-1.16.0.tgz", + "integrity": "sha512-wiK9WNZWZ5yFd3ouTZOcoUSm+2iNZIFlGTaTScnG/DiLCBs6DUvdbSbVHueY1cGWbOx/R8N01kZBls1fk8kaHw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", + "@umbraco-ui/uui-base": "1.16.0", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-picker": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-picker/-/uui-color-picker-1.14.0.tgz", - "integrity": "sha512-WG7I2mYDjW3W27V3LDRpUrZfkjnnuHPo8+X4ZBnY6xRXnQ83hxbdqXkaKYI6VY1dMhhqGa82wrbb4NBHGkKBiQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-picker/-/uui-color-picker-1.16.0.tgz", + "integrity": "sha512-IilZw7Qn+2QF80OXktnoY1RI45ggl8o+QyF5a6zjd2gl5BfwAVx/uFCnpDfjH6LKtRw9WvuPKHQyM0/mfi5I4g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-popover-container": "1.14.0", + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-popover-container": "1.16.0", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-slider": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-slider/-/uui-color-slider-1.14.0.tgz", - "integrity": "sha512-8eNA+7GJNVl68amAJIbCWMe/8usWanZ1fKXPf3ZJ54K65K2cDYd2hS7DEVEwSXo+AV9iMeBYgbHIRBqVPZ89jw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-slider/-/uui-color-slider-1.16.0.tgz", + "integrity": "sha512-GDlAv+75efrOq9K/mZSKLwmc/ZG82hCaRMpWI4guKKvJhcukIcg7Bt/jQrDrtEGKCYvMJpNzbqZ41b+x23EQEg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-color-swatch": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatch/-/uui-color-swatch-1.14.0.tgz", - "integrity": "sha512-1c2bNmEqL5J1ZW24adzSsGDwnYFQOyjsI29M+UQdlTZW16s3zh9O97414KIN9ivE+SkgbE7c9lZhNEKyi2IJpw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatch/-/uui-color-swatch-1.16.0.tgz", + "integrity": "sha512-I+0iEkIGXzoDfLUj0duUJsdf71FC1EBqNzAH/X5noiWc+RZiAAw5EvXm7rZO69oDNOQMwt/yMCBLJQp2kYOQTA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0", + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0", "colord": "^2.9.3" } }, "node_modules/@umbraco-ui/uui-color-swatches": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatches/-/uui-color-swatches-1.14.0.tgz", - "integrity": "sha512-UIQysF89CZH0CKwhzbd+1BZAXxUlnCmHoWDGot+Mb4sGZL5esrEB0QQmhJOVO/ehMP+GoFUnh4fWLXUCzRPdvw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-color-swatches/-/uui-color-swatches-1.16.0.tgz", + "integrity": "sha512-i58T2PRYzViBTo7OtJAGi5inVF8jxVYBmLL7nb3dpNjUFTZZufRKTr3AsVS7+pCGEogFmyNbcNztmmEMdU4ekA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-color-swatch": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-color-swatch": "1.16.0" } }, "node_modules/@umbraco-ui/uui-combobox": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.14.0.tgz", - "integrity": "sha512-ZKa0KF0ADSX//hm116QdEDjQgyZK1ahY+hzOtdU7EDlJBQdTq3cHtwn6B8JdhPoVlS0Yd3XB+oQ7UXjYn7rGQQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox/-/uui-combobox-1.16.0.tgz", + "integrity": "sha512-zjeNG+7r5J4UgdeWh8Osktkjk/Uret5tu8mUtpp0Z6LIbxISUKEt9QlbjPPorxB3V0ENKUJ2c5KZZtpj7mLihQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-combobox-list": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-popover-container": "1.14.0", - "@umbraco-ui/uui-scroll-container": "1.14.0", - "@umbraco-ui/uui-symbol-expand": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-combobox-list": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-popover-container": "1.16.0", + "@umbraco-ui/uui-scroll-container": "1.16.0", + "@umbraco-ui/uui-symbol-expand": "1.16.0" } }, "node_modules/@umbraco-ui/uui-combobox-list": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.14.0.tgz", - "integrity": "sha512-CRsRycwyb9CeyNINQ1KztGAHTRhQcphVEl/bLVr3jTtuqSWWxKsGQVDe69iKNAfHuiU3o7MlsUH0+ea296x/8w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-combobox-list/-/uui-combobox-list-1.16.0.tgz", + "integrity": "sha512-gNFheYUtzMvQudvzoRhDgJk9zziFTxSyu92aYzyoyhh7M098gJfqU+fo7Teqqiuyb0NEiZPThcNrUT9MD2LD3A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-css": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.14.0.tgz", - "integrity": "sha512-M0zmrjBpDzrb3r+l1qMNGEhJbJSHNeR7PDtpHoMaO96ozaZSL/87XzpwsBklwTR9xyfm+VgDFNTqQXqYnS2e/A==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-css/-/uui-css-1.16.0.tgz", + "integrity": "sha512-uyr5zWOfqSH2z1He+i8vZVYZk8Bq4iKMXqCerKHuiNoCZOaW9Kg8n+mJXhQ3Kz5+r9RXUbJThMJO/6/8NFYvbQ==", "dev": true, "license": "MIT", "peer": true, @@ -2292,659 +2310,603 @@ } }, "node_modules/@umbraco-ui/uui-dialog": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.14.0.tgz", - "integrity": "sha512-eZdmNLkSW5OAETTZlvUKByQbXv/4/tYznNHCHyWxxGrYuHVHh5sNj+3ZUbZp+VjIy1zd42slKh/KDmYV6pBarQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog/-/uui-dialog-1.16.0.tgz", + "integrity": "sha512-dq+daSQKAIdsP+2QhM6HmU9Nr5VVzbxwQEYLVvAcmYcw4K98TVpP6AyHu5dPDP9vl4EBBXUrrZuXFjU+Mh8/xQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-css": "1.16.0" } }, "node_modules/@umbraco-ui/uui-dialog-layout": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.14.0.tgz", - "integrity": "sha512-rYlwHk5zsX+eBZLBxI/68W6Q1vb7G/NuZoasquQXZ7jgxRhaRw199YQojtUCWtIowWn2uqqbD2a0RYPs9n3FIg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-dialog-layout/-/uui-dialog-layout-1.16.0.tgz", + "integrity": "sha512-iRpmlzp1PAUpF6Ol2EWubdABIgpJE6QmBzaQONm3Mmwe1wLxMGp5+o33wHU9WSTh8kDrH/U5mWtua6Xtyf5JFA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-file-dropzone": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.14.0.tgz", - "integrity": "sha512-GSy0mlR5KsyC9oF3CMB2qwuGiT5P3moVFxanRAO7u8qimRAO2jLS0/8u1QCh120AGRQZzDhw/TJ9XF7NXTWJtA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-dropzone/-/uui-file-dropzone-1.16.0.tgz", + "integrity": "sha512-B3Zy6jlyK68ntaC4idv7fzd9NVyc4VVjn68DgkvnHR76Mp8zmOgT0g7K7/WM33IPw/n/ZfBhM1KEb+ry3i9/bg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.16.0" } }, "node_modules/@umbraco-ui/uui-file-preview": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.14.0.tgz", - "integrity": "sha512-UGxlpKoCVjFYbkNfXcMi0kCSjcocnHlTHH1fyk/Mg5jZ1OZCmV8dnQQKCB139X9FdHZhL0QeZA3KZUYA28iqaQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-file-preview/-/uui-file-preview-1.16.0.tgz", + "integrity": "sha512-A+jych/xEUOssZjqWtW04nD1GcVOHnonTlPdrDaFh9PhwQAL0PREBbHZnkLJBS4z+HKWhsXOUeQ9ju0YAtbRuQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-symbol-file": "1.14.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.14.0", - "@umbraco-ui/uui-symbol-folder": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-symbol-file": "1.16.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.16.0", + "@umbraco-ui/uui-symbol-folder": "1.16.0" } }, "node_modules/@umbraco-ui/uui-form": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.14.0.tgz", - "integrity": "sha512-UoEP62nCNTa4ILDNFX2ASNN95XfUugPhGmtUdKmvTUH6F3NSai2iiLIp/dM+GBC4PJXmt8rzq6NdLqYonkMK+w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form/-/uui-form-1.16.0.tgz", + "integrity": "sha512-mZVeqQtKirPHCES6TcTywELJi3raBgSKRt2XKCmHMDzclK9P11qPuOve335Jd8WPISsqbbcw4mIAGQpww7TxIg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-form-layout-item": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.14.0.tgz", - "integrity": "sha512-1ahnmF9Ciw0RC/pRAS3FJ2vVmnpQ6O20bwqJrCTYvJQeqJXV3bzSxYmMY/s6Z5tsoNDzkfYcTHfnti/MmyuFJw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-layout-item/-/uui-form-layout-item-1.16.0.tgz", + "integrity": "sha512-g1xYut9TQzAK1w0fijWyV2PlXJnaMw3MYgytvsEu3XD93hPut4XvkifM8Ja6YxpkRcKQpRRLa4WHroQ6OQY6LQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-form-validation-message": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-form-validation-message": "1.16.0" } }, "node_modules/@umbraco-ui/uui-form-validation-message": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.14.0.tgz", - "integrity": "sha512-rv+mId8htw/8V3rle5bOjgWK8X+3IX7B+PAvFAfy+lc89OUV+OT04RGy0sg3hhncoPsIT8EhQ2MYunIyh3MwnA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-form-validation-message/-/uui-form-validation-message-1.16.0.tgz", + "integrity": "sha512-55+WAkF02Im+bG1Xl1AABA7KIGXr5CZTgHbr3MsVVHJMtHv+gQZ04h+0TkvDzKZDSg8ucCXJKyD44Y4gOyS2oA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-icon": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.14.0.tgz", - "integrity": "sha512-IdBRPC8xc9leIBRaHmTVoGhxRkz8CNeYjgJLNBauFox5uSkWuE7OE9BUYBJKdZz4k8yHLHHrWHVkcaHvgF+QUw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon/-/uui-icon-1.16.0.tgz", + "integrity": "sha512-x7HX9OnKOTgjbFbSSZ9Pk0+Lf6yo8ggLe6XTnPClu3ByN2fl9/QqshI5lx4oz5Adr/ItSj3zqnNB2JbyM56TLA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-icon-registry": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.14.0.tgz", - "integrity": "sha512-N9cXDF6B3R+h2TCaCHkOJUTSsD10Wei8NrldvYL2fhBqG8FgaquqBI/715NGoRtwp9KKz74N/Z6EIn2MBiMaMQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry/-/uui-icon-registry-1.16.0.tgz", + "integrity": "sha512-o4l2bEYKdBcxAlSwEPO+cfnNvkGuGcZRyca026xvIz+nufbc/BBzskzS1UWIIjkFPu64rHEfxP/3KbSld64HYA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0" } }, "node_modules/@umbraco-ui/uui-icon-registry-essential": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.14.0.tgz", - "integrity": "sha512-NjkNmQpMHLcyGakqGlASyPOr8Vnr8+KCdExfkbDdg07iDFlzyGyNmCkTdzY2tNXsIq5bD1c4nzHYmE76FszorQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-icon-registry-essential/-/uui-icon-registry-essential-1.16.0.tgz", + "integrity": "sha512-HI4cnYhWpPtWFFgfEltjV6PPhOd3NQ58BhqfbCpRbwmHZUZ0OBzGRl4QgsPNKuhQqmcXene+Twfy8eoRk1/5nQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon-registry": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon-registry": "1.16.0" } }, "node_modules/@umbraco-ui/uui-input": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.14.0.tgz", - "integrity": "sha512-FeYiTUzCcZdNtury6B8ZMl66mW/fGfgXMB5HvIVDFp0ik+WpC8vLcQqHgJ/qFxWGF32H0qIsVqLnzcwkAwvRxw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input/-/uui-input-1.16.0.tgz", + "integrity": "sha512-2Mp15ObjyAuRD3bOTs/zuUHqaaMiuDhmGsjeK8ViOrlSMnz/bVUme5scN1OMkNIryVHkENshC4NK7x6++X0/qw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-input-file": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.14.0.tgz", - "integrity": "sha512-l4RcQWf+0OLM9i9NWvnMkQtzzNcALBRmtiTBLdz6ROFm2Z+S3MuT8vzl0QiduJNWK5gzANu/FFuTL70fIh/BDw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-file/-/uui-input-file-1.16.0.tgz", + "integrity": "sha512-AxepSUJe0LmY4QmBA9UlzhZBBrVF+z88fFUWIH15PICFX0jfsPNIeiwQKlv7cN5pEInUh6qCRN64z8icf8fcdw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-action-bar": "1.14.0", - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-file-dropzone": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0" + "@umbraco-ui/uui-action-bar": "1.16.0", + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-file-dropzone": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0" } }, "node_modules/@umbraco-ui/uui-input-lock": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.14.0.tgz", - "integrity": "sha512-wt/VL43EpHJcvf9GEnXSuHG/iW7yI7vD3wEWI+wgCKv9SdTzE/M4aPon/pxnQsVCvGvWhWvdFeGdlfwhXSurLQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-lock/-/uui-input-lock-1.16.0.tgz", + "integrity": "sha512-FTLj/2s+VImEtKe1GPSkAC2pmTabz5cGzvaFB/7xrJj/1evVxXGu8qQyyL96WoDe+RAmBNYfrnGx7OUSVhEyRw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-input": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-input": "1.16.0" } }, "node_modules/@umbraco-ui/uui-input-password": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.14.0.tgz", - "integrity": "sha512-XCc/0QJH2w9PZJPouhbJbMR+w0QKUusut1MWW9NsfzRheHkcDuzc3Vf69OLFGGww/FjYjkxwT9as/2aLXxotjw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-input-password/-/uui-input-password-1.16.0.tgz", + "integrity": "sha512-0gg8nAVHsMYlQscG76PN4L8ha3CpW15crlzgj4TMaW24OIgZ0khV18ZImJ5n9wv/zrq8LsrwJTyZ5/a/soaKyQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0", - "@umbraco-ui/uui-input": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0", + "@umbraco-ui/uui-input": "1.16.0" } }, "node_modules/@umbraco-ui/uui-keyboard-shortcut": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.14.0.tgz", - "integrity": "sha512-G3LCdfP5uPe00bg8kKBMZhLan8gH7QbSRMX7aMsT+Fc6nAyWWTwJ/Qt4qJjk/fbeHts1OWD+sbHdRtXK+DotRA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-keyboard-shortcut/-/uui-keyboard-shortcut-1.16.0.tgz", + "integrity": "sha512-z9wlhONxtwkUCkPEKqt/vSH1qOTwHCIM2Cj/DQ21+bfWcywUR7cAp0vRveapymDn4eHSuRra5lrG7xgLYsYuVg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-label": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.14.0.tgz", - "integrity": "sha512-a22p01O0CqnNTxQxmjPwCFBFXi5KKzhpno4DXjSDVTmeJc85IxiR5ODAELKHJf6XwZMkOv+QG+AZuIJFVEZ13Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-label/-/uui-label-1.16.0.tgz", + "integrity": "sha512-1vQAKUR+frDEth8AMLS5KKpVK2LHD61lWUG95yMypF5C2+YBmzXb70QEakOubTMsmLnYcU3hfORfA5Wp9cYPnw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-loader": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.14.0.tgz", - "integrity": "sha512-2/HNDk0AZQ992hHYQk+VP5GetofSKxCsLf77/wiswyz48kM9eJ9wkieovxzLK1IuOQs0A+cCe2NnU/z5fZnvvw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader/-/uui-loader-1.16.0.tgz", + "integrity": "sha512-wcFUljPcrAR6YYuj5XLmtMpZBvzTBcakr9p+vISOoC3ta8UlE+OOLiQn+XYzTuV/ZbM77EHh5EEyiO5L45fQew==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-loader-bar": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.14.0.tgz", - "integrity": "sha512-hAviuSx29RPWpYIqmWiGmW31r3nj8A1VGobmdVwR0BJHfdxee57ZrNGsEZhK6pzuHSvshGTITNwLk03E1UA/Nw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-bar/-/uui-loader-bar-1.16.0.tgz", + "integrity": "sha512-xh6RCS60WPWPzf0dAA+lTTt0rF8hksQsYBLwITBsR/5k3qswhT9Ctu/2LvqUXoLPyEFTecA4fyqZK+NzhjZrdQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-loader-circle": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.14.0.tgz", - "integrity": "sha512-I+rcgwbxwKGxLzVCGZ3qT4e/sK8CofTPzdCmh1BpNlKrWpuJ9NGgysrGs7V1IleJJxIXuzD+BBlIoGxuCwBJQg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-loader-circle/-/uui-loader-circle-1.16.0.tgz", + "integrity": "sha512-jawUHoiUwwZkp5YOLFlF00WvZ5yPowfbi22TufSyfls5hMajJM/p21IrCTStrc4ZimqyheaaYe/AqdGLDimfSQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-menu-item": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.14.0.tgz", - "integrity": "sha512-8Pc68dJLwl7GrbGIRD7MpyMSBkuz8/CtzuLhygrFHK608crg5bBPC1+Zdt3VdkqDk7QZRd5rtL+pYgEJm87Q4A==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-menu-item/-/uui-menu-item-1.16.0.tgz", + "integrity": "sha512-tyyuehJSj1BU/EEsQ1LHN8eg+gcAKCzqGMwwpepEtKZDd7p1/Ioq1KEn2e20UOihXab5rFv5UNEWSeyEYRqL4Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-loader-bar": "1.14.0", - "@umbraco-ui/uui-symbol-expand": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-loader-bar": "1.16.0", + "@umbraco-ui/uui-symbol-expand": "1.16.0" } }, "node_modules/@umbraco-ui/uui-modal": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-modal/-/uui-modal-1.14.0.tgz", - "integrity": "sha512-3Ux1guj029PIcUn4nmPUU29Oqxq1HoRUib3lWoRRIgJ3F8WyGms+GEgCMj4v/LzIdezczqVtxKdOMcLIm2gvcQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-modal/-/uui-modal-1.16.0.tgz", + "integrity": "sha512-hqlXHjlGxEWEeX5c7W0xNlH25xDbb8vdgBIfYGUkBfrYrgO3j+AJ/B7OvmgWJogFTOHRRaPUvKDi8DkDnDH4zw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-pagination": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.14.0.tgz", - "integrity": "sha512-jP906bsiXOBpAdF/ZVi0hlRyR/+HX52ocjItlvMJWc2Xt4Fpzms7W90buYcG4hvz7g0snKy84JgTMup5vxf2iQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-pagination/-/uui-pagination-1.16.0.tgz", + "integrity": "sha512-bZQl5BwiYHSQqc0bjajQbu8ZX+z4qe56t6PiT6s+VUj6huXOOrT72hpY2u+ZE22sAWPaIu42Kg9ulxNV2pulRw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-button-group": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-button-group": "1.16.0" } }, "node_modules/@umbraco-ui/uui-popover": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.14.0.tgz", - "integrity": "sha512-blMgYLRlEUon7vAQ6s1KE0hNBgyuMeI7ugxHCMDAFwgtHIh9VO2YfPAqlKBkofM72R9QZDbkCg1tOUuuF0yX1Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover/-/uui-popover-1.16.0.tgz", + "integrity": "sha512-ZtHPdupRjxwuSHmY5EiiGtZMBi5UsAyHOucn5SxMgdyHT7bRxrV1ebCblDu4eikXg/xx1nTDSFmmW4rXLftULg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-popover-container": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover-container/-/uui-popover-container-1.14.0.tgz", - "integrity": "sha512-1wG99PbKDdkzvV3W2avF5/zU7XLoxmui125EfKwCdDYuE5fsR1alBZHsdk6PvFXXpcbGaNJ/dWyWg+Ip687HeA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-popover-container/-/uui-popover-container-1.16.0.tgz", + "integrity": "sha512-3N8M4hPQFcthVfqfhdCMX9B4q+0sG2zizoQf2SvDoLp3GAqND2zw2cwYClMy8HJh3XH9JINljz3PliyKMXVaXw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-progress-bar": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.14.0.tgz", - "integrity": "sha512-ImFS/QWWSZ9oExINb8thaQ6mexFpq62AbvZoVDzdBrje1pf9FErSs4u1XReS9iRtkE1kyGiyY302a4fAoKyMtQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-progress-bar/-/uui-progress-bar-1.16.0.tgz", + "integrity": "sha512-GE/ZW5Rq82LgVbArppIG8Zkd6QFmCTGEV4Iq5V4KPOl5iSVu2yuYJCDD77aR1LgclSjk1YiJ1/oge94RXqAtOA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-radio": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.14.0.tgz", - "integrity": "sha512-PbQ0SloYLJE6YUldwPU5MoBj+/zIQifNhaEYb2Ss2Ka7LFXFAZ9TvXr/INreh4zxI9DSeXirj41k3O+7fbB/Cg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-radio/-/uui-radio-1.16.0.tgz", + "integrity": "sha512-r3JmVGeGzCzUPEKdOzxunsoRO2q7zGoI5eUtrSXdLSFiR2klW+hti/fjvqvruqzRZRjB0oumbJfMU4IxHcZblw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-range-slider": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-range-slider/-/uui-range-slider-1.14.0.tgz", - "integrity": "sha512-ha798qXr/J3Kjd++eHBYdfqFSVKvSg9TWd+aAhAVj9rVb0Q8mbuinqUcWN9ZHukTNl7lG0/4HbTfM80Lm5V6TA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-range-slider/-/uui-range-slider-1.16.0.tgz", + "integrity": "sha512-9qx3Qj8kmIyHRbcVNexWTs4eGjsxs9FkjP7czpC1P0CPJFIt8LzeB6gBwSS/nJGuIo06RQ42qOc8FOza2tN+jA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.14.0.tgz", - "integrity": "sha512-bjKcCLRxcu6HR+0kRrLpdit449FHhc16x1LZPncTtjAXN+kZYVmBiQ1QL2/W1l734vRm68nmHVuE5LB1Y2RuIw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref/-/uui-ref-1.16.0.tgz", + "integrity": "sha512-+ptIzEx8a3Oy4XL6TFibR5Q5lWDpjCSPCN2DgIitBj9C0R8zWbBo8sxj2iLGP4RsBiHeTUbDiJlSY1seo2E+Ew==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-list": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.14.0.tgz", - "integrity": "sha512-rVUldYm4FMAM3SJ8cCbvwdTm4LL9iz3LoFeTxXpfuo6STP+Y26kqR5z5hex6rUcX51se5yEp7PpQDO5bHHz5OA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-list/-/uui-ref-list-1.16.0.tgz", + "integrity": "sha512-MRxTX8CDvquBkkEGfpPsX5ttnsPGJ+Kb1KfR+arueXazQ9XfqyoFCAWWXfOxGL7A5txGTMnKEfj59dyLeCec5Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.14.0.tgz", - "integrity": "sha512-d10iNjb5x3klPZzzt4AZqeGJ3xbqbaLc4NJb4lQ6C6+djLL+tsJf1MN1vC17dC/wPJ5B894iSBaha0fa8fVfMQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node/-/uui-ref-node-1.16.0.tgz", + "integrity": "sha512-4IO02sBoJLlErxXPeFBXTtOZzQeFbCf0flpHCjMZ+vWKZ6GarlUMSvbXjuzh5SBEveVxWYhjd7Z7lP+g2pOHGw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-ref": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-ref": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-data-type": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.14.0.tgz", - "integrity": "sha512-DcwR0qltykP1NHT8aRqbgQ4/PF2h64ehvBUpEeYg7U9/1xgpWlelkHlZ6CREzZUENaOFrpJzmhzbQWxYa7XKWA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-data-type/-/uui-ref-node-data-type-1.16.0.tgz", + "integrity": "sha512-0yRbSOoKl5gSAnRIEXTdFYlrt4NSvuLx1+TuQyeE/CV8lfObGqM1+y+ueX0AgPuNTXAf7j5rPIRLsVJHfCs2MA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-document-type": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.14.0.tgz", - "integrity": "sha512-71A3vJa5SAZd6rTRaa5r/0fV+fr/Am4T5rZu8gdSfEw52ppkVNbg5iHqIwFKN2QDBzKI9GFSrjSVPmRJIsTNTQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-document-type/-/uui-ref-node-document-type-1.16.0.tgz", + "integrity": "sha512-ORBBH6GRq5VFTNZd++f7dXCLJdgEGhtd1rcdbxjqtYnJrKeJ0dBNhJkF3kLoSQ1MiOG1SHOckGUZr5nLMUhc/w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-form": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.14.0.tgz", - "integrity": "sha512-hVF6NtGqAZ0GRr28H2q2jOD7T4fTD837sJw7kJTLdzV5Oatu0rqWs4nmV6KpUCJjoUGYFWg+fKc5vvrF+gXXFA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-form/-/uui-ref-node-form-1.16.0.tgz", + "integrity": "sha512-Z3m2toN+LcZOXVe/3q6d9kyPyWXR9l8CJSk1NkEn/ojMYrRzmo5AW92xWw/twHV8bRsEBDSeKxSKMVGnJVyUHg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-member": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.14.0.tgz", - "integrity": "sha512-Xy1mCgaPDLWnpXyfU1KgaEX+u04JXKnkbrj92d43k4HB30tbI/8BjwyYEaT3Phvs4fmUC0h4ege41Zu8aYfqDg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-member/-/uui-ref-node-member-1.16.0.tgz", + "integrity": "sha512-v9m/e5krM1IPV1gI/9dqVKgGYthyWXDlq9lCdiigpTfzv7xkCF+LPEmVksDZaKD498gGYtbYJReCXUxCwjxGTA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-package": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.14.0.tgz", - "integrity": "sha512-MNF0n9nlC6W7Ove9fm7+YwhWwEL5+nUmhYZySEb3YAwjOXHDgL9hHS0gmT1YXxu+66RtBXdqUkZbfI2AVKv7qw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-package/-/uui-ref-node-package-1.16.0.tgz", + "integrity": "sha512-6z/oa4qX+L746nEet0EDx88roSTcfjnzQj5fH2ebW4WJ6Arh/b+QmPOE3UEn2QiqjJLovkIhNcwf0m9PM7rSSw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-ref-node-user": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.14.0.tgz", - "integrity": "sha512-AFycox1NtGnhVtGgJ3Sg0fCAUlOf38V7S2KPrFubAFmjbxcddWqlMVWzxTcUbUDE2TL5KHnU/JCUxf4BQO1pUw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-ref-node-user/-/uui-ref-node-user-1.16.0.tgz", + "integrity": "sha512-TdYTh+1pZfOFD9dKBtti1oDF1Pk5Bp3PyNKf1JLtcPm8uD/UPDxRkIYV7It04E6P7VWusdRabdlv/q9PRimA5g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-ref-node": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-ref-node": "1.16.0" } }, "node_modules/@umbraco-ui/uui-scroll-container": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.14.0.tgz", - "integrity": "sha512-N+jYDLTCmo5vC1Mutv/d/mWMivkbWXI1AWM20i7wDQ3U8R6VsbA4Rr7Ne8V9jSnOrgQY9PHrTE2OI99S0bFrnw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-scroll-container/-/uui-scroll-container-1.16.0.tgz", + "integrity": "sha512-+ArdQO09sGB1t24rzi+rk3YsZZayZRr5aKny53qAKkklJg0IDCJ+Vme9DvuSk0HBEzCe0YF313lv5mYjxFwCzQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-select": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.14.0.tgz", - "integrity": "sha512-/hTUiJ38/gpEf4pk7AWauy/i4o+DYkJR9CpdkL8oyjjwjkmJAVL817v4sXUcTvuaYYVrVqBY1M7U3FgEumKHVw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-select/-/uui-select-1.16.0.tgz", + "integrity": "sha512-/tXty/HSqTAwnqsmLIsDc8LsE7XW0pZaCu+B/Ov3FjYQSb312AqXBwP7Z59gAbh2M0XvI3qxcA/sLcFndqN1oA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-slider": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.14.0.tgz", - "integrity": "sha512-biiJ7+aJnkfaPcNF4fuIIGfEmvmTXoOmI56BZN4ICRo1+wntVkfY64hjGTQ2gPV/d26eK1FNyUFpRl8leIxjVA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-slider/-/uui-slider-1.16.0.tgz", + "integrity": "sha512-zWXe+SOzXbhO2tN+DnVXbefEWICZ+FHCR1EGldZdab3hQO53M4HOKqTBd1akE6iFli7FN4BOnELGjnMnupaqvw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-expand": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.14.0.tgz", - "integrity": "sha512-8cXPlHmIoajexztcHKGdTrmbp+NR4O0Le+EtQrRMqf6S8apbw7SNy98h3CeSb6Gq2ZTXdXxzZnCtyo+znxpFHA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-expand/-/uui-symbol-expand-1.16.0.tgz", + "integrity": "sha512-w9i+deCNhZ3TzwgMx2glGbpyvXQHyP0kCmuazXi4cYGFtEXM48d1OScm/PrGs04ICNuqEIwY/IZ+PGfRSI27lA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-file": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.14.0.tgz", - "integrity": "sha512-vWx6C/0xT+SUk3LTeqrzbS4P6YXPzN0kqqnUH7riHACYNZxmpAgB8EVU0MzlMdW/TpiMcapw0/KHYuMtBZ8Nkw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file/-/uui-symbol-file-1.16.0.tgz", + "integrity": "sha512-8iyZCjVAFvKrz1m0RTPiZmbXYLyb0Gs2blgg/uPyBzpNvptnXgx29UVTzITu2xvqVvwvureFNcxqeYL5WsfCiA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-file-dropzone": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.14.0.tgz", - "integrity": "sha512-AAb/Cv/INzjonxc4fDR1n0YMs2hO+O+fYtsW9VyAUxqLHnhxNFufwPU80v1Y0nNnKuaNlSAdGwM/4QJujwhj3w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-dropzone/-/uui-symbol-file-dropzone-1.16.0.tgz", + "integrity": "sha512-d9VJQTEBKwTHrvgPAXLgG4m3quDbxg1EhJhE03cxZr/yrZ81I2TD3wd4Pt9uxL1kvpZ95mP2vDfbedUfm/0fww==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-file-thumbnail": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.14.0.tgz", - "integrity": "sha512-BBQKo03UVTPq6MO6GVDPv40w3Nizy8LRKQ6quNuhB0UcrWkqOAoJEMX/afX17oGtCoONN/Zq54mmXWgHD8yo1Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-file-thumbnail/-/uui-symbol-file-thumbnail-1.16.0.tgz", + "integrity": "sha512-PMm3lTtIAwyE+6Erz2xiamKPuHhqazk2aWHgqC9fzD/0ROlWQMYEP3M99onp8/YCIprzfvXPuH6ofs6kq9bY7Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-folder": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.14.0.tgz", - "integrity": "sha512-Z+Kcdk2QyuLf+hKNTacdM6jeNo+wexZ0ktUPbVHJUjYaHuyzqNVV0Du8NJyFBMwyiomV9xLKxQi0YeI/aDg+Cg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-folder/-/uui-symbol-folder-1.16.0.tgz", + "integrity": "sha512-vATvt+AcfP9pZxh99DKaq/wrD60EN4nvdtZ/BpHH6MOhX32T8LEboh57XisHmGamUSGbm2jQhASJTt+7cvjI/w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-lock": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.14.0.tgz", - "integrity": "sha512-dLcc1TkD541ikC+iOEguJmXsJYphqBwEmt2fqVJEDYddmGUf1ZlUNJSjkamU8vaER6NgNIhmqByU0Lv2SdDrjQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-lock/-/uui-symbol-lock-1.16.0.tgz", + "integrity": "sha512-mAFnPdUzlddfdLMTkBetCTnShV3QTWMpjqaG5fCaauizWmReye/rCwDur51URL+VkWMIWp29JvfYIIm8Yk+ZGg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-more": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.14.0.tgz", - "integrity": "sha512-HgelD3iF2YMRrCumw8YqeVW/OsByGMWF1ILk8aylyS+4faIEKhnKIpLlw0WovFBYJQpWilcm/JtMqBqa6DfMvg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-more/-/uui-symbol-more-1.16.0.tgz", + "integrity": "sha512-WBd/6SNLVP04WU0Em8Uc9/GXsKYpYdHzlEjh7w5oU1TfbDEiNq1lXkOlpuvL79wJtd/2fTKfqui02+i79KU7ig==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-symbol-sort": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.14.0.tgz", - "integrity": "sha512-cXahfWqCZuu1AOQyrycTmKgZXzBq8v+cqLsEeE929ZokVD35AsTXkLbo6kLN+zVRXAz5kNyaERrfS8yLoZFtWA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-symbol-sort/-/uui-symbol-sort-1.16.0.tgz", + "integrity": "sha512-hBhvUmkPc5WgFcjKDm6jtQq2USCO+ysveJRI1oJReiZkyj06IjU5mYddUL/sOG4L7Ud6OFqVbY002Uw+j9QpYQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-table": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.14.0.tgz", - "integrity": "sha512-4ko7jaoH24qLnlwo6jWAuphmkcNL/7RXcDOSgW8aBc0x3nXG2Ufk4PQi0z+k614eDW6+seMZASAsnMx94XhLEQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-table/-/uui-table-1.16.0.tgz", + "integrity": "sha512-cVq84cwbgOvjoTn+5L4eboXPGkYdcIkWm/oU8GxbR1OdUtgPtqnPwB51Ial6ylyIHqvYbCDmDMzrjjnrB/qfJw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-tabs": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.14.0.tgz", - "integrity": "sha512-m7OEIFK9YD2z7PgD78+U0uFacob/9DqN4nlZXxOkaj/tIxcBbWDXCqRnVBkhkxJKocs6NBYaGi2XHBq9F7/S/w==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tabs/-/uui-tabs-1.16.0.tgz", + "integrity": "sha512-FBToNg7zgB9paPQPbpnuC66KAMz3iR/F+tmLhjWnwGSit7ubFspPqgrReSjVS9zdd+zbi7wTJOcmKnHmoyP1bw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-popover-container": "1.14.0", - "@umbraco-ui/uui-symbol-more": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-popover-container": "1.16.0", + "@umbraco-ui/uui-symbol-more": "1.16.0" } }, "node_modules/@umbraco-ui/uui-tag": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.14.0.tgz", - "integrity": "sha512-CphycjqzlUnMA+eEgJCCLKtmsCn5ileGPDn5ei427dc5P5wOEU6aGKqeAGMivP6db4UhUMjh3g0xXfQCKbqEaA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-tag/-/uui-tag-1.16.0.tgz", + "integrity": "sha512-u6pBhOEvXYvUNTxNO1Ftcnflii1CmeuvNAXxuIj8TMmTXGXWmap0W5cGmzlEbbLAMGLv56AJXdz3rKDrWNyTvg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-textarea": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.14.0.tgz", - "integrity": "sha512-l/hyV78IQn+Akb4UA0AtOTsdYJgCun7eC+i0vaOeNANXrO/B0Dhr2yembO0/mf/u2RxIFeOSsW8GUYixrIxSPw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-textarea/-/uui-textarea-1.16.0.tgz", + "integrity": "sha512-xTO4i/m4Q7wEeaxmV1bxT5e1bnLRJ1CoG+awe2FKGq6xw2ZHgksSrm6j3Ddbm5WzV019hIeVl22bnVQ5gOwrww==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@umbraco-ui/uui-toast-notification": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.14.0.tgz", - "integrity": "sha512-5pb4miAkdgoURoTQGvXQZoUHWIR4tgdUe78hPr2et3xSNw+N0Y/LHlDX1Bo9FBOKEvtFT6YHM0nqOIjW9/RpKw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification/-/uui-toast-notification-1.16.0.tgz", + "integrity": "sha512-ziOJ4uyQpIVCBym2RlZFJOuOb2feNr1sP0RxUjhXToREJdG2MH2bgYyy76K0OCZ7a+JKCsHdaBH4XquXIH93VA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-button": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0", - "@umbraco-ui/uui-icon": "1.14.0", - "@umbraco-ui/uui-icon-registry-essential": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-button": "1.16.0", + "@umbraco-ui/uui-css": "1.16.0", + "@umbraco-ui/uui-icon": "1.16.0", + "@umbraco-ui/uui-icon-registry-essential": "1.16.0" } }, "node_modules/@umbraco-ui/uui-toast-notification-container": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.14.0.tgz", - "integrity": "sha512-5ai853OExMOFrKTrAgvx4OkRNJY8gfIA3UmLBQSVE4E065I0xW4F+L9A3foEU4so2z01OIwvJ53RRk7JriohTg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-container/-/uui-toast-notification-container-1.16.0.tgz", + "integrity": "sha512-8HwiYkOA8Rsxpp2ZGsDTq16odV7Ja7xAAp/0BcdosdQYn6L4KUbSimulGaP/Q1KATUCFT7QflQiv0gnwuPpngQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-toast-notification": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-toast-notification": "1.16.0" } }, "node_modules/@umbraco-ui/uui-toast-notification-layout": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.14.0.tgz", - "integrity": "sha512-8WaiSNLB8NoKJMRQCqFh+KkhjOStXcJ+yLJJR/AM6HF6Pc0tYl+R3zM4LY9WJjQQEOXENcTUPMURJSwpJ2fsGA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toast-notification-layout/-/uui-toast-notification-layout-1.16.0.tgz", + "integrity": "sha512-OTrTAGUPe8EQRuCWJD8GsCw8MfNJuXx50NLZLDDZKzw3TlDiWMxUD0c4l6zOMy4ih7n7D5sMekHqonW5x6lVuA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-css": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-css": "1.16.0" } }, "node_modules/@umbraco-ui/uui-toggle": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.14.0.tgz", - "integrity": "sha512-s8//Y2LAqDQ3h4C3PA9yJcVXF2H6gnv2NzMZ22KotJQT9+yhhR3UrOlndOZKkWqKtDxwSLEp9EmyITgDdEoT3A==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-toggle/-/uui-toggle-1.16.0.tgz", + "integrity": "sha512-opFdwN0LlH6l1xlzEv+e9tvLgySXRr4Ug5LBlzNRJKC/WhinUSq/okerIVyUJgk4oKdZV/y7T7u/07LiekCTAA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0", - "@umbraco-ui/uui-boolean-input": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0", + "@umbraco-ui/uui-boolean-input": "1.16.0" } }, "node_modules/@umbraco-ui/uui-visually-hidden": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-visually-hidden/-/uui-visually-hidden-1.14.0.tgz", - "integrity": "sha512-wGbMiw+UuMYayMDBau5dD2B3HX2tFPlnOftvD9Z+FNKnGnU5e/V+QInCYy7FlywBQ5fDpfKcXseud/kONGRmsA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@umbraco-ui/uui-visually-hidden/-/uui-visually-hidden-1.16.0.tgz", + "integrity": "sha512-fqcv9gZUey2FkE2IRWuDgpk+D5XCdC1gnmQ4bIlAs03cMhl2BWP7U04Zo1u78jcWCbjxfnp60rfE6h11ukd5sg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@umbraco-ui/uui-base": "1.14.0" + "@umbraco-ui/uui-base": "1.16.0" } }, "node_modules/@ungap/structured-clone": { @@ -2953,12 +2915,26 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/acorn": { "version": "8.14.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2991,6 +2967,16 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -3205,24 +3191,40 @@ "node": ">=8" } }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/c12": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/c12/-/c12-2.0.1.tgz", - "integrity": "sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.0.tgz", + "integrity": "sha512-K9ZkuyeJQeqLEyqldbYLG3wjqwpw4BVaAqvmxq3GYKK0b1A/yYQdIcJxkzAOWcNVWhJpRXAPfZFueekiY/L8Dw==", "dev": true, "license": "MIT", "dependencies": { - "chokidar": "^4.0.1", - "confbox": "^0.1.7", + "chokidar": "^4.0.3", + "confbox": "^0.2.2", "defu": "^6.1.4", - "dotenv": "^16.4.5", - "giget": "^1.2.3", - "jiti": "^2.3.0", - "mlly": "^1.7.1", - "ohash": "^1.1.4", - "pathe": "^1.1.2", - "perfect-debounce": "^1.0.0", - "pkg-types": "^1.2.0", + "dotenv": "^17.2.2", + "exsolve": "^1.0.7", + "giget": "^2.0.0", + "jiti": "^2.5.1", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^2.0.0", + "pkg-types": "^2.3.0", "rc9": "^2.1.2" }, "peerDependencies": { @@ -3294,16 +3296,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/citty": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", @@ -3341,13 +3333,22 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/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==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/commander": { "version": "13.0.0", @@ -3366,9 +3367,9 @@ "dev": true }, "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", "dev": true, "license": "MIT" }, @@ -3387,8 +3388,7 @@ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/cross-env": { "version": "7.0.3", @@ -3498,6 +3498,36 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -3515,6 +3545,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -3608,9 +3651,9 @@ "dev": true }, "node_modules/dompurify": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", - "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.0.tgz", + "integrity": "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==", "dev": true, "license": "(MPL-2.0 OR Apache-2.0)", "peer": true, @@ -3619,9 +3662,9 @@ } }, "node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -3861,6 +3904,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -3999,6 +4043,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, + "peer": true, "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -4283,6 +4328,33 @@ "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventsource": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4326,6 +4398,17 @@ "reusify": "^1.0.4" } }, + "node_modules/fetch-cookie": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-2.2.0.tgz", + "integrity": "sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "set-cookie-parser": "^2.4.8", + "tough-cookie": "^4.0.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4395,32 +4478,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4527,9 +4584,9 @@ } }, "node_modules/giget": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.5.tgz", - "integrity": "sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", "dev": true, "license": "MIT", "dependencies": { @@ -4537,21 +4594,13 @@ "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", - "nypm": "^0.5.4", - "pathe": "^2.0.3", - "tar": "^6.2.1" + "nypm": "^0.6.0", + "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, - "node_modules/giget/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -4957,6 +5006,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -4978,6 +5043,25 @@ "node": ">=0.10.0" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -5126,6 +5210,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -5139,9 +5239,9 @@ "dev": true }, "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", "bin": { @@ -5155,10 +5255,11 @@ "dev": true }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -5242,23 +5343,21 @@ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "uc.micro": "^2.0.0" } }, "node_modules/linkifyjs": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.1.tgz", - "integrity": "sha512-DRSlB9DKVW04c4SUdGvKK5FR6be45lTU9M76JnngqPeeGDqPwYc0zdUErtsNVMtxPXgUWV4HbXbnC4sNyBxkYg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", + "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/lit": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", - "integrity": "sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.1.tgz", + "integrity": "sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==", "dev": true, "license": "BSD-3-Clause", "peer": true, @@ -5269,25 +5368,23 @@ } }, "node_modules/lit-element": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.0.tgz", - "integrity": "sha512-MGrXJVAI5x+Bfth/pU9Kst1iWID6GHDLEzFEnyULB/sFiRLgkd8NPK/PeeXxktA3T6EIIaq8U3KcbTU5XFcP2Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.1.tgz", + "integrity": "sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit-labs/ssr-dom-shim": "^1.4.0", "@lit/reactive-element": "^2.1.0", "lit-html": "^3.3.0" } }, "node_modules/lit-html": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.0.tgz", - "integrity": "sha512-RHoswrFAxY2d8Cf2mm4OZ1DgzCoBKUKSPvA1fhtSELxUERq2aQQ2h05pO9j81gS1o7RIRJ+CePLogfyahwmynw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz", + "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@types/trusted-types": "^2.0.2" } @@ -5320,13 +5417,23 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", @@ -5340,9 +5447,9 @@ } }, "node_modules/marked": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", - "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", "dev": true, "license": "MIT", "peer": true, @@ -5350,7 +5457,7 @@ "marked": "bin/marked.js" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/mdurl": { @@ -5358,8 +5465,7 @@ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", @@ -5408,84 +5514,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/monaco-editor": { + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", + "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" + "dompurify": "3.1.7", + "marked": "14.0.0" } }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/monaco-editor/node_modules/dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "(MPL-2.0 OR Apache-2.0)" }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/monaco-editor/node_modules/marked": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", + "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "dev": true, "license": "MIT", "bin": { - "mkdirp": "bin/cmd.js" + "marked": "bin/marked.js" }, "engines": { - "node": ">=10" - } - }, - "node_modules/mlly": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", - "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^2.0.1", - "pkg-types": "^1.3.0", - "ufo": "^1.5.4" + "node": ">= 18" } }, - "node_modules/mlly/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/monaco-editor": { - "version": "0.52.2", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz", - "integrity": "sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -5523,26 +5582,46 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-fetch-native": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", - "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", "dev": true, "license": "MIT" }, "node_modules/nypm": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.5.4.tgz", - "integrity": "sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.2.tgz", + "integrity": "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==", "dev": true, "license": "MIT", "dependencies": { "citty": "^0.1.6", - "consola": "^3.4.0", + "consola": "^3.4.2", "pathe": "^2.0.3", - "pkg-types": "^1.3.1", - "tinyexec": "^0.3.2", - "ufo": "^1.5.4" + "pkg-types": "^2.3.0", + "tinyexec": "^1.0.1" }, "bin": { "nypm": "dist/cli.mjs" @@ -5551,13 +5630,6 @@ "node": "^14.16.0 || >=16.10.0" } }, - "node_modules/nypm/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, "node_modules/object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", @@ -5647,9 +5719,9 @@ } }, "node_modules/ohash": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.6.tgz", - "integrity": "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", "dev": true, "license": "MIT" }, @@ -5662,6 +5734,25 @@ "wrappy": "1" } }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -5684,8 +5775,7 @@ "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", @@ -5787,16 +5877,16 @@ } }, "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", "dev": true, "license": "MIT" }, @@ -5820,24 +5910,17 @@ } }, "node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", "dev": true, "license": "MIT", "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" } }, - "node_modules/pkg-types/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -5886,12 +5969,11 @@ } }, "node_modules/prosemirror-changeset": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.0.tgz", - "integrity": "sha512-8wRKhlEwEJ4I13Ju54q2NZR1pVKGTgJ/8XsQ8L5A5uUsQ/YQScQJuEAuh8Bn8i6IwAMjjLRABd9lVli+DlIiVw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz", + "integrity": "sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-transform": "^1.0.0" } @@ -5902,7 +5984,6 @@ "integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-state": "^1.0.0" } @@ -5913,7 +5994,6 @@ "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", @@ -5926,7 +6006,6 @@ "integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0", @@ -5934,12 +6013,11 @@ } }, "node_modules/prosemirror-gapcursor": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz", - "integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.0.tgz", + "integrity": "sha512-z00qvurSdCEWUIulij/isHaqu4uLS8r/Fi61IbjdIPJEonQgggbJsLnstW7Lgdk4zQ68/yr6B6bf7sJXowIgdQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-keymap": "^1.0.0", "prosemirror-model": "^1.0.0", @@ -5948,12 +6026,11 @@ } }, "node_modules/prosemirror-history": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", - "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz", + "integrity": "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-state": "^1.2.2", "prosemirror-transform": "^1.0.0", @@ -5962,12 +6039,11 @@ } }, "node_modules/prosemirror-inputrules": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.0.tgz", - "integrity": "sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz", + "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" @@ -5979,7 +6055,6 @@ "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-state": "^1.0.0", "w3c-keyname": "^2.2.0" @@ -5991,7 +6066,6 @@ "integrity": "sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/markdown-it": "^14.0.0", "markdown-it": "^14.0.0", @@ -6004,7 +6078,6 @@ "integrity": "sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "crelt": "^1.0.0", "prosemirror-commands": "^1.0.0", @@ -6013,9 +6086,9 @@ } }, "node_modules/prosemirror-model": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz", - "integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==", + "version": "1.25.4", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz", + "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==", "dev": true, "license": "MIT", "peer": true, @@ -6029,7 +6102,6 @@ "integrity": "sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-model": "^1.25.0" } @@ -6040,7 +6112,6 @@ "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", @@ -6048,9 +6119,9 @@ } }, "node_modules/prosemirror-state": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", - "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz", + "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==", "dev": true, "license": "MIT", "peer": true, @@ -6061,12 +6132,11 @@ } }, "node_modules/prosemirror-tables": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.7.1.tgz", - "integrity": "sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.1.tgz", + "integrity": "sha512-DAgDoUYHCcc6tOGpLVPSU1k84kCUWTWnfWX3UDy2Delv4ryH0KqTD6RBI6k4yi9j9I8gl3j8MkPpRD/vWPZbug==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-keymap": "^1.2.2", "prosemirror-model": "^1.25.0", @@ -6081,7 +6151,6 @@ "integrity": "sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@remirror/core-constants": "3.0.0", "escape-string-regexp": "^4.0.0" @@ -6093,20 +6162,19 @@ } }, "node_modules/prosemirror-transform": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz", - "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==", + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.5.tgz", + "integrity": "sha512-RPDQCxIDhIBb1o36xxwsaeAvivO8VLJcgBtzmOwQ64bMtsVFh5SSuJ6dWSxO1UsHTiTXPCgQm3PDJt7p6IOLbw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prosemirror-model": "^1.21.0" } }, "node_modules/prosemirror-view": { - "version": "1.39.3", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.39.3.tgz", - "integrity": "sha512-bY/7kg0LzRE7ytR0zRdSMWX3sknEjw68l836ffLPMh0OG3OYnNuBDUSF3v0vjvnzgYjgY9ZH/RypbARURlcMFA==", + "version": "1.41.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.3.tgz", + "integrity": "sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==", "dev": true, "license": "MIT", "peer": true, @@ -6116,6 +6184,19 @@ "prosemirror-transform": "^1.1.0" } }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -6131,11 +6212,17 @@ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6208,6 +6295,13 @@ "node": ">=0.10.5" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -6314,8 +6408,20 @@ "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, "license": "MIT", - "peer": true + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/run-parallel": { "version": "1.2.0", @@ -6387,10 +6493,11 @@ } }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -6398,6 +6505,13 @@ "node": ">=10" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "dev": true, + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -6612,24 +6726,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -6637,11 +6733,14 @@ "dev": true }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { "version": "0.2.14", @@ -6681,6 +6780,7 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6700,6 +6800,29 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -6749,8 +6872,7 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD", - "peer": true + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", @@ -6855,6 +6977,7 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6868,14 +6991,6 @@ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/ufo": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", - "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", - "dev": true, "license": "MIT" }, "node_modules/uglify-js": { @@ -6912,6 +7027,16 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -6921,10 +7046,21 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", @@ -6933,13 +7069,13 @@ "license": "MIT", "peer": true, "bin": { - "uuid": "dist/esm/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", "dependencies": { @@ -7052,6 +7188,7 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -7064,8 +7201,25 @@ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", "dev": true, + "license": "MIT" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, "node_modules/which": { "version": "2.0.2", @@ -7138,12 +7292,27 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, "node_modules/yocto-queue": { "version": "0.1.0", diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package.json b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package.json index 68eee77f..749a3977 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package.json +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/package.json @@ -17,12 +17,15 @@ "lint:fix": "npm run lint -- --fix", "lint": "eslint src" }, + "peerDependencies": { + "@umbraco-cms/backoffice": "17.0.0-rc2" + }, "devDependencies": { - "@hey-api/client-fetch": "^0.10.0", - "@hey-api/openapi-ts": "0.67.6", + "@hey-api/client-fetch": "^0.13.0", + "@hey-api/openapi-ts": "0.85.0", "@typescript-eslint/eslint-plugin": "^7.13.0", "@typescript-eslint/parser": "^7.13.0", - "@umbraco-cms/backoffice": "^16.0.0", + "@umbraco-cms/backoffice": "17.0.0-rc2", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/public/umbraco-package.json b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/public/umbraco-package.json index d00668bc..c732ed50 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/public/umbraco-package.json +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/public/umbraco-package.json @@ -1,7 +1,7 @@ { "id": "Umbraco.Cms.Integrations.Crm.HubSpot", "name": "Umbraco CMS Integrations: CRM - HubSpot", - "version": "7.0.0", + "version": "8.0.0", "extensions": [ { "name": "Umbraco EntryPoint", diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/context/hubspot-forms.context.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/context/hubspot-forms.context.ts index c0cac769..1936b431 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/context/hubspot-forms.context.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/context/hubspot-forms.context.ts @@ -3,13 +3,13 @@ import { UmbContextToken } from "@umbraco-cms/backoffice/context-api"; import type { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api"; import { HubspotFormsRepository } from "../repository/hubspot-forms.repository.js"; -import { HubspotFormPickerSettingsModelReadable, type OAuthRequestDtoModel } from "../../generated/types.gen.js"; +import { HubspotFormPickerSettingsModel, type OAuthRequestDtoModel } from "../../generated/types.gen.js"; import { UmbObjectState } from "@umbraco-cms/backoffice/observable-api"; export class HubspotFormsContext extends UmbControllerBase { #repository: HubspotFormsRepository; - #settingsModel = new UmbObjectState(undefined); + #settingsModel = new UmbObjectState(undefined); settingsModel = this.#settingsModel.asObservable(); constructor(host: UmbControllerHost) { diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/modal/hubspot-forms-modal.element.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/modal/hubspot-forms-modal.element.ts index 376a1b6c..fe2e6873 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/modal/hubspot-forms-modal.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/modal/hubspot-forms-modal.element.ts @@ -6,7 +6,7 @@ import { import type { UUIInputEvent } from "@umbraco-cms/backoffice/external/uui"; import type { HubspotServiceStatus } from "../models/hubspot-service.model.js"; import type { HubspotFormPickerModalData, HubspotFormPickerModalValue } from "./hubspot.modal-token.js"; -import type { HubspotFormDtoModel, HubspotFormPickerSettingsModelReadable } from "@umbraco-integrations/hubspot-forms/generated"; +import type { HubspotFormDtoModel, HubspotFormPickerSettingsModel } from "@umbraco-integrations/hubspot-forms/generated"; import { HUBSPOT_FORMS_CONTEXT_TOKEN } from "@umbraco-integrations/hubspot-forms/context"; const elementName = "hubspot-forms-modal"; @@ -16,7 +16,7 @@ export default class HubspotFormsModalElement extends UmbModalBaseElement { #hubspotFormsContext!: typeof HUBSPOT_FORMS_CONTEXT_TOKEN.TYPE; - #settingsModel?: HubspotFormPickerSettingsModelReadable; + #settingsModel?: HubspotFormPickerSettingsModel; @state() private _serviceStatus: HubspotServiceStatus = { diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/authorization-property-editor.element.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/authorization-property-editor.element.ts index ebf12da7..172aee60 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/authorization-property-editor.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/authorization-property-editor.element.ts @@ -19,7 +19,7 @@ import { type HubspotServiceStatus } from "../models/hubspot-service.model.js"; import { HUBSPOT_FORMS_CONTEXT_TOKEN } from "@umbraco-integrations/hubspot-forms/context"; -import type { HubspotFormPickerSettingsModelReadable, OAuthRequestDtoModel } from "@umbraco-integrations/hubspot-forms/generated"; +import type { HubspotFormPickerSettingsModel, OAuthRequestDtoModel } from "@umbraco-integrations/hubspot-forms/generated"; const elementName = "hubspot-authorization"; @@ -27,7 +27,7 @@ const elementName = "hubspot-authorization"; export class HubspotAuthorizationElement extends UmbElementMixin(LitElement) { #hubspotFormsContext!: typeof HUBSPOT_FORMS_CONTEXT_TOKEN.TYPE; - #settingsModel?: HubspotFormPickerSettingsModelReadable; + #settingsModel?: HubspotFormPickerSettingsModel; @state() private _serviceStatus: HubspotServiceStatus = { diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/form-picker-property-editor.element.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/form-picker-property-editor.element.ts index d90a33a8..c4782a17 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/form-picker-property-editor.element.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/property-editor/form-picker-property-editor.element.ts @@ -7,7 +7,7 @@ import { import { HUBSPOT_FORMS_MODAL_TOKEN } from "../modal/hubspot.modal-token.js"; import { ConfigDescription, type HubspotServiceStatus } from "../models/hubspot-service.model.js"; import { HUBSPOT_FORMS_CONTEXT_TOKEN } from "@umbraco-integrations/hubspot-forms/context"; -import type { HubspotFormDtoModel, HubspotFormPickerSettingsModelReadable } from "@umbraco-integrations/hubspot-forms/generated"; +import type { HubspotFormDtoModel, HubspotFormPickerSettingsModel } from "@umbraco-integrations/hubspot-forms/generated"; const elementName = "hubspot-form-picker"; @@ -15,7 +15,7 @@ const elementName = "hubspot-form-picker"; export class HubspotFormPickerElement extends UmbElementMixin(LitElement) { #modalManagerContext?: typeof UMB_MODAL_MANAGER_CONTEXT.TYPE; - #settingsModel?: HubspotFormPickerSettingsModelReadable; + #settingsModel?: HubspotFormPickerSettingsModel; @property({ type: String }) public value = ""; diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/repository/hubspot-forms.repository.ts b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/repository/hubspot-forms.repository.ts index f8644f0e..100e6573 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/repository/hubspot-forms.repository.ts +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Client/src/repository/hubspot-forms.repository.ts @@ -1,7 +1,7 @@ import { UmbControllerBase } from "@umbraco-cms/backoffice/class-api"; import type { UmbControllerHost } from "@umbraco-cms/backoffice/controller-api"; import { tryExecute } from "@umbraco-cms/backoffice/resources"; -import { FormsService, type OAuthRequestDtoModel } from "@umbraco-integrations/hubspot-forms/generated"; +import { Forms, type OAuthRequestDtoModel } from "@umbraco-integrations/hubspot-forms/generated"; export class HubspotFormsRepository extends UmbControllerBase { constructor(host: UmbControllerHost) { @@ -9,7 +9,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async getAuthorizationUrl() { - const { data, error } = await tryExecute(this, FormsService.getAuthorizationUrl()); + const { data, error } = await tryExecute(this, Forms.getAuthorizationUrl()); if (error || !data) { return { error }; @@ -19,7 +19,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async checkApiConfiguration() { - const { data, error } = await tryExecute(this, FormsService.getCheckConfiguration()); + const { data, error } = await tryExecute(this, Forms.getCheckConfiguration()); if (error || !data) { return { error }; @@ -29,7 +29,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async getAccessToken(oauthRequestDto: OAuthRequestDtoModel) { - const { data, error } = await tryExecute(this, FormsService.postGetAccessToken({ + const { data, error } = await tryExecute(this, Forms.postGetAccessToken({ body: oauthRequestDto })); @@ -41,7 +41,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async validateAccessToken() { - const { data, error } = await tryExecute(this, FormsService.getValidateAccessToken()); + const { data, error } = await tryExecute(this, Forms.getValidateAccessToken()); if (error || !data) { return { error }; @@ -51,7 +51,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async refreshAccessToken() { - const { data, error } = await tryExecute(this, FormsService.postRefreshAccessToken()); + const { data, error } = await tryExecute(this, Forms.postRefreshAccessToken()); if (error || !data) { return { error }; @@ -61,7 +61,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async revokeAccessToken() { - const { data, error } = await tryExecute(this, FormsService.postRevokeAccessToken()); + const { data, error } = await tryExecute(this, Forms.postRevokeAccessToken()); if (error || !data) { return { error }; @@ -71,7 +71,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async getFormsByApiKey() { - const { data, error } = await tryExecute(this, FormsService.getFormsByApiKey()); + const { data, error } = await tryExecute(this, Forms.getFormsByApiKey()); if (error || !data) { return { error }; @@ -81,7 +81,7 @@ export class HubspotFormsRepository extends UmbControllerBase { } async getFormsOAuth() { - const { data, error } = await tryExecute(this, FormsService.getFormsOAuth()); + const { data, error } = await tryExecute(this, Forms.getFormsOAuth()); if (error || !data) { return { error }; diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/HubspotComposer.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/HubspotComposer.cs index cf7b53c0..c1f4e797 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/HubspotComposer.cs +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/HubspotComposer.cs @@ -12,8 +12,6 @@ namespace Umbraco.Cms.Integrations.Crm.Hubspot { public class HubspotComposer : IComposer { - public delegate IHubspotAuthorizationService AuthorizationImplementationFactory(bool useUmbracoAuthorization); - public void Compose(IUmbracoBuilder builder) { var options = builder.Services.AddOptions() @@ -25,14 +23,7 @@ public void Compose(IUmbracoBuilder builder) builder.Services.AddSingleton(); builder.Services.AddSingleton(); - builder.Services.AddSingleton(f => useUmbracoAuthorization => - { - return useUmbracoAuthorization switch - { - true => f.GetService(), - _ => f.GetService() - }; - }); + builder.Services.AddSingleton(); builder.Services.Configure(options => { diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/HubspotAuthorizationServiceFactory.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/HubspotAuthorizationServiceFactory.cs new file mode 100644 index 00000000..583ff5b6 --- /dev/null +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/HubspotAuthorizationServiceFactory.cs @@ -0,0 +1,16 @@ +using Microsoft.Extensions.DependencyInjection; + +namespace Umbraco.Cms.Integrations.Crm.Hubspot.Services; + +public class HubspotAuthorizationServiceFactory : IHubspotAuthorizationServiceFactory +{ + private readonly IServiceProvider _serviceProvider; + + public HubspotAuthorizationServiceFactory(IServiceProvider serviceProvider) => _serviceProvider = serviceProvider; + + public IHubspotAuthorizationService GetAuthorizationService(bool useUmbracoAuthorization) => + useUmbracoAuthorization + ? _serviceProvider.GetRequiredService() + : _serviceProvider.GetRequiredService(); + +} diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/IHubspotAuthorizationServiceFactory.cs b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/IHubspotAuthorizationServiceFactory.cs new file mode 100644 index 00000000..57e9a770 --- /dev/null +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Services/IHubspotAuthorizationServiceFactory.cs @@ -0,0 +1,6 @@ +namespace Umbraco.Cms.Integrations.Crm.Hubspot.Services; + +public interface IHubspotAuthorizationServiceFactory +{ + IHubspotAuthorizationService GetAuthorizationService(bool useUmbracoAuthorization); +} diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj index 04ef5373..fdb69ef6 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj @@ -1,6 +1,6 @@  - net9.0 + net10.0 enable enable true @@ -16,7 +16,7 @@ https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main-v16/src/Umbraco.Cms.Integrations.Crm.Hubspot https://github.com/umbraco/Umbraco.Cms.Integrations - 7.0.1 + 8.0.0 Umbraco HQ Umbraco Umbraco;Umbraco-Marketplace @@ -25,7 +25,7 @@ - [16.0.0, 17) + [17.0.0-rc2, 18) @@ -64,4 +64,4 @@ - + \ No newline at end of file From 9cb603e1d4c5db9626ece665c281cfcfc0de3871 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Tue, 18 Nov 2025 12:40:15 +0200 Subject: [PATCH 19/21] Update pipeline SDK --- azure-pipeline - Crm.Hubspot.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/azure-pipeline - Crm.Hubspot.yml b/azure-pipeline - Crm.Hubspot.yml index 061fdae6..12978f21 100644 --- a/azure-pipeline - Crm.Hubspot.yml +++ b/azure-pipeline - Crm.Hubspot.yml @@ -17,11 +17,17 @@ variables: buildPlatform: 'Any CPU' buildConfiguration: 'Release' productGroup: 'DXP' - productVersion: 'v16' + productVersion: 'v17' DT_API_KEY: $(dtApiKey) DT_BASE_URL: $(dtBaseUrl) steps: +- task: UseDotNet@2 + displayName: 'Use SDK version 10.0.100' + inputs: + packageType: 'sdk' + version: '10.0.100' + - task: NuGetToolInstaller@1 displayName: 'Install NuGet' @@ -33,12 +39,6 @@ steps: projects: '$(project)' includeNuGetOrg: true -- task: UseDotNet@2 - displayName: 'Use SDK version 9.0.203' - inputs: - packageType: 'sdk' - version: '9.0.203' - - task: VSBuild@1 displayName: 'Build Project' inputs: From 85f8d97cf60a4cfd7491eb4860cd1c4f61a18c2f Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu Date: Tue, 18 Nov 2025 12:49:09 +0200 Subject: [PATCH 20/21] Update static assets path --- .../Umbraco.Cms.Integrations.Crm.Hubspot.csproj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj index fdb69ef6..3c37af35 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj @@ -51,6 +51,10 @@ + + + + @@ -62,6 +66,6 @@ true - + \ No newline at end of file From e1efed2b6bd42de0b7b7cd34bfd3fbabf9b7b3d1 Mon Sep 17 00:00:00 2001 From: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com> Date: Tue, 18 Nov 2025 16:27:02 +0200 Subject: [PATCH 21/21] Update PackageProjectUrl to point to v17 --- .../Umbraco.Cms.Integrations.Crm.Hubspot.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj index 3c37af35..c4a1ebaf 100644 --- a/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj +++ b/src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj @@ -14,7 +14,7 @@ Umbraco CMS Integrations: CRM - Hubspot An extension for Umbraco CMS providing a form picker and rendering component for Hubspot. - https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main-v16/src/Umbraco.Cms.Integrations.Crm.Hubspot + https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main-v17/src/Umbraco.Cms.Integrations.Crm.Hubspot https://github.com/umbraco/Umbraco.Cms.Integrations 8.0.0 Umbraco HQ @@ -68,4 +68,4 @@ - \ No newline at end of file +