@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
@@ -1 +1 @@
1
- {"file":"gov-form-file.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/file/constants.ts","../../../packages/core/src/utils/file.utils.ts","../../../packages/core/src/components/gov-form/file/gov-form-file.tsx"],"sourcesContent":["export const FormFileClass = {\n\troot: 'gov-form-file',\n\tarea: 'gov-form-file__area',\n\tinput: 'gov-form-file__input',\n\tattachments: 'gov-form-file__attachments',\n}\n","export function formatBytes(bytes: any): string {\n\tconst units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n\tlet l = 0,\n\t\tn = parseInt(bytes, 10) || 0\n\n\twhile (n >= 1024 && ++l) {\n\t\tn = n / 1024\n\t}\n\n\treturn n.toFixed(n < 10 && l > 0 ? 1 : 0) + ' ' + units[l]\n}\n\nexport function fileAcceptValidation(file: File, accept: string): boolean {\n\tif (typeof accept === 'string' && accept.length) {\n\t\treturn (\n\t\t\taccept\n\t\t\t\t.replace(/\\s/g, '')\n\t\t\t\t.split(',')\n\t\t\t\t.filter(accept => {\n\t\t\t\t\treturn new RegExp(accept.replace('*', '.*')).test(file.type)\n\t\t\t\t}).length > 0\n\t\t)\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function fileSizeValidation(file: File, maxSize: number): boolean {\n\tconst fileSize = Math.round(file.size)\n\treturn fileSize <= maxSize\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {FormFileClass} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {fileAcceptValidation, fileSizeValidation, formatBytes} from \"../../../utils/file.utils\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport {GovFormFileEvent, GovFormFileItem} from \"./gov-form-file.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-file\",\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\n\tprivate attributeObserver: AttributeObserver\n\tprivate eventsRegistered = false\n\n\tconstructor() {\n\t\tthis.fileId = createID(\"GovInputFile\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormFileElement\n\t/**\n\t * Expands the file input to fill 100% of the container width.\n\t */\n\t@Prop() readonly expanded: 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 File component disabled.\n\t * This prevents users from being able to interact with the File, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * After selecting the files, the main input element will be reset.\n\t * The propagation of the event with the selected files will not be affected.\n\t */\n\t@Prop({attribute: \"reset-after-pick\"}) readonly resetAfterPick: boolean = false\n\t/**\n\t * Selected files will not be checked for duplicates based on name and size.\n\t */\n\t@Prop({attribute: \"ignore-file-duplication-check\"}) readonly ignoreFileDuplicationCheck: boolean = false\n\t/**\n\t * Show list of attachments\n\t */\n\t@Prop({attribute: \"display-attachments\"}) readonly displayAttachments: boolean = true\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept\n\t */\n\t@Prop() readonly accept: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple\n\t */\n\t@Prop() readonly multiple: boolean = false\n\t/**\n\t * Maximum embedded file size\n\t */\n\t@Prop({attribute: \"max-file-size\"}) readonly maxFileSize: number = -1\n\t/**\n\t * Custom File 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 * Error message when the maximum file size is exceeded\n\t */\n\t@Prop({attribute: \"error-size\"}) readonly errorSize: string = \"Soubor je větší než povolená velikost {FILE_SIZE}\"\n\t/**\n\t * Insert unsupported file error message\n\t */\n\t@Prop({attribute: \"error-accept\"}) readonly errorAccept: string = \"Soubor tohoto typu není povolen\"\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"accessible-remove-label\"}) readonly accessibleRemoveLabel: string = \"Odebrat soubor {FILE_NAME}\"\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({attribute: \"accessible-attachments-label\"}) readonly accessibleAttachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({eventName: \"gov-files\"}) govFiles: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({eventName: \"gov-add-file\"}) govAddFile: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({eventName: \"gov-remove-file\"}) govRemoveFile: EventEmitter<GovFormFileEvent>\n\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() files: GovFormFileItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"File\")\n\t}\n\n\n\tprivate registerListeners() {\n\t\tif (this.eventsRegistered) {\n\t\t\treturn\n\t\t}\n\t\tthis.eventsRegistered = true\n\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add(\"highlight\")\n\t\t}\n\n\t\tfunction unhighlight() {\n\t\t\tthis.areaRef.classList.remove(\"highlight\")\n\t\t}\n\n\t\tthis.inputRef.addEventListener(\n\t\t\t\"change\",\n\t\t\te => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tconst files = (e.target as HTMLInputElement).files\n\t\t\t\tif (this.resetAfterPick) {\n\t\t\t\t\tif (files.length) {\n\t\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse,\n\t\t)\n\n\t\tif (this.expanded) {\n\t\t\tconst events = [\"dragover\", \"dragleave\"]\n\t\t\tconst inEvents = [\"dragenter\", \"dragover\", \"mouseenter\"]\n\t\t\tconst outEvents = [\"dragleave\", \"drop\", \"mouseleave\"]\n\n\t\t\tevents.map(eventName => this.inputRef.addEventListener(eventName, this.preventDefaults.bind(this), false))\n\t\t\tinEvents.map(eventName => this.inputRef.addEventListener(eventName, highlight.bind(this), false))\n\t\t\toutEvents.forEach(eventName => this.inputRef.addEventListener(eventName, unhighlight.bind(this), false))\n\n\t\t\tthis.areaRef.addEventListener(\"drop\", this.handleDrop.bind(this), false)\n\t\t}\n\t}\n\n\tpreventDefaults(e) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t}\n\n\thandleDrop(e: DragEvent) {\n\t\tconst dataTransfer = e.dataTransfer\n\t\tthis.validateFiles(dataTransfer.files)\n\t}\n\n\tprivate validateFiles(files: FileList) {\n\t\tlet filesBuffer: GovFormFileItem[] = []\n\t\tArray.from(files).map(file => {\n\t\t\tconst isFile = this.files.find(item => item.file.name === file.name && item.file.size === file.size) || null\n\t\t\tif (isFile === null || this.ignoreFileDuplicationCheck) {\n\t\t\t\tconst isSizeValid = typeof this.maxFileSize === \"number\" && this.maxFileSize > 0 ? fileSizeValidation(file, this.maxFileSize) : true\n\t\t\t\tconst isAcceptValid = fileAcceptValidation(file, this.accept)\n\t\t\t\tconst newFile = {\n\t\t\t\t\tid: createID(\"GovFormFile\"),\n\t\t\t\t\tfile,\n\t\t\t\t\tacceptValid: isAcceptValid,\n\t\t\t\t\tsizeValid: isSizeValid,\n\t\t\t\t}\n\t\t\t\tif (this.displayAttachments) {\n\t\t\t\t\tthis.files = [...this.files, newFile]\n\t\t\t\t} else {\n\t\t\t\t\tfilesBuffer = [...filesBuffer, newFile]\n\t\t\t\t}\n\t\t\t\tthis.govAddFile.emit({\n\t\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\t\tfile: newFile,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\tfiles: filesBuffer.length ? filesBuffer : this.files,\n\t\t})\n\n\t\tif (this.resetAfterPick) {\n\t\t\tthis.reset().finally()\n\t\t}\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.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.registerListeners()\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\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t expanded={toBoolAttrIfDefined(this.expanded)}>\n\t\t\t\t<div class={FormFileClass.area} ref={el => (this.areaRef = el as HTMLDivElement)}>\n\t\t\t\t\t<slot/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={FormFileClass.input}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tid={this.identifier || this.fileId}\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\taccept={this.accept}\n\t\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.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\tdisabled={this.disabled}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{this.h.hasSlot(\"attachments\") ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<slot name={\"attachments\"}/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.files.length && this.displayAttachments ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<gov-attachments label={this.accessibleAttachmentsLabel}\n\t\t\t\t\t\t\t\t\t\t accessible-label={this.accessibleAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item accessible-remove-labelledby={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t on-gov-remove={() => this.onRemoveFileHandler(item)}>\n\t\t\t\t\t\t\t\t\t<span class={\"sr-only\"} id={item.id}>\n\t\t\t\t\t\t\t\t\t\t{this.accessibleRemoveLabel.replace(\"{FILE_NAME}\", item.file.name)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{item.file.name}\n\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? this.errorAccept : null}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{item.sizeValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace(\"{FILE_SIZE}\", formatBytes(this.maxFileSize))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<span slot=\"info\">({formatBytes(item.file.size)})</span>\n\t\t\t\t\t\t\t\t</gov-attachments-item>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</gov-attachments>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onRemoveFileHandler(file: GovFormFileItem) {\n\t\tconst index = this.files.findIndex(item => item.id === file.id)\n\t\tif (index !== -1) {\n\t\t\tconst files = this.files\n\t\t\tconst removeFile = this.files[index]\n\t\t\tfiles.splice(index, 1)\n\t\t\tthis.files = [...files]\n\t\t\tthis.govRemoveFile.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfile: removeFile,\n\t\t\t})\n\t\t\tthis.govFiles.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfiles,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormFileClass.root,\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: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\te.stopPropagation()\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\t/**\n\t * Returns the reference of the native area element\n\t */\n\t@Method()\n\tasync getAreaRef(): Promise<HTMLDivElement> {\n\t\treturn this.areaRef\n\t}\n\n\t/**\n\t * Remove all files from component state\n\t */\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.files = []\n\t\tthis.inputRef.value = '';\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-file.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/file/constants.ts","../../../packages/core/src/utils/file.utils.ts","../../../packages/core/src/components/gov-form/file/gov-form-file.tsx"],"sourcesContent":["export const FormFileClass = {\n\troot: 'gov-form-file',\n\tarea: 'gov-form-file__area',\n\tinput: 'gov-form-file__input',\n\tattachments: 'gov-form-file__attachments',\n}\n","export function formatBytes(bytes: any): string {\n\tconst units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n\tlet l = 0,\n\t\tn = parseInt(bytes, 10) || 0\n\n\twhile (n >= 1024 && ++l) {\n\t\tn = n / 1024\n\t}\n\n\treturn n.toFixed(n < 10 && l > 0 ? 1 : 0) + ' ' + units[l]\n}\n\nexport function fileAcceptValidation(file: File, accept: string): boolean {\n\tif (typeof accept === 'string' && accept.length) {\n\t\treturn (\n\t\t\taccept\n\t\t\t\t.replace(/\\s/g, '')\n\t\t\t\t.split(',')\n\t\t\t\t.filter(accept => {\n\t\t\t\t\treturn new RegExp(accept.replace('*', '.*')).test(file.type)\n\t\t\t\t}).length > 0\n\t\t)\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function fileSizeValidation(file: File, maxSize: number): boolean {\n\tconst fileSize = Math.round(file.size)\n\treturn fileSize <= maxSize\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {FormFileClass} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {fileAcceptValidation, fileSizeValidation, formatBytes} from \"../../../utils/file.utils\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport {GovFormFileEvent, GovFormFileItem} from \"./gov-form-file.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-file\",\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\n\tprivate attributeObserver: AttributeObserver\n\tprivate eventsRegistered = false\n\n\tconstructor() {\n\t\tthis.fileId = createID(\"GovInputFile\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormFileElement\n\t/**\n\t * Expands the file input to fill 100% of the container width.\n\t */\n\t@Prop() readonly expanded: 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 File component disabled.\n\t * This prevents users from being able to interact with the File, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * After selecting the files, the main input element will be reset.\n\t * The propagation of the event with the selected files will not be affected.\n\t */\n\t@Prop({attribute: \"reset-after-pick\"}) readonly resetAfterPick: boolean = false\n\t/**\n\t * Selected files will not be checked for duplicates based on name and size.\n\t */\n\t@Prop({attribute: \"ignore-file-duplication-check\"}) readonly ignoreFileDuplicationCheck: boolean = false\n\t/**\n\t * Show list of attachments\n\t */\n\t@Prop({attribute: \"display-attachments\"}) readonly displayAttachments: boolean = true\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept\n\t */\n\t@Prop() readonly accept: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple\n\t */\n\t@Prop() readonly multiple: boolean = false\n\t/**\n\t * Maximum embedded file size\n\t */\n\t@Prop({attribute: \"max-file-size\"}) readonly maxFileSize: number = -1\n\t/**\n\t * Custom File 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 * Error message when the maximum file size is exceeded\n\t */\n\t@Prop({attribute: \"error-size\"}) readonly errorSize: string = \"Soubor je větší než povolená velikost {FILE_SIZE}\"\n\t/**\n\t * Insert unsupported file error message\n\t */\n\t@Prop({attribute: \"error-accept\"}) readonly errorAccept: string = \"Soubor tohoto typu není povolen\"\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"accessible-remove-label\"}) readonly accessibleRemoveLabel: string = \"Odebrat soubor {FILE_NAME}\"\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({attribute: \"accessible-attachments-label\"}) readonly accessibleAttachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({eventName: \"gov-files\"}) govFiles: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({eventName: \"gov-add-file\"}) govAddFile: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({eventName: \"gov-remove-file\"}) govRemoveFile: EventEmitter<GovFormFileEvent>\n\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() files: GovFormFileItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"File\")\n\t}\n\n\n\tprivate registerListeners() {\n\t\tif (this.eventsRegistered) {\n\t\t\treturn\n\t\t}\n\t\tthis.eventsRegistered = true\n\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add(\"highlight\")\n\t\t}\n\n\t\tfunction unhighlight() {\n\t\t\tthis.areaRef.classList.remove(\"highlight\")\n\t\t}\n\n\t\tthis.inputRef.addEventListener(\n\t\t\t\"change\",\n\t\t\te => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tconst files = (e.target as HTMLInputElement).files\n\t\t\t\tif (this.resetAfterPick) {\n\t\t\t\t\tif (files.length) {\n\t\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse,\n\t\t)\n\n\t\tif (this.expanded) {\n\t\t\tconst events = [\"dragover\", \"dragleave\"]\n\t\t\tconst inEvents = [\"dragenter\", \"dragover\", \"mouseenter\"]\n\t\t\tconst outEvents = [\"dragleave\", \"mouseleave\"]\n\n\t\t\tevents.map(eventName => this.inputRef.addEventListener(eventName, this.preventDefaults.bind(this), false))\n\t\t\tinEvents.map(eventName => this.inputRef.addEventListener(eventName, highlight.bind(this), false))\n\t\t\toutEvents.forEach(eventName => this.inputRef.addEventListener(eventName, unhighlight.bind(this), false))\n\t\t}\n\t}\n\n\tpreventDefaults(e) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t}\n\n\thandleDrop(e: DragEvent) {\n\t\tconst dataTransfer = e.dataTransfer\n\t\tthis.validateFiles(dataTransfer.files)\n\t}\n\n\tprivate validateFiles(files: FileList) {\n\t\tlet filesBuffer: GovFormFileItem[] = []\n\t\tArray.from(files).map(file => {\n\t\t\tconst isFile = this.files.find(item => item.file.name === file.name && item.file.size === file.size) || null\n\t\t\tif (isFile === null || this.ignoreFileDuplicationCheck) {\n\t\t\t\tconst isSizeValid = typeof this.maxFileSize === \"number\" && this.maxFileSize > 0 ? fileSizeValidation(file, this.maxFileSize) : true\n\t\t\t\tconst isAcceptValid = fileAcceptValidation(file, this.accept)\n\t\t\t\tconst newFile = {\n\t\t\t\t\tid: createID(\"GovFormFile\"),\n\t\t\t\t\tfile,\n\t\t\t\t\tacceptValid: isAcceptValid,\n\t\t\t\t\tsizeValid: isSizeValid,\n\t\t\t\t}\n\t\t\t\tif (this.displayAttachments) {\n\t\t\t\t\tthis.files = [...this.files, newFile]\n\t\t\t\t} else {\n\t\t\t\t\tfilesBuffer = [...filesBuffer, newFile]\n\t\t\t\t}\n\t\t\t\tthis.govAddFile.emit({\n\t\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\t\tfile: newFile,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\tfiles: filesBuffer.length ? filesBuffer : this.files,\n\t\t})\n\n\t\tif (this.resetAfterPick) {\n\t\t\tthis.reset().finally()\n\t\t}\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.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.registerListeners()\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\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t expanded={toBoolAttrIfDefined(this.expanded)}>\n\t\t\t\t<div class={FormFileClass.area} ref={el => (this.areaRef = el as HTMLDivElement)}>\n\t\t\t\t\t<slot/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={FormFileClass.input}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tid={this.identifier || this.fileId}\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\taccept={this.accept}\n\t\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.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\tdisabled={this.disabled}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{this.h.hasSlot(\"attachments\") ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<slot name={\"attachments\"}/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.files.length && this.displayAttachments ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<gov-attachments label={this.accessibleAttachmentsLabel}\n\t\t\t\t\t\t\t\t\t\t accessible-label={this.accessibleAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item accessible-remove-labelledby={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t on-gov-remove={() => this.onRemoveFileHandler(item)}>\n\t\t\t\t\t\t\t\t\t<span class={\"sr-only\"} id={item.id}>\n\t\t\t\t\t\t\t\t\t\t{this.accessibleRemoveLabel.replace(\"{FILE_NAME}\", item.file.name)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{item.file.name}\n\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? this.errorAccept : null}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{item.sizeValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace(\"{FILE_SIZE}\", formatBytes(this.maxFileSize))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<span slot=\"info\">({formatBytes(item.file.size)})</span>\n\t\t\t\t\t\t\t\t</gov-attachments-item>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</gov-attachments>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onRemoveFileHandler(file: GovFormFileItem) {\n\t\tconst index = this.files.findIndex(item => item.id === file.id)\n\t\tif (index !== -1) {\n\t\t\tconst files = this.files\n\t\t\tconst removeFile = this.files[index]\n\t\t\tfiles.splice(index, 1)\n\t\t\tthis.files = [...files]\n\t\t\tthis.govRemoveFile.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfile: removeFile,\n\t\t\t})\n\t\t\tthis.govFiles.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfiles,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormFileClass.root,\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: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\te.stopPropagation()\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\t/**\n\t * Returns the reference of the native area element\n\t */\n\t@Method()\n\tasync getAreaRef(): Promise<HTMLDivElement> {\n\t\treturn this.areaRef\n\t}\n\n\t/**\n\t * Remove all files from component state\n\t */\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.files = []\n\t\tthis.inputRef.value = '';\n\t}\n}\n"],"version":3}
@@ -1,10 +1,10 @@
1
- import { r as registerInstance, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { a as FormGroupClass, b as FormGroupSizes, c as FormGroupOrientation } from './constants-4da2b3c0.js';
3
3
  import { g as govHost } from './template-7ecee4d1.js';
4
- import { v as validateProp } from './props-fb6587c3.js';
4
+ import { v as validateProp } from './props-9d3c7ac1.js';
5
5
  import './utils-e10e994d.js';
6
6
  import './sizes-5b9e579f.js';
7
- import './gov.log-066c3139.js';
7
+ import './gov.log-6b64cda6.js';
8
8
 
9
9
  const GovFormGroup = class {
10
10
  constructor(hostRef) {
@@ -28,7 +28,7 @@ const GovFormGroup = class {
28
28
  this.validateOrientation(this.orientation);
29
29
  }
30
30
  render() {
31
- return (h(Host, { key: 'a6b2a022f3c8573fb1bb7424d6a5ac2dc54b101b', gap: this.gap, class: this.h.classes(FormGroupClass.root) }, h("slot", { key: 'e1b5f38d87e9f46f555e2fc3d247a9c3c10b5872' })));
31
+ return (h(Host, { key: 'b7a379997ac1f4080471c42c23cad6f0ed055fd7', gap: this.gap, class: this.h.classes(FormGroupClass.root) }, h("slot", { key: 'a36809822e81913ec6c8cabdee9eaf64c9f9f471' })));
32
32
  }
33
33
  get host() { return getElement(this); }
34
34
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { g as govForm, l as FormInputClass, m as FormInputSizes } from './form-713f26fd.js';
3
3
  import { g as govHost, c as toBoolAttr, t as toBoolAttrIfDefined, d as toOnOffAttrIfDefined } from './template-7ecee4d1.js';
4
- import { v as validateProp } from './props-fb6587c3.js';
4
+ import { v as validateProp } from './props-9d3c7ac1.js';
5
5
  import { c as createID } from './string.utils-1da8f8fb.js';
6
6
  import { A as AttributeObserver, a as ariaAttributes } from './attribute-5561aca4.js';
7
7
  import { i as inheritAriaAttributes } from './accessibility-f83c991a.js';
@@ -11,7 +11,7 @@ import { C as Colors } from './colors-4cf64720.js';
11
11
  import './constants-bc210662.js';
12
12
  import './constants-085f9943.js';
13
13
  import './constants-43f10674.js';
14
- import './gov.log-066c3139.js';
14
+ import './gov.log-6b64cda6.js';
15
15
 
16
16
  var Tags;
17
17
  (function (Tags) {
@@ -97,11 +97,11 @@ const GovFormInput = class {
97
97
  }
98
98
  render() {
99
99
  const Tag = this.multiline ? Tags.TEXTAREA : Tags.INPUT;
100
- 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) &&
101
- 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) &&
102
- h("div", { key: '49cb072b3448735677c47883d851557f107dd6cb', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, this.success && !this.multiline &&
103
- h("gov-icon", { key: 'f00df3e88ba3a0d695bf9f33ddb51af7a8fb4a96', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && !this.multiline &&
104
- 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" })));
100
+ 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) &&
101
+ 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) &&
102
+ h("div", { key: '19ab7fe83fcecde7a506f21611fae64126464b88', class: FormInputClass.icons, onClick: () => this.inputRef.focus() }, this.success && !this.multiline &&
103
+ h("gov-icon", { key: '9dd7b8413b351d957a63f7df09aee8b6e3e0ac53', class: "validation-icon", name: "check-lg", type: "components" }), this.invalid && !this.multiline &&
104
+ 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" })));
105
105
  }
106
106
  onFocusHandler(e) {
107
107
  e.stopPropagation();
@@ -259,7 +259,7 @@ const GovSkeleton = class {
259
259
  return Object.assign({}, dimenssionsStyles);
260
260
  }
261
261
  render() {
262
- return (h(Host, Object.assign({ key: '9e026075a3ee04f09546bb686ec04309374da466', size: this.size, color: this.color, class: {
262
+ return (h(Host, Object.assign({ key: '175dad78f57ee2e44fe3097e0595f59254e1003b', size: this.size, color: this.color, class: {
263
263
  [SkeletonClass.root]: true,
264
264
  circle: this.shape === "circle",
265
265
  line: this.shape === "line",
@@ -0,0 +1,23 @@
1
+ import { r as registerInstance, d as createEvent, h, a as Host } from './index-8dc58a1a.js';
2
+ import { F as FormLabelClass } from './constants-43f10674.js';
3
+ import './utils-e10e994d.js';
4
+ import './sizes-5b9e579f.js';
5
+
6
+ const GovFormLabel = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.govClick = createEvent(this, "gov-click", 7);
10
+ this.identifier = undefined;
11
+ this.size = 'm';
12
+ this.required = false;
13
+ this.legend = false;
14
+ }
15
+ render() {
16
+ const Tag = this.legend ? 'legend' : 'label';
17
+ 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)));
18
+ }
19
+ };
20
+
21
+ export { GovFormLabel as gov_form_label };
22
+
23
+ //# sourceMappingURL=gov-form-label.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gov-form-label.entry.js","mappings":";;;;;MAMa,YAAY;;;;;oBAQsB,GAAG;wBAIZ,KAAK;sBAKP,KAAK;;IAMxC,MAAM;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;QAC5C,QACC,EAAC,IAAI,qDAAC,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAChD,EAAC,GAAG,qDAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAC9F,8DAAa,EACZ,IAAI,CAAC,QAAQ,GAAG,YAAM,KAAK,EAAC,sBAAsB,cAAe,GAAG,IAAI,CACpE,CACA,EACP;KACD;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/label/gov-form-label.tsx"],"sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Host } from '@stencil/core'\nimport { FormLabelClass, FormLabelSizesTypes } from './constants'\n\n@Component({\n\ttag: 'gov-form-label',\n})\nexport class GovFormLabel {\n\t/**\n\t * Identifier for label.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Label's size.\n\t */\n\t@Prop() readonly size?: FormLabelSizesTypes = 'm'\n\t/**\n\t * Set whether the input is required or not.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Use label as a legend for better accessibility.\n\t * Note: Don't forget to set the fieldset attribute of the gov-form-control component\n\t */\n\t@Prop() readonly legend: boolean = false\n\t/**\n\t * Emitted when the label click.\n\t */\n\t@Event({ eventName: 'gov-click' }) govClick: EventEmitter<PointerEvent>\n\n\trender() {\n\t\tconst Tag = this.legend ? 'legend' : 'label'\n\t\treturn (\n\t\t\t<Host class={FormLabelClass.root} size={this.size}>\n\t\t\t\t<Tag class={FormLabelClass.label} htmlFor={this.identifier} onClick={() => this.govClick.emit()}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t{this.required ? <span class=\"gov-color--error-500\">&nbsp;*</span> : null}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { g as govForm, c as FormMultiSelectClass, d as FormMultiselectSizes } from './form-713f26fd.js';
3
3
  import { g as govHost, c as toBoolAttr, t as toBoolAttrIfDefined } from './template-7ecee4d1.js';
4
- import { v as validateProp } from './props-fb6587c3.js';
4
+ import { v as validateProp } from './props-9d3c7ac1.js';
5
5
  import { c as createID, r as removeDiacritics } from './string.utils-1da8f8fb.js';
6
6
  import { p as propsValueToArray } from './array.utils-85696abd.js';
7
7
  import { t as tick } from './stencil.utils-f3c6c68d.js';
@@ -12,7 +12,7 @@ import './constants-bc210662.js';
12
12
  import './colors-4cf64720.js';
13
13
  import './constants-085f9943.js';
14
14
  import './constants-43f10674.js';
15
- import './gov.log-066c3139.js';
15
+ import './gov.log-6b64cda6.js';
16
16
  import './helpers.types-43ddbdb8.js';
17
17
 
18
18
  const GovFormMultiSelect = class {
@@ -178,11 +178,11 @@ const GovFormMultiSelect = class {
178
178
  });
179
179
  }
180
180
  render() {
181
- 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) => {
181
+ 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) => {
182
182
  var _a;
183
183
  const selectedOption = this.selectedValueIndex(option.value);
184
184
  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));
185
- })), 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 => {
185
+ })), 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 => {
186
186
  var _a, _b;
187
187
  const option = this.getOption(selected);
188
188
  if (!option)
@@ -1 +1 @@
1
- {"file":"gov-form-multi-select.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"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"],"version":3}
1
+ {"file":"gov-form-multi-select.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"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"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, a as Host } from './index-c263e031.js';
1
+ import { r as registerInstance, h, a as Host } from './index-8dc58a1a.js';
2
2
 
3
3
  const FormPasswordPowerClass = {
4
4
  root: 'gov-form-password-power',
@@ -12,7 +12,7 @@ const GovFormPasswordPower = class {
12
12
  this.power = undefined;
13
13
  }
14
14
  render() {
15
- 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' }))));
15
+ 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' }))));
16
16
  }
17
17
  };
18
18
 
@@ -1,13 +1,13 @@
1
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { d as FormRadioGroupClass, a as FormGroupClass, b as FormGroupSizes, c as FormGroupOrientation } from './constants-4da2b3c0.js';
3
3
  import { g as govHost } from './template-7ecee4d1.js';
4
- import { v as validateProp } from './props-fb6587c3.js';
4
+ import { v as validateProp } from './props-9d3c7ac1.js';
5
5
  import { t as tick } from './stencil.utils-f3c6c68d.js';
6
6
  import './utils-e10e994d.js';
7
7
  import './sizes-5b9e579f.js';
8
- import './gov.log-066c3139.js';
8
+ import './gov.log-6b64cda6.js';
9
9
 
10
- const govFormGroupCss = ":root{--roboto:Roboto, sans-serif}gov-form-group,.gov-form-group,gov-form-radio-group,.gov-form-radio-group,gov-form-checkbox-group,.gov-form-checkbox-group{margin-top:0 !important;margin-bottom:0 !important;position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,.gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,.gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-checkbox-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],.gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],.gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-checkbox-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,.gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=xs],.gov-form-group[gap=xs],gov-form-radio-group[gap=xs],.gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-checkbox-group[gap=xs]{gap:var(--gap, var(--spacing-xs-nudge))}gov-form-group[gap=s],.gov-form-group[gap=s],gov-form-radio-group[gap=s],.gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-checkbox-group[gap=s]{gap:var(--gap, var(--spacing-s))}gov-form-group[gap=m],.gov-form-group[gap=m],gov-form-radio-group[gap=m],.gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-checkbox-group[gap=m]{gap:var(--gap, var(--spacing-s-nudge))}gov-form-group[gap=l],.gov-form-group[gap=l],gov-form-radio-group[gap=l],.gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-checkbox-group[gap=l]{gap:var(--gap, var(--spacing-m))}gov-form-group[gap=xl],.gov-form-group[gap=xl],gov-form-radio-group[gap=xl],.gov-form-radio-group[gap=xl],gov-form-checkbox-group[gap=xl],.gov-form-checkbox-group[gap=xl]{gap:var(--gap, var(--spacing-m-nudge))}";
10
+ const govFormGroupCss = "gov-form-group,.gov-form-group,gov-form-radio-group,.gov-form-radio-group,gov-form-checkbox-group,.gov-form-checkbox-group{margin-top:0;margin-bottom:0;position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,.gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,.gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-checkbox-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],.gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],.gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-checkbox-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,.gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=xs],.gov-form-group[gap=xs],gov-form-radio-group[gap=xs],.gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-checkbox-group[gap=xs]{gap:var(--gap, var(--spacing-xs-nudge))}gov-form-group[gap=s],.gov-form-group[gap=s],gov-form-radio-group[gap=s],.gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-checkbox-group[gap=s]{gap:var(--gap, var(--spacing-s))}gov-form-group[gap=m],.gov-form-group[gap=m],gov-form-radio-group[gap=m],.gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-checkbox-group[gap=m]{gap:var(--gap, var(--spacing-s-nudge))}gov-form-group[gap=l],.gov-form-group[gap=l],gov-form-radio-group[gap=l],.gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-checkbox-group[gap=l]{gap:var(--gap, var(--spacing-m))}gov-form-group[gap=xl],.gov-form-group[gap=xl],gov-form-radio-group[gap=xl],.gov-form-radio-group[gap=xl],gov-form-checkbox-group[gap=xl],.gov-form-checkbox-group[gap=xl]{gap:var(--gap, var(--spacing-m-nudge))}";
11
11
  const GovFormRadioGroupStyle0 = govFormGroupCss;
12
12
 
13
13
  const GovFormRadioGroup = class {
@@ -54,7 +54,7 @@ const GovFormRadioGroup = class {
54
54
  });
55
55
  }
56
56
  render() {
57
- return (h(Host, { key: '5a9b1bd507ef9c0a57cdb25fb200ab6c9fb46604', gap: this.gap, class: this.h.classes(FormGroupClass.root), value: this.value }, h("slot", { key: '34b587d61d716b51729431c52879b6fcd0285fee' })));
57
+ return (h(Host, { key: '0526062e74e480edc22bdbbdf8c1f82a91ff463d', gap: this.gap, class: this.h.classes(FormGroupClass.root), value: this.value }, h("slot", { key: 'f11696b75d4f0c4bc72da3ca70d3111825edd36a' })));
58
58
  }
59
59
  get host() { return getElement(this); }
60
60
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"gov-form-radio-group.entry.js","mappings":";;;;;;;;;AAAA,MAAM,eAAe,GAAG,ywEAAywE,CAAC;AAClyE,gCAAe,eAAe;;MCmBjB,iBAAiB;IAG7B;;;QAoCA,iBAAY,GAAG,CAAC,KAAkC;YACjD,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,mBAAmB,CAAC,IAAI;aACnC,CAAC,CAAA;SACF,CAAA;mBAnC2C,SAAS;2BAIK,UAAU;qBAIR,SAAS;QAfpE,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAqBD,WAAW,CAAC,QAAgB;QAC3B,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SAC3D;KACD;IAGD,mBAAmB,CAAC,QAAgB;QACnC,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SACjE;KACD;IAWD,iBAAiB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KAC1C;IAED,kBAAkB;QACjB,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;KACpC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;aACzD;YACD,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAA;KACF;IAED,MAAM;QACL,QACC,EAAC,IAAI,qDAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IACjF,8DAAa,CACP,EACP;KACD;;;;;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-radio-group","../../../packages/core/src/components/gov-form/group/gov-form-radio-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType,\n\tFormRadioGroupClass\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormRadioEvent} from \"../radio/gov-form-radio.types\"\nimport {FormRadioGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\n\n@Component({\n\ttag: \"gov-form-radio-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormRadioGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string = undefined\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormRadioGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormRadioEvent>) => {\n\t\tevent.stopPropagation()\n\t\tthis.value = event.detail.value\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormRadioGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-radio').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = element.value === this.value;\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-radio-group.entry.js","mappings":";;;;;;;;;AAAA,MAAM,eAAe,GAAG,itEAAitE,CAAC;AAC1uE,gCAAe,eAAe;;MCmBjB,iBAAiB;IAG7B;;;QAoCA,iBAAY,GAAG,CAAC,KAAkC;YACjD,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,mBAAmB,CAAC,IAAI;aACnC,CAAC,CAAA;SACF,CAAA;mBAnC2C,SAAS;2BAIK,UAAU;qBAIR,SAAS;QAfpE,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAqBD,WAAW,CAAC,QAAgB;QAC3B,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SAC3D;KACD;IAGD,mBAAmB,CAAC,QAAgB;QACnC,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SACjE;KACD;IAWD,iBAAiB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KAC1C;IAED,kBAAkB;QACjB,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;KACpC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;aACzD;YACD,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAA;KACF;IAED,MAAM;QACL,QACC,EAAC,IAAI,qDAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IACjF,8DAAa,CACP,EACP;KACD;;;;;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-radio-group","../../../packages/core/src/components/gov-form/group/gov-form-radio-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType,\n\tFormRadioGroupClass\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormRadioEvent} from \"../radio/gov-form-radio.types\"\nimport {FormRadioGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\n\n@Component({\n\ttag: \"gov-form-radio-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormRadioGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string = undefined\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormRadioGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormRadioEvent>) => {\n\t\tevent.stopPropagation()\n\t\tthis.value = event.detail.value\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormRadioGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-radio').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = element.value === this.value;\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -1,12 +1,12 @@
1
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, d as createEvent, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { c as createID } from './string.utils-1da8f8fb.js';
3
- import { v as validateProp } from './props-fb6587c3.js';
3
+ import { v as validateProp } from './props-9d3c7ac1.js';
4
4
  import { g as govForm, e as FormRadioClass, f as FormRadioSizes } from './form-713f26fd.js';
5
5
  import { g as govHost, c as toBoolAttr, t as toBoolAttrIfDefined } from './template-7ecee4d1.js';
6
6
  import { F as Fragment } from './Fragment-8d8d54fb.js';
7
7
  import { A as AttributeObserver, a as ariaAttributes } from './attribute-5561aca4.js';
8
8
  import { i as inheritAriaAttributes } from './accessibility-f83c991a.js';
9
- import './gov.log-066c3139.js';
9
+ import './gov.log-6b64cda6.js';
10
10
  import './utils-e10e994d.js';
11
11
  import './sizes-5b9e579f.js';
12
12
  import './constants-bc210662.js';
@@ -1 +1 @@
1
- {"file":"gov-form-radio.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/radio/gov-form-radio.tsx"],"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"],"version":3}
1
+ {"file":"gov-form-radio.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/radio/gov-form-radio.tsx"],"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"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, a as Host, g as getElement } from './index-c263e031.js';
1
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-8dc58a1a.js';
2
2
  import { C as Colors } from './colors-4cf64720.js';
3
3
  import { p as pick } from './utils-e10e994d.js';
4
4
  import { S as Sizes } from './sizes-5b9e579f.js';
@@ -16,7 +16,7 @@ const GovFormSearch = class {
16
16
  this.color = 'neutral';
17
17
  }
18
18
  render() {
19
- 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" })));
19
+ 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" })));
20
20
  }
21
21
  get host() { return getElement(this); }
22
22
  };