@noctuatech/uswds 1.3.1 → 1.3.3

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 (52) hide show
  1. package/package.json +6 -6
  2. package/src/lib/accordion/accordion.element.ts +18 -26
  3. package/src/lib/alert/alert.element.ts +21 -20
  4. package/src/lib/alert/alert.stories.ts +10 -15
  5. package/src/lib/file-input/file-input.element.ts +36 -31
  6. package/src/lib/icon/icon.element.ts +37 -27
  7. package/src/lib/input/input.element.ts +32 -44
  8. package/src/lib/input/input.test.ts +25 -16
  9. package/src/lib/input-mask/input-mask.element.ts +13 -13
  10. package/src/lib/input-mask/input-mask.stories.ts +7 -12
  11. package/src/lib/input-mask/input-mask.test.ts +45 -50
  12. package/src/lib/services/icon.service.test.ts +14 -14
  13. package/src/lib/services/icon.service.ts +18 -17
  14. package/src/lib/textarea/textarea.element.ts +15 -23
  15. package/target/lib/accordion/accordion.element.d.ts +4 -3
  16. package/target/lib/accordion/accordion.element.js +20 -12
  17. package/target/lib/accordion/accordion.element.js.map +1 -1
  18. package/target/lib/alert/alert.element.d.ts +4 -4
  19. package/target/lib/alert/alert.element.js +20 -12
  20. package/target/lib/alert/alert.element.js.map +1 -1
  21. package/target/lib/alert/alert.stories.d.ts +2 -2
  22. package/target/lib/alert/alert.stories.js +3 -3
  23. package/target/lib/alert/alert.stories.js.map +1 -1
  24. package/target/lib/file-input/file-input.element.d.ts +0 -1
  25. package/target/lib/file-input/file-input.element.js +6 -14
  26. package/target/lib/file-input/file-input.element.js.map +1 -1
  27. package/target/lib/icon/icon.element.d.ts +4 -4
  28. package/target/lib/icon/icon.element.js +35 -25
  29. package/target/lib/icon/icon.element.js.map +1 -1
  30. package/target/lib/input/input.element.d.ts +5 -5
  31. package/target/lib/input/input.element.js +101 -25
  32. package/target/lib/input/input.element.js.map +1 -1
  33. package/target/lib/input/input.test.d.ts +1 -1
  34. package/target/lib/input/input.test.js +42 -17
  35. package/target/lib/input/input.test.js.map +1 -1
  36. package/target/lib/input-mask/input-mask.element.d.ts +1 -1
  37. package/target/lib/input-mask/input-mask.element.js +11 -11
  38. package/target/lib/input-mask/input-mask.element.js.map +1 -1
  39. package/target/lib/input-mask/input-mask.stories.d.ts +2 -2
  40. package/target/lib/input-mask/input-mask.stories.js +5 -5
  41. package/target/lib/input-mask/input-mask.stories.js.map +1 -1
  42. package/target/lib/input-mask/input-mask.test.d.ts +2 -2
  43. package/target/lib/input-mask/input-mask.test.js +43 -43
  44. package/target/lib/input-mask/input-mask.test.js.map +1 -1
  45. package/target/lib/services/icon.service.d.ts +2 -1
  46. package/target/lib/services/icon.service.js +15 -15
  47. package/target/lib/services/icon.service.js.map +1 -1
  48. package/target/lib/services/icon.service.test.js +14 -14
  49. package/target/lib/services/icon.service.test.js.map +1 -1
  50. package/target/lib/textarea/textarea.element.d.ts +1 -1
  51. package/target/lib/textarea/textarea.element.js +10 -10
  52. package/target/lib/textarea/textarea.element.js.map +1 -1
@@ -1,18 +1,18 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- import "@joist/templating/define.js";
3
- import { attr, css, element, html, listen } from "@joist/element";
4
- import { bind } from "@joist/templating";
5
- import { USAAccordionToggleEvent } from "./events.js";
2
+ import '@joist/templating/define.js';
3
+ import { attr, css, element, html, listen } from '@joist/element';
4
+ import { bind } from '@joist/templating';
5
+ import { USAAccordionToggleEvent } from './events.js';
6
6
  let USAAccordionElement = (() => {
7
7
  let _classDecorators = [element({
8
- tagName: "usa-accordion",
8
+ tagName: 'usa-accordion',
9
9
  shadowDomOpts: {
10
- mode: "open",
10
+ mode: 'open',
11
11
  delegatesFocus: true,
12
12
  },
13
13
  shadowDom: [
14
- css `*{box-sizing:border-box}:host{display:block}:host(:not(:first-child)) summary{margin-top:.5rem}summary{align-items:center;border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;padding:0;color:#1b1b1b;background-color:#f0f0f0;cursor:pointer;display:flex;font-weight:700;margin:0;padding:1rem 1.25rem 1rem 1.25rem;text-decoration:none;width:100%}summary::-webkit-details-marker{display:none}slot[name=heading]{display:block;flex:1 1 auto}slot[name=heading]::slotted(*){margin:0}.content{padding-bottom:1.5rem;padding-left:1rem;padding-top:1.5rem}usa-icon[icon=remove]{display:none}details[open] usa-icon[icon=add]{display:none}details[open] usa-icon[icon=remove]{display:block}summary:hover{background-color:#e6e6e6}summary:focus{outline:.25rem solid #2491ff;outline-offset:0}`,
15
- html `<j-props><details $.open="open"><summary><slot name="heading"></slot><usa-icon icon="add"></usa-icon><usa-icon icon="remove"></usa-icon></summary><div class="content"><slot></slot></div></details></j-props>`,
14
+ css `*{box-sizing:border-box}:host{display:block}:host(:not(:first-child)) summary{margin-top:.5rem}summary{align-items:center;border:0;border-radius:0;box-shadow:none;justify-content:normal;text-align:left;padding:0;color:#1b1b1b;background-color:#f0f0f0;cursor:pointer;display:flex;font-weight:700;margin:0;padding:1rem 1.25rem 1rem 1.25rem;text-decoration:none;width:100%}summary::-webkit-details-marker{display:none}slot[name=heading]{display:block;flex:1 1 auto}slot[name=heading]::slotted(*){margin:0}.content{padding-bottom:1.5rem;padding-left:1rem;padding-top:1.5rem}summary:hover{background-color:#e6e6e6}summary:focus{outline:.25rem solid #2491ff;outline-offset:0}`,
15
+ html `<j-props><details $.open="open"><summary><slot name="heading"></slot><j-props><usa-icon $.icon="icon"></usa-icon></j-props></summary><div class="content"><slot></slot></div></details></j-props>`,
16
16
  ],
17
17
  })];
18
18
  let _classDescriptor;
@@ -26,6 +26,9 @@ let USAAccordionElement = (() => {
26
26
  let _open_decorators;
27
27
  let _open_initializers = [];
28
28
  let _open_extraInitializers = [];
29
+ let _icon_decorators;
30
+ let _icon_initializers = [];
31
+ let _icon_extraInitializers = [];
29
32
  let _onClick_decorators;
30
33
  let _onAccordionToggle_decorators;
31
34
  var USAAccordionElement = class extends _classSuper {
@@ -34,10 +37,12 @@ let USAAccordionElement = (() => {
34
37
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
35
38
  _name_decorators = [attr()];
36
39
  _open_decorators = [attr(), bind()];
37
- _onClick_decorators = [listen("click", "summary")];
38
- _onAccordionToggle_decorators = [listen("usa::accordion::toggle", () => document.body)];
40
+ _icon_decorators = [bind((i) => (i.open ? 'remove' : 'add'))];
41
+ _onClick_decorators = [listen('click', 'summary')];
42
+ _onAccordionToggle_decorators = [listen('usa::accordion::toggle', () => document.body)];
39
43
  __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);
40
44
  __esDecorate(this, null, _open_decorators, { kind: "accessor", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);
45
+ __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
41
46
  __esDecorate(this, null, _onClick_decorators, { kind: "method", name: "onClick", static: false, private: false, access: { has: obj => "onClick" in obj, get: obj => obj.onClick }, metadata: _metadata }, null, _instanceExtraInitializers);
42
47
  __esDecorate(this, null, _onAccordionToggle_decorators, { kind: "method", name: "onAccordionToggle", static: false, private: false, access: { has: obj => "onAccordionToggle" in obj, get: obj => obj.onAccordionToggle }, metadata: _metadata }, null, _instanceExtraInitializers);
43
48
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -45,12 +50,15 @@ let USAAccordionElement = (() => {
45
50
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
46
51
  __runInitializers(_classThis, _classExtraInitializers);
47
52
  }
48
- #name_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _name_initializers, ""));
53
+ #name_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _name_initializers, ''));
49
54
  get name() { return this.#name_accessor_storage; }
50
55
  set name(value) { this.#name_accessor_storage = value; }
51
56
  #open_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _open_initializers, false));
52
57
  get open() { return this.#open_accessor_storage; }
53
58
  set open(value) { this.#open_accessor_storage = value; }
59
+ #icon_accessor_storage = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _icon_initializers, 'add'));
60
+ get icon() { return this.#icon_accessor_storage; }
61
+ set icon(value) { this.#icon_accessor_storage = value; }
54
62
  onClick(e) {
55
63
  e.preventDefault();
56
64
  this.dispatchEvent(new USAAccordionToggleEvent(!this.open));
@@ -65,7 +73,7 @@ let USAAccordionElement = (() => {
65
73
  }
66
74
  constructor() {
67
75
  super(...arguments);
68
- __runInitializers(this, _open_extraInitializers);
76
+ __runInitializers(this, _icon_extraInitializers);
69
77
  }
70
78
  };
71
79
  return USAAccordionElement = _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.element.js","sourceRoot":"","sources":["../../../src/lib/accordion/accordion.element.ts"],"names":[],"mappings":";AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;IAyGzC,mBAAmB;4BAjG/B,OAAO,CAAC;YACP,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuEF;gBACD,IAAI,CAAA;;;;;;;;;;;;;;;KAeH;aACF;SACF,CAAC;;;;sBACuC,WAAW;;;;;;;;;;mCAAnB,SAAQ,WAAW;;;;gCACjD,IAAI,EAAE;gCAGN,IAAI,EAAE,EACN,IAAI,EAAE;mCAGN,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;6CAO1B,MAAM,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAbtD,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAInB,iKAAS,IAAI,6BAAJ,IAAI,mFAAS;YAGtB,wKAAA,OAAO,6DAIN;YAGD,sMAAA,iBAAiB,6DAMhB;YAtBH,6KAuBC;;;YAvBY,uDAAmB;;QAE9B,0BAFW,mDAAmB,8CAEd,EAAE,GAAC;QAAnB,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAInB,wHAAgB,KAAK,GAAC;QAAtB,IAAS,IAAI,0CAAS;QAAtB,IAAS,IAAI,gDAAS;QAGtB,OAAO,CAAC,CAAQ;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAGD,iBAAiB,CAAC,CAA0B;YAC1C,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;;;;;;;;SAtBU,mBAAmB"}
1
+ {"version":3,"file":"accordion.element.js","sourceRoot":"","sources":["../../../src/lib/accordion/accordion.element.ts"],"names":[],"mappings":";AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;IA8FzC,mBAAmB;4BAtF/B,OAAO,CAAC;YACP,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2DF;gBACD,IAAI,CAAA;;;;;;;;;;;;;;;;KAgBH;aACF;SACF,CAAC;;;;sBACuC,WAAW;;;;;;;;;;;;;mCAAnB,SAAQ,WAAW;;;;gCACjD,IAAI,EAAE;gCAGN,IAAI,EAAE,EACN,IAAI,EAAE;gCAGN,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;mCAGxC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;6CAO1B,MAAM,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAhBtD,iKAAS,IAAI,6BAAJ,IAAI,mFAAM;YAInB,iKAAS,IAAI,6BAAJ,IAAI,mFAAS;YAGtB,iKAAS,IAAI,6BAAJ,IAAI,mFAA2B;YAGxC,wKAAA,OAAO,6DAIN;YAGD,sMAAA,iBAAiB,6DAMhB;YAzBH,6KA0BC;;;YA1BY,uDAAmB;;QAE9B,0BAFW,mDAAmB,8CAEd,EAAE,GAAC;QAAnB,IAAS,IAAI,0CAAM;QAAnB,IAAS,IAAI,gDAAM;QAInB,wHAAgB,KAAK,GAAC;QAAtB,IAAS,IAAI,0CAAS;QAAtB,IAAS,IAAI,gDAAS;QAGtB,wHAAkC,KAAK,GAAC;QAAxC,IAAS,IAAI,0CAA2B;QAAxC,IAAS,IAAI,gDAA2B;QAGxC,OAAO,CAAC,CAAQ;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAGD,iBAAiB,CAAC,CAA0B;YAC1C,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;;;;;;;;SAzBU,mBAAmB"}
@@ -1,11 +1,11 @@
1
- import { type USAAlertType } from "./alert-types.js";
1
+ import { type USAAlertType } from './alert-types.js';
2
+ import { USAIcon } from '../icon/icon-types.js';
2
3
  declare global {
3
4
  interface HTMLElementTagNameMap {
4
- "usa-alert": USAAlertElement;
5
+ 'usa-alert': USAAlertElement;
5
6
  }
6
7
  }
7
8
  export declare class USAAlertElement extends HTMLElement {
8
- #private;
9
9
  accessor type: USAAlertType;
10
- attributeChangedCallback(): void;
10
+ accessor icon: USAIcon;
11
11
  }
@@ -1,16 +1,18 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- import { attr, css, element, html, query } from "@joist/element";
3
- import { USA_ALERT_CONFIG } from "./alert-types.js";
2
+ import { attr, css, element, html } from '@joist/element';
3
+ import { USA_ALERT_CONFIG } from './alert-types.js';
4
+ import { bind } from '@joist/templating';
5
+ import { observe } from '@joist/observable';
4
6
  let USAAlertElement = (() => {
5
7
  let _classDecorators = [element({
6
- tagName: "usa-alert",
8
+ tagName: 'usa-alert',
7
9
  shadowDomOpts: {
8
- mode: "open",
10
+ mode: 'open',
9
11
  delegatesFocus: true,
10
12
  },
11
13
  shadowDom: [
12
14
  css `:host{display:block;border-left:.5rem solid #adadad;padding:1rem 1.2rem;color:#1b1b1b;margin-bottom:1rem}:host([type=info]){border-left-color:#00bde3;background-color:#e7f6f8}:host([type=warning]){background-color:#faf3d1;border-left-color:#ffbe2e}:host([type=success]){background-color:#ecf3ec;border-left-color:#00a91c}:host([type=error]){background-color:#f4e3db;border-left-color:#d54309}:host([type=emergency]){background-color:#9c3d10;border-left-color:#9c3d10;color:#fff}:host([type=emergency]) ::slotted(*){color:#fff}.alert-heading{display:grid;grid-template-columns:auto 1fr;align-items:center}usa-icon{margin:-.28rem .75rem 0 0}#heading::slotted(*){font-size:1.33rem;line-height:.9;margin-top:0;margin-bottom:.5rem}`,
13
- html `<div class="alert-heading"><usa-icon icon="check_circle"></usa-icon><div><slot id="heading" name="heading"></slot></div><div class="spacer"></div><div><slot></slot></div></div>`,
15
+ html `<div class="alert-heading"><j-props><usa-icon $.icon="icon"></usa-icon></j-props><div><slot id="heading" name="heading"></slot></div><div class="spacer"></div><div><slot></slot></div></div>`,
14
16
  ],
15
17
  })];
16
18
  let _classDescriptor;
@@ -20,25 +22,31 @@ let USAAlertElement = (() => {
20
22
  let _type_decorators;
21
23
  let _type_initializers = [];
22
24
  let _type_extraInitializers = [];
25
+ let _icon_decorators;
26
+ let _icon_initializers = [];
27
+ let _icon_extraInitializers = [];
23
28
  var USAAlertElement = class extends _classSuper {
24
29
  static { _classThis = this; }
25
30
  static {
26
31
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
27
- _type_decorators = [attr()];
32
+ _type_decorators = [attr(), observe()];
33
+ _icon_decorators = [bind((i) => USA_ALERT_CONFIG[i.type].icon)];
28
34
  __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);
35
+ __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
29
36
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
30
37
  USAAlertElement = _classThis = _classDescriptor.value;
31
38
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
32
39
  __runInitializers(_classThis, _classExtraInitializers);
33
40
  }
34
- #type_accessor_storage = __runInitializers(this, _type_initializers, "info");
41
+ #type_accessor_storage = __runInitializers(this, _type_initializers, 'info');
35
42
  get type() { return this.#type_accessor_storage; }
36
43
  set type(value) { this.#type_accessor_storage = value; }
37
- #icon = (__runInitializers(this, _type_extraInitializers), query("usa-icon"));
38
- attributeChangedCallback() {
39
- this.#icon({
40
- icon: USA_ALERT_CONFIG[this.type].icon,
41
- });
44
+ #icon_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _icon_initializers, 'info'));
45
+ get icon() { return this.#icon_accessor_storage; }
46
+ set icon(value) { this.#icon_accessor_storage = value; }
47
+ constructor() {
48
+ super(...arguments);
49
+ __runInitializers(this, _icon_extraInitializers);
42
50
  }
43
51
  };
44
52
  return USAAlertElement = _classThis;
@@ -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,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;IAwF1D,eAAe;4BAhF3B,OAAO,CAAC;YACP,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDF;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,IAAI,CAAC,KAAK,CAAC;gBACT,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI;aACvC,CAAC,CAAC;QACL,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,EAAS,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;IA0F/B,eAAe;4BAlF3B,OAAO,CAAC;YACP,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM;gBACZ,cAAc,EAAE,IAAI;aACrB;YACD,SAAS,EAAE;gBACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDF;gBACD,IAAI,CAAA;;;;;;;;;;;;;;;;KAgBH;aACF;SACF,CAAC;;;;sBACmC,WAAW;;;;;;;+BAAnB,SAAQ,WAAW;;;;gCAC7C,IAAI,EAAE,EACN,OAAO,EAAE;gCAGT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAF3C,iKAAS,IAAI,6BAAJ,IAAI,mFAAwB;YAGrC,iKAAS,IAAI,6BAAJ,IAAI,mFAAmB;YANlC,6KAOC;;;YAPY,uDAAe;;QAG1B,qEAA8B,MAAM,EAAC;QAArC,IAAS,IAAI,0CAAwB;QAArC,IAAS,IAAI,gDAAwB;QAGrC,wHAAyB,MAAM,GAAC;QAAhC,IAAS,IAAI,0CAAmB;QAAhC,IAAS,IAAI,gDAAmB;;;;;;;;SANrB,eAAe"}
@@ -1,5 +1,5 @@
1
- import type { StoryObj } from "@storybook/web-components";
2
- import type { USAAlertElement } from "./alert.element.js";
1
+ import type { StoryObj } from '@storybook/web-components';
2
+ import type { USAAlertElement } from './alert.element.js';
3
3
  declare const meta: {
4
4
  title: string;
5
5
  tags: string[];
@@ -1,8 +1,8 @@
1
- import { html } from "lit";
1
+ import { html } from 'lit';
2
2
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
3
3
  const meta = {
4
- title: "usa-alert",
5
- tags: ["autodocs"],
4
+ title: 'usa-alert',
5
+ tags: ['autodocs'],
6
6
  argTypes: {},
7
7
  args: {},
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alert.stories.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CACuB,CAAC;AAElC,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC9B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"alert.stories.js","sourceRoot":"","sources":["../../../src/lib/alert/alert.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,kFAAkF;AAClF,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CACuB,CAAC;AAElC,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC9B,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -13,7 +13,6 @@ export declare class USAFileInputElement extends HTMLElement {
13
13
  accessor required: boolean;
14
14
  accessor files: FileList | null;
15
15
  accessor filesVisible: boolean;
16
- attributeChangedCallback(): void;
17
16
  connectedCallback(): void;
18
17
  syncFormValues(): void;
19
18
  onInputChange(): void;
@@ -8,7 +8,7 @@ let USAFileInputElement = (() => {
8
8
  tagName: 'usa-file-input',
9
9
  shadowDom: [
10
10
  css `*{box-sizing:border-box}:host{display:block;max-width:30rem;position:relative;margin-bottom:1.5rem}label{display:block}input{cursor:pointer;left:0;margin:0;max-width:none;position:absolute;text-indent:-999em;width:100%;z-index:1;bottom:0;top:0}input:focus{outline:.25rem solid #2491ff;outline-offset:0}label slot.label{font-size:1.06rem;line-height:1.3;display:block;font-weight:400;margin-bottom:.5rem}:host(.dragenter) .box{border-color:#2491ff}.box{border:1px dashed #adadad;border-radius:0;display:flex;font-size:.93rem;position:relative;text-align:center;width:100%;height:5.2rem;align-items:center;justify-content:center}.container{position:relative}`,
11
- html `<label><slot class="label"></slot><div class="container"><input type="file" tabindex="0"><j-if bind="filesVisible"><template><j-props><usa-file-input-preview $.files="files" part="preview" exportparts="heading, item">Selected file<usa-link>Change file</usa-link></usa-file-input-preview></j-props></template><template else><div class="box" part="input"><slot name="description">Drag file here or<usa-link>choose from folder</usa-link></slot></div></template></j-if></div></label>`,
11
+ html `<label for="file-input"><slot class="label"></slot></label><div class="container"><j-props><input id="file-input" type="file" tabindex="0" $.name="name" $.multiple="multiple" $.accept="accept" $.required="required"></j-props><j-if bind="filesVisible"><template><j-props><usa-file-input-preview $.files="files" part="preview" exportparts="heading, item">Selected file <usa-link>Change file</usa-link></usa-file-input-preview></j-props></template><template else><div class="box" part="input"><slot name="description">Drag file here or<usa-link>choose from folder</usa-link></slot></div></template></j-if></div>`,
12
12
  ],
13
13
  })];
14
14
  let _classDescriptor;
@@ -43,10 +43,10 @@ let USAFileInputElement = (() => {
43
43
  static { _classThis = this; }
44
44
  static {
45
45
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
46
- _name_decorators = [attr()];
47
- _multiple_decorators = [attr()];
48
- _accept_decorators = [attr()];
49
- _required_decorators = [attr()];
46
+ _name_decorators = [attr(), bind()];
47
+ _multiple_decorators = [attr(), bind()];
48
+ _accept_decorators = [attr(), bind()];
49
+ _required_decorators = [attr(), bind()];
50
50
  _files_decorators = [bind()];
51
51
  _filesVisible_decorators = [bind((i) => !!i.files?.length)];
52
52
  _syncFormValues_decorators = [effect()];
@@ -90,14 +90,6 @@ let USAFileInputElement = (() => {
90
90
  set filesVisible(value) { this.#filesVisible_accessor_storage = value; }
91
91
  #internals = (__runInitializers(this, _filesVisible_extraInitializers), this.attachInternals());
92
92
  #input = query('input');
93
- attributeChangedCallback() {
94
- this.#input({
95
- name: this.name,
96
- multiple: this.multiple,
97
- accept: this.accept,
98
- required: this.required,
99
- });
100
- }
101
93
  connectedCallback() {
102
94
  const input = this.#input();
103
95
  if (input.validationMessage) {
@@ -105,7 +97,7 @@ let USAFileInputElement = (() => {
105
97
  }
106
98
  }
107
99
  syncFormValues() {
108
- const input = this.#input({ files: this.files });
100
+ const input = this.#input();
109
101
  const formData = new FormData();
110
102
  if (this.files?.length) {
111
103
  for (const file of this.files) {
@@ -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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"}
@@ -1,13 +1,13 @@
1
- import type { USAIcon } from "./icon-types.js";
1
+ import type { USAIcon } from './icon-types.js';
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
- "usa-icon": USAIconElement;
4
+ 'usa-icon': USAIconElement;
5
5
  }
6
6
  }
7
7
  export declare class USAIconElement extends HTMLElement {
8
8
  #private;
9
- accessor icon: USAIcon;
9
+ accessor icon: USAIcon | '';
10
10
  ariaHidden: string | null;
11
- attributeChangedCallback(_: string, newVal: string, oldVal: string): void;
12
11
  connectedCallback(): void;
12
+ onIconUpdate(): void;
13
13
  }
@@ -1,62 +1,72 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- import { inject, injectable } from "@joist/di";
3
- import { attr, css, element } from "@joist/element";
4
- import { IconService } from "../services/icon.service.js";
2
+ import { inject, injectable } from '@joist/di';
3
+ import { attr, css, element } from '@joist/element';
4
+ import { IconService } from '../services/icon.service.js';
5
+ import { effect, observe } from '@joist/observable';
5
6
  let USAIconElement = (() => {
6
7
  let _classDecorators = [element({
7
- tagName: "usa-icon",
8
+ tagName: 'usa-icon',
8
9
  shadowDom: [
9
10
  css `:host{display:inline-block;height:2rem;position:relative;width:2rem}svg{fill:currentColor;height:100%;width:100%}`,
10
11
  ],
11
12
  }), injectable({
12
- name: "usa-icon-ctx",
13
+ name: 'usa-icon-ctx',
13
14
  })];
14
15
  let _classDescriptor;
15
16
  let _classExtraInitializers = [];
16
17
  let _classThis;
17
18
  let _classSuper = HTMLElement;
19
+ let _instanceExtraInitializers = [];
18
20
  let _icon_decorators;
19
21
  let _icon_initializers = [];
20
22
  let _icon_extraInitializers = [];
23
+ let _onIconUpdate_decorators;
21
24
  var USAIconElement = class extends _classSuper {
22
25
  static { _classThis = this; }
23
26
  static {
24
27
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
25
- _icon_decorators = [attr()];
28
+ _icon_decorators = [attr(), observe()];
29
+ _onIconUpdate_decorators = [effect()];
26
30
  __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
31
+ __esDecorate(this, null, _onIconUpdate_decorators, { kind: "method", name: "onIconUpdate", static: false, private: false, access: { has: obj => "onIconUpdate" in obj, get: obj => obj.onIconUpdate }, metadata: _metadata }, null, _instanceExtraInitializers);
27
32
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
28
33
  USAIconElement = _classThis = _classDescriptor.value;
29
34
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
30
35
  __runInitializers(_classThis, _classExtraInitializers);
31
36
  }
32
- #icon_accessor_storage = __runInitializers(this, _icon_initializers, "accessibility_new");
37
+ #icon_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _icon_initializers, ''));
33
38
  get icon() { return this.#icon_accessor_storage; }
34
39
  set icon(value) { this.#icon_accessor_storage = value; }
35
- ariaHidden = (__runInitializers(this, _icon_extraInitializers), "true");
40
+ ariaHidden = (__runInitializers(this, _icon_extraInitializers), 'true');
36
41
  #icon = inject(IconService);
37
- #injected = false;
38
- attributeChangedCallback(_, newVal, oldVal) {
39
- if (this.#injected) {
40
- if (newVal !== oldVal) {
41
- this.#updateIcon();
42
- }
43
- }
44
- }
42
+ #abortController = null;
45
43
  connectedCallback() {
46
- this.#injected = true;
44
+ this.#updateIcon();
45
+ }
46
+ onIconUpdate() {
47
+ console.log('onIconUpdate', this.icon);
47
48
  this.#updateIcon();
48
49
  }
49
50
  async #updateIcon() {
51
+ this.#abortController?.abort();
52
+ this.#abortController = new AbortController();
53
+ if (!this.icon) {
54
+ return;
55
+ }
50
56
  const icon = this.#icon();
51
- if (this.shadowRoot) {
52
- const currentIcon = await icon.getIcon(this.icon);
53
- if (this.shadowRoot.firstElementChild) {
54
- this.shadowRoot.firstElementChild.replaceWith(currentIcon);
57
+ icon
58
+ .getIcon(this.icon, this.#abortController?.signal)
59
+ .then((currentIcon) => {
60
+ if (this.shadowRoot) {
61
+ if (this.shadowRoot.firstElementChild) {
62
+ this.shadowRoot.firstElementChild.replaceWith(currentIcon);
63
+ }
64
+ else {
65
+ this.shadowRoot.append(currentIcon);
66
+ }
55
67
  }
56
- else {
57
- this.shadowRoot.append(currentIcon);
58
- }
59
- }
68
+ })
69
+ .catch(() => { });
60
70
  }
61
71
  };
62
72
  return USAIconElement = _classThis;
@@ -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,MAAM,WAAW,CAAC;AAC/C,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;YACP,iKAAS,IAAI,6BAAJ,IAAI,mFAAgC;YAF/C,6KAmCC;;;YAnCY,uDAAc;;QAEzB,qEAAyB,mBAAmB,EAAC;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;QAElB,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,iBAAiB;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,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;;;;SAlCU,cAAc"}
1
+ {"version":3,"file":"icon.element.js","sourceRoot":"","sources":["../../../src/lib/icon/icon.element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAY,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;IA8BvC,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,EACN,OAAO,EAAE;wCAYT,MAAM,EAAE;YAXT,iKAAS,IAAI,6BAAJ,IAAI,mFAAoB;YAYjC,uLAAA,YAAY,6DAIX;YAnBH,6KA4CC;;;YA5CY,uDAAc;;QAGzB,0BAHW,mDAAc,8CAGK,EAAE,GAAC;QAAjC,IAAS,IAAI,0CAAoB;QAAjC,IAAS,IAAI,gDAAoB;QAEjC,UAAU,sDAAkB,MAAM,EAAC;QAEnC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,gBAAgB,GAA2B,IAAI,CAAC;QAEhD,iBAAiB;YACf,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAGD,YAAY;YACV,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,WAAW;YACf,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE1B,IAAI;iBACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;iBACjD,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;wBACtC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;;;;SA3CU,cAAc"}
@@ -1,7 +1,7 @@
1
- import type { MaskableElement } from "../input-mask/maskable.element.js";
1
+ import type { MaskableElement } from '../input-mask/maskable.element.js';
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
- "usa-input": USATextInputElement;
4
+ 'usa-input': USATextInputElement;
5
5
  }
6
6
  }
7
7
  export declare class USATextInputElement extends HTMLElement implements MaskableElement {
@@ -16,14 +16,14 @@ export declare class USATextInputElement extends HTMLElement implements Maskable
16
16
  accessor maxLength: number;
17
17
  accessor required: boolean;
18
18
  accessor disabled: boolean;
19
- accessor type: "text" | "password" | "number";
20
- accessor detail: "pfx" | "sfx" | "";
19
+ accessor type: 'text' | 'password' | 'number';
20
+ accessor detail: 'pfx' | 'sfx' | '';
21
21
  accessor value: string;
22
22
  accessor selectionStart: number | null;
23
23
  accessor selectionEnd: number | null;
24
24
  get validationMessage(): string;
25
25
  onReady(): void;
26
- attributeChangedCallback(attr: string): void;
26
+ attributeChangedCallback(): void;
27
27
  connectedCallback(): void;
28
28
  focus(options?: FocusOptions): void;
29
29
  onChange(): void;