From 7bf5bd6c83a7f0b3922d66a1ca0364e43f7e5ebf Mon Sep 17 00:00:00 2001 From: David Featherston Date: Fri, 2 Aug 2024 08:37:47 +1000 Subject: [PATCH 1/8] chore(docs): update modules and links --- docs/content/framework/4.core-modules.md | 41 +++++++++++++++--------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/docs/content/framework/4.core-modules.md b/docs/content/framework/4.core-modules.md index 292a9c1411..b8008aa6fe 100644 --- a/docs/content/framework/4.core-modules.md +++ b/docs/content/framework/4.core-modules.md @@ -8,33 +8,44 @@ View each package on NPM for their individual READMEs. ## Core UI Libraries -- [`ripple-ui-core`](https://www.npmjs.com/package/@dpc-sdp/ripple-ui-core) -- [`ripple-ui-forms`](https://www.npmjs.com/package/@dpc-sdp/ripple-ui-forms) +- [`ripple-ui-core`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-ui-core) +- [`ripple-ui-forms`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-ui-forms) +- [`ripple-ui-maps`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-ui-maps) ## Tide API -- [`ripple-tide-api`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-api) +- [`ripple-tide-api`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-api) ## Nuxt-ripple base layer -- [`nuxt-ripple`](https://www.npmjs.com/package/@dpc-sdp/nuxt-ripple) +- [`nuxt-ripple`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/nuxt-ripple) ## Core content types -- [`ripple-tide-landing-page`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-landing-page) -- [`ripple-tide-event`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-event) -- [`ripple-tide-grant`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-grant) -- [`ripple-tide-media`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-media) -- [`ripple-tide-news`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-news) -- [`ripple-tide-publication`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-publication) +All core content types (and content related packages) are added through the `ripple-sdp-core` package + +- [`ripple-sdp-core`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-sdp-core) + +Below are the individual content type packages that are included in `ripple-sdp-core`: + +- [`ripple-tide-search`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-search) +- [`ripple-tide-webform`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-webform) +- [`ripple-tide-topic`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-topic) +- [`ripple-tide-landing-page`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-landing-page) +- [`ripple-tide-event`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-event) +- [`ripple-tide-grant`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-grant) +- [`ripple-tide-media`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-media) +- [`ripple-tide-news`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-news) +- [`ripple-tide-publication`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-tide-publication) ## Other core modules -- [`ripple-tide-search`](https://www.npmjs.com/package/@dpc-sdp/ripple-tide-search) -- [`nuxt-ripple-analytics`](https://www.npmjs.com/package/@dpc-sdp/nuxt-ripple-analytics) -- [`nuxt-ripple-preview`](https://www.npmjs.com/package/@dpc-sdp/nuxt-ripple-preview) +- [`nuxt-ripple-analytics`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/nuxt-ripple-analytics) +- [`nuxt-ripple-preview`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/nuxt-ripple-preview) ## Scaffolding, testing and supporting packages -- [`nuxt-ripple-cli`](https://www.npmjs.com/package/@dpc-sdp/nuxt-ripple-cli) -- [`ripple-test-utils`](https://www.npmjs.com/package/@dpc-sdp/ripple-test-utils) +- [`nuxt-ripple-cli`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/nuxt-ripple-cli) +- [`ripple-test-utils`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/ripple-test-utils) +- [`eslint-config-ripple`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/eslint-config-ripple) +- [`stylelint-config-ripple`](https://github.com/dpc-sdp/ripple-framework/pkgs/npm/stylelint-config-ripple) From 19ed68981840073912d7b603cb33df1e4a3bfc2d Mon Sep 17 00:00:00 2001 From: David Featherston Date: Fri, 2 Aug 2024 08:44:32 +1000 Subject: [PATCH 2/8] chore(docs): update NPM reference --- docs/content/framework/4.core-modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/framework/4.core-modules.md b/docs/content/framework/4.core-modules.md index b8008aa6fe..dbcccdbf8e 100644 --- a/docs/content/framework/4.core-modules.md +++ b/docs/content/framework/4.core-modules.md @@ -4,7 +4,7 @@ description: A listing of all current core Ripple layers and packages layout: page --- -View each package on NPM for their individual READMEs. +View each package on GitHub package registry for their individual READMEs. ## Core UI Libraries From 70cea0223cad5d33d4f29e760e9cc9e5613c2a5b Mon Sep 17 00:00:00 2001 From: Jeffrey Dowdle Date: Wed, 7 Aug 2024 12:07:08 +1000 Subject: [PATCH 3/8] fix(@dpc-sdp/ripple-tide-api): :bug: fixed getTaxonomy only getting first 50 items --- .../ripple-tide-api/src/services/tide-page.ts | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/packages/ripple-tide-api/src/services/tide-page.ts b/packages/ripple-tide-api/src/services/tide-page.ts index 73a4aad296..168cb8afe4 100644 --- a/packages/ripple-tide-api/src/services/tide-page.ts +++ b/packages/ripple-tide-api/src/services/tide-page.ts @@ -327,10 +327,10 @@ export default class TidePageApi extends TideApiBase { async getEntityList( entityType, bundle, - filtering, - includes, - pagination, - sorting, + filtering?, + includes?, + pagination?, + sorting?, { allPages = true } = {} ) { const params: Record = { @@ -442,20 +442,8 @@ export default class TidePageApi extends TideApiBase { } async getTaxonomy(taxonomyName: string) { - const params = { - site: this.site - } try { - const { data: response } = await this.get( - `/taxonomy_term/${taxonomyName}`, - { - params - } - ) - if (response) { - const resource = jsonapiParse.parse(response).data - return resource - } + return await this.getEntityList('taxonomy_term', taxonomyName) } catch (error: any) { throw new ApplicationError('Error fetching taxonomy', { cause: error }) } From b67cab7663229e4085d1dc2826a790cc94861fab Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Mon, 12 Aug 2024 17:33:11 +1000 Subject: [PATCH 4/8] feat(@dpc-sdp/ripple-ui-core): :sparkles: feature flag for long menu titles --- packages/ripple-tide-api/types.d.ts | 4 ++++ .../components/nav-bar/RplPrimaryNavBar.css | 7 +++++++ .../components/nav-bar/RplPrimaryNavBar.vue | 17 +++++++++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/ripple-tide-api/types.d.ts b/packages/ripple-tide-api/types.d.ts index 089cb4cea8..fbdfd86eaf 100644 --- a/packages/ripple-tide-api/types.d.ts +++ b/packages/ripple-tide-api/types.d.ts @@ -264,6 +264,10 @@ export interface IRplFeatureFlags { * @description Option to disable the display of the search form within the primary navigation */ disablePrimaryNavSearch?: boolean + /** + * @description Force multi-line links to render on a single line in the primary navigation + */ + primaryNavNowrap?: boolean /** * @description Option to override the default URL the search for redirects to */ diff --git a/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.css b/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.css index 102c5d15e5..d340789899 100644 --- a/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.css +++ b/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.css @@ -125,6 +125,13 @@ text-decoration-thickness: 2px; } } + + &.rpl-primary-nav__nav-bar-actions-list--nowrap { + a, + button { + max-width: none; + } + } } .rpl-primary-nav__nav-bar-mobile-menu-toggle-container { diff --git a/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.vue b/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.vue index 16f239358e..ed6241d140 100644 --- a/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.vue +++ b/packages/ripple-ui-core/src/components/primary-nav/components/nav-bar/RplPrimaryNavBar.vue @@ -15,9 +15,13 @@ import { import VicGovLogo from './../../../../assets/logos/logo-vic-gov.svg?component' import type { IRplFeatureFlags } from '@dpc-sdp/ripple-tide-api/types' -const { disablePrimaryLogo }: IRplFeatureFlags = inject('featureFlags', { - disablePrimaryLogo: false -}) +const { disablePrimaryLogo, primaryNavNowrap }: IRplFeatureFlags = inject( + 'featureFlags', + { + disablePrimaryLogo: false, + primaryNavNowrap: false + } +) interface Props { primaryLogo: IRplPrimaryNavLogo @@ -130,7 +134,12 @@ const handleToggleItem = (level: number, item: IRplPrimaryNavItem) => { -
    +
    • Date: Mon, 12 Aug 2024 17:34:03 +1000 Subject: [PATCH 5/8] test: :white_check_mark: long menu title feature flag --- .../nuxt-app/test/features/site/theme.feature | 14 ++++++ .../fixtures/site/primary-nav-nowrap.json | 44 +++++++++++++++++++ .../test/fixtures/site/primary-nav-wrap.json | 41 +++++++++++++++++ .../common/shared-elements.ts | 11 +++++ 4 files changed, 110 insertions(+) create mode 100644 examples/nuxt-app/test/fixtures/site/primary-nav-nowrap.json create mode 100644 examples/nuxt-app/test/fixtures/site/primary-nav-wrap.json diff --git a/examples/nuxt-app/test/features/site/theme.feature b/examples/nuxt-app/test/features/site/theme.feature index c87c36d2da..45410946ba 100644 --- a/examples/nuxt-app/test/features/site/theme.feature +++ b/examples/nuxt-app/test/features/site/theme.feature @@ -54,3 +54,17 @@ Feature: Site theme And the page endpoint for path "/" returns fixture "/landingpage/image-banner" with status 200 Given I visit the page "/" Then the last updated date should not be displayed + + @mockserver + Scenario: Default behaviour for long link titles in the primary navigation + Given the site endpoint returns fixture "/site/primary-nav-wrap" with status 200 + And the page endpoint for path "/" returns fixture "/landingpage/image-banner" with status 200 + Given I visit the page "/" + Then the primary nav links should wrap + + @mockserver + Scenario: Feature flag to force multi-line links to render on a single line in the primary navigation + Given the site endpoint returns fixture "/site/primary-nav-nowrap" with status 200 + And the page endpoint for path "/" returns fixture "/landingpage/image-banner" with status 200 + Given I visit the page "/" + Then the primary nav links should not wrap diff --git a/examples/nuxt-app/test/fixtures/site/primary-nav-nowrap.json b/examples/nuxt-app/test/fixtures/site/primary-nav-nowrap.json new file mode 100644 index 0000000000..0d8cffdf35 --- /dev/null +++ b/examples/nuxt-app/test/fixtures/site/primary-nav-nowrap.json @@ -0,0 +1,44 @@ +{ + "name": "Test site for neutral theme", + "acknowledgementHeader": "Test hero acknowledgement", + "acknowledgementFooter": "Test footer acknowledgement", + "socialImages": { + "twitter": {}, + "og": {} + }, + "siteLogo": { + "href": "/", + "src": "https://placehold.co/140x40", + "altText": "" + }, + "featureFlags": { + "primaryNavNowrap": true + }, + "menus": { + "menuMain": [ + { + "text": "This link has an excessively long title", + "url": "/demo-landing-page", + "uuid": "29bc9750-a335-455e-9e9a-4166c0bd73df", + "parent": null, + "weight": 0 + }, + { + "text": "Another random link", + "url": "/demo-landing-page", + "uuid": "04e44b77-20df-4a73-b0d1-cf2d3d614754", + "parent": null, + "weight": 0 + } + ], + "menuFooter": [ + { + "text": "Demo Landing Page", + "url": "/demo-landing-page", + "uuid": "04e44b77-20df-4a73-b0d1-cf2d3d614754", + "parent": null, + "weight": 0 + } + ] + } +} diff --git a/examples/nuxt-app/test/fixtures/site/primary-nav-wrap.json b/examples/nuxt-app/test/fixtures/site/primary-nav-wrap.json new file mode 100644 index 0000000000..0d133a87fe --- /dev/null +++ b/examples/nuxt-app/test/fixtures/site/primary-nav-wrap.json @@ -0,0 +1,41 @@ +{ + "name": "Test site for neutral theme", + "acknowledgementHeader": "Test hero acknowledgement", + "acknowledgementFooter": "Test footer acknowledgement", + "socialImages": { + "twitter": {}, + "og": {} + }, + "siteLogo": { + "href": "/", + "src": "https://placehold.co/140x40", + "altText": "" + }, + "menus": { + "menuMain": [ + { + "text": "This link has an excessively long title", + "url": "/demo-landing-page", + "uuid": "29bc9750-a335-455e-9e9a-4166c0bd73df", + "parent": null, + "weight": 0 + }, + { + "text": "Another random link", + "url": "/demo-landing-page", + "uuid": "04e44b77-20df-4a73-b0d1-cf2d3d614754", + "parent": null, + "weight": 0 + } + ], + "menuFooter": [ + { + "text": "Demo Landing Page", + "url": "/demo-landing-page", + "uuid": "04e44b77-20df-4a73-b0d1-cf2d3d614754", + "parent": null, + "weight": 0 + } + ] + } +} diff --git a/packages/ripple-test-utils/step_definitions/common/shared-elements.ts b/packages/ripple-test-utils/step_definitions/common/shared-elements.ts index 5ca9672a9a..c0a041b15b 100644 --- a/packages/ripple-test-utils/step_definitions/common/shared-elements.ts +++ b/packages/ripple-test-utils/step_definitions/common/shared-elements.ts @@ -58,6 +58,17 @@ Then('the last updated date should not be displayed', () => { cy.get(`[data-cy="updated-date"]`).should('not.exist') }) +Then('the primary nav links should wrap', () => { + cy.get('.rpl-primary-nav__nav-bar-actions-list--nowrap').should('not.exist') +}) + +Then('the primary nav links should not wrap', () => { + cy.get('.rpl-primary-nav__nav-bar-actions-list').should( + 'have.class', + 'rpl-primary-nav__nav-bar-actions-list--nowrap' + ) +}) + Then( 'the page should have the following topic tags', (dataTable: DataTable) => { From ed81faa173163242a5832deaf3c6cd85fe33760d Mon Sep 17 00:00:00 2001 From: Bryce Gilhome Date: Tue, 13 Aug 2024 12:07:35 +0930 Subject: [PATCH 6/8] feat(@dpc-sdp/ripple-ui-maps): add clustering distance optional prop, default as current --- packages/ripple-ui-maps/src/components/map/RplMap.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/ripple-ui-maps/src/components/map/RplMap.vue b/packages/ripple-ui-maps/src/components/map/RplMap.vue index 8ff948a6d8..f6e21d8f90 100644 --- a/packages/ripple-ui-maps/src/components/map/RplMap.vue +++ b/packages/ripple-ui-maps/src/components/map/RplMap.vue @@ -50,6 +50,7 @@ interface Props { hasSidePanel?: boolean noresults?: boolean getFeatureTitle?: (feature: any) => string + clusteringDistance?: number } const props = withDefaults(defineProps(), { @@ -75,7 +76,8 @@ const props = withDefaults(defineProps(), { return ic }, noresults: false, - getFeatureTitle: (feature: any) => (feature ? feature.title : '') + getFeatureTitle: (feature: any) => (feature ? feature.title : ''), + clusteringDistance: 100 }) const zoom = ref(props.initialZoom) @@ -365,7 +367,7 @@ const noResultsRef = ref(null) From ad297e4e2ba1021f04eb94f4ec3bb6eaf5adcd6d Mon Sep 17 00:00:00 2001 From: Bryce Gilhome Date: Tue, 13 Aug 2024 12:10:07 +0930 Subject: [PATCH 7/8] feat(@dpc-sdp/ripple-ui-maps): add map stories to demonstrate clustering distance (nearer/disabled) --- .../src/components/map/RplMap.stories.mdx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/ripple-ui-maps/src/components/map/RplMap.stories.mdx b/packages/ripple-ui-maps/src/components/map/RplMap.stories.mdx index 18ea14bed2..2f56e3be05 100644 --- a/packages/ripple-ui-maps/src/components/map/RplMap.stories.mdx +++ b/packages/ripple-ui-maps/src/components/map/RplMap.stories.mdx @@ -139,4 +139,26 @@ export const Template = (args) => ({ > {Template.bind()} + + {Template.bind()} + + + {Template.bind()} + From 0b832893bf924f4e9706422b87d93f992f7506ce Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Wed, 14 Aug 2024 17:20:43 +1000 Subject: [PATCH 8/8] fix(@dpc-sdp/ripple-tide-api): :alien: cheerio default export has been removed --- jest.config.js | 4 +- .../nuxt-ripple/server/plugins/prefetch.ts | 4 +- packages/ripple-tide-api/package.json | 4 +- .../src/utils/markup-transpiler/index.ts | 4 +- pnpm-lock.yaml | 90 +++++++++++++++---- 5 files changed, 83 insertions(+), 23 deletions(-) diff --git a/jest.config.js b/jest.config.js index 4729fb4e4a..eac7da33c3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -13,7 +13,9 @@ module.exports = { '^.+\\.ts$': '/node_modules/ts-jest', '.*\\.vue$': '/node_modules/@vue/vue3-jest' }, - transformIgnorePatterns: ['node_modules/(?!.pnpm)(?!(ripple-*|lodash-es)/)'], + transformIgnorePatterns: [ + 'node_modules/(?!.pnpm)(?!(ripple-*|lodash-es|cheerio)/)' + ], extensionsToTreatAsEsm: ['.ts'], moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', diff --git a/packages/nuxt-ripple/server/plugins/prefetch.ts b/packages/nuxt-ripple/server/plugins/prefetch.ts index d1d9f851f0..edc060719a 100644 --- a/packages/nuxt-ripple/server/plugins/prefetch.ts +++ b/packages/nuxt-ripple/server/plugins/prefetch.ts @@ -1,4 +1,4 @@ -import * as cheerio from 'cheerio' +import { load } from 'cheerio' import type { NitroApp } from 'nitropack' // fix type stub - See https://github.com/nuxt/nuxt/issues/18556 @@ -17,7 +17,7 @@ export default defineNitroPlugin((nitroApp) => { // https://github.com/nuxt/nuxt/issues/18376 html.head = html.head.map((head) => { - const $ = cheerio.load(head) + const $ = load(head) $('link[rel=prefetch]').each(function () { $(this).remove() }) diff --git a/packages/ripple-tide-api/package.json b/packages/ripple-tide-api/package.json index 17c097757f..d61082c2a1 100644 --- a/packages/ripple-tide-api/package.json +++ b/packages/ripple-tide-api/package.json @@ -26,7 +26,7 @@ "@nuxt/kit": "3.11.2", "axios": "^1.3.4", "change-case": "^4.1.2", - "cheerio": "^1.0.0-rc.10", + "cheerio": "^1.0.0", "h3": "^1.9.0", "js-yaml": "^4.1.0", "jsonapi-parse": "^2.0.1", @@ -41,7 +41,7 @@ }, "devDependencies": { "@nuxt/schema": "3.11.2", - "@types/cheerio": "^0.22.31", + "@types/cheerio": "^0.22.35", "axios-mock-adapter": "^1.21.3", "defu": "^6.1.2", "rimraf": "^4.4.1" diff --git a/packages/ripple-tide-api/src/utils/markup-transpiler/index.ts b/packages/ripple-tide-api/src/utils/markup-transpiler/index.ts index 0951befc75..6da8b383c4 100644 --- a/packages/ripple-tide-api/src/utils/markup-transpiler/index.ts +++ b/packages/ripple-tide-api/src/utils/markup-transpiler/index.ts @@ -1,4 +1,4 @@ -import cheerio from 'cheerio' +import { load } from 'cheerio' import defaultPlugins from './default-plugins.js' // A markup transpiler for converting HTML into Vue template by giving plugins. @@ -10,7 +10,7 @@ const markupTranspiler = ( if (!html) { return '' } - const $ = cheerio.load(html, options) + const $ = load(html, options) const $body = $('body') let markupData = {} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a3bf72abb..ca1b0530d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -596,8 +596,8 @@ importers: specifier: ^4.1.2 version: 4.1.2 cheerio: - specifier: ^1.0.0-rc.10 - version: 1.0.0-rc.12 + specifier: ^1.0.0 + version: 1.0.0 h3: specifier: ^1.9.0 version: 1.10.1 @@ -636,7 +636,7 @@ importers: specifier: 3.11.2 version: 3.11.2(rollup@4.14.3) '@types/cheerio': - specifier: ^0.22.31 + specifier: ^0.22.35 version: 0.22.35 axios-mock-adapter: specifier: ^1.21.3 @@ -6918,9 +6918,9 @@ packages: cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + cheerio@1.0.0: + resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} + engines: {node: '>=18.17'} chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -7993,6 +7993,9 @@ packages: domutils@3.0.1: resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dot-case@2.1.1: resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} @@ -8086,6 +8089,9 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + encoding-sniffer@0.2.0: + resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -9395,6 +9401,9 @@ packages: htmlparser2@8.0.1: resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -12060,6 +12069,9 @@ packages: parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-parser-stream@7.1.2: + resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -14795,6 +14807,10 @@ packages: resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} engines: {node: '>=14.0'} + undici@6.19.7: + resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==} + engines: {node: '>=18.17'} + unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} @@ -15395,8 +15411,8 @@ packages: peerDependencies: typescript: '*' - vue-component-type-helpers@2.0.28: - resolution: {integrity: sha512-hoK0UsKXrXDY9zdpdk+drqOqYHpPhbmfQUJ2mFYK57+l73mQxcYyCteQsolllwGaxhWihT077+OA/FR5ZPTceg==} + vue-component-type-helpers@2.0.29: + resolution: {integrity: sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==} vue-demi@0.14.6: resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} @@ -15566,10 +15582,18 @@ packages: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + whatwg-url@11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} @@ -22091,7 +22115,7 @@ snapshots: ts-dedent: 2.2.0 type-fest: 2.19.0 vue: 3.4.23(typescript@5.1.3) - vue-component-type-helpers: 2.0.28 + vue-component-type-helpers: 2.0.29 transitivePeerDependencies: - encoding - supports-color @@ -24847,17 +24871,21 @@ snapshots: css-what: 6.1.0 domelementtype: 2.3.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 - cheerio@1.0.0-rc.12: + cheerio@1.0.0: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 domhandler: 5.0.3 - domutils: 3.0.1 - htmlparser2: 8.0.1 + domutils: 3.1.0 + encoding-sniffer: 0.2.0 + htmlparser2: 9.1.0 parse5: 7.1.2(patch_hash=we4prwxijorghvcqg5y46szn5m) parse5-htmlparser2-tree-adapter: 7.0.0(patch_hash=pbfyvtlxq7sl6kts5un2uoamka) + parse5-parser-stream: 7.1.2 + undici: 6.19.7 + whatwg-mimetype: 4.0.0 chokidar@3.5.3: dependencies: @@ -25481,7 +25509,7 @@ snapshots: boolbase: 1.0.0 css-what: 6.1.0 domhandler: 5.0.3 - domutils: 3.0.1 + domutils: 3.1.0 nth-check: 2.1.1 css-tree@1.0.0-alpha.37: @@ -26043,6 +26071,12 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dot-case@2.1.1: dependencies: no-case: 2.3.2 @@ -26118,6 +26152,11 @@ snapshots: encodeurl@1.0.2: {} + encoding-sniffer@0.2.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding: 3.1.1 + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -27932,6 +27971,13 @@ snapshots: domutils: 3.0.1 entities: 4.5.0 + htmlparser2@9.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + http-cache-semantics@4.1.1: {} http-encoding@1.5.1: @@ -30209,7 +30255,7 @@ snapshots: metaparser@1.0.7: dependencies: async: 3.2.4 - cheerio: 1.0.0-rc.12 + cheerio: 1.0.0 mkdirp: 2.1.6 underscore: 1.13.6 @@ -31977,6 +32023,10 @@ snapshots: domhandler: 5.0.3 parse5: 7.1.2(patch_hash=we4prwxijorghvcqg5y46szn5m) + parse5-parser-stream@7.1.2: + dependencies: + parse5: 7.1.2(patch_hash=we4prwxijorghvcqg5y46szn5m) + parse5@7.1.2(patch_hash=we4prwxijorghvcqg5y46szn5m): dependencies: entities: 4.5.0 @@ -35144,6 +35194,8 @@ snapshots: dependencies: '@fastify/busboy': 2.1.0 + undici@6.19.7: {} + unenv@1.9.0: dependencies: consola: 3.2.3 @@ -35915,7 +35967,7 @@ snapshots: typesafe-path: 0.2.2 typescript: 5.1.3 - vue-component-type-helpers@2.0.28: {} + vue-component-type-helpers@2.0.29: {} vue-demi@0.14.6(vue@3.4.23(typescript@5.1.3)): dependencies: @@ -36133,8 +36185,14 @@ snapshots: dependencies: iconv-lite: 0.6.3 + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + whatwg-mimetype@3.0.0: {} + whatwg-mimetype@4.0.0: {} + whatwg-url@11.0.0: dependencies: tr46: 3.0.0