@noctuatech/uswds 0.0.22 → 0.0.24

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 (162) hide show
  1. package/assets/uswds.min.js +1 -1
  2. package/package.json +20 -50
  3. package/src/lib/accordion/accordion.test.ts +16 -16
  4. package/src/lib/alert/alert-types.ts +1 -1
  5. package/src/lib/alert/alert.element.ts +5 -1
  6. package/src/lib/alert/alert.test.ts +2 -2
  7. package/src/lib/button/button.element.ts +1 -8
  8. package/src/lib/button/button.stories.ts +3 -4
  9. package/src/lib/button/button.test.ts +3 -3
  10. package/src/lib/card/card.test.ts +2 -2
  11. package/src/lib/checkbox/checkbox.element.ts +27 -16
  12. package/src/lib/checkbox/checkbox.stories.ts +1 -1
  13. package/src/lib/checkbox/checkbox.test.ts +21 -4
  14. package/src/lib/config/config.element.ts +4 -8
  15. package/src/lib/config/config.test.ts +2 -2
  16. package/src/lib/description/description.test.ts +2 -2
  17. package/src/lib/file-input/file-input-preview/file-input-preview.element.ts +18 -7
  18. package/src/lib/file-input/file-input-preview/file-input-preview.test.ts +4 -4
  19. package/src/lib/file-input/file-input.element.ts +3 -3
  20. package/src/lib/file-input/file-input.test.ts +2 -2
  21. package/src/lib/icon/icon.element.ts +5 -7
  22. package/src/lib/icon/icon.stories.ts +3 -3
  23. package/src/lib/input/input.element.ts +69 -12
  24. package/src/lib/input/input.stories.ts +3 -1
  25. package/src/lib/input/input.test.ts +20 -5
  26. package/src/lib/input-mask/format.ts +1 -1
  27. package/src/lib/input-mask/input-mask.element.ts +7 -9
  28. package/src/lib/input-mask/input-mask.test.ts +17 -13
  29. package/src/lib/modal/modal-close/modal-close.test.ts +2 -2
  30. package/src/lib/modal/modal-heading/modal-heading.test.ts +2 -2
  31. package/src/lib/modal/modal.test.ts +2 -2
  32. package/src/lib/radio/context.ts +9 -0
  33. package/src/lib/radio/radio-option/radio-option.element.ts +45 -26
  34. package/src/lib/radio/radio-option/radio-option.test.ts +1 -1
  35. package/src/lib/radio/radio.element.ts +42 -31
  36. package/src/lib/radio/radio.stories.ts +2 -2
  37. package/src/lib/radio/radio.test.ts +16 -16
  38. package/src/lib/select/context.ts +10 -0
  39. package/src/lib/select/select-option/select-option.element.ts +26 -4
  40. package/src/lib/select/select.element.ts +37 -18
  41. package/src/lib/select/select.stories.ts +1 -1
  42. package/src/lib/select/select.test.ts +32 -13
  43. package/src/lib/services/icon.service.ts +11 -3
  44. package/src/lib/side-nav/side-nav.element.ts +1 -1
  45. package/src/lib/side-nav/side-nav.test.ts +6 -6
  46. package/src/lib/step-indicator/step/step.element.ts +27 -29
  47. package/src/lib/step-indicator/step-indicator.element.ts +1 -1
  48. package/src/lib/step-indicator/step-indicator.stories.ts +9 -6
  49. package/src/lib/step-indicator/step-indicator.test.ts +2 -2
  50. package/src/lib/summary-box/summary-box.element.ts +0 -7
  51. package/src/lib/summary-box/summary-box.stories.ts +1 -1
  52. package/src/lib/summary-box/summary-box.test.ts +2 -2
  53. package/src/lib/tag/tag.element.ts +0 -7
  54. package/src/lib/tag/tag.test.ts +2 -2
  55. package/target/lib/accordion/accordion.test.js +5 -5
  56. package/target/lib/accordion/accordion.test.js.map +1 -1
  57. package/target/lib/alert/alert-types.d.ts +1 -1
  58. package/target/lib/alert/alert.element.d.ts +1 -1
  59. package/target/lib/alert/alert.element.js +4 -0
  60. package/target/lib/alert/alert.element.js.map +1 -1
  61. package/target/lib/alert/alert.test.js +2 -2
  62. package/target/lib/alert/alert.test.js.map +1 -1
  63. package/target/lib/button/button.element.js +1 -8
  64. package/target/lib/button/button.element.js.map +1 -1
  65. package/target/lib/button/button.stories.js +1 -4
  66. package/target/lib/button/button.stories.js.map +1 -1
  67. package/target/lib/button/button.test.js +2 -2
  68. package/target/lib/button/button.test.js.map +1 -1
  69. package/target/lib/card/card.test.js +1 -1
  70. package/target/lib/card/card.test.js.map +1 -1
  71. package/target/lib/checkbox/checkbox.element.d.ts +1 -0
  72. package/target/lib/checkbox/checkbox.element.js +24 -16
  73. package/target/lib/checkbox/checkbox.element.js.map +1 -1
  74. package/target/lib/checkbox/checkbox.test.js +17 -3
  75. package/target/lib/checkbox/checkbox.test.js.map +1 -1
  76. package/target/lib/config/config.element.d.ts +0 -2
  77. package/target/lib/config/config.element.js +4 -10
  78. package/target/lib/config/config.element.js.map +1 -1
  79. package/target/lib/config/config.test.js +1 -1
  80. package/target/lib/config/config.test.js.map +1 -1
  81. package/target/lib/description/description.test.js +1 -1
  82. package/target/lib/description/description.test.js.map +1 -1
  83. package/target/lib/file-input/file-input-preview/file-input-preview.element.d.ts +1 -0
  84. package/target/lib/file-input/file-input-preview/file-input-preview.element.js +14 -6
  85. package/target/lib/file-input/file-input-preview/file-input-preview.element.js.map +1 -1
  86. package/target/lib/file-input/file-input-preview/file-input-preview.test.js +3 -3
  87. package/target/lib/file-input/file-input-preview/file-input-preview.test.js.map +1 -1
  88. package/target/lib/file-input/file-input.element.js +3 -3
  89. package/target/lib/file-input/file-input.element.js.map +1 -1
  90. package/target/lib/file-input/file-input.test.js +1 -1
  91. package/target/lib/file-input/file-input.test.js.map +1 -1
  92. package/target/lib/icon/icon.element.d.ts +1 -1
  93. package/target/lib/icon/icon.element.js +4 -5
  94. package/target/lib/icon/icon.element.js.map +1 -1
  95. package/target/lib/icon/icon.stories.js.map +1 -1
  96. package/target/lib/input/input.element.d.ts +6 -2
  97. package/target/lib/input/input.element.js +73 -10
  98. package/target/lib/input/input.element.js.map +1 -1
  99. package/target/lib/input/input.stories.js +3 -1
  100. package/target/lib/input/input.stories.js.map +1 -1
  101. package/target/lib/input/input.test.js +16 -4
  102. package/target/lib/input/input.test.js.map +1 -1
  103. package/target/lib/input-mask/format.js +1 -1
  104. package/target/lib/input-mask/input-mask.element.d.ts +1 -1
  105. package/target/lib/input-mask/input-mask.element.js +6 -7
  106. package/target/lib/input-mask/input-mask.element.js.map +1 -1
  107. package/target/lib/input-mask/input-mask.test.js +12 -8
  108. package/target/lib/input-mask/input-mask.test.js.map +1 -1
  109. package/target/lib/modal/modal-close/modal-close.test.js +1 -1
  110. package/target/lib/modal/modal-close/modal-close.test.js.map +1 -1
  111. package/target/lib/modal/modal-heading/modal-heading.test.js +1 -1
  112. package/target/lib/modal/modal-heading/modal-heading.test.js.map +1 -1
  113. package/target/lib/modal/modal.test.js +1 -1
  114. package/target/lib/modal/modal.test.js.map +1 -1
  115. package/target/lib/radio/context.d.ts +7 -0
  116. package/target/lib/radio/context.js +3 -0
  117. package/target/lib/radio/context.js.map +1 -0
  118. package/target/lib/radio/radio-option/radio-option.element.d.ts +1 -5
  119. package/target/lib/radio/radio-option/radio-option.element.js +45 -35
  120. package/target/lib/radio/radio-option/radio-option.element.js.map +1 -1
  121. package/target/lib/radio/radio.element.d.ts +5 -5
  122. package/target/lib/radio/radio.element.js +39 -29
  123. package/target/lib/radio/radio.element.js.map +1 -1
  124. package/target/lib/radio/radio.stories.js.map +1 -1
  125. package/target/lib/radio/radio.test.js +9 -13
  126. package/target/lib/radio/radio.test.js.map +1 -1
  127. package/target/lib/select/context.d.ts +6 -0
  128. package/target/lib/select/context.js +3 -0
  129. package/target/lib/select/context.js.map +1 -0
  130. package/target/lib/select/select-option/select-option.element.d.ts +2 -1
  131. package/target/lib/select/select-option/select-option.element.js +20 -3
  132. package/target/lib/select/select-option/select-option.element.js.map +1 -1
  133. package/target/lib/select/select.element.d.ts +5 -2
  134. package/target/lib/select/select.element.js +33 -18
  135. package/target/lib/select/select.element.js.map +1 -1
  136. package/target/lib/select/select.stories.js +1 -1
  137. package/target/lib/select/select.test.js +24 -8
  138. package/target/lib/select/select.test.js.map +1 -1
  139. package/target/lib/services/icon.service.js +7 -1
  140. package/target/lib/services/icon.service.js.map +1 -1
  141. package/target/lib/side-nav/side-nav.element.js +1 -1
  142. package/target/lib/side-nav/side-nav.element.js.map +1 -1
  143. package/target/lib/side-nav/side-nav.test.js +1 -1
  144. package/target/lib/side-nav/side-nav.test.js.map +1 -1
  145. package/target/lib/step-indicator/step/step.element.js +27 -29
  146. package/target/lib/step-indicator/step/step.element.js.map +1 -1
  147. package/target/lib/step-indicator/step-indicator.element.js +1 -1
  148. package/target/lib/step-indicator/step-indicator.stories.d.ts +1 -1
  149. package/target/lib/step-indicator/step-indicator.stories.js +9 -6
  150. package/target/lib/step-indicator/step-indicator.stories.js.map +1 -1
  151. package/target/lib/step-indicator/step-indicator.test.js +1 -1
  152. package/target/lib/step-indicator/step-indicator.test.js.map +1 -1
  153. package/target/lib/summary-box/summary-box.element.js +0 -7
  154. package/target/lib/summary-box/summary-box.element.js.map +1 -1
  155. package/target/lib/summary-box/summary-box.stories.js +1 -1
  156. package/target/lib/summary-box/summary-box.stories.js.map +1 -1
  157. package/target/lib/summary-box/summary-box.test.js +1 -1
  158. package/target/lib/summary-box/summary-box.test.js.map +1 -1
  159. package/target/lib/tag/tag.element.js +0 -7
  160. package/target/lib/tag/tag.element.js.map +1 -1
  161. package/target/lib/tag/tag.test.js +1 -1
  162. package/target/lib/tag/tag.test.js.map +1 -1
@@ -1,8 +1,8 @@
1
1
  import "./select.element.js";
2
2
  import "./select-option/select-option.element.js";
3
3
 
4
- import { fixture, html, assert } from "@open-wc/testing";
5
4
  import { fireEvent } from "@noctuatech-uswds/testing";
5
+ import { assert, fixture, html } from "@open-wc/testing";
6
6
 
7
7
  describe("usa-select", () => {
8
8
  it("should be accessible", async () => {
@@ -33,12 +33,12 @@ describe("usa-select", () => {
33
33
  `);
34
34
 
35
35
  const nativeInputs = form
36
- .querySelector("usa-select")!
37
- .shadowRoot!.querySelectorAll("option");
36
+ .querySelector("usa-select")
37
+ ?.shadowRoot?.querySelectorAll("option");
38
38
 
39
39
  assert.deepEqual(
40
- Array.from(nativeInputs).map((input) => input.value),
41
- ["first", "second", "third"]
40
+ Array.from(nativeInputs ?? []).map((input) => input.value),
41
+ ["first", "second", "third"],
42
42
  );
43
43
  });
44
44
 
@@ -60,12 +60,12 @@ describe("usa-select", () => {
60
60
  options[1].remove();
61
61
 
62
62
  const nativeInputs = form
63
- .querySelector("usa-select")!
64
- .shadowRoot!.querySelectorAll("option");
63
+ .querySelector("usa-select")
64
+ ?.shadowRoot?.querySelectorAll("option");
65
65
 
66
66
  assert.deepEqual(
67
- Array.from(nativeInputs).map((input) => input.value),
68
- ["first", "third"]
67
+ Array.from(nativeInputs ?? []).map((input) => input.value),
68
+ ["first", "third"],
69
69
  );
70
70
  });
71
71
 
@@ -100,14 +100,33 @@ describe("usa-select", () => {
100
100
  </form>
101
101
  `);
102
102
 
103
- const select = form.querySelector("usa-select")!;
104
- const nativeSelect = select.shadowRoot!.querySelector("select")!;
105
- nativeSelect.value = "third";
103
+ const select = form.querySelector("usa-select");
104
+ const nativeSelect = select?.shadowRoot?.querySelector("select");
106
105
 
107
- await fireEvent.change(nativeSelect, { bubbles: true });
106
+ if (nativeSelect) {
107
+ nativeSelect.value = "third";
108
+
109
+ await fireEvent.change(nativeSelect, { bubbles: true });
110
+ }
108
111
 
109
112
  const value = new FormData(form);
110
113
 
111
114
  assert.equal(value.get("example"), "third");
112
115
  });
116
+
117
+ it("should not submit when not valid", async () => {
118
+ const form = await fixture<HTMLFormElement>(html`
119
+ <form>
120
+ <usa-select name="example" required>
121
+ Hello World
122
+
123
+ <usa-select-option value="first">First</usa-select-option>
124
+ <usa-select-option value="second">Second</usa-select-option>
125
+ <usa-select-option value="third">Third</usa-select-option>
126
+ </usa-select>
127
+ </form>
128
+ `);
129
+
130
+ assert.equal(form.checkValidity(), false);
131
+ });
113
132
  });
@@ -1,7 +1,7 @@
1
1
  import { inject, injectable } from "@joist/di";
2
2
 
3
- import { HttpService } from "./http.service.js";
4
3
  import { USAConfig } from "../config/config.element.js";
4
+ import { HttpService } from "./http.service.js";
5
5
 
6
6
  @injectable()
7
7
  export class IconService {
@@ -17,7 +17,11 @@ export class IconService {
17
17
 
18
18
  if (cached) {
19
19
  return cached.then((res) => {
20
- return res.content.firstElementChild!.cloneNode(true);
20
+ if (!res.content.firstElementChild) {
21
+ throw Error("cached value is not valid");
22
+ }
23
+
24
+ return res.content.firstElementChild.cloneNode(true);
21
25
  });
22
26
  }
23
27
 
@@ -41,7 +45,11 @@ export class IconService {
41
45
  this.#iconCache.set(icon, svg);
42
46
 
43
47
  return svg.then((res) => {
44
- return res.content.firstElementChild!.cloneNode(true);
48
+ if (!res.content.firstElementChild) {
49
+ throw Error("ICON is not valid");
50
+ }
51
+
52
+ return res.content.firstElementChild.cloneNode(true);
45
53
  });
46
54
  }
47
55
  }
@@ -1,4 +1,4 @@
1
- import { css, element, html, attr } from "@joist/element";
1
+ import { attr, css, element, html } from "@joist/element";
2
2
 
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
@@ -2,9 +2,9 @@ import "../link/link.element.js";
2
2
  import "./side-nav.element.js";
3
3
  import "./side-nav-item/side-nav-item.element.js";
4
4
 
5
- import { fixture, html, assert } from "@open-wc/testing";
5
+ import { assert, fixture, html } from "@open-wc/testing";
6
6
 
7
- import { USASideNavElement } from "./side-nav.element.js";
7
+ import type { USASideNavElement } from "./side-nav.element.js";
8
8
 
9
9
  describe("usa-side-nav", () => {
10
10
  it("should be accessible", async () => {
@@ -96,16 +96,16 @@ describe("usa-side-nav", () => {
96
96
 
97
97
  assert.equal(
98
98
  getComputedStyle(items[1]).getPropertyValue(
99
- "--usa-nav-item-padding-left"
99
+ "--usa-nav-item-padding-left",
100
100
  ),
101
- "2rem"
101
+ "2rem",
102
102
  );
103
103
 
104
104
  assert.equal(
105
105
  getComputedStyle(items[3]).getPropertyValue(
106
- "--usa-nav-item-padding-left"
106
+ "--usa-nav-item-padding-left",
107
107
  ),
108
- "3rem"
108
+ "3rem",
109
109
  );
110
110
  });
111
111
  });
@@ -18,6 +18,30 @@ declare global {
18
18
  counter-increment: usa-step-indicator;
19
19
  }
20
20
 
21
+ :host([counter]):after {
22
+ content: counter(usa-step-indicator);
23
+ height: 2.5rem;
24
+ border-radius: 99rem;
25
+ width: 2.5rem;
26
+ background-color: #fff;
27
+ box-shadow:
28
+ inset 0 0 0 0.25rem #919191,
29
+ 0 0 0 0.25rem #fff;
30
+ color: #5c5c5c;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ font-weight: 700;
35
+ left: 0;
36
+ line-height: 0.9;
37
+ padding: calc((2.5rem - 2ex * 0.9) * 0.5);
38
+ position: absolute;
39
+ z-index: 100;
40
+ top: 0;
41
+ transform: translateY(-40%);
42
+ box-sizing: border-box;
43
+ }
44
+
21
45
  :host([state="complete"]) {
22
46
  color: #162e51;
23
47
  }
@@ -54,43 +78,19 @@ declare global {
54
78
  margin-top: 1.5rem;
55
79
  }
56
80
 
57
- :host([counter]) .counter:after {
58
- content: counter(usa-step-indicator);
59
- height: 2.5rem;
60
- border-radius: 99rem;
61
- width: 2.5rem;
62
- background-color: #fff;
63
- box-shadow:
64
- inset 0 0 0 0.25rem #919191,
65
- 0 0 0 0.25rem #fff;
66
- color: #5c5c5c;
67
- display: flex;
68
- align-items: center;
69
- justify-content: center;
70
- font-weight: 700;
71
- left: 0;
72
- line-height: 0.9;
73
- padding: calc((2.5rem - 2ex * 0.9) * 0.5);
74
- position: absolute;
75
- z-index: 100;
76
- top: 0;
77
- transform: translateY(-40%);
78
- box-sizing: border-box;
79
- }
80
-
81
- :host([counter][state="complete"]) .counter::after {
81
+ :host([counter][state="complete"]):after {
82
82
  background-color: #162e51;
83
83
  box-shadow: 0 0 0 0.25rem #fff;
84
84
  color: #fff;
85
85
  }
86
86
 
87
- :host([counter][state="current"]) .counter::after {
87
+ :host([counter][state="current"]):after {
88
88
  background-color: #005ea2;
89
89
  box-shadow: 0 0 0 0.25rem #fff;
90
90
  color: #fff;
91
91
  }
92
92
 
93
- :host([counter="small"]) .counter:after {
93
+ :host([counter="small"]):after {
94
94
  height: 1.5rem;
95
95
  width: 1.5rem;
96
96
  font-size: 0.93rem;
@@ -101,8 +101,6 @@ declare global {
101
101
  }
102
102
  `,
103
103
  html`
104
- <div class="counter" aria-hidden="true"></div>
105
-
106
104
  <div class="label">
107
105
  <slot></slot>
108
106
  </div>
@@ -13,7 +13,7 @@ declare global {
13
13
  :host {
14
14
  display: flex;
15
15
  gap: 2px;
16
- counter-reset: usa-step-indicator;
16
+ counter-reset: usa-step-indicator 0;
17
17
  padding-top: 1rem;
18
18
  margin-bottom: 1rem;
19
19
  }
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from "@storybook/web-components";
2
2
  import { html } from "lit";
3
+ import { ifDefined } from "lit/directives/if-defined.js";
3
4
 
4
5
  import type { USAStepIndicatorElement } from "./step-indicator.element.js";
5
6
 
@@ -10,28 +11,30 @@ const meta = {
10
11
  render(args) {
11
12
  return html`
12
13
  <usa-step-indicator>
13
- <usa-step state="complete" counter=${args.counter}>
14
+ <usa-step state="complete" counter=${ifDefined(args.counter)}>
14
15
  Personal information
15
16
  </usa-step>
16
17
 
17
- <usa-step state="complete" counter=${args.counter}>
18
+ <usa-step state="complete" counter=${ifDefined(args.counter)}>
18
19
  Household status
19
20
  </usa-step>
20
21
 
21
- <usa-step state="current" counter=${args.counter}>
22
+ <usa-step state="current" counter=${ifDefined(args.counter)}>
22
23
  Supporting documents
23
24
  </usa-step>
24
25
 
25
- <usa-step counter=${args.counter}>Signature</usa-step>
26
+ <usa-step counter=${ifDefined(args.counter)}>Signature</usa-step>
26
27
 
27
- <usa-step counter=${args.counter}>Review and submit</usa-step>
28
+ <usa-step counter=${ifDefined(args.counter)}>
29
+ Review and submit
30
+ </usa-step>
28
31
  </usa-step-indicator>
29
32
  `;
30
33
  },
31
34
  argTypes: {
32
35
  counter: {
33
36
  control: "select",
34
- options: ["on", "small"],
37
+ options: ["on", "small", null],
35
38
  },
36
39
  },
37
40
  args: {
@@ -1,9 +1,9 @@
1
1
  import "./step-indicator.element.js";
2
2
  import "./step/step.element.js";
3
3
 
4
- import { fixture, html, assert } from "@open-wc/testing";
4
+ import { assert, fixture, html } from "@open-wc/testing";
5
5
 
6
- import { USAStepIndicatorElement } from "./step-indicator.element.js";
6
+ import type { USAStepIndicatorElement } from "./step-indicator.element.js";
7
7
 
8
8
  describe("usa-step-indicator", () => {
9
9
  it("should be accessible", async () => {
@@ -11,13 +11,6 @@ declare global {
11
11
  shadowDom: [
12
12
  css`
13
13
  :host {
14
- font-family:
15
- Source Sans Pro Web,
16
- Helvetica Neue,
17
- Helvetica,
18
- Roboto,
19
- Arial,
20
- sans-serif;
21
14
  font-size: 1.06rem;
22
15
  line-height: 1.5;
23
16
  color: #1b1b1b;
@@ -8,7 +8,7 @@ const meta = {
8
8
  title: "usa-summary-box",
9
9
  tags: ["autodocs"],
10
10
  render(args) {
11
- return html` <usa-summary-box> Hello World </usa-summary-box>`;
11
+ return html`<usa-summary-box> Hello World </usa-summary-box>`;
12
12
  },
13
13
  argTypes: {},
14
14
  args: {},
@@ -1,8 +1,8 @@
1
1
  import "./summary-box.element.js";
2
2
 
3
- import { fixture, html, assert } from "@open-wc/testing";
3
+ import { assert, fixture, html } from "@open-wc/testing";
4
4
 
5
- import { USASummaryBoxElement } from "./summary-box.element.js";
5
+ import type { USASummaryBoxElement } from "./summary-box.element.js";
6
6
 
7
7
  describe("usa-summary-box", () => {
8
8
  it("should be accessible", async () => {
@@ -15,13 +15,6 @@ export type TagVariant = (typeof TAG_VARIANTS)[number];
15
15
  shadowDom: [
16
16
  css`
17
17
  :host {
18
- font-family:
19
- Source Sans Pro Web,
20
- Helvetica Neue,
21
- Helvetica,
22
- Roboto,
23
- Arial,
24
- sans-serif;
25
18
  font-size: 0.93rem;
26
19
  color: #fff;
27
20
  text-transform: uppercase;
@@ -1,8 +1,8 @@
1
1
  import "./tag.element.js";
2
2
 
3
- import { fixture, html, assert } from "@open-wc/testing";
3
+ import { assert, fixture, html } from "@open-wc/testing";
4
4
 
5
- import { USATagElement } from "./tag.element.js";
5
+ import type { USATagElement } from "./tag.element.js";
6
6
 
7
7
  describe("usa-tag", () => {
8
8
  it("should be accessible", async () => {
@@ -1,5 +1,5 @@
1
1
  import "./accordion.element.js";
2
- import { fixture, html, assert } from "@open-wc/testing";
2
+ import { assert, fixture, html } from "@open-wc/testing";
3
3
  describe("usa-accordion", () => {
4
4
  it("should be accessible", async () => {
5
5
  const accordion = await fixture(html `
@@ -31,8 +31,8 @@ describe("usa-accordion", () => {
31
31
  `);
32
32
  const heading = accordion.querySelector("h4");
33
33
  const content = accordion.querySelector(".content");
34
- heading.click();
35
- assert.isTrue(content.checkVisibility());
34
+ heading?.click();
35
+ assert.isTrue(content?.checkVisibility());
36
36
  });
37
37
  it("should toggle the open state when clicked", async () => {
38
38
  const accordion = await fixture(html `
@@ -49,8 +49,8 @@ describe("usa-accordion", () => {
49
49
  `);
50
50
  const heading = accordion.querySelector("h4");
51
51
  const content = accordion.querySelector(".content");
52
- assert.isFalse(content.checkVisibility());
53
- heading.click();
52
+ assert.isFalse(content?.checkVisibility());
53
+ heading?.click();
54
54
  assert.isTrue(content.checkVisibility());
55
55
  });
56
56
  it("should only allow a single accordion in a group to be open", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.test.js","sourceRoot":"","sources":["../../../src/lib/accordion/accordion.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accordion.test.js","sourceRoot":"","sources":["../../../src/lib/accordion/accordion.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { USAIcon } from "../icon/icon-types.js";
1
+ import type { USAIcon } from "../icon/icon-types.js";
2
2
  export declare const USA_ALERT_TYPES: readonly ["info", "warning", "success", "error", "emergency"];
3
3
  export type USAAlertType = (typeof USA_ALERT_TYPES)[number];
4
4
  export interface USAAlert {
@@ -1,4 +1,4 @@
1
- import { USAAlertType } from "./alert-types.js";
1
+ import { type USAAlertType } from "./alert-types.js";
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
4
  "usa-alert": USAAlertElement;
@@ -4,6 +4,10 @@ import { USA_ALERT_CONFIG } from "./alert-types.js";
4
4
  let USAAlertElement = (() => {
5
5
  let _classDecorators = [element({
6
6
  tagName: "usa-alert",
7
+ shadowDomOpts: {
8
+ mode: "open",
9
+ delegatesFocus: true,
10
+ },
7
11
  shadowDom: [
8
12
  css `
9
13
  :host {
@@ -1 +1 @@
1
- {"version":3,"file":"alert.element.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAgB,MAAM,kBAAkB,CAAC;IA2FrD,eAAe;4BAnF3B,OAAO,CAAC;YACP,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8DF;gBACD,IAAI,CAAA;;;;;;;;;;;;;;KAcH;aACF;SACF,CAAC;;;;sBACmC,WAAW;;;;+BAAnB,SAAQ,WAAW;;;;gCAC7C,IAAI,EAAE;YACP,iKAAS,IAAI,6BAAJ,IAAI,mFAAwB;YAFvC,6KAWC;;;YAXY,uDAAe;;QAE1B,qEAA8B,MAAM,EAAC;QAArC,IAAS,IAAI,0CAAwB;QAArC,IAAS,IAAI,gDAAwB;QAErC,KAAK,sDAAG,KAAK,CAAC,UAAU,CAAC,EAAC;QAE1B,wBAAwB;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;;;;SAVU,eAAe"}
1
+ {"version":3,"file":"alert.element.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;IA+F1D,eAAe;4BAvF3B,OAAO,CAAC;YACP,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8DF;gBACD,IAAI,CAAA;;;;;;;;;;;;;;KAcH;aACF;SACF,CAAC;;;;sBACmC,WAAW;;;;+BAAnB,SAAQ,WAAW;;;;gCAC7C,IAAI,EAAE;YACP,iKAAS,IAAI,6BAAJ,IAAI,mFAAwB;YAFvC,6KAWC;;;YAXY,uDAAe;;QAE1B,qEAA8B,MAAM,EAAC;QAArC,IAAS,IAAI,0CAAwB;QAArC,IAAS,IAAI,gDAAwB;QAErC,KAAK,sDAAG,KAAK,CAAC,UAAU,CAAC,EAAC;QAE1B,wBAAwB;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;;;;SAVU,eAAe"}
@@ -1,8 +1,8 @@
1
1
  import "./alert.element.js";
2
- import { fixture, html, assert } from "@open-wc/testing";
2
+ import { assert, fixture, html } from "@open-wc/testing";
3
3
  import { USA_ALERT_TYPES } from "./alert-types.js";
4
4
  describe("usa-alert", () => {
5
- for (let alert of USA_ALERT_TYPES) {
5
+ for (const alert of USA_ALERT_TYPES) {
6
6
  it(`should be accessible: ${alert}`, async () => {
7
7
  const form = await fixture(html `
8
8
  <usa-alert type=${alert}>
@@ -1 +1 @@
1
- {"version":3,"file":"alert.test.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.test.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,KAAK,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;QAClC,EAAE,CAAC,yBAAyB,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;0BACX,KAAK;;;;;;;OAOxB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"alert.test.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.test.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,EAAE,CAAC,yBAAyB,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;0BACX,KAAK;;;;;;;OAOxB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -22,13 +22,6 @@ let USAButtonElement = (() => {
22
22
 
23
23
  .usa-button {
24
24
  box-sizing: border-box;
25
- font-family:
26
- Source Sans Pro Web,
27
- Helvetica Neue,
28
- Helvetica,
29
- Roboto,
30
- Arial,
31
- sans-serif;
32
25
  font-size: 1.06rem;
33
26
  line-height: 0.9;
34
27
  color: white;
@@ -160,7 +153,7 @@ let USAButtonElement = (() => {
160
153
  }
161
154
  `,
162
155
  html `
163
- <button class="usa-button">
156
+ <button class="usa-button" tabindex="0">
164
157
  <slot></slot>
165
158
  </button>
166
159
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"button.element.js","sourceRoot":"","sources":["../../../src/lib/button/button.element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"button.element.js","sourceRoot":"","sources":["../../../src/lib/button/button.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAQhF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,MAAM;IACN,MAAM;IACN,SAAS;CACD,CAAC;IA2JE,gBAAgB;4BAvJ5B,OAAO,CAAC;YACP,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwIF;gBACD,IAAI,CAAA;;;;KAIH;aACF;SACF,CAAC;;;;sBACoC,WAAW;;;;;;;;;;;;;;;;;gCAAnB,SAAQ,WAAW;;;;gCAG9C,IAAI,EAAE;oCAGN,IAAI,EAAE;mCAGN,IAAI,EAAE;iCAGN,IAAI,EAAE;mCAQN,KAAK,EAAE;qCAMP,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;2CAStC,MAAM,CAAC,OAAO,CAAC;YA/BhB,iKAAS,IAAI,6BAAJ,IAAI,mFAA2C;YAGxD,6KAAS,QAAQ,6BAAR,QAAQ,2FAAS;YAG1B,0KAAS,OAAO,6BAAP,OAAO,yFAA4B;YAG5C,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAQpB,wKAAA,OAAO,6DAGN;YAGD,8KAAA,SAAS,6DAMR;YAGD,gMAAA,eAAe,6DAEd;YAtCH,6KA8DC;;;;QA7DC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAG7B,0BAJW,mDAAgB,8CAIoB,QAAQ,GAAC;QAAxD,IAAS,IAAI,0CAA2C;QAAxD,IAAS,IAAI,gDAA2C;QAGxD,gIAAoB,KAAK,GAAC;QAA1B,IAAS,QAAQ,8CAAS;QAA1B,IAAS,QAAQ,oDAAS;QAG1B,kIAAkC,SAAS,GAAC;QAA5C,IAAS,OAAO,6CAA4B;QAA5C,IAAS,OAAO,mDAA4B;QAG5C,6HAAiB,EAAE,GAAC;QAApB,IAAS,KAAK,2CAAM;QAApB,IAAS,KAAK,iDAAM;QAEpB,iFAAoB,CAAC,EAAC;QAAtB,IAAS,QAAQ,8CAAK;QAAtB,IAAS,QAAQ,oDAAK;QAEtB,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAG1B,OAAO;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;QAGD,SAAS,CAAC,CAAgB;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAGD,eAAe;YACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,wBAAwB;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAED,WAAW;YACT,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAEjC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAEjB,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;;YA7DU,uDAAgB;;;;;SAAhB,gBAAgB"}
@@ -7,10 +7,7 @@ const meta = {
7
7
  render(args) {
8
8
  return html `
9
9
  <div style="display: inline-flex; flex-direction: column; gap: 1rem">
10
- ${BUTTON_VARIANTS.map((variant, i) => html `<usa-button variant=${variant}>Hello World</usa-button> ${i ===
11
- BUTTON_VARIANTS.length - 1
12
- ? ""
13
- : "\n\n"}`)}
10
+ ${BUTTON_VARIANTS.map((variant, i) => html `<usa-button variant=${variant}>Hello World</usa-button> ${i === BUTTON_VARIANTS.length - 1 ? "" : "\n\n"}`)}
14
11
  </div>
15
12
  `;
16
13
  },
@@ -1 +1 @@
1
- {"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../../src/lib/button/button.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAE7E,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAA;;UAEL,eAAe,CAAC,GAAG,CACnB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAA,uBAAuB,OAAO,6BAA6B,CAAC;YAC9D,eAAe,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,EAAE,CACjB;;KAEJ,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CACwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../../src/lib/button/button.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAE7E,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAA;;UAEL,eAAe,CAAC,GAAG,CACnB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAA,uBAAuB,OAAO,6BAChC,CAAC,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAC1C,EAAE,CACL;;KAEJ,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CACwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import "./button.element.js";
2
- import { fixture, html, assert } from "@open-wc/testing";
2
+ import { assert, fixture, html } from "@open-wc/testing";
3
3
  import { BUTTON_VARIANTS } from "./button.element.js";
4
4
  describe("usa-button", () => {
5
- for (let variant of BUTTON_VARIANTS) {
5
+ for (const variant of BUTTON_VARIANTS) {
6
6
  it("should be accessible", async () => {
7
7
  const button = await fixture(html `
8
8
  <usa-button variant=${variant}>Hello World</usa-button>
@@ -1 +1 @@
1
- {"version":3,"file":"button.test.js","sourceRoot":"","sources":["../../../src/lib/button/button.test.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAExE,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,KAAK,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;QACpC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAmB,IAAI,CAAA;8BAC3B,OAAO;OAC9B,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"button.test.js","sourceRoot":"","sources":["../../../src/lib/button/button.test.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAE7E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAmB,IAAI,CAAA;8BAC3B,OAAO;OAC9B,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@ import "./card-footer/card-footer.element.js";
4
4
  import "./card-group/card-group.element.js";
5
5
  import "./card-header/card-header.element.js";
6
6
  import "./card-media/card-media.element.js";
7
- import { fixture, html, assert } from "@open-wc/testing";
7
+ import { assert, fixture, html } from "@open-wc/testing";
8
8
  describe("usa-card", () => {
9
9
  it("should be accessible", async () => {
10
10
  const card = await fixture(html `
@@ -1 +1 @@
1
- {"version":3,"file":"card.test.js","sourceRoot":"","sources":["../../../src/lib/card/card.test.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAIzD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAiB,IAAI,CAAA;;;;;;;;;;;;;;;;;;;KAmB9C,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"card.test.js","sourceRoot":"","sources":["../../../src/lib/card/card.test.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIzD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAiB,IAAI,CAAA;;;;;;;;;;;;;;;;;;;KAmB9C,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -9,6 +9,7 @@ export declare class USACheckboxElement extends HTMLElement {
9
9
  accessor checked: boolean;
10
10
  accessor name: string;
11
11
  accessor value: string;
12
+ accessor required: boolean;
12
13
  accessor tiled: boolean;
13
14
  connectedCallback(): void;
14
15
  attributeChangedCallback(): void;