diff --git a/.github/workflows/components.yml b/.github/workflows/components.yml index 3c02114155..61af9c74fb 100644 --- a/.github/workflows/components.yml +++ b/.github/workflows/components.yml @@ -12,11 +12,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 - name: Install Dependencies @@ -37,16 +37,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 with: version: 9.0.6 run_install: true - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' @@ -60,16 +60,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 with: version: 9.0.6 run_install: true - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 11920abb38..32ab756a2e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,14 +11,14 @@ jobs: Docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3675ee9a50..e006f5096a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,14 +4,14 @@ jobs: Test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' diff --git a/.github/workflows/nuxt.yml b/.github/workflows/nuxt.yml index ff14bf681b..69428ce77f 100644 --- a/.github/workflows/nuxt.yml +++ b/.github/workflows/nuxt.yml @@ -11,14 +11,14 @@ jobs: TestNuxt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' @@ -45,10 +45,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 diff --git a/.github/workflows/publish-canary.yml b/.github/workflows/publish-canary.yml index 78d7a87863..3fe959bac7 100644 --- a/.github/workflows/publish-canary.yml +++ b/.github/workflows/publish-canary.yml @@ -11,17 +11,17 @@ jobs: packages: write contents: read steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: registry-url: 'https://npm.pkg.github.com/' node-version: 20 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0d070a48c5..165faaed6a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,14 +10,14 @@ jobs: packages: write contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: registry-url: 'https://npm.pkg.github.com/' node-version: 20 diff --git a/.github/workflows/studio.yml b/.github/workflows/studio.yml index 841369eaca..9df644ed6b 100644 --- a/.github/workflows/studio.yml +++ b/.github/workflows/studio.yml @@ -51,7 +51,7 @@ jobs: with: version: 9.0.6 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: version: ${{ matrix.node }} cache: ${{ steps.pkgman.outputs.cache }} diff --git a/.github/workflows/vue.yml b/.github/workflows/vue.yml index 5da53ea05b..7cd8d2f0e8 100644 --- a/.github/workflows/vue.yml +++ b/.github/workflows/vue.yml @@ -11,16 +11,16 @@ jobs: Examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' diff --git a/.github/workflows/webcomponents.yml b/.github/workflows/webcomponents.yml index 34a72a3a78..81164c941b 100644 --- a/.github/workflows/webcomponents.yml +++ b/.github/workflows/webcomponents.yml @@ -11,16 +11,16 @@ jobs: Examples: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2 + uses: pnpm/action-setup@v3 with: version: 9.0.6 run_install: false - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' diff --git a/examples/nuxt-app/cypress.config.mjs b/examples/nuxt-app/cypress.config.mjs index 27edbe8967..96355fdc5e 100644 --- a/examples/nuxt-app/cypress.config.mjs +++ b/examples/nuxt-app/cypress.config.mjs @@ -12,7 +12,6 @@ export default defineConfig({ baseUrl: 'http://localhost:3000', specPattern: '**/*.{feature,feature.ts}', supportFile: false, - supportFolder: './test', downloadsFolder: './test/downloads', fixturesFolder: './test/fixtures', videosFolder: './test/videos', diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/fixtures/webform.json b/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/fixtures/webform.json new file mode 100644 index 0000000000..8218186cf1 --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/fixtures/webform.json @@ -0,0 +1,155 @@ +{ + "title": "Webform", + "changed": "2024-06-07T17:15:09+10:00", + "created": "2024-05-02T14:42:13+10:00", + "type": "landing_page", + "nid": "45fa8751-74af-43ee-9cb9-8a8fdee7e593", + "_sectionId": "8888", + "sidebar": { + "contacts": [], + "relatedLinks": [], + "whatsNext": [], + "socialShareNetworks": ["Facebook", "X", "LinkedIn"], + "siteSectionNav": null + }, + "status": "published", + "topicTags": [ + { + "text": "Demo Topic", + "url": "/topic/demo-topic" + } + ], + "siteSection": { + "id": 8888, + "name": "Demo Site", + "siteOverrides": { + "showQuickExit": null, + "theme": {}, + "featureFlags": {} + } + }, + "meta": { + "url": "/webform", + "langcode": "en", + "description": "Testing the landing page webform mapping", + "additional": [ + { + "tag": "meta", + "attributes": { + "name": "title", + "content": "Webform | Single Digital Presence Content Management System" + } + }, + { + "tag": "link", + "attributes": { + "rel": "canonical", + "href": "http://content-sdp.docker.internal/webform" + } + }, + { + "tag": "meta", + "attributes": { + "property": "og:locale", + "content": "en-AU" + } + } + ], + "keywords": "", + "image": null + }, + "showContentRating": true, + "summary": "Testing the landing page webform mapping", + "showHeroAcknowledgement": false, + "showInPageNav": false, + "showHeroImageCaption": false, + "showTopicTags": true, + "inPageNavHeadingLevel": "h2", + "background": "default", + "header": { + "title": "Webform", + "summary": "", + "links": { + "title": "", + "items": [], + "more": null + }, + "backgroundImageCaption": "", + "theme": "default", + "logoImage": null, + "backgroundImage": null, + "cornerTop": null, + "cornerBottom": null, + "primaryAction": null, + "secondaryAction": null, + "secondaryActionLabel": "" + }, + "primaryCampaign": null, + "secondaryCampaign": null, + "headerComponents": [], + "bodyComponents": [ + { + "uuid": "986aca36-9a3a-408c-9455-c00396dcfb39", + "component": "TideLandingPageWebForm", + "id": 1795, + "title": "Input support", + "props": { + "title": "Input support", + "formId": "test_of_fields", + "hideFormOnSubmit": false, + "successMessageTitle": "Form submitted", + "successMessageHTML": "Thank you! Your response has been submitted.", + "errorMessageTitle": "Form not submitted", + "errorMessageHTML": "We are experiencing a server error. Please try again, otherwise contact us.", + "schema": [ + { + "$formkit": "RplFormText", + "key": "name", + "name": "name", + "label": "Supported", + "id": "test_of_fields_name", + "validation": [["length", 0, 255]], + "validationMessages": { + "required": "Name is required", + "accepted": "Name is required", + "length": "You can enter a maximum of 255 characters" + } + }, + { + "$formkit": "RplFormItem", + "key": "test", + "name": "test", + "label": "Extended", + "id": "test_of_fields_test", + "validation": [["length", 0, 255]], + "validationMessages": { + "required": "Item is required!", + "accepted": "Item is required", + "length": "You can enter a maximum of 255 characters" + } + }, + { + "$el": "div", + "attrs": { + "class": "rpl-form__outer rpl-form__input--unsupported" + }, + "children": ["\"signature\" is not yet supported"] + }, + { + "$formkit": "RplFormActions", + "key": "actions", + "name": "submit", + "variant": "filled", + "id": "test_of_fields_actions", + "displayResetButton": false, + "validation": [], + "validationMessages": { + "required": "Submit is required", + "accepted": "Submit is required" + } + } + ] + } + } + ] +} diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/forms-ext.feature b/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/forms-ext.feature new file mode 100644 index 0000000000..810148551e --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/__test__/forms-ext.feature @@ -0,0 +1,20 @@ +Feature: Forms, extended + + As a developer, I can add custom form inputs that are not provided in the core offering + + Background: + Given the mock server has started + And the page endpoint for path "/webform" returns fixture "../../layers/ripple-ui-forms-ext/__test__/fixtures/webform" with status 200 + And the site endpoint returns fixture "/site/reference" with status 200 + + @mockserver + Scenario: Custom input + Given I visit the page "/webform" + Then the landing page component "TideLandingPageWebForm" should exist + And a field labelled "Extended" should exist with the CSS class ".rpl-form__input--type-item" + + @mockserver + Scenario: Unsupported input + Given I visit the page "/webform" + Then the landing page component "TideLandingPageWebForm" should exist + And an input of type "signature" is not yet supported diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/app.config.ts b/examples/nuxt-app/layers/ripple-ui-forms-ext/app.config.ts new file mode 100644 index 0000000000..a596cbeb1f --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/app.config.ts @@ -0,0 +1,20 @@ +import { defineAppConfig } from '#imports' +import itemMapping from './mapping/item' + +export default defineAppConfig({ + ripple: { + customInputs: { + item: { + id: 'RplFormItem', + type: 'item', + formkitDefProps: { + type: 'input', + family: 'text', + props: ['placeholder', 'validationMeta', 'columnClasses', 'pii'], + forceTypeProp: 'text' + }, + mapping: itemMapping + } + } + } +}) diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/components/global/RplFormItem.vue b/examples/nuxt-app/layers/ripple-ui-forms-ext/components/global/RplFormItem.vue new file mode 100644 index 0000000000..3872e99a25 --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/components/global/RplFormItem.vue @@ -0,0 +1,165 @@ + + + + + + + + + + + + + custom input + + + + + diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/mapping/item.ts b/examples/nuxt-app/layers/ripple-ui-forms-ext/mapping/item.ts new file mode 100644 index 0000000000..9ac2320fb4 --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/mapping/item.ts @@ -0,0 +1,30 @@ +import type { TideWebformElement } from '@dpc-sdp/ripple-tide-webform/types' +import { + getValidationAndConditionals, + getInputIcons +} from '@dpc-sdp/ripple-tide-webform/mapping/utils' + +const logger = { + warn: (message: string, props: { label: string }) => { + console.warn(props.label, message) + } +} + +// Tide API mapping function +export default ( + fieldID: string, + field: TideWebformElement, + fieldKey: string +) => ({ + $formkit: 'RplFormItem', + key: fieldKey, + name: fieldKey, + label: field['#title'], + disabled: field['#disabled'], + placeholder: field['#placeholder'], + id: fieldID, + help: field['#description'] || field['#help_title'], + value: field['#default_value'], + ...getValidationAndConditionals(field, logger), + ...getInputIcons(field) +}) diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/nuxt.config.ts b/examples/nuxt-app/layers/ripple-ui-forms-ext/nuxt.config.ts new file mode 100644 index 0000000000..3a774af39d --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/nuxt.config.ts @@ -0,0 +1,9 @@ +import { defineNuxtConfig } from 'nuxt/config' + +export default defineNuxtConfig({ + hooks: { + 'build:done': async () => { + console.info('Added ripple-ui-forms-ext components') + } + } +}) diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/package.json b/examples/nuxt-app/layers/ripple-ui-forms-ext/package.json new file mode 100644 index 0000000000..66243bea10 --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/package.json @@ -0,0 +1,16 @@ +{ + "name": "@dpc-sdp/ripple-ui-forms-ext", + "description": "Custom form inputs", + "version": "2.10.1", + "license": "Apache-2.0", + "repository": "https://github.com/dpc-sdp/ripple-framework", + "main": "./nuxt.config.ts", + "type": "module", + "exports": { + ".": "./nuxt.config.ts" + }, + "dependencies": { + "@dpc-sdp/ripple-tide-webform": "workspace:*", + "@dpc-sdp/ripple-ui-forms": "workspace:*" + } +} diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/pages/_test/webform.vue b/examples/nuxt-app/layers/ripple-ui-forms-ext/pages/_test/webform.vue new file mode 100644 index 0000000000..f50c50471d --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/pages/_test/webform.vue @@ -0,0 +1,12 @@ + + + + + + + diff --git a/examples/nuxt-app/layers/ripple-ui-forms-ext/tsconfig.json b/examples/nuxt-app/layers/ripple-ui-forms-ext/tsconfig.json new file mode 100644 index 0000000000..99fbedd0b0 --- /dev/null +++ b/examples/nuxt-app/layers/ripple-ui-forms-ext/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./../../.nuxt/tsconfig.json" +} diff --git a/examples/nuxt-app/nuxt.config.ts b/examples/nuxt-app/nuxt.config.ts index 16c703c7e2..38c6b7625d 100644 --- a/examples/nuxt-app/nuxt.config.ts +++ b/examples/nuxt-app/nuxt.config.ts @@ -27,7 +27,8 @@ export default defineNuxtConfig({ '@dpc-sdp/ripple-tide-media', '@dpc-sdp/ripple-tide-news', '@dpc-sdp/ripple-tide-search', - '@dpc-sdp/ripple-tide-webform' + '@dpc-sdp/ripple-tide-webform', + './layers/ripple-ui-forms-ext' ], // Nuxt devtools sourcemap: true, diff --git a/packages/nuxt-ripple/app.config.ts b/packages/nuxt-ripple/app.config.ts index 83f9106604..c8d1f8c447 100644 --- a/packages/nuxt-ripple/app.config.ts +++ b/packages/nuxt-ripple/app.config.ts @@ -49,6 +49,20 @@ declare module '@nuxt/schema' { (map: any, results: any, location: any) => void > } + customInputs?: { + [key: string]: { + id: string + type: string + formkitDefProps: { + [key: string]: any + } + mapping: ( + fieldID: string, + field: any, + fieldKey: string + ) => Record + } + } } } } diff --git a/packages/ripple-test-utils/step_definitions/components/forms.ts b/packages/ripple-test-utils/step_definitions/components/forms.ts index 1155541e2b..a11c1b40ef 100644 --- a/packages/ripple-test-utils/step_definitions/components/forms.ts +++ b/packages/ripple-test-utils/step_definitions/components/forms.ts @@ -349,8 +349,25 @@ Then( } ) -// Open forms +// Extended +Then( + 'a field labelled {string} should exist with the CSS class {string}', + (label: string, css: string) => { + cy.get(css) + .closest('.rpl-form__outer') + .find('label.rpl-form-label') + .should('contain', label) + } +) + +// Unsupported +Then('an input of type {string} is not yet supported', (inputType: string) => { + cy.get('.rpl-form__outer.rpl-form__input--unsupported') + .contains(inputType) + .should('exist') +}) +// Open forms Then('there is an openforms embed with the url {string}', (url: string) => { cy.get(`iframe[src^="${url}"]`).should('exist') }) diff --git a/packages/ripple-tide-landing-page/components/global/TideLandingPage/WebForm.vue b/packages/ripple-tide-landing-page/components/global/TideLandingPage/WebForm.vue index cf27d87cdb..3b3f5a37da 100644 --- a/packages/ripple-tide-landing-page/components/global/TideLandingPage/WebForm.vue +++ b/packages/ripple-tide-landing-page/components/global/TideLandingPage/WebForm.vue @@ -41,6 +41,41 @@ watch( ) const submitted = computed(() => submissionState.value.status === 'success') + +import { FormKitPlugin, FormKitTypeDefinition } from '@formkit/core' +import { + createRplFormInput, + defaultRplFormInputProps, + inputLibrary, + rplFeatures +} from '@dpc-sdp/ripple-ui-forms' + +const appConfig = useAppConfig()?.ripple as { customInputs: any } +const customInputDefs = appConfig.customInputs || {} + +const customInputs: FormKitPlugin = () => {} +customInputs.library = (node: any) => { + Object.values(customInputDefs).forEach((item: any) => { + if (node.props.type === item.id) { + const def: FormKitTypeDefinition = { + schema: createRplFormInput({ + $cmp: item.id, + props: { + ...defaultRplFormInputProps, + type: item.type + } + }), + library: { + [item.id]: resolveComponent(item.id), + ...inputLibrary + }, + ...item.formkitDefProps, + features: rplFeatures + } + return node.define(def) + } + }) +} @@ -65,6 +100,7 @@ const submitted = computed(() => submissionState.value.status === 'success') { + console.warn(props.label, message) + } +} describe('getConditionals', () => { describe('states', () => { @@ -18,7 +24,7 @@ describe('getConditionals', () => { required: '$isChecked($get(input_a).value, "true")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('disabled', () => { @@ -36,7 +42,7 @@ describe('getConditionals', () => { disabled: '$isChecked($get(input_a).value, "true")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('enabled', () => { @@ -54,7 +60,7 @@ describe('getConditionals', () => { disabled: '$negate($isChecked($get(input_a).value, "true"))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('visible', () => { @@ -72,7 +78,7 @@ describe('getConditionals', () => { if: '$isChecked($get(input_a).value, "true")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('invisible', () => { @@ -90,7 +96,7 @@ describe('getConditionals', () => { if: '$negate($isChecked($get(input_a).value, "true"))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) }) @@ -110,7 +116,7 @@ describe('getConditionals', () => { required: '$negate($isFilled($get(input_a).value))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('filled', () => { @@ -128,7 +134,7 @@ describe('getConditionals', () => { required: '$isFilled($get(input_a).value)' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('checked', () => { @@ -146,7 +152,7 @@ describe('getConditionals', () => { required: '$isChecked($get(input_a).value, "true")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('unchecked', () => { @@ -164,7 +170,7 @@ describe('getConditionals', () => { required: '$negate($isChecked($get(input_a).value, "true"))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('value', () => { @@ -182,7 +188,7 @@ describe('getConditionals', () => { required: '$isEqual($get(input_a).value, "abc")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('!value', () => { @@ -200,7 +206,7 @@ describe('getConditionals', () => { required: '$negate($isEqual($get(input_a).value, abc))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('pattern', () => { @@ -218,7 +224,7 @@ describe('getConditionals', () => { required: '$isPatternMatch($get(input_a).value, "abc")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('!pattern', () => { @@ -236,7 +242,7 @@ describe('getConditionals', () => { required: '$negate($isPatternMatch($get(input_a).value, "abc"))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('less', () => { @@ -254,7 +260,7 @@ describe('getConditionals', () => { required: '$difference($get(input_a).value, 10) < 0' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('greater', () => { @@ -272,7 +278,7 @@ describe('getConditionals', () => { required: '$difference($get(input_a).value, 10) > 0' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) }) @@ -296,7 +302,7 @@ describe('getConditionals', () => { '$isChecked($get(input_a).value, "true") && $isEqual($get(input_b).value, "abc")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('OR', () => { @@ -323,7 +329,7 @@ describe('getConditionals', () => { '$isChecked($get(input_a).value, "true") || $isEqual($get(input_b).value, "abc")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('XOR', () => { @@ -350,7 +356,7 @@ describe('getConditionals', () => { '$xor($isChecked($get(input_a).value, "true"), $isEqual($get(input_b).value, "abc"))' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) }) @@ -370,7 +376,7 @@ describe('getConditionals', () => { required: '$isChecked($get(input_a).value, "option_one")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) it('value', () => { @@ -388,7 +394,7 @@ describe('getConditionals', () => { required: '$isEqual($get(input_a).value, "option_one")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) }) @@ -408,6 +414,6 @@ describe('getConditionals', () => { required: '$isChecked($get(test_id_input_a).value, "true")' } - expect(getConditionals(input)).toEqual(expected) + expect(getConditionals(input, logger)).toEqual(expected) }) }) diff --git a/packages/ripple-tide-webform/mapping/webform-conditional-logic.ts b/packages/ripple-tide-webform/mapping/webform-conditional-logic.ts index bcf979c0ab..027e5b7a42 100644 --- a/packages/ripple-tide-webform/mapping/webform-conditional-logic.ts +++ b/packages/ripple-tide-webform/mapping/webform-conditional-logic.ts @@ -1,5 +1,3 @@ -import { logger } from '@dpc-sdp/ripple-tide-api' - type SupportedStates = | 'required' | 'disabled' @@ -23,7 +21,7 @@ interface NormalisedRule { * @param {String} rule :input[name=\"check_a\"] * @param {String} prefix string to prepend to the name */ -const getNameFromSelector = (rule: string, prefix: string): string => { +const getNameFromSelector = (rule: string, prefix: string | null): string => { const start = rule.indexOf('"') + 1 const end = rule.indexOf('"', start + 1) const name = rule.substr(start, end - start) @@ -35,7 +33,7 @@ const getNameFromSelector = (rule: string, prefix: string): string => { * Return the first key of an object * @param {Object} obj Object with keys */ -const getFirstObjectKey = (obj): string => { +const getFirstObjectKey = (obj: {}): string => { if (!obj) { return '' } @@ -50,10 +48,16 @@ const getFirstObjectKey = (obj): string => { * @param {String} selector a field selector e.g. ':input[name=\"check_a\"]' or ':input[name=\"check_a[option]\"]' * @param {String} prefix used to prepend the fieldName */ -function convertSelectorToOperand(ruleObject, selector, prefix): Operand { +function convertSelectorToOperand( + ruleObject: [], + selector: any, + prefix: string | null +): Operand { let fieldName = getNameFromSelector(selector, prefix) const triggerType = getFirstObjectKey(ruleObject[selector]) - let triggerValue = triggerType ? ruleObject[selector][triggerType] : null + let triggerValue: string | null = triggerType + ? ruleObject[selector][triggerType] + : null // Check for nested selectors, i.e. checkbox lists and multi selects const arrayRegex = /\[(.*?)]/ @@ -73,7 +77,11 @@ function convertSelectorToOperand(ruleObject, selector, prefix): Operand { * @param {Object} rulesObject webform rules object * @param {String} prefix optional prefix to scope rules to a form */ -const normaliseRule = (rulesObject, prefix = null): NormalisedRule => { +const normaliseRule = ( + rulesObject: any, + prefix: string | null = null, + logger: { warn: Function } +): NormalisedRule => { const rulesType = Array.isArray(rulesObject) ? 'array' : typeof rulesObject let operator: LogicOperator = 'and' const operands: Operand[] = [] @@ -81,7 +89,7 @@ const normaliseRule = (rulesObject, prefix = null): NormalisedRule => { switch (rulesType) { case 'array': // Used for 'or' / 'xor' operators. - rulesObject.forEach((item) => { + rulesObject.forEach((item: any) => { if (typeof item === 'object') { const selector = getFirstObjectKey(item) operands.push(convertSelectorToOperand(item, selector, prefix)) @@ -162,7 +170,10 @@ const toFormkitExpression = (rule: NormalisedRule): string => { * @param {Object} field */ export const getConditionals = ( - field + field: { + [key: string]: any + }, + logger: { warn: Function } ): { [key: string]: string } => { @@ -170,7 +181,7 @@ export const getConditionals = ( return (Object.keys(states || {}) as SupportedStates[]).reduce( (result, state: SupportedStates) => { - const rule = normaliseRule(states[state], field?.formId) + const rule = normaliseRule(states[state], field?.formId, logger) const expression = toFormkitExpression(rule) switch (state) { diff --git a/packages/ripple-tide-webform/mapping/webform-utils.ts b/packages/ripple-tide-webform/mapping/webform-utils.ts index 9ed334dcfe..4647233cfe 100644 --- a/packages/ripple-tide-webform/mapping/webform-utils.ts +++ b/packages/ripple-tide-webform/mapping/webform-utils.ts @@ -1,8 +1,14 @@ -import { getConditionals } from './webform-conditional-logic.js' -import { getValidation } from './webform-validation.js' +import { getConditionals } from './webform-conditional-logic' +import { getValidation } from './webform-validation' -export const getValidationAndConditionals = (field) => { - const conditionals = getConditionals(field) +const logger = { + warn: (message: string, props: { label: string }) => { + console.warn(props.label, message) + } +} + +export const getValidationAndConditionals = (field: {}) => { + const conditionals = getConditionals(field, logger) const requiredCondition = conditionals.required const validation = getValidation(field, requiredCondition) @@ -13,9 +19,9 @@ export const getValidationAndConditionals = (field) => { } } -export const getInputIcons = ( - field -): { prefixIcon?: string; suffixIcon?: string } => { +export const getInputIcons = (field: { + [key: string]: string | undefined +}): { prefixIcon?: string; suffixIcon?: string } => { if (field['#field_prefix']) { return { prefixIcon: `icon-${field['#field_prefix']}` @@ -24,9 +30,9 @@ export const getInputIcons = ( return {} } -export const getMinMaxFields = ( - field -): { minlength?: string; maxlength?: string } => { +export const getMinMaxFields = (field: { + [key: string]: string | undefined +}): { minlength?: string; maxlength?: string } => { let minlength = field['#minlength'] let maxlength = field['#maxlength'] @@ -39,9 +45,9 @@ export const getMinMaxFields = ( return { minlength, maxlength } } -export const getCounterFields = ( - field -): { counter?: string; counterMin?: string; counterMax?: string } => { +export const getCounterFields = (field: { + [key: string]: string | undefined +}): { counter?: string; counterMin?: string; counterMax?: string } => { return { counter: field['#counter_type'], counterMin: field['#counter_minimum'], diff --git a/packages/ripple-tide-webform/mapping/webforms-mapping.ts b/packages/ripple-tide-webform/mapping/webforms-mapping.ts index 3a3740d6f1..3ffaec95eb 100644 --- a/packages/ripple-tide-webform/mapping/webforms-mapping.ts +++ b/packages/ripple-tide-webform/mapping/webforms-mapping.ts @@ -1,9 +1,22 @@ import { getBody, TidePageApi } from '@dpc-sdp/ripple-tide-api' import { FormKitSchemaNode } from '@formkit/core' -import { getInputIcons, getValidationAndConditionals } from './webform-utils' +import { + getInputIcons, + getValidationAndConditionals +} from './../server/webform-utils' import { getAdvancedAddressMapping } from './webforms-address' import type { TideWebformElement, ApiWebForm } from './../types' +interface CustomInputsConfig { + [key: string]: { + [key: string]: any + mapping: Function + } +} + +const appConfig = useAppConfig().ripple as CustomInputsConfig +const customInputs: CustomInputsConfig = appConfig.customInputs || {} + export const getFormSchemaFromMapping = async ( webform: ApiWebForm, tidePageApi: TidePageApi @@ -319,12 +332,20 @@ export const getFormSchemaFromMapping = async ( } break default: - mappedField = { - $el: 'div', - attrs: { - class: 'rpl-form__outer rpl-form__input--unsupported' - }, - children: [`"${field['#type']}" is not yet supported`] + if (Object.keys(customInputs).includes(field['#type'])) { + mappedField = customInputs[field['#type']].mapping( + fieldID, + field, + fieldKey + ) + } else { + mappedField = { + $el: 'div', + attrs: { + class: 'rpl-form__outer rpl-form__input--unsupported' + }, + children: [`"${field['#type']}" is not yet supported`] + } } } diff --git a/packages/ripple-tide-webform/package.json b/packages/ripple-tide-webform/package.json index 8bb8e87e81..fb15bcdaf0 100644 --- a/packages/ripple-tide-webform/package.json +++ b/packages/ripple-tide-webform/package.json @@ -8,6 +8,8 @@ "exports": { ".": "./nuxt.config.ts", "./mapping": "./mapping/index.ts", + "./mapping/utils": "./mapping/webform-utils.ts", + "./server/utils": "./server/webform-utils.ts", "./types": "./types.ts" }, "dependencies": { diff --git a/packages/ripple-tide-webform/server/webform-utils.ts b/packages/ripple-tide-webform/server/webform-utils.ts new file mode 100644 index 0000000000..f2d5ea3ff3 --- /dev/null +++ b/packages/ripple-tide-webform/server/webform-utils.ts @@ -0,0 +1,22 @@ +// @ts-expect-error ts7016 monorepo ref +import { logger } from '@dpc-sdp/ripple-tide-api' +import { getConditionals } from './../mapping/webform-conditional-logic' +import { getValidation } from './../mapping/webform-validation' + +export const getValidationAndConditionals = (field: {}) => { + const conditionals = getConditionals(field, logger) + + const requiredCondition = conditionals.required + const validation = getValidation(field, requiredCondition) + + return { + ...conditionals, + ...validation + } +} + +export { + getInputIcons, + getMinMaxFields, + getCounterFields +} from './../mapping/webform-utils' diff --git a/packages/ripple-ui-forms/src/components/RplForm/RplForm.vue b/packages/ripple-ui-forms/src/components/RplForm/RplForm.vue index 9f60da7603..9b9a176579 100644 --- a/packages/ripple-ui-forms/src/components/RplForm/RplForm.vue +++ b/packages/ripple-ui-forms/src/components/RplForm/RplForm.vue @@ -5,7 +5,8 @@ import { FormKitSchemaCondition, FormKitSchemaNode, FormKitConfig, - FormKitNode + FormKitNode, + FormKitPlugin } from '@formkit/core' import { getValidationMessages } from '@formkit/validation' import rplFormInputs from '../../plugin' @@ -26,6 +27,7 @@ interface Props { title: string message: string } + customInputs?: FormKitPlugin } interface CachedError { @@ -53,7 +55,8 @@ const props = withDefaults(defineProps(), { status: 'idle', title: '', message: '' - }) + }), + customInputs: () => {} }) const emit = defineEmits<{ @@ -230,6 +233,13 @@ const data = reactive({ return matches && matches.length > 0 } }) + +const plugins = computed( + () => + [rplFormInputs, props.customInputs ? props.customInputs : false].filter( + Boolean + ) as FormKitPlugin[] +) @@ -237,7 +247,7 @@ const data = reactive({ :id="id" v-slot="{ value }" type="form" - :plugins="[rplFormInputs]" + :plugins="plugins" form-class="rpl-form" :config="rplFormConfig" :actions="false" diff --git a/packages/ripple-ui-forms/src/index.ts b/packages/ripple-ui-forms/src/index.ts index 5cea67eb66..aca39f7c56 100644 --- a/packages/ripple-ui-forms/src/index.ts +++ b/packages/ripple-ui-forms/src/index.ts @@ -1,8 +1,13 @@ -// @ts-expect-error vue SFC export { default as RplForm } from './components/RplForm/RplForm.vue' -// @ts-expect-error vue SFC export { default as RplFormElement } from './components/RplFormElement/RplFormElement.vue' -// @ts-expect-error vue SFC export { default as RplFormAlert } from './components/RplFormAlert/RplFormAlert.vue' - export { default as registerRplFormPlugin } from './register.js' + +export { default as useFormkitFriendlyEventEmitter } from './composables/useFormkitFriendlyEventEmitter' +export { sanitisePIIField, sanitisePIIFields } from './lib/sanitisePII' +export { + createRplFormInput, + defaultRplFormInputProps, + inputLibrary, + rplFeatures +} from './inputs/input-utils' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b480db49a..103e31b3c4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -177,7 +177,7 @@ importers: version: 1.0.4(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@nuxt/content': specifier: ^2.12.0 - version: 2.12.0(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3)) + version: 2.12.0(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3)) highlight.js: specifier: ^11.7.0 version: 11.7.0 @@ -186,7 +186,7 @@ importers: version: 4.3.6 nuxt: specifier: ^3.10.0 - version: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) devDependencies: '@iconify/vue': specifier: ^4.1.0 @@ -251,7 +251,7 @@ importers: version: link:../../packages/ripple-tide-api '@nuxt/devtools': specifier: ^0.6.7 - version: 0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) cypress: specifier: 13.6.6 version: 13.6.6 @@ -260,7 +260,16 @@ importers: version: 1.4.1 nuxt: specifier: 3.11.2 - version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + + examples/nuxt-app/layers/ripple-ui-forms-ext: + dependencies: + '@dpc-sdp/ripple-tide-webform': + specifier: workspace:* + version: link:../../../../packages/ripple-tide-webform + '@dpc-sdp/ripple-ui-forms': + specifier: workspace:* + version: link:../../../../packages/ripple-ui-forms examples/vue-app: dependencies: @@ -492,10 +501,10 @@ importers: devDependencies: '@modyfi/vite-plugin-yaml': specifier: ^1.0.4 - version: 1.0.4(rollup@4.14.3) + version: 1.0.4(rollup@3.28.0) '@rollup/plugin-node-resolve': specifier: ^15.2.1 - version: 15.2.1(rollup@4.14.3) + version: 15.2.1(rollup@3.28.0) '@storybook/addon-a11y': specifier: ^7.6.10 version: 7.6.10 @@ -775,7 +784,7 @@ importers: dependencies: '@nuxt/kit': specifier: ^3.11.2 - version: 3.11.2(rollup@4.14.3) + version: 3.11.2(rollup@3.28.0) '@vueuse/core': specifier: ^10.9.0 version: 10.9.0(vue@3.4.23(typescript@5.1.3)) @@ -854,7 +863,7 @@ importers: version: 0.1.6 vite-plugin-dts: specifier: ^2.1.0 - version: 2.1.0(@types/node@18.15.10)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 2.1.0(@types/node@18.15.10)(rollup@3.28.0)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) @@ -875,13 +884,13 @@ importers: version: 1.6.0 '@formkit/nuxt': specifier: ^1.6.0 - version: 1.6.0(esbuild@0.20.2)(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)) + version: 1.6.0(esbuild@0.20.2)(rollup@4.14.3)(vue@3.4.23(typescript@5.1.3))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)) '@formkit/validation': specifier: ^1.6.0 version: 1.6.0 '@formkit/vue': specifier: ^1.6.0 - version: 1.6.0(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vue@3.4.23(typescript@5.1.3)) + version: 1.6.0(vue@3.4.23(typescript@5.1.3)) '@nuxt/kit': specifier: ^3.11.2 version: 3.11.2(rollup@4.14.3) @@ -924,7 +933,7 @@ importers: version: 10.9.1(@swc/core@1.3.70)(@types/node@18.15.10)(typescript@5.1.3) vite-plugin-static-copy: specifier: ^0.13.1 - version: 0.13.1(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 0.13.1 vite-svg-loader: specifier: ^4.0.0 version: 4.0.0(patch_hash=b7iv6uosp7uohhdjf52hsfxagy) @@ -936,7 +945,7 @@ importers: dependencies: '@nuxt/kit': specifier: 3.11.2 - version: 3.11.2(rollup@4.14.3) + version: 3.11.2(rollup@3.28.0) '@vueuse/core': specifier: ^10.9.0 version: 10.9.0(vue@3.4.23(typescript@5.1.3)) @@ -1000,7 +1009,7 @@ importers: version: 0.1.6 vite-plugin-dts: specifier: ^2.1.0 - version: 2.1.0(@types/node@18.15.10)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + version: 2.1.0(@types/node@18.15.10)(rollup@3.28.0)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) @@ -1296,6 +1305,7 @@ packages: '@babel/parser@7.21.3': resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} engines: {node: '>=6.0.0'} + hasBin: true '@babel/parser@7.23.0': resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} @@ -1937,6 +1947,7 @@ packages: '@commitlint/cli@17.5.0': resolution: {integrity: sha512-yNW3+M7UM1ioK28LKTrryIVB5qGpXlEv8+rJQiWPMZNayy9/1XR5+lL8qBTNlgopYtZWWnIm5RETcAN29ZTL/A==} engines: {node: '>=v14'} + hasBin: true '@commitlint/config-conventional@17.4.4': resolution: {integrity: sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==} @@ -3526,6 +3537,7 @@ packages: '@lerna-lite/cli@1.17.0': resolution: {integrity: sha512-kNqrEtUs1oIDHgOBGwHkRZGl/E7VTW+2wX89akQtpmfW7oV6qPdpjBirN9Hv9cVYW7UJzE2Hrk273WVZGoK7Jw==} engines: {node: '>=14.17.0', npm: '>=8.0.0'} + hasBin: true '@lerna-lite/core@1.17.0': resolution: {integrity: sha512-lxiEHXOzDF8RYFWjc8IqIr6G4w0JUB174SJD/h2DI/eXN9wjv8tEZjzhOkTTSs45Aoe1qY7BbaeApEulpoYmcA==} @@ -3561,6 +3573,7 @@ packages: '@microsoft/api-extractor@7.34.3': resolution: {integrity: sha512-vXpU+i/MMinVzDxbLo3of1Sx/IS5bwOZl4XrX8YyqNBXFvovEer5ex0wckWumkBErDZtLOMp3zhZfYL3W7h3cg==} + hasBin: true '@microsoft/tsdoc-config@0.16.2': resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} @@ -3615,6 +3628,7 @@ packages: '@npmcli/arborist@6.2.5': resolution: {integrity: sha512-+GPm+9WrDnl9q+LvuMB2W+roVinHTGDdYWOtYzRfpAnuiqaATFbH14skpXjlJ7LvyUcyd1oJhuGq6XXJLGFNng==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true '@npmcli/fs@2.1.2': resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} @@ -3635,6 +3649,7 @@ packages: '@npmcli/installed-package-contents@2.0.1': resolution: {integrity: sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true '@npmcli/installed-package-contents@2.0.2': resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} @@ -5683,6 +5698,13 @@ packages: vite: '>=5.1.7' vue: ^3.2.25 + '@vitejs/plugin-vue@5.0.5': + resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: '>=5.1.7' + vue: ^3.2.25 + '@volar/language-core@1.3.0-alpha.0': resolution: {integrity: sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==} @@ -5998,9 +6020,11 @@ packages: '@yarnpkg/shell@2.4.1': resolution: {integrity: sha512-oNNJkH8ZI5uwu0dMkJf737yMSY1WXn9gp55DqSA5wAOhKvV5DJTXFETxkVgBQhO6Bow9tMGSpvowTMD/oAW/9g==} engines: {node: '>=10.19.0'} + hasBin: true JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} @@ -6060,6 +6084,7 @@ packages: acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} + hasBin: true add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -6623,6 +6648,7 @@ packages: browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} @@ -6907,6 +6933,7 @@ packages: chromatic@6.17.2: resolution: {integrity: sha512-rtrkywh1CuDDuuiRWXpdiX38aEGN3sGCATsgdh3X/EUBjQjgQtEbSzcMusC3cqz3K9dFKcWwKpFm3jaw9gNymA==} + hasBin: true chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} @@ -7256,6 +7283,7 @@ packages: conventional-changelog-writer@5.0.1: resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} engines: {node: '>=10'} + hasBin: true conventional-commits-filter@2.0.7: resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} @@ -7264,10 +7292,12 @@ packages: conventional-commits-parser@3.2.4: resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} + hasBin: true conventional-recommended-bump@6.1.0: resolution: {integrity: sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==} engines: {node: '>=10'} + hasBin: true convert-gitmoji@0.1.3: resolution: {integrity: sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==} @@ -7304,6 +7334,7 @@ packages: copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} + hasBin: true core-js-compat@3.31.0: resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} @@ -7776,6 +7807,7 @@ packages: degit@2.8.4: resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==} engines: {node: '>=8.0.0'} + hasBin: true del@6.1.1: resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} @@ -8010,6 +8042,7 @@ packages: ejs@3.1.8: resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} engines: {node: '>=0.10.0'} + hasBin: true electron-to-chromium@1.4.288: resolution: {integrity: sha512-8s9aJf3YiokIrR+HOQzNOGmEHFXVUQzXM/JaViVvKdCkNUjS+lEa/uT7xw3nDVG/IgfxiIwUGkwJ6AR1pTpYsQ==} @@ -8099,6 +8132,7 @@ packages: errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -8324,6 +8358,7 @@ packages: escodegen@2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} + hasBin: true escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} @@ -8943,6 +8978,7 @@ packages: get-pkg-repo@4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} engines: {node: '>=6.9.0'} + hasBin: true get-port-please@3.0.1: resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} @@ -9006,6 +9042,7 @@ packages: git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} + hasBin: true git-remote-origin-url@2.0.0: resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} @@ -9014,6 +9051,7 @@ packages: git-semver-tags@4.1.1: resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} engines: {node: '>=10'} + hasBin: true git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} @@ -9282,6 +9320,7 @@ packages: he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true header-case@1.0.1: resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} @@ -9447,9 +9486,11 @@ packages: husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} + hasBin: true hygen@6.2.11: resolution: {integrity: sha512-t6/zLI2XozP5gvV74nnl8LZSbwpVNFUkUs/O9DwuOdiiBbws5k4AQNVwKZ9FGzcKjdJ5EBBYkVzlcUHkLyY0FQ==} + hasBin: true iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -9496,6 +9537,7 @@ packages: image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} + hasBin: true import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -9999,6 +10041,7 @@ packages: jake@10.8.5: resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} engines: {node: '>=10'} + hasBin: true jest-axe@7.0.1: resolution: {integrity: sha512-1JoEla6gL4rcsTxEWm+VBcWMwOhP3f9w4dH7/YW3H41nU08Dds3gUFqxgdAq/pzBNPpauC3QPr/BuO+0W8eamg==} @@ -10333,6 +10376,7 @@ packages: js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} @@ -11264,6 +11308,7 @@ packages: mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} + hasBin: true mkdirp@2.1.6: resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} @@ -11340,6 +11385,7 @@ packages: nanoid@4.0.2: resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} engines: {node: ^14 || ^16 || >=18} + hasBin: true nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} @@ -11493,6 +11539,7 @@ packages: nopt@7.0.0: resolution: {integrity: sha512-e6Qw1rcrGoSxEH0hQ4GBSdUjkMOtXGhGFXdNT/3ZR0S37eR9DMj5za3dEDWE6o1T3/DP8ZOsPP4MIiky0c3QeA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -11927,6 +11974,7 @@ packages: pacote@15.1.1: resolution: {integrity: sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true pacote@15.2.0: resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} @@ -13702,6 +13750,7 @@ packages: sigstore@1.1.1: resolution: {integrity: sha512-4hR3tPP1y59YWlaoAgAWFVZ7srTjNWOrrpkQXWu05qP0BvwFYyt3K3l848+IHo+mKhkOzGcNDf7ktASXLEPC+A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true sigstore@1.7.0: resolution: {integrity: sha512-KP7QULhWdlu3hlp+jw2EvgWKlOGOY9McLj/jrchLjHNlNPK0KWIwF919cbmOp6QiKXLmPijR2qH/5KYWlbtG9Q==} @@ -13798,6 +13847,7 @@ packages: snyk-nodejs-lockfile-parser@1.48.0: resolution: {integrity: sha512-kq4gVwL5V0SUatDxyyzbptKkaX4Ew9N3ZDNR5r7sqBRparY+U+xGuYBhTaJdweBUD+jkvs7rKO1JV1h0Z8c2ew==} engines: {node: '>=10'} + hasBin: true socket.io-client@4.7.2: resolution: {integrity: sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==} @@ -14109,10 +14159,12 @@ packages: strong-log-transformer@2.1.0: resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} engines: {node: '>=4'} + hasBin: true style-dictionary@3.7.2: resolution: {integrity: sha512-Nd/qrPj1ikYX+sL/8PofMgfaJLRvGgT96Ty3dJLGNqtZmecVr3Xs+OZivMQEYmSCTiap/UyeV5SqwmAgn3/KKA==} engines: {node: '>=12.0.0'} + hasBin: true style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} @@ -14523,6 +14575,7 @@ packages: ts-json-schema-generator@1.2.0: resolution: {integrity: sha512-tUMeO3ZvA12d3HHh7T/AK8W5hmUhDRNtqWRHSMN3ZRbUFt+UmV0oX8k1RK4SA+a+BKNHpmW2v06MS49e8Fi3Yg==} engines: {node: '>=10.0.0'} + hasBin: true ts-map@1.0.3: resolution: {integrity: sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==} @@ -14669,18 +14722,22 @@ packages: typescript-json-schema@0.55.0: resolution: {integrity: sha512-BXaivYecUdiXWWNiUqXgY6A9cMWerwmhtO+lQE7tDZGs7Mf38sORDeQZugfYOZOHPZ9ulsD+w0LWjFDOQoXcwg==} + hasBin: true typescript@4.8.4: resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} engines: {node: '>=4.2.0'} + hasBin: true typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} + hasBin: true typescript@5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} + hasBin: true typescript@5.1.3: resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} @@ -15332,8 +15389,8 @@ packages: peerDependencies: typescript: '*' - vue-component-type-helpers@2.0.21: - resolution: {integrity: sha512-3NaicyZ7N4B6cft4bfb7dOnPbE9CjLcx+6wZWAg5zwszfO4qXRh+U52dN5r5ZZfc6iMaxKCEcoH9CmxxoFZHLg==} + vue-component-type-helpers@2.0.22: + resolution: {integrity: sha512-gPr2Ba7efUwy/Vfbuf735bHSVdN4ycoZUCHfypkI33M9DUH+ieRblLLVM2eImccFYaWNWwEzURx02EgoXDBmaQ==} vue-demi@0.14.6: resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} @@ -15781,6 +15838,7 @@ packages: z-schema@5.0.5: resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} + hasBin: true zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} @@ -18530,17 +18588,17 @@ snapshots: '@formkit/core': 1.6.0 '@formkit/utils': 1.6.0 - '@formkit/nuxt@1.6.0(esbuild@0.20.2)(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2))': + '@formkit/nuxt@1.6.0(esbuild@0.20.2)(rollup@4.14.3)(vue@3.4.23(typescript@5.1.3))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2))': dependencies: '@formkit/core': 1.6.0 '@formkit/i18n': 1.6.0 - '@formkit/vue': 1.6.0(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vue@3.4.23(typescript@5.1.3)) + '@formkit/vue': 1.6.0(vue@3.4.23(typescript@5.1.3)) '@nuxt/kit': 3.11.2(rollup@4.14.3) chokidar: 3.6.0 nuxi: 3.10.0 pathe: 1.1.2 unplugin: 1.10.1 - unplugin-formkit: 0.2.13(esbuild@0.20.2)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)) + unplugin-formkit: 0.2.13(esbuild@0.20.2)(rollup@4.14.3)(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)) transitivePeerDependencies: - esbuild - rollup @@ -18563,11 +18621,9 @@ snapshots: '@formkit/utils': 1.6.0 '@formkit/validation': 1.6.0 - '@formkit/themes@1.6.0(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))': + '@formkit/themes@1.6.0': dependencies: '@formkit/core': 1.6.0 - optionalDependencies: - unocss: 0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@formkit/utils@1.6.0': {} @@ -18577,7 +18633,7 @@ snapshots: '@formkit/observer': 1.6.0 '@formkit/utils': 1.6.0 - '@formkit/vue@1.6.0(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vue@3.4.23(typescript@5.1.3))': + '@formkit/vue@1.6.0(vue@3.4.23(typescript@5.1.3))': dependencies: '@formkit/core': 1.6.0 '@formkit/dev': 1.6.0 @@ -18585,7 +18641,7 @@ snapshots: '@formkit/inputs': 1.6.0 '@formkit/observer': 1.6.0 '@formkit/rules': 1.6.0 - '@formkit/themes': 1.6.0(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))) + '@formkit/themes': 1.6.0 '@formkit/utils': 1.6.0 '@formkit/validation': 1.6.0 vue: 3.4.23(typescript@5.1.3) @@ -19400,9 +19456,9 @@ snapshots: '@microsoft/tsdoc@0.14.2': {} - '@modyfi/vite-plugin-yaml@1.0.4(rollup@4.14.3)': + '@modyfi/vite-plugin-yaml@1.0.4(rollup@3.28.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@4.14.3) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) js-yaml: 4.1.0 tosource: 2.0.0-alpha.3 transitivePeerDependencies: @@ -19614,13 +19670,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@nuxt/content@2.12.0(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3))': + '@nuxt/content@2.12.0(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3))': dependencies: '@nuxt/kit': 3.10.2(rollup@4.9.1) '@nuxtjs/mdc': 0.5.0(rollup@4.9.1) '@vueuse/core': 10.7.2(vue@3.4.23(typescript@5.1.3)) '@vueuse/head': 2.0.0(vue@3.4.23(typescript@5.1.3)) - '@vueuse/nuxt': 10.7.2(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3)) + '@vueuse/nuxt': 10.7.2(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3)) consola: 3.2.3 defu: 6.1.4 destr: 2.0.2 @@ -19667,34 +19723,34 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': + '@nuxt/devtools-kit@0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.14.3) '@nuxt/schema': 3.11.2(rollup@4.14.3) execa: 7.2.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) transitivePeerDependencies: - rollup - supports-color - '@nuxt/devtools-kit@1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': + '@nuxt/devtools-kit@1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.9.1) '@nuxt/schema': 3.11.2(rollup@4.9.1) execa: 7.2.0 - nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) transitivePeerDependencies: - rollup - supports-color - '@nuxt/devtools-kit@1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': + '@nuxt/devtools-kit@1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.14.3) '@nuxt/schema': 3.11.2(rollup@4.14.3) execa: 7.2.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) transitivePeerDependencies: - rollup @@ -19740,9 +19796,9 @@ snapshots: rc9: 2.1.1 semver: 7.6.0 - '@nuxt/devtools@0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': + '@nuxt/devtools@0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': dependencies: - '@nuxt/devtools-kit': 0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + '@nuxt/devtools-kit': 0.6.7(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@nuxt/devtools-wizard': 0.6.7 '@nuxt/kit': 3.8.2(rollup@4.14.3) birpc: 0.2.12 @@ -19760,7 +19816,7 @@ snapshots: launch-editor: 2.6.0 local-pkg: 0.4.3 magicast: 0.2.9 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) nypm: 0.2.2 pacote: 15.2.0 pathe: 1.1.1 @@ -19785,10 +19841,10 @@ snapshots: - supports-color - utf-8-validate - '@nuxt/devtools@1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': + '@nuxt/devtools@1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))': dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@nuxt/devtools-wizard': 1.0.8 '@nuxt/kit': 3.11.2(rollup@4.9.1) birpc: 0.2.14 @@ -19805,7 +19861,7 @@ snapshots: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.2 - nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) nypm: 0.3.6 ohash: 1.1.3 pacote: 17.0.5 @@ -19830,10 +19886,10 @@ snapshots: - supports-color - utf-8-validate - '@nuxt/devtools@1.1.5(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3))': + '@nuxt/devtools@1.1.5(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3))': dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@nuxt/devtools-wizard': 1.1.5 '@nuxt/kit': 3.11.2(rollup@4.14.3) '@vue/devtools-applet': 7.0.27(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) @@ -19854,7 +19910,7 @@ snapshots: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.4 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) nypm: 0.3.8 ohash: 1.1.3 pacote: 17.0.7 @@ -19954,6 +20010,30 @@ snapshots: - rollup - supports-color + '@nuxt/kit@3.11.2(rollup@3.28.0)': + dependencies: + '@nuxt/schema': 3.11.2(rollup@3.28.0) + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + globby: 14.0.1 + hash-sum: 2.0.0 + ignore: 5.3.1 + jiti: 1.21.0 + knitwork: 1.1.0 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.5.3 + unctx: 2.3.1 + unimport: 3.7.1(rollup@3.28.0) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + '@nuxt/kit@3.11.2(rollup@4.14.3)': dependencies: '@nuxt/schema': 3.11.2(rollup@4.14.3) @@ -20086,6 +20166,23 @@ snapshots: - rollup - supports-color + '@nuxt/schema@3.11.2(rollup@3.28.0)': + dependencies: + '@nuxt/ui-templates': 1.3.3 + consola: 3.2.3 + defu: 6.1.4 + hookable: 5.5.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.5.3 + unimport: 3.7.1(rollup@3.28.0) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + '@nuxt/schema@3.11.2(rollup@4.14.3)': dependencies: '@nuxt/ui-templates': 1.3.3 @@ -20204,11 +20301,11 @@ snapshots: '@nuxt/ui-templates@1.3.3': {} - '@nuxt/vite-builder@3.10.2(@types/node@18.15.10)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3))': + '@nuxt/vite-builder@3.10.2(@types/node@18.15.10)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3))': dependencies: '@nuxt/kit': 3.10.2(rollup@4.9.1) '@rollup/plugin-replace': 5.0.5(rollup@4.9.1) - '@vitejs/plugin-vue': 5.0.4(patch_hash=isqbuc2kkxkzmwgmxoscqh5w4q)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) + '@vitejs/plugin-vue': 5.0.5(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) autoprefixer: 10.4.17(postcss@8.4.38) clear: 0.1.0 @@ -20238,7 +20335,7 @@ snapshots: unplugin: 1.10.1 vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) vite-node: 1.5.0(@types/node@18.15.10)(terser@5.18.0) - vite-plugin-checker: 0.6.4(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + vite-plugin-checker: 0.6.4(eslint@8.45.0)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vue: 3.4.23(typescript@5.1.3) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -20261,11 +20358,11 @@ snapshots: - vti - vue-tsc - '@nuxt/vite-builder@3.11.2(@types/node@18.15.10)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3))': + '@nuxt/vite-builder@3.11.2(@types/node@18.15.10)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.14.3) '@rollup/plugin-replace': 5.0.5(rollup@4.14.3) - '@vitejs/plugin-vue': 5.0.4(patch_hash=isqbuc2kkxkzmwgmxoscqh5w4q)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) + '@vitejs/plugin-vue': 5.0.5(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) autoprefixer: 10.4.19(postcss@8.4.38) clear: 0.1.0 @@ -20295,7 +20392,7 @@ snapshots: unplugin: 1.10.1 vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) vite-node: 1.5.0(@types/node@18.15.10)(terser@5.18.0) - vite-plugin-checker: 0.6.4(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + vite-plugin-checker: 0.6.4(eslint@8.45.0)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vue: 3.4.23(typescript@5.1.3) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -20962,16 +21059,16 @@ snapshots: optionalDependencies: rollup: 4.9.1 - '@rollup/plugin-node-resolve@15.2.1(rollup@4.14.3)': + '@rollup/plugin-node-resolve@15.2.1(rollup@3.28.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@4.14.3) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.2 optionalDependencies: - rollup: 4.14.3 + rollup: 3.28.0 '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.3)': dependencies: @@ -21036,13 +21133,13 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.0.2(rollup@4.14.3)': + '@rollup/pluginutils@5.0.2(rollup@3.28.0)': dependencies: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.14.3 + rollup: 3.28.0 '@rollup/pluginutils@5.0.2(rollup@4.9.1)': dependencies: @@ -21052,6 +21149,14 @@ snapshots: optionalDependencies: rollup: 4.9.1 + '@rollup/pluginutils@5.1.0(rollup@3.28.0)': + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 3.28.0 + '@rollup/pluginutils@5.1.0(rollup@4.14.3)': dependencies: '@types/estree': 1.0.1 @@ -22027,7 +22132,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.21 + vue-component-type-helpers: 2.0.22 transitivePeerDependencies: - encoding - supports-color @@ -23021,6 +23126,11 @@ snapshots: vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) vue: 3.4.23(typescript@5.1.3) + '@vitejs/plugin-vue@5.0.5(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3))': + dependencies: + vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) + vue: 3.4.23(typescript@5.1.3) + '@volar/language-core@1.3.0-alpha.0': dependencies: '@volar/source-map': 1.3.0-alpha.0 @@ -23401,13 +23511,13 @@ snapshots: '@vueuse/metadata@9.13.0': {} - '@vueuse/nuxt@10.7.2(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3))': + '@vueuse/nuxt@10.7.2(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vue@3.4.23(typescript@5.1.3))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.9.1) '@vueuse/core': 10.7.2(vue@3.4.23(typescript@5.1.3)) '@vueuse/metadata': 10.7.2 local-pkg: 0.5.0 - nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + nuxt: 3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) vue-demi: 0.14.6(vue@3.4.23(typescript@5.1.3)) transitivePeerDependencies: - '@vue/composition-api' @@ -31166,15 +31276,15 @@ snapshots: - rollup - supports-color - nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): + nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) + '@nuxt/devtools': 1.0.8(nuxt@3.10.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(encoding@0.1.13)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.9.1)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)) '@nuxt/kit': 3.10.2(rollup@4.9.1) '@nuxt/schema': 3.10.2(rollup@4.9.1) '@nuxt/telemetry': 2.5.3(rollup@4.9.1) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.10.2(@types/node@18.15.10)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3)) + '@nuxt/vite-builder': 3.10.2(@types/node@18.15.10)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.9.1)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3)) '@unhead/dom': 1.8.10 '@unhead/ssr': 1.8.10 '@unhead/vue': 1.8.10(vue@3.4.23(typescript@5.1.3)) @@ -31263,15 +31373,15 @@ snapshots: - vue-tsc - xml2js - nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): + nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.1.5(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) + '@nuxt/devtools': 1.1.5(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@18.15.10)(@unocss/reset@0.59.3)(axios@1.6.8)(change-case@4.1.2)(encoding@0.1.13)(eslint@8.45.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.3))(vue@3.4.23(typescript@5.1.3)))(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(rollup@4.14.3)(unocss@0.59.3(postcss@8.4.38)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)))(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(vue@3.4.23(typescript@5.1.3)) '@nuxt/kit': 3.11.2(rollup@4.14.3) '@nuxt/schema': 3.11.2(rollup@4.14.3) '@nuxt/telemetry': 2.5.3(rollup@4.14.3) '@nuxt/ui-templates': 1.3.3 - '@nuxt/vite-builder': 3.11.2(@types/node@18.15.10)(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3)) + '@nuxt/vite-builder': 3.11.2(@types/node@18.15.10)(eslint@8.45.0)(optionator@0.9.3)(rollup@4.14.3)(stylelint@15.10.2)(terser@5.18.0)(typescript@5.1.3)(vue@3.4.23(typescript@5.1.3)) '@unhead/dom': 1.9.5 '@unhead/ssr': 1.9.5 '@unhead/vue': 1.9.5(vue@3.4.23(typescript@5.1.3)) @@ -35154,6 +35264,24 @@ snapshots: transitivePeerDependencies: - rollup + unimport@3.7.1(rollup@3.28.0): + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.28.0) + acorn: 8.11.3 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.10 + mlly: 1.5.0 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + strip-literal: 1.3.0 + unplugin: 1.10.1 + transitivePeerDependencies: + - rollup + unimport@3.7.1(rollup@4.14.3): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) @@ -35304,14 +35432,13 @@ snapshots: unpipe@1.0.0: {} - unplugin-formkit@0.2.13(esbuild@0.20.2)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0))(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)): + unplugin-formkit@0.2.13(esbuild@0.20.2)(rollup@4.14.3)(webpack@5.86.0(@swc/core@1.3.70)(esbuild@0.20.2)): dependencies: pathe: 1.1.2 unplugin: 1.10.1 optionalDependencies: esbuild: 0.20.2 rollup: 4.14.3 - vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) webpack: 5.86.0(@swc/core@1.3.70)(esbuild@0.20.2) unplugin-vue-router@0.7.0(rollup@4.14.3)(vue-router@4.3.1(vue@3.4.23(typescript@5.1.3)))(vue@3.4.23(typescript@5.1.3)): @@ -35641,7 +35768,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@8.45.0)(meow@10.1.5)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): + vite-plugin-checker@0.6.4(eslint@8.45.0)(optionator@0.9.3)(stylelint@15.10.2)(typescript@5.1.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): dependencies: '@babel/code-frame': 7.23.5 ansi-escapes: 4.3.2 @@ -35661,7 +35788,6 @@ snapshots: vscode-uri: 3.0.7 optionalDependencies: eslint: 8.45.0 - meow: 10.1.5 optionator: 0.9.3 stylelint: 15.10.2 typescript: 5.1.3 @@ -35670,11 +35796,11 @@ snapshots: dependencies: fast-glob: 3.2.12 - vite-plugin-dts@2.1.0(@types/node@18.15.10)(rollup@4.14.3)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): + vite-plugin-dts@2.1.0(@types/node@18.15.10)(rollup@3.28.0)(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): dependencies: '@babel/parser': 7.21.3 '@microsoft/api-extractor': 7.34.3(@types/node@18.15.10) - '@rollup/pluginutils': 5.0.2(rollup@4.14.3) + '@rollup/pluginutils': 5.0.2(rollup@3.28.0) '@rushstack/node-core-library': 3.55.1(@types/node@18.15.10) debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.2.12 @@ -35737,13 +35863,12 @@ snapshots: - rollup - supports-color - vite-plugin-static-copy@0.13.1(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): + vite-plugin-static-copy@0.13.1: dependencies: chokidar: 3.5.3 fast-glob: 3.2.12 fs-extra: 11.1.1 picocolors: 1.0.0 - vite: 5.2.11(@types/node@18.15.10)(terser@5.18.0) vite-plugin-svg-icons@2.0.1(vite@5.2.11(@types/node@18.15.10)(terser@5.18.0)): dependencies: @@ -35846,7 +35971,7 @@ snapshots: typesafe-path: 0.2.2 typescript: 5.1.3 - vue-component-type-helpers@2.0.21: {} + vue-component-type-helpers@2.0.22: {} vue-demi@0.14.6(vue@3.4.23(typescript@5.1.3)): dependencies: