diff --git a/.changeset/long-bottles-think.md b/.changeset/long-bottles-think.md new file mode 100644 index 0000000000..98d669ebb8 --- /dev/null +++ b/.changeset/long-bottles-think.md @@ -0,0 +1,11 @@ +--- +"@justeattakeaway/pie-textarea": minor +"pie-storybook": patch +--- + +[Added] - resize prop for textarea +[Added] - auto and manual sizing functionality +[Added] - styling for different sizes +[Added] - disabled and focus styles +[Added] - visual and component tests +[Changed] - update textarea storybook story diff --git a/apps/pie-storybook/stories/pie-textarea.stories.ts b/apps/pie-storybook/stories/pie-textarea.stories.ts index 412f9951ce..83b078974f 100644 --- a/apps/pie-storybook/stories/pie-textarea.stories.ts +++ b/apps/pie-storybook/stories/pie-textarea.stories.ts @@ -3,7 +3,9 @@ import { ifDefined } from 'lit/directives/if-defined.js'; /* eslint-disable import/no-duplicates */ import '@justeattakeaway/pie-textarea'; -import { TextareaProps, defaultProps, sizes } from '@justeattakeaway/pie-textarea'; +import { + TextareaProps, defaultProps, resizeModes, sizes, +} from '@justeattakeaway/pie-textarea'; /* eslint-enable import/no-duplicates */ import { type StoryMeta } from '../types'; @@ -21,7 +23,7 @@ const textareaStoryMeta: TextareaStoryMeta = { description: 'If true, disables the textarea field.', control: 'boolean', defaultValue: { - summary: false, + summary: defaultProps.disabled, }, }, size: { @@ -32,6 +34,14 @@ const textareaStoryMeta: TextareaStoryMeta = { summary: defaultProps.size, }, }, + resize: { + description: 'Controls the resizing behaviour of the textarea. Can be `auto` or `manual`. Defaults to `auto`.', + control: 'select', + options: resizeModes, + defaultValue: { + summary: defaultProps.resize, + }, + }, }, args: defaultArgs, parameters: { @@ -44,12 +54,14 @@ const textareaStoryMeta: TextareaStoryMeta = { const Template = ({ disabled, + resize, size, }: TextareaProps) => html` - - + + `; export const Default = createStory(Template, defaultArgs)(); diff --git a/packages/components/pie-modal/test/visual/pie-modal.spec.ts b/packages/components/pie-modal/test/visual/pie-modal.spec.ts index 6c3073168a..95001bbb65 100644 --- a/packages/components/pie-modal/test/visual/pie-modal.spec.ts +++ b/packages/components/pie-modal/test/visual/pie-modal.spec.ts @@ -640,7 +640,7 @@ test.describe('Prop: `isFooterPinned`', () => { test.describe('Prop: `hasStackedActions`', () => { test.describe('when true', () => { - (['small', 'medium', 'large'] as Array) + sizes .forEach((size) => { test(`should display actions full width (at narrow viewports – with leading action on top) for a modal with size = ${size}`, async ({ page, mount }) => { await mount(PieModal, { diff --git a/packages/components/pie-textarea/README.md b/packages/components/pie-textarea/README.md index f2fd352c93..5c678b093a 100644 --- a/packages/components/pie-textarea/README.md +++ b/packages/components/pie-textarea/README.md @@ -72,10 +72,11 @@ import { PieTextarea } from '@justeattakeaway/pie-textarea/dist/react'; ## Props -| Property | Type | Default | Description | -|------------|----------------------------|----------|----------------------------------------------------| -| `disabled` | `boolean` | `false` | Indicates whether or not the textarea is disabled. | -| `size` | `small`, `medium`, `large` | `medium` | The size of the textarea field. | +| Property | Type | Default | Description | +| --- | --- | --- | --- | +| `disabled` | `boolean` | `false` | Indicates whether or not the textarea is disabled. | +| `size` | `"small"`, `"medium"`, `"large"` | `"medium"` | The size of the textarea field. | +| `resize` | `"auto"`, `"manual"` | `"auto"` | Controls the resizing behaviour of the textarea. | In your markup or JSX, you can then use these to set the properties for the `pie-textarea` component: diff --git a/packages/components/pie-textarea/package.json b/packages/components/pie-textarea/package.json index 17c9554d90..d1e578925d 100644 --- a/packages/components/pie-textarea/package.json +++ b/packages/components/pie-textarea/package.json @@ -37,10 +37,12 @@ "devDependencies": { "@custom-elements-manifest/analyzer": "0.9.0", "@justeattakeaway/pie-components-config": "0.16.0", + "@types/lodash.throttle": "4.1.9", "cem-plugin-module-file-extensions": "0.0.5" }, "dependencies": { - "@justeattakeaway/pie-webc-core": "0.24.0" + "@justeattakeaway/pie-webc-core": "0.24.0", + "lodash.throttle": "4.1.1" }, "volta": { "extends": "../../../package.json" diff --git a/packages/components/pie-textarea/src/defs.ts b/packages/components/pie-textarea/src/defs.ts index 7ad3842ac6..69c02b8c33 100644 --- a/packages/components/pie-textarea/src/defs.ts +++ b/packages/components/pie-textarea/src/defs.ts @@ -1,6 +1,7 @@ import { type ComponentDefaultProps } from '@justeattakeaway/pie-webc-core'; export const sizes = ['small', 'medium', 'large'] as const; +export const resizeModes = ['auto', 'manual'] as const; export interface TextareaProps { /** @@ -12,6 +13,13 @@ export interface TextareaProps { * The size of the textarea field. Can be `small`, `medium` or `large`. Defaults to `medium`. */ size?: typeof sizes[number]; + + /** + * The resize mode of the textarea. Can be `auto` or `manual`. Defaults to `auto`. + * When set to `auto`, the textarea will resize vertically as needed. + * When set to `manual`, the textarea will not resize automatically but can be resized by the user. + */ + resize?: typeof resizeModes[number]; } /** @@ -25,4 +33,5 @@ type DefaultProps = ComponentDefaultProps; export const defaultProps: DefaultProps = { disabled: false, size: 'medium', + resize: 'auto', }; diff --git a/packages/components/pie-textarea/src/index.ts b/packages/components/pie-textarea/src/index.ts index a0143dbc59..afb9707134 100644 --- a/packages/components/pie-textarea/src/index.ts +++ b/packages/components/pie-textarea/src/index.ts @@ -1,11 +1,15 @@ -import { LitElement, html, unsafeCSS } from 'lit'; -import { property } from 'lit/decorators.js'; -import { ifDefined } from 'lit/directives/if-defined.js'; +import { + LitElement, html, unsafeCSS, PropertyValues, +} from 'lit'; +import { property, query } from 'lit/decorators.js'; +import throttle from 'lodash.throttle'; import { validPropertyValues, RtlMixin, defineCustomElement } from '@justeattakeaway/pie-webc-core'; import styles from './textarea.scss?inline'; -import { TextareaProps, defaultProps, sizes } from './defs'; +import { + TextareaProps, defaultProps, sizes, resizeModes, +} from './defs'; // Valid values available to consumers export * from './defs'; @@ -19,25 +23,52 @@ export class PieTextarea extends RtlMixin(LitElement) implements TextareaProps { static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }; @property({ type: Boolean, reflect: true }) - public disabled?: TextareaProps['disabled']; + public disabled = defaultProps.disabled; @property({ type: String }) @validPropertyValues(componentSelector, sizes, defaultProps.size) - public size?: TextareaProps['size'] = defaultProps.size; + public size = defaultProps.size; + + @property({ type: String }) + @validPropertyValues(componentSelector, resizeModes, defaultProps.resize) + public resize = defaultProps.resize; + + @query('textarea') + private _textarea!: HTMLTextAreaElement; + + private _throttledResize = throttle(() => { + if (this.resize === 'auto') { + this._textarea.style.height = 'auto'; + this._textarea.style.height = `${this._textarea.scrollHeight + 2}px`; // +2 for border thicknesses + } + }, 100); + + private handleResize () { + this._throttledResize(); + } + + updated (changedProperties: PropertyValues) { + if (this.resize === 'auto' && (changedProperties.has('resize') || changedProperties.has('size'))) { + this.handleResize(); + } + } render () { const { disabled, + resize, size, } = this; return html`
+ class="c-textareaWrapper" + data-test-id="pie-textarea-wrapper" + data-pie-size="${size}" + data-pie-resize="${resize}">
`; diff --git a/packages/components/pie-textarea/src/textarea.scss b/packages/components/pie-textarea/src/textarea.scss index 4d4f5d2f09..41f44d6cf3 100644 --- a/packages/components/pie-textarea/src/textarea.scss +++ b/packages/components/pie-textarea/src/textarea.scss @@ -1,22 +1,89 @@ @use '@justeattakeaway/pie-css/scss' as p; -.c-textarea { - --textarea-height: 72px; +// Heights are being defined based on the line height of the text and the padding. +// Changing the `size` property affects the padding and therefore the height of the textarea. +// Default height is two lines of text. +// Minimum height in manual resize mode is one line of text. +// Maximum height in auto resize mode is six lines of text. +.c-textareaWrapper { + --textarea-line-height: #{p.line-height(--dt-font-body-l-line-height)}; + --textarea-border-thickness: 1px; + --textarea-resize: none; + --textarea-padding-inline: var(--dt-spacing-d); + --textarea-padding-block: var(--dt-spacing-c); + --textarea-background-color: var(--dt-color-container-default); + --textarea-border-color: var(--dt-color-interactive-form); + --textarea-content-color: var(--dt-color-content-default); - height: var(--textarea-height); + // Default height is two lines of text + --textarea-height: calc((var(--textarea-line-height) * 2) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); + + line-height: 0; // Remove once there is text outside the textarea + + textarea { + @include p.font-size(--dt-font-body-l-size); + line-height: var(--textarea-line-height); + font-family: var(--dt-font-body-l-family); + resize: var(--textarea-resize); + border: var(--textarea-border-thickness) solid var(--textarea-border-color); + background-color: var(--textarea-background-color); + color: var(--textarea-content-color); + + border-radius: var(--dt-radius-rounded-c); + block-size: var(--textarea-height); + max-block-size: var(--textarea-max-height); + min-block-size: var(--textarea-min-height); + + padding-block-start: var(--textarea-padding-block); + padding-block-end: var(--textarea-padding-block); + padding-inline-start: var(--textarea-padding-inline); + padding-inline-end: var(--textarea-padding-inline); + + &[disabled] { + --textarea-background-color: var(--dt-color-disabled-01); + --textarea-border-color: var(--dt-color-disabled-01); + --textarea-content-color: var(--dt-color-content-disabled); + } + + @media (hover: hover) { + &:hover:not([disabled]) { + --textarea-background-color: hsl(var(--dt-color-container-default-h), var(--dt-color-container-default-s), calc(var(--dt-color-container-default-l) + calc(-1 * var(--dt-color-hover-01)))); + } + } + + &:focus-visible { + @include p.focus; + } + } &[data-pie-size="large"] { - --textarea-height: 80px; + --textarea-padding-block: var(--dt-spacing-d); } &[data-pie-size="small"] { - --textarea-height: 64px; + --textarea-padding-block: var(--dt-spacing-b); } - textarea { - width: 100%; - height: 100%; + &[data-pie-resize="manual"] { + --textarea-resize: vertical; + + // Minimum is one line of text + --textarea-min-height: calc((var(--textarea-line-height) * 1) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); // One line of text + + @media (pointer: coarse) { + // Fixed size for touch devices + --textarea-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); + --textarea-min-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); + --textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); + --textarea-resize: none; + } } -} + &[data-pie-resize="auto"] { + // Maximum is six lines of text + --textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2) + (var(--textarea-border-thickness) * 2)); + // Minimum is two lines of text + --textarea-min-height: var(--textarea-height); + } +} diff --git a/packages/components/pie-textarea/test/component/pie-textarea.spec.ts b/packages/components/pie-textarea/test/component/pie-textarea.spec.ts index 64316cc743..4a7c658726 100644 --- a/packages/components/pie-textarea/test/component/pie-textarea.spec.ts +++ b/packages/components/pie-textarea/test/component/pie-textarea.spec.ts @@ -3,7 +3,7 @@ import { test, expect } from '@sand4rt/experimental-ct-web'; import { PieTextarea, TextareaProps } from '../../src/index.ts'; const componentSelector = '[data-test-id="pie-textarea"]'; -const componentShellSelector = '[data-test-id="pie-textarea-shell"]'; +const componentWrapperSelector = '[data-test-id="pie-textarea-wrapper"]'; test.describe('PieTextarea - Component tests', () => { // IMPORTANT: Mounting and Unmounting the component before each test ensures that any tests that do not explicitly @@ -89,13 +89,13 @@ test.describe('PieTextarea - Component tests', () => { const component = await mount(PieTextarea, {}); // Act - const textareaShell = component.locator(componentShellSelector); + const textareaWrapper = component.locator(componentWrapperSelector); // Assert - expect(textareaShell).toHaveAttribute('data-pie-size', 'medium'); + expect(textareaWrapper).toHaveAttribute('data-pie-size', 'medium'); }); - test('should apply `large` size prop to the HTML textarea rendered', async ({ mount }) => { + test('should apply `large` size attribute to the textarea wrapper', async ({ mount }) => { // Arrange const component = await mount(PieTextarea, { props: { @@ -104,13 +104,13 @@ test.describe('PieTextarea - Component tests', () => { }); // Act - const textareaShell = component.locator(componentShellSelector); + const textareaWrapper = component.locator(componentWrapperSelector); // Assert - expect(textareaShell).toHaveAttribute('data-pie-size', 'large'); + expect(textareaWrapper).toHaveAttribute('data-pie-size', 'large'); }); - test('should apply `small` size prop to the HTML textarea rendered', async ({ mount }) => { + test('should apply `small` size attribute to the textarea wrapper', async ({ mount }) => { // Arrange const component = await mount(PieTextarea, { props: { @@ -119,10 +119,53 @@ test.describe('PieTextarea - Component tests', () => { }); // Act - const textareaShell = component.locator(componentShellSelector); + const textareaWrapper = component.locator(componentWrapperSelector); // Assert - expect(textareaShell).toHaveAttribute('data-pie-size', 'small'); + expect(textareaWrapper).toHaveAttribute('data-pie-size', 'small'); + }); + }); + + test.describe('resize', () => { + test('should apply `auto` resize prop by default if no resize prop provided', async ({ mount }) => { + // Arrange + const component = await mount(PieTextarea, {}); + + // Act + const textareaWrapper = component.locator(componentWrapperSelector); + + // Assert + expect(textareaWrapper).toHaveAttribute('data-pie-resize', 'auto'); + }); + + test('should apply `manual` resize attribute to the textarea wrapper', async ({ mount }) => { + // Arrange + const component = await mount(PieTextarea, { + props: { + resize: 'manual', + } as TextareaProps, + }); + + // Act + const textareaWrapper = component.locator(componentWrapperSelector); + + // Assert + expect(textareaWrapper).toHaveAttribute('data-pie-resize', 'manual'); + }); + + test('should apply `auto` resize attribute to the textarea wrapper', async ({ mount }) => { + // Arrange + const component = await mount(PieTextarea, { + props: { + resize: 'auto', + } as TextareaProps, + }); + + // Act + const textareaWrapper = component.locator(componentWrapperSelector); + + // Assert + expect(textareaWrapper).toHaveAttribute('data-pie-resize', 'auto'); }); }); }); diff --git a/packages/components/pie-textarea/test/visual/pie-textarea.spec.ts b/packages/components/pie-textarea/test/visual/pie-textarea.spec.ts index 1b4e938722..dd4a9904d2 100644 --- a/packages/components/pie-textarea/test/visual/pie-textarea.spec.ts +++ b/packages/components/pie-textarea/test/visual/pie-textarea.spec.ts @@ -1,29 +1,11 @@ -import { test } from '@sand4rt/experimental-ct-web'; +import { test, expect } from '@sand4rt/experimental-ct-web'; import percySnapshot from '@percy/playwright'; -import type { - WebComponentPropValues, WebComponentTestInput, -} from '@justeattakeaway/pie-webc-testing/src/helpers/defs.ts'; -import { - createTestWebComponent, -} from '@justeattakeaway/pie-webc-testing/src/helpers/rendering.ts'; -import { - WebComponentTestWrapper, -} from '@justeattakeaway/pie-webc-testing/src/helpers/components/web-component-test-wrapper/WebComponentTestWrapper.ts'; import { percyWidths } from '@justeattakeaway/pie-webc-testing/src/percy/breakpoints.ts'; -import { setRTL } from '@justeattakeaway/pie-webc-testing/src/helpers/set-rtl-direction.ts'; import { PieTextarea } from '../../src/index.ts'; +import { sizes } from '../../src/defs.ts'; -const readingDirections = ['LTR', 'RTL']; - -const renderTestPieTextarea = (propVals: WebComponentPropValues) => { - let attributes = ''; - - if (propVals.disabled) attributes += ' disabled'; - if (propVals.size) attributes += ` size="${propVals.size}"`; - - return ``; -}; +const componentSelector = '[data-test-id="pie-textarea"]'; test.beforeEach(async ({ mount }, testInfo) => { testInfo.setTimeout(testInfo.timeout + 40000); @@ -34,64 +16,129 @@ test.beforeEach(async ({ mount }, testInfo) => { await component.unmount(); }); -test('Size variants', async ({ mount, page }) => { - const sizeVariants = ['small', 'medium', 'large']; - - await Promise.all(sizeVariants.map(async (size) => { - const testComponent: WebComponentTestInput = createTestWebComponent({ size }, renderTestPieTextarea); - const propKeyValues = `size: ${testComponent.propValues.size}`; - - await mount( - WebComponentTestWrapper, - { - props: { propKeyValues }, - slots: { - component: testComponent.renderedString.trim(), - }, - }, - ); - })); - - await percySnapshot(page, 'PIE Textarea - Size variants', percyWidths); -}); - -await Promise.all(readingDirections.map(async (dir) => { - test(`Content and props - ${dir}`, async ({ mount, page }) => { - if (dir === 'RTL') { - setRTL(page); - } +sizes.forEach((size) => { + test(`should render correctly with size: ${size}`, async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + size, + } as PieTextarea, + }); - let testComponent: WebComponentTestInput = createTestWebComponent({ value: 'String' }, renderTestPieTextarea); + const textarea = page.locator(componentSelector); - // Disabled placeholder - testComponent = createTestWebComponent({ - disabled: true, - }, renderTestPieTextarea); + await expect.soft(textarea).toBeVisible(); - let propKeyValues = `disabled: ${testComponent.propValues.disabled}`; + await percySnapshot(page, `Textarea - size: "${size}"`, percyWidths); + }); +}); - await mount( - WebComponentTestWrapper, - { - props: { propKeyValues }, - }, - ); +test.describe('disabled', () => { + test('should render correctly when disabled', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + disabled: true, + } as PieTextarea, + }); - // Not Disabled placeholder - testComponent = createTestWebComponent({ - disabled: false, - }, renderTestPieTextarea); + await percySnapshot(page, 'Textarea - disabled: true', percyWidths); + }); - propKeyValues = `disabled: ${testComponent.propValues.disabled}`; + test('should render correctly when not disabled', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + disabled: false, + } as PieTextarea, + }); - await mount( - WebComponentTestWrapper, - { - props: { propKeyValues }, - }, - ); + await percySnapshot(page, 'Textarea - disabled: false', percyWidths); + }); +}); - await percySnapshot(page, `PIE Textarea - Content and props - ${dir}`, percyWidths); +test.describe('Resize mode:', () => { + test.describe('auto', () => { + test('should render correctly with resize mode: auto', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'auto', + } as PieTextarea, + }); + + await percySnapshot(page, 'Textarea - resize: "auto"', percyWidths); + }); + + test('should resize the textarea vertically', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'auto', + } as PieTextarea, + }); + + const textarea = await page.locator(componentSelector); + + await textarea.fill('The default height is enough for two lines of text, but it should grow if you type more.'); + await page.waitForTimeout(250); // Wait for throttled resize event to fire. + + await percySnapshot(page, 'Textarea - resize: "auto" (multiline content)', percyWidths); + }); + + test('should overflow when content exceeds maximum height', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'auto', + } as PieTextarea, + }); + + const textarea = await page.locator(componentSelector); + await textarea.fill('The default height is enough for two lines of text, but it should grow if you type more. If you reach more than six lines of content, the element will not continue to grow and scrollbars will appear.'); + await page.waitForTimeout(250); // Wait for throttled resize event to fire. + + await percySnapshot(page, 'Textarea - resize mode: auto - with overflowing content', percyWidths); + }); + + test('should not be able to be made taller than its maximum height', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'auto', + } as PieTextarea, + }); + + const textarea = await page.locator(componentSelector); + await textarea.fill('This textarea has been filled with enough text for the automatic resizing to reach its maximum height. Some content should be cut off and you should not be able to see the end of this text. If this happens then the maximum height is not being limited correctly.'); + await page.waitForTimeout(250); // Wait for throttled resize event to fire. + + await page.evaluate(() => { + const textarea = document.querySelector('pie-textarea'); + textarea?.shadowRoot?.querySelector('textarea')?.setAttribute('style', 'height: 600px;'); // Setting the height too high, maxHeight should override this. + }); + + await percySnapshot(page, 'Textarea - resize: "auto" - with large height', percyWidths); + }); }); -})); + test.describe('manual', () => { + test('should render correctly with resize mode: manual', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'manual', + } as PieTextarea, + }); + + await percySnapshot(page, 'Textarea - resize: "manual"', percyWidths); + }); + + test('should render correctly with a large height', async ({ page, mount }) => { + await mount(PieTextarea, { + props: { + resize: 'manual', + } as PieTextarea, + }); + + await page.evaluate(() => { + const textarea = document.querySelector('pie-textarea'); + textarea?.shadowRoot?.querySelector('textarea')?.setAttribute('style', 'height: 600px;'); + }); + + await percySnapshot(page, 'Textarea - resize: "manual" - with large height', percyWidths); + }); + }); +}); diff --git a/yarn.lock b/yarn.lock index 220097fd75..a869a598af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -736,10 +736,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.4, @babel/compat-data@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/compat-data@npm:7.24.7" - checksum: 1fc276825dd434fe044877367dfac84171328e75a8483a6976aa28bf833b32367e90ee6df25bdd97c287d1aa8019757adcccac9153de70b1932c0d243a978ae9 +"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.4, @babel/compat-data@npm:^7.24.7, @babel/compat-data@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/compat-data@npm:7.24.8" + checksum: 75b2cf8220ad17ec50486a461c3fecb60cae6498b1beec3946dabf894129d03d34d9b545bbd3e81c8f9d36570a8b4d1965c694b16c02868926510c3374822c39 languageName: node linkType: hard @@ -812,7 +812,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.24.7, @babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.5, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.3, @babel/core@npm:^7.23.7, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": +"@babel/core@npm:7.24.7": version: 7.24.7 resolution: "@babel/core@npm:7.24.7" dependencies: @@ -835,7 +835,30 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:7.24.7, @babel/eslint-parser@npm:^7.16.3": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.5, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.3, @babel/core@npm:^7.23.7, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": + version: 7.24.8 + resolution: "@babel/core@npm:7.24.8" + dependencies: + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.24.7 + "@babel/generator": ^7.24.8 + "@babel/helper-compilation-targets": ^7.24.8 + "@babel/helper-module-transforms": ^7.24.8 + "@babel/helpers": ^7.24.8 + "@babel/parser": ^7.24.8 + "@babel/template": ^7.24.7 + "@babel/traverse": ^7.24.8 + "@babel/types": ^7.24.8 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: 1ccb168b7c170f9816b66a2e80f89684c6b56058b4abe21ae43e0aa0645a1bb2553790199f5a29d0d3dd778f7d5e9b33f5048edf97a39e218d305d99e35a9350 + languageName: node + linkType: hard + +"@babel/eslint-parser@npm:7.24.7": version: 7.24.7 resolution: "@babel/eslint-parser@npm:7.24.7" dependencies: @@ -849,6 +872,20 @@ __metadata: languageName: node linkType: hard +"@babel/eslint-parser@npm:^7.16.3": + version: 7.24.8 + resolution: "@babel/eslint-parser@npm:7.24.8" + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals": 5.1.1-v1 + eslint-visitor-keys: ^2.1.0 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + checksum: 4ca8845b6b068185af1c5b28217a005f370887cf8489983263bc7aebcc2290774a37ad9b971b78fbc3eca6a3d812306153f892b37525c3fc6be43e79c446d39e + languageName: node + linkType: hard + "@babel/generator@npm:7.20.14": version: 7.20.14 resolution: "@babel/generator@npm:7.20.14" @@ -860,15 +897,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.19.3, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.5, @babel/generator@npm:^7.24.7, @babel/generator@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/generator@npm:7.24.7" +"@babel/generator@npm:^7.19.3, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.5, @babel/generator@npm:^7.24.7, @babel/generator@npm:^7.24.8, @babel/generator@npm:^7.7.2": + version: 7.24.8 + resolution: "@babel/generator@npm:7.24.8" dependencies: - "@babel/types": ^7.24.7 + "@babel/types": ^7.24.8 "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 jsesc: ^2.5.1 - checksum: 0ff31a73b15429f1287e4d57b439bba4a266f8c673bb445fe313b82f6d110f586776997eb723a777cd7adad9d340edd162aea4973a90112c5d0cfcaf6686844b + checksum: 167ecc888ac4ba72eec18209d05e867ad730685ca5e5af2ad0682cfcf33f3b4819a2c087a414100e4f03c2d4e806054442f7b368753ab7d8462ad820190f09d1 languageName: node linkType: hard @@ -900,27 +937,27 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.19.3, @babel/helper-compilation-targets@npm:^7.20.0, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6, @babel/helper-compilation-targets@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-compilation-targets@npm:7.24.7" +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.19.3, @babel/helper-compilation-targets@npm:^7.20.0, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-compilation-targets@npm:7.24.8" dependencies: - "@babel/compat-data": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - browserslist: ^4.22.2 + "@babel/compat-data": ^7.24.8 + "@babel/helper-validator-option": ^7.24.8 + browserslist: ^4.23.1 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: dfc88bc35e223ade796c7267901728217c665adc5bc2e158f7b0ae850de14f1b7941bec4fe5950ae46236023cfbdeddd9c747c276acf9b39ca31f8dd97dc6cc6 + checksum: 40c9e87212fffccca387504b259a629615d7df10fc9080c113da6c51095d3e8b622a1409d9ed09faf2191628449ea28d582179c5148e2e993a3140234076b8da languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.8" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 "@babel/helper-environment-visitor": ^7.24.7 "@babel/helper-function-name": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 + "@babel/helper-member-expression-to-functions": ^7.24.8 "@babel/helper-optimise-call-expression": ^7.24.7 "@babel/helper-replace-supers": ^7.24.7 "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 @@ -928,7 +965,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 371a181a1717a9b0cebc97727c8ea9ca6afa34029476a684b6030f9d1ad94dcdafd7de175da10b63ae3ba79e4e82404db8ed968ebf264b768f097e5d64faab71 + checksum: b4707e2c4a2cb504d7656168d887bf653db6fbe8ece4502e28e5798f2ec624dc606f2d6bc4820d31b4dc1b80f7d83d98db83516dda321a76c075e5f531abed0b languageName: node linkType: hard @@ -1004,13 +1041,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.24.7, @babel/helper-member-expression-to-functions@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 9fecf412f85fa23b7cf55d19eb69de39f8240426a028b141c9df2aed8cfedf20b3ec3318d40312eb7a3dec9eea792828ce0d590e0ff62da3da532482f537192c + "@babel/traverse": ^7.24.8 + "@babel/types": ^7.24.8 + checksum: bf923d05d81b06857f4ca4fe9c528c9c447a58db5ea39595bb559eae2fce01a8266173db0fd6a2ec129d7bbbb9bb22f4e90008252f7c66b422c76630a878a4bc languageName: node linkType: hard @@ -1033,9 +1070,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.19.0, @babel/helper-module-transforms@npm:^7.20.11, @babel/helper-module-transforms@npm:^7.24.5, @babel/helper-module-transforms@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-transforms@npm:7.24.7" +"@babel/helper-module-transforms@npm:^7.19.0, @babel/helper-module-transforms@npm:^7.20.11, @babel/helper-module-transforms@npm:^7.24.5, @babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-module-transforms@npm:7.24.8" dependencies: "@babel/helper-environment-visitor": ^7.24.7 "@babel/helper-module-imports": ^7.24.7 @@ -1044,7 +1081,7 @@ __metadata: "@babel/helper-validator-identifier": ^7.24.7 peerDependencies: "@babel/core": ^7.0.0 - checksum: ddff3b41c2667876b4e4e73d961168f48a5ec9560c95c8c2d109e6221f9ca36c6f90c6317eb7a47f2a3c99419c356e529a86b79174cad0d4f7a61960866b88ca + checksum: a7a515f4786e2c2e354721c5806c07a3ccb7ee73da7cd8c305d2d4c573d9170eadd9393e9eb993b9cd9b0ad28249d8290a525cd38e1fdfaf9f0fa04c1932c204 languageName: node linkType: hard @@ -1057,10 +1094,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.24.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 81f2a15751d892e4a8fce25390f973363a5b27596167861d2d6eab0f61856eb2ba389b031a9f19f669c0bd4dd601185828d3cebafd25431be7a1696f2ce3ef68 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.24.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.24.8 + resolution: "@babel/helper-plugin-utils@npm:7.24.8" + checksum: 73b1a83ba8bcee21dc94de2eb7323207391715e4369fd55844bb15cf13e3df6f3d13a40786d990e6370bf0f571d94fc31f70dec96c1d1002058258c35ca3767a languageName: node linkType: hard @@ -1128,10 +1165,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-string-parser@npm:7.24.7" - checksum: 09568193044a578743dd44bf7397940c27ea693f9812d24acb700890636b376847a611cdd0393a928544e79d7ad5b8b916bd8e6e772bc8a10c48a647a96e7b1a +"@babel/helper-string-parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-string-parser@npm:7.24.8" + checksum: 39b03c5119216883878655b149148dc4d2e284791e969b19467a9411fccaa33f7a713add98f4db5ed519535f70ad273cdadfd2eb54d47ebbdeac5083351328ce languageName: node linkType: hard @@ -1142,10 +1179,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.23.5, @babel/helper-validator-option@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-option@npm:7.24.7" - checksum: 9689166bf3f777dd424c026841c8cd651e41b21242dbfd4569a53086179a3e744c8eddd56e9d10b54142270141c91581b53af0d7c00c82d552d2540e2a919f7e +"@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.23.5, @babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-validator-option@npm:7.24.8" + checksum: a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c languageName: node linkType: hard @@ -1161,13 +1198,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.19.0, @babel/helpers@npm:^7.20.7, @babel/helpers@npm:^7.24.5, @babel/helpers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helpers@npm:7.24.7" +"@babel/helpers@npm:^7.19.0, @babel/helpers@npm:^7.20.7, @babel/helpers@npm:^7.24.5, @babel/helpers@npm:^7.24.7, @babel/helpers@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helpers@npm:7.24.8" dependencies: "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 934da58098a3670ca7f9f42425b9c44d0ca4f8fad815c0f51d89fc7b64c5e0b4c7d5fec038599de691229ada737edeaf72fad3eba8e16dd5842e8ea447f76b66 + "@babel/types": ^7.24.8 + checksum: 2d7301b1b9c91e518c4766bae171230e243d98461c15eabbd44f8f9c83c297fad5c4a64ad80cfec9ca8e90412fc2b41ee86d7eb35dc8a7611c268bcf1317fe46 languageName: node linkType: hard @@ -1201,12 +1238,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.4, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.19.3, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.5, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.4, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.19.3, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.5, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.24.8, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.24.8 + resolution: "@babel/parser@npm:7.24.8" bin: parser: ./bin/babel-parser.js - checksum: fc9d2c4c8712f89672edc55c0dc5cf640dcec715b56480f111f85c2bc1d507e251596e4110d65796690a96ac37a4b60432af90b3e97bb47e69d4ef83872dbbd6 + checksum: 76f866333bfbd53800ac027419ae523bb0137fc63daa968232eb780e4390136bb6e497cb4a2cf6051a2c318aa335c2e6d2adc17079d60691ae7bde89b28c5688 languageName: node linkType: hard @@ -1821,21 +1858,21 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.20.2, @babel/plugin-transform-classes@npm:^7.24.5, @babel/plugin-transform-classes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" +"@babel/plugin-transform-classes@npm:^7.20.2, @babel/plugin-transform-classes@npm:^7.24.5, @babel/plugin-transform-classes@npm:^7.24.7, @babel/plugin-transform-classes@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-classes@npm:7.24.8" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 + "@babel/helper-compilation-targets": ^7.24.8 "@babel/helper-environment-visitor": ^7.24.7 "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-replace-supers": ^7.24.7 "@babel/helper-split-export-declaration": ^7.24.7 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f01cb31143730d425681e9816020cbb519c7ddb3b6ca308dfaf2821eda5699a746637fc6bf19811e2fb42cfdf8b00a21b31c754da83771a5c280077925677354 + checksum: 9c0f547d67e255b37055461df9c1a578c29bf59c7055bd5b40b07b92e5448af3ca8d853d50056125b7dae9bfe3a4cf1559d61b9ccbc3d2578dd43f15386f12fe languageName: node linkType: hard @@ -1851,14 +1888,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.20.2, @babel/plugin-transform-destructuring@npm:^7.24.5, @babel/plugin-transform-destructuring@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" +"@babel/plugin-transform-destructuring@npm:^7.20.2, @babel/plugin-transform-destructuring@npm:^7.24.5, @babel/plugin-transform-destructuring@npm:^7.24.7, @babel/plugin-transform-destructuring@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b9637b27faf9d24a8119bc5a1f98a2f47c69e6441bd8fc71163500be316253a72173308a93122bcf27d8d314ace43344c976f7291cf6376767f408350c8149d4 + checksum: 0b4bd3d608979a1e5bd97d9d42acd5ad405c7fffa61efac4c7afd8e86ea6c2d91ab2d94b6a98d63919571363fe76e0b03c4ff161f0f60241b895842596e4a999 languageName: node linkType: hard @@ -2016,16 +2053,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.19.6, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.24.1, @babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.19.6, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.24.1, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-module-transforms": ^7.24.8 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-simple-access": ^7.24.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bfda2a0297197ed342e2a02e5f9847a489a3ae40a4a7d7f00f4aeb8544a85e9006e0c5271c8f61f39bc97975ef2717b5594cf9486694377a53433162909d64c1 + checksum: a4cf95b1639c33382064b44558f73ee5fac023f2a94d16e549d2bb55ceebd5cbc10fcddd505d08cd5bc97f5a64af9fd155512358b7dcf7b1a0082e8945cf21c5 languageName: node linkType: hard @@ -2140,16 +2177,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.23.0, @babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.23.0, @babel/plugin-transform-optional-chaining@npm:^7.24.5, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 877e7ce9097d475132c7f4d1244de50bb2fd37993dc4580c735f18f8cbc49282f6e77752821bcad5ca9d3528412d2c8a7ee0aa7ca71bb680ff82648e7a5fed25 + checksum: 45e55e3a2fffb89002d3f89aef59c141610f23b60eee41e047380bffc40290b59f64fc649aa7ec5281f73d41b2065410d788acc6afaad2a9f44cad6e8af04442 languageName: node linkType: hard @@ -2399,28 +2436,28 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.18.9, @babel/plugin-transform-typeof-symbol@npm:^7.24.5, @babel/plugin-transform-typeof-symbol@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.18.9, @babel/plugin-transform-typeof-symbol@npm:^7.24.5, @babel/plugin-transform-typeof-symbol@npm:^7.24.7, @babel/plugin-transform-typeof-symbol@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6bd16b9347614d44187d8f8ee23ebd7be30dabf3632eed5ff0415f35a482e827de220527089eae9cdfb75e85aa72db0e141ebc2247c4b1187c1abcdacdc34895 + checksum: 8663a8e7347cedf181001d99c88cf794b6598c3d82f324098510fe8fb8bd22113995526a77aa35a3cc5d70ffd0617a59dd0d10311a9bf0e1a3a7d3e59b900c00 languageName: node linkType: hard "@babel/plugin-transform-typescript@npm:^7.23.3, @babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typescript@npm:7.24.7" + version: 7.24.8 + resolution: "@babel/plugin-transform-typescript@npm:7.24.8" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.24.8 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/plugin-syntax-typescript": ^7.24.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b367d1e3d6bdbe438878a76436fc6903e2b4fd7c31fa036d43865570d282679ec3f7c0306399851f2866a9b36686a0ea8c343df3750f70d427f1fe20ca54310 + checksum: 4dcdc0ca2b523ccfb216ad7e68d2954576e42d83956e0e65626ad1ece17da85cb1122b6c350c4746db927996060466c879945d40cde156a94019f30587fef41a languageName: node linkType: hard @@ -2647,7 +2684,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.24.7, @babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.22.5, @babel/preset-env@npm:^7.23.2": +"@babel/preset-env@npm:7.24.7": version: 7.24.7 resolution: "@babel/preset-env@npm:7.24.7" dependencies: @@ -2738,6 +2775,97 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.22.5, @babel/preset-env@npm:^7.23.2": + version: 7.24.8 + resolution: "@babel/preset-env@npm:7.24.8" + dependencies: + "@babel/compat-data": ^7.24.8 + "@babel/helper-compilation-targets": ^7.24.8 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-validator-option": ^7.24.8 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.24.7 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.24.7 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.24.7 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.24.7 + "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-import-assertions": ^7.24.7 + "@babel/plugin-syntax-import-attributes": ^7.24.7 + "@babel/plugin-syntax-import-meta": ^7.10.4 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 + "@babel/plugin-transform-arrow-functions": ^7.24.7 + "@babel/plugin-transform-async-generator-functions": ^7.24.7 + "@babel/plugin-transform-async-to-generator": ^7.24.7 + "@babel/plugin-transform-block-scoped-functions": ^7.24.7 + "@babel/plugin-transform-block-scoping": ^7.24.7 + "@babel/plugin-transform-class-properties": ^7.24.7 + "@babel/plugin-transform-class-static-block": ^7.24.7 + "@babel/plugin-transform-classes": ^7.24.8 + "@babel/plugin-transform-computed-properties": ^7.24.7 + "@babel/plugin-transform-destructuring": ^7.24.8 + "@babel/plugin-transform-dotall-regex": ^7.24.7 + "@babel/plugin-transform-duplicate-keys": ^7.24.7 + "@babel/plugin-transform-dynamic-import": ^7.24.7 + "@babel/plugin-transform-exponentiation-operator": ^7.24.7 + "@babel/plugin-transform-export-namespace-from": ^7.24.7 + "@babel/plugin-transform-for-of": ^7.24.7 + "@babel/plugin-transform-function-name": ^7.24.7 + "@babel/plugin-transform-json-strings": ^7.24.7 + "@babel/plugin-transform-literals": ^7.24.7 + "@babel/plugin-transform-logical-assignment-operators": ^7.24.7 + "@babel/plugin-transform-member-expression-literals": ^7.24.7 + "@babel/plugin-transform-modules-amd": ^7.24.7 + "@babel/plugin-transform-modules-commonjs": ^7.24.8 + "@babel/plugin-transform-modules-systemjs": ^7.24.7 + "@babel/plugin-transform-modules-umd": ^7.24.7 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 + "@babel/plugin-transform-new-target": ^7.24.7 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 + "@babel/plugin-transform-numeric-separator": ^7.24.7 + "@babel/plugin-transform-object-rest-spread": ^7.24.7 + "@babel/plugin-transform-object-super": ^7.24.7 + "@babel/plugin-transform-optional-catch-binding": ^7.24.7 + "@babel/plugin-transform-optional-chaining": ^7.24.8 + "@babel/plugin-transform-parameters": ^7.24.7 + "@babel/plugin-transform-private-methods": ^7.24.7 + "@babel/plugin-transform-private-property-in-object": ^7.24.7 + "@babel/plugin-transform-property-literals": ^7.24.7 + "@babel/plugin-transform-regenerator": ^7.24.7 + "@babel/plugin-transform-reserved-words": ^7.24.7 + "@babel/plugin-transform-shorthand-properties": ^7.24.7 + "@babel/plugin-transform-spread": ^7.24.7 + "@babel/plugin-transform-sticky-regex": ^7.24.7 + "@babel/plugin-transform-template-literals": ^7.24.7 + "@babel/plugin-transform-typeof-symbol": ^7.24.8 + "@babel/plugin-transform-unicode-escapes": ^7.24.7 + "@babel/plugin-transform-unicode-property-regex": ^7.24.7 + "@babel/plugin-transform-unicode-regex": ^7.24.7 + "@babel/plugin-transform-unicode-sets-regex": ^7.24.7 + "@babel/preset-modules": 0.1.6-no-external-plugins + babel-plugin-polyfill-corejs2: ^0.4.10 + babel-plugin-polyfill-corejs3: ^0.10.4 + babel-plugin-polyfill-regenerator: ^0.6.1 + core-js-compat: ^3.37.1 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: efea0039dbb089c9cc0b792b9ac0eef949699584b4c622e2abea062b44b1a0fbcda6ad25e2263ae36a69586889b4a22439a1096aa8152b366e3fedd921ae66ac + languageName: node + linkType: hard + "@babel/preset-flow@npm:^7.22.15": version: 7.24.7 resolution: "@babel/preset-flow@npm:7.24.7" @@ -2867,18 +2995,18 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.9, @babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4": - version: 7.24.7 - resolution: "@babel/runtime@npm:7.24.7" + version: 7.24.8 + resolution: "@babel/runtime@npm:7.24.8" dependencies: regenerator-runtime: ^0.14.0 - checksum: d17f29eed6f848ac15cdf4202a910b741facfb0419a9d79e5c7fa37df6362fc3227f1cc2e248cc6db5e53ddffb4caa6686c488e6e80ce3d29c36a4e74c8734ea + checksum: 6b1e4230580f67a807ad054720812bbefbb024cc2adc1159d050acbb764c4c81c7ac5f7a042c48f578987c5edc2453c71039268df059058e9501fa6023d764b0 languageName: node linkType: hard "@babel/standalone@npm:^7.23.8": - version: 7.24.7 - resolution: "@babel/standalone@npm:7.24.7" - checksum: bad42cb2ad101dca5fb2be9d682feb57b442ebe6582005574c5430abd4130fcfe52f6eabd72745f1b699f390fc53452bea2cb68c8b3530dc260de32875700f23 + version: 7.24.8 + resolution: "@babel/standalone@npm:7.24.8" + checksum: be5c49319c4be96b1a7af2a9e5834e59fb091dee40f915b89278eecbb4e11d80fdfd40aed8e8145023dde33b68fb786e826c64ae8f2196903e434f1d62d71a6d languageName: node linkType: hard @@ -2933,14 +3061,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.3, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.24.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.3, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.24.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": + version: 7.24.8 + resolution: "@babel/types@npm:7.24.8" dependencies: - "@babel/helper-string-parser": ^7.24.7 + "@babel/helper-string-parser": ^7.24.8 "@babel/helper-validator-identifier": ^7.24.7 to-fast-properties: ^2.0.0 - checksum: 3e4437fced97e02982972ce5bebd318c47d42c9be2152c0fd28c6f786cc74086cc0a8fb83b602b846e41df37f22c36254338eada1a47ef9d8a1ec92332ca3ea8 + checksum: e3f58ce9272c6ad519ce2ccf66efb1bfc84a62a344c0e252580d258638e0f0754eb060ec3aea3296c961973c188959f8fd3dc12f8ab6ed4ead1fb7723d693a33 languageName: node linkType: hard @@ -5366,9 +5494,9 @@ __metadata: linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec languageName: node linkType: hard @@ -5816,7 +5944,9 @@ __metadata: "@custom-elements-manifest/analyzer": 0.9.0 "@justeattakeaway/pie-components-config": 0.16.0 "@justeattakeaway/pie-webc-core": 0.24.0 + "@types/lodash.throttle": 4.1.9 cem-plugin-module-file-extensions: 0.0.5 + lodash.throttle: 4.1.1 languageName: unknown linkType: soft @@ -10804,7 +10934,16 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.167": +"@types/lodash.throttle@npm:4.1.9": + version: 4.1.9 + resolution: "@types/lodash.throttle@npm:4.1.9" + dependencies: + "@types/lodash": "*" + checksum: 6d330072387f062d408747f0dbe62869820ee3f3fbec43965f703ce9c9083e4ff9082faa4fe92aea000d6367b7645955e9c8db6a4e04e6bd769697fdd19c12b1 + languageName: node + linkType: hard + +"@types/lodash@npm:*, @types/lodash@npm:^4.14.167": version: 4.17.6 resolution: "@types/lodash@npm:4.17.6" checksum: f748c672f49c54ee631a0fab6f26d56ab99bd68a4fb91604b5d7525a72102dd1917209c12d7078c988a375edb5dc70ca600db05ac01785306fd64470048cd16c @@ -14931,17 +15070,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": - version: 4.23.1 - resolution: "browserslist@npm:4.23.1" +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1": + version: 4.23.2 + resolution: "browserslist@npm:4.23.2" dependencies: - caniuse-lite: ^1.0.30001629 - electron-to-chromium: ^1.4.796 + caniuse-lite: ^1.0.30001640 + electron-to-chromium: ^1.4.820 node-releases: ^2.0.14 - update-browserslist-db: ^1.0.16 + update-browserslist-db: ^1.1.0 bin: browserslist: cli.js - checksum: 06189e2d6666a203ce097cc0e713a40477d08420927b79af139211e5712f3cf676fdc4dd6af3aa493d47c09206a344b3420a8315577dbe88c58903132de9b0f5 + checksum: 8212af37f6ca6355da191cf2d4ad49bd0b82854888b9a7e103638fada70d38cbe36d28feeeaa98344cb15d9128f9f74bcc8ce1bfc9011b5fd14381c1c6fb542c languageName: node linkType: hard @@ -15425,10 +15564,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219, caniuse-lite@npm:^1.0.30001228, caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001497, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001629": - version: 1.0.30001640 - resolution: "caniuse-lite@npm:1.0.30001640" - checksum: ec492d8d1e11d1c55e0f5c0f218229369dc0a4bd1b5d0a579a6435865fe8f4c84bde7e816a844cce1b9cdd97f5a85b6dac5599639fabcdb0c4c5bd039e46cbfd +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219, caniuse-lite@npm:^1.0.30001228, caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001497, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001640": + version: 1.0.30001641 + resolution: "caniuse-lite@npm:1.0.30001641" + checksum: f131829f7746374ae4a19a8fb5aef9bbc5649682afb0ffd6a74f567389cb6efadbab600cc83384a3e694e1646772ff14ac3c791593aedb41fb2ce1942a1aa208 languageName: node linkType: hard @@ -16694,7 +16833,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.25.1, core-js-compat@npm:^3.30.2, core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": +"core-js-compat@npm:^3.25.1, core-js-compat@npm:^3.30.2, core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1, core-js-compat@npm:^3.37.1": version: 3.37.1 resolution: "core-js-compat@npm:3.37.1" dependencies: @@ -16906,9 +17045,9 @@ __metadata: linkType: hard "croner@npm:^8.0.2": - version: 8.0.2 - resolution: "croner@npm:8.0.2" - checksum: 2676101c8ff2024709ea940e335bbc8ddcc884b7ac57977aa57ad607a401d6043fda065d54cda8b9c5c227f57a2cc190cb0c60232dd4f3842af5096ef349d13d + version: 8.1.0 + resolution: "croner@npm:8.1.0" + checksum: fdbcc68b682b0ebd7bf6b7fa37946edd220b738a482c5e15c0cb1c79dc07f510fc3689a0cf754ea1a5f50d4f0a513cffd1108ee4fe61c03cb24c6e66f0a961a5 languageName: node linkType: hard @@ -18698,10 +18837,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.723, electron-to-chromium@npm:^1.4.284, electron-to-chromium@npm:^1.4.796": - version: 1.4.818 - resolution: "electron-to-chromium@npm:1.4.818" - checksum: 7ff9b1f0a17c013ff020530d35a002a6e42f6cb8207be26d25796615d7099da409351a8ee2fde0e796369251906bdbb7d32eec5dbe413547037ea0436d6287d7 +"electron-to-chromium@npm:^1.3.723, electron-to-chromium@npm:^1.4.284, electron-to-chromium@npm:^1.4.820": + version: 1.4.825 + resolution: "electron-to-chromium@npm:1.4.825" + checksum: e01e4cdca1ad3c912e03d9c8615f0d3869bc0f2d2621d8e1ba83f78f5e7cd1cffe801914f7c9d631aa3911752d83598a7d4f1827904b380db9b9d034d69d1ab5 languageName: node linkType: hard @@ -20087,11 +20226,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.0, esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: ^5.1.0 - checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 + checksum: 08ec4fe446d9ab27186da274d979558557fbdbbd10968fa9758552482720c54152a5640e08b9009e5a30706b66aba510692054d4129d32d0e12e05bbc0b96fb2 languageName: node linkType: hard @@ -20891,9 +21030,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.239.0 - resolution: "flow-parser@npm:0.239.0" - checksum: 20d75183560a901f458878958f8e59c9ca82f118bbb5d265bc67143d4ae6db2b2ee52bc38391d9a4053e623de6ef9c0ca11d24b66cf5b64e5c6ceb873f38192d + version: 0.239.1 + resolution: "flow-parser@npm:0.239.1" + checksum: b0852c611fc4e3e401f26e2680b7b924460807c1f79f81da5a0f61b98a0cea6ad10ba62826bb7c6134b73356101df2e1ca43a7c3ba5ea2b6a564500e48ab385a languageName: node linkType: hard @@ -21664,8 +21803,8 @@ __metadata: linkType: hard "glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.3, glob@npm:^10.3.7": - version: 10.4.3 - resolution: "glob@npm:10.4.3" + version: 10.4.5 + resolution: "glob@npm:10.4.5" dependencies: foreground-child: ^3.1.0 jackspeak: ^3.1.2 @@ -21675,7 +21814,7 @@ __metadata: path-scurry: ^1.11.1 bin: glob: dist/esm/bin.mjs - checksum: a1daeb570b841480fe95b3dd9492a98a58759186d14cf2ebe81057c3f308b47980d5e757b533422dbc5288ebf7b06b169960ce9f71198d7dbe320bc5068f89f0 + checksum: 0bc725de5e4862f9f387fd0f2b274baf16850dcd2714502ccf471ee401803997983e2c05590cb65f9675a3c6f2a58e7a53f9e365704108c6ad3cbf1d60934c4a languageName: node linkType: hard @@ -24082,15 +24221,15 @@ __metadata: linkType: hard "jackspeak@npm:^3.1.2": - version: 3.4.1 - resolution: "jackspeak@npm:3.4.1" + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: "@isaacs/cliui": ^8.0.2 "@pkgjs/parseargs": ^0.11.0 dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 772483c6835f01b4e06eaaf3cf7fa65a0d5e0f2fd3b7290f657df4602b013c60efa53bebd64489862bc7a290167e7671bb41a990512c91e25d2e89c82b2628b8 + checksum: be31027fc72e7cc726206b9f560395604b82e0fddb46c4cbf9f97d049bcef607491a5afc0699612eaa4213ca5be8fd3e1e7cd187b3040988b65c9489838a7c00 languageName: node linkType: hard @@ -25302,10 +25441,10 @@ __metadata: languageName: node linkType: hard -"known-css-properties@npm:^0.31.0": - version: 0.31.0 - resolution: "known-css-properties@npm:0.31.0" - checksum: 814979212974f229f33ece048a54c3da5b689cbf1275fcfda83b9317a3826605c5d85b28ed68d9b62300a8eb9db61708a662ef6ec2ec12029f3139d117ebb2a1 +"known-css-properties@npm:^0.34.0": + version: 0.34.0 + resolution: "known-css-properties@npm:0.34.0" + checksum: 2f1c562767164672442949c44310cf8bbd0cc8a1fbf76b2437a0a2ed364876f40b03d18ffee3de2490e789e916be6c635823e4137fcb3c2f690a96e79bd66a8c languageName: node linkType: hard @@ -25636,14 +25775,14 @@ __metadata: linkType: hard "liquidjs@npm:^10.7.0": - version: 10.14.0 - resolution: "liquidjs@npm:10.14.0" + version: 10.15.0 + resolution: "liquidjs@npm:10.15.0" dependencies: commander: ^10.0.0 bin: liquid: bin/liquid.js liquidjs: bin/liquid.js - checksum: 340f289df1aeb1d12ded7b99ff5d1c7c15506aa4295a3c0ea754b781f59d270ba121232d7b6287828fb09171bf91ce17994f827522520845c83bfc32b08a5f21 + checksum: f5ed8e7d8095e4fbdff5791034485c83b9204ed8b22fb3bfa420d84df7a6b8cdef702436dae9a6182088c6788447a43c876de2079d75329d0374ccd56b8a2576 languageName: node linkType: hard @@ -26094,6 +26233,13 @@ __metadata: languageName: node linkType: hard +"lodash.throttle@npm:4.1.1": + version: 4.1.1 + resolution: "lodash.throttle@npm:4.1.1" + checksum: 129c0a28cee48b348aef146f638ef8a8b197944d4e9ec26c1890c19d9bf5a5690fe11b655c77a4551268819b32d27f4206343e30c78961f60b561b8608c8c805 + languageName: node + linkType: hard + "lodash.truncate@npm:^4.4.2": version: 4.4.2 resolution: "lodash.truncate@npm:4.4.2" @@ -26195,9 +26341,9 @@ __metadata: linkType: hard "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.0 - resolution: "lru-cache@npm:10.4.0" - checksum: 6816a809a225faaa29ae2075ef6493cebb7374c14fc4a56a44f2aeaa2a2dc33c83043eb4d653fc72cf3ea89507dc51def19e6e07fa57351b9f40449d7c37fb0d + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a languageName: node linkType: hard @@ -27922,8 +28068,8 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.1.0 - resolution: "node-gyp@npm:10.1.0" + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 @@ -27931,13 +28077,13 @@ __metadata: graceful-fs: ^4.2.6 make-fetch-happen: ^13.0.0 nopt: ^7.0.0 - proc-log: ^3.0.0 + proc-log: ^4.1.0 semver: ^7.3.5 - tar: ^6.1.2 + tar: ^6.2.1 which: ^4.0.0 bin: node-gyp: bin/node-gyp.js - checksum: 72e2ab4b23fc32007a763da94018f58069fc0694bf36115d49a2b195c8831e12cf5dd1e7a3718fa85c06969aedf8fc126722d3b672ec1cb27e06ed33caee3c60 + checksum: 0233759d8c19765f7fdc259a35eb046ad86c3d09e22f7384613ae2b89647dd27fcf833fdf5293d9335041e91f9b1c539494225959cdb312a5c8080b7534b926f languageName: node linkType: hard @@ -28461,9 +28607,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.0, nwsapi@npm:^2.2.7": - version: 2.2.10 - resolution: "nwsapi@npm:2.2.10" - checksum: 5f1d361b38c47ab49727d5ea8bbfeb5867ae6de0e538eec9a8b77c88005ddde36d8b930e0730b50ee5e5dda949112c0f9ffed1bf15e7e1b3cd9cfa319f5a9b6f + version: 2.2.12 + resolution: "nwsapi@npm:2.2.12" + checksum: 4dbce7ecbcf336eef1edcbb5161cbceea95863e63a16d9bcec8e81cbb260bdab3d07e6c7b58354d465dc803eef6d0ea4fb20220a80fa148ae65f18d56df81799 languageName: node linkType: hard @@ -31721,7 +31867,7 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.2.0": +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": version: 4.2.0 resolution: "proc-log@npm:4.2.0" checksum: 98f6cd012d54b5334144c5255ecb941ee171744f45fca8b43b58ae5a0c1af07352475f481cadd9848e7f0250376ee584f6aa0951a856ff8f021bdfbff4eb33fc @@ -32133,11 +32279,11 @@ __metadata: linkType: hard "qs@npm:^6.10.0, qs@npm:^6.10.1, qs@npm:^6.11.2, qs@npm:^6.5.2": - version: 6.12.2 - resolution: "qs@npm:6.12.2" + version: 6.12.3 + resolution: "qs@npm:6.12.3" dependencies: side-channel: ^1.0.6 - checksum: cb141456f3e518b4212177f5658168acbab60c90735f27f131336f7ae0286b51402911d4a0a786d83d3ba4aa801c032383b4304b28474de00388eb95cf988c8c + checksum: 9a9228a623bc36d41648237667d7342fb8d64d1cfeb29e474b0c44591ba06ac507e2d726f60eca5af8dc420e5dd23370af408ef8c28e0405675c7187b736a693 languageName: node linkType: hard @@ -33828,15 +33974,15 @@ __metadata: linkType: hard "sass@npm:^1.49.7": - version: 1.77.6 - resolution: "sass@npm:1.77.6" + version: 1.77.7 + resolution: "sass@npm:1.77.7" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 9bd1cb9ec1f10b7df83ed6a4b3d8764fe9174ee422f1ea21c51bcd953f710deee57c649269f9cb1ad1e9dcc3b87efee62cd2b36aca9cc646d44fd9179300d5f3 + checksum: 64c98cbeb24fb42fb5f29137740a812747e0cfebc2f02b0b03108456930f2058b17b2cf78ddf3df3c958c4a6b6fef765e34a202e6e93670752970bf5a0dbe222 languageName: node linkType: hard @@ -35587,23 +35733,23 @@ __metadata: linkType: hard "stylelint-config-recommended-scss@npm:^14.0.0": - version: 14.0.0 - resolution: "stylelint-config-recommended-scss@npm:14.0.0" + version: 14.1.0 + resolution: "stylelint-config-recommended-scss@npm:14.1.0" dependencies: postcss-scss: ^4.0.9 - stylelint-config-recommended: ^14.0.0 - stylelint-scss: ^6.0.0 + stylelint-config-recommended: ^14.0.1 + stylelint-scss: ^6.4.0 peerDependencies: postcss: ^8.3.3 - stylelint: ^16.0.2 + stylelint: ^16.6.1 peerDependenciesMeta: postcss: optional: true - checksum: 512fba4d81654b65a7a36d531f165c7d8f0c938e63a0f90daca0c21d623cc637e29195fec5e0ae1edd862502d69717f6f3e90016cd7ba8458e4a8afcd87bb3b4 + checksum: 4dbebd9883e94eea9a6c7e1dc6978f385c4631e88a7014f41b14e2d8a5e52db6b4ac0015b41c75e8031e53c227a381b252a92ed48e6f2296c28d90fbb185f6eb languageName: node linkType: hard -"stylelint-config-recommended@npm:^14.0.0, stylelint-config-recommended@npm:^14.0.1": +"stylelint-config-recommended@npm:^14.0.1": version: 14.0.1 resolution: "stylelint-config-recommended@npm:14.0.1" peerDependencies: @@ -35651,18 +35797,18 @@ __metadata: languageName: node linkType: hard -"stylelint-scss@npm:^6.0.0": - version: 6.3.2 - resolution: "stylelint-scss@npm:6.3.2" +"stylelint-scss@npm:^6.4.0": + version: 6.4.1 + resolution: "stylelint-scss@npm:6.4.1" dependencies: - known-css-properties: ^0.31.0 + known-css-properties: ^0.34.0 postcss-media-query-parser: ^0.2.3 postcss-resolve-nested-selector: ^0.1.1 postcss-selector-parser: ^6.1.0 postcss-value-parser: ^4.2.0 peerDependencies: stylelint: ^16.0.2 - checksum: 2d7bfb4c8bb5a695bca953d1b8e520926dd4668bc93cede18d0821c31bb1266360bdd200d7de4bfc850190f27c4915934fb390f546b3d11658f0c34ed3aa71eb + checksum: 94714a14af7167e5aed93845a9c691ed9bf3caa268962ac11f5609fdd03557ce991c7896620fa8d52f0b5497f440bc7b92a186f54836e4dadebfd0330c9b0883 languageName: node linkType: hard @@ -36226,8 +36372,8 @@ __metadata: linkType: hard "terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.17.4, terser@npm:^5.26.0, terser@npm:^5.3.4": - version: 5.31.1 - resolution: "terser@npm:5.31.1" + version: 5.31.2 + resolution: "terser@npm:5.31.2" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -36235,7 +36381,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 6ab57e62e9cd690dc99b3d0ee2e07289cd3408109a950c7118bf39e32851a5bf08b67fe19e0ac43a5a98813792ac78101bf25e5aa524f05ae8bb4e0131d0feef + checksum: f788c885f75f0a26daf153ad9374d1c5f18519dba1f8b9c04eeab81ed8f2cd5c6e6b02667fdd2754a0b304fcee8916f4391bdfa0c115a5c0c56e00086d263614 languageName: node linkType: hard @@ -37656,7 +37802,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.10, update-browserslist-db@npm:^1.0.16": +"update-browserslist-db@npm:^1.0.10, update-browserslist-db@npm:^1.1.0": version: 1.1.0 resolution: "update-browserslist-db@npm:1.1.0" dependencies: