@crowdstrike/glide-core 0.32.2 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion.js +3 -2
- package/dist/button-group.button.js +3 -2
- package/dist/button-group.js +3 -2
- package/dist/button.js +7 -11
- package/dist/button.styles.js +10 -8
- package/dist/checkbox-group.js +8 -7
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.js +26 -17
- package/dist/checkbox.styles.js +1 -1
- package/dist/drawer.js +3 -2
- package/dist/dropdown.js +19 -18
- package/dist/dropdown.option.d.ts +2 -0
- package/dist/dropdown.option.js +26 -25
- package/dist/form-controls-layout.js +3 -2
- package/dist/icon-button.js +2 -2
- package/dist/inline-alert.js +3 -2
- package/dist/input.js +9 -9
- package/dist/label.js +3 -2
- package/dist/library/assert-slot.js +2 -2
- package/dist/library/assert-slot.test.js +92 -0
- package/dist/link.js +2 -2
- package/dist/menu.js +83 -44
- package/dist/menu.styles.js +1 -0
- package/dist/modal.icon-button.js +3 -2
- package/dist/modal.js +3 -2
- package/dist/option.d.ts +5 -0
- package/dist/option.js +28 -5
- package/dist/options.d.ts +2 -0
- package/dist/options.group.js +3 -2
- package/dist/options.js +7 -8
- package/dist/options.styles.js +0 -6
- package/dist/popover.js +3 -2
- package/dist/radio-group.js +4 -3
- package/dist/radio-group.radio.js +3 -2
- package/dist/select.d.ts +90 -0
- package/dist/select.js +532 -0
- package/dist/slider.js +7 -7
- package/dist/spinner.js +2 -2
- package/dist/split-button.js +3 -2
- package/dist/split-button.primary-button.js +2 -2
- package/dist/split-button.primary-link.js +2 -2
- package/dist/split-button.secondary-button.js +2 -2
- package/dist/styles/opacity-and-scale-animation.js +2 -1
- package/dist/styles/variables.css +7 -4
- package/dist/tab.group.js +3 -2
- package/dist/tab.js +3 -2
- package/dist/tab.panel.js +3 -2
- package/dist/tag.js +2 -2
- package/dist/textarea.d.ts +1 -0
- package/dist/textarea.js +19 -10
- package/dist/toast.js +2 -2
- package/dist/toast.toasts.js +3 -2
- package/dist/toggle.d.ts +1 -0
- package/dist/toggle.js +13 -4
- package/dist/tooltip.container.js +3 -2
- package/dist/tooltip.js +4 -7
- package/package.json +4 -4
- package/dist/library/shadow-root-mode.d.ts +0 -2
- package/dist/library/shadow-root-mode.js +0 -4
@@ -16,7 +16,8 @@ export default (selector) => {
|
|
16
16
|
|
17
17
|
${unsafeCSS(selector)} {
|
18
18
|
@media (prefers-reduced-motion: no-preference) {
|
19
|
-
animation: opacity-and-scale
|
19
|
+
animation: opacity-and-scale var(--glide-core-duration-moderate-02)
|
20
|
+
var(--glide-core-animation-swoop);
|
20
21
|
}
|
21
22
|
}
|
22
23
|
`;
|
@@ -145,7 +145,7 @@
|
|
145
145
|
--glide-core-private-color-button-stroke-default: #006ad4;
|
146
146
|
--glide-core-private-color-button-text-primary: #ffffff;
|
147
147
|
--glide-core-private-color-button-icon-primary: #ffffff;
|
148
|
-
--glide-core-private-color-checkbox-surface-background-selected
|
148
|
+
--glide-core-private-color-checkbox-surface-background-selected: #ffffff;
|
149
149
|
--glide-core-private-color-checkbox-surface-background-idle: #ffffff;
|
150
150
|
--glide-core-private-color-checkbox-icon-default--disabled: #d9d9d9;
|
151
151
|
--glide-core-private-color-radio-icon-default--disabled: #d9d9d9;
|
@@ -306,7 +306,7 @@
|
|
306
306
|
--glide-core-private-color-button-stroke-default: #5394d5;
|
307
307
|
--glide-core-private-color-button-text-primary: #f9f9f9;
|
308
308
|
--glide-core-private-color-button-icon-primary: #f9f9f9;
|
309
|
-
--glide-core-private-color-checkbox-surface-background-selected
|
309
|
+
--glide-core-private-color-checkbox-surface-background-selected: #ffffff;
|
310
310
|
--glide-core-private-color-checkbox-surface-background-idle: #1414144d;
|
311
311
|
--glide-core-private-color-checkbox-icon-default--disabled: #434343;
|
312
312
|
--glide-core-private-color-radio-icon-default--disabled: #434343;
|
@@ -394,8 +394,11 @@
|
|
394
394
|
--glide-core-typography-size-body-default: 0.875rem;
|
395
395
|
--glide-core-typography-size-body-small: 0.75rem;
|
396
396
|
--glide-core-typography-size-component-chartlabel-md: 0.625rem;
|
397
|
-
--glide-core-typography-family-primary: "Nunito";
|
398
|
-
--glide-core-typography-family-monospace:
|
397
|
+
--glide-core-typography-family-primary: "Nunito", system-ui;
|
398
|
+
--glide-core-typography-family-monospace:
|
399
|
+
"Oxygen Mono",
|
400
|
+
ui-monospace,
|
401
|
+
monospace;
|
399
402
|
--glide-core-typography-weight-light: 300;
|
400
403
|
--glide-core-typography-weight-regular: 400;
|
401
404
|
--glide-core-typography-weight-semibold: 600;
|
package/dist/tab.group.js
CHANGED
@@ -18,7 +18,6 @@ import chevronIcon from './icons/chevron.js';
|
|
18
18
|
import onResize from './library/on-resize.js';
|
19
19
|
import styles from './tab.group.styles.js';
|
20
20
|
import assertSlot from './library/assert-slot.js';
|
21
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
22
21
|
import final from './library/final.js';
|
23
22
|
/**
|
24
23
|
* @readonly
|
@@ -47,10 +46,12 @@ let TabGroup = class TabGroup extends LitElement {
|
|
47
46
|
this.#selectedTabIndicatorElementRef = createRef();
|
48
47
|
this.#tabListElementRef = createRef();
|
49
48
|
}
|
49
|
+
/* c8 ignore start */
|
50
50
|
static { this.shadowRootOptions = {
|
51
51
|
...LitElement.shadowRootOptions,
|
52
|
-
mode:
|
52
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
53
53
|
}; }
|
54
|
+
/* c8 ignore end */
|
54
55
|
static { this.styles = styles; }
|
55
56
|
render() {
|
56
57
|
return html `<div
|
package/dist/tab.js
CHANGED
@@ -9,7 +9,6 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
9
9
|
import { customElement, property } from 'lit/decorators.js';
|
10
10
|
import packageJson from '../package.json' with { type: 'json' };
|
11
11
|
import styles from './tab.styles.js';
|
12
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
13
12
|
import final from './library/final.js';
|
14
13
|
import required from './library/required.js';
|
15
14
|
import uniqueId from './library/unique-id.js';
|
@@ -42,10 +41,12 @@ let Tab = class Tab extends LitElement {
|
|
42
41
|
this.role = 'tab';
|
43
42
|
this.#isSelected = false;
|
44
43
|
}
|
44
|
+
/* c8 ignore start */
|
45
45
|
static { this.shadowRootOptions = {
|
46
46
|
...LitElement.shadowRootOptions,
|
47
|
-
mode:
|
47
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
48
48
|
}; }
|
49
|
+
/* c8 ignore end */
|
49
50
|
static { this.styles = styles; }
|
50
51
|
/**
|
51
52
|
* @default false
|
package/dist/tab.panel.js
CHANGED
@@ -9,7 +9,6 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
9
9
|
import { customElement, property } from 'lit/decorators.js';
|
10
10
|
import packageJson from '../package.json' with { type: 'json' };
|
11
11
|
import styles from './tab.panel.styles.js';
|
12
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
13
12
|
import final from './library/final.js';
|
14
13
|
import required from './library/required.js';
|
15
14
|
import uniqueId from './library/unique-id.js';
|
@@ -38,10 +37,12 @@ let TabPanel = class TabPanel extends LitElement {
|
|
38
37
|
this.id = uniqueId();
|
39
38
|
this.#isSelected = false;
|
40
39
|
}
|
40
|
+
/* c8 ignore start */
|
41
41
|
static { this.shadowRootOptions = {
|
42
42
|
...LitElement.shadowRootOptions,
|
43
|
-
mode:
|
43
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
44
44
|
}; }
|
45
|
+
/* c8 ignore end */
|
45
46
|
static { this.styles = styles; }
|
46
47
|
// Private because it's only meant to be used by Tab Group.
|
47
48
|
get privateIsSelected() {
|
package/dist/tag.js
CHANGED
@@ -14,7 +14,6 @@ import { LocalizeController } from './library/localize.js';
|
|
14
14
|
import pencilIcon from './icons/pencil.js';
|
15
15
|
import styles from './tag.styles.js';
|
16
16
|
import xIcon from './icons/x.js';
|
17
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
18
17
|
import final from './library/final.js';
|
19
18
|
import required from './library/required.js';
|
20
19
|
/**
|
@@ -54,10 +53,11 @@ let Tag = class Tag extends LitElement {
|
|
54
53
|
this.#localize = new LocalizeController(this);
|
55
54
|
this.#removalButtonElementRef = createRef();
|
56
55
|
}
|
56
|
+
/* c8 ignore start */
|
57
57
|
static { this.shadowRootOptions = {
|
58
58
|
...LitElement.shadowRootOptions,
|
59
59
|
delegatesFocus: true,
|
60
|
-
mode:
|
60
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
61
61
|
}; }
|
62
62
|
static { this.styles = styles; }
|
63
63
|
click() {
|
package/dist/textarea.d.ts
CHANGED
package/dist/textarea.js
CHANGED
@@ -15,7 +15,6 @@ import { when } from 'lit/directives/when.js';
|
|
15
15
|
import packageJson from '../package.json' with { type: 'json' };
|
16
16
|
import { LocalizeController } from './library/localize.js';
|
17
17
|
import styles from './textarea.styles.js';
|
18
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
19
18
|
import final from './library/final.js';
|
20
19
|
import required from './library/required.js';
|
21
20
|
/**
|
@@ -40,6 +39,7 @@ import required from './library/required.js';
|
|
40
39
|
* @slot {Element | string} [description] - Additional information or context
|
41
40
|
*
|
42
41
|
* @fires {Event} change
|
42
|
+
* @fires {Event} input
|
43
43
|
* @fires {Event} invalid
|
44
44
|
*
|
45
45
|
* @readonly
|
@@ -68,11 +68,13 @@ import required from './library/required.js';
|
|
68
68
|
*/
|
69
69
|
let Textarea = class Textarea extends LitElement {
|
70
70
|
static { this.formAssociated = true; }
|
71
|
+
/* c8 ignore start */
|
71
72
|
static { this.shadowRootOptions = {
|
72
73
|
...LitElement.shadowRootOptions,
|
73
|
-
mode:
|
74
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
74
75
|
delegatesFocus: true,
|
75
76
|
}; }
|
77
|
+
/* c8 ignore end */
|
76
78
|
static { this.styles = styles; }
|
77
79
|
checkValidity() {
|
78
80
|
this.isCheckingValidity = true;
|
@@ -195,7 +197,7 @@ let Textarea = class Textarea extends LitElement {
|
|
195
197
|
reportValidity() {
|
196
198
|
this.isReportValidityOrSubmit = true;
|
197
199
|
const isValid = this.#internals.reportValidity();
|
198
|
-
// Ensures
|
200
|
+
// Ensures getters referencing `this.validity.valid` re-run.
|
199
201
|
this.requestUpdate();
|
200
202
|
return isValid;
|
201
203
|
}
|
@@ -262,12 +264,12 @@ let Textarea = class Textarea extends LitElement {
|
|
262
264
|
this.isReportValidityOrSubmit = true;
|
263
265
|
const isFirstInvalidFormElement = this.form?.querySelector(':invalid') === this;
|
264
266
|
if (isFirstInvalidFormElement) {
|
265
|
-
// - `
|
266
|
-
//
|
267
|
-
//
|
267
|
+
// - `delegatesFocus` is preferred because it's declarative. But it's limited to
|
268
|
+
// focusing the first focusable element. That doesn't work for us because the first
|
269
|
+
// focusable element is the Tooltip when it's present.
|
268
270
|
//
|
269
271
|
// - Canceling this event means the input won't get focus, even if we were to use
|
270
|
-
// `
|
272
|
+
// `delegatesFocus`.
|
271
273
|
//
|
272
274
|
// - The browser will ignore this if Input isn't the first invalid form control.
|
273
275
|
//
|
@@ -310,14 +312,21 @@ let Textarea = class Textarea extends LitElement {
|
|
310
312
|
if (this.#textareaElementRef.value) {
|
311
313
|
this.value = this.#textareaElementRef.value.value;
|
312
314
|
}
|
313
|
-
// Unlike "input" events, "change" events aren't composed. So we have to
|
314
|
-
//
|
315
|
+
// Unlike "input" events, "change" events aren't composed. So we have to manually
|
316
|
+
// dispatch them.
|
315
317
|
this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
|
316
318
|
}
|
317
|
-
#onTextareaInput() {
|
319
|
+
#onTextareaInput(event) {
|
318
320
|
if (this.#textareaElementRef.value) {
|
319
321
|
this.value = this.#textareaElementRef.value.value;
|
320
322
|
}
|
323
|
+
// Our analyzer plugin (`add-events.ts`) doesn't and can't account for events that
|
324
|
+
// are implicitly dispatched by a native form control in a component. So we stop
|
325
|
+
// the original event and dispatch our own.
|
326
|
+
if (event.type === 'input') {
|
327
|
+
event.stopPropagation();
|
328
|
+
this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
329
|
+
}
|
321
330
|
}
|
322
331
|
#onTextareaKeydown(event) {
|
323
332
|
if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {
|
package/dist/toast.js
CHANGED
@@ -9,7 +9,6 @@ import { LitElement, html } from 'lit';
|
|
9
9
|
import { customElement, property } from 'lit/decorators.js';
|
10
10
|
import packageJson from '../package.json' with { type: 'json' };
|
11
11
|
import Toasts from './toast.toasts.js';
|
12
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
13
12
|
import final from './library/final.js';
|
14
13
|
import required from './library/required.js';
|
15
14
|
import Link from './link.js';
|
@@ -46,9 +45,10 @@ let Toast = class Toast extends LitElement {
|
|
46
45
|
this.variant = 'informational';
|
47
46
|
this.version = packageJson.version;
|
48
47
|
}
|
48
|
+
/* c8 ignore start */
|
49
49
|
static { this.shadowRootOptions = {
|
50
50
|
...LitElement.shadowRootOptions,
|
51
|
-
mode:
|
51
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
52
52
|
}; }
|
53
53
|
dismiss() {
|
54
54
|
this.dispatchEvent(new Event('dismiss', { bubbles: true, composed: true }));
|
package/dist/toast.toasts.js
CHANGED
@@ -17,7 +17,6 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
17
17
|
import xIcon from './icons/x.js';
|
18
18
|
import { LocalizeController } from './library/localize.js';
|
19
19
|
import styles from './toast.toasts.styles.js';
|
20
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
21
20
|
import final from './library/final.js';
|
22
21
|
import Toast from './toast.js';
|
23
22
|
import Link from './link.js';
|
@@ -40,10 +39,12 @@ let Toasts = class Toasts extends LitElement {
|
|
40
39
|
this.#componentElementRef = createRef();
|
41
40
|
this.#localize = new LocalizeController(this);
|
42
41
|
}
|
42
|
+
/* c8 ignore start */
|
43
43
|
static { this.shadowRootOptions = {
|
44
44
|
...LitElement.shadowRootOptions,
|
45
|
-
mode:
|
45
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
46
46
|
}; }
|
47
|
+
/* c8 ignore end */
|
47
48
|
static { this.styles = styles; }
|
48
49
|
dismiss(toast) {
|
49
50
|
const index = this.toasts.indexOf(toast);
|
package/dist/toggle.d.ts
CHANGED
package/dist/toggle.js
CHANGED
@@ -12,7 +12,6 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
12
12
|
import { when } from 'lit/directives/when.js';
|
13
13
|
import packageJson from '../package.json' with { type: 'json' };
|
14
14
|
import styles from './toggle.styles.js';
|
15
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
16
15
|
import final from './library/final.js';
|
17
16
|
import required from './library/required.js';
|
18
17
|
/**
|
@@ -30,6 +29,7 @@ import required from './library/required.js';
|
|
30
29
|
* @slot {Element | string} [description] - Additional information or context
|
31
30
|
*
|
32
31
|
* @fires {Event} change
|
32
|
+
* @fires {Event} input
|
33
33
|
*/
|
34
34
|
let Toggle = class Toggle extends LitElement {
|
35
35
|
constructor() {
|
@@ -41,10 +41,12 @@ let Toggle = class Toggle extends LitElement {
|
|
41
41
|
this.version = packageJson.version;
|
42
42
|
this.#inputElementRef = createRef();
|
43
43
|
}
|
44
|
+
/* c8 ignore start */
|
44
45
|
static { this.shadowRootOptions = {
|
45
46
|
...LitElement.shadowRootOptions,
|
46
|
-
mode:
|
47
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
47
48
|
}; }
|
49
|
+
/* c8 ignore end */
|
48
50
|
static { this.styles = styles; }
|
49
51
|
click() {
|
50
52
|
this.#inputElementRef.value?.click();
|
@@ -136,9 +138,16 @@ let Toggle = class Toggle extends LitElement {
|
|
136
138
|
if (event.target instanceof HTMLInputElement) {
|
137
139
|
this.checked = event.target.checked;
|
138
140
|
}
|
141
|
+
// Our analyzer plugin (`add-events.ts`) doesn't and can't account for events that
|
142
|
+
// are implicitly dispatched by a native form control in a component. So we stop
|
143
|
+
// the original event and dispatch our own.
|
144
|
+
if (event.type === 'input') {
|
145
|
+
event.stopPropagation();
|
146
|
+
this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
147
|
+
}
|
139
148
|
if (event.type === 'change') {
|
140
|
-
// Unlike "input" events, "change" events aren't composed. So we have to
|
141
|
-
//
|
149
|
+
// Unlike "input" events, "change" events aren't composed. So we have to manually
|
150
|
+
// dispatch them.
|
142
151
|
this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
|
143
152
|
}
|
144
153
|
}
|
@@ -10,7 +10,6 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
10
10
|
import { map } from 'lit/directives/map.js';
|
11
11
|
import { when } from 'lit/directives/when.js';
|
12
12
|
import styles from './tooltip.container.styles.js';
|
13
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
14
13
|
import final from './library/final.js';
|
15
14
|
import uniqueId from './library/unique-id.js';
|
16
15
|
// This component exists because Tooltip's target and its tooltip both need to
|
@@ -46,10 +45,12 @@ let TooltipContainer = class TooltipContainer extends LitElement {
|
|
46
45
|
this.shortcut = [];
|
47
46
|
this.#isDisabled = false;
|
48
47
|
}
|
48
|
+
/* c8 ignore start */
|
49
49
|
static { this.shadowRootOptions = {
|
50
50
|
...LitElement.shadowRootOptions,
|
51
|
-
mode:
|
51
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
52
52
|
}; }
|
53
|
+
/* c8 ignore end */
|
53
54
|
static { this.styles = styles; }
|
54
55
|
/**
|
55
56
|
* @default false
|
package/dist/tooltip.js
CHANGED
@@ -14,7 +14,6 @@ import packageJson from '../package.json' with { type: 'json' };
|
|
14
14
|
import styles from './tooltip.styles.js';
|
15
15
|
import './tooltip.container.js';
|
16
16
|
import assertSlot from './library/assert-slot.js';
|
17
|
-
import shadowRootMode from './library/shadow-root-mode.js';
|
18
17
|
import final from './library/final.js';
|
19
18
|
import required from './library/required.js';
|
20
19
|
/**
|
@@ -48,10 +47,12 @@ let Tooltip = class Tooltip extends LitElement {
|
|
48
47
|
this.#targetSlotElementRef = createRef();
|
49
48
|
this.#tooltipElementRef = createRef();
|
50
49
|
}
|
50
|
+
/* c8 ignore start */
|
51
51
|
static { this.shadowRootOptions = {
|
52
52
|
...LitElement.shadowRootOptions,
|
53
|
-
mode:
|
53
|
+
mode: window.navigator.webdriver ? 'open' : 'closed',
|
54
54
|
}; }
|
55
|
+
/* c8 ignore end */
|
55
56
|
static { this.styles = styles; }
|
56
57
|
/**
|
57
58
|
* @default undefined
|
@@ -265,11 +266,7 @@ let Tooltip = class Tooltip extends LitElement {
|
|
265
266
|
])}
|
266
267
|
</div>
|
267
268
|
|
268
|
-
<div
|
269
|
-
class=${classMap({
|
270
|
-
content: true,
|
271
|
-
})}
|
272
|
-
>
|
269
|
+
<div class="content">
|
273
270
|
<slot class="default-slot" name="private">
|
274
271
|
<!--
|
275
272
|
@type {TooltipContainer}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@crowdstrike/glide-core",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.33.0",
|
4
4
|
"description": "A Web Component design system",
|
5
5
|
"author": "CrowdStrike UX Team",
|
6
6
|
"license": "Apache-2.0",
|
@@ -68,7 +68,6 @@
|
|
68
68
|
"@figma/rest-api-spec": "^0.32.0",
|
69
69
|
"@html-eslint/eslint-plugin": "^0.41.0",
|
70
70
|
"@jridgewell/trace-mapping": "^0.3.29",
|
71
|
-
"@lit-labs/ssr": "^3.3.1",
|
72
71
|
"@open-wc/testing": "^4.0.0",
|
73
72
|
"@playwright/test": "^1.54.2",
|
74
73
|
"@rollup/plugin-commonjs": "^28.0.2",
|
@@ -90,8 +89,8 @@
|
|
90
89
|
"@types/istanbul-lib-report": "^3.0.3",
|
91
90
|
"@types/istanbul-reports": "^3.0.4",
|
92
91
|
"@types/mocha": "^10.0.10",
|
92
|
+
"@types/serialize-javascript": "^5.0.4",
|
93
93
|
"@types/sinon": "^17.0.3",
|
94
|
-
"@typescript-eslint/rule-tester": "^8.33.0",
|
95
94
|
"@typescript-eslint/types": "^8.33.0",
|
96
95
|
"@typescript-eslint/utils": "^8.33.0",
|
97
96
|
"@web/dev-server-esbuild": "^1.0.4",
|
@@ -135,6 +134,7 @@
|
|
135
134
|
"react": "^19.1.0",
|
136
135
|
"react-dom": "^19.1.0",
|
137
136
|
"rimraf": "^6.0.1",
|
137
|
+
"serialize-javascript": "^6.0.2",
|
138
138
|
"sinon": "^19.0.2",
|
139
139
|
"storybook": "^8.6.14",
|
140
140
|
"stylelint": "^16.21.1",
|
@@ -189,7 +189,7 @@
|
|
189
189
|
"test:development:playwright": "npm-run-all --parallel test:development:playwright:coverage test:development:playwright:ui",
|
190
190
|
"test:development:playwright:coverage": "http-server ./dist/playwright/coverage-report --port 6008 --silent",
|
191
191
|
"test:development:playwright:ui": "playwright test --config ./src/playwright/playwright.config.ts --ui-port 6007 --update-snapshots --update-source-method=overwrite",
|
192
|
-
"test:development:playwright:update": "PLAYWRIGHT_SKIP_COVERAGE=true playwright test --config ./src/playwright/playwright.config.ts --quiet --
|
192
|
+
"test:development:playwright:update": "PLAYWRIGHT_SKIP_COVERAGE=true playwright test --config ./src/playwright/playwright.config.ts --quiet --grep @accessibility --update-snapshots --update-source-method=overwrite --workers 100%",
|
193
193
|
"test:development:web-test-runner": "web-test-runner --watch",
|
194
194
|
"test:production": "pnpm start:production:esbuild && npm-run-all --aggregate-output --print-label --parallel test:production:*",
|
195
195
|
"test:production:playwright": "playwright test --config ./src/playwright/playwright.config.ts --grep 'is accessible|@eslint|@events|@forms|@keyboard|@miscellaneous|@mouse|@stylelint'",
|