@gov-design-system-ce/components 0.0.34 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{form-399e149e.js → form-62c6a8c6.js} +16 -5
  3. package/dist/cjs/form-62c6a8c6.js.map +1 -0
  4. package/dist/cjs/gov-app.cjs.entry.js +15 -15
  5. package/dist/cjs/gov-app.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gov-form-checkbox.cjs.entry.js +13 -3
  7. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gov-form-control.cjs.entry.js +20 -24
  9. package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gov-form-file.cjs.entry.js +14 -3
  11. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-form-input.cjs.entry.js +16 -5
  13. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-form-multi-select.cjs.entry.js +31 -15
  15. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gov-form-radio.cjs.entry.js +20 -10
  17. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gov-form-select.cjs.entry.js +15 -5
  19. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-form-switch.cjs.entry.js +19 -9
  21. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/gov-pagination.cjs.entry.js +10 -3
  24. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +20 -3
  27. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  28. package/dist/collection/components/gov-form/control/gov-form-control.js +25 -28
  29. package/dist/collection/components/gov-form/control/gov-form-control.js.map +1 -1
  30. package/dist/collection/components/gov-form/file/gov-form-file.js +20 -4
  31. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  32. package/dist/collection/components/gov-form/input/gov-form-input.js +24 -3
  33. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  34. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +25 -4
  35. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  36. package/dist/collection/components/gov-form/radio/gov-form-radio.js +36 -19
  37. package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +1 -1
  38. package/dist/collection/components/gov-form/select/gov-form-select.js +22 -4
  39. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  40. package/dist/collection/components/gov-form/switch/gov-form-switch.js +26 -9
  41. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  42. package/dist/collection/components/gov-pagination/gov-pagination.js +19 -3
  43. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  44. package/dist/collection/pages/Forms.js +13 -13
  45. package/dist/collection/pages/Forms.js.map +1 -1
  46. package/dist/collection/pages/Pagination.js +2 -2
  47. package/dist/collection/pages/Pagination.js.map +1 -1
  48. package/dist/components/gov-accordion-item.js +0 -1
  49. package/dist/components/gov-accordion-item.js.map +1 -1
  50. package/dist/components/gov-accordion.js +0 -1
  51. package/dist/components/gov-accordion.js.map +1 -1
  52. package/dist/components/gov-alert.js +0 -1
  53. package/dist/components/gov-alert.js.map +1 -1
  54. package/dist/components/gov-app.js +15 -16
  55. package/dist/components/gov-app.js.map +1 -1
  56. package/dist/components/gov-attachments-item2.js +0 -1
  57. package/dist/components/gov-attachments-item2.js.map +1 -1
  58. package/dist/components/gov-attachments2.js +0 -1
  59. package/dist/components/gov-attachments2.js.map +1 -1
  60. package/dist/components/gov-backdrop2.js +0 -1
  61. package/dist/components/gov-backdrop2.js.map +1 -1
  62. package/dist/components/gov-badge2.js +0 -1
  63. package/dist/components/gov-badge2.js.map +1 -1
  64. package/dist/components/gov-breadcrumbs.js +0 -1
  65. package/dist/components/gov-breadcrumbs.js.map +1 -1
  66. package/dist/components/gov-button2.js +0 -1
  67. package/dist/components/gov-button2.js.map +1 -1
  68. package/dist/components/gov-card.js +0 -1
  69. package/dist/components/gov-card.js.map +1 -1
  70. package/dist/components/gov-container.js +0 -1
  71. package/dist/components/gov-container.js.map +1 -1
  72. package/dist/components/gov-cookiebar.js +0 -1
  73. package/dist/components/gov-cookiebar.js.map +1 -1
  74. package/dist/components/gov-empty.js +0 -1
  75. package/dist/components/gov-empty.js.map +1 -1
  76. package/dist/components/gov-error-code.js +0 -1
  77. package/dist/components/gov-error-code.js.map +1 -1
  78. package/dist/components/gov-form-autocomplete2.js +0 -1
  79. package/dist/components/gov-form-autocomplete2.js.map +1 -1
  80. package/dist/components/gov-form-checkbox.js +13 -3
  81. package/dist/components/gov-form-checkbox.js.map +1 -1
  82. package/dist/components/gov-form-control.js +19 -23
  83. package/dist/components/gov-form-control.js.map +1 -1
  84. package/dist/components/gov-form-file.js +14 -3
  85. package/dist/components/gov-form-file.js.map +1 -1
  86. package/dist/components/gov-form-group.js +0 -1
  87. package/dist/components/gov-form-group.js.map +1 -1
  88. package/dist/components/gov-form-input2.js +16 -5
  89. package/dist/components/gov-form-input2.js.map +1 -1
  90. package/dist/components/gov-form-label.js +0 -1
  91. package/dist/components/gov-form-label.js.map +1 -1
  92. package/dist/components/gov-form-message2.js +0 -1
  93. package/dist/components/gov-form-message2.js.map +1 -1
  94. package/dist/components/gov-form-multi-select.js +19 -7
  95. package/dist/components/gov-form-multi-select.js.map +1 -1
  96. package/dist/components/gov-form-password-power.js +0 -1
  97. package/dist/components/gov-form-password-power.js.map +1 -1
  98. package/dist/components/gov-form-radio.js +20 -10
  99. package/dist/components/gov-form-radio.js.map +1 -1
  100. package/dist/components/gov-form-search.js +0 -1
  101. package/dist/components/gov-form-search.js.map +1 -1
  102. package/dist/components/gov-form-select2.js +15 -5
  103. package/dist/components/gov-form-select2.js.map +1 -1
  104. package/dist/components/gov-form-switch.js +19 -9
  105. package/dist/components/gov-form-switch.js.map +1 -1
  106. package/dist/components/gov-grid-item.js +0 -1
  107. package/dist/components/gov-grid-item.js.map +1 -1
  108. package/dist/components/gov-grid.js +0 -1
  109. package/dist/components/gov-grid.js.map +1 -1
  110. package/dist/components/gov-icon2.js +1 -2
  111. package/dist/components/gov-icon2.js.map +1 -1
  112. package/dist/components/gov-layout-column.js +0 -1
  113. package/dist/components/gov-layout-column.js.map +1 -1
  114. package/dist/components/gov-layout.js +0 -1
  115. package/dist/components/gov-layout.js.map +1 -1
  116. package/dist/components/gov-loading.js +0 -1
  117. package/dist/components/gov-loading.js.map +1 -1
  118. package/dist/components/gov-message.js +0 -1
  119. package/dist/components/gov-message.js.map +1 -1
  120. package/dist/components/gov-modal.js +0 -1
  121. package/dist/components/gov-modal.js.map +1 -1
  122. package/dist/components/gov-nav-item.js +0 -1
  123. package/dist/components/gov-nav-item.js.map +1 -1
  124. package/dist/components/gov-nav.js +0 -1
  125. package/dist/components/gov-nav.js.map +1 -1
  126. package/dist/components/gov-pagination.js +10 -4
  127. package/dist/components/gov-pagination.js.map +1 -1
  128. package/dist/components/gov-prompt.js +0 -1
  129. package/dist/components/gov-prompt.js.map +1 -1
  130. package/dist/components/gov-side-nav-item.js +0 -1
  131. package/dist/components/gov-side-nav-item.js.map +1 -1
  132. package/dist/components/gov-side-nav.js +0 -1
  133. package/dist/components/gov-side-nav.js.map +1 -1
  134. package/dist/components/gov-skeleton.js +0 -1
  135. package/dist/components/gov-skeleton.js.map +1 -1
  136. package/dist/components/gov-spacer.js +0 -1
  137. package/dist/components/gov-spacer.js.map +1 -1
  138. package/dist/components/gov-statsbar-item.js +0 -1
  139. package/dist/components/gov-statsbar-item.js.map +1 -1
  140. package/dist/components/gov-statsbar.js +0 -1
  141. package/dist/components/gov-statsbar.js.map +1 -1
  142. package/dist/components/gov-stepper-item.js +0 -1
  143. package/dist/components/gov-stepper-item.js.map +1 -1
  144. package/dist/components/gov-stepper.js +0 -1
  145. package/dist/components/gov-stepper.js.map +1 -1
  146. package/dist/components/gov-tabs-item.js +0 -1
  147. package/dist/components/gov-tabs-item.js.map +1 -1
  148. package/dist/components/gov-tabs.js +0 -1
  149. package/dist/components/gov-tabs.js.map +1 -1
  150. package/dist/components/gov-tile.js +0 -1
  151. package/dist/components/gov-tile.js.map +1 -1
  152. package/dist/components/gov-tiles.js +0 -1
  153. package/dist/components/gov-tiles.js.map +1 -1
  154. package/dist/components/gov-toast.js +0 -1
  155. package/dist/components/gov-toast.js.map +1 -1
  156. package/dist/components/gov-tooltip-content.js +0 -1
  157. package/dist/components/gov-tooltip-content.js.map +1 -1
  158. package/dist/components/gov-tooltip.js +0 -1
  159. package/dist/components/gov-tooltip.js.map +1 -1
  160. package/dist/components/gov-wizzard-item.js +0 -1
  161. package/dist/components/gov-wizzard-item.js.map +1 -1
  162. package/dist/components/gov-wizzard.js +0 -1
  163. package/dist/components/gov-wizzard.js.map +1 -1
  164. package/dist/core/core.esm.js +1 -1
  165. package/dist/core/core.esm.js.map +1 -1
  166. package/dist/core/p-0a300d3e.entry.js +2 -0
  167. package/dist/core/p-0a300d3e.entry.js.map +1 -0
  168. package/dist/core/{p-7bc34e7d.entry.js → p-1025c6ac.entry.js} +2 -2
  169. package/dist/core/p-5a2a9cde.entry.js +2 -0
  170. package/dist/core/p-5a2a9cde.entry.js.map +1 -0
  171. package/dist/core/{p-e5a7dcf1.entry.js → p-67982c3a.entry.js} +2 -2
  172. package/dist/core/{p-e5a7dcf1.entry.js.map → p-67982c3a.entry.js.map} +1 -1
  173. package/dist/core/p-7e524b49.js +2 -0
  174. package/dist/core/p-7e524b49.js.map +1 -0
  175. package/dist/core/p-a423b62a.entry.js +2 -0
  176. package/dist/core/p-a423b62a.entry.js.map +1 -0
  177. package/dist/core/p-a825183a.entry.js +2 -0
  178. package/dist/core/p-a825183a.entry.js.map +1 -0
  179. package/dist/core/{p-a8ef7292.entry.js → p-c289af04.entry.js} +2 -2
  180. package/dist/core/p-c289af04.entry.js.map +1 -0
  181. package/dist/core/p-d1275fa8.entry.js +2 -0
  182. package/dist/core/p-d1275fa8.entry.js.map +1 -0
  183. package/dist/core/p-d14130ac.entry.js +2 -0
  184. package/dist/core/p-d14130ac.entry.js.map +1 -0
  185. package/dist/core/p-d37f03e0.entry.js +2 -0
  186. package/dist/core/p-d37f03e0.entry.js.map +1 -0
  187. package/dist/core/p-e6904513.entry.js +2 -0
  188. package/dist/core/p-e6904513.entry.js.map +1 -0
  189. package/dist/custom-elements/index.js +1 -1
  190. package/dist/custom-elements/index.js.map +1 -1
  191. package/dist/esm/core.js +1 -1
  192. package/dist/esm/{form-3aceb161.js → form-613741a5.js} +11 -3
  193. package/dist/esm/form-613741a5.js.map +1 -0
  194. package/dist/esm/gov-app.entry.js +15 -15
  195. package/dist/esm/gov-app.entry.js.map +1 -1
  196. package/dist/esm/gov-form-checkbox.entry.js +13 -3
  197. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  198. package/dist/esm/gov-form-control.entry.js +20 -24
  199. package/dist/esm/gov-form-control.entry.js.map +1 -1
  200. package/dist/esm/gov-form-file.entry.js +15 -4
  201. package/dist/esm/gov-form-file.entry.js.map +1 -1
  202. package/dist/esm/gov-form-input.entry.js +17 -6
  203. package/dist/esm/gov-form-input.entry.js.map +1 -1
  204. package/dist/esm/gov-form-multi-select.entry.js +21 -5
  205. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  206. package/dist/esm/gov-form-radio.entry.js +21 -11
  207. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  208. package/dist/esm/gov-form-select.entry.js +16 -6
  209. package/dist/esm/gov-form-select.entry.js.map +1 -1
  210. package/dist/esm/gov-form-switch.entry.js +20 -10
  211. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  212. package/dist/esm/gov-icon.entry.js +1 -1
  213. package/dist/esm/gov-pagination.entry.js +10 -3
  214. package/dist/esm/gov-pagination.entry.js.map +1 -1
  215. package/dist/esm/loader.js +1 -1
  216. package/dist/hydrate/index.js +152 -67
  217. package/dist/types/components/gov-form/checkbox/gov-form-checkbox.d.ts +2 -0
  218. package/dist/types/components/gov-form/control/gov-form-control.d.ts +2 -2
  219. package/dist/types/components/gov-form/file/gov-form-file.d.ts +2 -0
  220. package/dist/types/components/gov-form/input/gov-form-input.d.ts +3 -1
  221. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +5 -1
  222. package/dist/types/components/gov-form/radio/gov-form-radio.d.ts +5 -3
  223. package/dist/types/components/gov-form/select/gov-form-select.d.ts +3 -1
  224. package/dist/types/components/gov-form/switch/gov-form-switch.d.ts +2 -0
  225. package/dist/types/components/gov-pagination/gov-pagination.d.ts +1 -0
  226. package/dist/types/components.d.ts +1 -1
  227. package/package.json +1 -1
  228. package/dist/cjs/constants-e8760a84.js +0 -20
  229. package/dist/cjs/constants-e8760a84.js.map +0 -1
  230. package/dist/cjs/form-399e149e.js.map +0 -1
  231. package/dist/core/p-3ed60543.entry.js +0 -2
  232. package/dist/core/p-3ed60543.entry.js.map +0 -1
  233. package/dist/core/p-70c0ee18.entry.js +0 -2
  234. package/dist/core/p-70c0ee18.entry.js.map +0 -1
  235. package/dist/core/p-79f74578.entry.js +0 -2
  236. package/dist/core/p-79f74578.entry.js.map +0 -1
  237. package/dist/core/p-942c1b73.entry.js +0 -2
  238. package/dist/core/p-942c1b73.entry.js.map +0 -1
  239. package/dist/core/p-a8ef7292.entry.js.map +0 -1
  240. package/dist/core/p-b3d9b255.entry.js +0 -2
  241. package/dist/core/p-b3d9b255.entry.js.map +0 -1
  242. package/dist/core/p-cb830bc1.entry.js +0 -2
  243. package/dist/core/p-cb830bc1.entry.js.map +0 -1
  244. package/dist/core/p-ea493ce6.entry.js +0 -2
  245. package/dist/core/p-ea493ce6.entry.js.map +0 -1
  246. package/dist/core/p-ef79904e.js +0 -2
  247. package/dist/core/p-ef79904e.js.map +0 -1
  248. package/dist/core/p-fa7daa95.entry.js +0 -2
  249. package/dist/core/p-fa7daa95.entry.js.map +0 -1
  250. package/dist/core/p-fd2f10eb.js +0 -2
  251. package/dist/core/p-fd2f10eb.js.map +0 -1
  252. package/dist/esm/constants-136d4cd3.js +0 -16
  253. package/dist/esm/constants-136d4cd3.js.map +0 -1
  254. package/dist/esm/form-3aceb161.js.map +0 -1
  255. /package/dist/core/{p-7bc34e7d.entry.js.map → p-1025c6ac.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"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"],"names":["govFormSelectCss","GovFormSelect","[object Object]","hostRef","this","h","govHost","host","f","govForm","selectId","createID","newValue","validateProp","FormSelectVariants","FormSelectClass","root","FormSelectSizes","passControlAttrs","passAttrToControl","size","toBoolAttr","disabled","invalid","validateVariant","variant","validateSize","querySelectorAll","forEach","option","value","setAttribute","passAttrToLabel","String","required","canValidateWcagOnRender","delay","validateWcag","Host","class","hasSlot","name","slot","id","identifier","onFocus","onFocusHandler","bind","onChange","onChangeHandler","onBlur","onBlurHandler","ref","el","selectRef","aria-disabled","toBoolAttrIfDefined","aria-activedescendant","wcagActiveDescendant","aria-controls","wcagControls","aria-required","aria-invalid","aria-describedby","wcagDescribedBy","aria-labelledby","wcagLabelledBy","aria-owns","wcagOwns","e","focused","govFocus","emit","component","originalEvent","govBlur","target","stopPropagation","govChange","options","focus","validateWcagRef","validateWcagLabelFor"],"mappings":"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","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 { GovHost } from \"../../../helpers/Dom/template.types\"\nimport { govHost, toBoolAttr, toBoolAttrIfDefined } from \"../../../helpers/Dom/template\"\nimport {\n\tFormSelectClass,\n\tFormSelectSizes,\n\tFormSelectSizesType,\n\tFormSelectVariants,\n\tFormSelectVariantType,\n} from \"./constants\"\nimport { validateProp } from \"../../../helpers/Validate/props\"\nimport { validateWcagLabelFor, validateWcagRef } from \"../../../helpers/Validate/wcag\"\nimport { canValidateWcagOnRender } from \"../../../helpers/Dom/win\"\nimport { createID } from \"../../../utils/string.utils\"\nimport { delay } from \"../../../utils/utils\"\nimport { GovForm } from \"../../../helpers/Dom/form.types\"\nimport { govForm } from \"../../../helpers/Dom/form\"\nimport { FormSelectEvent } from \"./gov-form-select.types\"\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 * 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\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 * 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\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\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(\"disabled\")\n\t@Watch(\"invalid\")\n\t@Watch(\"size\")\n\twatchDisabled(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl(\"size\", this.size)\n\t\tthis.f.passAttrToControl(\"disabled\", toBoolAttr(this.disabled))\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.host.querySelectorAll(\"option\").forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute(\"selected\", \"true\")\n\t\t\t}\n\t\t})\n\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\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}\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\"></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</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 * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.value = value\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"]}