@gov-design-system-ce/components 4.1.0 → 4.1.2

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 (510) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/gov-attachments_3.cjs.entry.js +2 -2
  3. package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gov-card.cjs.entry.js +9 -6
  5. package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gov-chip.cjs.entry.js +2 -2
  7. package/dist/cjs/gov-container.cjs.entry.js +1 -1
  8. package/dist/cjs/gov-control-group.cjs.entry.js +1 -1
  9. package/dist/cjs/gov-cookiebar.cjs.entry.js +1 -1
  10. package/dist/cjs/gov-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/gov-empty.cjs.entry.js +1 -1
  12. package/dist/cjs/gov-error-code.cjs.entry.js +1 -1
  13. package/dist/cjs/{gov-flex_4.cjs.entry.js → gov-flex_3.cjs.entry.js} +57 -57
  14. package/dist/cjs/gov-flex_3.cjs.entry.js.map +1 -0
  15. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +1 -1
  16. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +2 -2
  18. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-form-control.cjs.entry.js +1 -1
  21. package/dist/cjs/gov-form-file.cjs.entry.js +2 -3
  22. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gov-form-group.cjs.entry.js +1 -1
  24. package/dist/cjs/gov-form-input_2.cjs.entry.js +6 -6
  25. package/dist/cjs/gov-form-label.cjs.entry.js +27 -0
  26. package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gov-form-multi-select.cjs.entry.js +2 -2
  28. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gov-form-password-power.cjs.entry.js +1 -1
  30. package/dist/cjs/gov-form-radio-group.cjs.entry.js +2 -2
  31. package/dist/cjs/gov-form-radio-group.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gov-form-search.cjs.entry.js +1 -1
  34. package/dist/cjs/gov-form-select.cjs.entry.js +2 -2
  35. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gov-grid-item.cjs.entry.js +1 -1
  38. package/dist/cjs/gov-grid.cjs.entry.js +1 -1
  39. package/dist/cjs/gov-infobar.cjs.entry.js +2 -2
  40. package/dist/cjs/gov-layout-column.cjs.entry.js +1 -1
  41. package/dist/cjs/gov-layout.cjs.entry.js +1 -1
  42. package/dist/cjs/gov-lifecycle.cjs.entry.js +1 -1
  43. package/dist/cjs/gov-link.cjs.entry.js +1 -1
  44. package/dist/cjs/gov-loading.cjs.entry.js +1 -1
  45. package/dist/cjs/gov-message.cjs.entry.js +1 -1
  46. package/dist/cjs/gov-spacer.cjs.entry.js +1 -1
  47. package/dist/cjs/gov-stepper-item.cjs.entry.js +1 -1
  48. package/dist/cjs/gov-stepper.cjs.entry.js +1 -1
  49. package/dist/cjs/gov-tabs-item.cjs.entry.js +1 -1
  50. package/dist/cjs/gov-tabs.cjs.entry.js +1 -1
  51. package/dist/cjs/gov-tag.cjs.entry.js +2 -1
  52. package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gov-tile.cjs.entry.js +1 -1
  54. package/dist/cjs/gov-tiles.cjs.entry.js +1 -1
  55. package/dist/cjs/gov-toast.cjs.entry.js +1 -1
  56. package/dist/cjs/gov-tooltip-content.cjs.entry.js +1 -1
  57. package/dist/cjs/gov-tooltip.cjs.entry.js +2 -2
  58. package/dist/cjs/gov-wizard-item.cjs.entry.js +2 -2
  59. package/dist/cjs/gov-wizard.cjs.entry.js +1 -1
  60. package/dist/cjs/index-7ff4447c.js +6 -2
  61. package/dist/cjs/loader.cjs.js +1 -1
  62. package/dist/collection/components/gov-attachments/gov-attachments-item.css +2 -7
  63. package/dist/collection/components/gov-card/constants.js +7 -4
  64. package/dist/collection/components/gov-card/constants.js.map +1 -1
  65. package/dist/collection/components/gov-card/gov-card.js +16 -10
  66. package/dist/collection/components/gov-card/gov-card.js.map +1 -1
  67. package/dist/collection/components/gov-chip/gov-chip.js +2 -2
  68. package/dist/collection/components/gov-container/gov-container.js +1 -1
  69. package/dist/collection/components/gov-control-group/gov-control-group.js +1 -1
  70. package/dist/collection/components/gov-cookiebar/gov-cookiebar.js +1 -1
  71. package/dist/collection/components/gov-dialog/gov-dialog.js +1 -1
  72. package/dist/collection/components/gov-empty/gov-empty.js +1 -1
  73. package/dist/collection/components/gov-error-code/gov-error-code.js +1 -1
  74. package/dist/collection/components/gov-flex/constants.js +2 -0
  75. package/dist/collection/components/gov-flex/constants.js.map +1 -1
  76. package/dist/collection/components/gov-flex/gov-flex.js +33 -9
  77. package/dist/collection/components/gov-flex/gov-flex.js.map +1 -1
  78. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +2 -2
  79. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  80. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +2 -2
  81. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  82. package/dist/collection/components/gov-form/control/gov-form-control.js +1 -1
  83. package/dist/collection/components/gov-form/file/gov-form-file.js +3 -4
  84. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  85. package/dist/collection/components/gov-form/group/gov-form-checkbox-group.js +1 -1
  86. package/dist/collection/components/gov-form/group/gov-form-group.css +3 -8
  87. package/dist/collection/components/gov-form/group/gov-form-group.js +1 -1
  88. package/dist/collection/components/gov-form/group/gov-form-radio-group.js +1 -1
  89. package/dist/collection/components/gov-form/input/gov-form-input.js +5 -5
  90. package/dist/collection/components/gov-form/label/gov-form-label.js +1 -1
  91. package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
  92. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +3 -3
  93. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  94. package/dist/collection/components/gov-form/password-power/gov-form-password-power.js +1 -1
  95. package/dist/collection/components/gov-form/radio/gov-form-radio.js +1 -1
  96. package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +1 -1
  97. package/dist/collection/components/gov-form/search/gov-form-search.js +1 -1
  98. package/dist/collection/components/gov-form/select/gov-form-select.js +4 -4
  99. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  100. package/dist/collection/components/gov-form/switch/gov-form-switch.js +2 -2
  101. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  102. package/dist/collection/components/gov-grid/gov-grid-item.js +1 -1
  103. package/dist/collection/components/gov-grid/gov-grid.js +1 -1
  104. package/dist/collection/components/gov-icon/gov-icon.js +3 -4
  105. package/dist/collection/components/gov-icon/gov-icon.js.map +1 -1
  106. package/dist/collection/components/gov-icon/list.js +6 -0
  107. package/dist/collection/components/gov-icon/list.js.map +1 -1
  108. package/dist/collection/components/gov-infobar/gov-infobar.js +2 -2
  109. package/dist/collection/components/gov-layout/gov-layout-column.js +1 -1
  110. package/dist/collection/components/gov-layout/gov-layout.js +1 -1
  111. package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js +1 -1
  112. package/dist/collection/components/gov-link/gov-link.js +1 -1
  113. package/dist/collection/components/gov-loading/loading/gov-loading.js +1 -1
  114. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +1 -1
  115. package/dist/collection/components/gov-message/gov-message.js +1 -1
  116. package/dist/collection/components/gov-spacer/gov-spacer.js +1 -1
  117. package/dist/collection/components/gov-stepper/gov-stepper-item.js +1 -1
  118. package/dist/collection/components/gov-stepper/gov-stepper.js +1 -1
  119. package/dist/collection/components/gov-tabs/gov-tabs-item.js +1 -1
  120. package/dist/collection/components/gov-tabs/gov-tabs.js +1 -1
  121. package/dist/collection/components/gov-tag/gov-tag.js +20 -1
  122. package/dist/collection/components/gov-tag/gov-tag.js.map +1 -1
  123. package/dist/collection/components/gov-theme-switch/constants.js +0 -2
  124. package/dist/collection/components/gov-theme-switch/constants.js.map +1 -1
  125. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +32 -9
  126. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
  127. package/dist/collection/components/gov-tile/container/gov-tiles.js +1 -1
  128. package/dist/collection/components/gov-tile/gov-tile.js +1 -1
  129. package/dist/collection/components/gov-toast/gov-toast.js +1 -1
  130. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +1 -1
  131. package/dist/collection/components/gov-tooltip/gov-tooltip.js +2 -2
  132. package/dist/collection/components/gov-wizard/gov-wizard-item.js +2 -2
  133. package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
  134. package/dist/collection/helpers/Dom/document.js +18 -0
  135. package/dist/collection/helpers/Dom/document.js.map +1 -1
  136. package/dist/collection/pages/Card.js +22 -37
  137. package/dist/collection/pages/Card.js.map +1 -1
  138. package/dist/collection/pages/Flex.js +62 -0
  139. package/dist/collection/pages/Flex.js.map +1 -0
  140. package/dist/collection/pages/Forms.js +5 -5
  141. package/dist/collection/pages/Forms.js.map +1 -1
  142. package/dist/collection/pages/Tag.js +30 -23
  143. package/dist/collection/pages/Tag.js.map +1 -1
  144. package/dist/components/gov-accordion-item.js +1 -1
  145. package/dist/components/gov-accordion.js +1 -1
  146. package/dist/components/gov-attachments-item.js +1 -1
  147. package/dist/components/gov-attachments.js +1 -1
  148. package/dist/components/gov-backdrop.js +1 -1
  149. package/dist/components/gov-breadcrumbs.js +1 -1
  150. package/dist/components/gov-button.js +1 -1
  151. package/dist/components/gov-card.js +1 -1
  152. package/dist/components/gov-card.js.map +1 -1
  153. package/dist/components/gov-chip.js +1 -1
  154. package/dist/components/gov-container.js +1 -1
  155. package/dist/components/gov-control-group.js +1 -1
  156. package/dist/components/gov-cookiebar.js +1 -1
  157. package/dist/components/gov-dialog.js +1 -1
  158. package/dist/components/gov-empty.js +1 -1
  159. package/dist/components/gov-error-code.js +1 -1
  160. package/dist/components/gov-flex.js +1 -1
  161. package/dist/components/gov-flex.js.map +1 -1
  162. package/dist/components/gov-form-autocomplete.js +1 -1
  163. package/dist/components/gov-form-checkbox-group.js +1 -1
  164. package/dist/components/gov-form-checkbox-group.js.map +1 -1
  165. package/dist/components/gov-form-checkbox.js +1 -1
  166. package/dist/components/gov-form-checkbox.js.map +1 -1
  167. package/dist/components/gov-form-control.js +1 -1
  168. package/dist/components/gov-form-file.js +1 -1
  169. package/dist/components/gov-form-file.js.map +1 -1
  170. package/dist/components/gov-form-group.js +1 -1
  171. package/dist/components/gov-form-input.js +1 -1
  172. package/dist/components/gov-form-label.js +1 -1
  173. package/dist/components/gov-form-label.js.map +1 -1
  174. package/dist/components/gov-form-message.js +1 -1
  175. package/dist/components/gov-form-multi-select.js +1 -1
  176. package/dist/components/gov-form-multi-select.js.map +1 -1
  177. package/dist/components/gov-form-password-power.js +1 -1
  178. package/dist/components/gov-form-radio-group.js +1 -1
  179. package/dist/components/gov-form-radio-group.js.map +1 -1
  180. package/dist/components/gov-form-radio.js +1 -1
  181. package/dist/components/gov-form-radio.js.map +1 -1
  182. package/dist/components/gov-form-search.js +1 -1
  183. package/dist/components/gov-form-select.js +1 -1
  184. package/dist/components/gov-form-switch.js +1 -1
  185. package/dist/components/gov-form-switch.js.map +1 -1
  186. package/dist/components/gov-grid-item.js +1 -1
  187. package/dist/components/gov-grid.js +1 -1
  188. package/dist/components/gov-icon.js +1 -1
  189. package/dist/components/gov-infobar.js +1 -1
  190. package/dist/components/gov-layout-column.js +1 -1
  191. package/dist/components/gov-layout.js +1 -1
  192. package/dist/components/gov-lifecycle.js +1 -1
  193. package/dist/components/gov-link.js +1 -1
  194. package/dist/components/gov-loading.js +1 -1
  195. package/dist/components/gov-loading.js.map +1 -1
  196. package/dist/components/gov-message.js +1 -1
  197. package/dist/components/gov-pagination.js +1 -1
  198. package/dist/components/gov-skeleton.js +1 -1
  199. package/dist/components/gov-spacer.js +1 -1
  200. package/dist/components/gov-stepper-item.js +1 -1
  201. package/dist/components/gov-stepper.js +1 -1
  202. package/dist/components/gov-tabs-item.js +1 -1
  203. package/dist/components/gov-tabs.js +1 -1
  204. package/dist/components/gov-tag.js +1 -1
  205. package/dist/components/gov-tag.js.map +1 -1
  206. package/dist/components/gov-theme-switch.js +1 -1
  207. package/dist/components/gov-theme-switch.js.map +1 -1
  208. package/dist/components/gov-tile.js +1 -1
  209. package/dist/components/gov-tiles.js +1 -1
  210. package/dist/components/gov-toast.js +1 -1
  211. package/dist/components/gov-tooltip-content.js +1 -1
  212. package/dist/components/gov-tooltip.js +1 -1
  213. package/dist/components/gov-tooltip.js.map +1 -1
  214. package/dist/components/gov-wizard-item.js +1 -1
  215. package/dist/components/gov-wizard.js +1 -1
  216. package/dist/components/p-0b3574c2.js +2 -0
  217. package/dist/components/p-18ab0d24.js +2 -0
  218. package/dist/components/p-18ab0d24.js.map +1 -0
  219. package/dist/components/p-28776006.js +2 -0
  220. package/dist/components/{p-859a4f0d.js.map → p-28776006.js.map} +1 -1
  221. package/dist/components/p-40c2fb42.js +2 -0
  222. package/dist/components/{p-dc952cc2.js.map → p-40c2fb42.js.map} +1 -1
  223. package/dist/components/{p-2b87c27b.js → p-48c4d5c8.js} +2 -2
  224. package/dist/components/p-48c4d5c8.js.map +1 -0
  225. package/dist/components/{p-4149f195.js → p-73938936.js} +2 -2
  226. package/dist/components/{p-5952a5d0.js → p-7be2301a.js} +2 -2
  227. package/dist/components/{p-227eb30d.js → p-80dad64b.js} +2 -2
  228. package/dist/components/{p-7d4f2214.js → p-b25af2cf.js} +2 -2
  229. package/dist/components/{p-dfb5794a.js → p-b97d8edd.js} +2 -2
  230. package/dist/components/p-c438a723.js +2 -0
  231. package/dist/components/{p-45097b4c.js → p-ce90ff14.js} +2 -2
  232. package/dist/components/p-ce90ff14.js.map +1 -0
  233. package/dist/components/{p-929ebfb5.js → p-d962bf44.js} +2 -2
  234. package/dist/{core/p-20c2203a.js → components/p-e8ec030e.js} +2 -2
  235. package/dist/core/core.css +438 -273
  236. package/dist/core/core.esm.js +1 -1
  237. package/dist/core/core.esm.js.map +1 -1
  238. package/dist/core/p-0b3574c2.js +2 -0
  239. package/dist/core/{p-74458da3.entry.js → p-0dac0792.entry.js} +2 -2
  240. package/dist/core/p-0dac0792.entry.js.map +1 -0
  241. package/dist/core/{p-951823cb.entry.js → p-12d1e5bc.entry.js} +2 -2
  242. package/dist/core/p-182d03c1.entry.js +2 -0
  243. package/dist/core/p-2496f2a5.entry.js +2 -0
  244. package/dist/core/{p-a218e2eb.entry.js.map → p-2496f2a5.entry.js.map} +1 -1
  245. package/dist/core/{p-c52afdfc.js → p-29ac15d2.js} +2 -2
  246. package/dist/core/p-29d16111.entry.js +2 -0
  247. package/dist/core/{p-019e967c.entry.js.map → p-29d16111.entry.js.map} +1 -1
  248. package/dist/core/p-2b51b8e8.entry.js +2 -0
  249. package/dist/core/p-2b51b8e8.entry.js.map +1 -0
  250. package/dist/core/p-2bde147f.entry.js +2 -0
  251. package/dist/core/{p-bdc51179.entry.js.map → p-2bde147f.entry.js.map} +1 -1
  252. package/dist/core/{p-cb557873.entry.js → p-2e21a994.entry.js} +2 -2
  253. package/dist/core/p-2e21a994.entry.js.map +1 -0
  254. package/dist/core/p-3df6c6cd.entry.js +2 -0
  255. package/dist/core/p-436e7690.entry.js +2 -0
  256. package/dist/core/p-467f778b.entry.js +2 -0
  257. package/dist/core/p-4d81039c.entry.js +2 -0
  258. package/dist/core/p-520ac994.entry.js +2 -0
  259. package/dist/core/{p-f1056a83.entry.js.map → p-520ac994.entry.js.map} +1 -1
  260. package/dist/core/p-53fa7648.entry.js +2 -0
  261. package/dist/core/{p-c20fe3da.entry.js.map → p-53fa7648.entry.js.map} +1 -1
  262. package/dist/core/{p-7d6073aa.entry.js → p-581c8075.entry.js} +2 -2
  263. package/dist/core/{p-e2517a72.entry.js → p-5a92b9d9.entry.js} +2 -2
  264. package/dist/core/{p-8506b611.js → p-5fbde4f9.js} +2 -2
  265. package/dist/core/{p-7bf52eb9.entry.js → p-605e72b1.entry.js} +2 -2
  266. package/dist/core/{p-1ac9544f.entry.js → p-64dc1cdb.entry.js} +2 -2
  267. package/dist/core/p-64dc1cdb.entry.js.map +1 -0
  268. package/dist/core/{p-6454af62.entry.js → p-6603e3df.entry.js} +2 -2
  269. package/dist/core/p-6f260a90.entry.js +2 -0
  270. package/dist/core/{p-fca60e04.entry.js.map → p-6f260a90.entry.js.map} +1 -1
  271. package/dist/core/p-71dc8171.entry.js +2 -0
  272. package/dist/core/{p-443a813a.entry.js.map → p-71dc8171.entry.js.map} +1 -1
  273. package/dist/core/p-87562d9e.entry.js +2 -0
  274. package/dist/core/{p-773f71f6.entry.js.map → p-87562d9e.entry.js.map} +1 -1
  275. package/dist/core/p-88b69d30.entry.js +2 -0
  276. package/dist/core/{p-bc966c46.entry.js.map → p-88b69d30.entry.js.map} +1 -1
  277. package/dist/core/{p-fe6fed11.entry.js → p-8ece244d.entry.js} +2 -2
  278. package/dist/{components/p-45097b4c.js.map → core/p-8ece244d.entry.js.map} +1 -1
  279. package/dist/core/{p-db22d51c.entry.js → p-913331e8.entry.js} +2 -2
  280. package/dist/core/p-979b03eb.entry.js +2 -0
  281. package/dist/core/{p-b1efeb41.entry.js.map → p-979b03eb.entry.js.map} +1 -1
  282. package/dist/core/p-97c65665.entry.js +2 -0
  283. package/dist/core/{p-9da91318.entry.js.map → p-97c65665.entry.js.map} +1 -1
  284. package/dist/core/p-97e8b4b3.entry.js +2 -0
  285. package/dist/core/{p-439b66a5.entry.js.map → p-97e8b4b3.entry.js.map} +1 -1
  286. package/dist/core/{p-d65cef62.entry.js → p-abefa59b.entry.js} +2 -2
  287. package/dist/core/p-aeab9c1a.entry.js +2 -0
  288. package/dist/core/{p-c4ffcc37.entry.js → p-af9fe91a.entry.js} +2 -2
  289. package/dist/core/{p-d24710ff.entry.js → p-b0d1073c.entry.js} +2 -2
  290. package/dist/core/p-b245d627.entry.js +2 -0
  291. package/dist/core/{p-ed1131cb.entry.js.map → p-b245d627.entry.js.map} +1 -1
  292. package/dist/core/p-b2abc2fc.entry.js +2 -0
  293. package/dist/core/p-b2abc2fc.entry.js.map +1 -0
  294. package/dist/core/{p-0be19b89.entry.js → p-b4cf97ab.entry.js} +2 -2
  295. package/dist/core/p-b766810e.entry.js +2 -0
  296. package/dist/core/p-b766810e.entry.js.map +1 -0
  297. package/dist/core/p-bc0ed2c1.entry.js +2 -0
  298. package/dist/core/{p-dec3f948.entry.js → p-bf8529f8.entry.js} +2 -2
  299. package/dist/core/{p-783a6b5b.entry.js → p-cd988543.entry.js} +2 -2
  300. package/dist/core/p-cd988543.entry.js.map +1 -0
  301. package/dist/core/p-d2b11492.entry.js +2 -0
  302. package/dist/core/{p-f1fa5e1e.entry.js.map → p-d2b11492.entry.js.map} +1 -1
  303. package/dist/core/p-d3f7d3d5.entry.js +2 -0
  304. package/dist/core/p-d6e972c0.entry.js +2 -0
  305. package/dist/core/p-d952e56f.entry.js +2 -0
  306. package/dist/{components/p-20c2203a.js → core/p-e8ec030e.js} +2 -2
  307. package/dist/core/p-eaa83b2f.entry.js +2 -0
  308. package/dist/core/p-ebc318d7.entry.js +2 -0
  309. package/dist/core/p-ebeb1a03.entry.js +2 -0
  310. package/dist/core/{p-3fc3c26b.entry.js.map → p-ebeb1a03.entry.js.map} +1 -1
  311. package/dist/core/p-ee0f3bd9.entry.js +2 -0
  312. package/dist/core/p-ee0f3bd9.entry.js.map +1 -0
  313. package/dist/core/p-ee7af1ab.entry.js +2 -0
  314. package/dist/core/{p-8701c28e.entry.js.map → p-ee7af1ab.entry.js.map} +1 -1
  315. package/dist/core/{p-f7a4da9d.entry.js → p-eeee2325.entry.js} +2 -2
  316. package/dist/core/p-f83b9da5.entry.js +2 -0
  317. package/dist/core/{p-2c59483f.entry.js.map → p-f83b9da5.entry.js.map} +1 -1
  318. package/dist/core/p-fa161f10.entry.js +2 -0
  319. package/dist/core/{p-e834ee73.entry.js → p-fa5b72de.entry.js} +2 -2
  320. package/dist/core/p-fb8c019a.entry.js +2 -0
  321. package/dist/core/p-fb8c019a.entry.js.map +1 -0
  322. package/dist/core/p-ff609d0e.entry.js +2 -0
  323. package/dist/esm/core.js +3 -3
  324. package/dist/esm/gov-accordion-item.entry.js +3 -3
  325. package/dist/esm/gov-accordion.entry.js +3 -3
  326. package/dist/esm/gov-attachments_3.entry.js +6 -6
  327. package/dist/esm/gov-attachments_3.entry.js.map +1 -1
  328. package/dist/esm/gov-backdrop.entry.js +3 -3
  329. package/dist/esm/gov-breadcrumbs.entry.js +3 -3
  330. package/dist/esm/gov-button.entry.js +4 -4
  331. package/dist/esm/gov-card.entry.js +12 -9
  332. package/dist/esm/gov-card.entry.js.map +1 -1
  333. package/dist/esm/gov-chip.entry.js +5 -5
  334. package/dist/esm/gov-container.entry.js +2 -2
  335. package/dist/esm/gov-control-group.entry.js +4 -4
  336. package/dist/esm/gov-cookiebar.entry.js +2 -2
  337. package/dist/esm/gov-dialog.entry.js +4 -4
  338. package/dist/esm/gov-dropdown.entry.js +1 -1
  339. package/dist/esm/gov-empty.entry.js +4 -4
  340. package/dist/esm/gov-error-code.entry.js +2 -2
  341. package/dist/esm/{gov-flex_4.entry.js → gov-flex_3.entry.js} +61 -60
  342. package/dist/esm/gov-flex_3.entry.js.map +1 -0
  343. package/dist/esm/gov-form-autocomplete.entry.js +4 -4
  344. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  345. package/dist/esm/gov-form-checkbox-group.entry.js +5 -5
  346. package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
  347. package/dist/esm/gov-form-checkbox.entry.js +3 -3
  348. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  349. package/dist/esm/gov-form-control.entry.js +2 -2
  350. package/dist/esm/gov-form-file.entry.js +3 -4
  351. package/dist/esm/gov-form-file.entry.js.map +1 -1
  352. package/dist/esm/gov-form-group.entry.js +4 -4
  353. package/dist/esm/gov-form-input_2.entry.js +9 -9
  354. package/dist/esm/gov-form-label.entry.js +23 -0
  355. package/dist/esm/gov-form-label.entry.js.map +1 -0
  356. package/dist/esm/gov-form-multi-select.entry.js +5 -5
  357. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  358. package/dist/esm/gov-form-password-power.entry.js +2 -2
  359. package/dist/esm/gov-form-radio-group.entry.js +5 -5
  360. package/dist/esm/gov-form-radio-group.entry.js.map +1 -1
  361. package/dist/esm/gov-form-radio.entry.js +3 -3
  362. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  363. package/dist/esm/gov-form-search.entry.js +2 -2
  364. package/dist/esm/gov-form-select.entry.js +5 -5
  365. package/dist/esm/gov-form-select.entry.js.map +1 -1
  366. package/dist/esm/gov-form-switch.entry.js +3 -3
  367. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  368. package/dist/esm/gov-grid-item.entry.js +2 -2
  369. package/dist/esm/gov-grid.entry.js +2 -2
  370. package/dist/esm/gov-infobar.entry.js +5 -5
  371. package/dist/esm/gov-layout-column.entry.js +2 -2
  372. package/dist/esm/gov-layout.entry.js +2 -2
  373. package/dist/esm/gov-lifecycle.entry.js +2 -2
  374. package/dist/esm/gov-link.entry.js +4 -4
  375. package/dist/esm/gov-loading.entry.js +4 -4
  376. package/dist/esm/gov-message.entry.js +4 -4
  377. package/dist/esm/gov-pagination.entry.js +3 -3
  378. package/dist/esm/gov-spacer.entry.js +4 -4
  379. package/dist/esm/gov-stepper-item.entry.js +4 -4
  380. package/dist/esm/gov-stepper.entry.js +4 -4
  381. package/dist/esm/gov-tabs-item.entry.js +2 -2
  382. package/dist/esm/gov-tabs.entry.js +4 -4
  383. package/dist/esm/gov-tag.entry.js +5 -4
  384. package/dist/esm/gov-tag.entry.js.map +1 -1
  385. package/dist/esm/gov-tile.entry.js +2 -2
  386. package/dist/esm/gov-tiles.entry.js +2 -2
  387. package/dist/esm/gov-toast.entry.js +4 -4
  388. package/dist/esm/gov-tooltip-content.entry.js +2 -2
  389. package/dist/esm/gov-tooltip.entry.js +5 -5
  390. package/dist/esm/gov-wizard-item.entry.js +5 -5
  391. package/dist/esm/gov-wizard.entry.js +5 -5
  392. package/dist/esm/{gov.log-066c3139.js → gov.log-6b64cda6.js} +2 -2
  393. package/dist/esm/{gov.log-066c3139.js.map → gov.log-6b64cda6.js.map} +1 -1
  394. package/dist/esm/{index-c263e031.js → index-8dc58a1a.js} +8 -4
  395. package/dist/esm/{index-c263e031.js.map → index-8dc58a1a.js.map} +1 -1
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/esm/{props-fb6587c3.js → props-9d3c7ac1.js} +2 -2
  398. package/dist/esm/{props-fb6587c3.js.map → props-9d3c7ac1.js.map} +1 -1
  399. package/dist/esm/{wcag-de9a3dc6.js → wcag-253a4421.js} +2 -2
  400. package/dist/esm/{wcag-de9a3dc6.js.map → wcag-253a4421.js.map} +1 -1
  401. package/dist/hydrate/index.js +147 -123
  402. package/dist/hydrate/index.mjs +147 -123
  403. package/dist/types/components/gov-card/constants.d.ts +8 -4
  404. package/dist/types/components/gov-card/gov-card.d.ts +3 -2
  405. package/dist/types/components/gov-flex/constants.d.ts +4 -0
  406. package/dist/types/components/gov-flex/gov-flex.d.ts +9 -7
  407. package/dist/types/components/gov-icon/gov-icon.d.ts +1 -2
  408. package/dist/types/components/gov-tag/gov-tag.d.ts +4 -0
  409. package/dist/types/components/gov-theme-switch/constants.d.ts +0 -2
  410. package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +8 -4
  411. package/dist/types/components.d.ts +50 -22
  412. package/dist/types/helpers/Dom/document.d.ts +1 -0
  413. package/dist/types/pages/Flex.d.ts +3 -0
  414. package/package.json +4 -4
  415. package/dist/cjs/gov-flex_4.cjs.entry.js.map +0 -1
  416. package/dist/components/p-2b87c27b.js.map +0 -1
  417. package/dist/components/p-31a99bfc.js +0 -2
  418. package/dist/components/p-68a1aaec.js +0 -2
  419. package/dist/components/p-68a1aaec.js.map +0 -1
  420. package/dist/components/p-859a4f0d.js +0 -2
  421. package/dist/components/p-a2435993.js +0 -2
  422. package/dist/components/p-dc952cc2.js +0 -2
  423. package/dist/components/p-f44899e1.js +0 -2
  424. package/dist/components/p-f44899e1.js.map +0 -1
  425. package/dist/core/p-00d153bf.entry.js +0 -2
  426. package/dist/core/p-019e967c.entry.js +0 -2
  427. package/dist/core/p-1abdcb62.entry.js +0 -2
  428. package/dist/core/p-1ac9544f.entry.js.map +0 -1
  429. package/dist/core/p-1b3c808d.entry.js +0 -2
  430. package/dist/core/p-1b3c808d.entry.js.map +0 -1
  431. package/dist/core/p-22fa411d.entry.js +0 -2
  432. package/dist/core/p-2c290fe5.entry.js +0 -2
  433. package/dist/core/p-2c59483f.entry.js +0 -2
  434. package/dist/core/p-30eaeeec.entry.js +0 -2
  435. package/dist/core/p-3fc3c26b.entry.js +0 -2
  436. package/dist/core/p-40d764ac.entry.js +0 -2
  437. package/dist/core/p-410ec0dd.entry.js +0 -2
  438. package/dist/core/p-439b66a5.entry.js +0 -2
  439. package/dist/core/p-443a813a.entry.js +0 -2
  440. package/dist/core/p-48c93ac0.entry.js +0 -2
  441. package/dist/core/p-48c93ac0.entry.js.map +0 -1
  442. package/dist/core/p-52ca31be.entry.js +0 -2
  443. package/dist/core/p-52ca31be.entry.js.map +0 -1
  444. package/dist/core/p-535316b4.entry.js +0 -2
  445. package/dist/core/p-5396935e.entry.js +0 -2
  446. package/dist/core/p-5b2131c1.entry.js +0 -2
  447. package/dist/core/p-5ed63e9c.entry.js +0 -2
  448. package/dist/core/p-74458da3.entry.js.map +0 -1
  449. package/dist/core/p-773f71f6.entry.js +0 -2
  450. package/dist/core/p-783a6b5b.entry.js.map +0 -1
  451. package/dist/core/p-7b7e502b.entry.js +0 -2
  452. package/dist/core/p-8701c28e.entry.js +0 -2
  453. package/dist/core/p-9da91318.entry.js +0 -2
  454. package/dist/core/p-a218e2eb.entry.js +0 -2
  455. package/dist/core/p-a2435993.js +0 -2
  456. package/dist/core/p-b1efeb41.entry.js +0 -2
  457. package/dist/core/p-b4af0bec.entry.js +0 -2
  458. package/dist/core/p-b4af0bec.entry.js.map +0 -1
  459. package/dist/core/p-bc966c46.entry.js +0 -2
  460. package/dist/core/p-bdc51179.entry.js +0 -2
  461. package/dist/core/p-c20fe3da.entry.js +0 -2
  462. package/dist/core/p-cb557873.entry.js.map +0 -1
  463. package/dist/core/p-ed1131cb.entry.js +0 -2
  464. package/dist/core/p-f1056a83.entry.js +0 -2
  465. package/dist/core/p-f1fa5e1e.entry.js +0 -2
  466. package/dist/core/p-f4bcf817.entry.js +0 -2
  467. package/dist/core/p-f6709826.entry.js +0 -2
  468. package/dist/core/p-fca60e04.entry.js +0 -2
  469. package/dist/core/p-fe6fed11.entry.js.map +0 -1
  470. package/dist/esm/gov-flex_4.entry.js.map +0 -1
  471. /package/dist/components/{p-a2435993.js.map → p-0b3574c2.js.map} +0 -0
  472. /package/dist/components/{p-4149f195.js.map → p-73938936.js.map} +0 -0
  473. /package/dist/components/{p-5952a5d0.js.map → p-7be2301a.js.map} +0 -0
  474. /package/dist/components/{p-227eb30d.js.map → p-80dad64b.js.map} +0 -0
  475. /package/dist/components/{p-7d4f2214.js.map → p-b25af2cf.js.map} +0 -0
  476. /package/dist/components/{p-dfb5794a.js.map → p-b97d8edd.js.map} +0 -0
  477. /package/dist/components/{p-31a99bfc.js.map → p-c438a723.js.map} +0 -0
  478. /package/dist/components/{p-929ebfb5.js.map → p-d962bf44.js.map} +0 -0
  479. /package/dist/components/{p-20c2203a.js.map → p-e8ec030e.js.map} +0 -0
  480. /package/dist/core/{p-a2435993.js.map → p-0b3574c2.js.map} +0 -0
  481. /package/dist/core/{p-951823cb.entry.js.map → p-12d1e5bc.entry.js.map} +0 -0
  482. /package/dist/core/{p-22fa411d.entry.js.map → p-182d03c1.entry.js.map} +0 -0
  483. /package/dist/core/{p-c52afdfc.js.map → p-29ac15d2.js.map} +0 -0
  484. /package/dist/core/{p-30eaeeec.entry.js.map → p-3df6c6cd.entry.js.map} +0 -0
  485. /package/dist/core/{p-5396935e.entry.js.map → p-436e7690.entry.js.map} +0 -0
  486. /package/dist/core/{p-5ed63e9c.entry.js.map → p-467f778b.entry.js.map} +0 -0
  487. /package/dist/core/{p-7b7e502b.entry.js.map → p-4d81039c.entry.js.map} +0 -0
  488. /package/dist/core/{p-7d6073aa.entry.js.map → p-581c8075.entry.js.map} +0 -0
  489. /package/dist/core/{p-e2517a72.entry.js.map → p-5a92b9d9.entry.js.map} +0 -0
  490. /package/dist/core/{p-8506b611.js.map → p-5fbde4f9.js.map} +0 -0
  491. /package/dist/core/{p-7bf52eb9.entry.js.map → p-605e72b1.entry.js.map} +0 -0
  492. /package/dist/core/{p-6454af62.entry.js.map → p-6603e3df.entry.js.map} +0 -0
  493. /package/dist/core/{p-db22d51c.entry.js.map → p-913331e8.entry.js.map} +0 -0
  494. /package/dist/core/{p-d65cef62.entry.js.map → p-abefa59b.entry.js.map} +0 -0
  495. /package/dist/core/{p-1abdcb62.entry.js.map → p-aeab9c1a.entry.js.map} +0 -0
  496. /package/dist/core/{p-c4ffcc37.entry.js.map → p-af9fe91a.entry.js.map} +0 -0
  497. /package/dist/core/{p-d24710ff.entry.js.map → p-b0d1073c.entry.js.map} +0 -0
  498. /package/dist/core/{p-0be19b89.entry.js.map → p-b4cf97ab.entry.js.map} +0 -0
  499. /package/dist/core/{p-5b2131c1.entry.js.map → p-bc0ed2c1.entry.js.map} +0 -0
  500. /package/dist/core/{p-dec3f948.entry.js.map → p-bf8529f8.entry.js.map} +0 -0
  501. /package/dist/core/{p-40d764ac.entry.js.map → p-d3f7d3d5.entry.js.map} +0 -0
  502. /package/dist/core/{p-00d153bf.entry.js.map → p-d6e972c0.entry.js.map} +0 -0
  503. /package/dist/core/{p-410ec0dd.entry.js.map → p-d952e56f.entry.js.map} +0 -0
  504. /package/dist/core/{p-20c2203a.js.map → p-e8ec030e.js.map} +0 -0
  505. /package/dist/core/{p-2c290fe5.entry.js.map → p-eaa83b2f.entry.js.map} +0 -0
  506. /package/dist/core/{p-f6709826.entry.js.map → p-ebc318d7.entry.js.map} +0 -0
  507. /package/dist/core/{p-f7a4da9d.entry.js.map → p-eeee2325.entry.js.map} +0 -0
  508. /package/dist/core/{p-535316b4.entry.js.map → p-fa161f10.entry.js.map} +0 -0
  509. /package/dist/core/{p-e834ee73.entry.js.map → p-fa5b72de.entry.js.map} +0 -0
  510. /package/dist/core/{p-f4bcf817.entry.js.map → p-ff609d0e.entry.js.map} +0 -0
@@ -84,11 +84,11 @@ export class GovFormInput {
84
84
  }
85
85
  render() {
86
86
  const Tag = this.multiline ? Tags.TEXTAREA : Tags.INPUT;
87
- return (h(Host, { key: '5210373fd88e2b80df5a4206c5b25b5695f2894b', class: FormInputClass.root, size: this.size, type: this.type }, this.h.hasSlot("prefix") && h("slot", { key: '9215c45132a4b9dc8fd0da79ef8d082dcce0789b', name: "prefix" }), h("span", { key: 'e58ab94aa7926dbd8488ce8323b6c8dbec9ce765', class: "element" }, (this.h.hasSlot("icon-start") && !this.multiline) &&
88
- h("div", { key: '8e67ba10cfb47232f6c0d817df292668c2a4a7e8', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, h("slot", { key: 'a186f1fbe47936219f6a6a26cb2d0c2b0dbe08f8', name: "icon-start" })), h(Tag, Object.assign({ key: '1090f6e6705365ffc83b5397ad669638d996f5bd', type: this.inputType === 'password' && this.showPassword ? 'text' : 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, 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, value: this.value }, this.inheritedAttributes, { "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-disabled": toBoolAttrIfDefined(this.disabled) })), ((this.success || this.invalid || this.h.hasSlot("icon-end") || this.inputType === 'password') && !this.multiline) &&
89
- h("div", { key: '49cb072b3448735677c47883d851557f107dd6cb', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, this.success && !this.multiline &&
90
- h("gov-icon", { key: 'f00df3e88ba3a0d695bf9f33ddb51af7a8fb4a96', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && !this.multiline &&
91
- h("gov-icon", { key: '523966e75d3f3d49eff396226673c3c96cf6de60', class: "validation-icon", name: "exclamation-lg", type: "components" }), this.h.hasSlot("icon-end") && this.inputType !== 'password' && h("slot", { key: 'b707c094fe32bf5864c66e40a95a22f2b27d79b3', name: "icon-end" }), this.inputType === 'password' ? (h("gov-button", { color: 'primary', type: 'base', size: this.size, "aria-label": this.showPassword ? this.accessibleHidePasswordLabel : this.accessibleShowPasswordLabel, "on-gov-click": () => this.showPassword = !this.showPassword }, h("gov-icon", { slot: "icon-start", name: "eye", type: "components" }))) : null)), this.h.hasSlot("sufix") && h("slot", { key: '945df71d1a6c3edd76769ae3310bdd33df694d2b', name: "sufix" })));
87
+ return (h(Host, { key: '8b60864f0792fe1946d4b7cb6489cff0ffc767e1', class: FormInputClass.root, size: this.size, type: this.type }, this.h.hasSlot("prefix") && h("slot", { key: '4d5d0bb755acbb42033f572633e4969c8e6e8b36', name: "prefix" }), h("span", { key: 'eaac4a690052077ca631ae1e9c69a65518a1902f', class: "element" }, (this.h.hasSlot("icon-start") && !this.multiline) &&
88
+ h("div", { key: 'e8be567c923c023bce7d0ebf0cccff592ac15c5a', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, h("slot", { key: '4c76013e8a7db99b43e7b8f426f3907d89708b5a', name: "icon-start" })), h(Tag, Object.assign({ key: '22e1714e66085290e7fe984a4672512324143397', type: this.inputType === 'password' && this.showPassword ? 'text' : 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, 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, value: this.value }, this.inheritedAttributes, { "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-disabled": toBoolAttrIfDefined(this.disabled) })), ((this.success || this.invalid || this.h.hasSlot("icon-end") || this.inputType === 'password') && !this.multiline) &&
89
+ h("div", { key: '19ab7fe83fcecde7a506f21611fae64126464b88', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, this.success && !this.multiline &&
90
+ h("gov-icon", { key: '9dd7b8413b351d957a63f7df09aee8b6e3e0ac53', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && !this.multiline &&
91
+ h("gov-icon", { key: '06540c7f7cf3c0fbdab8b5a63aba35cf7a78df3a', class: "validation-icon", name: "exclamation-lg", type: "components" }), this.h.hasSlot("icon-end") && this.inputType !== 'password' && h("slot", { key: '8cb1103f101fa9bd5719f1657ae1a404fc3882f4', name: "icon-end" }), this.inputType === 'password' ? (h("gov-button", { color: 'primary', type: 'base', size: this.size, "aria-label": this.showPassword ? this.accessibleHidePasswordLabel : this.accessibleShowPasswordLabel, "on-gov-click": () => this.showPassword = !this.showPassword }, h("gov-icon", { slot: "icon-start", name: "eye", type: "components" }))) : null)), this.h.hasSlot("sufix") && h("slot", { key: '78308cfef71f34839d86af88df5dadb28c01adf1', name: "sufix" })));
92
92
  }
93
93
  onFocusHandler(e) {
94
94
  e.stopPropagation();
@@ -9,7 +9,7 @@ export class GovFormLabel {
9
9
  }
10
10
  render() {
11
11
  const Tag = this.legend ? 'legend' : 'label';
12
- return (h(Host, { key: '3e02eaa899126807c31fac8d3b6f352a07a73a9d', class: FormLabelClass.root, size: this.size }, h(Tag, { key: 'a1213cf879e26565c4c84d31ab6a46dac2a9ee4e', class: FormLabelClass.label, htmlFor: this.identifier, onClick: () => this.govClick.emit() }, h("slot", { key: '46a6a39821d6f3f786b843c037b0b423ba2445ae' }), this.required ? h("span", { class: "gov-color--error-500" }, "\u00A0*") : null)));
12
+ return (h(Host, { key: '3f52c93a7721a458d430874b447421f7a5d30a41', class: FormLabelClass.root, size: this.size }, h(Tag, { key: 'c122a9bce9b9a98b0c8c336190b70bc4bf5389cf', class: FormLabelClass.label, htmlFor: this.identifier, onClick: () => this.govClick.emit() }, h("slot", { key: 'de892d47334dbd3448a33d18586c77248b08b036' }), this.required ? h("span", { class: "gov-color--error-500" }, "\u00A0*") : null)));
13
13
  }
14
14
  static get is() { return "gov-form-label"; }
15
15
  static get properties() {
@@ -17,7 +17,7 @@ export class GovFormMessage {
17
17
  this.validateColor(this.color);
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: '0fc757895a58267edf28d9139e460a14e664de04', class: this.h.classes(FormMessageClass.root), color: this.color, size: this.size }, this.h.hasSlot('icon') && (h("slot", { key: 'bca8235bbaebcd7066efb8e8e3fdbff7ba8e011c', name: "icon" })), h("span", { key: 'a0e46336d6a661bf6d6f2ee8f0cb89c967f5321d', id: this.messageId, class: FormMessageClass.content }, h("slot", { key: '2e0e474f9f9d35fc5cda1db690d2b7b4e2addb68' }))));
20
+ return (h(Host, { key: '86a59a0001123abc4ff9350657f71e4e4ac1b0c5', class: this.h.classes(FormMessageClass.root), color: this.color, size: this.size }, this.h.hasSlot('icon') && (h("slot", { key: '94f919d5d79ab453be3cccab92e695c9a9a79276', name: "icon" })), h("span", { key: 'e112ca627b1d4deef23eb1567bcbb014a82388d9', id: this.messageId, class: FormMessageClass.content }, h("slot", { key: '1733f5e338c14f5d353a77266359033b42469eff' }))));
21
21
  }
22
22
  /**
23
23
  * Returns unique identifier of message
@@ -165,11 +165,11 @@ export class GovFormMultiSelect {
165
165
  });
166
166
  }
167
167
  render() {
168
- return (h(Host, { key: '8c36a19951ed5931adea3e023209e8c6b271a98f', class: FormMultiSelectClass.root, size: this.size }, h("div", { key: '97ed4682166e9f9261bdde9f8e9261eb350f2a85', class: FormMultiSelectClass.wrap }, this.h.hasSlot('prefix') && h("slot", { key: 'e49357d489985785acb2fd4917ec0eea02e420e4', name: "prefix" }), h("gov-form-autocomplete", { key: '9aba6a6e6208107e62e916505e30f56a03707cf1', value: this.valueState, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, invalid: this.invalid, success: this.success, size: this.size, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, "aria-owns": this.listId }, this.success && h("gov-icon", { key: '0ecf17afa6bef85ac0666e206b0d84bc63cdde2f', slot: "validation-icon", class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && h("gov-icon", { key: '7573420027300e8951adb1bafe934dbafe5be4a4', slot: "validation-icon", class: "validation-icon", name: "exclamation-lg", type: "components" }), h("gov-icon", { key: '461f2108ddd524153d5f684b0fea218913410737', slot: "icon-end", class: "arrow-icon", name: "chevron-down", type: "components" })), h("select", Object.assign({ key: '61aad9d04d5ce5778f66c794d447e45f8d605492', 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) }, this.inheritedAttributes, { "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid) }), h("slot", { key: '6dda21eb97bab4a943d51f3f4d0593f7580740ed' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
168
+ return (h(Host, { key: 'e112f9d20d170e70616fd4f089b93dd040e737fa', class: FormMultiSelectClass.root, size: this.size }, h("div", { key: 'ffc5af48051e7d24559e0c77a595b48e287771f5', class: FormMultiSelectClass.wrap }, this.h.hasSlot('prefix') && h("slot", { key: '3c22442cfbcb010f240a014ba7c9c48ec4522555', name: "prefix" }), h("gov-form-autocomplete", { key: 'c02857a7ea06c203aa94b317837ea2c7c921b505', value: this.valueState, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, invalid: this.invalid, success: this.success, size: this.size, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, "aria-owns": this.listId }, this.success && h("gov-icon", { key: '2b06057b6343fce21d08731f5a6675ffccfa3f6e', slot: "validation-icon", class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && h("gov-icon", { key: '6f33cb3764c0df058b0743ba617c950cf7909cdc', slot: "validation-icon", class: "validation-icon", name: "exclamation-lg", type: "components" }), h("gov-icon", { key: '05be66ee199dee177d0b18a7a6a59e25a724571f', slot: "icon-end", class: "arrow-icon", name: "chevron-down", type: "components" })), h("select", Object.assign({ key: 'd50fe47c2c859561b8aba62e6d6dedd7bceed6ae', 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) }, this.inheritedAttributes, { "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid) }), h("slot", { key: 'cf2ebfd8dc2cdf49c3581ba0ba3fff959a50a221' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
169
169
  var _a;
170
170
  const selectedOption = this.selectedValueIndex(option.value);
171
171
  return (h("option", { value: option.value, selected: selectedOption > -1, disabled: option === null || option === void 0 ? void 0 : option.disabled }, (_a = option.label) !== null && _a !== void 0 ? _a : option.value));
172
- })), this.h.hasSlot('sufix') && h("slot", { key: '91c91489ce3167f9e0e9eda66e1fab3553750472', name: "sufix" })), this.hideSelectedList === false ? (h("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {
172
+ })), this.h.hasSlot('sufix') && h("slot", { key: 'dddc8a99daeb345be9d778ade22622ae9ed35769', name: "sufix" })), this.hideSelectedList === false ? (h("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {
173
173
  var _a, _b;
174
174
  const option = this.getOption(selected);
175
175
  if (!option)
@@ -404,7 +404,7 @@ export class GovFormMultiSelect {
404
404
  "text": "Makes the select component disabled.\nThis prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies."
405
405
  },
406
406
  "attribute": "disabled",
407
- "reflect": false,
407
+ "reflect": true,
408
408
  "defaultValue": "false"
409
409
  },
410
410
  "invalid": {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-form-multi-select.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AAC1G,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAA;AAEjD,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAC,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAA;AAE5D,OAAO,EAAC,QAAQ,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAA;AAEtE,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAA2B,MAAM,aAAa,CAAA;AAMhG,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAa,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,2CAA2C,CAAC;AAKzE,MAAM,OAAO,kBAAkB;IAW9B;;;;;oBA4BmD,GAAG;;gCAQwB,KAAK;wBAK9C,KAAK;wBAKL,KAAK;;;4BAY0B,gCAAgC;8BAI5B,YAAY;;;oCAwBlB,EAAE;4BAClB,EAAE;mCAiBT,EAAE;QAvG5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;QAEtC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACxB;IAoFD,YAAY,CAAC,QAAgB;QAC5B,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAGD,YAAY,CAAC,QAA2C;QACvD,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IAGD,UAAU,CAAC,QAA2C;QACrD,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACxD,CAAC;IAID,gBAAgB;QACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE;YACrF,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,aAAqB,EAAE,QAAgB;QAC5D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;QACxC,IAAI,CAAC,mBAAmB,mCAAO,IAAI,CAAC,mBAAmB,KAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAC,CAAC;IACrF,CAAC;IAEO,mBAAmB,CAAC,YAAY,GAAG,KAAK;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAClE,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,YAAY,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC3D,OAAO,CAAC,aAAa,KAAK,CAAC,CAAC,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;YACjE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,CAAC,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAA,EAAA,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,MAAyB,EAAE,EAAE;YACrC,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAA;YACZ,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3D,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAA;IACxF,CAAC;IAEO,gBAAgB;;QACvB,MAAA,IAAI,CAAC,eAAe,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACrF,MAAA,IAAI,CAAC,eAAe,0CAAE,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACnF,MAAA,IAAI,CAAC,eAAe,0CAAE,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACnF,MAAA,IAAI,CAAC,eAAe,0CAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACjF,MAAA,IAAI,CAAC,eAAe,0CACjB,iBAAiB,CAAC,YAAY,CAAC,EAAE;YAClC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBACvC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;gBACrB,CAAC;gBACD,OAAO,CACN,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,EAAE;oBAC9B,IAAI,CAAC,KAAK;wBAAE,KAAK,GAAG,KAAK,CAAC;oBAC1B,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBACxG,CAAC,CAAC,CACF,CAAA;YACF,CAAC,CAAC,CAAA;QACH,CAAC,EACA,OAAO,EAAE,CAAA;IACZ,CAAC;IAEO,kBAAkB,CAAC,KAAqC;QAC/D,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAA;IAC7E,CAAC;IAEO,gBAAgB,CAAC,KAAqC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,GAAG,KAAK,GAAG,IAAI,CAAsB,CAAA;IAC1F,CAAC;IAEO,SAAS,CAAC,KAAqC;;QACtD,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,mCAAI,IAAI,CAAC;IACxF,CAAC;IAEO,YAAY,CAAC,SAAyC,EAAE,MAAM,GAAG,IAAI;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;YACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,oBAAoB,CAAC,IAAI;oBACpC,KAAK,EAAE,IAAI,CAAC,oBAAoB;iBAChC,CAAC,CAAA;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,oBAAoB,CAAC,IAAI;oBACpC,KAAK,EAAE,IAAI,CAAC,oBAAoB;iBAChC,CAAC,CAAA;YACH,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;YACvB,CAAC;QACF,CAAC;IACF,CAAC;IAEO,YAAY,CAAC,YAA4C,EAAE,MAAM,GAAG,IAAI;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QACnD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC1C,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAA;YAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,oBAAoB,CAAC,IAAI;oBACpC,KAAK,EAAE,IAAI,CAAC,oBAAoB;iBAChC,CAAC,CAAA;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,oBAAoB,CAAC,IAAI;oBACpC,KAAK,EAAE,IAAI,CAAC,oBAAoB;iBAChC,CAAC,CAAA;YACH,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;YAClD,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA;YACxB,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEzD,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,MAAyB,EAAE,EAAE;gBAC/E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBACvC,CAAC;YACF,CAAC,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM;QACL,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;YACtD,4DAAK,KAAK,EAAE,oBAAoB,CAAC,IAAI;gBACnC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,6DAAM,IAAI,EAAC,QAAQ,GAAQ;gBACxD,8EACC,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAC5C,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,mBACd,IAAI,CAAC,YAAY,qBACf,IAAI,CAAC,cAAc,EACpC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,EAAoC,CAAC,EACxE,SAAS,EAAE,CAAC,eACD,IAAI,CAAC,MAAM;oBAErB,IAAI,CAAC,OAAO,IAAI,iEAAU,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,YAAY,GAAY;oBACtH,IAAI,CAAC,OAAO,IAAI,iEAAU,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,gBAAgB,EAAC,IAAI,EAAC,YAAY,GAAY;oBAC7H,iEAAU,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,YAAY,GAAY,CACvE;gBACxB,6EACC,MAAM,QACN,KAAK,EAAE,oBAAoB,iBACd,UAAU,CAAC,IAAI,CAAC,EAC7B,QAAQ,QACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAuB,CAAC,IACjD,IAAI,CAAC,mBAAmB,qBACb,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAClC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,kBACnC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAE/C,8DAAQ;oBACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;wBACrE,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC7D,OAAO,CAAC,cAAQ,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,EAC9D,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,IAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,CAAU,CAAC,CAAA;oBACzE,CAAC,CAAC,CACM;gBACR,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACjD;YACL,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,CAClC,UAAI,IAAI,EAAC,SAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,IAClE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;gBACrF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBACxB,OAAO,CACN,UAAI,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAC,QAAQ,IACjD,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK;oBAC7B,gCACa,MAAA,2BAA2B,GAAG,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,EACtE,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;wBAE9C,gBAAU,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,GAAY,CACvC,CACT,CACL,CAAA;YACF,CAAC,CAAC,CACE,CACL,CAAC,CAAC,CAAC,IAAI,CACF,CACP,CAAA;IACF,CAAC;IAEO,cAAc,CAAC,CAAa;QACnC,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,SAAS,EAAE,oBAAoB,CAAC,IAAI;YACpC,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAC,CAAA;IACH,CAAC;IAEO,aAAa,CAAC,CAAa;QAClC,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,oBAAoB,CAAC,IAAI;YACpC,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,oBAAoB;SAChC,CAAC,CAAA;IACH,CAAC;IAEO,cAAc,CAAC,CAAqC;QAC3D,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QAChC,CAAC,CAAC,eAAe,EAAE,CAAA;IACpB,CAAC;IAEO,eAAe,CAAC,CAAqC;QAC5D,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAA;QAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IAEO,WAAW,CAAC,YAA4C;QAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ,CAAC,OAAsB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACxB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["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 {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\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 = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop({reflect:true}) readonly invalid: boolean\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 * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = propsValueToArray(newValue)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t<gov-icon slot=\"icon-end\" class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\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\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\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>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\n\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\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taria-label={'Odebrat vybranou položku ' + option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\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.valueState = 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"]}
1
+ {"version":3,"file":"gov-form-multi-select.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"names":[],"mappings":"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","sourcesContent":["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 {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\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({reflect: true}) 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({reflect:true}) readonly invalid: boolean\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 * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = propsValueToArray(newValue)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t<gov-icon slot=\"icon-end\" class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\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\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\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>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\n\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\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taria-label={'Odebrat vybranou položku ' + option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\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.valueState = 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"]}
@@ -5,7 +5,7 @@ export class GovFormPasswordPower {
5
5
  this.power = undefined;
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '9125566cb99bfc49e2e61edb5af71b5b052d6790', class: FormPasswordPowerClass.root }, h("span", { key: 'b293292f3b8faca38bbbd6cb03fdd49d8601aab3', class: FormPasswordPowerClass.bar }, h("span", { key: '20995fbc87342a8e0db8031b0ff23a9cb01b4068' }), h("span", { key: '4fec375a3f27cc35025c165badbff731c8fb26ab' }), h("span", { key: '426f641b8b8e179e25e8a1006a0afd0394615058' })), h("span", { key: '7aeaf7222b484ad59084bb20fcbff4660cdcb1db', class: FormPasswordPowerClass.text }, h("slot", { key: '57c3415c9b2dfc688ec5762c33cdad473b8110bd' }))));
8
+ return (h(Host, { key: 'ca17606a7f29175d97da93daed3005a27b38d607', class: FormPasswordPowerClass.root }, h("span", { key: 'b2b80382c10034b88adb971db02c7e3f901453ee', class: FormPasswordPowerClass.bar }, h("span", { key: '0c0de35b5c257c175281792765d3fec89f5ee498' }), h("span", { key: '92847bc51174d38543a2e0f9a1a7c3ba37fec6f4' }), h("span", { key: '7cc7a9cbda4c54c4d1269874a1f8d2b91e533bad' })), h("span", { key: 'de62cf845c51d870e4fa1b1b6156348be8460d6b', class: FormPasswordPowerClass.text }, h("slot", { key: '8132df44d6ce3f83f89d1d45b34c182850663571' }))));
9
9
  }
10
10
  static get is() { return "gov-form-password-power"; }
11
11
  static get properties() {
@@ -196,7 +196,7 @@ export class GovFormRadio {
196
196
  "text": "Makes the radio component disabled.\nThis prevents users from being able to interact with the radio, and conveys its inactive state to assistive technologies."
197
197
  },
198
198
  "attribute": "disabled",
199
- "reflect": false,
199
+ "reflect": true,
200
200
  "defaultValue": "false"
201
201
  },
202
202
  "name": {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-form-radio.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/radio/gov-form-radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormRadioClass, FormRadioSizes, FormRadioSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormRadioEvent} from \"./gov-form-radio.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-radio\",\n})\nexport class GovFormRadio {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly radioId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.radioId = createID(\"GovRadio\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormRadioElement\n\t/**\n\t * Value of radio\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Radio button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = false\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 radio component disabled.\n\t * This prevents users from being able to interact with the radio, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Name of the radio.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Radio's size.\n\t */\n\t@Prop() readonly size?: FormRadioSizesType = \"m\"\n\t/**\n\t * Custom radio identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Emitted when the radio has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormRadioEvent>\n\t/**\n\t * Emitted when the radio loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormRadioEvent>\n\t/**\n\t * Emitted when the radio change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormRadioEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormRadioSizes, newValue, FormRadioClass.root)\n\t}\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\t@Watch(\"size\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"radio\")\n\t}\n\n\n\tcomponentWillLoad() {\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.radioId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\tconst wrapRadio = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn <label class={FormRadioClass.label}>{children}</label>\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={FormRadioClass.root} hydrated={this.hydrated} checked={this.checked} size={this.size}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapRadio(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={FormRadioClass.input}\n\t\t\t\t\t\t\tid={this.identifier || this.radioId}\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={this.checked}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<slot name=\"label\"/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-form-radio.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/radio/gov-form-radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormRadioClass, FormRadioSizes, FormRadioSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormRadioEvent} from \"./gov-form-radio.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-radio\",\n})\nexport class GovFormRadio {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly radioId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.radioId = createID(\"GovRadio\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormRadioElement\n\t/**\n\t * Value of radio\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Radio button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = false\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 radio component disabled.\n\t * This prevents users from being able to interact with the radio, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Name of the radio.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Radio's size.\n\t */\n\t@Prop() readonly size?: FormRadioSizesType = \"m\"\n\t/**\n\t * Custom radio identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Emitted when the radio has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormRadioEvent>\n\t/**\n\t * Emitted when the radio loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormRadioEvent>\n\t/**\n\t * Emitted when the radio change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormRadioEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormRadioSizes, newValue, FormRadioClass.root)\n\t}\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\t@Watch(\"size\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"radio\")\n\t}\n\n\n\tcomponentWillLoad() {\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.radioId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\tconst wrapRadio = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn <label class={FormRadioClass.label}>{children}</label>\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={FormRadioClass.root} hydrated={this.hydrated} checked={this.checked} size={this.size}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapRadio(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={FormRadioClass.input}\n\t\t\t\t\t\t\tid={this.identifier || this.radioId}\n\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={this.checked}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<slot name=\"label\"/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormRadioClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n}\n"]}
@@ -6,7 +6,7 @@ export class GovFormSearch {
6
6
  this.color = 'neutral';
7
7
  }
8
8
  render() {
9
- return (h(Host, { key: '9d628d34bd6f19132ea398437faf9023a322bdcf', class: FormSearchClass.root, color: this.color, size: this.size }, h("slot", { key: 'aa70625f5e6b754a18b36ad87634fe5be1a34fb7', name: "input" }), h("slot", { key: 'd098e011406c85877131ee57c04bc9a3f05ded18', name: "button-erase" }), h("slot", { key: '6a5226ae29cf22f4ec33ecf5604db44d8154d2fa', name: "button" })));
9
+ return (h(Host, { key: '05f033c30dffd615b36b181535329704d46665ae', class: FormSearchClass.root, color: this.color, size: this.size }, h("slot", { key: '7c7fb4e2d90ace38aef4b63454e1f9513903977c', name: "input" }), h("slot", { key: '92484cbbbae29ba45bb963f80da8237d9406a91b', name: "button-erase" }), h("slot", { key: '92ebb818ee922d790534ffb7816be400ff4a1f98', name: "button" })));
10
10
  }
11
11
  static get is() { return "gov-form-search"; }
12
12
  static get properties() {
@@ -81,10 +81,10 @@ export class GovFormSelect {
81
81
  });
82
82
  }
83
83
  render() {
84
- return (h(Host, { key: '2eaa50cdab69d7ea87e86b33a69728b735f24e89', class: FormSelectClass.root, size: this.size }, this.h.hasSlot('prefix') && h("slot", { key: 'ef57fa4df7417a583738b7863af7b8903dc92ced', name: "prefix" }), h("span", { key: 'f7c8e78bab4ddfe8315ec641b99077d963c3023f', class: "element" }, h("select", Object.assign({ key: '1e7502585fc0c59ad024ad6607ae8f8b4461e1ea', 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) }, this.inheritedAttributes, { "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid) }), h("slot", { key: '2d657c57207d93d0054f410f274a6b9e163c6a79' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
84
+ return (h(Host, { key: '1c2fb05a5cff0e1b1208130cc11568423f5a78a0', class: FormSelectClass.root, size: this.size }, this.h.hasSlot('prefix') && h("slot", { key: '3dadb5773f1a2abe0c54f6ee45bb3a404fc99a5b', name: "prefix" }), h("span", { key: '82bc3345147debd858c5f0eb4dd9c58faf168d5d', class: "element" }, h("select", Object.assign({ key: 'ee77d1768a549faa0e94025eb5b08390c49d2d32', 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) }, this.inheritedAttributes, { "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid) }), h("slot", { key: '2c6e5a91381a7a9819b92aa7844a8d512aed9577' }), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
85
85
  var _a;
86
86
  return (h("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));
87
- })), this.success && h("gov-icon", { key: 'cec630f5f88b883d6873d3f8fd4157d56af540ca', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && h("gov-icon", { key: 'd079d76edc2e8db801d8ff840af595a67c9db8e5', class: "validation-icon", name: "exclamation-lg", type: "components" }), h("gov-icon", { key: '349bc31354f24d96a279ea9f0967b416b8357af9', class: "arrow-icon", name: "chevron-down", type: "components" })), this.h.hasSlot('sufix') && h("slot", { key: '3d45a1c71ce49f8a207144b8d72401d593f7d712', name: "sufix" })));
87
+ })), this.success && h("gov-icon", { key: 'b08abba818740a7250956bf03962fb86eade55c2', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && h("gov-icon", { key: '5b9c0a3e7f7b6b678880b2e17e43ae702fff023b', class: "validation-icon", name: "exclamation-lg", type: "components" }), h("gov-icon", { key: '8b9afa5ebf08b1dd680aac751f8a0559b83132fc', class: "arrow-icon", name: "chevron-down", type: "components" })), this.h.hasSlot('sufix') && h("slot", { key: '9178ca16301992f32c30f3609a388a2251d3bf85', name: "sufix" })));
88
88
  }
89
89
  onFocusHandler(e) {
90
90
  this.focused = true;
@@ -257,7 +257,7 @@ export class GovFormSelect {
257
257
  "text": "Indicates the entered value of child form element does conform to the format expected by the application."
258
258
  },
259
259
  "attribute": "success",
260
- "reflect": false
260
+ "reflect": true
261
261
  },
262
262
  "disabled": {
263
263
  "type": "boolean",
@@ -274,7 +274,7 @@ export class GovFormSelect {
274
274
  "text": "Makes the select component disabled.\nThis prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies."
275
275
  },
276
276
  "attribute": "disabled",
277
- "reflect": false,
277
+ "reflect": true,
278
278
  "defaultValue": "false"
279
279
  },
280
280
  "invalid": {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-form-select.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/select/gov-form-select.tsx"],"names":[],"mappings":"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","sourcesContent":["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 {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\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 * 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 * 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('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('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\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('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\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}>\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<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\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\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>\n\t\t\t\t\t\t<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\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\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\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"]}
1
+ {"version":3,"file":"gov-form-select.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/select/gov-form-select.tsx"],"names":[],"mappings":"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","sourcesContent":["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 {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\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 * 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({reflect: true}) 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({reflect: true}) 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 * 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('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('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\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('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\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}>\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<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\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\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>\n\t\t\t\t\t\t<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\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\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\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"]}
@@ -197,7 +197,7 @@ export class GovFormSwitch {
197
197
  "text": "Makes the switch component disabled."
198
198
  },
199
199
  "attribute": "disabled",
200
- "reflect": false,
200
+ "reflect": true,
201
201
  "defaultValue": "false"
202
202
  },
203
203
  "name": {
@@ -238,7 +238,7 @@ export class GovFormSwitch {
238
238
  "text": "Switch's size."
239
239
  },
240
240
  "attribute": "size",
241
- "reflect": false,
241
+ "reflect": true,
242
242
  "defaultValue": "\"m\""
243
243
  },
244
244
  "identifier": {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-form-switch.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/switch/gov-form-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormSwitchClass, FormSwitchSizes, FormSwitchSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormSwitchEvent} from \"./gov-form-switch.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: \"gov-form-switch\",\n})\nexport class GovFormSwitch {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly checkboxId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSwitchElement\n\t/**\n\t * Value of switch\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Switch button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = false\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 */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the switch component disabled.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Name of the switch.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop() readonly size?: FormSwitchSizesType = \"m\"\n\t/**\n\t * Custom switch identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Emitted when the switch has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormSwitchEvent>\n\t/**\n\t * Emitted when the switch loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormSwitchEvent>\n\t/**\n\t * Emitted when the switch change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormSwitchEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSwitchSizes, newValue, FormSwitchClass.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\t@State() inheritedAttributes: Attributes = {}\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"switch\")\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label class={FormSwitchClass.label}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FormSwitchClass.root)} hydrated={this.hydrated} checked={this.checked}\n\t\t\t\t size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={FormSwitchClass.input}\n\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={this.checked}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<span class={FormSwitchClass.indicator}>\n\t\t\t\t\t\t\t\t{this.checked && <gov-icon name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-form-switch.js","sourceRoot":"","sources":["../../../../../../../src/components/gov-form/switch/gov-form-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormSwitchClass, FormSwitchSizes, FormSwitchSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormSwitchEvent} from \"./gov-form-switch.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: \"gov-form-switch\",\n})\nexport class GovFormSwitch {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly checkboxId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSwitchElement\n\t/**\n\t * Value of switch\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Switch button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = false\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 */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the switch component disabled.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Name of the switch.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop({reflect: true}) readonly size?: FormSwitchSizesType = \"m\"\n\t/**\n\t * Custom switch identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Emitted when the switch has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormSwitchEvent>\n\t/**\n\t * Emitted when the switch loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormSwitchEvent>\n\t/**\n\t * Emitted when the switch change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormSwitchEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSwitchSizes, newValue, FormSwitchClass.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\t@State() inheritedAttributes: Attributes = {}\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"switch\")\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label class={FormSwitchClass.label}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FormSwitchClass.root)} hydrated={this.hydrated} checked={this.checked}\n\t\t\t\t size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={FormSwitchClass.input}\n\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={this.checked}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<span class={FormSwitchClass.indicator}>\n\t\t\t\t\t\t\t\t{this.checked && <gov-icon name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSwitchClass.root,\n\t\t\tchecked: this.checked,\n\t\t\tvalue: this.value,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n}\n"]}
@@ -11,7 +11,7 @@ export class GovGridItem {
11
11
  this.h = govHost(this.host);
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: 'd830b7cb16e1ad4a07b5b5348c05434eb31a1f9e', class: this.h.classes(GridItemClass.root), role: "listitem", size: this.size, "size-sm": this.sizeSm, "size-md": this.sizeMd, "size-lg": this.sizeLg, "size-xl": this.sizeXl }, h("slot", { key: '235bd47e47d94457cdbbf1d4530cf2e0bcddc4a3' })));
14
+ return (h(Host, { key: 'e1dc6e3517618361ab3b5e3ad499a5bbbaae3d6a', class: this.h.classes(GridItemClass.root), role: "listitem", size: this.size, "size-sm": this.sizeSm, "size-md": this.sizeMd, "size-lg": this.sizeLg, "size-xl": this.sizeXl }, h("slot", { key: '53780db95fa728f252302cb86923ad9e9fcd9b66' })));
15
15
  }
16
16
  static get is() { return "gov-grid-item"; }
17
17
  static get properties() {
@@ -9,7 +9,7 @@ export class GovGrid {
9
9
  }
10
10
  // vertical / horizontal align
11
11
  render() {
12
- return (h(Host, { key: '81e96a065c6472ae76e4768cf2b8373b94f0d0a4', class: this.h.classes(GridClass.root), "align-x": this.alignX, "align-y": this.alignY, role: "list" }, h("slot", { key: 'c3965bafe6a5870352a7cded3fc96adfbeb41724' })));
12
+ return (h(Host, { key: 'd2f4e42a186e0d8020abc96ef3ca0956e1492d05', class: this.h.classes(GridClass.root), "align-x": this.alignX, "align-y": this.alignY, role: "list" }, h("slot", { key: '46c60ccdda81ce271aeaca46bead1bf33e22c041' })));
13
13
  }
14
14
  static get is() { return "gov-grid"; }
15
15
  static get properties() {
@@ -1,12 +1,11 @@
1
1
  import { Build, h, Host } from "@stencil/core";
2
- import { IconClass } from "./constants";
2
+ import { IconClass, IconColors } from "./constants";
3
3
  import { fetchIcon } from "../../utils/icon.utils";
4
4
  import { govHost } from "../../helpers/Dom/template";
5
5
  import { iconsLazyLoad } from "../../helpers/Dom/win";
6
- import { isString } from "../../utils/helpers.types";
7
- import { IconColors } from "./constants";
8
6
  import { validateProp } from "../../helpers/Validate/props";
9
7
  import { Sizes } from "../../core/constants/sizes";
8
+ import { isValidSVG } from "../../helpers/Dom/document";
10
9
  export class GovIcon {
11
10
  constructor() {
12
11
  this.size = undefined;
@@ -75,7 +74,7 @@ export class GovIcon {
75
74
  try {
76
75
  const { name, type } = this;
77
76
  const data = await fetchIcon({ name, type });
78
- const isValid = isString(data) && data.indexOf('svg') > -1;
77
+ const isValid = isValidSVG(data);
79
78
  this.host.innerHTML = isValid ? data : null;
80
79
  }
81
80
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-icon.js","sourceRoot":"","sources":["../../../../../../src/components/gov-icon/gov-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Build, Component, Element, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {IconClass, IconSizesType} from \"./constants\"\nimport {fetchIcon} from \"../../utils/icon.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {iconsLazyLoad} from \"../../helpers/Dom/win\"\nimport {isString} from \"../../utils/helpers.types\";\nimport { type IconColorType, IconColors } from \"./constants\";\nimport { validateProp } from \"../../helpers/Validate/props\";\nimport {Sizes} from \"../../core/constants/sizes\";\n\n@Component({\n\tassetsDirs: [\"assets\"],\n\ttag: \"gov-icon\",\n})\nexport class GovIcon {\n\tprivate h: GovHost\n\tprivate intersectionObserver: IntersectionObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovIconElement\n\t/**\n\t * Icon size\n\t */\n\t@Prop({reflect: true}) readonly size?: IconSizesType\n\t/**\n\t * Icon color\n\t */\n\t@Prop({reflect: true}) readonly color?: IconColorType\n\t/**\n\t * Name of icon in folder\n\t */\n\t@Prop({reflect: true}) name: string = null\n\t/**\n\t * Type (folder) of icon\n\t */\n\t@Prop({reflect: true}) type = \"components\"\n\n\t@State() private visible = false\n\t@State() private error = false\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(IconColors, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"name\")\n\tprivate async loadIconPathData(): Promise<void> {\n\t\tconst {name, visible} = this\n\t\tif (!Build.isBrowser || !name || !visible) {\n\t\t\treturn\n\t\t}\n\t\tawait this.loadIcon()\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (iconsLazyLoad()) {\n\t\t\tthis.visible = true\n\t\t\tthis.loadIconPathData().finally()\n\t\t} else {\n\t\t\tthis.waitUntilVisible(async () => {\n\t\t\t\tthis.visible = true\n\t\t\t\tawait this.loadIconPathData()\n\t\t\t})\n\t\t}\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tif (this.intersectionObserver) {\n\t\t\tthis.intersectionObserver.disconnect()\n\t\t\tthis.intersectionObserver = null\n\t\t}\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tthis.validateSize(this.size)\n\t\tthis.validateColor(this.color)\n\t\tawait this.loadIconPathData()\n\t}\n\n\tprivate waitUntilVisible(callback: () => void): void {\n\t\tif (!Build.isBrowser || typeof window === \"undefined\" || !(window as any).IntersectionObserver) {\n\t\t\tcallback()\n\t\t\treturn\n\t\t}\n\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tif (this.intersectionObserver) {\n\t\t\t\t\t\t\tthis.intersectionObserver.disconnect()\n\t\t\t\t\t\t\tthis.intersectionObserver = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\t{rootMargin: \"50px\"},\n\t\t)\n\t\tthis.intersectionObserver.observe(this.host)\n\t}\n\n\tprivate async loadIcon() {\n\t\ttry {\n\t\t\tconst {name, type} = this\n\t\t\tconst data = await fetchIcon({name, type})\n\t\t\tconst isValid = isString(data) && data.indexOf('svg') > -1\n\t\t\tthis.host.innerHTML = isValid ? data : null;\n\t\t} catch (e) {\n\t\t\tthis.host.innerHTML = ''\n\t\t\tthis.error = true\n\t\t}\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn null\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(IconClass.root)} size={this.size} color={this.color}/>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-icon.js","sourceRoot":"","sources":["../../../../../../src/components/gov-icon/gov-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Build, Component, Element, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {IconClass, IconColors, type IconColorType, IconSizesType} from \"./constants\"\nimport {fetchIcon} from \"../../utils/icon.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {iconsLazyLoad} from \"../../helpers/Dom/win\"\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {isValidSVG} from \"../../helpers/Dom/document\";\n\n@Component({\n\tassetsDirs: [\"assets\"],\n\ttag: \"gov-icon\",\n})\nexport class GovIcon {\n\tprivate h: GovHost\n\tprivate intersectionObserver: IntersectionObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovIconElement\n\t/**\n\t * Icon size\n\t */\n\t@Prop({reflect: true}) readonly size?: IconSizesType\n\t/**\n\t * Icon color\n\t */\n\t@Prop({reflect: true}) readonly color?: IconColorType\n\t/**\n\t * Name of icon in folder\n\t */\n\t@Prop({reflect: true}) name: string = null\n\t/**\n\t * Type (folder) of icon\n\t */\n\t@Prop({reflect: true}) type = \"components\"\n\n\t@State() private visible = false\n\t@State() private error = false\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(IconColors, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"name\")\n\tprivate async loadIconPathData(): Promise<void> {\n\t\tconst {name, visible} = this\n\t\tif (!Build.isBrowser || !name || !visible) {\n\t\t\treturn\n\t\t}\n\t\tawait this.loadIcon()\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (iconsLazyLoad()) {\n\t\t\tthis.visible = true\n\t\t\tthis.loadIconPathData().finally()\n\t\t} else {\n\t\t\tthis.waitUntilVisible(async () => {\n\t\t\t\tthis.visible = true\n\t\t\t\tawait this.loadIconPathData()\n\t\t\t})\n\t\t}\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tif (this.intersectionObserver) {\n\t\t\tthis.intersectionObserver.disconnect()\n\t\t\tthis.intersectionObserver = null\n\t\t}\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tthis.validateSize(this.size)\n\t\tthis.validateColor(this.color)\n\t\tawait this.loadIconPathData()\n\t}\n\n\tprivate waitUntilVisible(callback: () => void): void {\n\t\tif (!Build.isBrowser || typeof window === \"undefined\" || !(window as any).IntersectionObserver) {\n\t\t\tcallback()\n\t\t\treturn\n\t\t}\n\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tif (this.intersectionObserver) {\n\t\t\t\t\t\t\tthis.intersectionObserver.disconnect()\n\t\t\t\t\t\t\tthis.intersectionObserver = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\t{rootMargin: \"50px\"},\n\t\t)\n\t\tthis.intersectionObserver.observe(this.host)\n\t}\n\n\tprivate async loadIcon() {\n\t\ttry {\n\t\t\tconst {name, type} = this\n\t\t\tconst data = await fetchIcon({name, type})\n\t\t\tconst isValid = isValidSVG(data)\n\t\t\tthis.host.innerHTML = isValid ? data : null;\n\t\t} catch (e) {\n\t\t\tthis.host.innerHTML = ''\n\t\t\tthis.error = true\n\t\t}\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn null\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(IconClass.root)} size={this.size} color={this.color}/>\n\t\t)\n\t}\n}\n"]}