@noctuatech/uswds 0.0.35 → 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 (75) 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 +11 -8
  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 +19 -13
  17. package/src/lib/radio/radio.element.ts +9 -11
  18. package/src/lib/select/select.element.ts +16 -6
  19. package/src/lib/tag/tag.element.ts +12 -2
  20. package/src/lib/textarea/textarea.element.ts +18 -13
  21. package/src/lib.ts +1 -0
  22. package/target/lib/accordion/accordion.stories.d.ts +1 -1
  23. package/target/lib/accordion/accordion.stories.js +1 -1
  24. package/target/lib/accordion/accordion.stories.js.map +1 -1
  25. package/target/lib/button/button.stories.js +1 -0
  26. package/target/lib/button/button.stories.js.map +1 -1
  27. package/target/lib/card/card.test.js +1 -1
  28. package/target/lib/checkbox/checkbox-group/checkbox-group.element.d.ts +7 -0
  29. package/target/lib/checkbox/checkbox-group/checkbox-group.element.js +36 -0
  30. package/target/lib/checkbox/checkbox-group/checkbox-group.element.js.map +1 -0
  31. package/target/lib/checkbox/checkbox.element.js +8 -7
  32. package/target/lib/checkbox/checkbox.element.js.map +1 -1
  33. package/target/lib/checkbox/checkbox.stories.d.ts +4 -23
  34. package/target/lib/checkbox/checkbox.stories.js +72 -34
  35. package/target/lib/checkbox/checkbox.stories.js.map +1 -1
  36. package/target/lib/collection/collection-item/collection-item.element.js +2 -2
  37. package/target/lib/collection/collection.stories.d.ts +1 -1
  38. package/target/lib/collection/collection.stories.js +19 -3
  39. package/target/lib/collection/collection.stories.js.map +1 -1
  40. package/target/lib/define.d.ts +1 -0
  41. package/target/lib/define.js +1 -0
  42. package/target/lib/define.js.map +1 -1
  43. package/target/lib/file-input/file-input.element.d.ts +2 -0
  44. package/target/lib/file-input/file-input.element.js +23 -2
  45. package/target/lib/file-input/file-input.element.js.map +1 -1
  46. package/target/lib/file-input/file-input.stories.d.ts +1 -1
  47. package/target/lib/file-input/file-input.stories.js +2 -2
  48. package/target/lib/file-input/file-input.stories.js.map +1 -1
  49. package/target/lib/form/validation.d.ts +2 -0
  50. package/target/lib/form/validation.js +27 -0
  51. package/target/lib/form/validation.js.map +1 -0
  52. package/target/lib/icon/icon.element.d.ts +1 -1
  53. package/target/lib/icon/icon.element.js +14 -4
  54. package/target/lib/icon/icon.element.js.map +1 -1
  55. package/target/lib/input/input.element.d.ts +4 -0
  56. package/target/lib/input/input.element.js +47 -8
  57. package/target/lib/input/input.element.js.map +1 -1
  58. package/target/lib/radio/context.d.ts +1 -0
  59. package/target/lib/radio/context.js.map +1 -1
  60. package/target/lib/radio/radio-option/radio-option.element.js +17 -13
  61. package/target/lib/radio/radio-option/radio-option.element.js.map +1 -1
  62. package/target/lib/radio/radio.element.d.ts +0 -1
  63. package/target/lib/radio/radio.element.js +7 -8
  64. package/target/lib/radio/radio.element.js.map +1 -1
  65. package/target/lib/select/select.element.js +13 -4
  66. package/target/lib/select/select.element.js.map +1 -1
  67. package/target/lib/tag/tag.element.d.ts +3 -0
  68. package/target/lib/tag/tag.element.js +17 -3
  69. package/target/lib/tag/tag.element.js.map +1 -1
  70. package/target/lib/textarea/textarea.element.d.ts +1 -1
  71. package/target/lib/textarea/textarea.element.js +12 -11
  72. package/target/lib/textarea/textarea.element.js.map +1 -1
  73. package/target/lib.d.ts +1 -0
  74. package/target/lib.js +1 -0
  75. package/target/lib.js.map +1 -1
@@ -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"}
@@ -62,34 +62,38 @@ let USARadioOptionElement = (() => {
62
62
  #label = (__runInitializers(this, _disabled_extraInitializers), query("label"));
63
63
  #input = query("input");
64
64
  #slot = query("slot");
65
- #radio = inject(RADIO_CTX);
65
+ #radioCtx = inject(RADIO_CTX);
66
66
  #observer = new MutationObserver(() => {
67
- const radio = this.#radio();
68
- this.#input({
69
- name: radio.name,
70
- checked: radio.value === this.value,
71
- });
67
+ this.#sync();
72
68
  });
73
69
  attributeChangedCallback() {
74
- this.#input({ value: this.value, disabled: this.disabled });
70
+ this.#input({
71
+ value: this.value,
72
+ disabled: this.disabled,
73
+ });
75
74
  this.#slot({ name: this.value });
76
75
  this.slot = this.value;
77
76
  }
78
77
  onInjected() {
79
- const radioCtx = this.#radio();
78
+ const radioCtx = this.#radioCtx();
80
79
  radioCtx.addRadioOption(this.#label());
81
- this.#input({
82
- name: radioCtx.name,
83
- checked: radioCtx.value === this.value,
84
- });
80
+ this.#sync();
85
81
  this.#observer.observe(radioCtx, {
86
- attributeFilter: ["value", "name"],
82
+ attributeFilter: ["value", "name", "required"],
87
83
  });
88
84
  }
89
85
  disconnectedCallback() {
90
86
  this.#label().remove();
91
87
  this.#observer.disconnect();
92
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
+ }
93
97
  };
94
98
  return USARadioOptionElement = _classThis;
95
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;oCAGN,IAAI,EAAE;sCAwBN,QAAQ,EAAE;YA1BX,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAS;YAwB1B,iLAAA,UAAU,6DAaT;YA1CH,6KAiDC;;;YAjDY,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,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,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,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,MAAM,EAAE,CAAC;YAE/B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvC,IAAI,CAAC,MAAM,CAAC;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC/B,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;;;;SAhDU,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
  }
@@ -1,6 +1,6 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { injectable } from "@joist/di";
3
- import { attr, css, element, html, listen, query } from "@joist/element";
3
+ import { attr, css, element, html, listen } from "@joist/element";
4
4
  import { RADIO_CTX } from "./context.js";
5
5
  let USARadioElement = (() => {
6
6
  let _classDecorators = [injectable({
@@ -161,12 +161,12 @@ let USARadioElement = (() => {
161
161
  get tiled() { return this.#tiled_accessor_storage; }
162
162
  set tiled(value) { this.#tiled_accessor_storage = value; }
163
163
  #internals = (__runInitializers(this, _tiled_extraInitializers), this.attachInternals());
164
- #legend = query("#legend");
165
- connectedCallback() {
166
- this.#syncFormState();
167
- }
164
+ #firstInput = null;
168
165
  addRadioOption(el) {
169
166
  this.shadowRoot?.append(el);
167
+ if (this.#firstInput === null) {
168
+ this.#firstInput = el.querySelector("input");
169
+ }
170
170
  this.#syncFormState();
171
171
  }
172
172
  onChange(e) {
@@ -180,9 +180,8 @@ let USARadioElement = (() => {
180
180
  #syncFormState() {
181
181
  this.#internals.setFormValue(this.value);
182
182
  this.#internals.setValidity({});
183
- if (this.required && !this.value) {
184
- const input = this.shadowRoot?.querySelector("input");
185
- this.#internals.setValidity({ valueMissing: true }, "Please select an option if you want to proceed", input ?? this.#legend());
183
+ if (this.#firstInput?.validationMessage) {
184
+ this.#internals.setValidity({ customError: true }, this.#firstInput.validationMessage, this.#firstInput);
186
185
  }
187
186
  }
188
187
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"radio.element.js","sourceRoot":"","sources":["../../../src/lib/radio/radio.element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio.element.js","sourceRoot":"","sources":["../../../src/lib/radio/radio.element.ts"],"names":[],"mappings":"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"}
@@ -104,11 +104,19 @@ let USASelectElement = (() => {
104
104
  #select = (__runInitializers(this, _required_extraInitializers), query("select"));
105
105
  #internals = this.attachInternals();
106
106
  connectedCallback() {
107
- this.#select({ value: this.value, name: this.name });
107
+ this.#select({
108
+ value: this.value,
109
+ name: this.name,
110
+ required: this.required,
111
+ });
108
112
  this.#syncFormState();
109
113
  }
110
114
  attributeChangedCallback() {
111
- this.#select({ value: this.value, name: this.name });
115
+ this.#select({
116
+ value: this.value,
117
+ name: this.name,
118
+ required: this.required,
119
+ });
112
120
  this.#syncFormState();
113
121
  }
114
122
  onSelectChange() {
@@ -121,10 +129,11 @@ let USASelectElement = (() => {
121
129
  select.append(option);
122
130
  }
123
131
  #syncFormState() {
132
+ const select = this.#select();
124
133
  this.#internals.setFormValue(this.value);
125
134
  this.#internals.setValidity({});
126
- if (this.required && !this.value) {
127
- this.#internals.setValidity({ valueMissing: true }, "Please select an option", this.#select());
135
+ if (select.validationMessage) {
136
+ this.#internals.setValidity({ customError: true }, select.validationMessage, select);
128
137
  }
129
138
  }
130
139
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"select.element.js","sourceRoot":"","sources":["../../../src/lib/select/select.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;IAkEvD,gBAAgB;4BA1D5B,UAAU,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,CAAC,cAAc,CAAC;SAChC,CAAC,EACD,OAAO,CAAC;YACP,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCF;gBACD,IAAI,CAAA;;;;;;;;;;KAUH;aACF;SACF,CAAC;;;;sBACoC,WAAW;;;;;;;;;;;;gCAAnB,SAAQ,WAAW;;;;iCAG9C,IAAI,EAAE;gCAGN,IAAI,EAAE;oCAGN,IAAI,EAAE;0CAkBN,MAAM,CAAC,QAAQ,CAAC;YAvBjB,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAGnB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAS;YAkB1B,6LAAA,cAAc,6DAMb;YAlCH,6KAqDC;;;;QApDC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAG7B,2BAJW,mDAAgB,+CAIV,EAAE,GAAC;QAApB,IAAS,KAAK,2CAAM;QAApB,IAAS,KAAK,iDAAM;QAGpB,yHAAgB,EAAE,GAAC;QAAnB,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAGnB,gIAAoB,KAAK,GAAC;QAA1B,IAAS,QAAQ,8CAAS;QAA1B,IAAS,QAAQ,oDAAS;QAE1B,OAAO,0DAAG,KAAK,CAAC,QAAQ,CAAC,EAAC;QAC1B,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpC,iBAAiB;YACf,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAErD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,wBAAwB;YACtB,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAErD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAGD,cAAc;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAE9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,eAAe,CAAC,MAAyB;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,cAAc;YACZ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAEhC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,EAAE,YAAY,EAAE,IAAI,EAAE,EACtB,yBAAyB,EACzB,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;YACJ,CAAC;QACH,CAAC;;YApDU,uDAAgB;;;;;SAAhB,gBAAgB"}
1
+ {"version":3,"file":"select.element.js","sourceRoot":"","sources":["../../../src/lib/select/select.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAwB,MAAM,cAAc,CAAC;IAkEvD,gBAAgB;4BA1D5B,UAAU,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,CAAC,cAAc,CAAC;SAChC,CAAC,EACD,OAAO,CAAC;YACP,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCF;gBACD,IAAI,CAAA;;;;;;;;;;KAUH;aACF;SACF,CAAC;;;;sBACoC,WAAW;;;;;;;;;;;;gCAAnB,SAAQ,WAAW;;;;iCAG9C,IAAI,EAAE;gCAGN,IAAI,EAAE;oCAGN,IAAI,EAAE;0CA0BN,MAAM,CAAC,QAAQ,CAAC;YA/BjB,oKAAS,KAAK,6BAAL,KAAK,qFAAM;YAGpB,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAGnB,6KAAS,QAAQ,6BAAR,QAAQ,2FAAS;YA0B1B,6LAAA,cAAc,6DAMb;YA1CH,6KA+DC;;;;QA9DC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAG7B,2BAJW,mDAAgB,+CAIV,EAAE,GAAC;QAApB,IAAS,KAAK,2CAAM;QAApB,IAAS,KAAK,iDAAM;QAGpB,yHAAgB,EAAE,GAAC;QAAnB,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAGnB,gIAAoB,KAAK,GAAC;QAA1B,IAAS,QAAQ,8CAAS;QAA1B,IAAS,QAAQ,oDAAS;QAE1B,OAAO,0DAAG,KAAK,CAAC,QAAQ,CAAC,EAAC;QAC1B,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpC,iBAAiB;YACf,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,wBAAwB;YACtB,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAGD,cAAc;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAE9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,eAAe,CAAC,MAAyB;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,cAAc;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAE9B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAEhC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,WAAW,CACzB,EAAE,WAAW,EAAE,IAAI,EAAE,EACrB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;;YA9DU,uDAAgB;;;;;SAAhB,gBAAgB"}
@@ -4,7 +4,10 @@ declare global {
4
4
  }
5
5
  }
6
6
  export declare const TAG_VARIANTS: readonly ["default", "big"];
7
+ export declare const TAG_TYPES: readonly ["new", "default"];
7
8
  export type TagVariant = (typeof TAG_VARIANTS)[number];
9
+ export type TagType = (typeof TAG_TYPES)[number];
8
10
  export declare class USATagElement extends HTMLElement {
9
11
  accessor variant: TagVariant;
12
+ accessor type: TagType;
10
13
  }
@@ -1,6 +1,7 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { attr, css, element, html } from "@joist/element";
3
3
  export const TAG_VARIANTS = ["default", "big"];
4
+ export const TAG_TYPES = ["new", "default"];
4
5
  let USATagElement = (() => {
5
6
  let _classDecorators = [element({
6
7
  tagName: "usa-tag",
@@ -8,9 +9,9 @@ let USATagElement = (() => {
8
9
  css `
9
10
  :host {
10
11
  font-size: 0.93rem;
11
- color: #fff;
12
+ color: #1b1b1b;
12
13
  text-transform: uppercase;
13
- background-color: #5c5c5c;
14
+ background-color: #e6e6e6;
14
15
  border-radius: 2px;
15
16
  margin-right: 0.25rem;
16
17
  padding: 1px 0.5rem;
@@ -21,6 +22,11 @@ let USATagElement = (() => {
21
22
  padding-right: 0.5rem;
22
23
  font-size: 1.06rem;
23
24
  }
25
+
26
+ :host([type="new"]) {
27
+ background-color: #c05600;
28
+ color: #fff;
29
+ }
24
30
  `,
25
31
  html `<slot></slot>`,
26
32
  ],
@@ -32,12 +38,17 @@ let USATagElement = (() => {
32
38
  let _variant_decorators;
33
39
  let _variant_initializers = [];
34
40
  let _variant_extraInitializers = [];
41
+ let _type_decorators;
42
+ let _type_initializers = [];
43
+ let _type_extraInitializers = [];
35
44
  var USATagElement = class extends _classSuper {
36
45
  static { _classThis = this; }
37
46
  static {
38
47
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
39
48
  _variant_decorators = [attr()];
49
+ _type_decorators = [attr()];
40
50
  __esDecorate(this, null, _variant_decorators, { kind: "accessor", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
51
+ __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);
41
52
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
42
53
  USATagElement = _classThis = _classDescriptor.value;
43
54
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -46,9 +57,12 @@ let USATagElement = (() => {
46
57
  #variant_accessor_storage = __runInitializers(this, _variant_initializers, "default");
47
58
  get variant() { return this.#variant_accessor_storage; }
48
59
  set variant(value) { this.#variant_accessor_storage = value; }
60
+ #type_accessor_storage = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _type_initializers, "default"));
61
+ get type() { return this.#type_accessor_storage; }
62
+ set type(value) { this.#type_accessor_storage = value; }
49
63
  constructor() {
50
64
  super(...arguments);
51
- __runInitializers(this, _variant_extraInitializers);
65
+ __runInitializers(this, _type_extraInitializers);
52
66
  }
53
67
  };
54
68
  return USATagElement = _classThis;