From abf203b722b6f2f892e416bf7adbbfac3247d759 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:44:00 +0100 Subject: [PATCH 01/36] feat(styles): Add success state to text input --- .changeset/eleven-ghosts-arrive.md | 5 +++ .../components/forms/input/input.docs.mdx | 2 +- .../components/forms/input/input.stories.ts | 40 ++++++++++++------- .../styles/src/components/form-select.scss | 1 - .../src/components/form-validation.scss | 30 +++++++++----- .../components/_form-validation.scss | 1 + 6 files changed, 52 insertions(+), 27 deletions(-) create mode 100644 .changeset/eleven-ghosts-arrive.md diff --git a/.changeset/eleven-ghosts-arrive.md b/.changeset/eleven-ghosts-arrive.md new file mode 100644 index 0000000000..2b01f4d922 --- /dev/null +++ b/.changeset/eleven-ghosts-arrive.md @@ -0,0 +1,5 @@ +--- +'@swisspost/design-system-styles': patch +--- + +Added new success state to text input. diff --git a/packages/documentation/src/stories/components/forms/input/input.docs.mdx b/packages/documentation/src/stories/components/forms/input/input.docs.mdx index 3e9667cc5f..0d312be40f 100644 --- a/packages/documentation/src/stories/components/forms/input/input.docs.mdx +++ b/packages/documentation/src/stories/components/forms/input/input.docs.mdx @@ -59,7 +59,7 @@ The size can be changed by simply adding one of four classes: ### Validation -Simply add the classes `.is-valid` or `.is-invalid` to the `` element to show it in the expected state.
+Simply add the classes `.is-valid` (with or without `success` class) or `.is-invalid` to the `` element to show it in the expected state.
When the component has been validated, don't forget to add a `

...

` or `

...

` element after the `input` element to explain what went wrong. This enables the user to correct the mistake. diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 242ebafb4a..0fe48ec586 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -24,6 +24,7 @@ const meta: Meta = { hint: 'Hintus textus elare volare cantare hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.', disabled: false, validation: 'null', + success: false, }, argTypes: { label: { @@ -98,11 +99,7 @@ const meta: Meta = { }, size: { name: 'Size', - description: "Sets the size of the component's appearance.", - if: { - arg: 'floatingLabel', - truthy: false, - }, + description: 'Sets the size of the component\'s appearance.', control: { type: 'select', labels: { @@ -154,6 +151,20 @@ const meta: Meta = { category: 'States', }, }, + success: { + name: 'Success', + description: 'Controls the success state appearance of the component.', + control: { + type: 'boolean', + }, + if: { + arg: 'validation', + neq: 'is-invalid', + }, + table: { + category: 'States', + }, + }, }, }; @@ -168,6 +179,7 @@ function render(args: Args, context: StoryContext) { args.type === 'color' && 'form-control-color', args.size, args.validation, + args.success && 'success', ] .filter(c => c && c !== 'null') .join(' '); @@ -175,8 +187,8 @@ function render(args: Args, context: StoryContext) { const useAriaLabel = !args.floatingLabel && args.hiddenLabel; const label: TemplateResult | null = !useAriaLabel ? html` - - ` + + ` : null; if (args.floatingLabel && !args.placeholder) { @@ -186,18 +198,18 @@ function render(args: Args, context: StoryContext) { const contextual: (TemplateResult | null)[] = [ args.validation === 'is-valid' ? html` -

Ggranda sukceso!

- ` +

Ggranda sukceso!

+ ` : null, args.validation === 'is-invalid' ? html` -

Eraro okazis!

- ` +

Eraro okazis!

+ ` : null, args.hint !== '' ? html` -
${args.hint}
- ` +
${args.hint}
+ ` : null, ]; @@ -210,7 +222,7 @@ function render(args: Args, context: StoryContext) { ?disabled="${args.disabled}" aria-label="${useAriaLabel ? args.label : nothing}" ?aria-invalid="${VALIDATION_STATE_MAP[args.validation]}" - value=${args.value ? args.value : nothing} + value="${args.value ? args.value : nothing}" /> `; if (args.floatingLabel) { diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 551f74845e..09b1b8e5e9 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -47,7 +47,6 @@ } &.success { - border-color: var(--post-success-green); background-image: b.escape-svg(form-select.$form-select-indicator-success), var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index ab980a1ab8..f86e9220f0 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -3,7 +3,7 @@ @use 'sass:map'; @use './../lic/bootstrap-license'; -@use './../themes/bootstrap/core' as *; +@use './../themes/bootstrap/core' as b; @use './../themes/bootstrap/forms/validation' as bfv; @use './../mixins/color' as color-mx; @@ -43,10 +43,10 @@ color: form-validation.$form-feedback-custom-text; } -@each $state, $data in $form-validation-states { +@each $state, $data in b.$form-validation-states { $icon: map.get($data, 'icon'); - @include form-validation-state-selector($state) { + @include b.form-validation-state-selector($state) { ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; @@ -54,19 +54,19 @@ } .form-control { - @include form-validation-state-selector($state) { - padding-right: $input-height-inner; - background-image: escape-svg($icon); + @include b.form-validation-state-selector($state) { + padding-right: b.$input-height-inner; + background-image: b.escape-svg($icon); background-repeat: no-repeat; - background-position: right $input-height-inner-quarter center; + background-position: right b.$input-height-inner-quarter center; background-size: form-validation.$form-feedback-icon-size; } } textarea.form-control { - @include form-validation-state-selector($state) { - padding-right: $input-height-inner; - background-position: top $input-height-inner-quarter right $input-height-inner-quarter; + @include b.form-validation-state-selector($state) { + padding-right: b.$input-height-inner; + background-position: top b.$input-height-inner-quarter right b.$input-height-inner-quarter; } } @@ -74,7 +74,7 @@ > .form-control:not(:focus), > .form-select:not(:focus), > .form-floating:not(:focus-within) { - @include form-validation-state-selector($state) { + @include b.form-validation-state-selector($state) { @if $state == 'valid' { z-index: 3; } @else if $state == 'invalid' { @@ -90,6 +90,14 @@ display: block; } +.success { + border-color: var(--post-success-green); + background-image: b.escape-svg(form-validation.$form-feedback-icon-success); + background-repeat: no-repeat; + background-position: right b.$input-height-inner-quarter center; + background-size: form-validation.$form-feedback-icon-size; +} + .form-control, .form-select { @include form-validation-mx.form-validation-state-selector(invalid) { diff --git a/packages/styles/src/variables/components/_form-validation.scss b/packages/styles/src/variables/components/_form-validation.scss index 33084fb24a..65da69f60c 100644 --- a/packages/styles/src/variables/components/_form-validation.scss +++ b/packages/styles/src/variables/components/_form-validation.scss @@ -10,6 +10,7 @@ $form-feedback-font-size: type.$font-size-12 !default; $form-feedback-valid-color: color.$gray-60 !default; $form-feedback-invalid-color: color.$error !default; $form-feedback-icon-valid: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(0%25,50.588235%25,22.745098%25);fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; +$form-feedback-icon-success: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(0%25,50.588235%25,22.745098%25);fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; $form-feedback-icon-invalid: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(64.705882%25,9.019608%25,15.686275%25);fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(64.705882%25,9.019608%25,15.686275%25);fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; // Design System custom variables From 17f937f28e6d5f9fbdfef67085d9ec857f180a42 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 07:07:20 +0100 Subject: [PATCH 02/36] Test update to stencil/core4.8.2 to fix unit --- packages/components/package.json | 2 +- packages/internet-header/package.json | 2 +- pnpm-lock.yaml | 324 ++------------------------ 3 files changed, 24 insertions(+), 304 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index ff76fbb8ad..1a243c1fa5 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -47,7 +47,7 @@ "@percy/cli": "1.27.4", "@percy/cypress": "3.1.2", "@stencil-community/eslint-plugin": "0.7.1", - "@stencil/core": "4.8.1", + "@stencil/core": "4.8.2", "@stencil/react-output-target": "0.5.3", "@stencil/sass": "3.0.7", "@types/jest": "27.5.2", diff --git a/packages/internet-header/package.json b/packages/internet-header/package.json index 752786bfdb..0928f664b0 100644 --- a/packages/internet-header/package.json +++ b/packages/internet-header/package.json @@ -54,7 +54,7 @@ "@percy/cli": "1.27.4", "@percy/cypress": "3.1.2", "@stencil-community/eslint-plugin": "0.7.1", - "@stencil/core": "4.8.1", + "@stencil/core": "4.8.2", "@stencil/sass": "3.0.7", "@stencil/store": "2.0.11", "@types/body-scroll-lock": "3.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4ff75f9df..6099092472 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,14 +83,14 @@ importers: specifier: 0.7.1 version: 0.7.1(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-react@7.33.2)(eslint@8.55.0)(typescript@4.9.5) '@stencil/core': - specifier: 4.8.1 - version: 4.8.1 + specifier: 4.8.2 + version: 4.8.2 '@stencil/react-output-target': specifier: 0.5.3 - version: 0.5.3(@stencil/core@4.8.1) + version: 0.5.3(@stencil/core@4.8.2) '@stencil/sass': specifier: 3.0.7 - version: 3.0.7(@stencil/core@4.8.1) + version: 3.0.7(@stencil/core@4.8.2) '@types/jest': specifier: 27.5.2 version: 27.5.2 @@ -381,7 +381,7 @@ importers: devDependencies: '@geometricpanda/storybook-addon-badges': specifier: 2.0.0 - version: 2.0.0(@storybook/blocks@7.6.4)(@storybook/components@7.6.4)(@storybook/core-events@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(@storybook/types@7.6.3)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.0(@storybook/blocks@7.6.4)(@storybook/components@7.6.4)(@storybook/core-events@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(@storybook/types@7.6.4)(react-dom@18.2.0)(react@18.2.0) '@open-wc/lit-helpers': specifier: 0.6.0 version: 0.6.0(lit@3.1.0) @@ -396,7 +396,7 @@ importers: version: 6.4.1(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-designs': specifier: 7.0.7 - version: 7.0.7(@storybook/addon-docs@7.6.3)(@storybook/addons@7.6.4)(@storybook/components@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(react-dom@18.2.0)(react@18.2.0) + version: 7.0.7(@storybook/addon-docs@7.6.4)(@storybook/addons@7.6.4)(@storybook/components@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-essentials': specifier: 7.6.4 version: 7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) @@ -564,14 +564,14 @@ importers: specifier: 0.7.1 version: 0.7.1(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-react@7.33.2)(eslint@8.55.0)(typescript@4.9.5) '@stencil/core': - specifier: 4.8.1 - version: 4.8.1 + specifier: 4.8.2 + version: 4.8.2 '@stencil/sass': specifier: 3.0.7 - version: 3.0.7(@stencil/core@4.8.1) + version: 3.0.7(@stencil/core@4.8.2) '@stencil/store': specifier: 2.0.11 - version: 2.0.11(@stencil/core@4.8.1) + version: 2.0.11(@stencil/core@4.8.2) '@types/body-scroll-lock': specifier: 3.1.2 version: 3.1.2 @@ -4874,7 +4874,7 @@ packages: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@geometricpanda/storybook-addon-badges@2.0.0(@storybook/blocks@7.6.4)(@storybook/components@7.6.4)(@storybook/core-events@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(@storybook/types@7.6.3)(react-dom@18.2.0)(react@18.2.0): + /@geometricpanda/storybook-addon-badges@2.0.0(@storybook/blocks@7.6.4)(@storybook/components@7.6.4)(@storybook/core-events@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(@storybook/types@7.6.4)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-M1CQabr1/IDG6ku0/+n6kZBvWTCSun7LndkGsaB89nTNaCcflWxflgY2HdcbjblLL8W0iT7QiW9TgWP4kcpn5Q==} peerDependencies: '@storybook/blocks': ^7.0.0 @@ -4898,7 +4898,7 @@ packages: '@storybook/manager-api': 7.6.4(react-dom@18.2.0)(react@18.2.0) '@storybook/preview-api': 7.6.4 '@storybook/theming': 7.6.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.3 + '@storybook/types': 7.6.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -6658,36 +6658,36 @@ packages: typescript: 4.9.5 dev: true - /@stencil/core@4.8.1: - resolution: {integrity: sha512-KG1H10j24rlyxIqOI4CG8/h9T7ObTv7giW2H3u1qXV4KKrLykDOpMcLzpqNXqL2Fki3s1QvHyl/oaRvi5waWVw==} + /@stencil/core@4.8.2: + resolution: {integrity: sha512-KdZEAtz9VnqMtXOkf51+8mphyRt0fN/LYgtj5M8gnveGspG8KzoyTDzlWt0wsstWIsJJ21RA1yd3AgMMZiu3MA==} engines: {node: '>=16.0.0', npm: '>=7.10.0'} hasBin: true dev: true - /@stencil/react-output-target@0.5.3(@stencil/core@4.8.1): + /@stencil/react-output-target@0.5.3(@stencil/core@4.8.2): resolution: {integrity: sha512-68jwRp35CjAcwhTJ9yFD/3n+jrHOqvEH2jreVuPVvZK+4tkhPlYlwz0d1E1RlF3jyifUSfdkWUGgXIEy8Fo3yw==} peerDependencies: '@stencil/core': '>=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0' dependencies: - '@stencil/core': 4.8.1 + '@stencil/core': 4.8.2 dev: true - /@stencil/sass@3.0.7(@stencil/core@4.8.1): + /@stencil/sass@3.0.7(@stencil/core@4.8.2): resolution: {integrity: sha512-HcBjrh2CJ6aJnkOrBNSVyf1+x3FnUneYFk44rcx/jDK6Lx7R4w0dXMEsIR5MXqtROYWonZt7WtR8wsM1vcD+6w==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} peerDependencies: '@stencil/core': '>=2.0.0 || >=3.0.0-beta.0 || >= 4.0.0-beta.0 || >= 4.0.0' dependencies: - '@stencil/core': 4.8.1 + '@stencil/core': 4.8.2 dev: true - /@stencil/store@2.0.11(@stencil/core@4.8.1): + /@stencil/store@2.0.11(@stencil/core@4.8.2): resolution: {integrity: sha512-iU803qQl8DXR1S6X4xJz6VVNgPnbhktbfLxAGe+Kx0PLJ92lBuiLKpYtPkrZNWwPOOJd3z3uSDz9UGajU4krHg==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} peerDependencies: '@stencil/core': '>=2.0.0 || >=3.0.0 || >= 4.0.0-beta.0 || >= 4.0.0' dependencies: - '@stencil/core': 4.8.1 + '@stencil/core': 4.8.2 dev: true /@storybook/addon-actions@7.6.4: @@ -6724,7 +6724,7 @@ packages: - supports-color dev: true - /@storybook/addon-designs@7.0.7(@storybook/addon-docs@7.6.3)(@storybook/addons@7.6.4)(@storybook/components@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-designs@7.0.7(@storybook/addon-docs@7.6.4)(@storybook/addons@7.6.4)(@storybook/components@7.6.4)(@storybook/manager-api@7.6.4)(@storybook/preview-api@7.6.4)(@storybook/theming@7.6.4)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-4Ec85kgv/r55Zh5xOHSIq7b9h7PyYhavMpwLmjpzeOkEdFwiNM9KCTK8SE58yCXzbkrw1JIGb3+FAWfR5JfK5g==} peerDependencies: '@storybook/addon-docs': ^7.0.0 @@ -6742,7 +6742,7 @@ packages: optional: true dependencies: '@figspec/react': 1.0.3(react@18.2.0) - '@storybook/addon-docs': 7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) '@storybook/addons': 7.6.4(react-dom@18.2.0)(react@18.2.0) '@storybook/components': 7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) '@storybook/manager-api': 7.6.4(react-dom@18.2.0)(react@18.2.0) @@ -6752,40 +6752,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/addon-docs@7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2Ts+3EFg9ehkQdbjBWnCH1SE0BdyCLN6hO2N030tGxi0Vko9t9O7NLj5qdBwxLcEzb/XzL4zWukzfU17pktQwA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - dependencies: - '@jest/transform': 29.7.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.3 - '@storybook/components': 7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.6.3 - '@storybook/csf-tools': 7.6.3 - '@storybook/global': 5.0.0 - '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.6.3 - '@storybook/postinstall': 7.6.3 - '@storybook/preview-api': 7.6.3 - '@storybook/react-dom-shim': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.3 - fs-extra: 11.1.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - remark-external-links: 8.0.0 - remark-slug: 6.1.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - - supports-color - dev: true - /@storybook/addon-docs@7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-PbFMbvC9sK3sGdMhwmagXs9TqopTp9FySji+L8O7W9SHRC6wSmdwoWWPWybkOYxr/z/wXi7EM0azSAX7yQxLbw==} peerDependencies: @@ -6931,44 +6897,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/blocks@7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EyjyNNCZMcV9UnBSujwduiq+F1VLVX/f16fTTPqqZOHigyfrG5LoEYC6dwOC4yO/xfWY+h3qJ51yiugMxVl0Vg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - dependencies: - '@storybook/channels': 7.6.3 - '@storybook/client-logger': 7.6.3 - '@storybook/components': 7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.6.3 - '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 7.6.3 - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.6.3 - '@storybook/theming': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.3 - '@types/lodash': 4.14.194 - color-convert: 2.0.1 - dequal: 2.0.3 - lodash: 4.17.21 - markdown-to-jsx: 7.2.1(react@18.2.0) - memoizerific: 1.11.3 - polished: 4.2.2 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) - react-dom: 18.2.0(react@18.2.0) - telejson: 7.2.0 - tocbot: 4.21.0 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - - supports-color - dev: true - /@storybook/blocks@7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-iXinXXhTUBtReREP1Jifpu35DnGg7FidehjvCM8sM4E4aymfb8czdg9DdvG46T2UFUPUct36nnjIdMLWOya8Bw==} peerDependencies: @@ -7077,17 +7005,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/channels@7.6.3: - resolution: {integrity: sha512-o9J0TBbFon16tUlU5V6kJgzAlsloJcS1cTHWqh3VWczohbRm+X1PLNUihJ7Q8kBWXAuuJkgBu7RQH7Ib46WyYg==} - dependencies: - '@storybook/client-logger': 7.6.3 - '@storybook/core-events': 7.6.3 - '@storybook/global': 5.0.0 - qs: 6.11.2 - telejson: 7.2.0 - tiny-invariant: 1.3.1 - dev: true - /@storybook/channels@7.6.4: resolution: {integrity: sha512-Z4PY09/Czl70ap4ObmZ4bgin+EQhPaA3HdrEDNwpnH7A9ttfEO5u5KThytIjMq6kApCCihmEPDaYltoVrfYJJA==} dependencies: @@ -7158,12 +7075,6 @@ packages: global: 4.4.0 dev: true - /@storybook/client-logger@7.6.3: - resolution: {integrity: sha512-BpsCnefrBFdxD6ukMjAblm1D6zB4U5HR1I85VWw6LOqZrfzA6l/1uBxItz0XG96HTjngbvAabWf5k7ZFCx5UCg==} - dependencies: - '@storybook/global': 5.0.0 - dev: true - /@storybook/client-logger@7.6.4: resolution: {integrity: sha512-vJwMShC98tcoFruRVQ4FphmFqvAZX1FqZqjFyk6IxtFumPKTVSnXJjlU1SnUIkSK2x97rgdUMqkdI+wAv/tugQ==} dependencies: @@ -7191,29 +7102,6 @@ packages: - supports-color dev: true - /@storybook/components@7.6.3(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UNV0WoUo+W0huOLvoEMuqRN/VB4p0CNswrXN1mi/oGWvAFJ8idu63lSuV4uQ/LKxAZ6v3Kpdd+oK/o+OeOoL6w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - dependencies: - '@radix-ui/react-select': 1.2.2(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.6.3 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/theming': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.3 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - dev: true - /@storybook/components@7.6.4(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-K5RvEObJAnX+SbGJbkM1qrZEk+VR2cUhRCSrFnlfMwsn8/60T3qoH7U8bCXf8krDgbquhMwqev5WzDB+T1VV8g==} peerDependencies: @@ -7244,37 +7132,6 @@ packages: '@storybook/preview-api': 7.6.4 dev: true - /@storybook/core-common@7.6.3: - resolution: {integrity: sha512-/ZE4BEyGwBHCQCOo681GyBKF4IqCiwVV/ZJCHTMTHFCPLJT2r+Qwv4tnI7xt1kwflOlbBlG6B6CvAqTjjVw/Ew==} - dependencies: - '@storybook/core-events': 7.6.3 - '@storybook/node-logger': 7.6.3 - '@storybook/types': 7.6.3 - '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.3 - '@types/node-fetch': 2.6.9 - '@types/pretty-hrtime': 1.0.1 - chalk: 4.1.2 - esbuild: 0.18.17 - esbuild-register: 3.5.0(esbuild@0.18.17) - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.1.1 - glob: 10.3.10 - handlebars: 4.7.7 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@storybook/core-common@7.6.4: resolution: {integrity: sha512-qes4+mXqINu0kCgSMFjk++GZokmYjb71esId0zyJsk0pcIPkAiEjnhbSEQkMhbUfcvO1lztoaQTBW2P7Rd1tag==} dependencies: @@ -7312,12 +7169,6 @@ packages: core-js: 3.34.0 dev: true - /@storybook/core-events@7.6.3: - resolution: {integrity: sha512-Vu3JX1mjtR8AX84lyqWsi2s2lhD997jKRWVznI3wx+UpTk8t7TTMLFk2rGYJRjaornhrqwvLYpnmtxRSxW9BOQ==} - dependencies: - ts-dedent: 2.2.0 - dev: true - /@storybook/core-events@7.6.4: resolution: {integrity: sha512-i3xzcJ19ILSy4oJL5Dz9y0IlyApynn5RsGhAMIsW+mcfri+hGfeakq1stNCo0o7jW4Y3A7oluFTtIoK8DOxQdQ==} dependencies: @@ -7375,15 +7226,6 @@ packages: - utf-8-validate dev: true - /@storybook/csf-plugin@7.6.3: - resolution: {integrity: sha512-8bMYPsWw2tv+fqZ5H436l4x1KLSB6gIcm6snsjyF916yCHG6WcWm+EI6+wNUoySEtrQY2AiwFJqE37wI5OUJFg==} - dependencies: - '@storybook/csf-tools': 7.6.3 - unplugin: 1.4.0 - transitivePeerDependencies: - - supports-color - dev: true - /@storybook/csf-plugin@7.6.4: resolution: {integrity: sha512-7g9p8s2ITX+Z9iThK5CehPhJOcusVN7JcUEEW+gVF5PlYT+uk/x+66gmQno+scQuNkV9+8UJD6RLFjP+zg2uCA==} dependencies: @@ -7393,22 +7235,6 @@ packages: - supports-color dev: true - /@storybook/csf-tools@7.6.3: - resolution: {integrity: sha512-Zi3pg2pg88/mvBKewkfWhFUR1J4uYpHI5fSjOE+J/FeZObX/DIE7r+wJxZ0UBGyrk0Wy7Jajlb2uSP56Y0i19w==} - dependencies: - '@babel/generator': 7.23.5 - '@babel/parser': 7.23.5 - '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 - '@storybook/csf': 0.1.2 - '@storybook/types': 7.6.3 - fs-extra: 11.1.1 - recast: 0.23.4 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /@storybook/csf-tools@7.6.4: resolution: {integrity: sha512-6sLayuhgReIK3/QauNj5BW4o4ZfEMJmKf+EWANPEM/xEOXXqrog6Un8sjtBuJS9N1DwyhHY6xfkEiPAwdttwqw==} dependencies: @@ -7441,21 +7267,6 @@ packages: resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==} dev: true - /@storybook/docs-tools@7.6.3: - resolution: {integrity: sha512-6MtirRCQIkBeQ3bksPignZgUuFmjWqcFleTEN6vrNEfbCzMlMvuBGfm9tl4sS3n8ATWmKGj87DcJepPOT3FB4A==} - dependencies: - '@storybook/core-common': 7.6.3 - '@storybook/preview-api': 7.6.3 - '@storybook/types': 7.6.3 - '@types/doctrine': 0.0.3 - assert: 2.1.0 - doctrine: 3.0.0 - lodash: 4.17.21 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@storybook/docs-tools@7.6.4: resolution: {integrity: sha512-2eGam43aD7O3cocA72Z63kRi7t/ziMSpst0qB218QwBWAeZjT4EYDh8V6j/Xhv6zVQL3msW7AglrQP5kCKPvPA==} dependencies: @@ -7475,29 +7286,6 @@ packages: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: true - /@storybook/manager-api@7.6.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-soDH7GZuukkhYRGzlw4jhCm5EzjfkuIAtb37/DFplqxuVbvlyJEVzkMUM2KQO7kq0/8GlWPiZ5mn56wagYyhKQ==} - dependencies: - '@storybook/channels': 7.6.3 - '@storybook/client-logger': 7.6.3 - '@storybook/core-events': 7.6.3 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/router': 7.6.3 - '@storybook/theming': 7.6.3(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.6.3 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - semver: 7.5.4 - store2: 2.14.2 - telejson: 7.2.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - react - - react-dom - dev: true - /@storybook/manager-api@7.6.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RFb/iaBJfXygSgXkINPRq8dXu7AxBicTGX7MxqKXbz5FU7ANwV7abH6ONBYURkSDOH9//TQhRlVkF5u8zWg3bw==} dependencies: @@ -7529,41 +7317,14 @@ packages: resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} dev: true - /@storybook/node-logger@7.6.3: - resolution: {integrity: sha512-7yL0CMHuh1DhpUAoKCU0a53DvxBpkUom9SX5RaC1G2A9BK/B3XcHtDPAC0uyUwNCKLJMZo9QtmJspvxWjR0LtA==} - dev: true - /@storybook/node-logger@7.6.4: resolution: {integrity: sha512-GDkEnnDj4Op+PExs8ZY/P6ox3wg453CdEIaR8PR9TxF/H/T2fBL6puzma3hN2CMam6yzfAL8U+VeIIDLQ5BZdQ==} dev: true - /@storybook/postinstall@7.6.3: - resolution: {integrity: sha512-WpgdpJpY6rionluxjFZLbKiSDjvQJ5cPgufjvBRuXTsnVOsH3JNRWnPdkQkJLT9uTUMoNcyBMxbjYkK3vU6wSg==} - dev: true - /@storybook/postinstall@7.6.4: resolution: {integrity: sha512-7uoB82hSzlFSdDMS3hKQD+AaeSvPit/fAMvXCBxn0/D0UGJUZcq4M9JcKBwEHkZJcbuDROgOTJ6TUeXi/FWO0w==} dev: true - /@storybook/preview-api@7.6.3: - resolution: {integrity: sha512-uPaK7yLE1P++F+IOb/1j9pgdCwfMYZrUPHogF/Mf9r4cfEjDCcIeKgGMcsbU1KnkzNQQGPh8JRzRr/iYnLjswg==} - dependencies: - '@storybook/channels': 7.6.3 - '@storybook/client-logger': 7.6.3 - '@storybook/core-events': 7.6.3 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/types': 7.6.3 - '@types/qs': 6.9.7 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.11.2 - synchronous-promise: 2.0.17 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/preview-api@7.6.4: resolution: {integrity: sha512-KhisNdQX5NdfAln+spLU4B82d804GJQp/CnI5M1mm/taTnjvMgs/wTH9AmR89OPoq+tFZVW0vhy2zgPS3ar71A==} dependencies: @@ -7587,16 +7348,6 @@ packages: resolution: {integrity: sha512-p9xIvNkgXgTpSRphOMV9KpIiNdkymH61jBg3B0XyoF6IfM1S2/mQGvC89lCVz1dMGk2SrH4g87/WcOapkU5ArA==} dev: true - /@storybook/react-dom-shim@7.6.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UtaEaTQB27aBsAmn5IfAYkX2xl4wWWXkoAO/jUtx86FQ/r85FG0zxh/rac6IgzjYUqzjJtjIeLdeciG/48hMMA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@storybook/react-dom-shim@7.6.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wGJfomlDEBnowNmhmumWDu/AcUInxSoPqUUJPgk2f5oL0EW17fR9fDP/juG3XOEdieMDM0jDX48GML7lyvL2fg==} peerDependencies: @@ -7622,14 +7373,6 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/router@7.6.3: - resolution: {integrity: sha512-NZfhJqsXYca9mZCL/LGx6FmZDbrxX2S4ImW7Tqdtcc/sSlZ0BpCDkNUTesCA287cmoKMhXZRh/+bU+C2h2a+bw==} - dependencies: - '@storybook/client-logger': 7.6.3 - memoizerific: 1.11.3 - qs: 6.11.2 - dev: true - /@storybook/router@7.6.4: resolution: {integrity: sha512-5MQ7Z4D7XNPN2yhFgjey7hXOYd6s8CggUqeAwhzGTex90SMCkKHSz1hfkcXn1ZqBPaall2b53uK553OvPLp9KQ==} dependencies: @@ -7685,20 +7428,6 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/theming@7.6.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9ToNU2LM6a2kVBjOXitXEeEOuMurVLhn+uaZO1dJjv8NGnJVYiLwNPwrLsImiUD8/XXNuil972aanBR6+Aj9jw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=18 - dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@storybook/client-logger': 7.6.3 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@storybook/theming@7.6.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Z/dcC5EpkIXelYCkt9ojnX6D7qGOng8YHxV/OWlVE9TrEGYVGPOEfwQryR0RhmGpDha1TYESLYrsDb4A8nJ1EA==} peerDependencies: @@ -7713,15 +7442,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/types@7.6.3: - resolution: {integrity: sha512-vj9Jzg5eR52l8O9512QywbQpNdo67Z6BQWR8QoZRcG+/Bhzt08YI8IZMPQLFMKzcmWDPK0blQ4GfyKDYplMjPA==} - dependencies: - '@storybook/channels': 7.6.3 - '@types/babel__core': 7.20.0 - '@types/express': 4.17.17 - file-system-cache: 2.3.0 - dev: true - /@storybook/types@7.6.4: resolution: {integrity: sha512-qyiiXPCvol5uVgfubcIMzJBA0awAyFPU+TyUP1mkPYyiTHnsHYel/mKlSdPjc8a97N3SlJXHOCx41Hde4IyJgg==} dependencies: From 73866ecf78f02355167e78f24f93de0fd2c16795 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 07:52:30 +0100 Subject: [PATCH 03/36] fix(unit): Upgrade to Jest 29 --- packages/components/package.json | 6 +- packages/internet-header/package.json | 4 +- pnpm-lock.yaml | 827 +------------------------- 3 files changed, 38 insertions(+), 799 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 1a243c1fa5..00f01ff866 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -50,7 +50,7 @@ "@stencil/core": "4.8.2", "@stencil/react-output-target": "0.5.3", "@stencil/sass": "3.0.7", - "@types/jest": "27.5.2", + "@types/jest": "29.5.11", "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", "bootstrap": "5.3.2", @@ -58,8 +58,8 @@ "cypress-storybook": "0.5.1", "eslint": "8.55.0", "eslint-plugin-react": "7.33.2", - "jest": "27.5.1", - "jest-cli": "27.5.1", + "jest": "29.7.0", + "jest-cli": "29.7.0", "npm-run-all": "4.1.5", "rimraf": "5.0.5", "sass": "1.69.5", diff --git a/packages/internet-header/package.json b/packages/internet-header/package.json index 0928f664b0..0b977a8f59 100644 --- a/packages/internet-header/package.json +++ b/packages/internet-header/package.json @@ -59,7 +59,7 @@ "@stencil/store": "2.0.11", "@types/body-scroll-lock": "3.1.2", "@types/iframe-resizer": "3.5.13", - "@types/jest": "27.5.2", + "@types/jest": "29.5.11", "@types/jquery": "3.5.29", "@types/node": "18.19.3", "@types/throttle-debounce": "5.0.2", @@ -70,7 +70,7 @@ "cypress-storybook": "0.5.1", "eslint-plugin-react": "7.33.2", "globby": "14.0.0", - "jest": "27.5.1", + "jest": "29.7.0", "rimraf": "5.0.5", "rollup-plugin-node-polyfills": "0.2.1", "rollup-plugin-scss": "4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6099092472..6f22fd296f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,8 +92,8 @@ importers: specifier: 3.0.7 version: 3.0.7(@stencil/core@4.8.2) '@types/jest': - specifier: 27.5.2 - version: 27.5.2 + specifier: 29.5.11 + version: 29.5.11 '@typescript-eslint/eslint-plugin': specifier: 5.62.0 version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@4.9.5) @@ -116,11 +116,11 @@ importers: specifier: 7.33.2 version: 7.33.2(eslint@8.55.0) jest: - specifier: 27.5.1 - version: 27.5.1 + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.3)(ts-node@10.9.2) jest-cli: - specifier: 27.5.1 - version: 27.5.1 + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.3)(ts-node@10.9.2) npm-run-all: specifier: 4.1.5 version: 4.1.5 @@ -579,8 +579,8 @@ importers: specifier: 3.5.13 version: 3.5.13 '@types/jest': - specifier: 27.5.2 - version: 27.5.2 + specifier: 29.5.11 + version: 29.5.11 '@types/jquery': specifier: 3.5.29 version: 3.5.29 @@ -612,8 +612,8 @@ importers: specifier: 14.0.0 version: 14.0.0 jest: - specifier: 27.5.1 - version: 27.5.1 + specifier: 29.7.0 + version: 29.7.0(@types/node@18.19.3)(ts-node@10.9.2) rimraf: specifier: 5.0.5 version: 5.0.5 @@ -634,7 +634,7 @@ importers: version: 2.0.3 ts-jest: specifier: 27.1.5 - version: 27.1.5(@babel/core@7.23.6)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.23.6)(@types/jest@29.5.11)(jest@29.7.0)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -4961,18 +4961,6 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@27.5.1: - resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - jest-message-util: 27.5.1 - jest-util: 27.5.1 - slash: 3.0.0 - dev: true - /@jest/console@29.7.0: resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4985,51 +4973,6 @@ packages: slash: 3.0.0 dev: true - /@jest/core@27.5.1: - resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 27.5.1 - '@jest/reporters': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 27.5.1 - jest-config: 27.5.1 - jest-haste-map: 27.5.1 - jest-message-util: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-resolve-dependencies: 27.5.1 - jest-runner: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - jest-watcher: 27.5.1 - micromatch: 4.0.5 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /@jest/core@29.7.0(ts-node@10.9.2): resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5073,16 +5016,6 @@ packages: - ts-node dev: true - /@jest/environment@27.5.1: - resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - jest-mock: 27.5.1 - dev: true - /@jest/environment@29.7.0: resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5110,18 +5043,6 @@ packages: - supports-color dev: true - /@jest/fake-timers@27.5.1: - resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - '@sinonjs/fake-timers': 8.1.0 - '@types/node': 18.19.3 - jest-message-util: 27.5.1 - jest-mock: 27.5.1 - jest-util: 27.5.1 - dev: true - /@jest/fake-timers@29.7.0: resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5134,15 +5055,6 @@ packages: jest-util: 29.7.0 dev: true - /@jest/globals@27.5.1: - resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/types': 27.5.1 - expect: 27.5.1 - dev: true - /@jest/globals@29.7.0: resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5155,44 +5067,6 @@ packages: - supports-color dev: true - /@jest/reporters@27.5.1: - resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-haste-map: 27.5.1 - jest-resolve: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 - slash: 3.0.0 - source-map: 0.6.1 - string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 8.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/reporters@29.7.0: resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5237,15 +5111,6 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jest/source-map@27.5.1: - resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.11 - source-map: 0.6.1 - dev: true - /@jest/source-map@29.6.3: resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5255,16 +5120,6 @@ packages: graceful-fs: 4.2.11 dev: true - /@jest/test-result@27.5.1: - resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.5.1 - '@jest/types': 27.5.1 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - /@jest/test-result@29.7.0: resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5275,18 +5130,6 @@ packages: collect-v8-coverage: 1.0.1 dev: true - /@jest/test-sequencer@27.5.1: - resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.5.1 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-runtime: 27.5.1 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/test-sequencer@29.7.0: resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5297,29 +5140,6 @@ packages: slash: 3.0.0 dev: true - /@jest/transform@27.5.1: - resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.23.6 - '@jest/types': 27.5.1 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-regex-util: 27.5.1 - jest-util: 27.5.1 - micromatch: 4.0.5 - pirates: 4.0.5 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/transform@29.7.0: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6604,12 +6424,6 @@ packages: engines: {node: '>=18'} dev: true - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - dependencies: - type-detect: 4.0.8 - dev: true - /@sinonjs/commons@3.0.0: resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: @@ -6622,12 +6436,6 @@ packages: '@sinonjs/commons': 3.0.0 dev: true - /@sinonjs/fake-timers@8.1.0: - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} - dependencies: - '@sinonjs/commons': 1.8.6 - dev: true - /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: true @@ -7778,13 +7586,6 @@ packages: '@types/jasmine': 4.3.0 dev: true - /@types/jest@27.5.2: - resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} - dependencies: - jest-matcher-utils: 27.5.1 - pretty-format: 27.5.1 - dev: true - /@types/jest@29.5.11: resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: @@ -7869,10 +7670,6 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/prettier@2.7.2: - resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} - dev: true - /@types/pretty-hrtime@1.0.1: resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} dev: true @@ -9385,25 +9182,6 @@ packages: '@babel/core': 7.23.6 dev: true - /babel-jest@27.5.1(@babel/core@7.23.6): - resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.23.6 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/babel__core': 7.20.0 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.23.6) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-jest@29.7.0(@babel/core@7.23.6): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9461,22 +9239,12 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@27.5.1: - resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.5 - '@types/babel__core': 7.20.0 - '@types/babel__traverse': 7.18.5 - dev: true - /babel-plugin-jest-hoist@29.6.3: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.5 + '@babel/types': 7.23.6 '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.5 dev: true @@ -9573,17 +9341,6 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6) dev: true - /babel-preset-jest@27.5.1(@babel/core@7.23.6): - resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.6 - babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.6) - dev: true - /babel-preset-jest@29.6.3(@babel/core@7.23.6): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10928,10 +10685,6 @@ packages: engines: {node: '>=0.10'} dev: true - /dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dev: true - /dedent@1.2.0: resolution: {integrity: sha512-i4tcg0ClgvMUSxwHpt+NHQ01ZJmAkl6eBvDNrSZG9e+oLRTCSHv0wpr/Bzjpf6CwKeIHGevE1M34Y1Axdms5VQ==} peerDependencies: @@ -11136,11 +10889,6 @@ packages: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true - /diff-sequences@27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -11295,11 +11043,6 @@ packages: engines: {node: '>=12'} dev: true - /emittery@0.8.1: - resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} - engines: {node: '>=10'} - dev: true - /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -12167,16 +11910,6 @@ packages: homedir-polyfill: 1.0.3 dev: true - /expect@27.5.1: - resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - jest-get-type: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - dev: true - /expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14547,15 +14280,6 @@ packages: colors: 1.4.0 dev: true - /jest-changed-files@27.5.1: - resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - execa: 5.1.1 - throat: 6.0.2 - dev: true - /jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14565,33 +14289,6 @@ packages: p-limit: 3.1.0 dev: true - /jest-circus@27.5.1: - resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - expect: 27.5.1 - is-generator-fn: 2.1.0 - jest-each: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - slash: 3.0.0 - stack-utils: 2.0.6 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /jest-circus@29.7.0: resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14621,36 +14318,6 @@ packages: - supports-color dev: true - /jest-cli@27.5.1: - resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - import-local: 3.1.0 - jest-config: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - prompts: 2.4.2 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /jest-cli@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14679,76 +14346,36 @@ packages: - ts-node dev: true - /jest-config@27.5.1: - resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /jest-config@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: + '@types/node': '*' ts-node: '>=9.0.0' peerDependenciesMeta: + '@types/node': + optional: true ts-node: optional: true dependencies: '@babel/core': 7.23.6 - '@jest/test-sequencer': 27.5.1 - '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.23.6) + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.3 + babel-jest: 29.7.0(@babel/core@7.23.6) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-node: 27.5.1 - jest-get-type: 27.5.1 - jest-jasmine2: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-runner: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 27.5.1 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-config@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.23.6 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.3 - babel-jest: 29.7.0(@babel/core@7.23.6) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.5 parse-json: 5.2.0 pretty-format: 29.7.0 @@ -14760,16 +14387,6 @@ packages: - supports-color dev: true - /jest-diff@27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14780,13 +14397,6 @@ packages: pretty-format: 29.7.0 dev: true - /jest-docblock@27.5.1: - resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - /jest-docblock@29.7.0: resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14794,17 +14404,6 @@ packages: detect-newline: 3.1.0 dev: true - /jest-each@27.5.1: - resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - chalk: 4.1.2 - jest-get-type: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-each@29.7.0: resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14816,36 +14415,6 @@ packages: pretty-format: 29.7.0 dev: true - /jest-environment-jsdom@27.5.1: - resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - jest-mock: 27.5.1 - jest-util: 27.5.1 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node@27.5.1: - resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - jest-mock: 27.5.1 - jest-util: 27.5.1 - dev: true - /jest-environment-node@29.7.0: resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14858,36 +14427,11 @@ packages: jest-util: 29.7.0 dev: true - /jest-get-type@27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-haste-map@27.5.1: - resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - '@types/graceful-fs': 4.1.6 - '@types/node': 18.19.3 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 27.5.1 - jest-serializer: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 - micromatch: 4.0.5 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /jest-haste-map@29.7.0: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14907,39 +14451,6 @@ packages: fsevents: 2.3.2 dev: true - /jest-jasmine2@27.5.1: - resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/source-map': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - co: 4.6.0 - expect: 27.5.1 - is-generator-fn: 2.1.0 - jest-each: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-leak-detector@27.5.1: - resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-leak-detector@29.7.0: resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14948,16 +14459,6 @@ packages: pretty-format: 29.7.0 dev: true - /jest-matcher-utils@27.5.1: - resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-matcher-utils@29.7.0: resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14968,21 +14469,6 @@ packages: pretty-format: 29.7.0 dev: true - /jest-message-util@27.5.1: - resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/code-frame': 7.23.5 - '@jest/types': 27.5.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 27.5.1 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - /jest-message-util@29.7.0: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14998,14 +14484,6 @@ packages: stack-utils: 2.0.6 dev: true - /jest-mock@27.5.1: - resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - dev: true - /jest-mock@29.7.0: resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15015,18 +14493,6 @@ packages: jest-util: 29.7.0 dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 27.5.1 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} @@ -15039,27 +14505,11 @@ packages: jest-resolve: 29.7.0 dev: true - /jest-regex-util@27.5.1: - resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /jest-regex-util@29.6.3: resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@27.5.1: - resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - jest-regex-util: 27.5.1 - jest-snapshot: 27.5.1 - transitivePeerDependencies: - - supports-color - dev: true - /jest-resolve-dependencies@29.7.0: resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15070,22 +14520,6 @@ packages: - supports-color dev: true - /jest-resolve@27.5.1: - resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) - jest-util: 27.5.1 - jest-validate: 27.5.1 - resolve: 1.22.8 - resolve.exports: 1.1.1 - slash: 3.0.0 - dev: true - /jest-resolve@29.7.0: resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15101,38 +14535,6 @@ packages: slash: 3.0.0 dev: true - /jest-runner@27.5.1: - resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.5.1 - '@jest/environment': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - emittery: 0.8.1 - graceful-fs: 4.2.11 - jest-docblock: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-node: 27.5.1 - jest-haste-map: 27.5.1 - jest-leak-detector: 27.5.1 - jest-message-util: 27.5.1 - jest-resolve: 27.5.1 - jest-runtime: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 - source-map-support: 0.5.21 - throat: 6.0.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - /jest-runner@29.7.0: resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15162,36 +14564,6 @@ packages: - supports-color dev: true - /jest-runtime@27.5.1: - resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/globals': 27.5.1 - '@jest/source-map': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - execa: 5.1.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-message-util: 27.5.1 - jest-mock: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /jest-runtime@29.7.0: resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15222,44 +14594,6 @@ packages: - supports-color dev: true - /jest-serializer@27.5.1: - resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/node': 18.19.3 - graceful-fs: 4.2.11 - dev: true - - /jest-snapshot@27.5.1: - resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.23.6 - '@babel/generator': 7.23.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) - '@babel/traverse': 7.23.5 - '@babel/types': 7.23.5 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/babel__traverse': 7.18.5 - '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.6) - chalk: 4.1.2 - expect: 27.5.1 - graceful-fs: 4.2.11 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - jest-haste-map: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-util: 27.5.1 - natural-compare: 1.4.0 - pretty-format: 27.5.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - /jest-snapshot@29.7.0: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15312,18 +14646,6 @@ packages: picomatch: 2.3.1 dev: true - /jest-validate@27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 27.5.1 - leven: 3.1.0 - pretty-format: 27.5.1 - dev: true - /jest-validate@29.7.0: resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15336,19 +14658,6 @@ packages: pretty-format: 29.7.0 dev: true - /jest-watcher@27.5.1: - resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 27.5.1 - string-length: 4.0.2 - dev: true - /jest-watcher@29.7.0: resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15382,27 +14691,6 @@ packages: supports-color: 8.1.1 dev: true - /jest@27.5.1: - resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 27.5.1 - import-local: 3.1.0 - jest-cli: 27.5.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /jest@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -18884,11 +18172,6 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve.exports@1.1.1: - resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} - engines: {node: '>=10'} - dev: true - /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} @@ -20090,14 +19373,6 @@ packages: dependencies: has-flag: 4.0.0 - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-hyperlinks@3.0.0: resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} engines: {node: '>=14.18'} @@ -20248,14 +19523,6 @@ packages: engines: {node: '>=8'} dev: true - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - /terser-webpack-plugin@5.3.8(esbuild@0.18.17)(webpack@5.88.2): resolution: {integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==} engines: {node: '>= 10.13.0'} @@ -20353,10 +19620,6 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /throat@6.0.2: - resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - dev: true - /throttle-debounce@5.0.0: resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} engines: {node: '>=12.22'} @@ -20532,7 +19795,7 @@ packages: engines: {node: '>=6.10'} dev: true - /ts-jest@27.1.5(@babel/core@7.23.6)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): + /ts-jest@27.1.5(@babel/core@7.23.6)(@types/jest@29.5.11)(jest@29.7.0)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -20554,10 +19817,10 @@ packages: optional: true dependencies: '@babel/core': 7.23.6 - '@types/jest': 27.5.2 + '@types/jest': 29.5.11 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 + jest: 29.7.0(@types/node@18.19.3)(ts-node@10.9.2) jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -20856,12 +20119,6 @@ packages: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} dev: true - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true @@ -21215,15 +20472,6 @@ packages: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /v8-to-istanbul@8.1.1: - resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} - engines: {node: '>=10.12.0'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 - source-map: 0.7.4 - dev: true - /v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} @@ -21961,15 +21209,6 @@ packages: signal-exit: 3.0.7 dev: true - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: true - /write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} From 8dc04fc3d8c96a8b2c8768e366c6b90e1dc1d955 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 07:57:04 +0100 Subject: [PATCH 04/36] fix(unit): Add missing jest-environment-jsdom --- packages/components/package.json | 1 + packages/internet-header/package.json | 1 + pnpm-lock.yaml | 217 ++++++++++++++++++-------- 3 files changed, 156 insertions(+), 63 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 00f01ff866..e0054e7e0e 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -41,6 +41,7 @@ "@oddbird/popover-polyfill": "0.2.3", "@swisspost/design-system-styles": "workspace:6.5.0", "ally.js": "1.4.1", + "jest-environment-jsdom": "^29.7.0", "long-press-event": "2.4.6" }, "devDependencies": { diff --git a/packages/internet-header/package.json b/packages/internet-header/package.json index 0b977a8f59..86cf4a2d24 100644 --- a/packages/internet-header/package.json +++ b/packages/internet-header/package.json @@ -44,6 +44,7 @@ "@swisspost/design-system-styles": "workspace:6.5.0", "body-scroll-lock": "4.0.0-beta.0", "iframe-resizer": "4.3.9", + "jest-environment-jsdom": "^29.7.0", "jquery": "3.7.1", "tabbable": "6.2.0", "throttle-debounce": "5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f22fd296f..16acdcfd42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,6 +69,9 @@ importers: ally.js: specifier: 1.4.1 version: 1.4.1 + jest-environment-jsdom: + specifier: ^29.7.0 + version: 29.7.0 long-press-event: specifier: 2.4.6 version: 2.4.6 @@ -538,6 +541,9 @@ importers: iframe-resizer: specifier: 4.3.9 version: 4.3.9 + jest-environment-jsdom: + specifier: ^29.7.0 + version: 29.7.0 jquery: specifier: 3.7.1 version: 3.7.1 @@ -5024,7 +5030,6 @@ packages: '@jest/types': 29.6.3 '@types/node': 18.19.3 jest-mock: 29.7.0 - dev: true /@jest/expect-utils@29.7.0: resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} @@ -5053,7 +5058,6 @@ packages: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true /@jest/globals@29.7.0: resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} @@ -5109,7 +5113,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - dev: true /@jest/source-map@29.6.3: resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} @@ -5184,7 +5187,6 @@ packages: '@types/node': 18.19.3 '@types/yargs': 17.0.24 chalk: 4.1.2 - dev: true /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -6417,7 +6419,6 @@ packages: /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true /@sindresorhus/merge-streams@1.0.0: resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} @@ -6428,13 +6429,11 @@ packages: resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 - dev: true /@sinonjs/fake-timers@10.1.0: resolution: {integrity: sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==} dependencies: '@sinonjs/commons': 3.0.0 - dev: true /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} @@ -7351,7 +7350,6 @@ packages: /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - dev: true /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -7558,19 +7556,16 @@ packages: /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: '@types/istanbul-lib-coverage': 2.0.4 - dev: true /@types/istanbul-reports@3.0.1: resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} dependencies: '@types/istanbul-lib-report': 3.0.0 - dev: true /@types/jasmine@4.3.0: resolution: {integrity: sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA==} @@ -7599,6 +7594,14 @@ packages: '@types/sizzle': 2.3.3 dev: true + /@types/jsdom@20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + dependencies: + '@types/node': 18.19.3 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 + dev: false + /@types/json-schema@7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true @@ -7664,7 +7667,6 @@ packages: resolution: {integrity: sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -7758,12 +7760,15 @@ packages: /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true /@types/throttle-debounce@5.0.2: resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} dev: true + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + dev: false + /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} dev: true @@ -7784,7 +7789,6 @@ packages: /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true /@types/yargs@16.0.5: resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} @@ -7796,7 +7800,6 @@ packages: resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: '@types/yargs-parser': 21.0.0 - dev: true /@types/yauzl@2.10.0: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} @@ -8439,7 +8442,6 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead - dev: true /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -8460,6 +8462,13 @@ packages: acorn-walk: 7.2.0 dev: true + /acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.9.0 + acorn-walk: 8.2.0 + dev: false + /acorn-import-assertions@1.9.0(acorn@8.9.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -8484,7 +8493,6 @@ packages: /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: true /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -8496,7 +8504,6 @@ packages: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} @@ -8523,7 +8530,6 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true /agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} @@ -8701,7 +8707,6 @@ packages: /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -9074,7 +9079,6 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} @@ -9925,7 +9929,6 @@ packages: /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} - dev: true /cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} @@ -10121,7 +10124,6 @@ packages: engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - dev: true /comma-separated-tokens@1.0.8: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} @@ -10477,18 +10479,20 @@ packages: /cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true /cssom@0.4.4: resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} dev: true + /cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: false + /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} dependencies: cssom: 0.3.8 - dev: true /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} @@ -10610,6 +10614,15 @@ packages: whatwg-url: 8.7.0 dev: true + /data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: false + /dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: false @@ -10678,7 +10691,6 @@ packages: /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: true /decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} @@ -10814,7 +10826,6 @@ packages: /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: true /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} @@ -10965,6 +10976,14 @@ packages: webidl-conversions: 5.0.0 dev: true + /domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 7.0.0 + dev: false + /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -11439,7 +11458,6 @@ packages: /escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -11456,7 +11474,6 @@ packages: esutils: 2.0.3 optionalDependencies: source-map: 0.6.1 - dev: true /eslint-compat-utils@0.1.2(eslint@8.55.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} @@ -11767,7 +11784,6 @@ packages: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -11791,7 +11807,6 @@ packages: /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - dev: true /estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} @@ -11804,7 +11819,6 @@ packages: /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} @@ -12459,7 +12473,6 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} @@ -12931,7 +12944,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -13255,7 +13267,6 @@ packages: engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 - dev: true /html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} @@ -13331,7 +13342,6 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true /http-proxy-middleware@2.0.6(@types/express@4.17.17): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} @@ -13413,7 +13423,6 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true /https-proxy-agent@7.0.2: resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} @@ -13457,7 +13466,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /icss-utils@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} @@ -13987,7 +13995,6 @@ packages: /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -14415,6 +14422,29 @@ packages: pretty-format: 29.7.0 dev: true + /jest-environment-jsdom@29.7.0: + resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/jsdom': 20.0.1 + '@types/node': 18.19.3 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /jest-environment-node@29.7.0: resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14482,7 +14512,6 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true /jest-mock@29.7.0: resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} @@ -14491,7 +14520,6 @@ packages: '@jest/types': 29.6.3 '@types/node': 18.19.3 jest-util: 29.7.0 - dev: true /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -14644,7 +14672,6 @@ packages: ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true /jest-validate@29.7.0: resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} @@ -14829,6 +14856,47 @@ packages: - utf-8-validate dev: true + /jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.9.0 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.4 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.13.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -15764,14 +15832,12 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} @@ -16416,7 +16482,6 @@ packages: /nwsapi@2.2.4: resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} - dev: true /nx@16.5.1: resolution: {integrity: sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==} @@ -17407,7 +17472,6 @@ packages: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /pretty-hrtime@1.0.3: resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} @@ -17518,7 +17582,6 @@ packages: /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true /pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} @@ -17598,7 +17661,6 @@ packages: /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: true /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -17695,7 +17757,6 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true /react-remove-scroll-bar@2.3.4(@types/react@18.2.43)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} @@ -18118,7 +18179,6 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} @@ -18369,7 +18429,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sass-loader@13.3.2(sass@1.64.1)(webpack@5.88.2): resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} @@ -18428,6 +18487,13 @@ packages: xmlchars: 2.2.0 dev: true + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: false + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -18656,7 +18722,6 @@ packages: /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} @@ -18853,7 +18918,6 @@ packages: /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} @@ -18983,7 +19047,6 @@ packages: engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 - dev: true /start-server-and-test@2.0.3: resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==} @@ -19418,7 +19481,6 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true /synchronous-promise@2.0.17: resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} @@ -19745,7 +19807,6 @@ packages: punycode: 2.3.0 universalify: 0.2.0 url-parse: 1.5.10 - dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -19757,6 +19818,13 @@ packages: punycode: 2.3.0 dev: true + /tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + dependencies: + punycode: 2.3.0 + dev: false + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -20019,7 +20087,6 @@ packages: /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - dev: true /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} @@ -20188,7 +20255,6 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -20304,7 +20370,6 @@ packages: /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - dev: true /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} @@ -20383,7 +20448,6 @@ packages: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - dev: true /url-polyfill@1.1.12: resolution: {integrity: sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==} @@ -20671,6 +20735,13 @@ packages: xml-name-validator: 3.0.0 dev: true + /w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + dev: false + /wait-on@7.2.0(debug@4.3.4): resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} engines: {node: '>=12.0.0'} @@ -20732,6 +20803,11 @@ packages: engines: {node: '>=10.4'} dev: true + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: false + /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} @@ -21041,12 +21117,24 @@ packages: engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 - dev: true /whatwg-mimetype@2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} dev: true + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: false + + /whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: false + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -21276,15 +21364,18 @@ packages: optional: true utf-8-validate: optional: true - dev: true /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: true + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: false + /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} From b19ba6e64d68a4c73adb9af41d243218134737db Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 08:02:32 +0100 Subject: [PATCH 05/36] fix(unit): Upgrade ts-jest --- packages/components/package.json | 3 +- packages/internet-header/package.json | 2 +- pnpm-lock.yaml | 242 ++------------------------ 3 files changed, 18 insertions(+), 229 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index e0054e7e0e..4569dd7bee 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -42,7 +42,8 @@ "@swisspost/design-system-styles": "workspace:6.5.0", "ally.js": "1.4.1", "jest-environment-jsdom": "^29.7.0", - "long-press-event": "2.4.6" + "long-press-event": "2.4.6", + "ts-jest": "29.1.1" }, "devDependencies": { "@percy/cli": "1.27.4", diff --git a/packages/internet-header/package.json b/packages/internet-header/package.json index 86cf4a2d24..5006b64c6b 100644 --- a/packages/internet-header/package.json +++ b/packages/internet-header/package.json @@ -78,7 +78,7 @@ "rollup-plugin-visualizer": "5.11.0", "sass": "1.69.5", "start-server-and-test": "2.0.3", - "ts-jest": "27.1.5", + "ts-jest": "29.1.1", "typescript": "4.9.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16acdcfd42..5b833e80c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,6 +75,9 @@ importers: long-press-event: specifier: 2.4.6 version: 2.4.6 + ts-jest: + specifier: 29.1.1 + version: 29.1.1(@babel/core@7.23.6)(jest@29.7.0)(typescript@4.9.5) devDependencies: '@percy/cli': specifier: 1.27.4 @@ -639,8 +642,8 @@ importers: specifier: 2.0.3 version: 2.0.3 ts-jest: - specifier: 27.1.5 - version: 27.1.5(@babel/core@7.23.6)(@types/jest@29.5.11)(jest@29.7.0)(typescript@4.9.5) + specifier: 29.1.1 + version: 29.1.1(@babel/core@7.23.6)(jest@29.7.0)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -1801,7 +1804,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/generator@7.22.9: resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} @@ -1830,7 +1832,6 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 - dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} @@ -1865,7 +1866,6 @@ packages: browserslist: 4.22.2 lru-cache: 5.1.1 semver: 6.3.1 - dev: true /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.22.9): resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} @@ -2026,7 +2026,6 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -2038,7 +2037,6 @@ packages: /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} @@ -2147,7 +2145,6 @@ packages: '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color - dev: true /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} @@ -2286,7 +2283,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.6): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} @@ -2295,7 +2291,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -2313,7 +2308,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -2437,7 +2431,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -2455,7 +2448,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} @@ -2465,7 +2457,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -2483,7 +2474,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -2501,7 +2491,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -2519,7 +2508,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -2537,7 +2525,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -2555,7 +2542,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -2573,7 +2559,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -2613,7 +2598,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} @@ -2623,7 +2607,6 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -4078,7 +4061,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true /@babel/types@7.23.5: resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} @@ -4098,7 +4080,6 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true /@changesets/apply-release-plan@7.0.0: resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} @@ -4313,7 +4294,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true /@csstools/css-parser-algorithms@2.3.1(@csstools/css-tokenizer@2.2.0): resolution: {integrity: sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==} @@ -4960,12 +4940,10 @@ packages: get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - dev: true /@jest/console@29.7.0: resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} @@ -4977,7 +4955,6 @@ packages: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - dev: true /@jest/core@29.7.0(ts-node@10.9.2): resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} @@ -5020,7 +4997,6 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true /@jest/environment@29.7.0: resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} @@ -5036,7 +5012,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 - dev: true /@jest/expect@29.7.0: resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} @@ -5046,7 +5021,6 @@ packages: jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true /@jest/fake-timers@29.7.0: resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} @@ -5069,7 +5043,6 @@ packages: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - dev: true /@jest/reporters@29.7.0: resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} @@ -5106,7 +5079,6 @@ packages: v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color - dev: true /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} @@ -5121,7 +5093,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 callsites: 3.1.0 graceful-fs: 4.2.11 - dev: true /@jest/test-result@29.7.0: resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} @@ -5131,7 +5102,6 @@ packages: '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 - dev: true /@jest/test-sequencer@29.7.0: resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} @@ -5141,7 +5111,6 @@ packages: graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 - dev: true /@jest/transform@29.7.0: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} @@ -5164,18 +5133,6 @@ packages: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - dev: true - - /@jest/types@27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.19.3 - '@types/yargs': 16.0.5 - chalk: 4.1.2 - dev: true /@jest/types@29.6.3: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} @@ -5203,7 +5160,6 @@ packages: /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} @@ -5233,7 +5189,6 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /@juggle/resize-observer@3.4.0: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} @@ -7358,19 +7313,15 @@ packages: /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true /@tsconfig/node18@18.2.2: resolution: {integrity: sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==} @@ -7401,26 +7352,22 @@ packages: '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.5 - dev: true /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: '@babel/types': 7.23.5 - dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: '@babel/parser': 7.23.5 '@babel/types': 7.23.5 - dev: true /@types/babel__traverse@7.18.5: resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==} dependencies: '@babel/types': 7.23.5 - dev: true /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} @@ -7532,7 +7479,6 @@ packages: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: '@types/node': 18.19.3 - dev: true /@types/hast@2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} @@ -7790,12 +7736,6 @@ packages: /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - /@types/yargs@16.0.5: - resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /@types/yargs@17.0.24: resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: @@ -8656,7 +8596,6 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-gray@0.1.1: resolution: {integrity: sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==} @@ -8767,7 +8706,6 @@ packages: /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -8777,7 +8715,6 @@ packages: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 - dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -9202,7 +9139,6 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true /babel-loader@9.1.3(@babel/core@7.22.9)(webpack@5.88.2): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} @@ -9241,7 +9177,6 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true /babel-plugin-jest-hoist@29.6.3: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} @@ -9251,7 +9186,6 @@ packages: '@babel/types': 7.23.6 '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.5 - dev: true /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.22.9): resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} @@ -9343,7 +9277,6 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.6) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.6) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.6) - dev: true /babel-preset-jest@29.6.3(@babel/core@7.23.6): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} @@ -9354,7 +9287,6 @@ packages: '@babel/core': 7.23.6 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.6) - dev: true /bach@1.2.0: resolution: {integrity: sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==} @@ -9373,7 +9305,6 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} @@ -9547,7 +9478,6 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} @@ -9625,13 +9555,11 @@ packages: engines: {node: '>= 6'} dependencies: fast-json-stable-stringify: 2.1.0 - dev: true /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 - dev: true /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -9644,7 +9572,6 @@ packages: /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -9765,7 +9692,6 @@ packages: /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -9794,12 +9720,10 @@ packages: /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - dev: true /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true /caniuse-lite@1.0.30001538: resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} @@ -9830,7 +9754,6 @@ packages: /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - dev: true /character-entities-legacy@1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} @@ -9932,7 +9855,6 @@ packages: /cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} @@ -10056,7 +9978,6 @@ packages: /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true /code-point-at@1.1.0: resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} @@ -10065,7 +9986,6 @@ packages: /collect-v8-coverage@1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true /collection-map@1.0.0: resolution: {integrity: sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==} @@ -10189,7 +10109,6 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true /concat-stream@1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} @@ -10358,11 +10277,9 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true /critters@0.0.20: resolution: {integrity: sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==} @@ -10402,7 +10319,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} @@ -10704,7 +10620,6 @@ packages: peerDependenciesMeta: babel-plugin-macros: optional: true - dev: true /deep-equal@2.2.1: resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==} @@ -10736,7 +10651,6 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - dev: true /default-browser-id@3.0.0: resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} @@ -10869,7 +10783,6 @@ packages: /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - dev: true /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -10903,12 +10816,10 @@ packages: /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - dev: true /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -11060,7 +10971,6 @@ packages: /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -11169,7 +11079,6 @@ packages: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} @@ -11888,7 +11797,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true /executable@4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} @@ -11900,7 +11808,6 @@ packages: /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} - dev: true /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} @@ -11933,7 +11840,6 @@ packages: jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} @@ -12128,7 +12034,6 @@ packages: /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true /fast-levenshtein@1.1.4: resolution: {integrity: sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==} @@ -12165,7 +12070,6 @@ packages: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 - dev: true /fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -12311,7 +12215,6 @@ packages: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -12573,7 +12476,6 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true /fsevents@1.2.13: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} @@ -12596,7 +12498,6 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} @@ -12660,7 +12561,6 @@ packages: /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - dev: true /get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} @@ -12677,7 +12577,6 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -12809,7 +12708,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} @@ -13179,7 +13077,6 @@ packages: engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /hast-util-parse-selector@2.2.5: resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} @@ -13274,7 +13171,6 @@ packages: /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} @@ -13446,7 +13342,6 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true /humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -13536,12 +13431,10 @@ packages: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} @@ -13562,7 +13455,6 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true /inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -13707,7 +13599,6 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} @@ -13770,7 +13661,6 @@ packages: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 - dev: true /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} @@ -13865,7 +13755,6 @@ packages: /is-generator-fn@2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - dev: true /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} @@ -14024,7 +13913,6 @@ packages: /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -14134,7 +14022,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} @@ -14165,7 +14052,6 @@ packages: /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} - dev: true /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} @@ -14178,7 +14064,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /istanbul-lib-instrument@6.0.0: resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} @@ -14191,7 +14076,6 @@ packages: semver: 7.5.4 transitivePeerDependencies: - supports-color - dev: true /istanbul-lib-report@3.0.0: resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} @@ -14200,7 +14084,6 @@ packages: istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 supports-color: 7.2.0 - dev: true /istanbul-lib-source-maps@3.0.6: resolution: {integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==} @@ -14224,7 +14107,6 @@ packages: source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true /istanbul-reports@3.1.5: resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} @@ -14232,7 +14114,6 @@ packages: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.0 - dev: true /iterator.prototype@1.1.0: resolution: {integrity: sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==} @@ -14294,7 +14175,6 @@ packages: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 - dev: true /jest-circus@29.7.0: resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} @@ -14323,7 +14203,6 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true /jest-cli@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} @@ -14351,7 +14230,6 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true /jest-config@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} @@ -14392,7 +14270,6 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true /jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} @@ -14402,14 +14279,12 @@ packages: diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true /jest-docblock@29.7.0: resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 - dev: true /jest-each@29.7.0: resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} @@ -14420,7 +14295,6 @@ packages: jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - dev: true /jest-environment-jsdom@29.7.0: resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} @@ -14455,12 +14329,10 @@ packages: '@types/node': 18.19.3 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-haste-map@29.7.0: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} @@ -14479,7 +14351,6 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 - dev: true /jest-leak-detector@29.7.0: resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} @@ -14487,7 +14358,6 @@ packages: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true /jest-matcher-utils@29.7.0: resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} @@ -14497,7 +14367,6 @@ packages: jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true /jest-message-util@29.7.0: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} @@ -14531,12 +14400,10 @@ packages: optional: true dependencies: jest-resolve: 29.7.0 - dev: true /jest-regex-util@29.6.3: resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /jest-resolve-dependencies@29.7.0: resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} @@ -14546,7 +14413,6 @@ packages: jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true /jest-resolve@29.7.0: resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} @@ -14561,7 +14427,6 @@ packages: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true /jest-runner@29.7.0: resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} @@ -14590,7 +14455,6 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true /jest-runtime@29.7.0: resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} @@ -14620,7 +14484,6 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true /jest-snapshot@29.7.0: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} @@ -14648,19 +14511,6 @@ packages: semver: 7.5.4 transitivePeerDependencies: - supports-color - dev: true - - /jest-util@27.5.1: - resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.5.1 - '@types/node': 18.19.3 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true /jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} @@ -14683,7 +14533,6 @@ packages: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - dev: true /jest-watcher@29.7.0: resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} @@ -14697,7 +14546,6 @@ packages: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - dev: true /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} @@ -14716,7 +14564,6 @@ packages: jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true /jest@29.7.0(@types/node@18.19.3)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} @@ -14737,7 +14584,6 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true /jiti@1.20.0: resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} @@ -14767,7 +14613,6 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -14917,7 +14762,6 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true /json-parse-even-better-errors@3.0.0: resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} @@ -15137,7 +14981,6 @@ packages: /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - dev: true /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} @@ -15238,7 +15081,6 @@ packages: /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - dev: true /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -15285,7 +15127,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /lines-and-columns@2.0.3: resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} @@ -15420,7 +15261,6 @@ packages: engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} @@ -15446,7 +15286,6 @@ packages: /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -15582,11 +15421,9 @@ packages: engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true /make-fetch-happen@10.2.1: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} @@ -15647,7 +15484,6 @@ packages: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 - dev: true /map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} @@ -15786,7 +15622,6 @@ packages: /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -15902,7 +15737,6 @@ packages: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - dev: true /minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} @@ -16128,7 +15962,6 @@ packages: /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true /needle@3.2.0: resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} @@ -16304,7 +16137,6 @@ packages: /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -16458,7 +16290,6 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} @@ -16719,7 +16550,6 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} @@ -16805,14 +16635,12 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 - dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -16833,7 +16661,6 @@ packages: engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} @@ -16872,7 +16699,6 @@ packages: /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true /pacote@15.2.0: resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} @@ -16961,7 +16787,6 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true /parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} @@ -17029,7 +16854,6 @@ packages: /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true /path-exists@5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -17039,7 +16863,6 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true /path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} @@ -17049,11 +16872,9 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-root-regex@0.1.2: resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} @@ -17180,7 +17001,6 @@ packages: /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} - dev: true /piscina@4.0.0: resolution: {integrity: sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==} @@ -17214,7 +17034,6 @@ packages: engines: {node: '>=8'} dependencies: find-up: 4.1.0 - dev: true /pkg-dir@5.0.0: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} @@ -17530,7 +17349,6 @@ packages: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -17631,7 +17449,6 @@ packages: /pure-rand@6.0.2: resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} - dev: true /qjobs@1.2.0: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} @@ -18185,7 +18002,6 @@ packages: engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 - dev: true /resolve-dir@1.0.1: resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} @@ -18203,7 +18019,6 @@ packages: /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true /resolve-options@1.1.0: resolution: {integrity: sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==} @@ -18235,7 +18050,6 @@ packages: /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} - dev: true /resolve@1.22.2: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} @@ -18253,7 +18067,6 @@ packages: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} @@ -18664,7 +18477,6 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} @@ -18674,7 +18486,6 @@ packages: /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} @@ -18717,7 +18528,6 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -18896,7 +18706,6 @@ packages: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -19006,7 +18815,6 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true /sshpk@1.17.0: resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} @@ -19143,7 +18951,6 @@ packages: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true /string-width@1.0.2: resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} @@ -19269,12 +19076,10 @@ packages: /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - dev: true /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -19293,7 +19098,6 @@ packages: /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true /strong-log-transformer@2.1.0: resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} @@ -19447,7 +19251,6 @@ packages: /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true /sver-compat@1.5.0: resolution: {integrity: sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==} @@ -19676,7 +19479,6 @@ packages: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -19738,7 +19540,6 @@ packages: /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true /to-absolute-glob@2.0.2: resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} @@ -19863,21 +19664,21 @@ packages: engines: {node: '>=6.10'} dev: true - /ts-jest@27.1.5(@babel/core@7.23.6)(@types/jest@29.5.11)(jest@29.7.0)(typescript@4.9.5): - resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /ts-jest@29.1.1(@babel/core@7.23.6)(jest@29.7.0)(typescript@4.9.5): + resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: '>=27.0.0 <28' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 esbuild: '*' - jest: ^27.0.0 - typescript: '>=3.8 <5.0' + jest: ^29.0.0 + typescript: '>=4.3 <6' peerDependenciesMeta: '@babel/core': optional: true - '@types/jest': + '@jest/types': optional: true babel-jest: optional: true @@ -19885,18 +19686,16 @@ packages: optional: true dependencies: '@babel/core': 7.23.6 - '@types/jest': 29.5.11 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@18.19.3)(ts-node@10.9.2) - jest-util: 27.5.1 + jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.4 typescript: 4.9.5 - yargs-parser: 20.2.9 - dev: true + yargs-parser: 21.1.1 /ts-jest@29.1.1(@babel/core@7.23.6)(jest@29.7.0)(typescript@5.2.2): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} @@ -19992,7 +19791,6 @@ packages: typescript: 5.2.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} @@ -20106,7 +19904,6 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} @@ -20204,7 +20001,6 @@ packages: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true - dev: true /ua-parser-js@0.7.35: resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} @@ -20530,7 +20326,6 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true /v8-compile-cache@2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} @@ -20543,7 +20338,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 - dev: true /v8flags@3.2.0: resolution: {integrity: sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==} @@ -20760,7 +20554,6 @@ packages: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 - dev: true /watch@1.0.2: resolution: {integrity: sha512-1u+Z5n9Jc1E2c7qDO8SinPoZuHj7FgbgU1olSFoyaklduDvvtX7GMMtlE6OC9FTXq4KvNAOfj6Zu4vI1e9bAKA==} @@ -21227,7 +21020,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /which@3.0.1: resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} @@ -21287,7 +21079,6 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} @@ -21303,7 +21094,6 @@ packages: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true /write-file-atomic@5.0.1: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} @@ -21514,12 +21304,10 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} - dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} From 1eb8aa07a66a149b5f5d1934076855ad2bc1c248 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 15:06:00 +0100 Subject: [PATCH 06/36] Remove early optimization on duplication of icons --- packages/styles/src/components/form-validation.scss | 2 +- .../styles/src/variables/components/_form-validation.scss | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index f86e9220f0..88a7d7cf36 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -92,7 +92,7 @@ .success { border-color: var(--post-success-green); - background-image: b.escape-svg(form-validation.$form-feedback-icon-success); + background-image: b.escape-svg(form-validation.$form-feedback-icon-valid); background-repeat: no-repeat; background-position: right b.$input-height-inner-quarter center; background-size: form-validation.$form-feedback-icon-size; diff --git a/packages/styles/src/variables/components/_form-validation.scss b/packages/styles/src/variables/components/_form-validation.scss index 65da69f60c..dd5b80534e 100644 --- a/packages/styles/src/variables/components/_form-validation.scss +++ b/packages/styles/src/variables/components/_form-validation.scss @@ -10,7 +10,6 @@ $form-feedback-font-size: type.$font-size-12 !default; $form-feedback-valid-color: color.$gray-60 !default; $form-feedback-invalid-color: color.$error !default; $form-feedback-icon-valid: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(0%25,50.588235%25,22.745098%25);fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; -$form-feedback-icon-success: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(0%25,50.588235%25,22.745098%25);fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; $form-feedback-icon-invalid: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(64.705882%25,9.019608%25,15.686275%25);fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(64.705882%25,9.019608%25,15.686275%25);fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A") !default; // Design System custom variables @@ -24,7 +23,6 @@ $form-feedback-invalid-bg: color.$error !default; $form-feedback-invalid-text: color.$white !default; $form-feedback-custom-color: color.$success !default; $form-feedback-custom-bg: color.$success !default; -$form-feedback-invalid-box-shadow: 0 0 0 forms.$input-focus-width - rgba($form-feedback-invalid-color, 0.25) !default; +$form-feedback-invalid-box-shadow: 0 0 0 forms.$input-focus-width rgba($form-feedback-invalid-color, 0.25) !default; $form-feedback-custom-text: color.$white !default; $form-feedback-custom-box-shadow: 0 0 0 0.2rem rgba($form-feedback-custom-color, 0.25) !default; From b244e47297b7647c823f71943cd1256c328a9e31 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 12 Dec 2023 15:12:04 +0100 Subject: [PATCH 07/36] Readd input size condition --- .../components/forms/input/input.stories.ts | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 0fe48ec586..0f3c87bd43 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -99,7 +99,11 @@ const meta: Meta = { }, size: { name: 'Size', - description: 'Sets the size of the component\'s appearance.', + description: "Sets the size of the component's appearance.", + if: { + arg: 'floatingLabel', + truthy: false, + }, control: { type: 'select', labels: { @@ -187,8 +191,8 @@ function render(args: Args, context: StoryContext) { const useAriaLabel = !args.floatingLabel && args.hiddenLabel; const label: TemplateResult | null = !useAriaLabel ? html` - - ` + + ` : null; if (args.floatingLabel && !args.placeholder) { @@ -198,18 +202,18 @@ function render(args: Args, context: StoryContext) { const contextual: (TemplateResult | null)[] = [ args.validation === 'is-valid' ? html` -

Ggranda sukceso!

- ` +

Ggranda sukceso!

+ ` : null, args.validation === 'is-invalid' ? html` -

Eraro okazis!

- ` +

Eraro okazis!

+ ` : null, args.hint !== '' ? html` -
${args.hint}
- ` +
${args.hint}
+ ` : null, ]; From 5694872a00c1418e4d4c1d0e149f535c8f096fbe Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:36:11 +0100 Subject: [PATCH 08/36] Better support for success and other type of inputs --- packages/styles/src/components/floating-label.scss | 9 +++++++++ packages/styles/src/components/form-validation.scss | 13 ++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 5fee5a2cc9..a6d01ba68b 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -10,6 +10,7 @@ @use './../mixins/utilities' as utilities-mx; @use './../variables/type'; +@use './../variables/spacing'; @use './../variables/components/forms'; @use './../variables/components/form-validation'; @@ -39,6 +40,14 @@ // disable stylelint here, because the classes are coming from bs5 @extend .form-control-lg; /* stylelint-disable-line */ + &.success { + padding-right: spacing.$size-small-huge; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon + + &.form-control-sm { + padding-right: spacing.$size-bigger-big; + } + } + &:focus { @include forms-mx.placeholder { color: rgba(var(--post-contrast-color-rgb), 0.6); diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index 88a7d7cf36..545fc8c854 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -12,6 +12,7 @@ @use './../variables/color'; @use './../variables/components/form-validation'; @use './../variables/components/forms'; +@use './../variables/spacing'; .invalid-feedback, .valid-feedback { @@ -91,11 +92,21 @@ } .success { + padding-right: spacing.$size-small-huge; // For deprecated form-control-rg border-color: var(--post-success-green); background-image: b.escape-svg(form-validation.$form-feedback-icon-valid); background-repeat: no-repeat; background-position: right b.$input-height-inner-quarter center; - background-size: form-validation.$form-feedback-icon-size; + + &.form-control-sm { + padding-right: spacing.$size-bigger-big; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon + background-size: forms.$form-bg-size-sm; // Add space between background icons (ours and the one from bootstrap) + } + + &.form-control-lg { + padding-right: spacing.$size-small-huge; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon + background-size: forms.$form-bg-size; // Add space between background icons (ours and the one from bootstrap) + } } .form-control, From d144c78aa4b0a77fa456ff88b3f8da39bee16f3d Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:39:28 +0100 Subject: [PATCH 09/36] Fix missing variables --- .../src/variables/components/_forms.scss | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/styles/src/variables/components/_forms.scss b/packages/styles/src/variables/components/_forms.scss index aad60eb05c..f8442872e8 100644 --- a/packages/styles/src/variables/components/_forms.scss +++ b/packages/styles/src/variables/components/_forms.scss @@ -12,6 +12,9 @@ // Forms +$form-bg-size: 32px !default; +$form-bg-size-sm: 24px !default; + $form-label-margin-bottom: 0.5rem !default; $form-label-color: var(--post-contrast-color) !default; @@ -81,9 +84,8 @@ $input-height-content-lg: type.$font-size-medium * $input-line-height-lg !defaul $input-height-inner-lg: $input-height-content-lg + ($input-padding-y-lg * 2) !default; // Design System $input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default; -$input-transition: - border-color 0.15s ease-in-out, - box-shadow 0.15s ease-in-out !default; +$input-transition: border-color 0.15s ease-in-out, +box-shadow 0.15s ease-in-out !default; $form-text-color: var(--post-contrast-color); $form-text-font-size: type.$font-size-tiny; @@ -103,9 +105,8 @@ $form-range-thumb-width: 2rem !default; $form-range-thumb-height: $form-range-thumb-width !default; $form-range-thumb-bg: color.$white !default; $form-range-thumb-border: 2px solid color.$black !default; -$form-range-thumb-focus-box-shadow: - 0 0 0 1px color.$black, - 0 0 0 0.2rem rgba(color.$gray-80, 0.25) !default; +$form-range-thumb-focus-box-shadow: 0 0 0 1px color.$black, +0 0 0 0.2rem rgba(color.$gray-80, 0.25) !default; $form-range-thumb-focus-box-shadow-width: 0.2rem; // For focus box shadow issue in Edge $form-range-thumb-active-bg: color.$white !default; $form-range-thumb-disabled-bg: $form-range-thumb-bg !default; @@ -128,8 +129,8 @@ $form-floating-label-color: $input-placeholder-color; $form-floating-label-font-size: type.$font-size-bigger-regular; $form-floating-label-font-size-small: type.$font-size-tiny; $form-floating-label-scale: math.div( - $form-floating-label-font-size-small, - $form-floating-label-font-size + $form-floating-label-font-size-small, + $form-floating-label-font-size ); $form-floating-label-upscale: math.div(1, $form-floating-label-scale); $form-floating-label-padding-t: calc( @@ -139,12 +140,10 @@ $form-floating-label-padding-t: calc( $form-floating-label-translate-x: $form-floating-padding-x * (1 - $form-floating-label-scale); $form-floating-label-transform: scale($form-floating-label-scale); $form-floating-transition: animation.$transition-base; -$form-floating-transition-in: - $form-floating-transition, - width 0ms list.nth(animation.$transition-base, 2); -$form-floating-transition-out: - $form-floating-transition, - width 0ms linear; +$form-floating-transition-in: $form-floating-transition, +width 0ms list.nth(animation.$transition-base, 2); +$form-floating-transition-out: $form-floating-transition, +width 0ms linear; $form-floating-select-bg-size: 32px 32px; $form-floating-label-font-size-sm: type.$font-size-12; From 638faca0cef92ec47edd90a33a34fc2858078107 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:26:40 +0100 Subject: [PATCH 10/36] Merge success state into is-valid for select and input --- .../components/forms/input/input.docs.mdx | 2 +- .../components/forms/input/input.stories.ts | 16 ---------------- .../components/forms/select/select.docs.mdx | 2 +- .../components/forms/select/select.stories.ts | 16 ---------------- packages/styles/src/components/form-select.scss | 4 ++-- .../styles/src/components/form-validation.scss | 2 +- 6 files changed, 5 insertions(+), 37 deletions(-) diff --git a/packages/documentation/src/stories/components/forms/input/input.docs.mdx b/packages/documentation/src/stories/components/forms/input/input.docs.mdx index 0d312be40f..3e9667cc5f 100644 --- a/packages/documentation/src/stories/components/forms/input/input.docs.mdx +++ b/packages/documentation/src/stories/components/forms/input/input.docs.mdx @@ -59,7 +59,7 @@ The size can be changed by simply adding one of four classes: ### Validation -Simply add the classes `.is-valid` (with or without `success` class) or `.is-invalid` to the `` element to show it in the expected state.
+Simply add the classes `.is-valid` or `.is-invalid` to the `` element to show it in the expected state.
When the component has been validated, don't forget to add a `

...

` or `

...

` element after the `input` element to explain what went wrong. This enables the user to correct the mistake. diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 0f3c87bd43..592dc917b3 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -24,7 +24,6 @@ const meta: Meta = { hint: 'Hintus textus elare volare cantare hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.', disabled: false, validation: 'null', - success: false, }, argTypes: { label: { @@ -155,20 +154,6 @@ const meta: Meta = { category: 'States', }, }, - success: { - name: 'Success', - description: 'Controls the success state appearance of the component.', - control: { - type: 'boolean', - }, - if: { - arg: 'validation', - neq: 'is-invalid', - }, - table: { - category: 'States', - }, - }, }, }; @@ -183,7 +168,6 @@ function render(args: Args, context: StoryContext) { args.type === 'color' && 'form-control-color', args.size, args.validation, - args.success && 'success', ] .filter(c => c && c !== 'null') .join(' '); diff --git a/packages/documentation/src/stories/components/forms/select/select.docs.mdx b/packages/documentation/src/stories/components/forms/select/select.docs.mdx index 3a17efbfb6..da4a05428f 100644 --- a/packages/documentation/src/stories/components/forms/select/select.docs.mdx +++ b/packages/documentation/src/stories/components/forms/select/select.docs.mdx @@ -60,7 +60,7 @@ The size can be adjusted, by simply adding one of the following four classes: ### Validation -Simply add the classes `is-valid` (with or without `success` class) or `is-invalid` to the `` element to show it in the expected state.
When the component has been validated, don't forget to add a `

...

` or `

...

` element after the `select` element to explain what went wrong. This enables the user to correct the mistake. diff --git a/packages/documentation/src/stories/components/forms/select/select.stories.ts b/packages/documentation/src/stories/components/forms/select/select.stories.ts index b08e9d78fb..37547adac9 100644 --- a/packages/documentation/src/stories/components/forms/select/select.stories.ts +++ b/packages/documentation/src/stories/components/forms/select/select.stories.ts @@ -27,7 +27,6 @@ const meta: Meta = { hint: 'Hintus textus elare volare cantare hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.', disabled: false, validation: 'null', - success: false, }, argTypes: { label: { @@ -172,20 +171,6 @@ const meta: Meta = { category: 'States', }, }, - success: { - name: 'Success', - description: 'Controls the success state appearance of the component.', - control: { - type: 'boolean', - }, - if: { - arg: 'validation', - neq: 'is-invalid', - }, - table: { - category: 'States', - }, - }, }, }; @@ -202,7 +187,6 @@ const Template: Story = { args.size, args.validation, args.floatingLabelPlaceholder && !args.value ? 'form-select-empty' : null, - args.success && 'success', ] .filter(c => c && c !== 'null') .join(' '); diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 09b1b8e5e9..b47e6a93aa 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -28,7 +28,7 @@ } } - &.success, + &.is-valid, &.is-invalid { background-position: right b.$form-select-padding-x * 2.5 center, @@ -46,7 +46,7 @@ var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } - &.success { + &.is-valid { background-image: b.escape-svg(form-select.$form-select-indicator-success), var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index 545fc8c854..a0826fca5c 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -91,7 +91,7 @@ display: block; } -.success { +.is-valid { padding-right: spacing.$size-small-huge; // For deprecated form-control-rg border-color: var(--post-success-green); background-image: b.escape-svg(form-validation.$form-feedback-icon-valid); From 860156234d12c358258509d328c00a35b4ae1678 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:29:49 +0100 Subject: [PATCH 11/36] Fix for floating label --- packages/styles/src/components/floating-label.scss | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index a6d01ba68b..e9744ec806 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -40,14 +40,6 @@ // disable stylelint here, because the classes are coming from bs5 @extend .form-control-lg; /* stylelint-disable-line */ - &.success { - padding-right: spacing.$size-small-huge; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon - - &.form-control-sm { - padding-right: spacing.$size-bigger-big; - } - } - &:focus { @include forms-mx.placeholder { color: rgba(var(--post-contrast-color-rgb), 0.6); From 4a4d435f2e1716e07f60aeb5f895c0b19f4a0128 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:31:03 +0100 Subject: [PATCH 12/36] Fix changelog --- .changeset/eleven-ghosts-arrive.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/eleven-ghosts-arrive.md b/.changeset/eleven-ghosts-arrive.md index 2b01f4d922..a09100bf89 100644 --- a/.changeset/eleven-ghosts-arrive.md +++ b/.changeset/eleven-ghosts-arrive.md @@ -2,4 +2,4 @@ '@swisspost/design-system-styles': patch --- -Added new success state to text input. +Update valid state style for input text. From 9e1abc28cc6911765098bc8eda9d0597880822d1 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:50:28 +0100 Subject: [PATCH 13/36] feat(styles): Update forms styles --- .../components/forms/input/input.stories.ts | 4 -- .../styles/src/components/floating-label.scss | 28 +++++++++++- .../styles/src/components/form-select.scss | 12 ++--- packages/styles/src/components/forms.scss | 25 ++++------- .../styles/src/components/timepicker.scss | 2 +- packages/styles/src/mixins/_forms.scss | 16 ++++++- .../src/variables/components/_forms.scss | 44 +++++++++---------- 7 files changed, 78 insertions(+), 53 deletions(-) diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 72ab2d183c..126ea1f7bd 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -99,10 +99,6 @@ const meta: Meta = { size: { name: 'Size', description: "Sets the size of the component's appearance.", - if: { - arg: 'floatingLabel', - truthy: false, - }, control: { type: 'select', labels: { diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index e9744ec806..d8acc96921 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -52,6 +52,7 @@ padding-bottom: forms.$form-floating-input-padding-b; ~ label { + color: forms.$form-floating-label-color; padding-top: 0.7rem; max-width: calc( (100% * #{forms.$form-floating-label-upscale}) - #{forms.$form-floating-label-translate-x * @@ -68,6 +69,29 @@ padding-top: forms.$form-floating-input-padding-t * 1.33; } } + + &.form-control-sm { + font-size: forms.$form-floating-label-font-size-placeholder-sm; + height: forms.$form-floating-label-height-sm; + min-height: forms.$form-floating-label-height-sm; + padding-inline: forms.$form-floating-padding-x-sm; + + ~ label { + font-size: forms.$form-floating-label-font-size-placeholder-sm; + padding-top: forms.$form-floating-label-padding-t-sm; + padding-inline: calc(#{forms.$form-floating-padding-x-sm} - #{forms.$input-border-width}); + } + + &:focus, + &:not(:placeholder-shown) { + padding-top: forms.$form-floating-padding-y-sm * 2; + + ~ label { + padding-top: forms.$form-floating-padding-y-sm; + font-size: forms.$form-floating-label-font-size-sm; + } + } + } } > .form-select { @@ -161,7 +185,7 @@ } > textarea.form-control { - padding-top: forms.$input-padding-y-lg * 1.5; + padding-top: forms.$input-padding-y-lg * 2; padding-bottom: forms.$input-padding-y-lg; height: auto; @@ -174,7 +198,7 @@ &:focus, &:not(:placeholder-shown) { - padding-top: forms.$input-padding-y-lg * 1.5; + padding-top: forms.$input-padding-y-lg * 2; padding-bottom: forms.$input-padding-y-lg; ~ label { diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index b47e6a93aa..4022f71e1f 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -10,17 +10,19 @@ @use './../variables/components/form-select' as form-select; .form-select-rg { - @include forms-mixins.form-control-rg; -} - -.form-select-lg { - background-size: form-select.$form-select-bg-size; + @include forms-mixins.form-rg; } .form-select-sm { + @include forms-mixins.form-sm; background-size: form-select.$form-select-bg-size-sm; } +.form-select-lg { + @include forms-mixins.form-lg; + background-size: form-select.$form-select-bg-size; +} + .form-select { &:not(:disabled) { &:hover { diff --git a/packages/styles/src/components/forms.scss b/packages/styles/src/components/forms.scss index 1e4528a07f..9e3feb498f 100644 --- a/packages/styles/src/components/forms.scss +++ b/packages/styles/src/components/forms.scss @@ -13,7 +13,15 @@ @use './../themes/bootstrap/forms/input-group' as bfig; .form-control-rg { - @include form-mixins.form-control-rg; + @include form-mixins.form-rg; +} + +.form-control-sm { + @include form-mixins.form-sm; +} + +.form-control-lg { + @include form-mixins.form-lg; } select.form-control-rg:not([size]):not([multiple]) { @@ -35,11 +43,6 @@ select.form-control-rg:not([size]):not([multiple]) { &[type='file'] { position: relative; - min-height: calc( - (1rem * forms.$input-line-height) + (forms.$input-padding-y * 2) + - (forms.$input-border-width * 2) - ); - &::file-selector-button { display: block; position: absolute; @@ -108,11 +111,6 @@ select.form-control-rg:not([size]):not([multiple]) { } &.form-control-sm { - min-height: calc( - (1rem * forms.$input-line-height-sm) + (forms.$input-padding-y-sm * 2) + - (forms.$input-border-width * 2) - ); - &::after { padding-inline: forms.$input-padding-y-sm; } @@ -130,11 +128,6 @@ select.form-control-rg:not([size]):not([multiple]) { } &.form-control-lg { - min-height: calc( - (1rem * forms.$input-line-height-lg) + (forms.$input-padding-y-lg * 2) + - (forms.$input-border-width * 2) - ); - &::after { padding-inline: forms.$input-padding-y-lg; } diff --git a/packages/styles/src/components/timepicker.scss b/packages/styles/src/components/timepicker.scss index 153e8a9fcd..7ab75098f3 100644 --- a/packages/styles/src/components/timepicker.scss +++ b/packages/styles/src/components/timepicker.scss @@ -76,7 +76,7 @@ } .form-control { - @include form-mixins.form-control-rg; + @include form-mixins.form-rg; } } diff --git a/packages/styles/src/mixins/_forms.scss b/packages/styles/src/mixins/_forms.scss index 5f03d973f6..48e17d207a 100644 --- a/packages/styles/src/mixins/_forms.scss +++ b/packages/styles/src/mixins/_forms.scss @@ -27,12 +27,26 @@ background-position: calc(100% - #{form-validation.$form-feedback-icon-offset}) center; } -@mixin form-control-rg { +@mixin form-rg { padding: forms.$input-padding-y-rg forms.$input-padding-x-rg; font-size: type.$font-size-regular; line-height: forms.$input-line-height-rg; } +@mixin form-sm { + font-size: type.$font-size-14; + line-height: forms.$input-line-height-sm; + height: forms.$input-height-sm; + min-height: forms.$input-height-sm; +} + +@mixin form-lg { + font-size: type.$font-size-16; + line-height: forms.$input-line-height-lg; + height: forms.$input-height-lg; + min-height: forms.$input-height-lg; +} + @mixin focus-outline { outline: none; outline-offset: forms.$input-focus-outline-thickness; diff --git a/packages/styles/src/variables/components/_forms.scss b/packages/styles/src/variables/components/_forms.scss index f8442872e8..67b821ed5f 100644 --- a/packages/styles/src/variables/components/_forms.scss +++ b/packages/styles/src/variables/components/_forms.scss @@ -30,7 +30,7 @@ $input-padding-y-rg: button.$input-btn-padding-y-rg !default; $input-padding-x-rg: button.$input-btn-padding-x-rg !default; $input-line-height-rg: type.$line-height-copy !default; -$input-padding-y-lg: spacing.$size-small-large !default; +$input-padding-y-lg: sizing.px-to-rem(11) !default; $input-padding-x-lg: button.$input-btn-padding-x-lg !default; $input-line-height-lg: type.$line-height-copy !default; @@ -63,26 +63,25 @@ $input-height-border: $input-border-width * 2 !default; $input-height-content: type.$font-size-base * $input-line-height !default; $input-height-inner: $input-height-content + ($input-padding-y * 2) !default; -$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default; +$input-height: $input-height-inner + sizing.px-to-rem($input-height-border) !default; -$input-height-content-sm: type.$font-size-tiny * $input-line-height-sm !default; -$input-height-inner-sm: $input-height-content-sm + ($input-padding-y-sm * 2) !default; -$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default; +$input-height-content-sm: type.$font-size-14 * 1 !default; +$input-height-inner-sm: $input-height-content-sm + ($input-padding-y-sm * 2) + sizing.px-to-rem(2) !default; // + 2px approximation from Figma mockup +$input-height-sm: $input-height-inner-sm + sizing.px-to-rem($input-height-border) !default; -$form-floating-input-height-content-sm: type.$font-size-12 * $input-line-height-sm * 2 !default; +$form-floating-input-height-content-sm: type.$font-size-14 * 1 !default; $form-floating-input-height-inner-sm: $form-floating-input-height-content-sm + - ($input-padding-y-sm * 2) !default; -$form-floating-input-height-sm: calc( - #{$form-floating-input-height-inner-sm} + #{$input-height-border} -) !default; + (spacing.$size-regular * 2) - sizing.px-to-rem(2) !default; // - 2px approximation from Figma mockup +$form-floating-input-height-sm: $form-floating-input-height-inner-sm + + sizing.px-to-rem($input-height-border) !default; $input-height-content-rg: type.$font-size-regular * $input-line-height-rg !default; $input-height-inner-rg: $input-height-content-rg + ($input-padding-y-rg * 2) !default; $input-height-rg: calc(#{$input-height-inner-rg} + #{$input-height-border}) !default; -$input-height-content-lg: type.$font-size-medium * $input-line-height-lg !default; -$input-height-inner-lg: $input-height-content-lg + ($input-padding-y-lg * 2) !default; // Design System -$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default; +$input-height-content-lg: (type.$font-size-16 * $input-line-height-lg) - sizing.px-to-rem(2) !default; // - 2px and remove approximation in Figma +$input-height-inner-lg: $input-height-content-lg + ($input-padding-y-lg * 2) !default; +$input-height-lg: $input-height-inner-lg + sizing.px-to-rem($input-height-border) !default; $input-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !default; @@ -117,14 +116,14 @@ $form-range-input-height-ie: 6rem !default; $form-file-button-hover-bg: $input-bg; -$form-floating-height: $input-height-lg; +$form-floating-height: $input-height-lg * $input-line-height-lg; $form-floating-padding-x: $input-padding-x-lg; $form-floating-padding-y: $input-padding-y-lg; $form-floating-line-height: type.$line-height-copy; $form-floating-input-padding-t: spacing.$size-large; $form-floating-input-padding-b: 0; $form-floating-label-opacity: 1; -$form-floating-label-height: $input-height-inner-lg; +$form-floating-label-height: $form-floating-height; $form-floating-label-color: $input-placeholder-color; $form-floating-label-font-size: type.$font-size-bigger-regular; $form-floating-label-font-size-small: type.$font-size-tiny; @@ -133,10 +132,8 @@ $form-floating-label-scale: math.div( $form-floating-label-font-size ); $form-floating-label-upscale: math.div(1, $form-floating-label-scale); -$form-floating-label-padding-t: calc( - #{$input-border-width} + #{$form-floating-label-height * 0.5} - #{$form-floating-label-font-size * - type.$line-height-copy * 0.5} -); +$form-floating-label-padding-t: $form-floating-label-height * 0.5 - $form-floating-label-font-size * + type.$line-height-copy * 0.5; $form-floating-label-translate-x: $form-floating-padding-x * (1 - $form-floating-label-scale); $form-floating-label-transform: scale($form-floating-label-scale); $form-floating-transition: animation.$transition-base; @@ -147,10 +144,9 @@ width 0ms linear; $form-floating-select-bg-size: 32px 32px; $form-floating-label-font-size-sm: type.$font-size-12; -$form-floating-label-font-size-placeholder-sm: type.$font-size-14; // TODO: replace with input font-size after adjustment +$form-floating-label-font-size-placeholder-sm: type.$font-size-14; $form-floating-padding-x-sm: $input-padding-x-sm; $form-floating-padding-y-sm: $input-padding-y-sm; -$form-floating-label-height-sm: $form-floating-input-height-inner-sm; -$form-floating-label-padding-t-sm: calc( - #{$input-border-width} + #{$form-floating-label-height-sm * 0.5} - #{$form-floating-label-font-size-sm} -); +$form-floating-label-height-sm: $form-floating-input-height-sm; +$form-floating-label-padding-t-sm: $form-floating-label-height-sm * 0.5 - + $form-floating-label-font-size-sm; From 1122cfa8a31d8fd95c9ff6635f0329e807e4fa17 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:54:38 +0100 Subject: [PATCH 14/36] Add changeset --- .changeset/grumpy-pianos-dress.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/grumpy-pianos-dress.md diff --git a/.changeset/grumpy-pianos-dress.md b/.changeset/grumpy-pianos-dress.md new file mode 100644 index 0000000000..4b669f5bed --- /dev/null +++ b/.changeset/grumpy-pianos-dress.md @@ -0,0 +1,5 @@ +--- +'@swisspost/design-system-styles': patch +--- + +Updated `form-control` and `form-select` sizes and added support for floating label small size variant. From 8db2880f5057e0a77a1f663671115e95acd2cd23 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:56:00 +0100 Subject: [PATCH 15/36] Fix test --- packages/styles/tests/mixins/forms.test.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/styles/tests/mixins/forms.test.scss b/packages/styles/tests/mixins/forms.test.scss index 8084002667..90d53b5ae7 100644 --- a/packages/styles/tests/mixins/forms.test.scss +++ b/packages/styles/tests/mixins/forms.test.scss @@ -6,6 +6,6 @@ body { } @include forms.icon-placement(); - @include forms.form-control-rg(); + @include forms.form-rg(); @include forms.focus-outline(); } From bb7bd036ec9234d2df1886cd6699f47f3dc438a0 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:58:23 +0100 Subject: [PATCH 16/36] Fix mixins test --- packages/styles/tests/mixins/index.test.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/styles/tests/mixins/index.test.scss b/packages/styles/tests/mixins/index.test.scss index 10dd6f6184..9a00dbb4a3 100644 --- a/packages/styles/tests/mixins/index.test.scss +++ b/packages/styles/tests/mixins/index.test.scss @@ -8,7 +8,7 @@ body { color: red; } @include mixins.icon-placement(); - @include mixins.form-control-rg(); + @include mixins.form-rg(); @include mixins.focus-outline(); @include mixins.bezel-small(); From ceb12ac846e7d4550bef88638ef0b4fe0061ab97 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:35:30 +0100 Subject: [PATCH 17/36] Fix icon size validation --- .../styles/src/components/form-select.scss | 20 +++++++++---------- .../src/components/form-validation.scss | 8 ++++++++ .../variables/components/_form-select.scss | 2 -- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 4022f71e1f..e4a6f5d6b8 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -15,12 +15,12 @@ .form-select-sm { @include forms-mixins.form-sm; - background-size: form-select.$form-select-bg-size-sm; + background-size: forms.$form-bg-size-sm; } .form-select-lg { @include forms-mixins.form-lg; - background-size: form-select.$form-select-bg-size; + background-size: forms.$form-bg-size; } .form-select { @@ -32,30 +32,28 @@ &.is-valid, &.is-invalid { - background-position: - right b.$form-select-padding-x * 2.5 center, - b.$form-select-bg-position; + background-position: right b.$form-select-padding-x * 2.5 center, + b.$form-select-bg-position; &.form-select-lg { - background-position: - right b.$form-select-padding-x * 3 center, - b.$form-select-bg-position; + background-position: right b.$form-select-padding-x * 3 center, + b.$form-select-bg-position; } } &:disabled { background-image: b.escape-svg(form-select.$form-select-indicator-disabled), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } &.is-valid { background-image: b.escape-svg(form-select.$form-select-indicator-success), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } &.is-invalid { background-image: b.escape-svg(form-select.$form-select-indicator-error), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } @include utilities.high-contrast-mode() { diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index a0826fca5c..ebd865cc88 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -61,6 +61,14 @@ background-repeat: no-repeat; background-position: right b.$input-height-inner-quarter center; background-size: form-validation.$form-feedback-icon-size; + + &.form-control-sm { + background-size: forms.$form-bg-size-sm; + } + + &.form-control-lg { + background-size: forms.$form-bg-size; + } } } diff --git a/packages/styles/src/variables/components/_form-select.scss b/packages/styles/src/variables/components/_form-select.scss index c800e62c32..48fa0fd668 100644 --- a/packages/styles/src/variables/components/_form-select.scss +++ b/packages/styles/src/variables/components/_form-select.scss @@ -7,8 +7,6 @@ $form-select-disabled-color: forms.$input-disabled-color; $form-select-disabled-bg: forms.$input-disabled-bg; $form-select-disabled-border-color: forms.$input-disabled-border-color; $form-select-indicator-color: color.$black; -$form-select-bg-size: 32px 32px !default; -$form-select-bg-size-sm: 24px 24px !default; $_form-select-indicator-icon: icons.get-colored-svg-url('2113', $form-select-indicator-color); $form-select-indicator: url($_form-select-indicator-icon) !default; $form-select-indicator-disabled: url(icons.get-colored-svg-url( From 066c48761b3a6ff9b41bf6bcee4480738ed5bf4d Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:32:50 +0100 Subject: [PATCH 18/36] Add floatingLabel small variant to snapshot --- .../stories/components/forms/input/input.snapshot.stories.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/documentation/src/stories/components/forms/input/input.snapshot.stories.ts b/packages/documentation/src/stories/components/forms/input/input.snapshot.stories.ts index 74a94cc21c..d7d17ef37a 100644 --- a/packages/documentation/src/stories/components/forms/input/input.snapshot.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.snapshot.stories.ts @@ -20,6 +20,10 @@ function renderInputSnapshot(_args: Args, context: StoryContext) { label: `Label - with Value`, value: 'Lorem Ipsum', }, + { + label: `Label - Floating label`, + floatingLabel: true, + }, ]; return html`
From 8521bbf25ced3bfd52463bd48881ddc19888274a Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:33:52 +0100 Subject: [PATCH 19/36] Improve date native icon centering --- packages/styles/src/components/floating-label.scss | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index d8acc96921..794882d94a 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -40,6 +40,18 @@ // disable stylelint here, because the classes are coming from bs5 @extend .form-control-lg; /* stylelint-disable-line */ + &.form-control-sm { + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-regular); + } + } + + &.form-control-lg { + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-large); + } + } + &:focus { @include forms-mx.placeholder { color: rgba(var(--post-contrast-color-rgb), 0.6); From 95bb3c3c201185f5c5a35128cbc1c35f50defc2f Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:40:15 +0100 Subject: [PATCH 20/36] Fix missing import --- packages/styles/src/components/floating-label.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 794882d94a..f29433817e 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -229,7 +229,7 @@ ~ label { width: calc( 100% - (#{forms.$input-border-width * 2}) - #{forms.$form-floating-padding-x} - #{form-validation.$form-feedback-icon-offset} - - #{form-validation.$form-feedback-icon-size} + #{form-validation.$form-feedback-icon-size} ); } From 20546a8da8873c021453b0116df4f91dfd51b329 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:46:39 +0100 Subject: [PATCH 21/36] Lint --- packages/styles/src/components/form-select.scss | 16 +++++++++------- .../variables/components/_form-validation.scss | 3 ++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index e4a6f5d6b8..d08583b53b 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -32,28 +32,30 @@ &.is-valid, &.is-invalid { - background-position: right b.$form-select-padding-x * 2.5 center, - b.$form-select-bg-position; + background-position: + right b.$form-select-padding-x * 2.5 center, + b.$form-select-bg-position; &.form-select-lg { - background-position: right b.$form-select-padding-x * 3 center, - b.$form-select-bg-position; + background-position: + right b.$form-select-padding-x * 3 center, + b.$form-select-bg-position; } } &:disabled { background-image: b.escape-svg(form-select.$form-select-indicator-disabled), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } &.is-valid { background-image: b.escape-svg(form-select.$form-select-indicator-success), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } &.is-invalid { background-image: b.escape-svg(form-select.$form-select-indicator-error), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } @include utilities.high-contrast-mode() { diff --git a/packages/styles/src/variables/components/_form-validation.scss b/packages/styles/src/variables/components/_form-validation.scss index dd5b80534e..33084fb24a 100644 --- a/packages/styles/src/variables/components/_form-validation.scss +++ b/packages/styles/src/variables/components/_form-validation.scss @@ -23,6 +23,7 @@ $form-feedback-invalid-bg: color.$error !default; $form-feedback-invalid-text: color.$white !default; $form-feedback-custom-color: color.$success !default; $form-feedback-custom-bg: color.$success !default; -$form-feedback-invalid-box-shadow: 0 0 0 forms.$input-focus-width rgba($form-feedback-invalid-color, 0.25) !default; +$form-feedback-invalid-box-shadow: 0 0 0 forms.$input-focus-width + rgba($form-feedback-invalid-color, 0.25) !default; $form-feedback-custom-text: color.$white !default; $form-feedback-custom-box-shadow: 0 0 0 0.2rem rgba($form-feedback-custom-color, 0.25) !default; From f2306a016b0a9933823504b5d877eecb4cc6cad1 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:51:47 +0100 Subject: [PATCH 22/36] Lint --- packages/styles/src/components/floating-label.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index f29433817e..794882d94a 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -229,7 +229,7 @@ ~ label { width: calc( 100% - (#{forms.$input-border-width * 2}) - #{forms.$form-floating-padding-x} - #{form-validation.$form-feedback-icon-offset} - - #{form-validation.$form-feedback-icon-size} + #{form-validation.$form-feedback-icon-size} ); } From 5bb5e477152efe843edb908ee755efb8c9df2fb4 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:53:04 +0100 Subject: [PATCH 23/36] Fix code smell --- packages/styles/src/components/floating-label.scss | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 794882d94a..dc2b41c52f 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -88,6 +88,10 @@ min-height: forms.$form-floating-label-height-sm; padding-inline: forms.$form-floating-padding-x-sm; + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-regular); + } + ~ label { font-size: forms.$form-floating-label-font-size-placeholder-sm; padding-top: forms.$form-floating-label-padding-t-sm; @@ -104,6 +108,12 @@ } } } + + &.form-control-lg { + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-large); + } + } } > .form-select { From 09ec89eb8f5b637b753071998bac2f921e3ee7fc Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:33:32 +0100 Subject: [PATCH 24/36] Change input story to display large variant by default --- .../src/stories/components/forms/input/input.stories.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 126ea1f7bd..55d8fc7877 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -20,7 +20,7 @@ const meta: Meta = { hiddenLabel: false, placeholder: 'Placeholder', type: 'text', - size: 'null', + size: 'form-control-lg', hint: 'Hintus textus elare volare cantare hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.', disabled: false, validation: 'null', From 80204c29e00a4b7cb0fc502b0eff847c886f5e80 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 14:58:56 +0100 Subject: [PATCH 25/36] Fix line-height and padding --- packages/styles/src/mixins/_forms.scss | 2 ++ packages/styles/src/variables/_type.scss | 1 + packages/styles/src/variables/components/_button.scss | 2 +- packages/styles/src/variables/components/_forms.scss | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/styles/src/mixins/_forms.scss b/packages/styles/src/mixins/_forms.scss index 48e17d207a..640a227806 100644 --- a/packages/styles/src/mixins/_forms.scss +++ b/packages/styles/src/mixins/_forms.scss @@ -38,6 +38,8 @@ line-height: forms.$input-line-height-sm; height: forms.$input-height-sm; min-height: forms.$input-height-sm; + padding-block: forms.$input-padding-y-sm; + padding-inline: forms.$input-padding-x-sm; } @mixin form-lg { diff --git a/packages/styles/src/variables/_type.scss b/packages/styles/src/variables/_type.scss index c7dd2c2015..81f3a265dd 100644 --- a/packages/styles/src/variables/_type.scss +++ b/packages/styles/src/variables/_type.scss @@ -41,6 +41,7 @@ $font-size-40: sizing.px-to-rem(40px); $font-size-48: sizing.px-to-rem(48px); $font-size-56: sizing.px-to-rem(56px); +$line-height-sm: 1; $line-height-copy: 1.5; $line-height-heading: 1.2; diff --git a/packages/styles/src/variables/components/_button.scss b/packages/styles/src/variables/components/_button.scss index 4770c034ef..85c8f7d824 100644 --- a/packages/styles/src/variables/components/_button.scss +++ b/packages/styles/src/variables/components/_button.scss @@ -19,7 +19,7 @@ $input-btn-padding-x: spacing.$size-small-large - $input-btn-border-width-rem !d $input-btn-line-height: type.$line-height-copy !default; $input-btn-padding-y-sm: spacing.$size-mini - $input-btn-border-width-rem !default; -$input-btn-padding-x-sm: spacing.$size-regular - $input-btn-border-width-rem !default; +$input-btn-padding-x-sm: spacing.$size-small-regular !default; $input-btn-line-height-sm: type.$line-height-copy !default; $input-btn-padding-y-rg: spacing.$size-small-regular - $input-btn-border-width-rem !default; diff --git a/packages/styles/src/variables/components/_forms.scss b/packages/styles/src/variables/components/_forms.scss index 67b821ed5f..d0e2b93bc7 100644 --- a/packages/styles/src/variables/components/_forms.scss +++ b/packages/styles/src/variables/components/_forms.scss @@ -24,7 +24,7 @@ $input-line-height: type.$line-height-copy !default; $input-padding-y-sm: button.$input-btn-padding-y-sm !default; $input-padding-x-sm: button.$input-btn-padding-x-sm !default; -$input-line-height-sm: type.$line-height-copy !default; +$input-line-height-sm: type.$line-height-sm !default; $input-padding-y-rg: button.$input-btn-padding-y-rg !default; $input-padding-x-rg: button.$input-btn-padding-x-rg !default; From 018aacd1d63d032efc165f0747e874ae7ec56d07 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 15:12:42 +0100 Subject: [PATCH 26/36] Remove duplication --- packages/styles/src/components/floating-label.scss | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index dc2b41c52f..794882d94a 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -88,10 +88,6 @@ min-height: forms.$form-floating-label-height-sm; padding-inline: forms.$form-floating-padding-x-sm; - &[type='date']::-webkit-calendar-picker-indicator { - margin-top: -(spacing.$size-small-regular); - } - ~ label { font-size: forms.$form-floating-label-font-size-placeholder-sm; padding-top: forms.$form-floating-label-padding-t-sm; @@ -108,12 +104,6 @@ } } } - - &.form-control-lg { - &[type='date']::-webkit-calendar-picker-indicator { - margin-top: -(spacing.$size-small-large); - } - } } > .form-select { From f1012c373e22118748e71e8f3bcd2ab9805a77b9 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Mon, 8 Jan 2024 15:16:23 +0100 Subject: [PATCH 27/36] Improve structure --- .../styles/src/components/floating-label.scss | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 794882d94a..ba5a70b215 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -40,18 +40,6 @@ // disable stylelint here, because the classes are coming from bs5 @extend .form-control-lg; /* stylelint-disable-line */ - &.form-control-sm { - &[type='date']::-webkit-calendar-picker-indicator { - margin-top: -(spacing.$size-small-regular); - } - } - - &.form-control-lg { - &[type='date']::-webkit-calendar-picker-indicator { - margin-top: -(spacing.$size-small-large); - } - } - &:focus { @include forms-mx.placeholder { color: rgba(var(--post-contrast-color-rgb), 0.6); @@ -83,6 +71,9 @@ } &.form-control-sm { + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-regular); + } font-size: forms.$form-floating-label-font-size-placeholder-sm; height: forms.$form-floating-label-height-sm; min-height: forms.$form-floating-label-height-sm; @@ -104,6 +95,12 @@ } } } + + &.form-control-lg { + &[type='date']::-webkit-calendar-picker-indicator { + margin-top: -(spacing.$size-small-large); + } + } } > .form-select { From 825c4f19b0cbb701fe115832b3ac7c5c8b759be4 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 9 Jan 2024 16:11:53 +0100 Subject: [PATCH 28/36] Fixes for input multiple and arrows --- .../styles/src/components/floating-label.scss | 7 ++- .../styles/src/components/form-select.scss | 52 +++++++++++++------ 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index ba5a70b215..ca06d01bc7 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -154,7 +154,12 @@ 2} - #{forms.$form-floating-padding-x * forms.$form-floating-label-upscale} ); height: auto; - background: forms.$input-bg; + } + + &:not(:disabled) { + ~ label { + background: forms.$input-bg; + } } &:empty { diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index d08583b53b..203e3c9fd4 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -9,8 +9,13 @@ @use './../variables/components/forms'; @use './../variables/components/form-select' as form-select; +.form-select { + background-size: forms.$form-bg-size; // Support deprecated medium size +} + .form-select-rg { @include forms-mixins.form-rg; + background-size: forms.$form-bg-size; } .form-select-sm { @@ -30,32 +35,47 @@ } } - &.is-valid, - &.is-invalid { - background-position: - right b.$form-select-padding-x * 2.5 center, + &:not([multiple]) { + &:disabled { + background-image: b.escape-svg(form-select.$form-select-indicator-disabled), + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + } + + &.is-valid, + &.is-invalid { + background-position: right b.$form-select-padding-x * 2.5 center, b.$form-select-bg-position; - &.form-select-lg { - background-position: - right b.$form-select-padding-x * 3 center, + &.form-select-lg { + background-position: right b.$form-select-padding-x * 3 center, b.$form-select-bg-position; + } } - } - &:disabled { - background-image: b.escape-svg(form-select.$form-select-indicator-disabled), + &.is-valid { + background-image: b.escape-svg(form-select.$form-select-indicator-success), var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); - } + } - &.is-valid { - background-image: b.escape-svg(form-select.$form-select-indicator-success), + &.is-invalid { + background-image: b.escape-svg(form-select.$form-select-indicator-error), var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + } } - &.is-invalid { - background-image: b.escape-svg(form-select.$form-select-indicator-error), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + &[multiple] { + &.is-valid, + &.is-invalid { + background-position: right b.$form-select-padding-x * 1.5 center; + } + + &.is-valid { + background-image: b.escape-svg(form-select.$form-select-indicator-success), var(--bs-form-select-bg-icon, none); + } + + &.is-invalid { + background-image: b.escape-svg(form-select.$form-select-indicator-error), var(--bs-form-select-bg-icon, none); + } } @include utilities.high-contrast-mode() { From 465c19d3ad28b9a46561c142a672f37ac67f9097 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 9 Jan 2024 16:13:52 +0100 Subject: [PATCH 29/36] Lint --- .../styles/src/components/form-select.scss | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 203e3c9fd4..53602c71fb 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -43,23 +43,25 @@ &.is-valid, &.is-invalid { - background-position: right b.$form-select-padding-x * 2.5 center, - b.$form-select-bg-position; + background-position: + right b.$form-select-padding-x * 2.5 center, + b.$form-select-bg-position; &.form-select-lg { - background-position: right b.$form-select-padding-x * 3 center, - b.$form-select-bg-position; + background-position: + right b.$form-select-padding-x * 3 center, + b.$form-select-bg-position; } } &.is-valid { background-image: b.escape-svg(form-select.$form-select-indicator-success), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } &.is-invalid { background-image: b.escape-svg(form-select.$form-select-indicator-error), - var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); } } @@ -70,11 +72,13 @@ } &.is-valid { - background-image: b.escape-svg(form-select.$form-select-indicator-success), var(--bs-form-select-bg-icon, none); + background-image: b.escape-svg(form-select.$form-select-indicator-success), + var(--bs-form-select-bg-icon, none); } &.is-invalid { - background-image: b.escape-svg(form-select.$form-select-indicator-error), var(--bs-form-select-bg-icon, none); + background-image: b.escape-svg(form-select.$form-select-indicator-error), + var(--bs-form-select-bg-icon, none); } } From 6846d5e9ba660bfb4cacfd5b9b36023645b16931 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 16 Jan 2024 12:00:35 +0100 Subject: [PATCH 30/36] Fix code smell --- packages/styles/src/components/form-select.scss | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 53602c71fb..9e02d2b2a3 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -9,10 +9,6 @@ @use './../variables/components/forms'; @use './../variables/components/form-select' as form-select; -.form-select { - background-size: forms.$form-bg-size; // Support deprecated medium size -} - .form-select-rg { @include forms-mixins.form-rg; background-size: forms.$form-bg-size; @@ -29,6 +25,8 @@ } .form-select { + background-size: forms.$form-bg-size; // Support deprecated medium size + &:not(:disabled) { &:hover { border-color: var(--post-contrast-color); From 12f2b1f8cd13bc0fe1a0ec3956aac2b55e7d4e60 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 30 Jan 2024 12:42:40 +0100 Subject: [PATCH 31/36] Hide deprecated sizes when using floating-label --- .../components/forms/input/input.docs.mdx | 6 +-- .../components/forms/input/input.stories.ts | 25 ++++++++++ .../components/forms/select/select.docs.mdx | 2 +- .../forms/select/select.snapshot.stories.ts | 6 +-- .../components/forms/select/select.stories.ts | 25 ++++++++++ .../styles/src/components/floating-label.scss | 50 ++++++++++--------- packages/styles/src/mixins/_forms.scss | 2 - 7 files changed, 82 insertions(+), 34 deletions(-) diff --git a/packages/documentation/src/stories/components/forms/input/input.docs.mdx b/packages/documentation/src/stories/components/forms/input/input.docs.mdx index af9ad338ec..7d0d221de8 100644 --- a/packages/documentation/src/stories/components/forms/input/input.docs.mdx +++ b/packages/documentation/src/stories/components/forms/input/input.docs.mdx @@ -48,11 +48,7 @@ The size can be changed by simply adding one of four classes: - Large: `.form-control-lg`
-

Do not apply size classes on floating-label elements

-
- It is not intended to apply the size classes to `input` elements that are nested in a - `.form-floating` container. -
+ Regular and medium size classes are not available on floating-label elements
diff --git a/packages/documentation/src/stories/components/forms/input/input.stories.ts b/packages/documentation/src/stories/components/forms/input/input.stories.ts index 3e03da8e17..b750710b8d 100644 --- a/packages/documentation/src/stories/components/forms/input/input.stories.ts +++ b/packages/documentation/src/stories/components/forms/input/input.stories.ts @@ -21,6 +21,7 @@ const meta: Meta = { placeholder: 'Placeholder', type: 'text', size: 'form-control-lg', + sizeFloatingLabel: 'form-control-lg', hint: 'Hintus textus elare volare cantare hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.', disabled: false, validation: 'null', @@ -103,6 +104,10 @@ const meta: Meta = { size: { name: 'Size', description: "Sets the size of the component's appearance.", + if: { + arg: 'floatingLabel', + truthy: false, + }, control: { type: 'select', labels: { @@ -117,6 +122,25 @@ const meta: Meta = { category: 'General', }, }, + sizeFloatingLabel: { + name: 'Size', + description: "Sets the size of the component's appearance.", + if: { + arg: 'floatingLabel', + truthy: true, + }, + control: { + type: 'select', + labels: { + 'form-control-sm': 'Small', + 'form-control-lg': 'Large', + }, + }, + options: ['form-control-sm', 'form-control-lg'], + table: { + category: 'General', + }, + }, hint: { name: 'Helper Text', description: 'Text to place in the help text area of the component.', @@ -167,6 +191,7 @@ function render(args: Args, context: StoryContext) { 'form-control', args.type === 'color' && 'form-control-color', args.size, + args.sizeFloatingLabel, args.validation, ] .filter(c => c && c !== 'null') diff --git a/packages/documentation/src/stories/components/forms/select/select.docs.mdx b/packages/documentation/src/stories/components/forms/select/select.docs.mdx index da4a05428f..0c2d063261 100644 --- a/packages/documentation/src/stories/components/forms/select/select.docs.mdx +++ b/packages/documentation/src/stories/components/forms/select/select.docs.mdx @@ -53,7 +53,7 @@ The size can be adjusted, by simply adding one of the following four classes: - Large: `.form-select-lg`
- Do not use this classes on `select` elements wrapped within a `.form-floating` container. + Regular and medium size classes are not available on floating-label elements
diff --git a/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts b/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts index c79332a0ee..8c3791a873 100644 --- a/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts +++ b/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts @@ -33,14 +33,14 @@ export const Select: Story = { ...bombArgs({ size: context.argTypes.size.options, success: [false, true], - validation: context.argTypes.validation.options.filter((option: string) => option !== 'is-invalid'), + validation: context.argTypes.validation.options.filter( + (option: string) => option !== 'is-invalid', + ), }), ] // remove disabled & validated examples .filter((args: Args) => !(args.disabled && args.validation !== 'null')); - console.log('bombArg', bombArgsGeneratedDefault); - //Arguments for Multiple Version const bombArgsGeneratedMultiple = [ ...bombArgs({ diff --git a/packages/documentation/src/stories/components/forms/select/select.stories.ts b/packages/documentation/src/stories/components/forms/select/select.stories.ts index fa6249d803..16ee308f2d 100644 --- a/packages/documentation/src/stories/components/forms/select/select.stories.ts +++ b/packages/documentation/src/stories/components/forms/select/select.stories.ts @@ -21,6 +21,7 @@ const meta: Meta = { hiddenLabel: false, value: undefined, size: 'form-select-lg', + sizeFloatingLabel: 'form-select-lg', options: 5, multiple: false, multipleSize: 4, @@ -77,6 +78,10 @@ const meta: Meta = { size: { name: 'Size', description: "Sets the size of the component's appearance.", + if: { + arg: 'floatingLabel', + truthy: false, + }, control: { type: 'select', labels: { @@ -91,6 +96,25 @@ const meta: Meta = { category: 'General', }, }, + sizeFloatingLabel: { + name: 'Size', + description: "Sets the size of the component's appearance.", + if: { + arg: 'floatingLabel', + truthy: true, + }, + control: { + type: 'select', + labels: { + 'form-select-sm': 'Small', + 'form-select-lg': 'Large', + }, + }, + options: ['form-select-sm', 'form-select-lg'], + table: { + category: 'General', + }, + }, options: { name: 'Options', description: 'Amount of `option` elements to render in the component.', @@ -185,6 +209,7 @@ const Template: Story = { const classes = [ 'form-select', args.size, + args.sizeFloatingLabel, args.validation, args.floatingLabelPlaceholder && !args.value ? 'form-select-empty' : null, ] diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index ca06d01bc7..3a8351868c 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -140,11 +140,38 @@ } } + &.form-select-sm { + padding-inline: forms.$form-floating-padding-x-sm; + padding-top: forms.$form-floating-padding-y-sm * 2; + font-size: forms.$form-floating-label-font-size-placeholder-sm; + height: forms.$form-floating-label-height-sm; + min-height: forms.$form-floating-label-height-sm; + + ~ label { + padding-top: forms.$form-floating-padding-y-sm; + font-size: forms.$form-floating-label-font-size-sm; + padding-inline: calc(#{forms.$form-floating-padding-x-sm} - #{forms.$input-border-width}); + } + + // TODO: replace with :has + &:empty, + &.form-select-empty { + ~ label { + padding-top: forms.$form-floating-label-padding-t-sm; + font-size: forms.$form-floating-label-font-size-placeholder-sm; + } + } + } + &[multiple] { padding-top: forms.$form-floating-input-padding-t * 1.5; padding-bottom: 0; height: auto; + &.form-select-sm { + padding-top: forms.$form-floating-input-padding-t; + } + ~ label { padding-top: forms.$input-padding-y-lg * forms.$form-floating-label-scale; padding-bottom: 0; @@ -173,29 +200,6 @@ } } } - - &.form-select-sm { - padding-inline: forms.$form-floating-padding-x-sm; - padding-top: forms.$form-floating-padding-y-sm * 2; - font-size: forms.$form-floating-label-font-size-placeholder-sm; - height: forms.$form-floating-label-height-sm; - min-height: forms.$form-floating-label-height-sm; - - ~ label { - padding-top: forms.$form-floating-padding-y-sm; - font-size: forms.$form-floating-label-font-size-sm; - padding-inline: calc(#{forms.$form-floating-padding-x-sm} - #{forms.$input-border-width}); - } - - // TODO: replace with :has - &:empty, - &.form-select-empty { - ~ label { - padding-top: forms.$form-floating-label-padding-t-sm; - font-size: forms.$form-floating-label-font-size-placeholder-sm; - } - } - } } > textarea.form-control { diff --git a/packages/styles/src/mixins/_forms.scss b/packages/styles/src/mixins/_forms.scss index 640a227806..48445dfba5 100644 --- a/packages/styles/src/mixins/_forms.scss +++ b/packages/styles/src/mixins/_forms.scss @@ -36,7 +36,6 @@ @mixin form-sm { font-size: type.$font-size-14; line-height: forms.$input-line-height-sm; - height: forms.$input-height-sm; min-height: forms.$input-height-sm; padding-block: forms.$input-padding-y-sm; padding-inline: forms.$input-padding-x-sm; @@ -45,7 +44,6 @@ @mixin form-lg { font-size: type.$font-size-16; line-height: forms.$input-line-height-lg; - height: forms.$input-height-lg; min-height: forms.$input-height-lg; } From 3d12da277a775c4789155dcb528b341e13991f00 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:06:51 +0100 Subject: [PATCH 32/36] Remove success from snapshots --- .../components/forms/select/select.snapshot.stories.ts | 1 - .../src/utils/inputComponentsGetCombinations.ts | 9 --------- 2 files changed, 10 deletions(-) diff --git a/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts b/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts index 8c3791a873..ed877711f8 100644 --- a/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts +++ b/packages/documentation/src/stories/components/forms/select/select.snapshot.stories.ts @@ -32,7 +32,6 @@ export const Select: Story = { }), ...bombArgs({ size: context.argTypes.size.options, - success: [false, true], validation: context.argTypes.validation.options.filter( (option: string) => option !== 'is-invalid', ), diff --git a/packages/documentation/src/utils/inputComponentsGetCombinations.ts b/packages/documentation/src/utils/inputComponentsGetCombinations.ts index 0086a91b2e..c8d8a8b9e6 100644 --- a/packages/documentation/src/utils/inputComponentsGetCombinations.ts +++ b/packages/documentation/src/utils/inputComponentsGetCombinations.ts @@ -24,19 +24,10 @@ export const COMBINATIONS = [ label: `${SHORT_LABEL} - Disabled`, disabled: true, }, - { - label: `${SHORT_LABEL} - Success`, - success: true, - }, { label: `${SHORT_LABEL} - Valid`, validation: 'is-valid', }, - { - label: `${SHORT_LABEL} - Valid with success`, - validation: 'is-valid', - success: true, - }, { label: `${SHORT_LABEL} - Invalid`, validation: 'is-invalid', From ba75717a120e520bd0775971fd0d3927edfa5dd7 Mon Sep 17 00:00:00 2001 From: "Debray Alize, IT16.12" Date: Tue, 30 Jan 2024 13:29:10 +0100 Subject: [PATCH 33/36] fix(docs): update select snapshot tests --- .../snapshots/components/select.snapshot.ts | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/packages/documentation/cypress/snapshots/components/select.snapshot.ts b/packages/documentation/cypress/snapshots/components/select.snapshot.ts index f0995c7ce2..107354d6e7 100644 --- a/packages/documentation/cypress/snapshots/components/select.snapshot.ts +++ b/packages/documentation/cypress/snapshots/components/select.snapshot.ts @@ -1,14 +1,7 @@ -const SELECTBASEURL = '/iframe.html?id=snapshots--select'; -const multiple = ['default', 'multiple']; - describe('Select', () => { - describe('multiple', () => { - multiple.forEach(multiple => { - it(multiple, () => { - cy.visit(`${SELECTBASEURL}${multiple}`); - cy.get('.form-select', { timeout: 30000 }).should('be.visible'); - cy.percySnapshot(`Selects-${multiple}`, { widths: [400] }); - }); - }); + it('default', () => { + cy.visit('/iframe.html?id=snapshots--select'); + cy.get('.form-select', { timeout: 30000 }).should('be.visible'); + cy.percySnapshot('Selects', { widths: [400] }); }); }); From f58875bf9ac057ef44d3ed12f9c3956eb10add4d Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 30 Jan 2024 15:09:17 +0100 Subject: [PATCH 34/36] Slight improvement for select multiple --- .../styles/src/components/floating-label.scss | 17 +++++++++++------ .../styles/src/variables/components/_forms.scss | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 3a8351868c..8188d7b8c5 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -150,7 +150,7 @@ ~ label { padding-top: forms.$form-floating-padding-y-sm; font-size: forms.$form-floating-label-font-size-sm; - padding-inline: calc(#{forms.$form-floating-padding-x-sm} - #{forms.$input-border-width}); + padding-inline: forms.$form-floating-padding-x-sm; } // TODO: replace with :has @@ -164,14 +164,10 @@ } &[multiple] { - padding-top: forms.$form-floating-input-padding-t * 1.5; + padding-top: spacing.$size-big; padding-bottom: 0; height: auto; - &.form-select-sm { - padding-top: forms.$form-floating-input-padding-t; - } - ~ label { padding-top: forms.$input-padding-y-lg * forms.$form-floating-label-scale; padding-bottom: 0; @@ -181,6 +177,15 @@ 2} - #{forms.$form-floating-padding-x * forms.$form-floating-label-upscale} ); height: auto; + left: forms.$input-border-width * 3; + } + + &.form-select-sm { + padding-top: forms.$form-floating-input-padding-t; + + ~ label { + left: forms.$input-border-width * 2; + } } &:not(:disabled) { diff --git a/packages/styles/src/variables/components/_forms.scss b/packages/styles/src/variables/components/_forms.scss index a8da0275cb..2610e272af 100644 --- a/packages/styles/src/variables/components/_forms.scss +++ b/packages/styles/src/variables/components/_forms.scss @@ -149,7 +149,7 @@ $form-floating-select-bg-size: 32px 32px; $form-floating-label-font-size-sm: type.$font-size-12; $form-floating-label-font-size-placeholder-sm: type.$font-size-14; -$form-floating-padding-x-sm: $input-padding-x-sm; +$form-floating-padding-x-sm: spacing.$size-regular; $form-floating-padding-y-sm: $input-padding-y-sm; $form-floating-label-height-sm: $form-floating-input-height-sm; $form-floating-label-padding-t-sm: $form-floating-label-height-sm * 0.5 - From 0231a08e4766f8192495c6aa81bb02ad1e4c2be0 Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 30 Jan 2024 15:42:10 +0100 Subject: [PATCH 35/36] Improvement position of validation icon for date and time input and try to remove duplication. --- .../styles/src/components/floating-label.scss | 12 ++--- .../styles/src/components/form-select.scss | 32 ++++++------ .../src/components/form-validation.scss | 49 ++++++++++++------- .../components/_form-validation.scss | 2 + 4 files changed, 54 insertions(+), 41 deletions(-) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index 8188d7b8c5..f84f1be399 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -4,6 +4,7 @@ @forward './../variables/options'; @use './../lic/bootstrap-license'; +@use './../themes/bootstrap/core' as b; @use './../themes/bootstrap/forms/floating-labels' as bffl; @use './../themes/bootstrap/forms/form-control' as bffc; @use './../mixins/forms' as forms-mx; @@ -70,6 +71,11 @@ } } + &[type='date'], + &[type='time'] { + background-position: right b.$input-height-inner-quarter bottom 0.5rem; + } + &.form-control-sm { &[type='date']::-webkit-calendar-picker-indicator { margin-top: -(spacing.$size-small-regular); @@ -95,12 +101,6 @@ } } } - - &.form-control-lg { - &[type='date']::-webkit-calendar-picker-indicator { - margin-top: -(spacing.$size-small-large); - } - } } > .form-select { diff --git a/packages/styles/src/components/form-select.scss b/packages/styles/src/components/form-select.scss index 9e02d2b2a3..26235abfee 100644 --- a/packages/styles/src/components/form-select.scss +++ b/packages/styles/src/components/form-select.scss @@ -9,24 +9,7 @@ @use './../variables/components/forms'; @use './../variables/components/form-select' as form-select; -.form-select-rg { - @include forms-mixins.form-rg; - background-size: forms.$form-bg-size; -} - -.form-select-sm { - @include forms-mixins.form-sm; - background-size: forms.$form-bg-size-sm; -} - -.form-select-lg { - @include forms-mixins.form-lg; - background-size: forms.$form-bg-size; -} - .form-select { - background-size: forms.$form-bg-size; // Support deprecated medium size - &:not(:disabled) { &:hover { border-color: var(--post-contrast-color); @@ -96,3 +79,18 @@ } } } + +.form-select-rg { + @include forms-mixins.form-rg; + background-size: forms.$form-bg-size; // Set arrow size. Duplicated rule in form-validation for is-valid/is-invalid icon. +} + +.form-select-sm { + @include forms-mixins.form-sm; + background-size: forms.$form-bg-size-sm; // Set arrow size. Duplicated rule in form-validation for is-valid/is-invalid icon. +} + +.form-select-lg { + @include forms-mixins.form-lg; + background-size: forms.$form-bg-size; // Set arrow size. Duplicated rule in form-validation for is-valid/is-invalid icon. +} diff --git a/packages/styles/src/components/form-validation.scss b/packages/styles/src/components/form-validation.scss index fd1cfa3b52..010fb06350 100644 --- a/packages/styles/src/components/form-validation.scss +++ b/packages/styles/src/components/form-validation.scss @@ -101,30 +101,43 @@ .form-control, .form-select { - @include form-validation-mx.form-validation-state-selector(invalid) { + &.is-invalid { border-color: form-validation.$form-feedback-invalid-color; + background-image: b.escape-svg(form-validation.$form-feedback-icon-invalid); - &.is-valid { - padding-right: spacing.$size-small-huge; // For deprecated form-control-rg - border-color: var(--post-success-green); - background-image: b.escape-svg(form-validation.$form-feedback-icon-valid); - background-repeat: no-repeat; - background-position: right b.$input-height-inner-quarter center; + &:focus { + border-color: form-validation.$form-feedback-invalid-color; + box-shadow: form-validation.$form-feedback-invalid-box-shadow; + } + } - &.form-control-sm { - padding-right: spacing.$size-bigger-big; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon - background-size: forms.$form-bg-size-sm; // Add space between background icons (ours and the one from bootstrap) - } + &.is-valid { + border-color: var(--post-success-green); + background-image: b.escape-svg(form-validation.$form-feedback-icon-valid); - &.form-control-lg { - padding-right: spacing.$size-small-huge; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon - background-size: forms.$form-bg-size; // Add space between background icons (ours and the one from bootstrap) - } + &:focus { + border-color: form-validation.$form-feedback-valid-color; + box-shadow: form-validation.$form-feedback-valid-box-shadow; } + } - &:focus { - border-color: form-validation.$form-feedback-invalid-color; - box-shadow: form-validation.$form-feedback-invalid-box-shadow; + &.is-invalid, + &.is-valid { + padding-right: spacing.$size-small-huge; // For deprecated form-control-rg + background-repeat: no-repeat; + background-size: forms.$form-bg-size; // Duplicated rule in form-select for arrow size. + background-position: right b.$input-height-inner-quarter center; + + &.form-select-sm, + &.form-control-sm { + padding-right: spacing.$size-bigger-big; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon + background-size: forms.$form-bg-size-sm; // Add space between background icons (ours and the one from bootstrap). Duplicated rule in form-select for arrow size. + } + + &.form-select-lg, + &.form-control-lg { + padding-right: spacing.$size-small-huge; // Included in bootstrap and prevent native icon (e.g. with input[type=date]) to stack over success icon + background-size: forms.$form-bg-size; // Add space between background icons (ours and the one from bootstrap). Duplicated rule in form-select for arrow size. } } } diff --git a/packages/styles/src/variables/components/_form-validation.scss b/packages/styles/src/variables/components/_form-validation.scss index 33084fb24a..2f66876809 100644 --- a/packages/styles/src/variables/components/_form-validation.scss +++ b/packages/styles/src/variables/components/_form-validation.scss @@ -25,5 +25,7 @@ $form-feedback-custom-color: color.$success !default; $form-feedback-custom-bg: color.$success !default; $form-feedback-invalid-box-shadow: 0 0 0 forms.$input-focus-width rgba($form-feedback-invalid-color, 0.25) !default; +$form-feedback-valid-box-shadow: 0 0 0 forms.$input-focus-width +rgba($form-feedback-valid-color, 0.25) !default; $form-feedback-custom-text: color.$white !default; $form-feedback-custom-box-shadow: 0 0 0 0.2rem rgba($form-feedback-custom-color, 0.25) !default; From 179a9a78f976117e6e25dd6d9960875c792a9e5a Mon Sep 17 00:00:00 2001 From: imagoiq <12294151+imagoiq@users.noreply.github.com> Date: Tue, 30 Jan 2024 16:05:24 +0100 Subject: [PATCH 36/36] Support week and month input type --- packages/styles/src/components/floating-label.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/styles/src/components/floating-label.scss b/packages/styles/src/components/floating-label.scss index f84f1be399..c0ea34fc5b 100644 --- a/packages/styles/src/components/floating-label.scss +++ b/packages/styles/src/components/floating-label.scss @@ -71,6 +71,8 @@ } } + &[type='week'], + &[type='month'], &[type='date'], &[type='time'] { background-position: right b.$input-height-inner-quarter bottom 0.5rem;