@warp-ds/elements 2.6.0 → 2.7.0-next.2

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.
Files changed (119) hide show
  1. package/dist/custom-elements.json +1552 -0
  2. package/dist/index.d.ts +561 -0
  3. package/dist/packages/affix/affix.js +11 -11
  4. package/dist/packages/affix/affix.js.map +3 -3
  5. package/dist/packages/alert/alert.js +7 -7
  6. package/dist/packages/alert/alert.js.map +3 -3
  7. package/dist/packages/attention/attention.js +22 -22
  8. package/dist/packages/attention/attention.js.map +3 -3
  9. package/dist/packages/breadcrumbs/breadcrumbs.js +9 -9
  10. package/dist/packages/breadcrumbs/breadcrumbs.js.map +3 -3
  11. package/dist/packages/button/button.js +11 -11
  12. package/dist/packages/button/button.js.map +3 -3
  13. package/dist/packages/card/card.js +8 -8
  14. package/dist/packages/card/card.js.map +3 -3
  15. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -0
  16. package/dist/packages/checkbox/checkbox.a11y.test.js +73 -0
  17. package/dist/packages/checkbox/checkbox.d.ts +49 -0
  18. package/dist/packages/checkbox/checkbox.js +2594 -0
  19. package/dist/packages/checkbox/checkbox.js.map +7 -0
  20. package/dist/packages/checkbox/checkbox.react.stories.d.ts +12 -0
  21. package/dist/packages/checkbox/checkbox.react.stories.js +10 -0
  22. package/dist/packages/checkbox/checkbox.stories.d.ts +25 -0
  23. package/dist/packages/checkbox/checkbox.stories.js +183 -0
  24. package/dist/packages/checkbox/checkbox.test.d.ts +1 -0
  25. package/dist/packages/checkbox/checkbox.test.js +142 -0
  26. package/dist/packages/checkbox/react.d.ts +5 -0
  27. package/dist/packages/checkbox/react.js +15 -0
  28. package/dist/packages/checkbox/styles.d.ts +1 -0
  29. package/dist/packages/checkbox/styles.js +134 -0
  30. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -0
  31. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +109 -0
  32. package/dist/packages/checkbox-group/checkbox-group.d.ts +33 -0
  33. package/dist/packages/checkbox-group/checkbox-group.js +71 -0
  34. package/dist/packages/checkbox-group/checkbox-group.js.map +7 -0
  35. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -0
  36. package/dist/packages/checkbox-group/checkbox-group.test.js +112 -0
  37. package/dist/packages/checkbox-group/locales/da/messages.d.mts +1 -0
  38. package/dist/packages/checkbox-group/locales/da/messages.mjs +1 -0
  39. package/dist/packages/checkbox-group/locales/en/messages.d.mts +1 -0
  40. package/dist/packages/checkbox-group/locales/en/messages.mjs +1 -0
  41. package/dist/packages/checkbox-group/locales/fi/messages.d.mts +1 -0
  42. package/dist/packages/checkbox-group/locales/fi/messages.mjs +1 -0
  43. package/dist/packages/checkbox-group/locales/nb/messages.d.mts +1 -0
  44. package/dist/packages/checkbox-group/locales/nb/messages.mjs +1 -0
  45. package/dist/packages/checkbox-group/locales/sv/messages.d.mts +1 -0
  46. package/dist/packages/checkbox-group/locales/sv/messages.mjs +1 -0
  47. package/dist/packages/checkbox-group/react.d.ts +2 -0
  48. package/dist/packages/checkbox-group/react.js +11 -0
  49. package/dist/packages/combobox/combobox.js +11 -11
  50. package/dist/packages/combobox/combobox.js.map +3 -3
  51. package/dist/packages/datepicker/datepicker.js +42 -42
  52. package/dist/packages/datepicker/datepicker.js.map +3 -3
  53. package/dist/packages/expandable/expandable.js +11 -11
  54. package/dist/packages/expandable/expandable.js.map +3 -3
  55. package/dist/packages/i18n.d.ts +2 -0
  56. package/dist/packages/i18n.js +87 -2
  57. package/dist/packages/modal-header/modal-header.js +15 -15
  58. package/dist/packages/modal-header/modal-header.js.map +3 -3
  59. package/dist/packages/page-indicator/page-indicator.js +7 -7
  60. package/dist/packages/page-indicator/page-indicator.js.map +3 -3
  61. package/dist/packages/pagination/pagination.js +24 -24
  62. package/dist/packages/pagination/pagination.js.map +3 -3
  63. package/dist/packages/pill/pill.js +10 -10
  64. package/dist/packages/pill/pill.js.map +3 -3
  65. package/dist/packages/select/select.js +20 -20
  66. package/dist/packages/select/select.js.map +3 -3
  67. package/dist/packages/slider/Slider.d.ts +2 -0
  68. package/dist/packages/slider/Slider.js +8 -0
  69. package/dist/packages/slider/index.d.ts +2 -0
  70. package/dist/packages/slider/index.js +2 -0
  71. package/dist/packages/slider/locales/da/messages.d.mts +1 -0
  72. package/dist/packages/slider/locales/da/messages.mjs +1 -0
  73. package/dist/packages/slider/locales/en/messages.d.mts +1 -0
  74. package/dist/packages/slider/locales/en/messages.mjs +1 -0
  75. package/dist/packages/slider/locales/fi/messages.d.mts +1 -0
  76. package/dist/packages/slider/locales/fi/messages.mjs +1 -0
  77. package/dist/packages/slider/locales/nb/messages.d.mts +1 -0
  78. package/dist/packages/slider/locales/nb/messages.mjs +1 -0
  79. package/dist/packages/slider/locales/sv/messages.d.mts +1 -0
  80. package/dist/packages/slider/locales/sv/messages.mjs +1 -0
  81. package/dist/packages/slider/react.d.ts +3 -0
  82. package/dist/packages/slider/react.js +13 -0
  83. package/dist/packages/slider/slider.d.ts +64 -0
  84. package/dist/packages/slider/slider.js +2641 -0
  85. package/dist/packages/slider/slider.js.map +7 -0
  86. package/dist/packages/slider/slider.react.stories.d.ts +19 -0
  87. package/dist/packages/slider/slider.react.stories.js +161 -0
  88. package/dist/packages/slider/slider.stories.d.ts +26 -0
  89. package/dist/packages/slider/slider.stories.js +464 -0
  90. package/dist/packages/slider/slider.test.d.ts +5 -0
  91. package/dist/packages/slider/slider.test.js +380 -0
  92. package/dist/packages/slider/styles/w-slider.styles.d.ts +1 -0
  93. package/dist/packages/slider/styles/w-slider.styles.js +154 -0
  94. package/dist/packages/slider/styles.d.ts +1 -0
  95. package/dist/packages/slider/styles.js +2 -0
  96. package/dist/packages/slider-thumb/SliderThumb.d.ts +2 -0
  97. package/dist/packages/slider-thumb/SliderThumb.js +8 -0
  98. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +2 -0
  99. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +3 -0
  100. package/dist/packages/slider-thumb/react.d.ts +6 -0
  101. package/dist/packages/slider-thumb/react.js +15 -0
  102. package/dist/packages/slider-thumb/slider-thumb.d.ts +72 -0
  103. package/dist/packages/slider-thumb/slider-thumb.js +2774 -0
  104. package/dist/packages/slider-thumb/slider-thumb.js.map +7 -0
  105. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.d.ts +1 -0
  106. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +194 -0
  107. package/dist/packages/step/step.js +13 -13
  108. package/dist/packages/step/step.js.map +3 -3
  109. package/dist/packages/step-indicator/step-indicator.a11y.test.js +6 -2
  110. package/dist/packages/textarea/textarea.a11y.test.js +1 -1
  111. package/dist/packages/textarea/textarea.test.js +2 -1
  112. package/dist/packages/textfield/styles/w-textfield.styles.js +6 -0
  113. package/dist/packages/textfield/textfield.js +7 -1
  114. package/dist/packages/textfield/textfield.js.map +2 -2
  115. package/dist/packages/toast/toast.js +13 -13
  116. package/dist/packages/toast/toast.js.map +3 -3
  117. package/dist/setup-tests.js +1 -1
  118. package/dist/web-types.json +328 -1
  119. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ import './checkbox.js';
@@ -0,0 +1,73 @@
1
+ import { html } from 'lit';
2
+ import { describe, expect, test } from 'vitest';
3
+ import { render } from 'vitest-browser-lit';
4
+ import './checkbox.js';
5
+ describe('w-checkbox accessibility (WCAG 2.2)', () => {
6
+ describe('axe-core automated checks', () => {
7
+ test('default state has no violations', async () => {
8
+ const page = render(html `<w-checkbox>Check me</w-checkbox>`);
9
+ await expect(page).toHaveNoAxeViolations();
10
+ });
11
+ test('disabled state has no violations', async () => {
12
+ const page = render(html `<w-checkbox disabled>Check me</w-checkbox>`);
13
+ await expect(page).toHaveNoAxeViolations();
14
+ });
15
+ test('required state has no violations', async () => {
16
+ const page = render(html `<w-checkbox required>Check me</w-checkbox>`);
17
+ await expect(page).toHaveNoAxeViolations();
18
+ });
19
+ test('indeterminate state has no violations', async () => {
20
+ const page = render(html `<w-checkbox indeterminate>Check me</w-checkbox>`);
21
+ await expect(page).toHaveNoAxeViolations();
22
+ });
23
+ });
24
+ describe('WCAG 1.3.1 - Info and Relationships', () => {
25
+ test('checkbox has accessible name from label slot', async () => {
26
+ const page = render(html `<w-checkbox>Accept terms</w-checkbox>`);
27
+ await expect.element(page.getByRole('checkbox', { name: 'Accept terms' })).toBeVisible();
28
+ });
29
+ });
30
+ describe('WCAG 4.1.2 - Name, Role, Value', () => {
31
+ test('required state is exposed', async () => {
32
+ const page = render(html `<w-checkbox required>Required</w-checkbox>`);
33
+ await expect.element(page.getByRole('checkbox', { name: 'Required' })).toHaveAttribute('required');
34
+ });
35
+ test('disabled state is exposed', async () => {
36
+ const page = render(html `<w-checkbox disabled>Disabled</w-checkbox>`);
37
+ await expect.element(page.getByRole('checkbox', { name: 'Disabled' })).toBeDisabled();
38
+ });
39
+ test('checked state is exposed', async () => {
40
+ const page = render(html `<w-checkbox checked>Checked</w-checkbox>`);
41
+ await expect.element(page.getByRole('checkbox', { name: 'Checked' })).toBeChecked();
42
+ });
43
+ });
44
+ describe('WCAG 2.1.1 - Keyboard', () => {
45
+ test('checkbox is focusable', async () => {
46
+ const page = render(html `<w-checkbox>Focusable</w-checkbox>`);
47
+ await expect.element(page.getByRole('checkbox', { name: 'Focusable' })).toBeVisible();
48
+ const wCheckbox = document.querySelector('w-checkbox');
49
+ await wCheckbox.updateComplete;
50
+ wCheckbox.focus();
51
+ await expect.poll(() => wCheckbox?.shadowRoot?.activeElement?.tagName).toBe('INPUT');
52
+ });
53
+ test('disabled checkbox is not focusable', async () => {
54
+ const page = render(html `
55
+ <button>Before</button>
56
+ <w-checkbox disabled>Disabled</w-checkbox>
57
+ <button>After</button>
58
+ `);
59
+ const buttons = Array.from(document.querySelectorAll('button'));
60
+ const beforeBtn = buttons[0];
61
+ const afterBtn = buttons[1];
62
+ expect(beforeBtn).toBeDefined();
63
+ expect(afterBtn).toBeDefined();
64
+ beforeBtn?.focus();
65
+ const wCheckbox = document.querySelector('w-checkbox');
66
+ await wCheckbox?.updateComplete;
67
+ wCheckbox?.focus();
68
+ await expect.element(beforeBtn).toHaveFocus();
69
+ expect(wCheckbox?.shadowRoot?.activeElement).toBeNull();
70
+ await expect.element(page.getByRole('checkbox', { name: 'Disabled' })).toBeDisabled();
71
+ });
72
+ });
73
+ });
@@ -0,0 +1,49 @@
1
+ import { LitElement, PropertyValues } from 'lit';
2
+ declare const WCheckbox_base: import("@open-wc/form-control").Constructor<import("@open-wc/form-control").FormControlInterface> & typeof LitElement;
3
+ export declare class WCheckbox extends WCheckbox_base {
4
+ #private;
5
+ static styles: import("lit").CSSResult[];
6
+ static shadowRootOptions: {
7
+ delegatesFocus: boolean;
8
+ mode: ShadowRootMode;
9
+ serializable?: boolean;
10
+ slotAssignment?: SlotAssignmentMode;
11
+ };
12
+ input: HTMLInputElement | null;
13
+ /** The name of the checkbox, submitted as a name/value pair with form data. */
14
+ name: string;
15
+ /** The value of the checkbox, submitted as a name/value pair with form data. */
16
+ value: string | null;
17
+ /** Draws the checkbox in an indeterminate state. */
18
+ indeterminate: boolean;
19
+ /** Draws the checkbox in a checked state (reflected to attribute). */
20
+ checked: boolean;
21
+ /** Disables the checkbox. */
22
+ disabled: boolean;
23
+ /** Makes the checkbox a required field. */
24
+ required: boolean;
25
+ /** Draws the checkbox in an invalid state. */
26
+ invalid: boolean;
27
+ connectedCallback(): void;
28
+ private handleClick;
29
+ updated(changedProperties: PropertyValues<this>): void;
30
+ resetFormControl(): void;
31
+ click(): void;
32
+ focus(options?: FocusOptions): void;
33
+ blur(): void;
34
+ /** Returns the validation message if the checkbox is invalid, otherwise an empty string */
35
+ get validationMessage(): string;
36
+ /** Returns the validity state of the checkbox */
37
+ get validity(): ValidityState;
38
+ /** Checks whether the checkbox passes constraint validation */
39
+ checkValidity(): boolean;
40
+ /** Checks validity and shows the browser's validation message if invalid */
41
+ reportValidity(): boolean;
42
+ render(): import("lit").TemplateResult<1>;
43
+ }
44
+ declare global {
45
+ interface HTMLElementTagNameMap {
46
+ 'w-checkbox': WCheckbox;
47
+ }
48
+ }
49
+ export {};