@noctuatech/uswds 0.0.34 → 0.0.36

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 (80) hide show
  1. package/package.json +12 -11
  2. package/src/lib/accordion/accordion.stories.ts +1 -1
  3. package/src/lib/button/button.stories.ts +1 -0
  4. package/src/lib/card/card.test.ts +1 -1
  5. package/src/lib/checkbox/checkbox-group/checkbox-group.element.ts +24 -0
  6. package/src/lib/checkbox/checkbox.element.ts +26 -13
  7. package/src/lib/checkbox/checkbox.stories.ts +73 -35
  8. package/src/lib/collection/collection-item/collection-item.element.ts +2 -2
  9. package/src/lib/collection/collection.stories.ts +19 -3
  10. package/src/lib/define.ts +1 -0
  11. package/src/lib/file-input/file-input.element.ts +27 -1
  12. package/src/lib/file-input/file-input.stories.ts +2 -2
  13. package/src/lib/icon/icon.element.ts +14 -4
  14. package/src/lib/input/input.element.ts +30 -7
  15. package/src/lib/radio/context.ts +1 -0
  16. package/src/lib/radio/radio-option/radio-option.element.ts +24 -15
  17. package/src/lib/radio/radio.element.ts +31 -11
  18. package/src/lib/radio/radio.stories.ts +2 -7
  19. package/src/lib/select/select.element.ts +16 -6
  20. package/src/lib/tag/tag.element.ts +12 -2
  21. package/src/lib/textarea/textarea.element.ts +18 -13
  22. package/src/lib.ts +1 -0
  23. package/target/lib/accordion/accordion.stories.d.ts +1 -1
  24. package/target/lib/accordion/accordion.stories.js +1 -1
  25. package/target/lib/accordion/accordion.stories.js.map +1 -1
  26. package/target/lib/button/button.stories.js +1 -0
  27. package/target/lib/button/button.stories.js.map +1 -1
  28. package/target/lib/card/card.test.js +1 -1
  29. package/target/lib/checkbox/checkbox-group/checkbox-group.element.d.ts +7 -0
  30. package/target/lib/checkbox/checkbox-group/checkbox-group.element.js +36 -0
  31. package/target/lib/checkbox/checkbox-group/checkbox-group.element.js.map +1 -0
  32. package/target/lib/checkbox/checkbox.element.js +23 -12
  33. package/target/lib/checkbox/checkbox.element.js.map +1 -1
  34. package/target/lib/checkbox/checkbox.stories.d.ts +4 -23
  35. package/target/lib/checkbox/checkbox.stories.js +72 -34
  36. package/target/lib/checkbox/checkbox.stories.js.map +1 -1
  37. package/target/lib/collection/collection-item/collection-item.element.js +2 -2
  38. package/target/lib/collection/collection.stories.d.ts +1 -1
  39. package/target/lib/collection/collection.stories.js +19 -3
  40. package/target/lib/collection/collection.stories.js.map +1 -1
  41. package/target/lib/define.d.ts +1 -0
  42. package/target/lib/define.js +1 -0
  43. package/target/lib/define.js.map +1 -1
  44. package/target/lib/file-input/file-input.element.d.ts +2 -0
  45. package/target/lib/file-input/file-input.element.js +23 -2
  46. package/target/lib/file-input/file-input.element.js.map +1 -1
  47. package/target/lib/file-input/file-input.stories.d.ts +1 -1
  48. package/target/lib/file-input/file-input.stories.js +2 -2
  49. package/target/lib/file-input/file-input.stories.js.map +1 -1
  50. package/target/lib/form/validation.d.ts +2 -0
  51. package/target/lib/form/validation.js +27 -0
  52. package/target/lib/form/validation.js.map +1 -0
  53. package/target/lib/icon/icon.element.d.ts +1 -1
  54. package/target/lib/icon/icon.element.js +14 -4
  55. package/target/lib/icon/icon.element.js.map +1 -1
  56. package/target/lib/input/input.element.d.ts +4 -0
  57. package/target/lib/input/input.element.js +47 -8
  58. package/target/lib/input/input.element.js.map +1 -1
  59. package/target/lib/radio/context.d.ts +1 -0
  60. package/target/lib/radio/context.js.map +1 -1
  61. package/target/lib/radio/radio-option/radio-option.element.d.ts +1 -0
  62. package/target/lib/radio/radio-option/radio-option.element.js +28 -16
  63. package/target/lib/radio/radio-option/radio-option.element.js.map +1 -1
  64. package/target/lib/radio/radio.element.d.ts +0 -1
  65. package/target/lib/radio/radio.element.js +29 -8
  66. package/target/lib/radio/radio.element.js.map +1 -1
  67. package/target/lib/radio/radio.stories.d.ts +0 -1
  68. package/target/lib/radio/radio.stories.js +2 -4
  69. package/target/lib/radio/radio.stories.js.map +1 -1
  70. package/target/lib/select/select.element.js +13 -4
  71. package/target/lib/select/select.element.js.map +1 -1
  72. package/target/lib/tag/tag.element.d.ts +3 -0
  73. package/target/lib/tag/tag.element.js +17 -3
  74. package/target/lib/tag/tag.element.js.map +1 -1
  75. package/target/lib/textarea/textarea.element.d.ts +1 -1
  76. package/target/lib/textarea/textarea.element.js +12 -11
  77. package/target/lib/textarea/textarea.element.js.map +1 -1
  78. package/target/lib.d.ts +1 -0
  79. package/target/lib.js +1 -0
  80. package/target/lib.js.map +1 -1
@@ -3,7 +3,7 @@ import { html } from "lit";
3
3
  const meta = {
4
4
  title: "usa-collection",
5
5
  tags: ["autodocs"],
6
- render(args) {
6
+ render() {
7
7
  return html `
8
8
  <usa-collection>
9
9
  <usa-collection-item>
@@ -12,8 +12,12 @@ const meta = {
12
12
  </h4>
13
13
 
14
14
  <div slot="description">
15
- Today, the Administration announces the winners of the Gears of Government Presidents Award. This program recognizes the contributions of individuals and teams across the federal workforce who make a profound difference in the lives of the American people.
15
+ Today, the Administration announces the winners of the Gears of Government President's Award. This program recognizes the contributions of individuals and teams across the federal workforce who make a profound difference in the lives of the American people.
16
16
  </div>
17
+
18
+ <usa-tag slot="tags" type="new">NEW</usa-tag>
19
+ <usa-tag slot="tags">PMA</usa-tag>
20
+ <usa-tag slot="tags">OMB</usa-tag>
17
21
  </usa-collection-item>
18
22
 
19
23
  <usa-collection-item>
@@ -24,8 +28,12 @@ const meta = {
24
28
  </h4>
25
29
 
26
30
  <div slot="description">
27
- Today, the Administration announces the winners of the Gears of Government Presidents Award. This program recognizes the contributions of individuals and teams across the federal workforce who make a profound difference in the lives of the American people.
31
+ Today, the Administration announces the winners of the Gears of Government President's Award. This program recognizes the contributions of individuals and teams across the federal workforce who make a profound difference in the lives of the American people.
28
32
  </div>
33
+
34
+ <usa-tag slot="tags" type="new">NEW</usa-tag>
35
+ <usa-tag slot="tags">PMA</usa-tag>
36
+ <usa-tag slot="tags">OMB</usa-tag>
29
37
  </usa-collection-item>
30
38
 
31
39
  <usa-collection-item>
@@ -36,6 +44,10 @@ const meta = {
36
44
  <div slot="description">
37
45
  In honor of National Women's Small Business Month, we've partnered with SBA's Office of Government Contracting and Business Development and Office of Program Performance, Analysis, and Evaluation to highlight the Women-Owned Small Businesses (WOSBs) data dashboard!
38
46
  </div>
47
+
48
+ <usa-tag slot="tags" type="new">NEW</usa-tag>
49
+ <usa-tag slot="tags">PMA</usa-tag>
50
+ <usa-tag slot="tags">OMB</usa-tag>
39
51
  </usa-collection-item>
40
52
 
41
53
  <usa-collection-item>
@@ -48,6 +60,10 @@ const meta = {
48
60
  <div slot="description">
49
61
  In honor of National Women's Small Business Month, we've partnered with SBA's Office of Government Contracting and Business Development and Office of Program Performance, Analysis, and Evaluation to highlight the Women-Owned Small Businesses (WOSBs) data dashboard!
50
62
  </div>
63
+
64
+ <usa-tag slot="tags" type="new">NEW</usa-tag>
65
+ <usa-tag slot="tags">PMA</usa-tag>
66
+ <usa-tag slot="tags">OMB</usa-tag>
51
67
  </usa-collection-item>
52
68
  </usa-collection>
53
69
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"collection.stories.js","sourceRoot":"","sources":["../../../src/lib/collection/collection.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM,CAAC,IAAI;QACT,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CV,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CAC4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"collection.stories.js","sourceRoot":"","sources":["../../../src/lib/collection/collection.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8DV,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CAC4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -32,3 +32,4 @@ import "./card/card-group/card-group.element.js";
32
32
  import "./textarea/textarea.element.js";
33
33
  import "./collection/collection.element.js";
34
34
  import "./collection/collection-item/collection-item.element.js";
35
+ import "./checkbox/checkbox-group/checkbox-group.element.js";
@@ -32,4 +32,5 @@ import "./card/card-group/card-group.element.js";
32
32
  import "./textarea/textarea.element.js";
33
33
  import "./collection/collection.element.js";
34
34
  import "./collection/collection-item/collection-item.element.js";
35
+ import "./checkbox/checkbox-group/checkbox-group.element.js";
35
36
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/lib/define.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+DAA+D,CAAC;AACvE,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAClC,OAAO,8CAA8C,CAAC;AACtD,OAAO,4BAA4B,CAAC;AACpC,OAAO,iDAAiD,CAAC;AACzD,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,mDAAmD,CAAC;AAC3D,OAAO,sCAAsC,CAAC;AAC9C,OAAO,4CAA4C,CAAC;AACpD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,0BAA0B,CAAC;AAClC,OAAO,4CAA4C,CAAC;AACpD,OAAO,gDAAgD,CAAC;AACxD,OAAO,wBAAwB,CAAC;AAChC,OAAO,2CAA2C,CAAC;AACnD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AACnD,OAAO,yCAAyC,CAAC;AACjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,gCAAgC,CAAC;AACxC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,yDAAyD,CAAC"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/lib/define.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAClC,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+DAA+D,CAAC;AACvE,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAClC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAClC,OAAO,8CAA8C,CAAC;AACtD,OAAO,4BAA4B,CAAC;AACpC,OAAO,iDAAiD,CAAC;AACzD,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,mDAAmD,CAAC;AAC3D,OAAO,sCAAsC,CAAC;AAC9C,OAAO,4CAA4C,CAAC;AACpD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,0BAA0B,CAAC;AAClC,OAAO,4CAA4C,CAAC;AACpD,OAAO,gDAAgD,CAAC;AACxD,OAAO,wBAAwB,CAAC;AAChC,OAAO,2CAA2C,CAAC;AACnD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AACnD,OAAO,yCAAyC,CAAC;AACjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,gCAAgC,CAAC;AACxC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,yDAAyD,CAAC;AACjE,OAAO,qDAAqD,CAAC"}
@@ -9,8 +9,10 @@ export declare class USAFileInputElement extends HTMLElement {
9
9
  accessor name: string;
10
10
  accessor multiple: boolean;
11
11
  accessor accept: string;
12
+ accessor required: boolean;
12
13
  accessor files: FileList | null;
13
14
  attributeChangedCallback(): void;
15
+ connectedCallback(): void;
14
16
  onChange(): void;
15
17
  onInputChange(): void;
16
18
  onDragEnter(): void;
@@ -103,6 +103,9 @@ let USAFileInputElement = (() => {
103
103
  let _accept_decorators;
104
104
  let _accept_initializers = [];
105
105
  let _accept_extraInitializers = [];
106
+ let _required_decorators;
107
+ let _required_initializers = [];
108
+ let _required_extraInitializers = [];
106
109
  let _files_decorators;
107
110
  let _files_initializers = [];
108
111
  let _files_extraInitializers = [];
@@ -118,6 +121,7 @@ let USAFileInputElement = (() => {
118
121
  _name_decorators = [attr()];
119
122
  _multiple_decorators = [attr()];
120
123
  _accept_decorators = [attr()];
124
+ _required_decorators = [attr()];
121
125
  _files_decorators = [observe()];
122
126
  _onChange_decorators = [effect()];
123
127
  _onInputChange_decorators = [listen("change")];
@@ -127,6 +131,7 @@ let USAFileInputElement = (() => {
127
131
  __esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
128
132
  __esDecorate(this, null, _multiple_decorators, { kind: "accessor", name: "multiple", static: false, private: false, access: { has: obj => "multiple" in obj, get: obj => obj.multiple, set: (obj, value) => { obj.multiple = value; } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);
129
133
  __esDecorate(this, null, _accept_decorators, { kind: "accessor", name: "accept", static: false, private: false, access: { has: obj => "accept" in obj, get: obj => obj.accept, set: (obj, value) => { obj.accept = value; } }, metadata: _metadata }, _accept_initializers, _accept_extraInitializers);
134
+ __esDecorate(this, null, _required_decorators, { kind: "accessor", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
130
135
  __esDecorate(this, null, _files_decorators, { kind: "accessor", name: "files", static: false, private: false, access: { has: obj => "files" in obj, get: obj => obj.files, set: (obj, value) => { obj.files = value; } }, metadata: _metadata }, _files_initializers, _files_extraInitializers);
131
136
  __esDecorate(this, null, _onChange_decorators, { kind: "method", name: "onChange", static: false, private: false, access: { has: obj => "onChange" in obj, get: obj => obj.onChange }, metadata: _metadata }, null, _instanceExtraInitializers);
132
137
  __esDecorate(this, null, _onInputChange_decorators, { kind: "method", name: "onInputChange", static: false, private: false, access: { has: obj => "onInputChange" in obj, get: obj => obj.onInputChange }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -147,7 +152,10 @@ let USAFileInputElement = (() => {
147
152
  #accept_accessor_storage = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _accept_initializers, ""));
148
153
  get accept() { return this.#accept_accessor_storage; }
149
154
  set accept(value) { this.#accept_accessor_storage = value; }
150
- #files_accessor_storage = (__runInitializers(this, _accept_extraInitializers), __runInitializers(this, _files_initializers, null));
155
+ #required_accessor_storage = (__runInitializers(this, _accept_extraInitializers), __runInitializers(this, _required_initializers, false));
156
+ get required() { return this.#required_accessor_storage; }
157
+ set required(value) { this.#required_accessor_storage = value; }
158
+ #files_accessor_storage = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _files_initializers, null));
151
159
  get files() { return this.#files_accessor_storage; }
152
160
  set files(value) { this.#files_accessor_storage = value; }
153
161
  #internals = (__runInitializers(this, _files_extraInitializers), this.attachInternals());
@@ -159,10 +167,17 @@ let USAFileInputElement = (() => {
159
167
  name: this.name,
160
168
  multiple: this.multiple,
161
169
  accept: this.accept,
170
+ required: this.required,
162
171
  });
163
172
  }
173
+ connectedCallback() {
174
+ const input = this.#input();
175
+ if (input.validationMessage) {
176
+ this.#internals.setValidity({ customError: true }, input.validationMessage, input);
177
+ }
178
+ }
164
179
  onChange() {
165
- this.#input({ files: this.files });
180
+ const input = this.#input({ files: this.files });
166
181
  this.#preview({ files: this.files });
167
182
  const box = this.#box();
168
183
  const formData = new FormData();
@@ -173,6 +188,12 @@ let USAFileInputElement = (() => {
173
188
  }
174
189
  }
175
190
  this.#internals.setFormValue(formData);
191
+ if (input.validationMessage) {
192
+ this.#internals.setValidity({ customError: true }, input.validationMessage, input);
193
+ }
194
+ else {
195
+ this.#internals.setValidity({});
196
+ }
176
197
  }
177
198
  onInputChange() {
178
199
  const input = this.#input();
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.element.js","sourceRoot":"","sources":["../../../src/lib/file-input/file-input.element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-input.element.js","sourceRoot":"","sources":["../../../src/lib/file-input/file-input.element.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { USAFileInputElement } from "./file-input.element.js";
3
3
  declare const meta: {
4
4
  title: string;
5
5
  tags: string[];
6
- render(args: USAFileInputElement): import("lit-html").TemplateResult<1>;
6
+ render(): import("lit-html").TemplateResult<1>;
7
7
  argTypes: {};
8
8
  args: {};
9
9
  };
@@ -3,7 +3,7 @@ import { html } from "lit";
3
3
  const meta = {
4
4
  title: "usa-file-input",
5
5
  tags: ["autodocs"],
6
- render(args) {
6
+ render() {
7
7
  function onSubmit(e) {
8
8
  e.preventDefault();
9
9
  const data = new FormData(e.target);
@@ -11,7 +11,7 @@ const meta = {
11
11
  }
12
12
  return html `
13
13
  <form @submit=${onSubmit}>
14
- <usa-file-input name="upload">
14
+ <usa-file-input name="upload" required>
15
15
  Input accepts a single file
16
16
 
17
17
  <div slot="description">
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.stories.js","sourceRoot":"","sources":["../../../src/lib/file-input/file-input.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM,CAAC,IAAI;QACT,SAAS,QAAQ,CAAC,CAAQ;YACxB,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAyB,CAAC,CAAC;YAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAA;sBACO,QAAQ;;;;;;;;;;;KAWzB,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CAC2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"file-input.stories.js","sourceRoot":"","sources":["../../../src/lib/file-input/file-input.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,MAAM;QACJ,SAAS,QAAQ,CAAC,CAAQ;YACxB,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAyB,CAAC,CAAC;YAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAA;sBACO,QAAQ;;;;;;;;;;;KAWzB,CAAC;IACJ,CAAC;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CAC2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAIpB,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type ValidityState = keyof ValidityStateFlags;
2
+ export declare const VALIDATION_MESSAGES: Record<"en" | "es", Record<ValidityState, string>>;
@@ -0,0 +1,27 @@
1
+ export const VALIDATION_MESSAGES = {
2
+ en: {
3
+ badInput: "",
4
+ customError: "",
5
+ patternMismatch: "",
6
+ rangeOverflow: "",
7
+ rangeUnderflow: "",
8
+ stepMismatch: "",
9
+ tooLong: "",
10
+ tooShort: "",
11
+ typeMismatch: "",
12
+ valueMissing: "",
13
+ },
14
+ es: {
15
+ badInput: "",
16
+ customError: "",
17
+ patternMismatch: "",
18
+ rangeOverflow: "",
19
+ rangeUnderflow: "",
20
+ stepMismatch: "",
21
+ tooLong: "",
22
+ tooShort: "",
23
+ typeMismatch: "",
24
+ valueMissing: "",
25
+ },
26
+ };
27
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/form/validation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,EAAE,EAAE;QACF,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB;CACF,CAAC"}
@@ -9,5 +9,5 @@ export declare class USAIconElement extends HTMLElement {
9
9
  accessor icon: USAIcon;
10
10
  ariaHidden: string | null;
11
11
  onInjected(): void;
12
- attributeChangedCallback(): void;
12
+ attributeChangedCallback(_: string, newVal: string, oldVal: string): void;
13
13
  }
@@ -21,7 +21,9 @@ let USAIconElement = (() => {
21
21
  }
22
22
  `,
23
23
  ],
24
- }), injectable()];
24
+ }), injectable({
25
+ name: "usa-icon-ctx",
26
+ })];
25
27
  let _classDescriptor;
26
28
  let _classExtraInitializers = [];
27
29
  let _classThis;
@@ -54,15 +56,23 @@ let USAIconElement = (() => {
54
56
  this.#injected = true;
55
57
  this.#updateIcon();
56
58
  }
57
- attributeChangedCallback() {
59
+ attributeChangedCallback(_, newVal, oldVal) {
58
60
  if (this.#injected) {
59
- this.#updateIcon();
61
+ if (newVal !== oldVal) {
62
+ this.#updateIcon();
63
+ }
60
64
  }
61
65
  }
62
66
  async #updateIcon() {
63
67
  const icon = this.#icon();
64
68
  if (this.shadowRoot) {
65
- this.shadowRoot.append(await icon.getIcon(this.icon));
69
+ const currentIcon = await icon.getIcon(this.icon);
70
+ if (this.shadowRoot.firstElementChild) {
71
+ this.shadowRoot.firstElementChild.replaceWith(currentIcon);
72
+ }
73
+ else {
74
+ this.shadowRoot.append(currentIcon);
75
+ }
66
76
  }
67
77
  }
68
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"icon.element.js","sourceRoot":"","sources":["../../../src/lib/icon/icon.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;IA6B7C,cAAc;4BApB1B,OAAO,CAAC;YACP,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;KAaF;aACF;SACF,CAAC,EACD,UAAU,EAAE;;;;sBACuB,WAAW;;;;;;8BAAnB,SAAQ,WAAW;;;;gCAC5C,IAAI,EAAE;sCAQN,QAAQ,EAAE;YAPX,iKAAS,IAAI,6BAAJ,IAAI,mFAAgC;YAQ7C,iLAAA,UAAU,6DAGT;YAbH,6KA4BC;;;YA5BY,uDAAc;;QAEzB,0BAFW,mDAAc,8CAEA,mBAAmB,GAAC;QAA7C,IAAS,IAAI,0CAAgC;QAA7C,IAAS,IAAI,gDAAgC;QAE7C,UAAU,sDAAkB,MAAM,EAAC;QAEnC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,SAAS,GAAG,KAAK,CAAC;QAGlB,UAAU;YACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,wBAAwB;YACtB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;;;;SA3BU,cAAc"}
1
+ {"version":3,"file":"icon.element.js","sourceRoot":"","sources":["../../../src/lib/icon/icon.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;IA+B7C,cAAc;4BAtB1B,OAAO,CAAC;YACP,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;KAaF;aACF;SACF,CAAC,EACD,UAAU,CAAC;YACV,IAAI,EAAE,cAAc;SACrB,CAAC;;;;sBACkC,WAAW;;;;;;8BAAnB,SAAQ,WAAW;;;;gCAC5C,IAAI,EAAE;sCAQN,QAAQ,EAAE;YAPX,iKAAS,IAAI,6BAAJ,IAAI,mFAAgC;YAQ7C,iLAAA,UAAU,6DAGT;YAbH,6KAoCC;;;YApCY,uDAAc;;QAEzB,0BAFW,mDAAc,8CAEA,mBAAmB,GAAC;QAA7C,IAAS,IAAI,0CAAgC;QAA7C,IAAS,IAAI,gDAAgC;QAE7C,UAAU,sDAAkB,MAAM,EAAC;QAEnC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,SAAS,GAAG,KAAK,CAAC;QAGlB,UAAU;YACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,wBAAwB,CAAC,CAAS,EAAE,MAAc,EAAE,MAAc;YAChE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBACtC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;;;;SAnCU,cAAc"}
@@ -10,6 +10,10 @@ export declare class USATextInputElement extends HTMLElement implements Maskable
10
10
  accessor name: string;
11
11
  accessor autocomplete: AutoFill;
12
12
  accessor placeholder: string;
13
+ accessor min: string;
14
+ accessor max: string;
15
+ accessor minLength: number;
16
+ accessor maxLength: number;
13
17
  accessor required: boolean;
14
18
  accessor type: "text" | "password" | "number";
15
19
  accessor detail: "pfx" | "sfx" | "";
@@ -94,6 +94,18 @@ let USATextInputElement = (() => {
94
94
  let _placeholder_decorators;
95
95
  let _placeholder_initializers = [];
96
96
  let _placeholder_extraInitializers = [];
97
+ let _min_decorators;
98
+ let _min_initializers = [];
99
+ let _min_extraInitializers = [];
100
+ let _max_decorators;
101
+ let _max_initializers = [];
102
+ let _max_extraInitializers = [];
103
+ let _minLength_decorators;
104
+ let _minLength_initializers = [];
105
+ let _minLength_extraInitializers = [];
106
+ let _maxLength_decorators;
107
+ let _maxLength_initializers = [];
108
+ let _maxLength_extraInitializers = [];
97
109
  let _required_decorators;
98
110
  let _required_initializers = [];
99
111
  let _required_extraInitializers = [];
@@ -123,6 +135,10 @@ let USATextInputElement = (() => {
123
135
  _name_decorators = [attr()];
124
136
  _autocomplete_decorators = [attr()];
125
137
  _placeholder_decorators = [attr()];
138
+ _min_decorators = [attr()];
139
+ _max_decorators = [attr()];
140
+ _minLength_decorators = [attr()];
141
+ _maxLength_decorators = [attr()];
126
142
  _required_decorators = [attr()];
127
143
  _type_decorators = [attr()];
128
144
  _detail_decorators = [attr({
@@ -140,6 +156,10 @@ let USATextInputElement = (() => {
140
156
  __esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
141
157
  __esDecorate(this, null, _autocomplete_decorators, { kind: "accessor", name: "autocomplete", static: false, private: false, access: { has: obj => "autocomplete" in obj, get: obj => obj.autocomplete, set: (obj, value) => { obj.autocomplete = value; } }, metadata: _metadata }, _autocomplete_initializers, _autocomplete_extraInitializers);
142
158
  __esDecorate(this, null, _placeholder_decorators, { kind: "accessor", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
159
+ __esDecorate(this, null, _min_decorators, { kind: "accessor", name: "min", static: false, private: false, access: { has: obj => "min" in obj, get: obj => obj.min, set: (obj, value) => { obj.min = value; } }, metadata: _metadata }, _min_initializers, _min_extraInitializers);
160
+ __esDecorate(this, null, _max_decorators, { kind: "accessor", name: "max", static: false, private: false, access: { has: obj => "max" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);
161
+ __esDecorate(this, null, _minLength_decorators, { kind: "accessor", name: "minLength", static: false, private: false, access: { has: obj => "minLength" in obj, get: obj => obj.minLength, set: (obj, value) => { obj.minLength = value; } }, metadata: _metadata }, _minLength_initializers, _minLength_extraInitializers);
162
+ __esDecorate(this, null, _maxLength_decorators, { kind: "accessor", name: "maxLength", static: false, private: false, access: { has: obj => "maxLength" in obj, get: obj => obj.maxLength, set: (obj, value) => { obj.maxLength = value; } }, metadata: _metadata }, _maxLength_initializers, _maxLength_extraInitializers);
143
163
  __esDecorate(this, null, _required_decorators, { kind: "accessor", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
144
164
  __esDecorate(this, null, _type_decorators, { kind: "accessor", name: "type", static: false, private: false, access: { has: obj => "type" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);
145
165
  __esDecorate(this, null, _detail_decorators, { kind: "accessor", name: "detail", static: false, private: false, access: { has: obj => "detail" in obj, get: obj => obj.detail, set: (obj, value) => { obj.detail = value; } }, metadata: _metadata }, _detail_initializers, _detail_extraInitializers);
@@ -164,7 +184,19 @@ let USATextInputElement = (() => {
164
184
  #placeholder_accessor_storage = (__runInitializers(this, _autocomplete_extraInitializers), __runInitializers(this, _placeholder_initializers, ""));
165
185
  get placeholder() { return this.#placeholder_accessor_storage; }
166
186
  set placeholder(value) { this.#placeholder_accessor_storage = value; }
167
- #required_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _required_initializers, false));
187
+ #min_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _min_initializers, ""));
188
+ get min() { return this.#min_accessor_storage; }
189
+ set min(value) { this.#min_accessor_storage = value; }
190
+ #max_accessor_storage = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, ""));
191
+ get max() { return this.#max_accessor_storage; }
192
+ set max(value) { this.#max_accessor_storage = value; }
193
+ #minLength_accessor_storage = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _minLength_initializers, -1));
194
+ get minLength() { return this.#minLength_accessor_storage; }
195
+ set minLength(value) { this.#minLength_accessor_storage = value; }
196
+ #maxLength_accessor_storage = (__runInitializers(this, _minLength_extraInitializers), __runInitializers(this, _maxLength_initializers, -1));
197
+ get maxLength() { return this.#maxLength_accessor_storage; }
198
+ set maxLength(value) { this.#maxLength_accessor_storage = value; }
199
+ #required_accessor_storage = (__runInitializers(this, _maxLength_extraInitializers), __runInitializers(this, _required_initializers, false));
168
200
  get required() { return this.#required_accessor_storage; }
169
201
  set required(value) { this.#required_accessor_storage = value; }
170
202
  #type_accessor_storage = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _type_initializers, "text"));
@@ -188,8 +220,17 @@ let USATextInputElement = (() => {
188
220
  this.#input({ autofocus: this.autofocus });
189
221
  }
190
222
  attributeChangedCallback() {
191
- const { autocomplete, placeholder, name, type } = this;
192
- this.#input({ autocomplete, placeholder, name, type });
223
+ this.#input({
224
+ autocomplete: this.autocomplete,
225
+ placeholder: this.placeholder,
226
+ name: this.name,
227
+ type: this.type,
228
+ required: this.required,
229
+ min: this.min,
230
+ max: this.max,
231
+ minLength: this.minLength,
232
+ maxLength: this.maxLength,
233
+ });
193
234
  }
194
235
  connectedCallback() {
195
236
  this.#syncFormState();
@@ -221,12 +262,10 @@ let USATextInputElement = (() => {
221
262
  }
222
263
  #syncFormState() {
223
264
  const input = this.#input();
265
+ this.#internals.setValidity({});
224
266
  this.#internals.setFormValue(input.value);
225
- if (this.required && !input.value) {
226
- this.#internals.setValidity({ valueMissing: true }, "Required", input);
227
- }
228
- else {
229
- this.#internals.setValidity({});
267
+ if (input.validationMessage) {
268
+ this.#internals.setValidity({ customError: true }, input.validationMessage, input);
230
269
  }
231
270
  }
232
271
  #submit(form) {
@@ -1 +1 @@
1
- {"version":3,"file":"input.element.js","sourceRoot":"","sources":["../../../src/lib/input/input.element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.element.js","sourceRoot":"","sources":["../../../src/lib/input/input.element.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { StaticToken } from "@joist/di";
2
2
  export interface RadioContainer extends Node {
3
3
  name: string;
4
4
  value: string;
5
+ required: boolean;
5
6
  addRadioOption(el: HTMLElement): void;
6
7
  }
7
8
  export declare const RADIO_CTX: StaticToken<RadioContainer>;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/radio/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,WAAW,CAAiB,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/lib/radio/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,WAAW,CAAiB,WAAW,CAAC,CAAC"}
@@ -6,6 +6,7 @@ declare global {
6
6
  export declare class USARadioOptionElement extends HTMLElement {
7
7
  #private;
8
8
  accessor value: string;
9
+ accessor disabled: boolean;
9
10
  attributeChangedCallback(): void;
10
11
  onInjected(): void;
11
12
  disconnectedCallback(): void;
@@ -34,14 +34,19 @@ let USARadioOptionElement = (() => {
34
34
  let _value_decorators;
35
35
  let _value_initializers = [];
36
36
  let _value_extraInitializers = [];
37
+ let _disabled_decorators;
38
+ let _disabled_initializers = [];
39
+ let _disabled_extraInitializers = [];
37
40
  let _onInjected_decorators;
38
41
  var USARadioOptionElement = class extends _classSuper {
39
42
  static { _classThis = this; }
40
43
  static {
41
44
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
42
45
  _value_decorators = [attr()];
46
+ _disabled_decorators = [attr()];
43
47
  _onInjected_decorators = [injected()];
44
48
  __esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
49
+ __esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
45
50
  __esDecorate(this, null, _onInjected_decorators, { kind: "method", name: "onInjected", static: false, private: false, access: { has: obj => "onInjected" in obj, get: obj => obj.onInjected }, metadata: _metadata }, null, _instanceExtraInitializers);
46
51
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
47
52
  USARadioOptionElement = _classThis = _classDescriptor.value;
@@ -51,37 +56,44 @@ let USARadioOptionElement = (() => {
51
56
  #value_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ""));
52
57
  get value() { return this.#value_accessor_storage; }
53
58
  set value(value) { this.#value_accessor_storage = value; }
54
- #label = (__runInitializers(this, _value_extraInitializers), query("label"));
59
+ #disabled_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _disabled_initializers, false));
60
+ get disabled() { return this.#disabled_accessor_storage; }
61
+ set disabled(value) { this.#disabled_accessor_storage = value; }
62
+ #label = (__runInitializers(this, _disabled_extraInitializers), query("label"));
55
63
  #input = query("input");
56
64
  #slot = query("slot");
57
- #radio = inject(RADIO_CTX);
65
+ #radioCtx = inject(RADIO_CTX);
58
66
  #observer = new MutationObserver(() => {
59
- const radio = this.#radio();
60
- this.#input({
61
- name: radio.name,
62
- checked: radio.value === this.value,
63
- });
67
+ this.#sync();
64
68
  });
65
69
  attributeChangedCallback() {
66
- this.#input({ value: this.value });
70
+ this.#input({
71
+ value: this.value,
72
+ disabled: this.disabled,
73
+ });
67
74
  this.#slot({ name: this.value });
68
75
  this.slot = this.value;
69
76
  }
70
77
  onInjected() {
71
- const radio = this.#radio();
72
- radio.addRadioOption(this.#label());
73
- this.#input({
74
- name: radio.name,
75
- checked: radio.value === this.value,
76
- });
77
- this.#observer.observe(radio, {
78
- attributeFilter: ["value", "name"],
78
+ const radioCtx = this.#radioCtx();
79
+ radioCtx.addRadioOption(this.#label());
80
+ this.#sync();
81
+ this.#observer.observe(radioCtx, {
82
+ attributeFilter: ["value", "name", "required"],
79
83
  });
80
84
  }
81
85
  disconnectedCallback() {
82
86
  this.#label().remove();
83
87
  this.#observer.disconnect();
84
88
  }
89
+ #sync() {
90
+ const radioCtx = this.#radioCtx();
91
+ this.#input({
92
+ name: radioCtx.name,
93
+ checked: radioCtx.value === this.value,
94
+ required: radioCtx.required,
95
+ });
96
+ }
85
97
  };
86
98
  return USARadioOptionElement = _classThis;
87
99
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"radio-option.element.js","sourceRoot":"","sources":["../../../../src/lib/radio/radio-option/radio-option.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;IAgC7B,qBAAqB;4BAxBjC,UAAU,CAAC;YACV,IAAI,EAAE,sBAAsB;SAC7B,CAAC,EACD,OAAO,CAAC;YACP,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;KAMF;gBACD,IAAI,CAAA;;;;;;;;KAQH;aACF;SACF,CAAC;;;;sBACyC,WAAW;;;;;;qCAAnB,SAAQ,WAAW;;;;iCACnD,IAAI,EAAE;sCAwBN,QAAQ,EAAE;YAvBX,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAwBpB,iLAAA,UAAU,6DAaT;YAvCH,6KA8CC;;;YA9CY,uDAAqB;;QAEhC,2BAFW,mDAAqB,+CAEf,EAAE,GAAC;QAApB,IAAS,KAAK,2CAAM;QAApB,IAAS,KAAK,iDAAM;QAEpB,MAAM,uDAAG,KAAK,CAAC,OAAO,CAAC,EAAC;QACxB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3B,SAAS,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB;YACtB,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;QAGD,UAAU;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;gBAC5B,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;;;;SA7CU,qBAAqB"}
1
+ {"version":3,"file":"radio-option.element.js","sourceRoot":"","sources":["../../../../src/lib/radio/radio-option/radio-option.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;IAgC7B,qBAAqB;4BAxBjC,UAAU,CAAC;YACV,IAAI,EAAE,sBAAsB;SAC7B,CAAC,EACD,OAAO,CAAC;YACP,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;KAMF;gBACD,IAAI,CAAA;;;;;;;;KAQH;aACF;SACF,CAAC;;;;sBACyC,WAAW;;;;;;;;;qCAAnB,SAAQ,WAAW;;;;iCACnD,IAAI,EAAE;oCAGN,IAAI,EAAE;sCAuBN,QAAQ,EAAE;YAzBX,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAS;YAuB1B,iLAAA,UAAU,6DAUT;YAtCH,6KAuDC;;;YAvDY,uDAAqB;;QAEhC,2BAFW,mDAAqB,+CAEf,EAAE,GAAC;QAApB,IAAS,KAAK,2CAAM;QAApB,IAAS,KAAK,iDAAM;QAGpB,iIAAoB,KAAK,GAAC;QAA1B,IAAS,QAAQ,8CAAS;QAA1B,IAAS,QAAQ,oDAAS;QAE1B,MAAM,0DAAG,KAAK,CAAC,OAAO,CAAC,EAAC;QACxB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAE9B,SAAS,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,wBAAwB;YACtB,IAAI,CAAC,MAAM,CAAC;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;QAGD,UAAU;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAElC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC/B,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAElC,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC,CAAC;QACL,CAAC;;;;SAtDU,qBAAqB"}
@@ -11,7 +11,6 @@ export declare class USARadioElement extends HTMLElement implements RadioContain
11
11
  accessor name: string;
12
12
  accessor required: boolean;
13
13
  accessor tiled: boolean;
14
- connectedCallback(): void;
15
14
  addRadioOption(el: HTMLElement): void;
16
15
  onChange(e: Event): void;
17
16
  }