@gov-design-system-ce/components 4.0.8-rc17 → 4.0.8-rc19

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 (176) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/gov-form-checkbox.cjs.entry.js +5 -4
  3. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gov-form-control.cjs.entry.js +1 -37
  5. package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gov-form-file.cjs.entry.js +7 -6
  7. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gov-form-input.cjs.entry.js +11 -9
  9. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gov-form-multi-select.cjs.entry.js +7 -7
  11. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-form-radio.cjs.entry.js +5 -4
  13. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-form-select.cjs.entry.js +10 -7
  15. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gov-form-switch.cjs.entry.js +2 -1
  17. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gov-icon.cjs.entry.js +1 -1
  19. package/dist/cjs/gov-tile.cjs.entry.js +1 -1
  20. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +5 -4
  23. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  24. package/dist/collection/components/gov-form/control/gov-form-control.js +5 -64
  25. package/dist/collection/components/gov-form/control/gov-form-control.js.map +1 -1
  26. package/dist/collection/components/gov-form/file/gov-form-file.js +7 -6
  27. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  28. package/dist/collection/components/gov-form/input/gov-form-input.js +16 -14
  29. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  30. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +7 -7
  31. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  32. package/dist/collection/components/gov-form/radio/gov-form-radio.js +5 -4
  33. package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +1 -1
  34. package/dist/collection/components/gov-form/select/gov-form-select.js +12 -7
  35. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  36. package/dist/collection/components/gov-form/switch/gov-form-switch.js +2 -1
  37. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  38. package/dist/collection/components/gov-tile/gov-tile.js +1 -1
  39. package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
  40. package/dist/collection/pages/Forms.js +12 -12
  41. package/dist/collection/pages/Forms.js.map +1 -1
  42. package/dist/components/gov-accordion-item.js +1 -1
  43. package/dist/components/gov-attachments-item.js +1 -1
  44. package/dist/components/gov-breadcrumbs.js +1 -1
  45. package/dist/components/gov-button.js +1 -1
  46. package/dist/components/gov-card.js +1 -1
  47. package/dist/components/gov-chip.js +1 -1
  48. package/dist/components/gov-form-autocomplete.js +1 -1
  49. package/dist/components/gov-form-checkbox.js +1 -1
  50. package/dist/components/gov-form-checkbox.js.map +1 -1
  51. package/dist/components/gov-form-control.js +1 -1
  52. package/dist/components/gov-form-control.js.map +1 -1
  53. package/dist/components/gov-form-file.js +1 -1
  54. package/dist/components/gov-form-file.js.map +1 -1
  55. package/dist/components/gov-form-input.js +1 -1
  56. package/dist/components/gov-form-multi-select.js +1 -1
  57. package/dist/components/gov-form-multi-select.js.map +1 -1
  58. package/dist/components/gov-form-radio.js +1 -1
  59. package/dist/components/gov-form-radio.js.map +1 -1
  60. package/dist/components/gov-form-select.js +1 -1
  61. package/dist/components/gov-form-switch.js +1 -1
  62. package/dist/components/gov-form-switch.js.map +1 -1
  63. package/dist/components/gov-icon.js +1 -1
  64. package/dist/components/gov-infobar.js +1 -1
  65. package/dist/components/gov-loading.js +1 -1
  66. package/dist/components/gov-modal.js +1 -1
  67. package/dist/components/gov-pagination.js +1 -1
  68. package/dist/components/gov-prompt.js +1 -1
  69. package/dist/components/gov-side-nav-item.js +1 -1
  70. package/dist/components/gov-tabs.js +1 -1
  71. package/dist/components/gov-tabs.js.map +1 -1
  72. package/dist/components/gov-tag.js +1 -1
  73. package/dist/components/gov-tile.js +1 -1
  74. package/dist/components/gov-tile.js.map +1 -1
  75. package/dist/components/gov-toast.js +1 -1
  76. package/dist/components/gov-tooltip-content.js +1 -1
  77. package/dist/components/gov-wizard-item.js +1 -1
  78. package/dist/components/{p-8ac22724.js → p-37b342d0.js} +2 -2
  79. package/dist/components/p-37b342d0.js.map +1 -0
  80. package/dist/components/{p-57bc98b3.js → p-410e296d.js} +2 -2
  81. package/dist/components/{p-fd554fb4.js → p-4f694d25.js} +2 -2
  82. package/dist/components/{p-3248435d.js → p-5ee68c72.js} +2 -2
  83. package/dist/components/p-5ee68c72.js.map +1 -0
  84. package/dist/components/{p-483d079f.js → p-701f03e1.js} +2 -2
  85. package/dist/components/{p-e35fdedd.js → p-ab0ea373.js} +2 -2
  86. package/dist/components/{p-44c731a0.js → p-eefec75b.js} +2 -2
  87. package/dist/core/core.esm.js +1 -1
  88. package/dist/core/core.esm.js.map +1 -1
  89. package/dist/core/{p-a87d8f17.entry.js → p-2cdb5670.entry.js} +3 -2
  90. package/dist/core/p-2cdb5670.entry.js.map +1 -0
  91. package/dist/core/{p-4c83f443.entry.js → p-2e07619e.entry.js} +2 -2
  92. package/dist/core/{p-4c83f443.entry.js.map → p-2e07619e.entry.js.map} +1 -1
  93. package/dist/core/{p-14e5fd00.entry.js → p-396ae350.entry.js} +2 -2
  94. package/dist/core/p-396ae350.entry.js.map +1 -0
  95. package/dist/core/{p-065b396a.entry.js → p-3c0058a4.entry.js} +2 -2
  96. package/dist/core/p-3c0058a4.entry.js.map +1 -0
  97. package/dist/core/{p-98e89c46.entry.js → p-4b88cdf6.entry.js} +2 -2
  98. package/dist/core/{p-bc2ec133.entry.js → p-5f3721be.entry.js} +2 -2
  99. package/dist/core/p-5f3721be.entry.js.map +1 -0
  100. package/dist/core/p-6110119c.entry.js +2 -0
  101. package/dist/core/p-6110119c.entry.js.map +1 -0
  102. package/dist/core/{p-afb86442.entry.js → p-6be9b50d.entry.js} +3 -2
  103. package/dist/core/p-6be9b50d.entry.js.map +1 -0
  104. package/dist/core/{p-d0446df9.entry.js → p-74627eb2.entry.js} +2 -2
  105. package/dist/core/p-74627eb2.entry.js.map +1 -0
  106. package/dist/core/{p-b18be1d6.entry.js → p-753e4861.entry.js} +3 -2
  107. package/dist/core/p-753e4861.entry.js.map +1 -0
  108. package/dist/core/{p-36312bef.entry.js → p-92f752e1.entry.js} +3 -2
  109. package/dist/core/p-92f752e1.entry.js.map +1 -0
  110. package/dist/core/{p-6092fd22.entry.js → p-aa91f33f.entry.js} +2 -2
  111. package/dist/core/p-aa91f33f.entry.js.map +1 -0
  112. package/dist/core/{p-c7e8faec.entry.js → p-ab2f6b4d.entry.js} +2 -2
  113. package/dist/core/{p-c7e8faec.entry.js.map → p-ab2f6b4d.entry.js.map} +1 -1
  114. package/dist/core/{p-0d99a3d8.entry.js → p-e102ae1d.entry.js} +2 -2
  115. package/dist/core/p-e102ae1d.entry.js.map +1 -0
  116. package/dist/core/{p-dbb67e76.entry.js → p-e21b402c.entry.js} +3 -2
  117. package/dist/core/p-e21b402c.entry.js.map +1 -0
  118. package/dist/core/{p-1d67220c.entry.js → p-f9e6f776.entry.js} +3 -2
  119. package/dist/core/p-f9e6f776.entry.js.map +1 -0
  120. package/dist/core/{p-dbad9256.entry.js → p-fc3d4a73.entry.js} +3 -2
  121. package/dist/core/p-fc3d4a73.entry.js.map +1 -0
  122. package/dist/esm/core.js +1 -1
  123. package/dist/esm/gov-form-checkbox.entry.js +5 -4
  124. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  125. package/dist/esm/gov-form-control.entry.js +2 -38
  126. package/dist/esm/gov-form-control.entry.js.map +1 -1
  127. package/dist/esm/gov-form-file.entry.js +7 -6
  128. package/dist/esm/gov-form-file.entry.js.map +1 -1
  129. package/dist/esm/gov-form-input.entry.js +11 -9
  130. package/dist/esm/gov-form-input.entry.js.map +1 -1
  131. package/dist/esm/gov-form-multi-select.entry.js +7 -7
  132. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  133. package/dist/esm/gov-form-radio.entry.js +5 -4
  134. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  135. package/dist/esm/gov-form-select.entry.js +10 -7
  136. package/dist/esm/gov-form-select.entry.js.map +1 -1
  137. package/dist/esm/gov-form-switch.entry.js +2 -1
  138. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  139. package/dist/esm/gov-icon.entry.js +1 -1
  140. package/dist/esm/gov-tile.entry.js +1 -1
  141. package/dist/esm/gov-tile.entry.js.map +1 -1
  142. package/dist/esm/loader.js +1 -1
  143. package/dist/hydrate/index.js +54 -82
  144. package/dist/hydrate/index.mjs +54 -82
  145. package/dist/types/components/gov-form/checkbox/gov-form-checkbox.d.ts +1 -1
  146. package/dist/types/components/gov-form/control/gov-form-control.d.ts +3 -10
  147. package/dist/types/components/gov-form/file/gov-form-file.d.ts +1 -1
  148. package/dist/types/components/gov-form/input/gov-form-input.d.ts +1 -1
  149. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +1 -1
  150. package/dist/types/components/gov-form/radio/gov-form-radio.d.ts +1 -1
  151. package/dist/types/components/gov-form/select/gov-form-select.d.ts +1 -1
  152. package/dist/types/components.d.ts +6 -14
  153. package/package.json +1 -1
  154. package/dist/components/p-3248435d.js.map +0 -1
  155. package/dist/components/p-8ac22724.js.map +0 -1
  156. package/dist/core/p-065b396a.entry.js.map +0 -1
  157. package/dist/core/p-0d99a3d8.entry.js.map +0 -1
  158. package/dist/core/p-14e5fd00.entry.js.map +0 -1
  159. package/dist/core/p-1d67220c.entry.js.map +0 -1
  160. package/dist/core/p-36312bef.entry.js.map +0 -1
  161. package/dist/core/p-4b048e19.entry.js +0 -2
  162. package/dist/core/p-4b048e19.entry.js.map +0 -1
  163. package/dist/core/p-6092fd22.entry.js.map +0 -1
  164. package/dist/core/p-a87d8f17.entry.js.map +0 -1
  165. package/dist/core/p-afb86442.entry.js.map +0 -1
  166. package/dist/core/p-b18be1d6.entry.js.map +0 -1
  167. package/dist/core/p-bc2ec133.entry.js.map +0 -1
  168. package/dist/core/p-d0446df9.entry.js.map +0 -1
  169. package/dist/core/p-dbad9256.entry.js.map +0 -1
  170. package/dist/core/p-dbb67e76.entry.js.map +0 -1
  171. /package/dist/components/{p-57bc98b3.js.map → p-410e296d.js.map} +0 -0
  172. /package/dist/components/{p-fd554fb4.js.map → p-4f694d25.js.map} +0 -0
  173. /package/dist/components/{p-483d079f.js.map → p-701f03e1.js.map} +0 -0
  174. /package/dist/components/{p-e35fdedd.js.map → p-ab0ea373.js.map} +0 -0
  175. /package/dist/components/{p-44c731a0.js.map → p-eefec75b.js.map} +0 -0
  176. /package/dist/core/{p-98e89c46.entry.js.map → p-4b88cdf6.entry.js.map} +0 -0
@@ -4210,11 +4210,12 @@ class GovFormCheckbox {
4210
4210
  validateSize(newValue) {
4211
4211
  validateProp(FormCheckboxSizes, newValue, FormCheckboxClass.root);
4212
4212
  }
4213
- watchDisabled() {
4213
+ watchControlAttrs() {
4214
4214
  this.passControlAttrs();
4215
4215
  }
4216
4216
  passControlAttrs() {
4217
4217
  this.f.passAttrToControl("size", this.size);
4218
+ this.f.passAttrToControl("disabled", toBoolAttr(this.disabled));
4218
4219
  this.f.passAttrToControl("invalid", toBoolAttr(this.invalid));
4219
4220
  }
4220
4221
  componentWillLoad() {
@@ -4288,9 +4289,9 @@ class GovFormCheckbox {
4288
4289
  }
4289
4290
  get host() { return getElement(this); }
4290
4291
  static get watchers() { return {
4291
- "size": ["validateSize", "watchDisabled"],
4292
- "disabled": ["watchDisabled"],
4293
- "invalid": ["watchDisabled"]
4292
+ "size": ["validateSize", "watchControlAttrs"],
4293
+ "disabled": ["watchControlAttrs"],
4294
+ "invalid": ["watchControlAttrs"]
4294
4295
  }; }
4295
4296
  static get style() { return GovFormCheckboxStyle0; }
4296
4297
  static get cmpMeta() { return {
@@ -4424,7 +4425,6 @@ var GovFormControlStyle0 = govFormControlCss;
4424
4425
  class GovFormControl {
4425
4426
  constructor(hostRef) {
4426
4427
  registerInstance(this, hostRef);
4427
- this.gap = undefined;
4428
4428
  this.identifier = undefined;
4429
4429
  this.invalid = false;
4430
4430
  this.disabled = false;
@@ -4433,11 +4433,8 @@ class GovFormControl {
4433
4433
  this.size = "m";
4434
4434
  this.h = govHost(this.host);
4435
4435
  this.f = govForm(this.h);
4436
- this.controlId = createID("GovFormControl");
4437
4436
  }
4438
4437
  componentDidRender() {
4439
- this.passChildAttrs();
4440
- this.invalidChildAttrs();
4441
4438
  this.syncControlMessages();
4442
4439
  this.formElementDescriptionControl();
4443
4440
  }
@@ -4445,38 +4442,6 @@ class GovFormControl {
4445
4442
  var _a;
4446
4443
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
4447
4444
  }
4448
- passChildAttrs() {
4449
- const formElements = [
4450
- "gov-form-select",
4451
- "gov-form-input",
4452
- "gov-form-switch",
4453
- "gov-form-checkbox",
4454
- "gov-form-radio",
4455
- "gov-form-multi-select",
4456
- "gov-form-file",
4457
- "gov-form-search",
4458
- ];
4459
- this.h.passChildAttr(formElements, "success", this.success);
4460
- if (this.f.hasGroupChildren === false) {
4461
- this.h.passChildAttr([...formElements, "gov-form-label"], "identifier", this.identifier || this.controlId);
4462
- }
4463
- }
4464
- invalidChildAttrs() {
4465
- const formElements = [
4466
- "gov-form-select",
4467
- "gov-form-input",
4468
- "gov-form-switch",
4469
- "gov-form-checkbox",
4470
- "gov-form-radio",
4471
- "gov-form-multi-select",
4472
- "gov-form-file",
4473
- "gov-form-search",
4474
- ];
4475
- this.h.passChildAttr(formElements, "invalid", this.invalid);
4476
- if (this.f.hasGroupChildren === false) {
4477
- this.h.passChildAttr([...formElements, "gov-form-label"], "identifier", this.identifier || this.controlId);
4478
- }
4479
- }
4480
4445
  formElementDescriptionControl() {
4481
4446
  const bottomSlot = this.host.querySelector("." + FormControlClass.bottom);
4482
4447
  if (!bottomSlot)
@@ -4502,7 +4467,7 @@ class GovFormControl {
4502
4467
  }
4503
4468
  render() {
4504
4469
  const Tag = this.fieldset ? "fieldset" : "div";
4505
- return (hAsync(Host, { key: '995792ee7710d6773866b229f94c694e4b442e34', size: this.size, class: this.h.classes(FormControlClass.root) }, hAsync(Tag, { key: '3ee8104bd8f394da8d422c11be6eecd6733cd3e9', class: FormControlClass.holder }, this.h.hasSlot("top") && hAsync("slot", { key: '18221ae1cbc710eea0e90869174438a3eeae32dd', name: "top" }), hAsync("slot", { key: 'f4362ffaf96e51c1e20977ea8ef0d8d2deab6d4c' }), this.h.hasSlot("bottom") && (hAsync("div", { key: '528552235a2eaa1530e635870bf97b110fd32753', class: FormControlClass.bottom }, hAsync("slot", { key: '102521effa28ca385838c6c01e33a871b2bf0f4a', name: "bottom" }))))));
4470
+ return (hAsync(Host, { key: '9178f9dbaff42cb649849621e34059afa6d387d7', size: this.size, class: this.h.classes(FormControlClass.root) }, hAsync(Tag, { key: '296540b214c4106f676b3bf4981ad84409004472', class: FormControlClass.holder }, this.h.hasSlot("top") && hAsync("slot", { key: 'b62e1d46f8fdc6b56ae481de1cb1fb020f9f8ec6', name: "top" }), hAsync("slot", { key: '24ffcd827657b1b02cbe657c41be16af9f8da165' }), this.h.hasSlot("bottom") && (hAsync("div", { key: '77d9ee6b541d4b1073fd621deec00c2336aff240', class: FormControlClass.bottom }, hAsync("slot", { key: '4c7f2200a2fd55b3f801dc40383b7a91cbb18b7d', name: "bottom" }))))));
4506
4471
  }
4507
4472
  get host() { return getElement(this); }
4508
4473
  static get style() { return GovFormControlStyle0; }
@@ -4510,7 +4475,6 @@ class GovFormControl {
4510
4475
  "$flags$": 4,
4511
4476
  "$tagName$": "gov-form-control",
4512
4477
  "$members$": {
4513
- "gap": [1],
4514
4478
  "identifier": [1],
4515
4479
  "invalid": [4],
4516
4480
  "disabled": [4],
@@ -4595,12 +4559,12 @@ class GovFormFile {
4595
4559
  this.h = govHost(this.host);
4596
4560
  this.f = govForm(this.h);
4597
4561
  }
4598
- watchDisabled() {
4562
+ watchControlAttrs() {
4599
4563
  this.passControlAttrs();
4600
4564
  }
4601
4565
  passControlAttrs() {
4602
4566
  this.f.passAttrToControl("invalid", toBoolAttr(this.invalid));
4603
- this.f.passAttrToControl("type", "File");
4567
+ this.f.passAttrToControl("disabled", toBoolAttr(this.disabled));
4604
4568
  }
4605
4569
  registerListeners() {
4606
4570
  function highlight() {
@@ -4675,7 +4639,8 @@ class GovFormFile {
4675
4639
  }
4676
4640
  componentWillLoad() {
4677
4641
  this.f.passAttrToLabel("required", String(this.required));
4678
- this.watchDisabled();
4642
+ this.f.passAttrToControl("type", "File");
4643
+ this.passControlAttrs();
4679
4644
  }
4680
4645
  async componentDidRender() {
4681
4646
  if (canValidateWcagOnRender()) {
@@ -4685,7 +4650,7 @@ class GovFormFile {
4685
4650
  this.registerListeners();
4686
4651
  }
4687
4652
  render() {
4688
- return (hAsync(Host, { key: '0f0c007e221e04c4876b204dc1967f5b3bc7cfa4', class: this.h.classes([FormFileClass.root]), invalid: toBoolAttrIfDefined(this.invalid), expanded: toBoolAttrIfDefined(this.expanded) }, hAsync("div", { key: 'f49933f160fcebaf5b6b7a65a039d4b1dadeadea', class: FormFileClass.area, ref: el => (this.areaRef = el) }, hAsync("slot", { key: '1bd9bc79fae21146bfa60b34cc0a9caeaf53b4e0' }), hAsync("input", { key: '71c235790f137f973f65fa5cc355af2da124a86f', class: FormFileClass.input, ref: el => (this.inputRef = el), id: this.identifier || this.fileId, type: "file", name: this.name, accept: this.accept, multiple: this.multiple, onChange: this.onChangeHandler.bind(this), onFocus: this.onFocusHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, disabled: this.disabled, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-disabled": toBoolAttrIfDefined(this.disabled) })), this.h.hasSlot("attachments") ? (hAsync("div", { class: FormFileClass.attachments }, hAsync("slot", { name: "attachments" }))) : null, this.files.length && this.displayAttachments ? (hAsync("div", { class: FormFileClass.attachments }, hAsync("gov-attachments", { label: this.wcagAttachmentsLabel, "wcag-label": this.wcagAttachmentsLabel }, this.files.map(item => (hAsync("gov-attachments-item", { "wcag-remove-labelled-by": item.id, "on-gov-remove": () => this.onRemoveFileHandler(item) }, hAsync("span", { class: "sr-only", id: item.id }, this.wcagRemoveLabel.replace("{FILE_NAME}", item.file.name)), item.file.name, item.acceptValid === false ? (hAsync("gov-form-message", { slot: "message", variant: "error" }, hAsync("gov-icon", { slot: "icon", name: "exclamation-triangle-fill" }), item.acceptValid === false ? this.errorAccept : null)) : null, item.sizeValid === false ? (hAsync("gov-form-message", { slot: "message", variant: "error" }, hAsync("gov-icon", { slot: "icon", name: "exclamation-triangle-fill" }), this.errorSize.replace("{FILE_SIZE}", formatBytes(this.maxFileSize)))) : null, hAsync("span", { slot: "info" }, "(", formatBytes(item.file.size), ")"))))))) : null));
4653
+ return (hAsync(Host, { key: 'f8ab9ecfba8ade897c1ba9d343259fd77fe74f68', class: this.h.classes([FormFileClass.root]), invalid: toBoolAttrIfDefined(this.invalid), expanded: toBoolAttrIfDefined(this.expanded) }, hAsync("div", { key: '9b1051cb9163af7ceaf42462a2d040a04e3e2088', class: FormFileClass.area, ref: el => (this.areaRef = el) }, hAsync("slot", { key: 'cf789459997322558f3a27eeaacaab2e11757aed' }), hAsync("input", { key: '82d86f00eecd47a10b9540cc0671303d443b536b', class: FormFileClass.input, ref: el => (this.inputRef = el), id: this.identifier || this.fileId, type: "file", name: this.name, accept: this.accept, multiple: this.multiple, onChange: this.onChangeHandler.bind(this), onFocus: this.onFocusHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, disabled: this.disabled, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-disabled": toBoolAttrIfDefined(this.disabled) })), this.h.hasSlot("attachments") ? (hAsync("div", { class: FormFileClass.attachments }, hAsync("slot", { name: "attachments" }))) : null, this.files.length && this.displayAttachments ? (hAsync("div", { class: FormFileClass.attachments }, hAsync("gov-attachments", { label: this.wcagAttachmentsLabel, "wcag-label": this.wcagAttachmentsLabel }, this.files.map(item => (hAsync("gov-attachments-item", { "wcag-remove-labelled-by": item.id, "on-gov-remove": () => this.onRemoveFileHandler(item) }, hAsync("span", { class: "sr-only", id: item.id }, this.wcagRemoveLabel.replace("{FILE_NAME}", item.file.name)), item.file.name, item.acceptValid === false ? (hAsync("gov-form-message", { slot: "message", variant: "error" }, hAsync("gov-icon", { slot: "icon", name: "exclamation-triangle-fill" }), item.acceptValid === false ? this.errorAccept : null)) : null, item.sizeValid === false ? (hAsync("gov-form-message", { slot: "message", variant: "error" }, hAsync("gov-icon", { slot: "icon", name: "exclamation-triangle-fill" }), this.errorSize.replace("{FILE_SIZE}", formatBytes(this.maxFileSize)))) : null, hAsync("span", { slot: "info" }, "(", formatBytes(item.file.size), ")"))))))) : null));
4689
4654
  }
4690
4655
  onRemoveFileHandler(file) {
4691
4656
  const index = this.files.findIndex(item => item.id === file.id);
@@ -4750,8 +4715,8 @@ class GovFormFile {
4750
4715
  }
4751
4716
  get host() { return getElement(this); }
4752
4717
  static get watchers() { return {
4753
- "disabled": ["watchDisabled"],
4754
- "invalid": ["watchDisabled"]
4718
+ "disabled": ["watchControlAttrs"],
4719
+ "invalid": ["watchControlAttrs"]
4755
4720
  }; }
4756
4721
  static get style() { return GovFormFileStyle0; }
4757
4722
  static get cmpMeta() { return {
@@ -4893,19 +4858,21 @@ class GovFormInput {
4893
4858
  validateSize(newValue) {
4894
4859
  validateProp(FormInputSizes, newValue, FormInputClass.root);
4895
4860
  }
4896
- watchDisabled() {
4861
+ watchControlAttrs() {
4897
4862
  this.passControlAttrs();
4898
4863
  }
4899
4864
  passControlAttrs() {
4900
4865
  this.f.passAttrToControl("size", this.size);
4866
+ this.f.passAttrToControl("success", toBoolAttr(this.success));
4867
+ this.f.passAttrToControl("disabled", toBoolAttr(this.disabled));
4901
4868
  this.f.passAttrToControl("invalid", toBoolAttr(this.invalid));
4902
- this.f.passAttrToControl("type", this.multiline ? Tags$1.TEXTAREA : Tags$1.INPUT);
4903
4869
  }
4904
4870
  componentWillLoad() {
4905
4871
  this.validateVariant(this.variant);
4906
4872
  this.validateSize(this.size);
4907
4873
  this.passControlAttrs();
4908
4874
  this.f.passAttrToLabel("required", String(this.required));
4875
+ this.f.passAttrToControl("type", this.multiline ? Tags$1.TEXTAREA : Tags$1.INPUT);
4909
4876
  }
4910
4877
  async componentDidRender() {
4911
4878
  if (canValidateWcagOnRender()) {
@@ -4918,9 +4885,9 @@ class GovFormInput {
4918
4885
  }
4919
4886
  render() {
4920
4887
  const Tag = this.multiline ? Tags$1.TEXTAREA : Tags$1.INPUT;
4921
- return (hAsync(Host, { key: '1d217855ba964b9c637373529e2b677fb09f8034', class: FormInputClass.root, size: this.size, variant: this.variant, type: this.type }, this.h.hasSlot("prefix") && hAsync("slot", { key: '75b989d2f4b70cf43e9a5315fdb6eb56af832118', name: "prefix" }), hAsync("span", { key: '39f063be627ad300abe364adfa4a32b79a879773', class: "element" }, this.h.hasSlot("left-icon") && hAsync("slot", { key: '84da6d8d05274f5a9760b871ffb89dec870122f8', name: "left-icon" }), this.h.hasSlot("right-icon") && !(this.success || this.invalid) && hAsync("slot", { key: 'b8ede08c703cc88e526593cb5aac4a868293543c', name: "right-icon" }), this.success && !this.multiline &&
4922
- hAsync("gov-icon", { key: '1dad15f0bbab72fef2f2d596fb2ce27b097eb3a4', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && !this.multiline &&
4923
- hAsync("gov-icon", { key: '9d8ed110a2640133ecc462c6b06f1f5496fb61f7', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync(Tag, { key: '62ac8ee0c14c5289c377685fabf535947a43f4c5', type: this.inputType, disabled: this.disabled, id: this.identifier || this.inputId, name: this.name, onFocus: this.onFocusHandler.bind(this), onInput: this.onInputHandler.bind(this), onBlur: this.onBlurHandler.bind(this), onKeyUp: this.onKeyUpHandler.bind(this), onKeyDown: this.onKeyDownHandler.bind(this), ref: el => (this.inputRef = el), placeholder: this.placeholder, value: this.value, spellcheck: toBoolAttrIfDefined(this.spellcheck), lang: this.inputLang, readonly: toBoolAttrIfDefined(this.readonly), autocomplete: toOnOffAttrIfDefined(this.autocomplete), autocorrect: toOnOffAttrIfDefined(this.autocorrect), minlength: this.minlength, maxlength: this.maxlength, min: this.min, max: this.max, required: this.required, rows: this.rows, cols: this.cols, role: this.role, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns, "aria-expanded": toBoolAttrIfDefined(this.wcagExpanded), "aria-autocomplete": this.wcagAutocomplete })), this.h.hasSlot("sufix") && hAsync("slot", { key: '9746bac959c672b37d1c5529cbbe0da13ecf4ce8', name: "sufix" })));
4888
+ return (hAsync(Host, { key: 'fb06974797e9fe99cc0845cd9aac8cc79bfc0583', class: FormInputClass.root, size: this.size, variant: this.variant, type: this.type }, this.h.hasSlot("prefix") && hAsync("slot", { key: 'c8a307ca8c1e4e4a27ac00463523f19c4012bbfe', name: "prefix" }), hAsync("span", { key: 'b86a839790465feda8d50385ca5b44a98c3ee81d', class: "element" }, this.h.hasSlot("left-icon") && hAsync("slot", { key: '300d97f0f13e95ac306b3c0332ccb58b99988c7a', name: "left-icon" }), this.h.hasSlot("right-icon") && !(this.success || this.invalid) && hAsync("slot", { key: '6d2673bc16e363b52662671a172f7c20eca85c62', name: "right-icon" }), this.success && !this.multiline &&
4889
+ hAsync("gov-icon", { key: '40c2f0e9991833ad731e469164d0bd148d883007', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && !this.multiline &&
4890
+ hAsync("gov-icon", { key: '56d940b36602db7749fc1656fdee739b2ad21370', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync(Tag, { key: 'ecdf27b1a0889cfd0367ded8cffd24152c2e1d01', type: this.inputType, disabled: this.disabled, id: this.identifier || this.inputId, name: this.name, onFocus: this.onFocusHandler.bind(this), onInput: this.onInputHandler.bind(this), onBlur: this.onBlurHandler.bind(this), onKeyUp: this.onKeyUpHandler.bind(this), onKeyDown: this.onKeyDownHandler.bind(this), ref: el => (this.inputRef = el), placeholder: this.placeholder, value: this.value, spellcheck: toBoolAttrIfDefined(this.spellcheck), lang: this.inputLang, readonly: toBoolAttrIfDefined(this.readonly), autocomplete: toOnOffAttrIfDefined(this.autocomplete), autocorrect: toOnOffAttrIfDefined(this.autocorrect), minlength: this.minlength, maxlength: this.maxlength, min: this.min, max: this.max, required: this.required, rows: this.rows, cols: this.cols, role: this.role, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns, "aria-expanded": toBoolAttrIfDefined(this.wcagExpanded), "aria-autocomplete": this.wcagAutocomplete })), this.h.hasSlot("sufix") && hAsync("slot", { key: 'bd6b9c7a981c40fdddf83e8ce0778978e1ea31af', name: "sufix" })));
4924
4891
  }
4925
4892
  onFocusHandler(e) {
4926
4893
  e.stopPropagation();
@@ -5002,10 +4969,10 @@ class GovFormInput {
5002
4969
  get host() { return getElement(this); }
5003
4970
  static get watchers() { return {
5004
4971
  "variant": ["validateVariant"],
5005
- "size": ["validateSize", "watchDisabled"],
5006
- "disabled": ["watchDisabled"],
5007
- "invalid": ["watchDisabled"],
5008
- "type": ["watchDisabled"]
4972
+ "size": ["validateSize", "watchControlAttrs"],
4973
+ "disabled": ["watchControlAttrs"],
4974
+ "invalid": ["watchControlAttrs"],
4975
+ "success": ["watchControlAttrs"]
5009
4976
  }; }
5010
4977
  static get style() { return GovFormInputStyle0; }
5011
4978
  static get cmpMeta() { return {
@@ -5015,14 +4982,14 @@ class GovFormInput {
5015
4982
  "value": [1537],
5016
4983
  "identifier": [1],
5017
4984
  "variant": [1],
5018
- "success": [4],
4985
+ "success": [516],
5019
4986
  "size": [1],
5020
4987
  "name": [1],
5021
4988
  "multiline": [4],
5022
4989
  "rows": [2],
5023
4990
  "cols": [2],
5024
- "required": [4],
5025
- "disabled": [4],
4991
+ "required": [516],
4992
+ "disabled": [516],
5026
4993
  "placeholder": [1],
5027
4994
  "readonly": [4],
5028
4995
  "minlength": [2],
@@ -5036,7 +5003,7 @@ class GovFormInput {
5036
5003
  "type": [1],
5037
5004
  "inputType": [1, "input-type"],
5038
5005
  "role": [1],
5039
- "invalid": [4],
5006
+ "invalid": [516],
5040
5007
  "wcagDescribedBy": [1, "wcag-described-by"],
5041
5008
  "wcagLabelledBy": [1, "wcag-labelled-by"],
5042
5009
  "wcagOwns": [1, "wcag-owns"],
@@ -5051,7 +5018,7 @@ class GovFormInput {
5051
5018
  },
5052
5019
  "$listeners$": undefined,
5053
5020
  "$lazyBundleId$": "-",
5054
- "$attrsToReflect$": [["value", "value"]]
5021
+ "$attrsToReflect$": [["value", "value"], ["success", "success"], ["required", "required"], ["disabled", "disabled"], ["invalid", "invalid"]]
5055
5022
  }; }
5056
5023
  }
5057
5024
 
@@ -5179,18 +5146,18 @@ class GovFormMultiSelect {
5179
5146
  watchValue(newValue) {
5180
5147
  this.selectedOptionsState = propsValueToArray(newValue);
5181
5148
  }
5182
- watchDisabled() {
5149
+ watchControlAttrs() {
5183
5150
  this.passControlAttrs();
5184
5151
  }
5185
5152
  passControlAttrs() {
5186
5153
  this.f.passAttrToControl('size', this.size);
5187
5154
  this.f.passAttrToControl('invalid', toBoolAttr(this.invalid));
5155
+ this.f.passAttrToControl('disabled', toBoolAttr(this.disabled));
5188
5156
  this.f.passAttrToControl('success', toBoolAttr(this.success));
5189
5157
  }
5190
5158
  componentWillLoad() {
5191
5159
  this.validateVariant(this.variant);
5192
5160
  this.validateSize(this.size);
5193
- this.watchDisabled();
5194
5161
  this.passControlAttrs();
5195
5162
  this.f.passAttrToLabel('required', String(this.required));
5196
5163
  this.optionsState = propsValueToArray(this.options);
@@ -5306,7 +5273,7 @@ class GovFormMultiSelect {
5306
5273
  }
5307
5274
  }
5308
5275
  render() {
5309
- return (hAsync(Host, { key: 'bb5855ba2a4cd63ad2093ae2aebd67f3349cea28', class: FormMultiSelectClass.root, size: this.size, variant: this.variant }, hAsync("div", { key: '3abae4b8ea9cc625a21dd45e1b9ee8befc49b8b6', class: FormMultiSelectClass.wrap }, this.h.hasSlot('prefix') && hAsync("slot", { key: '86da9e574fe68a4883b3df4da602e05f627e4714', name: "prefix" }), hAsync("div", { key: '87d30a0d40739f4a4dbeaa9b5cef946ed9873c00', class: "element" }, hAsync("gov-form-autocomplete", { key: 'ee44381d4eb97059d935135391951e7750afa648', value: this.valueState, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, size: this.size, variant: this.variant, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, "name-key": 'label', wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: this.listId }), hAsync("gov-icon", { key: '83bdc379de06eab7db28d17cd39cd34128e60090', slot: "right-icon", class: "icon-arrow", name: "chevron-down" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && hAsync("slot", { key: '809ab0378b25182006e15effcb29babacb93274a', name: "right-icon" }), this.success && hAsync("gov-icon", { key: '85ef665e98040503ea14743e8497ceb7b48d3a9e', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && hAsync("gov-icon", { key: '88509ad301ad83c61957b0d1dd6e95586cf8d65a', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync("select", { key: '382f9855fe424f6427d158568339c51fc7ea46a5', hidden: true, class: 'hidden-select-list', "aria-hidden": toBoolAttr(true), multiple: true, required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, hAsync("slot", { key: '678201c2968bbb6d3e470ccc03d149b70fed50db' }))), this.h.hasSlot('sufix') && hAsync("slot", { key: '25a9c902b37c15988f4591a136006d9f3db0fa8d', name: "sufix" })), this.hideSelectedList === false ? (hAsync("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {
5276
+ return (hAsync(Host, { key: 'd196b10aa1a15b405235bec76b0c9a50ce7b7a32', class: FormMultiSelectClass.root, size: this.size, variant: this.variant }, hAsync("div", { key: '18b3d6b6b568d4c2e6185cc2b5397dc0d0b397e3', class: FormMultiSelectClass.wrap }, this.h.hasSlot('prefix') && hAsync("slot", { key: 'b7c67fef5eea42e0f948487082cb481fbd8f6264', name: "prefix" }), hAsync("div", { key: 'a9c6e91522fa96fa40ba75afee7150c2f0b9c07a', class: "element" }, hAsync("gov-form-autocomplete", { key: '2792873c33eee760c93bffbaba9268e4dff4acba', value: this.valueState, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, size: this.size, variant: this.variant, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, "name-key": 'label', wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: this.listId }), hAsync("gov-icon", { key: 'd03af7b6c89e62d7f6054d8b5be3bc73f8b1fe96', slot: "right-icon", class: "icon-arrow", name: "chevron-down" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && hAsync("slot", { key: '34299ffce891c3f31947ef8f6ccd5d7144a5e485', name: "right-icon" }), this.success && hAsync("gov-icon", { key: '0343f86ccaf5a9fad2f6c2c0aa82cf508e19c1c1', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && hAsync("gov-icon", { key: '481ae336432840d2994455371f3407644fd1e1b1', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync("select", { key: '0348cced9ebf67b2047586a024c6fd05ec71dff1', hidden: true, class: 'hidden-select-list', "aria-hidden": toBoolAttr(true), multiple: true, required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, hAsync("slot", { key: 'cc4d489c662d6515c2c5d6398bb34cc43871b426' }))), this.h.hasSlot('sufix') && hAsync("slot", { key: 'adabdc557faf6eab58d48e6ad40f6d01fb610132', name: "sufix" })), this.hideSelectedList === false ? (hAsync("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {
5310
5277
  var _a, _b;
5311
5278
  const option = this.getOption(selected);
5312
5279
  if (!option)
@@ -5378,12 +5345,12 @@ class GovFormMultiSelect {
5378
5345
  get host() { return getElement(this); }
5379
5346
  static get watchers() { return {
5380
5347
  "variant": ["validateVariant"],
5381
- "size": ["validateSize", "watchDisabled"],
5348
+ "size": ["validateSize", "watchControlAttrs"],
5382
5349
  "options": ["watchOptions"],
5383
5350
  "value": ["watchValue"],
5384
- "disabled": ["watchDisabled"],
5385
- "invalid": ["watchDisabled"],
5386
- "success": ["watchDisabled"]
5351
+ "disabled": ["watchControlAttrs"],
5352
+ "invalid": ["watchControlAttrs"],
5353
+ "success": ["watchControlAttrs"]
5387
5354
  }; }
5388
5355
  static get style() { return GovFormMultiSelectStyle0; }
5389
5356
  static get cmpMeta() { return {
@@ -5480,12 +5447,13 @@ class GovFormRadio {
5480
5447
  validateSize(newValue) {
5481
5448
  validateProp(FormRadioSizes, newValue, FormRadioClass.root);
5482
5449
  }
5483
- watchDisabled() {
5450
+ watchControlAttrs() {
5484
5451
  this.passControlAttrs();
5485
5452
  }
5486
5453
  passControlAttrs() {
5487
5454
  this.f.passAttrToControl("size", this.size);
5488
5455
  this.f.passAttrToControl("invalid", toBoolAttr(this.invalid));
5456
+ this.f.passAttrToControl("disabled", toBoolAttr(this.disabled));
5489
5457
  this.f.passAttrToControl("type", "radio");
5490
5458
  }
5491
5459
  componentWillLoad() {
@@ -5558,9 +5526,9 @@ class GovFormRadio {
5558
5526
  }
5559
5527
  get host() { return getElement(this); }
5560
5528
  static get watchers() { return {
5561
- "size": ["validateSize", "watchDisabled"],
5562
- "disabled": ["watchDisabled"],
5563
- "invalid": ["watchDisabled"]
5529
+ "size": ["validateSize", "watchControlAttrs"],
5530
+ "disabled": ["watchControlAttrs"],
5531
+ "invalid": ["watchControlAttrs"]
5564
5532
  }; }
5565
5533
  static get style() { return GovFormRadioStyle0; }
5566
5534
  static get cmpMeta() { return {
@@ -5727,7 +5695,7 @@ class GovFormSelect {
5727
5695
  watchOptions(newValue) {
5728
5696
  this.optionsState = propsValueToArray(newValue);
5729
5697
  }
5730
- watchDisabled() {
5698
+ watchControlAttrs() {
5731
5699
  this.passControlAttrs();
5732
5700
  }
5733
5701
  watchValue() {
@@ -5736,7 +5704,8 @@ class GovFormSelect {
5736
5704
  passControlAttrs() {
5737
5705
  this.f.passAttrToControl('size', this.size);
5738
5706
  this.f.passAttrToControl('invalid', toBoolAttr(this.invalid));
5739
- this.f.passAttrToControl('type', 'select');
5707
+ this.f.passAttrToControl('success', toBoolAttr(this.success));
5708
+ this.f.passAttrToControl('disabled', toBoolAttr(this.disabled));
5740
5709
  }
5741
5710
  componentWillLoad() {
5742
5711
  this.validateVariant(this.variant);
@@ -5744,6 +5713,7 @@ class GovFormSelect {
5744
5713
  this.markSelectedValue();
5745
5714
  this.passControlAttrs();
5746
5715
  this.f.passAttrToLabel('required', String(this.required));
5716
+ this.f.passAttrToControl('type', 'select');
5747
5717
  this.optionsState = propsValueToArray(this.options);
5748
5718
  }
5749
5719
  async componentDidRender() {
@@ -5764,10 +5734,10 @@ class GovFormSelect {
5764
5734
  });
5765
5735
  }
5766
5736
  render() {
5767
- return (hAsync(Host, { key: '5e9b2cdd4aae50ae5ee5ce8fe35db02888d682db', class: FormSelectClass.root, size: this.size, variant: this.variant }, this.h.hasSlot('prefix') && hAsync("slot", { key: '1eb66206a8dd47a44496c1566cd386b5183766ee', name: "prefix" }), hAsync("span", { key: 'df3d012666a80ca6e2ad96981f04f2adda0d8654', class: "element" }, hAsync("gov-icon", { key: 'e8ad512230dec7eb045e4dc91169b16709674f0b', slot: "right-icon", name: "chevron-down", class: "icon-arrow" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && hAsync("slot", { key: 'f05864931816635b3dc3c4613680ba5c1dac0283', name: "right-icon" }), this.success && hAsync("gov-icon", { key: 'e5d8ad5dc8a6c5c14a1db233426ab2f56e4da6d3', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && hAsync("gov-icon", { key: 'c63c87a6cfc3eafdb979ebd40e019e3f65ecd35f', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync("select", { key: 'b0d5876fb44872b8189870d7cf8ac374612153c7', id: this.identifier || this.selectId, onFocus: this.onFocusHandler.bind(this), onChange: this.onChangeHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-activedescendant": this.wcagActiveDescendant, "aria-controls": this.wcagControls, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, hAsync("slot", { key: '5edd39b36e1dc407a26c28e41eda625e9a780f3f' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
5737
+ return (hAsync(Host, { key: '0ef3419f4afce93b161ad8b71401a228ae8b9c4a', class: FormSelectClass.root, size: this.size, variant: this.variant }, this.h.hasSlot('prefix') && hAsync("slot", { key: '828f069b3672d5bb766a44ef37384b9117327eab', name: "prefix" }), hAsync("span", { key: '169ac6c9d58c88bbdcc96f36b8208ea05faa8e51', class: "element" }, hAsync("gov-icon", { key: 'a2501ad9ecc603d3e52fc0143fef2ee53ae63d4d', slot: "right-icon", name: "chevron-down", class: "icon-arrow" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && hAsync("slot", { key: '97b2417a96a781620b67a557244c4c0cfa8b3669', name: "right-icon" }), this.success && hAsync("gov-icon", { key: 'cebe7eb826cb741bae4afdbd8d9b18948c410f8c', slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && hAsync("gov-icon", { key: 'cef9b5715b1c134242f52439f65b88c7d228054f', slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), hAsync("select", { key: 'b8374d51d9a66f313db7f851446916e22debeee3', id: this.identifier || this.selectId, onFocus: this.onFocusHandler.bind(this), onChange: this.onChangeHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-activedescendant": this.wcagActiveDescendant, "aria-controls": this.wcagControls, "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, hAsync("slot", { key: '5ad33b529b013a1e4846aaf3d6a778a0e7652f83' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
5768
5738
  var _a;
5769
5739
  return (hAsync("option", { value: option.value, selected: option.value === this.value, disabled: option === null || option === void 0 ? void 0 : option.disabled }, (_a = option.label) !== null && _a !== void 0 ? _a : option.value));
5770
- }))), this.h.hasSlot('sufix') && hAsync("slot", { key: '9d2e12ec4dda23883e70b65773a7936cc231d03c', name: "sufix" })));
5740
+ }))), this.h.hasSlot('sufix') && hAsync("slot", { key: '257ebbc1fbe845806360efbf491640c2c364d540', name: "sufix" })));
5771
5741
  }
5772
5742
  onFocusHandler(e) {
5773
5743
  this.focused = true;
@@ -5819,10 +5789,11 @@ class GovFormSelect {
5819
5789
  get host() { return getElement(this); }
5820
5790
  static get watchers() { return {
5821
5791
  "variant": ["validateVariant"],
5822
- "size": ["validateSize", "watchDisabled"],
5792
+ "size": ["validateSize", "watchControlAttrs"],
5823
5793
  "options": ["watchOptions"],
5824
- "disabled": ["watchDisabled"],
5825
- "invalid": ["watchDisabled"],
5794
+ "disabled": ["watchControlAttrs"],
5795
+ "invalid": ["watchControlAttrs"],
5796
+ "success": ["watchControlAttrs"],
5826
5797
  "value": ["watchValue"]
5827
5798
  }; }
5828
5799
  static get style() { return GovFormSelectStyle0; }
@@ -5891,7 +5862,7 @@ class GovFormSwitch {
5891
5862
  passControlAttrs() {
5892
5863
  this.f.passAttrToControl("size", this.size);
5893
5864
  this.f.passAttrToControl("invalid", toBoolAttr(this.invalid));
5894
- this.f.passAttrToControl("type", "switch");
5865
+ this.f.passAttrToControl("disabled", toBoolAttr(this.disabled));
5895
5866
  }
5896
5867
  componentWillLoad() {
5897
5868
  this.passControlAttrs();
@@ -5899,6 +5870,7 @@ class GovFormSwitch {
5899
5870
  async componentDidRender() {
5900
5871
  this.f.passAttrToLabel("identifier", this.identifier || this.checkboxId);
5901
5872
  this.f.passAttrToLabel("required", String(this.required));
5873
+ this.f.passAttrToControl("type", "switch");
5902
5874
  if (canValidateWcagOnRender()) {
5903
5875
  await delay(500);
5904
5876
  await this.validateWcag();
@@ -7929,7 +7901,7 @@ class GovTile {
7929
7901
  this.h = govHost(this.host);
7930
7902
  }
7931
7903
  render() {
7932
- return (hAsync(Host, { key: '94c2322c722ff5c79358c01eb303d66a22027fbf', class: this.h.classes(TileClass.root) }, this.h.hasSlot("icon") && (hAsync("span", { key: '844a8fdd671adb4bf5bcc4b89dcfe40a7e2e2c4c', class: TileClass.icon }, hAsync("slot", { key: '0039f4b07b8f373feeeb9e597f36b17576920602', name: "icon" }))), this.href ? (hAsync("a", { href: this.href, target: this.target, class: TileClass.link, ref: el => (this.triggerRef = el) }, this.h.hasSlot("title") && (hAsync("span", { class: TileClass.title }, hAsync("slot", { name: "title" }))))) : (this.h.hasSlot("title") && (hAsync("span", { class: TileClass.title }, hAsync("slot", { name: "title" })))), hAsync("div", { key: '6a49825e9ff9cd160d7142d4537fed7b6e6f8b7d', class: TileClass.content }, hAsync("slot", { key: '0dcf8ab4dbdaafd68bc0af6b9cb6928fc9029a6c' }))));
7904
+ return (hAsync(Host, { key: '94c2322c722ff5c79358c01eb303d66a22027fbf', class: this.h.classes(TileClass.root) }, this.h.hasSlot("icon") && (hAsync("span", { key: '844a8fdd671adb4bf5bcc4b89dcfe40a7e2e2c4c', class: TileClass.icon }, hAsync("slot", { key: '0039f4b07b8f373feeeb9e597f36b17576920602', name: "icon" }))), this.href ? (hAsync("a", { href: this.href, target: this.target, class: TileClass.link, ref: el => (this.triggerRef = el) }, this.h.hasSlot("title") && (hAsync("span", { class: TileClass.title }, hAsync("slot", { name: "title" }), hAsync("gov-icon", { class: TileClass.arrow, name: "chevron-right" }))))) : (this.h.hasSlot("title") && (hAsync("span", { class: TileClass.title }, hAsync("slot", { name: "title" })))), hAsync("div", { key: '48844f936d995bab93594f87cd01f2a1da2fd37c', class: TileClass.content }, hAsync("slot", { key: '860a227cd05409613037658777a8e3edbfcc22d0' }))));
7933
7905
  }
7934
7906
  /**
7935
7907
  * Returns a clickable element instance
@@ -68,7 +68,7 @@ export declare class GovFormCheckbox {
68
68
  */
69
69
  govChange: EventEmitter<FormCheckboxEvent>;
70
70
  validateSize(newValue: string): void;
71
- watchDisabled(): void;
71
+ watchControlAttrs(): void;
72
72
  private passControlAttrs;
73
73
  componentWillLoad(): void;
74
74
  componentDidRender(): Promise<void>;
@@ -2,16 +2,11 @@ import { FormControlSizesType } from "./constants";
2
2
  export declare class GovFormControl {
3
3
  private readonly h;
4
4
  private f;
5
- private readonly controlId;
6
5
  private observer;
7
6
  constructor();
8
7
  host: HTMLGovFormControlElement;
9
8
  /**
10
- * Defines the space between nested components.
11
- */
12
- readonly gap?: FormControlSizesType;
13
- /**
14
- * Form element identifier
9
+ * Custom form element identifier
15
10
  */
16
11
  readonly identifier: string;
17
12
  /**
@@ -20,12 +15,12 @@ export declare class GovFormControl {
20
15
  readonly invalid: boolean;
21
16
  /**
22
17
  /**
23
- * Indicates the form element is disabled
18
+ * Indicates the form control is disabled
24
19
  */
25
20
  readonly disabled: boolean;
26
21
  /**
27
22
  /**
28
- * Indicates the entered value of child form element does conform to the format expected by the application.
23
+ * Indicates the entered value of child form element does conform to the format expected by the application.
29
24
  */
30
25
  readonly success: boolean;
31
26
  /**
@@ -39,8 +34,6 @@ export declare class GovFormControl {
39
34
  readonly size?: FormControlSizesType;
40
35
  componentDidRender(): void;
41
36
  disconnectedCallback(): void;
42
- private passChildAttrs;
43
- private invalidChildAttrs;
44
37
  private formElementDescriptionControl;
45
38
  private syncControlMessages;
46
39
  render(): any;
@@ -110,7 +110,7 @@ export declare class GovFormFile {
110
110
  */
111
111
  govRemoveFile: EventEmitter<GovFormFileEvent>;
112
112
  files: GovFormFileItem[];
113
- watchDisabled(): void;
113
+ watchControlAttrs(): void;
114
114
  private passControlAttrs;
115
115
  private registerListeners;
116
116
  preventDefaults(e: any): void;
@@ -160,7 +160,7 @@ export declare class GovFormInput {
160
160
  focused: boolean;
161
161
  validateVariant(newValue: string): void;
162
162
  validateSize(newValue: string): void;
163
- watchDisabled(): void;
163
+ watchControlAttrs(): void;
164
164
  private passControlAttrs;
165
165
  componentWillLoad(): void;
166
166
  componentDidRender(): Promise<void>;
@@ -108,7 +108,7 @@ export declare class GovFormMultiSelect {
108
108
  validateSize(newValue: string): void;
109
109
  watchOptions(newValue: string | GovFormMultiSelectItem[]): void;
110
110
  watchValue(newValue: string | GovFormMultiSelectItem[]): void;
111
- watchDisabled(): void;
111
+ watchControlAttrs(): void;
112
112
  private passControlAttrs;
113
113
  componentWillLoad(): void;
114
114
  private getAvailableOptions;
@@ -68,7 +68,7 @@ export declare class GovFormRadio {
68
68
  */
69
69
  govChange: EventEmitter<FormRadioEvent>;
70
70
  validateSize(newValue: string): void;
71
- watchDisabled(): void;
71
+ watchControlAttrs(): void;
72
72
  private passControlAttrs;
73
73
  componentWillLoad(): void;
74
74
  componentDidRender(): Promise<void>;
@@ -87,7 +87,7 @@ export declare class GovFormSelect {
87
87
  validateVariant(newValue: string): void;
88
88
  validateSize(newValue: string): void;
89
89
  watchOptions(newValue: string | FormSelectOption[]): void;
90
- watchDisabled(): void;
90
+ watchControlAttrs(): void;
91
91
  watchValue(): void;
92
92
  private passControlAttrs;
93
93
  componentWillLoad(): void;
@@ -733,7 +733,7 @@ export namespace Components {
733
733
  }
734
734
  interface GovFormControl {
735
735
  /**
736
- * /** Indicates the form element is disabled
736
+ * /** Indicates the form control is disabled
737
737
  */
738
738
  "disabled": boolean;
739
739
  /**
@@ -741,11 +741,7 @@ export namespace Components {
741
741
  */
742
742
  "fieldset": boolean;
743
743
  /**
744
- * Defines the space between nested components.
745
- */
746
- "gap"?: FormControlSizesType;
747
- /**
748
- * Form element identifier
744
+ * Custom form element identifier
749
745
  */
750
746
  "identifier": string;
751
747
  /**
@@ -757,7 +753,7 @@ export namespace Components {
757
753
  */
758
754
  "size"?: FormControlSizesType;
759
755
  /**
760
- * /** Indicates the entered value of child form element does conform to the format expected by the application.
756
+ * /** Indicates the entered value of child form element does conform to the format expected by the application.
761
757
  */
762
758
  "success": boolean;
763
759
  }
@@ -3625,7 +3621,7 @@ declare namespace LocalJSX {
3625
3621
  }
3626
3622
  interface GovFormControl {
3627
3623
  /**
3628
- * /** Indicates the form element is disabled
3624
+ * /** Indicates the form control is disabled
3629
3625
  */
3630
3626
  "disabled"?: boolean;
3631
3627
  /**
@@ -3633,11 +3629,7 @@ declare namespace LocalJSX {
3633
3629
  */
3634
3630
  "fieldset"?: boolean;
3635
3631
  /**
3636
- * Defines the space between nested components.
3637
- */
3638
- "gap"?: FormControlSizesType;
3639
- /**
3640
- * Form element identifier
3632
+ * Custom form element identifier
3641
3633
  */
3642
3634
  "identifier"?: string;
3643
3635
  /**
@@ -3649,7 +3641,7 @@ declare namespace LocalJSX {
3649
3641
  */
3650
3642
  "size"?: FormControlSizesType;
3651
3643
  /**
3652
- * /** Indicates the entered value of child form element does conform to the format expected by the application.
3644
+ * /** Indicates the entered value of child form element does conform to the format expected by the application.
3653
3645
  */
3654
3646
  "success"?: boolean;
3655
3647
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gov-design-system-ce/components",
3
3
  "description": "This package includes Gov Design System Web Components and related utilities.",
4
4
  "author": "Zdeněk Vítek",
5
- "version": "4.0.8-rc17",
5
+ "version": "4.0.8-rc19",
6
6
  "license": "EUPL v1.2 Licensed",
7
7
  "main": "./dist/index.cjs.js",
8
8
  "unpkg": "./dist/core/core.esm.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["govFormSelectCss","GovFormSelectStyle0","GovFormSelect","proxyCustomElement","H","constructor","this","h","govHost","host","f","govForm","selectId","createID","validateVariant","newValue","validateProp","FormSelectVariants","FormSelectClass","root","validateSize","FormSelectSizes","watchOptions","optionsState","propsValueToArray","watchDisabled","passControlAttrs","watchValue","markSelectedValue","passAttrToControl","size","toBoolAttr","invalid","componentWillLoad","variant","passAttrToLabel","String","required","options","componentDidRender","canValidateWcagOnRender","delay","validateWcag","tick","querySelectorAll","forEach","option","value","setAttribute","removeAttribute","render","Host","key","class","hasSlot","name","slot","success","id","identifier","onFocus","onFocusHandler","bind","onChange","onChangeHandler","onBlur","onBlurHandler","disabled","ref","el","selectRef","toBoolAttrIfDefined","wcagActiveDescendant","wcagControls","wcagDescribedBy","wcagLabelledBy","wcagOwns","Array","isArray","map","selected","_a","label","e","focused","govFocus","emit","component","originalEvent","govBlur","target","stopPropagation","govChange","setFocus","focus","getRef","validateWcagRef","validateWcagLabelFor"],"sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.scss?tag=gov-form-select","../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["/*\n * Select\n */\n\n@import \"../select/gov-form-select-core.scss\";\n\n$class: \".gov-form-select\";\n\n#{$class} {\n\t@extend %form-select-core;\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {canValidateWcagOnRender} from '../../../helpers/Dom/win'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {validateWcagLabelFor, validateWcagRef} from '../../../helpers/Validate/wcag'\nimport {createID} from '../../../utils/string.utils'\nimport {delay} from '../../../utils/utils'\nimport {\n\tFormSelectClass,\n\tFormSelectSizes,\n\tFormSelectSizesType,\n\tFormSelectVariants,\n\tFormSelectVariantType\n} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\n\n@Component({\n\ttag: 'gov-form-select',\n\tstyleUrl: 'gov-form-select.scss',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Style variation of the form select.\n\t */\n\t@Prop() readonly variant?: FormSelectVariantType = 'secondary'\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Indicates the id of a related component’s visually focused element.\n\t */\n\t@Prop({attribute: 'wcag-active-descendant'}) readonly wcagActiveDescendant: string\n\t/**\n\t * Use this prop to add an aria-controls attribute. Use the attribute to indicate the id of a component controlled by this component.\n\t */\n\t@Prop({attribute: 'wcag-controls'}) readonly wcagControls: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-described-by'}) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({attribute: 'wcag-labelled-by'}) readonly wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-owns'}) readonly wcagOwns: string\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormSelectVariants, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('size')\n\twatchDisabled(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tprivate markSelectedValue() {\n\t\tthis.host.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute('selected', 'selected')\n\t\t\t} else {\n\t\t\t\toption.removeAttribute('selected')\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<gov-icon slot=\"right-icon\" name=\"chevron-down\" class=\"icon-arrow\"></gov-icon>\n\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\"/>}\n\t\t\t\t\t{this.success && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-activedescendant={this.wcagActiveDescendant}\n\t\t\t\t\t\taria-controls={this.wcagControls}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\taria-owns={this.wcagOwns}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagActiveDescendant, 'wcag-active-descendant', FormSelectClass.root)\n\t\tvalidateWcagRef(this.wcagControls, 'wcag-controls', FormSelectClass.root)\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormSelectClass.root)\n\t\tvalidateWcagRef(this.wcagOwns, 'wcag-owns', FormSelectClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.selectId, this.wcagLabelledBy, FormSelectClass.root)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}