@gov-design-system-ce/components 0.0.4 → 0.0.6

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 (986) hide show
  1. package/dist/cjs/{constants-5c8f444a.js → constants-0c6c8e11.js} +8 -3
  2. package/dist/cjs/constants-0c6c8e11.js.map +1 -0
  3. package/dist/cjs/constants-1490a5eb.js +25 -0
  4. package/dist/cjs/constants-1490a5eb.js.map +1 -0
  5. package/dist/cjs/constants-20b3f7ee.js +28 -0
  6. package/dist/cjs/constants-20b3f7ee.js.map +1 -0
  7. package/dist/cjs/{constants-0c6897bc.js → constants-21559414.js} +8 -3
  8. package/dist/cjs/constants-21559414.js.map +1 -0
  9. package/dist/cjs/constants-23b7a283.js +33 -0
  10. package/dist/cjs/constants-23b7a283.js.map +1 -0
  11. package/dist/cjs/constants-5f6bbc50.js +36 -0
  12. package/dist/cjs/constants-5f6bbc50.js.map +1 -0
  13. package/dist/cjs/constants-86fb4eb4.js +19 -0
  14. package/dist/cjs/constants-86fb4eb4.js.map +1 -0
  15. package/dist/cjs/constants-caad94b4.js +16 -0
  16. package/dist/cjs/constants-caad94b4.js.map +1 -0
  17. package/dist/cjs/constants-dc2ba6bd.js +26 -0
  18. package/dist/cjs/constants-dc2ba6bd.js.map +1 -0
  19. package/dist/cjs/{constants-a44c32bc.js → constants-ded92f8a.js} +1 -3
  20. package/dist/cjs/constants-ded92f8a.js.map +1 -0
  21. package/dist/cjs/{constants-477ca85a.js → constants-e175be18.js} +7 -4
  22. package/dist/cjs/constants-e175be18.js.map +1 -0
  23. package/dist/cjs/constants-e8760a84.js +20 -0
  24. package/dist/cjs/constants-e8760a84.js.map +1 -0
  25. package/dist/cjs/core.cjs.js +1 -1
  26. package/dist/cjs/{form-d9f0f50c.js → form-49298257.js} +42 -10
  27. package/dist/cjs/form-49298257.js.map +1 -0
  28. package/dist/cjs/gov-accordion-item.cjs.entry.js +8 -8
  29. package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gov-accordion.cjs.entry.js +10 -10
  31. package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gov-alert.cjs.entry.js +6 -4
  33. package/dist/cjs/gov-alert.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gov-app.cjs.entry.js +165 -45
  35. package/dist/cjs/gov-app.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-attachments_3.cjs.entry.js +9 -9
  37. package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gov-backdrop.cjs.entry.js +4 -4
  39. package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gov-badge.cjs.entry.js +11 -10
  41. package/dist/cjs/gov-badge.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +4 -5
  43. package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gov-button.cjs.entry.js +12 -23
  45. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gov-card.cjs.entry.js +3 -3
  47. package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gov-cookiebar.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gov-error-code.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +8 -8
  53. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gov-form-checkbox.cjs.entry.js +13 -22
  55. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gov-form-control.cjs.entry.js +30 -29
  57. package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gov-form-file.cjs.entry.js +8 -8
  59. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gov-form-input.cjs.entry.js +13 -19
  61. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gov-form-multi-select.cjs.entry.js +10 -10
  63. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gov-form-radio.cjs.entry.js +12 -12
  65. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gov-form-search.cjs.entry.js +0 -2
  67. package/dist/cjs/gov-form-search.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gov-form-select.cjs.entry.js +13 -13
  69. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gov-form-switch.cjs.entry.js +12 -12
  71. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gov-grid-item.cjs.entry.js +2 -3
  73. package/dist/cjs/gov-grid-item.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gov-grid.cjs.entry.js +1 -2
  75. package/dist/cjs/gov-grid.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gov-icon.cjs.entry.js +10 -5
  77. package/dist/cjs/gov-icon.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gov-layout-column.cjs.entry.js +25 -0
  79. package/dist/cjs/gov-layout-column.cjs.entry.js.map +1 -0
  80. package/dist/cjs/gov-layout.cjs.entry.js +12 -3
  81. package/dist/cjs/gov-layout.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gov-loading.cjs.entry.js +1 -1
  83. package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gov-message.cjs.entry.js +4 -2
  85. package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gov-modal.cjs.entry.js +3 -3
  87. package/dist/cjs/gov-modal.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gov-nav.cjs.entry.js +3 -3
  89. package/dist/cjs/gov-pagination.cjs.entry.js +26 -21
  90. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gov-prompt.cjs.entry.js +3 -3
  92. package/dist/cjs/gov-prompt.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gov-side-nav-item.cjs.entry.js +1 -1
  94. package/dist/cjs/gov-side-nav-item.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gov-side-nav.cjs.entry.js +3 -3
  96. package/dist/cjs/gov-side-nav.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gov-spacer.cjs.entry.js +11 -13
  98. package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gov-statsbar-item.cjs.entry.js +4 -2
  100. package/dist/cjs/gov-statsbar-item.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gov-statsbar.cjs.entry.js +7 -6
  102. package/dist/cjs/gov-statsbar.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gov-stepper-item.cjs.entry.js +9 -9
  104. package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gov-stepper.cjs.entry.js +9 -8
  106. package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gov-tabs-item.cjs.entry.js +3 -3
  108. package/dist/cjs/gov-tabs-item.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gov-tabs.cjs.entry.js +11 -11
  110. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  112. package/dist/cjs/gov-tiles.cjs.entry.js +1 -1
  113. package/dist/cjs/gov-tiles.cjs.entry.js.map +1 -1
  114. package/dist/cjs/gov-toast.cjs.entry.js +21 -18
  115. package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
  116. package/dist/cjs/gov-tooltip-content.cjs.entry.js +3 -2
  117. package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
  118. package/dist/cjs/gov-tooltip.cjs.entry.js +15 -14
  119. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  120. package/dist/cjs/gov-wizzard-item.cjs.entry.js +10 -11
  121. package/dist/cjs/gov-wizzard-item.cjs.entry.js.map +1 -1
  122. package/dist/cjs/gov-wizzard.cjs.entry.js +9 -9
  123. package/dist/cjs/gov-wizzard.cjs.entry.js.map +1 -1
  124. package/dist/cjs/index-356717ae.js +2 -6
  125. package/dist/cjs/loader.cjs.js +1 -1
  126. package/dist/cjs/{props-cc21d3d7.js → props-5f82e4c0.js} +4 -4
  127. package/dist/cjs/props-5f82e4c0.js.map +1 -0
  128. package/dist/cjs/template-e1c4ff78.js.map +1 -1
  129. package/dist/cjs/{utils-4ae73637.js → utils-c9b1bba3.js} +3 -1
  130. package/dist/cjs/utils-c9b1bba3.js.map +1 -0
  131. package/dist/cjs/{variants-bacf037a.js → variants-f5ffeef3.js} +3 -3
  132. package/dist/cjs/variants-f5ffeef3.js.map +1 -0
  133. package/dist/cjs/{wcag-eca97102.js → wcag-6efc0ab7.js} +2 -2
  134. package/dist/cjs/wcag-6efc0ab7.js.map +1 -0
  135. package/dist/cjs/{win-ac5c1806.js → win-84bda0aa.js} +3 -3
  136. package/dist/cjs/win-84bda0aa.js.map +1 -0
  137. package/dist/collection/collection-manifest.json +1 -2
  138. package/dist/collection/components/gov-accordion/constants.js +5 -4
  139. package/dist/collection/components/gov-accordion/constants.js.map +1 -1
  140. package/dist/collection/components/gov-accordion/gov-accordion-item.js +17 -20
  141. package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
  142. package/dist/collection/components/gov-accordion/gov-accordion.js +17 -18
  143. package/dist/collection/components/gov-accordion/gov-accordion.js.map +1 -1
  144. package/dist/collection/components/gov-alert/constants.js +3 -9
  145. package/dist/collection/components/gov-alert/constants.js.map +1 -1
  146. package/dist/collection/components/gov-alert/gov-alert.js +6 -7
  147. package/dist/collection/components/gov-alert/gov-alert.js.map +1 -1
  148. package/dist/collection/components/gov-app/gov-app.js +3 -3
  149. package/dist/collection/components/gov-app/gov-app.js.map +1 -1
  150. package/dist/collection/components/gov-attachments/gov-attachments-item.js +5 -5
  151. package/dist/collection/components/gov-attachments/gov-attachments-item.js.map +1 -1
  152. package/dist/collection/components/gov-attachments/gov-attachments.js +7 -7
  153. package/dist/collection/components/gov-attachments/gov-attachments.js.map +1 -1
  154. package/dist/collection/components/gov-backdrop/gov-backdrop.js +7 -7
  155. package/dist/collection/components/gov-backdrop/gov-backdrop.js.map +1 -1
  156. package/dist/collection/components/gov-badge/constants.js +1 -2
  157. package/dist/collection/components/gov-badge/constants.js.map +1 -1
  158. package/dist/collection/components/gov-badge/gov-badge.js +25 -27
  159. package/dist/collection/components/gov-badge/gov-badge.js.map +1 -1
  160. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.d.js.map +1 -1
  161. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +2 -3
  162. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js.map +1 -1
  163. package/dist/collection/components/gov-button/constants.js +17 -13
  164. package/dist/collection/components/gov-button/constants.js.map +1 -1
  165. package/dist/collection/components/gov-button/gov-button.js +37 -44
  166. package/dist/collection/components/gov-button/gov-button.js.map +1 -1
  167. package/dist/collection/components/gov-card/gov-card.js.map +1 -1
  168. package/dist/collection/components/gov-container/gov-container.js +3 -3
  169. package/dist/collection/components/gov-container/gov-container.js.map +1 -1
  170. package/dist/collection/components/gov-cookiebar/gov-cookiebar.js.map +1 -1
  171. package/dist/collection/components/gov-empty/gov-empty.js.map +1 -1
  172. package/dist/collection/components/gov-error-code/gov-error-code.js.map +1 -1
  173. package/dist/collection/components/gov-form/autocomplete/constants.js +5 -4
  174. package/dist/collection/components/gov-form/autocomplete/constants.js.map +1 -1
  175. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +16 -18
  176. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  177. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.types.js +2 -0
  178. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.types.js.map +1 -0
  179. package/dist/collection/components/gov-form/checkbox/constants.js +3 -2
  180. package/dist/collection/components/gov-form/checkbox/constants.js.map +1 -1
  181. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +11 -21
  182. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  183. package/dist/collection/components/gov-form/checkbox/interfaces.js.map +1 -1
  184. package/dist/collection/components/gov-form/control/constants.js +3 -2
  185. package/dist/collection/components/gov-form/control/constants.js.map +1 -1
  186. package/dist/collection/components/gov-form/control/gov-form-control.js +40 -42
  187. package/dist/collection/components/gov-form/control/gov-form-control.js.map +1 -1
  188. package/dist/collection/components/gov-form/file/gov-form-file.js +3 -3
  189. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  190. package/dist/collection/components/gov-form/file/gov-form-file.types.js +2 -0
  191. package/dist/collection/components/gov-form/file/gov-form-file.types.js.map +1 -0
  192. package/dist/collection/components/gov-form/input/constants.js +25 -21
  193. package/dist/collection/components/gov-form/input/constants.js.map +1 -1
  194. package/dist/collection/components/gov-form/input/gov-form-input.js +24 -32
  195. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  196. package/dist/collection/components/gov-form/message/constants.js +3 -2
  197. package/dist/collection/components/gov-form/message/constants.js.map +1 -1
  198. package/dist/collection/components/gov-form/message/gov-form-message.js +8 -9
  199. package/dist/collection/components/gov-form/message/gov-form-message.js.map +1 -1
  200. package/dist/collection/components/gov-form/multiselect/constants.js +5 -4
  201. package/dist/collection/components/gov-form/multiselect/constants.js.map +1 -1
  202. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +16 -18
  203. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  204. package/dist/collection/components/gov-form/radio/constants.js +3 -2
  205. package/dist/collection/components/gov-form/radio/constants.js.map +1 -1
  206. package/dist/collection/components/gov-form/radio/gov-form-radio.js +10 -11
  207. package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +1 -1
  208. package/dist/collection/components/gov-form/radio/interfaces.js.map +1 -1
  209. package/dist/collection/components/gov-form/search/constants.js +0 -11
  210. package/dist/collection/components/gov-form/search/constants.js.map +1 -1
  211. package/dist/collection/components/gov-form/search/gov-form-search.js.map +1 -1
  212. package/dist/collection/components/gov-form/select/constants.js +5 -4
  213. package/dist/collection/components/gov-form/select/constants.js.map +1 -1
  214. package/dist/collection/components/gov-form/select/gov-form-select.js +16 -18
  215. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  216. package/dist/collection/components/gov-form/switch/constants.js +3 -2
  217. package/dist/collection/components/gov-form/switch/constants.js.map +1 -1
  218. package/dist/collection/components/gov-form/switch/gov-form-switch.js +10 -11
  219. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  220. package/dist/collection/components/gov-form/switch/interfaces.js.map +1 -1
  221. package/dist/collection/components/gov-grid/constants.js +0 -12
  222. package/dist/collection/components/gov-grid/constants.js.map +1 -1
  223. package/dist/collection/components/gov-grid/gov-grid-item.js +5 -5
  224. package/dist/collection/components/gov-grid/gov-grid-item.js.map +1 -1
  225. package/dist/collection/components/gov-grid/gov-grid.js +3 -3
  226. package/dist/collection/components/gov-grid/gov-grid.js.map +1 -1
  227. package/dist/collection/components/gov-icon/constants.js +6 -1
  228. package/dist/collection/components/gov-icon/constants.js.map +1 -1
  229. package/dist/collection/components/gov-icon/gov-icon.js +1 -1
  230. package/dist/collection/components/gov-icon/gov-icon.js.map +1 -1
  231. package/dist/collection/components/gov-icon/list.js +91 -91
  232. package/dist/collection/components/gov-icon/list.js.map +1 -1
  233. package/dist/collection/components/gov-layout/constants.js +13 -7
  234. package/dist/collection/components/gov-layout/constants.js.map +1 -1
  235. package/dist/collection/components/gov-layout/{gov-layout-aside.css → gov-layout-column.css} +4 -13
  236. package/dist/collection/components/gov-layout/gov-layout-column.js +24 -0
  237. package/dist/collection/components/gov-layout/gov-layout-column.js.map +1 -0
  238. package/dist/collection/components/gov-layout/gov-layout.css +35 -0
  239. package/dist/collection/components/gov-layout/gov-layout.js +80 -4
  240. package/dist/collection/components/gov-layout/gov-layout.js.map +1 -1
  241. package/dist/collection/components/gov-loading/gov-loading.js +4 -4
  242. package/dist/collection/components/gov-loading/gov-loading.js.map +1 -1
  243. package/dist/collection/components/gov-message/constants.js +3 -9
  244. package/dist/collection/components/gov-message/constants.js.map +1 -1
  245. package/dist/collection/components/gov-message/gov-message.js +4 -4
  246. package/dist/collection/components/gov-message/gov-message.js.map +1 -1
  247. package/dist/collection/components/gov-modal/gov-modal.js.map +1 -1
  248. package/dist/collection/components/gov-pagination/constants.js +10 -5
  249. package/dist/collection/components/gov-pagination/constants.js.map +1 -1
  250. package/dist/collection/components/gov-pagination/gov-pagination.css +5 -8
  251. package/dist/collection/components/gov-pagination/gov-pagination.js +42 -44
  252. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  253. package/dist/collection/components/gov-promp/gov-prompt.js +1 -1
  254. package/dist/collection/components/gov-promp/gov-prompt.js.map +1 -1
  255. package/dist/collection/components/gov-side-nav/gov-side-nav-item.js +1 -1
  256. package/dist/collection/components/gov-side-nav/gov-side-nav-item.js.map +1 -1
  257. package/dist/collection/components/gov-side-nav/gov-side-nav.js.map +1 -1
  258. package/dist/collection/components/gov-spacer/constants.js +10 -4
  259. package/dist/collection/components/gov-spacer/constants.js.map +1 -1
  260. package/dist/collection/components/gov-spacer/gov-spacer.js +9 -11
  261. package/dist/collection/components/gov-spacer/gov-spacer.js.map +1 -1
  262. package/dist/collection/components/gov-statsbar/constants.js +7 -2
  263. package/dist/collection/components/gov-statsbar/constants.js.map +1 -1
  264. package/dist/collection/components/gov-statsbar/gov-statsbar-item.js +2 -2
  265. package/dist/collection/components/gov-statsbar/gov-statsbar-item.js.map +1 -1
  266. package/dist/collection/components/gov-statsbar/gov-statsbar.js +13 -15
  267. package/dist/collection/components/gov-statsbar/gov-statsbar.js.map +1 -1
  268. package/dist/collection/components/gov-stepper/constants.js +5 -11
  269. package/dist/collection/components/gov-stepper/constants.js.map +1 -1
  270. package/dist/collection/components/gov-stepper/gov-stepper-item.js +17 -20
  271. package/dist/collection/components/gov-stepper/gov-stepper-item.js.map +1 -1
  272. package/dist/collection/components/gov-stepper/gov-stepper.js +14 -15
  273. package/dist/collection/components/gov-stepper/gov-stepper.js.map +1 -1
  274. package/dist/collection/components/gov-tabs/constants.js +13 -12
  275. package/dist/collection/components/gov-tabs/constants.js.map +1 -1
  276. package/dist/collection/components/gov-tabs/gov-tabs-item.js +1 -1
  277. package/dist/collection/components/gov-tabs/gov-tabs-item.js.map +1 -1
  278. package/dist/collection/components/gov-tabs/gov-tabs.css +28 -1
  279. package/dist/collection/components/gov-tabs/gov-tabs.js +38 -15
  280. package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
  281. package/dist/collection/components/gov-tabs/gov-tabs.types.js +2 -0
  282. package/dist/collection/components/gov-tabs/gov-tabs.types.js.map +1 -0
  283. package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
  284. package/dist/collection/components/gov-tiles/gov-tiles.js +5 -5
  285. package/dist/collection/components/gov-tiles/gov-tiles.js.map +1 -1
  286. package/dist/collection/components/gov-toast/constants.js +10 -20
  287. package/dist/collection/components/gov-toast/constants.js.map +1 -1
  288. package/dist/collection/components/gov-toast/gov-toast.js +34 -30
  289. package/dist/collection/components/gov-toast/gov-toast.js.map +1 -1
  290. package/dist/collection/components/gov-tooltip/constants.js +12 -12
  291. package/dist/collection/components/gov-tooltip/constants.js.map +1 -1
  292. package/dist/collection/components/gov-tooltip/gov-tooltip.js +27 -29
  293. package/dist/collection/components/gov-tooltip/gov-tooltip.js.map +1 -1
  294. package/dist/collection/components/gov-wizzard/constants.js +5 -4
  295. package/dist/collection/components/gov-wizzard/constants.js.map +1 -1
  296. package/dist/collection/components/gov-wizzard/gov-wizzard-item.css +8 -17
  297. package/dist/collection/components/gov-wizzard/gov-wizzard-item.js +16 -20
  298. package/dist/collection/components/gov-wizzard/gov-wizzard-item.js.map +1 -1
  299. package/dist/collection/components/gov-wizzard/gov-wizzard.js +9 -10
  300. package/dist/collection/components/gov-wizzard/gov-wizzard.js.map +1 -1
  301. package/dist/collection/core/constants/tags.js.map +1 -1
  302. package/dist/collection/helpers/Dom/form.js.map +1 -1
  303. package/dist/collection/helpers/Dom/form.types.js +2 -0
  304. package/dist/collection/helpers/Dom/form.types.js.map +1 -0
  305. package/dist/collection/helpers/Dom/template.js.map +1 -1
  306. package/dist/collection/helpers/Dom/template.types.js +2 -0
  307. package/dist/collection/helpers/Dom/template.types.js.map +1 -0
  308. package/dist/collection/helpers/Dom/win.js +2 -2
  309. package/dist/collection/helpers/Dom/win.js.map +1 -1
  310. package/dist/collection/helpers/Fragment.js.map +1 -1
  311. package/dist/collection/helpers/StorybookDocsTemplate.js +2 -2
  312. package/dist/collection/helpers/StorybookDocsTemplate.js.map +1 -1
  313. package/dist/collection/helpers/Validate/props.js +3 -3
  314. package/dist/collection/helpers/Validate/props.js.map +1 -1
  315. package/dist/collection/helpers/Validate/wcag.js +1 -1
  316. package/dist/collection/helpers/Validate/wcag.js.map +1 -1
  317. package/dist/collection/pages/Forms.js +1 -1
  318. package/dist/collection/pages/Forms.js.map +1 -1
  319. package/dist/collection/pages/Layout.js +65 -35
  320. package/dist/collection/pages/Layout.js.map +1 -1
  321. package/dist/collection/pages/Loading.js +3 -3
  322. package/dist/collection/pages/Loading.js.map +1 -1
  323. package/dist/collection/pages/Tabs.js +90 -0
  324. package/dist/collection/pages/Tabs.js.map +1 -1
  325. package/dist/collection/pages/Wizzard.js +5 -5
  326. package/dist/collection/pages/Wizzard.js.map +1 -1
  327. package/dist/collection/types/interfaces.js.map +1 -1
  328. package/dist/collection/utils/icon.utils.js +3 -4
  329. package/dist/collection/utils/icon.utils.js.map +1 -1
  330. package/dist/collection/utils/utils.js +1 -0
  331. package/dist/collection/utils/utils.js.map +1 -1
  332. package/dist/components/constants.js +6 -4
  333. package/dist/components/constants.js.map +1 -1
  334. package/dist/components/constants11.js +8 -2
  335. package/dist/components/constants11.js.map +1 -1
  336. package/dist/components/constants12.js +6 -3
  337. package/dist/components/constants12.js.map +1 -1
  338. package/dist/components/constants13.js +14 -4
  339. package/dist/components/constants13.js.map +1 -1
  340. package/dist/components/constants14.js +11 -11
  341. package/dist/components/constants14.js.map +1 -1
  342. package/dist/components/constants15.js +6 -3
  343. package/dist/components/constants15.js.map +1 -1
  344. package/dist/components/constants3.js +18 -13
  345. package/dist/components/constants3.js.map +1 -1
  346. package/dist/components/constants5.js +4 -3
  347. package/dist/components/constants5.js.map +1 -1
  348. package/dist/components/constants6.js +0 -2
  349. package/dist/components/constants6.js.map +1 -1
  350. package/dist/components/constants7.js +14 -8
  351. package/dist/components/constants7.js.map +1 -1
  352. package/dist/components/form.js +36 -8
  353. package/dist/components/form.js.map +1 -1
  354. package/dist/components/gov-accordion-item.js +7 -9
  355. package/dist/components/gov-accordion-item.js.map +1 -1
  356. package/dist/components/gov-accordion.js +8 -8
  357. package/dist/components/gov-accordion.js.map +1 -1
  358. package/dist/components/gov-alert.js +5 -3
  359. package/dist/components/gov-alert.js.map +1 -1
  360. package/dist/components/gov-app.js +165 -45
  361. package/dist/components/gov-app.js.map +1 -1
  362. package/dist/components/gov-attachments-item2.js +2 -1
  363. package/dist/components/gov-attachments-item2.js.map +1 -1
  364. package/dist/components/gov-attachments2.js +3 -2
  365. package/dist/components/gov-attachments2.js.map +1 -1
  366. package/dist/components/gov-backdrop2.js +3 -2
  367. package/dist/components/gov-backdrop2.js.map +1 -1
  368. package/dist/components/gov-badge2.js +11 -13
  369. package/dist/components/gov-badge2.js.map +1 -1
  370. package/dist/components/gov-breadcrumbs.js +3 -3
  371. package/dist/components/gov-breadcrumbs.js.map +1 -1
  372. package/dist/components/gov-button2.js +13 -23
  373. package/dist/components/gov-button2.js.map +1 -1
  374. package/dist/components/gov-card.js +2 -1
  375. package/dist/components/gov-card.js.map +1 -1
  376. package/dist/components/gov-container.js.map +1 -1
  377. package/dist/components/gov-cookiebar.js.map +1 -1
  378. package/dist/components/gov-empty.js.map +1 -1
  379. package/dist/components/gov-error-code.js.map +1 -1
  380. package/dist/components/gov-form-autocomplete2.js +7 -8
  381. package/dist/components/gov-form-autocomplete2.js.map +1 -1
  382. package/dist/components/gov-form-checkbox.js +7 -16
  383. package/dist/components/gov-form-checkbox.js.map +1 -1
  384. package/dist/components/gov-form-control.js +26 -27
  385. package/dist/components/gov-form-control.js.map +1 -1
  386. package/dist/components/gov-form-file.js +2 -1
  387. package/dist/components/gov-form-file.js.map +1 -1
  388. package/dist/components/gov-form-input2.js +10 -16
  389. package/dist/components/gov-form-input2.js.map +1 -1
  390. package/dist/components/gov-form-message2.js +4 -5
  391. package/dist/components/gov-form-message2.js.map +1 -1
  392. package/dist/components/gov-form-multi-select.js +8 -8
  393. package/dist/components/gov-form-multi-select.js.map +1 -1
  394. package/dist/components/gov-form-radio.js +6 -6
  395. package/dist/components/gov-form-radio.js.map +1 -1
  396. package/dist/components/gov-form-search.js +0 -2
  397. package/dist/components/gov-form-search.js.map +1 -1
  398. package/dist/components/gov-form-select2.js +8 -8
  399. package/dist/components/gov-form-select2.js.map +1 -1
  400. package/dist/components/gov-form-switch.js +6 -6
  401. package/dist/components/gov-form-switch.js.map +1 -1
  402. package/dist/components/gov-grid-item.js +1 -1
  403. package/dist/components/gov-grid-item.js.map +1 -1
  404. package/dist/components/gov-grid.js.map +1 -1
  405. package/dist/components/gov-icon2.js +8 -3
  406. package/dist/components/gov-icon2.js.map +1 -1
  407. package/dist/components/{gov-layout-aside.d.ts → gov-layout-column.d.ts} +4 -4
  408. package/dist/components/gov-layout-column.js +39 -0
  409. package/dist/components/gov-layout-column.js.map +1 -0
  410. package/dist/components/gov-layout.js +16 -3
  411. package/dist/components/gov-layout.js.map +1 -1
  412. package/dist/components/gov-loading.js +1 -1
  413. package/dist/components/gov-loading.js.map +1 -1
  414. package/dist/components/gov-message.js +3 -1
  415. package/dist/components/gov-message.js.map +1 -1
  416. package/dist/components/gov-modal.js +2 -1
  417. package/dist/components/gov-modal.js.map +1 -1
  418. package/dist/components/gov-nav.js +2 -1
  419. package/dist/components/gov-nav.js.map +1 -1
  420. package/dist/components/gov-pagination.js +27 -21
  421. package/dist/components/gov-pagination.js.map +1 -1
  422. package/dist/components/gov-prompt.js +2 -1
  423. package/dist/components/gov-prompt.js.map +1 -1
  424. package/dist/components/gov-side-nav-item.js +1 -1
  425. package/dist/components/gov-side-nav-item.js.map +1 -1
  426. package/dist/components/gov-side-nav.js +2 -1
  427. package/dist/components/gov-side-nav.js.map +1 -1
  428. package/dist/components/gov-spacer.js +11 -13
  429. package/dist/components/gov-spacer.js.map +1 -1
  430. package/dist/components/gov-statsbar-item.js +1 -1
  431. package/dist/components/gov-statsbar-item.js.map +1 -1
  432. package/dist/components/gov-statsbar.js +5 -6
  433. package/dist/components/gov-statsbar.js.map +1 -1
  434. package/dist/components/gov-stepper-item.js +7 -10
  435. package/dist/components/gov-stepper-item.js.map +1 -1
  436. package/dist/components/gov-stepper.js +6 -7
  437. package/dist/components/gov-stepper.js.map +1 -1
  438. package/dist/components/gov-tabs-item.js.map +1 -1
  439. package/dist/components/gov-tabs.js +11 -9
  440. package/dist/components/gov-tabs.js.map +1 -1
  441. package/dist/components/gov-tile.js.map +1 -1
  442. package/dist/components/gov-tiles.js +1 -1
  443. package/dist/components/gov-tiles.js.map +1 -1
  444. package/dist/components/gov-toast.js +21 -18
  445. package/dist/components/gov-toast.js.map +1 -1
  446. package/dist/components/gov-tooltip.js +13 -15
  447. package/dist/components/gov-tooltip.js.map +1 -1
  448. package/dist/components/gov-wizzard-item.js +7 -11
  449. package/dist/components/gov-wizzard-item.js.map +1 -1
  450. package/dist/components/gov-wizzard.js +6 -6
  451. package/dist/components/gov-wizzard.js.map +1 -1
  452. package/dist/components/index.d.ts +1 -2
  453. package/dist/components/index.js +1 -2
  454. package/dist/components/index.js.map +1 -1
  455. package/dist/components/props.js +3 -3
  456. package/dist/components/props.js.map +1 -1
  457. package/dist/components/template.js.map +1 -1
  458. package/dist/{esm/utils-3a968bb9.js → components/utils.js} +3 -2
  459. package/dist/components/utils.js.map +1 -0
  460. package/dist/components/variants.js +1 -1
  461. package/dist/components/variants.js.map +1 -1
  462. package/dist/components/wcag.js +1 -1
  463. package/dist/components/wcag.js.map +1 -1
  464. package/dist/components/win.js +3 -32
  465. package/dist/components/win.js.map +1 -1
  466. package/dist/core/core.esm.js +1 -1
  467. package/dist/core/core.esm.js.map +1 -1
  468. package/dist/core/{p-c9f0d988.entry.js → p-00182e76.entry.js} +2 -2
  469. package/dist/core/{p-c9f0d988.entry.js.map → p-00182e76.entry.js.map} +1 -1
  470. package/dist/core/{p-bbd48feb.entry.js → p-01bdd4a4.entry.js} +2 -2
  471. package/dist/core/{p-bbd48feb.entry.js.map → p-01bdd4a4.entry.js.map} +1 -1
  472. package/dist/core/p-0278fcb3.entry.js +2 -0
  473. package/dist/core/p-0278fcb3.entry.js.map +1 -0
  474. package/dist/core/p-0284b5e2.js +2 -0
  475. package/dist/core/p-0284b5e2.js.map +1 -0
  476. package/dist/core/{p-58691740.js → p-03990da5.js} +2 -2
  477. package/dist/core/p-03990da5.js.map +1 -0
  478. package/dist/core/p-03d40bf4.entry.js +2 -0
  479. package/dist/core/p-03d40bf4.entry.js.map +1 -0
  480. package/dist/core/{p-9680b966.entry.js → p-08f14c8b.entry.js} +2 -2
  481. package/dist/core/p-08f14c8b.entry.js.map +1 -0
  482. package/dist/core/p-0a152bb7.entry.js +2 -0
  483. package/dist/core/p-0a152bb7.entry.js.map +1 -0
  484. package/dist/core/p-14f8f2fb.js +2 -0
  485. package/dist/core/p-14f8f2fb.js.map +1 -0
  486. package/dist/core/p-2128abe1.entry.js +2 -0
  487. package/dist/core/p-2128abe1.entry.js.map +1 -0
  488. package/dist/core/p-22722ff3.entry.js +2 -0
  489. package/dist/core/p-22722ff3.entry.js.map +1 -0
  490. package/dist/core/p-2419f4cd.entry.js +2 -0
  491. package/dist/core/p-2419f4cd.entry.js.map +1 -0
  492. package/dist/core/p-24cde59e.entry.js.map +1 -1
  493. package/dist/core/p-25380da6.entry.js +2 -0
  494. package/dist/core/p-25380da6.entry.js.map +1 -0
  495. package/dist/core/p-26acf964.js +2 -0
  496. package/dist/core/p-26acf964.js.map +1 -0
  497. package/dist/core/p-34360f92.entry.js +2 -0
  498. package/dist/core/p-34360f92.entry.js.map +1 -0
  499. package/dist/core/{p-f58b9eec.js → p-364b4792.js} +2 -2
  500. package/dist/core/p-364b4792.js.map +1 -0
  501. package/dist/core/p-38fb2d42.entry.js +2 -0
  502. package/dist/core/p-38fb2d42.entry.js.map +1 -0
  503. package/dist/core/p-3e9ba1c1.entry.js +2 -0
  504. package/dist/core/p-3e9ba1c1.entry.js.map +1 -0
  505. package/dist/core/p-3f37ddb6.js.map +1 -1
  506. package/dist/core/p-404f469e.js +2 -0
  507. package/dist/core/p-404f469e.js.map +1 -0
  508. package/dist/core/p-4681cb3a.entry.js +2 -0
  509. package/dist/core/p-4681cb3a.entry.js.map +1 -0
  510. package/dist/core/p-469273be.entry.js +2 -0
  511. package/dist/core/p-469273be.entry.js.map +1 -0
  512. package/dist/core/p-4d73d70e.entry.js +2 -0
  513. package/dist/core/p-4d73d70e.entry.js.map +1 -0
  514. package/dist/core/{p-2c25aac5.entry.js → p-5547dbb0.entry.js} +2 -2
  515. package/dist/core/p-5547dbb0.entry.js.map +1 -0
  516. package/dist/core/p-5cecdaaf.entry.js +2 -0
  517. package/dist/core/{p-d9ffb84e.entry.js.map → p-5cecdaaf.entry.js.map} +1 -1
  518. package/dist/core/p-5defdc5e.js +2 -0
  519. package/dist/core/p-5defdc5e.js.map +1 -0
  520. package/dist/core/p-5fa41af9.js +2 -0
  521. package/dist/core/p-5fa41af9.js.map +1 -0
  522. package/dist/core/p-6278531b.js +2 -0
  523. package/dist/core/p-6278531b.js.map +1 -0
  524. package/dist/core/p-63079b80.entry.js +2 -0
  525. package/dist/core/p-63079b80.entry.js.map +1 -0
  526. package/dist/core/p-64ced668.js +2 -0
  527. package/dist/core/p-64ced668.js.map +1 -0
  528. package/dist/core/p-68d968ac.entry.js +2 -0
  529. package/dist/core/p-68d968ac.entry.js.map +1 -0
  530. package/dist/core/{p-6e1b9f39.entry.js → p-6d40721b.entry.js} +2 -2
  531. package/dist/core/{p-6e1b9f39.entry.js.map → p-6d40721b.entry.js.map} +1 -1
  532. package/dist/core/p-733bd593.entry.js.map +1 -1
  533. package/dist/core/{p-cbf4ad73.entry.js → p-7591ecd4.entry.js} +2 -2
  534. package/dist/core/{p-cbf4ad73.entry.js.map → p-7591ecd4.entry.js.map} +1 -1
  535. package/dist/core/p-76542f4f.js +2 -0
  536. package/dist/core/p-76542f4f.js.map +1 -0
  537. package/dist/core/p-7be3abb5.entry.js.map +1 -1
  538. package/dist/core/p-80e30702.js +2 -0
  539. package/dist/core/p-80e30702.js.map +1 -0
  540. package/dist/core/p-8965f84a.entry.js +2 -0
  541. package/dist/core/p-8965f84a.entry.js.map +1 -0
  542. package/dist/core/p-8a8d846c.entry.js +2 -0
  543. package/dist/core/{p-8e8340b0.entry.js.map → p-8a8d846c.entry.js.map} +1 -1
  544. package/dist/core/p-9144dde1.js +2 -0
  545. package/dist/core/p-9144dde1.js.map +1 -0
  546. package/dist/core/{p-90f818c0.entry.js → p-93facb4a.entry.js} +2 -2
  547. package/dist/core/p-93facb4a.entry.js.map +1 -0
  548. package/dist/core/p-9c844f4d.entry.js +2 -0
  549. package/dist/core/p-9c844f4d.entry.js.map +1 -0
  550. package/dist/core/p-9cc6ed83.entry.js +2 -0
  551. package/dist/core/p-9cc6ed83.entry.js.map +1 -0
  552. package/dist/core/p-9dd1bbdd.entry.js.map +1 -1
  553. package/dist/core/p-9e6a41cc.entry.js +2 -0
  554. package/dist/core/p-9e6a41cc.entry.js.map +1 -0
  555. package/dist/core/{p-64d3cf79.entry.js → p-a5e34e93.entry.js} +2 -2
  556. package/dist/core/p-a6c8d474.entry.js.map +1 -1
  557. package/dist/core/p-ad0cc981.entry.js +2 -0
  558. package/dist/core/p-ad0cc981.entry.js.map +1 -0
  559. package/dist/core/p-ae3e2d60.entry.js +2 -0
  560. package/dist/core/p-ae3e2d60.entry.js.map +1 -0
  561. package/dist/core/p-b48a3112.entry.js +2 -0
  562. package/dist/core/p-b48a3112.entry.js.map +1 -0
  563. package/dist/core/{p-59581b1b.entry.js → p-c0d3d3e0.entry.js} +2 -2
  564. package/dist/core/{p-59581b1b.entry.js.map → p-c0d3d3e0.entry.js.map} +1 -1
  565. package/dist/core/{p-2b4acb01.js → p-c20102ff.js} +2 -2
  566. package/dist/core/p-c20102ff.js.map +1 -0
  567. package/dist/core/p-cf6576fd.entry.js +2 -0
  568. package/dist/core/p-cf6576fd.entry.js.map +1 -0
  569. package/dist/core/p-e52a042f.entry.js.map +1 -1
  570. package/dist/core/p-e7dd2002.entry.js +2 -0
  571. package/dist/core/p-e7dd2002.entry.js.map +1 -0
  572. package/dist/core/p-eb1214ab.entry.js +2 -0
  573. package/dist/core/p-eb1214ab.entry.js.map +1 -0
  574. package/dist/core/p-ec617f18.entry.js +2 -0
  575. package/dist/core/p-ec617f18.entry.js.map +1 -0
  576. package/dist/core/p-ef79904e.js +2 -0
  577. package/dist/core/p-ef79904e.js.map +1 -0
  578. package/dist/core/p-f1fe9358.entry.js +2 -0
  579. package/dist/core/p-f1fe9358.entry.js.map +1 -0
  580. package/dist/core/p-f2dc8ce3.entry.js.map +1 -1
  581. package/dist/core/p-f531f5c4.entry.js +2 -0
  582. package/dist/core/p-f531f5c4.entry.js.map +1 -0
  583. package/dist/core/p-f5ee7634.entry.js +2 -0
  584. package/dist/core/p-f5ee7634.entry.js.map +1 -0
  585. package/dist/core/p-f5ffcb3d.entry.js +2 -0
  586. package/dist/core/p-f5ffcb3d.entry.js.map +1 -0
  587. package/dist/core/p-f687452c.js +2 -0
  588. package/dist/core/p-f687452c.js.map +1 -0
  589. package/dist/core/{p-08524615.entry.js → p-fc1581f9.entry.js} +2 -2
  590. package/dist/core/{p-08524615.entry.js.map → p-fc1581f9.entry.js.map} +1 -1
  591. package/dist/core/{p-fd62c386.entry.js → p-fc91591d.entry.js} +2 -2
  592. package/dist/core/{p-fd62c386.entry.js.map → p-fc91591d.entry.js.map} +1 -1
  593. package/dist/core/p-fc9d66ae.entry.js +2 -0
  594. package/dist/core/{p-9baa1a0e.entry.js.map → p-fc9d66ae.entry.js.map} +1 -1
  595. package/dist/core/{p-99cc3dba.js → p-ff7365ae.js} +2 -2
  596. package/dist/core/p-ff7365ae.js.map +1 -0
  597. package/dist/core/p-ffb7495c.js +2 -0
  598. package/dist/core/p-ffb7495c.js.map +1 -0
  599. package/dist/custom-elements/index.d.ts +4 -10
  600. package/dist/custom-elements/index.js +1 -1
  601. package/dist/custom-elements/index.js.map +1 -1
  602. package/dist/esm/constants-136d4cd3.js +16 -0
  603. package/dist/esm/constants-136d4cd3.js.map +1 -0
  604. package/dist/esm/{constants-4d4cc5e1.js → constants-14a7ba8e.js} +7 -5
  605. package/dist/esm/constants-14a7ba8e.js.map +1 -0
  606. package/dist/esm/constants-1a2146b2.js +32 -0
  607. package/dist/esm/constants-1a2146b2.js.map +1 -0
  608. package/dist/esm/constants-24dad929.js +29 -0
  609. package/dist/esm/constants-24dad929.js.map +1 -0
  610. package/dist/esm/{constants-2cd89f93.js → constants-2b14bb01.js} +1 -3
  611. package/dist/esm/constants-2b14bb01.js.map +1 -0
  612. package/dist/esm/constants-2e8258cf.js +15 -0
  613. package/dist/esm/constants-2e8258cf.js.map +1 -0
  614. package/dist/esm/constants-3786b01b.js +22 -0
  615. package/dist/esm/constants-3786b01b.js.map +1 -0
  616. package/dist/esm/constants-3df712e2.js +13 -0
  617. package/dist/esm/constants-3df712e2.js.map +1 -0
  618. package/dist/esm/{constants-ec176a77.js → constants-78474786.js} +7 -4
  619. package/dist/esm/constants-78474786.js.map +1 -0
  620. package/dist/esm/constants-bf5a583f.js +24 -0
  621. package/dist/esm/constants-bf5a583f.js.map +1 -0
  622. package/dist/esm/constants-d550c816.js +22 -0
  623. package/dist/esm/constants-d550c816.js.map +1 -0
  624. package/dist/esm/constants-f7b618c2.js +23 -0
  625. package/dist/esm/constants-f7b618c2.js.map +1 -0
  626. package/dist/esm/core.js +1 -1
  627. package/dist/esm/{form-121eab06.js → form-95b9a91b.js} +36 -9
  628. package/dist/esm/form-95b9a91b.js.map +1 -0
  629. package/dist/esm/gov-accordion-item.entry.js +8 -8
  630. package/dist/esm/gov-accordion-item.entry.js.map +1 -1
  631. package/dist/esm/gov-accordion.entry.js +10 -10
  632. package/dist/esm/gov-accordion.entry.js.map +1 -1
  633. package/dist/esm/gov-alert.entry.js +6 -4
  634. package/dist/esm/gov-alert.entry.js.map +1 -1
  635. package/dist/esm/gov-app.entry.js +165 -45
  636. package/dist/esm/gov-app.entry.js.map +1 -1
  637. package/dist/esm/gov-attachments_3.entry.js +9 -9
  638. package/dist/esm/gov-attachments_3.entry.js.map +1 -1
  639. package/dist/esm/gov-backdrop.entry.js +4 -4
  640. package/dist/esm/gov-backdrop.entry.js.map +1 -1
  641. package/dist/esm/gov-badge.entry.js +11 -10
  642. package/dist/esm/gov-badge.entry.js.map +1 -1
  643. package/dist/esm/gov-breadcrumbs.entry.js +4 -5
  644. package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
  645. package/dist/esm/gov-button.entry.js +12 -23
  646. package/dist/esm/gov-button.entry.js.map +1 -1
  647. package/dist/esm/gov-card.entry.js +3 -3
  648. package/dist/esm/gov-card.entry.js.map +1 -1
  649. package/dist/esm/gov-container.entry.js.map +1 -1
  650. package/dist/esm/gov-cookiebar.entry.js.map +1 -1
  651. package/dist/esm/gov-empty.entry.js.map +1 -1
  652. package/dist/esm/gov-error-code.entry.js.map +1 -1
  653. package/dist/esm/gov-form-autocomplete.entry.js +8 -8
  654. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  655. package/dist/esm/gov-form-checkbox.entry.js +13 -22
  656. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  657. package/dist/esm/gov-form-control.entry.js +30 -29
  658. package/dist/esm/gov-form-control.entry.js.map +1 -1
  659. package/dist/esm/gov-form-file.entry.js +8 -8
  660. package/dist/esm/gov-form-file.entry.js.map +1 -1
  661. package/dist/esm/gov-form-input.entry.js +13 -19
  662. package/dist/esm/gov-form-input.entry.js.map +1 -1
  663. package/dist/esm/gov-form-multi-select.entry.js +10 -10
  664. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  665. package/dist/esm/gov-form-radio.entry.js +12 -12
  666. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  667. package/dist/esm/gov-form-search.entry.js +0 -2
  668. package/dist/esm/gov-form-search.entry.js.map +1 -1
  669. package/dist/esm/gov-form-select.entry.js +13 -13
  670. package/dist/esm/gov-form-select.entry.js.map +1 -1
  671. package/dist/esm/gov-form-switch.entry.js +12 -12
  672. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  673. package/dist/esm/gov-grid-item.entry.js +2 -3
  674. package/dist/esm/gov-grid-item.entry.js.map +1 -1
  675. package/dist/esm/gov-grid.entry.js +1 -2
  676. package/dist/esm/gov-grid.entry.js.map +1 -1
  677. package/dist/esm/gov-icon.entry.js +10 -5
  678. package/dist/esm/gov-icon.entry.js.map +1 -1
  679. package/dist/esm/gov-layout-column.entry.js +21 -0
  680. package/dist/esm/gov-layout-column.entry.js.map +1 -0
  681. package/dist/esm/gov-layout.entry.js +12 -3
  682. package/dist/esm/gov-layout.entry.js.map +1 -1
  683. package/dist/esm/gov-loading.entry.js +1 -1
  684. package/dist/esm/gov-loading.entry.js.map +1 -1
  685. package/dist/esm/gov-message.entry.js +4 -2
  686. package/dist/esm/gov-message.entry.js.map +1 -1
  687. package/dist/esm/gov-modal.entry.js +3 -3
  688. package/dist/esm/gov-modal.entry.js.map +1 -1
  689. package/dist/esm/gov-nav.entry.js +3 -3
  690. package/dist/esm/gov-pagination.entry.js +27 -22
  691. package/dist/esm/gov-pagination.entry.js.map +1 -1
  692. package/dist/esm/gov-prompt.entry.js +3 -3
  693. package/dist/esm/gov-prompt.entry.js.map +1 -1
  694. package/dist/esm/gov-side-nav-item.entry.js +1 -1
  695. package/dist/esm/gov-side-nav-item.entry.js.map +1 -1
  696. package/dist/esm/gov-side-nav.entry.js +3 -3
  697. package/dist/esm/gov-side-nav.entry.js.map +1 -1
  698. package/dist/esm/gov-spacer.entry.js +11 -13
  699. package/dist/esm/gov-spacer.entry.js.map +1 -1
  700. package/dist/esm/gov-statsbar-item.entry.js +4 -2
  701. package/dist/esm/gov-statsbar-item.entry.js.map +1 -1
  702. package/dist/esm/gov-statsbar.entry.js +7 -6
  703. package/dist/esm/gov-statsbar.entry.js.map +1 -1
  704. package/dist/esm/gov-stepper-item.entry.js +9 -9
  705. package/dist/esm/gov-stepper-item.entry.js.map +1 -1
  706. package/dist/esm/gov-stepper.entry.js +9 -8
  707. package/dist/esm/gov-stepper.entry.js.map +1 -1
  708. package/dist/esm/gov-tabs-item.entry.js +3 -3
  709. package/dist/esm/gov-tabs-item.entry.js.map +1 -1
  710. package/dist/esm/gov-tabs.entry.js +11 -11
  711. package/dist/esm/gov-tabs.entry.js.map +1 -1
  712. package/dist/esm/gov-tile.entry.js.map +1 -1
  713. package/dist/esm/gov-tiles.entry.js +1 -1
  714. package/dist/esm/gov-tiles.entry.js.map +1 -1
  715. package/dist/esm/gov-toast.entry.js +21 -18
  716. package/dist/esm/gov-toast.entry.js.map +1 -1
  717. package/dist/esm/gov-tooltip-content.entry.js +3 -2
  718. package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
  719. package/dist/esm/gov-tooltip.entry.js +15 -14
  720. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  721. package/dist/esm/gov-wizzard-item.entry.js +10 -11
  722. package/dist/esm/gov-wizzard-item.entry.js.map +1 -1
  723. package/dist/esm/gov-wizzard.entry.js +9 -9
  724. package/dist/esm/gov-wizzard.entry.js.map +1 -1
  725. package/dist/esm/index-00e9a0d5.js +2 -6
  726. package/dist/esm/loader.js +1 -1
  727. package/dist/esm/{props-cb992af5.js → props-789f7529.js} +4 -4
  728. package/dist/esm/props-789f7529.js.map +1 -0
  729. package/dist/esm/template-10332292.js.map +1 -1
  730. package/dist/esm/utils-c057a3fa.js +35 -0
  731. package/dist/esm/utils-c057a3fa.js.map +1 -0
  732. package/dist/esm/{variants-b5641e3d.js → variants-2b936d58.js} +2 -2
  733. package/dist/esm/variants-2b936d58.js.map +1 -0
  734. package/dist/esm/{wcag-af732bfe.js → wcag-3792d4bb.js} +2 -2
  735. package/dist/esm/wcag-3792d4bb.js.map +1 -0
  736. package/dist/esm/{win-cb090c11.js → win-9c8460bb.js} +3 -3
  737. package/dist/esm/win-9c8460bb.js.map +1 -0
  738. package/dist/hydrate/index.js +532 -390
  739. package/dist/types/components/gov-accordion/constants.d.ts +7 -6
  740. package/dist/types/components/gov-accordion/gov-accordion-item.d.ts +3 -3
  741. package/dist/types/components/gov-accordion/gov-accordion.d.ts +3 -3
  742. package/dist/types/components/gov-alert/constants.d.ts +4 -3
  743. package/dist/types/components/gov-app/gov-app.d.ts +1 -1
  744. package/dist/types/components/gov-attachments/gov-attachments-item.d.ts +1 -1
  745. package/dist/types/components/gov-backdrop/gov-backdrop.d.ts +1 -1
  746. package/dist/types/components/gov-badge/constants.d.ts +4 -3
  747. package/dist/types/components/gov-badge/gov-badge.d.ts +4 -4
  748. package/dist/types/components/gov-breadcrumbs/gov-breadcrumbs.d.ts +1 -1
  749. package/dist/types/components/gov-button/constants.d.ts +20 -10
  750. package/dist/types/components/gov-button/gov-button.d.ts +6 -8
  751. package/dist/types/components/gov-cookiebar/gov-cookiebar.d.ts +1 -1
  752. package/dist/types/components/gov-form/autocomplete/constants.d.ts +7 -6
  753. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +3 -3
  754. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.types.d.ts +3 -0
  755. package/dist/types/components/gov-form/checkbox/constants.d.ts +4 -3
  756. package/dist/types/components/gov-form/checkbox/gov-form-checkbox.d.ts +3 -4
  757. package/dist/types/components/gov-form/control/constants.d.ts +4 -3
  758. package/dist/types/components/gov-form/control/gov-form-control.d.ts +3 -3
  759. package/dist/types/components/gov-form/file/gov-form-file.d.ts +1 -1
  760. package/dist/types/components/gov-form/file/gov-form-file.types.d.ts +6 -0
  761. package/dist/types/components/gov-form/input/constants.d.ts +27 -10
  762. package/dist/types/components/gov-form/input/gov-form-input.d.ts +5 -5
  763. package/dist/types/components/gov-form/message/constants.d.ts +4 -3
  764. package/dist/types/components/gov-form/message/gov-form-message.d.ts +3 -3
  765. package/dist/types/components/gov-form/multiselect/constants.d.ts +7 -6
  766. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +4 -4
  767. package/dist/types/components/gov-form/radio/constants.d.ts +4 -3
  768. package/dist/types/components/gov-form/radio/gov-form-radio.d.ts +2 -2
  769. package/dist/types/components/gov-form/search/constants.d.ts +0 -6
  770. package/dist/types/components/gov-form/select/constants.d.ts +7 -6
  771. package/dist/types/components/gov-form/select/gov-form-select.d.ts +3 -3
  772. package/dist/types/components/gov-form/switch/constants.d.ts +4 -3
  773. package/dist/types/components/gov-form/switch/gov-form-switch.d.ts +2 -2
  774. package/dist/types/components/gov-grid/constants.d.ts +0 -3
  775. package/dist/types/components/gov-icon/constants.d.ts +8 -2
  776. package/dist/types/components/gov-layout/constants.d.ts +14 -6
  777. package/dist/types/components/gov-layout/gov-layout-column.d.ts +6 -0
  778. package/dist/types/components/gov-layout/gov-layout.d.ts +14 -0
  779. package/dist/types/components/gov-message/constants.d.ts +4 -3
  780. package/dist/types/components/gov-message/gov-message.d.ts +2 -2
  781. package/dist/types/components/gov-pagination/constants.d.ts +12 -8
  782. package/dist/types/components/gov-pagination/gov-pagination.d.ts +6 -6
  783. package/dist/types/components/gov-spacer/constants.d.ts +11 -4
  784. package/dist/types/components/gov-spacer/gov-spacer.d.ts +2 -2
  785. package/dist/types/components/gov-statsbar/constants.d.ts +8 -4
  786. package/dist/types/components/gov-statsbar/gov-statsbar-item.d.ts +1 -1
  787. package/dist/types/components/gov-statsbar/gov-statsbar.d.ts +1 -1
  788. package/dist/types/components/gov-stepper/constants.d.ts +7 -6
  789. package/dist/types/components/gov-stepper/gov-stepper-item.d.ts +3 -3
  790. package/dist/types/components/gov-stepper/gov-stepper.d.ts +4 -4
  791. package/dist/types/components/gov-tabs/constants.d.ts +14 -8
  792. package/dist/types/components/gov-tabs/gov-tabs.d.ts +9 -5
  793. package/dist/types/components/gov-tabs/gov-tabs.types.d.ts +8 -0
  794. package/dist/types/components/gov-toast/constants.d.ts +6 -5
  795. package/dist/types/components/gov-toast/gov-toast.d.ts +7 -6
  796. package/dist/types/components/gov-tooltip/constants.d.ts +9 -9
  797. package/dist/types/components/gov-tooltip/gov-tooltip.d.ts +4 -4
  798. package/dist/types/components/gov-wizzard/constants.d.ts +7 -6
  799. package/dist/types/components/gov-wizzard/gov-wizzard-item.d.ts +3 -3
  800. package/dist/types/components/gov-wizzard/gov-wizzard.d.ts +2 -2
  801. package/dist/types/components.d.ts +157 -153
  802. package/dist/types/helpers/Dom/form.d.ts +2 -2
  803. package/dist/types/helpers/Dom/form.types.d.ts +9 -0
  804. package/dist/types/helpers/Dom/template.d.ts +1 -1
  805. package/dist/types/helpers/Dom/template.types.d.ts +12 -0
  806. package/dist/types/helpers/Validate/props.d.ts +1 -1
  807. package/dist/types/types/interfaces.d.ts +1 -0
  808. package/dist/types/utils/utils.d.ts +1 -0
  809. package/package.json +1 -1
  810. package/dist/cjs/constants-0c6897bc.js.map +0 -1
  811. package/dist/cjs/constants-24f26d54.js +0 -15
  812. package/dist/cjs/constants-24f26d54.js.map +0 -1
  813. package/dist/cjs/constants-404ee283.js +0 -21
  814. package/dist/cjs/constants-404ee283.js.map +0 -1
  815. package/dist/cjs/constants-477ca85a.js.map +0 -1
  816. package/dist/cjs/constants-5c8f444a.js.map +0 -1
  817. package/dist/cjs/constants-5ca7e728.js +0 -18
  818. package/dist/cjs/constants-5ca7e728.js.map +0 -1
  819. package/dist/cjs/constants-8c9eeb15.js +0 -20
  820. package/dist/cjs/constants-8c9eeb15.js.map +0 -1
  821. package/dist/cjs/constants-a44c32bc.js.map +0 -1
  822. package/dist/cjs/constants-a92bbccb.js +0 -17
  823. package/dist/cjs/constants-a92bbccb.js.map +0 -1
  824. package/dist/cjs/constants-b39578d9.js +0 -29
  825. package/dist/cjs/constants-b39578d9.js.map +0 -1
  826. package/dist/cjs/constants-b3c2277b.js +0 -23
  827. package/dist/cjs/constants-b3c2277b.js.map +0 -1
  828. package/dist/cjs/constants-b8ec7b03.js +0 -32
  829. package/dist/cjs/constants-b8ec7b03.js.map +0 -1
  830. package/dist/cjs/form-d9f0f50c.js.map +0 -1
  831. package/dist/cjs/gov-layout-aside.cjs.entry.js +0 -26
  832. package/dist/cjs/gov-layout-aside.cjs.entry.js.map +0 -1
  833. package/dist/cjs/gov-layout-content.cjs.entry.js +0 -26
  834. package/dist/cjs/gov-layout-content.cjs.entry.js.map +0 -1
  835. package/dist/cjs/props-cc21d3d7.js.map +0 -1
  836. package/dist/cjs/utils-4ae73637.js.map +0 -1
  837. package/dist/cjs/variants-bacf037a.js.map +0 -1
  838. package/dist/cjs/wcag-eca97102.js.map +0 -1
  839. package/dist/cjs/win-ac5c1806.js.map +0 -1
  840. package/dist/collection/components/gov-layout/gov-layout-aside.js +0 -47
  841. package/dist/collection/components/gov-layout/gov-layout-aside.js.map +0 -1
  842. package/dist/collection/components/gov-layout/gov-layout-content.css +0 -227
  843. package/dist/collection/components/gov-layout/gov-layout-content.js +0 -47
  844. package/dist/collection/components/gov-layout/gov-layout-content.js.map +0 -1
  845. package/dist/collection/core/constants/breakpoint.js +0 -9
  846. package/dist/collection/core/constants/breakpoint.js.map +0 -1
  847. package/dist/components/gov-layout-aside.js +0 -42
  848. package/dist/components/gov-layout-aside.js.map +0 -1
  849. package/dist/components/gov-layout-content.d.ts +0 -11
  850. package/dist/components/gov-layout-content.js +0 -42
  851. package/dist/components/gov-layout-content.js.map +0 -1
  852. package/dist/core/p-097332b9.entry.js +0 -2
  853. package/dist/core/p-097332b9.entry.js.map +0 -1
  854. package/dist/core/p-09b38102.entry.js +0 -2
  855. package/dist/core/p-09b38102.entry.js.map +0 -1
  856. package/dist/core/p-1525ef03.entry.js +0 -2
  857. package/dist/core/p-1525ef03.entry.js.map +0 -1
  858. package/dist/core/p-1ffe4cac.entry.js +0 -2
  859. package/dist/core/p-1ffe4cac.entry.js.map +0 -1
  860. package/dist/core/p-22c3946b.entry.js +0 -2
  861. package/dist/core/p-22c3946b.entry.js.map +0 -1
  862. package/dist/core/p-28f08f8b.entry.js +0 -2
  863. package/dist/core/p-28f08f8b.entry.js.map +0 -1
  864. package/dist/core/p-2b19bea6.entry.js +0 -2
  865. package/dist/core/p-2b19bea6.entry.js.map +0 -1
  866. package/dist/core/p-2b4acb01.js.map +0 -1
  867. package/dist/core/p-2c25aac5.entry.js.map +0 -1
  868. package/dist/core/p-2c9031ef.entry.js +0 -2
  869. package/dist/core/p-2c9031ef.entry.js.map +0 -1
  870. package/dist/core/p-3426a731.entry.js +0 -2
  871. package/dist/core/p-3426a731.entry.js.map +0 -1
  872. package/dist/core/p-3b8d7a9a.entry.js +0 -2
  873. package/dist/core/p-3b8d7a9a.entry.js.map +0 -1
  874. package/dist/core/p-44f22320.entry.js +0 -2
  875. package/dist/core/p-44f22320.entry.js.map +0 -1
  876. package/dist/core/p-468873ec.entry.js +0 -2
  877. package/dist/core/p-468873ec.entry.js.map +0 -1
  878. package/dist/core/p-48a7c794.entry.js +0 -2
  879. package/dist/core/p-48a7c794.entry.js.map +0 -1
  880. package/dist/core/p-4e21ca0f.entry.js +0 -2
  881. package/dist/core/p-4e21ca0f.entry.js.map +0 -1
  882. package/dist/core/p-58691740.js.map +0 -1
  883. package/dist/core/p-64445e87.js +0 -2
  884. package/dist/core/p-64445e87.js.map +0 -1
  885. package/dist/core/p-68d4837b.entry.js +0 -2
  886. package/dist/core/p-68d4837b.entry.js.map +0 -1
  887. package/dist/core/p-6ce1f525.js +0 -2
  888. package/dist/core/p-6ce1f525.js.map +0 -1
  889. package/dist/core/p-708963e6.js +0 -2
  890. package/dist/core/p-708963e6.js.map +0 -1
  891. package/dist/core/p-71134d97.js +0 -2
  892. package/dist/core/p-71134d97.js.map +0 -1
  893. package/dist/core/p-78a4be4b.entry.js +0 -2
  894. package/dist/core/p-78a4be4b.entry.js.map +0 -1
  895. package/dist/core/p-803629e9.entry.js +0 -2
  896. package/dist/core/p-803629e9.entry.js.map +0 -1
  897. package/dist/core/p-808cd4b7.entry.js +0 -2
  898. package/dist/core/p-808cd4b7.entry.js.map +0 -1
  899. package/dist/core/p-8e8340b0.entry.js +0 -2
  900. package/dist/core/p-8ebc3217.js +0 -2
  901. package/dist/core/p-8ebc3217.js.map +0 -1
  902. package/dist/core/p-8eece26f.entry.js +0 -2
  903. package/dist/core/p-8eece26f.entry.js.map +0 -1
  904. package/dist/core/p-90f818c0.entry.js.map +0 -1
  905. package/dist/core/p-951d9c21.js +0 -2
  906. package/dist/core/p-951d9c21.js.map +0 -1
  907. package/dist/core/p-9680b966.entry.js.map +0 -1
  908. package/dist/core/p-9711e4e5.entry.js +0 -2
  909. package/dist/core/p-9711e4e5.entry.js.map +0 -1
  910. package/dist/core/p-99cc3dba.js.map +0 -1
  911. package/dist/core/p-9baa1a0e.entry.js +0 -2
  912. package/dist/core/p-a2f9daba.js +0 -2
  913. package/dist/core/p-a2f9daba.js.map +0 -1
  914. package/dist/core/p-a32723d4.entry.js +0 -2
  915. package/dist/core/p-a32723d4.entry.js.map +0 -1
  916. package/dist/core/p-a5b02584.js +0 -2
  917. package/dist/core/p-a5b02584.js.map +0 -1
  918. package/dist/core/p-b4581984.js +0 -2
  919. package/dist/core/p-b4581984.js.map +0 -1
  920. package/dist/core/p-b5935207.entry.js +0 -2
  921. package/dist/core/p-b5935207.entry.js.map +0 -1
  922. package/dist/core/p-ba500f74.entry.js +0 -2
  923. package/dist/core/p-ba500f74.entry.js.map +0 -1
  924. package/dist/core/p-c9e7a558.entry.js +0 -2
  925. package/dist/core/p-c9e7a558.entry.js.map +0 -1
  926. package/dist/core/p-cbe6523f.entry.js +0 -2
  927. package/dist/core/p-cbe6523f.entry.js.map +0 -1
  928. package/dist/core/p-cd4f034f.js +0 -2
  929. package/dist/core/p-cd4f034f.js.map +0 -1
  930. package/dist/core/p-d4aaff74.js +0 -2
  931. package/dist/core/p-d4aaff74.js.map +0 -1
  932. package/dist/core/p-d65f71e1.js +0 -2
  933. package/dist/core/p-d65f71e1.js.map +0 -1
  934. package/dist/core/p-d9ffb84e.entry.js +0 -2
  935. package/dist/core/p-dc87f017.entry.js +0 -2
  936. package/dist/core/p-dc87f017.entry.js.map +0 -1
  937. package/dist/core/p-eadaa1d1.entry.js +0 -2
  938. package/dist/core/p-eadaa1d1.entry.js.map +0 -1
  939. package/dist/core/p-ef3e7866.js +0 -2
  940. package/dist/core/p-ef3e7866.js.map +0 -1
  941. package/dist/core/p-f1226ef1.entry.js +0 -2
  942. package/dist/core/p-f1226ef1.entry.js.map +0 -1
  943. package/dist/core/p-f4030908.entry.js +0 -2
  944. package/dist/core/p-f4030908.entry.js.map +0 -1
  945. package/dist/core/p-f58b9eec.js.map +0 -1
  946. package/dist/core/p-f82535b7.js +0 -2
  947. package/dist/core/p-f82535b7.js.map +0 -1
  948. package/dist/core/p-fa370909.entry.js +0 -2
  949. package/dist/core/p-fa370909.entry.js.map +0 -1
  950. package/dist/core/p-fc3c7246.entry.js +0 -2
  951. package/dist/core/p-fc3c7246.entry.js.map +0 -1
  952. package/dist/esm/constants-129909d1.js +0 -14
  953. package/dist/esm/constants-129909d1.js.map +0 -1
  954. package/dist/esm/constants-1f1d1d3e.js +0 -16
  955. package/dist/esm/constants-1f1d1d3e.js.map +0 -1
  956. package/dist/esm/constants-2cd89f93.js.map +0 -1
  957. package/dist/esm/constants-3b157470.js +0 -23
  958. package/dist/esm/constants-3b157470.js.map +0 -1
  959. package/dist/esm/constants-3de0521d.js +0 -27
  960. package/dist/esm/constants-3de0521d.js.map +0 -1
  961. package/dist/esm/constants-4331e6d9.js +0 -12
  962. package/dist/esm/constants-4331e6d9.js.map +0 -1
  963. package/dist/esm/constants-4cdfde31.js +0 -14
  964. package/dist/esm/constants-4cdfde31.js.map +0 -1
  965. package/dist/esm/constants-4d4cc5e1.js.map +0 -1
  966. package/dist/esm/constants-8f0bcad2.js +0 -21
  967. package/dist/esm/constants-8f0bcad2.js.map +0 -1
  968. package/dist/esm/constants-b49812cd.js +0 -16
  969. package/dist/esm/constants-b49812cd.js.map +0 -1
  970. package/dist/esm/constants-c8f57790.js +0 -19
  971. package/dist/esm/constants-c8f57790.js.map +0 -1
  972. package/dist/esm/constants-ec176a77.js.map +0 -1
  973. package/dist/esm/form-121eab06.js.map +0 -1
  974. package/dist/esm/gov-layout-aside.entry.js +0 -22
  975. package/dist/esm/gov-layout-aside.entry.js.map +0 -1
  976. package/dist/esm/gov-layout-content.entry.js +0 -22
  977. package/dist/esm/gov-layout-content.entry.js.map +0 -1
  978. package/dist/esm/props-cb992af5.js.map +0 -1
  979. package/dist/esm/utils-3a968bb9.js.map +0 -1
  980. package/dist/esm/variants-b5641e3d.js.map +0 -1
  981. package/dist/esm/wcag-af732bfe.js.map +0 -1
  982. package/dist/esm/win-cb090c11.js.map +0 -1
  983. package/dist/types/components/gov-layout/gov-layout-aside.d.ts +0 -10
  984. package/dist/types/components/gov-layout/gov-layout-content.d.ts +0 -10
  985. package/dist/types/core/constants/breakpoint.d.ts +0 -8
  986. /package/dist/core/{p-64d3cf79.entry.js.map → p-a5e34e93.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gov-empty.js","mappings":";;;AAAO,MAAM,UAAU,GAAG;EACzB,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,iBAAiB;EACvB,SAAS,EAAE,sBAAsB;EACjC,OAAO,EAAE,oBAAoB;CAC7B;;ACLD,MAAM,WAAW,GAAG,wpBAAwpB;;MCS/pBA,UAAQ;EAGpB;;;IACC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;GAC3B;EAID,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAC1C,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KACtB,WAAK,KAAK,EAAE,UAAU,CAAC,IAAI,IAC1B,YAAM,IAAI,EAAC,MAAM,GAAG,CACf,CACN,EACD,WAAK,KAAK,EAAE,UAAU,CAAC,OAAO,IAC7B,eAAQ,CACH,CACA,EACP;GACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["GovEmpty"],"sources":["../../../packages/core/src/components/gov-empty/constants.ts","../../../packages/core/src/components/gov-empty/gov-empty.scss?tag=gov-empty","../../../packages/core/src/components/gov-empty/gov-empty.tsx"],"sourcesContent":["export const EmptyClass = {\n\troot: 'gov-empty',\n\ticon: 'gov-empty__icon',\n\tcontainer: 'gov-empty__container',\n\tcontent: 'gov-empty__content',\n}\n","/*\n * Alert\n */\n\n$class: \".gov-empty\";\n\n#{$class} {\n\t@include base();\n\t&__icon {\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: rem-calc(96);\n\t\theight: rem-calc(96);\n\t\tmargin-bottom: calc(rem-calc(96) / 3);\n\t\tborder-radius: 50%;\n\t\tbackground: $empty-icon-circle-bg;\n\t\tcolor: $empty-icon-color;\n\t\t& > * {\n\t\t\twidth: rem-calc(56);\n\t\t\theight: rem-calc(56);\n\t\t}\n\t}\n\t&__content {\n\t\t@include reset-last-margin();\n\t}\n}\n","import { Component, Element, Host, h } from '@stencil/core'\nimport { EmptyClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.d'\n\n@Component({\n\ttag: 'gov-empty',\n\tstyleUrl: 'gov-empty.scss',\n})\nexport class GovEmpty {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovEmptyElement\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(EmptyClass.root)}>\n\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t<div class={EmptyClass.icon}>\n\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div class={EmptyClass.content}>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-empty.js","mappings":";;;AAAO,MAAM,UAAU,GAAG;EACzB,IAAI,EAAE,WAAW;EACjB,IAAI,EAAE,iBAAiB;EACvB,SAAS,EAAE,sBAAsB;EACjC,OAAO,EAAE,oBAAoB;CAC7B;;ACLD,MAAM,WAAW,GAAG,wpBAAwpB;;MCS/pBA,UAAQ;EAGpB;;;IACC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;GAC3B;EAID,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAC1C,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KACtB,WAAK,KAAK,EAAE,UAAU,CAAC,IAAI,IAC1B,YAAM,IAAI,EAAC,MAAM,GAAG,CACf,CACN,EACD,WAAK,KAAK,EAAE,UAAU,CAAC,OAAO,IAC7B,eAAQ,CACH,CACA,EACP;GACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["GovEmpty"],"sources":["../../../packages/core/src/components/gov-empty/constants.ts","../../../packages/core/src/components/gov-empty/gov-empty.scss?tag=gov-empty","../../../packages/core/src/components/gov-empty/gov-empty.tsx"],"sourcesContent":["export const EmptyClass = {\n\troot: 'gov-empty',\n\ticon: 'gov-empty__icon',\n\tcontainer: 'gov-empty__container',\n\tcontent: 'gov-empty__content',\n}\n","/*\n * Alert\n */\n\n$class: \".gov-empty\";\n\n#{$class} {\n\t@include base();\n\t&__icon {\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: rem-calc(96);\n\t\theight: rem-calc(96);\n\t\tmargin-bottom: calc(rem-calc(96) / 3);\n\t\tborder-radius: 50%;\n\t\tbackground: $empty-icon-circle-bg;\n\t\tcolor: $empty-icon-color;\n\t\t& > * {\n\t\t\twidth: rem-calc(56);\n\t\t\theight: rem-calc(56);\n\t\t}\n\t}\n\t&__content {\n\t\t@include reset-last-margin();\n\t}\n}\n","import { Component, Element, Host, h } from '@stencil/core'\nimport { EmptyClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-empty',\n\tstyleUrl: 'gov-empty.scss',\n})\nexport class GovEmpty {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovEmptyElement\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(EmptyClass.root)}>\n\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t<div class={EmptyClass.icon}>\n\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t<div class={EmptyClass.content}>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"gov-error-code.js","mappings":";;;AAAO,MAAM,cAAc,GAAG;EAC7B,IAAI,EAAE,gBAAgB;EACtB,IAAI,EAAE,sBAAsB;EAC5B,MAAM,EAAE,wBAAwB;EAChC,OAAO,EAAE,yBAAyB;CAClC;;ACLD,MAAM,eAAe,GAAG,83BAA83B;;MCSz4BA,cAAY;EAGxB;;;IACC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;GAC3B;EAID,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/C,WAAK,KAAK,EAAE,cAAc,CAAC,MAAM,IAC/B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KACtB,WAAK,KAAK,EAAE,cAAc,CAAC,IAAI,IAC9B,YAAM,IAAI,EAAC,MAAM,GAAG,CACf,CACN,EACD,WAAK,KAAK,EAAE,cAAc,CAAC,OAAO,IACjC,eAAQ,CACH,CACD,CACA,EACP;GACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["GovErrorCode"],"sources":["../../../packages/core/src/components/gov-error-code/constants.ts","../../../packages/core/src/components/gov-error-code/gov-error-code.scss?tag=gov-error-code","../../../packages/core/src/components/gov-error-code/gov-error-code.tsx"],"sourcesContent":["export const ErrorCodeClass = {\n\troot: 'gov-error-code',\n\ticon: 'gov-error-code__icon',\n\tholder: 'gov-error-code__holder',\n\tcontent: 'gov-error-code__content',\n}\n","/*\n * Alert\n */\n\n$class: \".gov-error-code\";\n\n#{$class} {\n\t@include base();\n\t&__holder {\n\t\tmargin: 0 auto;\n\t\ttext-align: center;\n\t}\n\t&__content {\n\t\t@include reset-last-margin();\n\t}\n\t&__icon {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: rem-calc(150);\n\t\theight: rem-calc(150);\n\t\tmargin: 0 auto rem-calc(24);\n\t\tborder-radius: 50%;\n\t\tbackground: $error-icon-circle-bg;\n\t\tcolor: $error-icon-color;\n\t\t& > * {\n\t\t\twidth: rem-calc(114);\n\t\t\theight: rem-calc(114);\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: md) {\n\t\t&__icon {\n\t\t\twidth: rem-calc(200);\n\t\t\theight: rem-calc(200);\n\t\t\tmargin: 0 auto rem-calc(32);\n\t\t\t& > * {\n\t\t\t\twidth: rem-calc(152);\n\t\t\t\theight: rem-calc(152);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host } from '@stencil/core'\nimport { ErrorCodeClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.d'\n\n@Component({\n\ttag: 'gov-error-code',\n\tstyleUrl: 'gov-error-code.scss',\n})\nexport class GovErrorCode {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovErrorCodeElement\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(ErrorCodeClass.root)}>\n\t\t\t\t<div class={ErrorCodeClass.holder}>\n\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t<div class={ErrorCodeClass.icon}>\n\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div class={ErrorCodeClass.content}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-error-code.js","mappings":";;;AAAO,MAAM,cAAc,GAAG;EAC7B,IAAI,EAAE,gBAAgB;EACtB,IAAI,EAAE,sBAAsB;EAC5B,MAAM,EAAE,wBAAwB;EAChC,OAAO,EAAE,yBAAyB;CAClC;;ACLD,MAAM,eAAe,GAAG,83BAA83B;;MCSz4BA,cAAY;EAGxB;;;IACC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;GAC3B;EAID,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAC/C,WAAK,KAAK,EAAE,cAAc,CAAC,MAAM,IAC/B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KACtB,WAAK,KAAK,EAAE,cAAc,CAAC,IAAI,IAC9B,YAAM,IAAI,EAAC,MAAM,GAAG,CACf,CACN,EACD,WAAK,KAAK,EAAE,cAAc,CAAC,OAAO,IACjC,eAAQ,CACH,CACD,CACA,EACP;GACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["GovErrorCode"],"sources":["../../../packages/core/src/components/gov-error-code/constants.ts","../../../packages/core/src/components/gov-error-code/gov-error-code.scss?tag=gov-error-code","../../../packages/core/src/components/gov-error-code/gov-error-code.tsx"],"sourcesContent":["export const ErrorCodeClass = {\n\troot: 'gov-error-code',\n\ticon: 'gov-error-code__icon',\n\tholder: 'gov-error-code__holder',\n\tcontent: 'gov-error-code__content',\n}\n","/*\n * Alert\n */\n\n$class: \".gov-error-code\";\n\n#{$class} {\n\t@include base();\n\t&__holder {\n\t\tmargin: 0 auto;\n\t\ttext-align: center;\n\t}\n\t&__content {\n\t\t@include reset-last-margin();\n\t}\n\t&__icon {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: rem-calc(150);\n\t\theight: rem-calc(150);\n\t\tmargin: 0 auto rem-calc(24);\n\t\tborder-radius: 50%;\n\t\tbackground: $error-icon-circle-bg;\n\t\tcolor: $error-icon-color;\n\t\t& > * {\n\t\t\twidth: rem-calc(114);\n\t\t\theight: rem-calc(114);\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: md) {\n\t\t&__icon {\n\t\t\twidth: rem-calc(200);\n\t\t\theight: rem-calc(200);\n\t\t\tmargin: 0 auto rem-calc(32);\n\t\t\t& > * {\n\t\t\t\twidth: rem-calc(152);\n\t\t\t\theight: rem-calc(152);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host } from '@stencil/core'\nimport { ErrorCodeClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-error-code',\n\tstyleUrl: 'gov-error-code.scss',\n})\nexport class GovErrorCode {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovErrorCodeElement\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(ErrorCodeClass.root)}>\n\t\t\t\t<div class={ErrorCodeClass.holder}>\n\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t<div class={ErrorCodeClass.icon}>\n\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div class={ErrorCodeClass.content}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -1,9 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as createID } from './string.utils.js';
3
- import { e as FormAutocompleteClass, f as Variants, S as Sizes$1 } from './form.js';
4
- import { S as Sizes } from './sizes.js';
3
+ import { k as FormAutocompleteClass, l as FormAutocompleteVariants, m as FormAutocompleteSizes } from './form.js';
5
4
  import { v as validateProp } from './props.js';
6
- import { t as throttle, h as has } from './win.js';
5
+ import { t as throttle, h as has } from './utils.js';
7
6
  import { a as toBoolAttr } from './template.js';
8
7
  import { d as defineCustomElement$2 } from './gov-form-input2.js';
9
8
  import { d as defineCustomElement$1 } from './gov-icon2.js';
@@ -23,7 +22,7 @@ const GovFormAutocomplete = /*@__PURE__*/ proxyCustomElement(class extends HTMLE
23
22
  this.identifier = undefined;
24
23
  this.variant = undefined;
25
24
  this.success = undefined;
26
- this.size = Sizes._M;
25
+ this.size = 'm';
27
26
  this.nameKey = 'name';
28
27
  this.name = undefined;
29
28
  this.required = false;
@@ -43,10 +42,10 @@ const GovFormAutocomplete = /*@__PURE__*/ proxyCustomElement(class extends HTMLE
43
42
  this.listBoxId = createID('GovListBox');
44
43
  }
45
44
  validateVariant(newValue) {
46
- validateProp(Variants, newValue, FormAutocompleteClass.root);
45
+ validateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root);
47
46
  }
48
47
  validateSize(newValue) {
49
- validateProp(Sizes$1, newValue, FormAutocompleteClass.root);
48
+ validateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root);
50
49
  }
51
50
  onArrowUp() {
52
51
  if (this.arrowCounter > 0) {
@@ -170,9 +169,9 @@ const GovFormAutocomplete = /*@__PURE__*/ proxyCustomElement(class extends HTMLE
170
169
  }, [4, "gov-form-autocomplete", {
171
170
  "value": [1537],
172
171
  "identifier": [1],
173
- "variant": [8],
172
+ "variant": [1],
174
173
  "success": [4],
175
- "size": [8],
174
+ "size": [1],
176
175
  "nameKey": [1, "name-key"],
177
176
  "name": [1],
178
177
  "required": [4],
@@ -1 +1 @@
1
- {"file":"gov-form-autocomplete2.js","mappings":"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","names":["SizesGlobal","Sizes"],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { SizesType } from './constants'\nimport { createID } from '../../../../src/utils/string.utils'\nimport { FormAutocompleteClass, Variants, VariantType, Sizes } from './constants'\nimport { Sizes as SizesGlobal } from '../../../core/constants/sizes'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { has, throttle } from \"../../../utils/utils\";\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.d'\nimport { toBoolAttr } from '../../../helpers/Dom/template'\nimport { Nullable } from \"../../../types/interfaces\";\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant: VariantType = undefined\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 * Input’s size.\n\t */\n\t@Prop() readonly size: SizesType = SizesGlobal._M\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 2\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-select' }) govSelect: EventEmitter<GovFormAutocompleteItem>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(Variants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && String(this.value).length <= this.minlength && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}>\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tsetTimeout(() => (this.list = []), 200)\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit(selected)\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = e.detail as KeyboardEvent\n\t\te.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) this.onSelectHandler()\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.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-autocomplete2.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { SizesType } from './constants'\nimport { createID } from '../../../utils/string.utils'\nimport { FormAutocompleteClass, FormAutocompleteVariants, VariantType, FormAutocompleteSizes } from './constants'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { has, throttle } from '../../../utils/utils'\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.types'\nimport { toBoolAttr } from '../../../helpers/Dom/template'\nimport { Nullable } from '../../../types/interfaces'\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: VariantType\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 * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 2\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-select' }) govSelect: EventEmitter<GovFormAutocompleteItem>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && String(this.value).length <= this.minlength && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}>\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tsetTimeout(() => (this.list = []), 200)\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit(selected)\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = e.detail as KeyboardEvent\n\t\te.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) this.onSelectHandler()\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.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"version":3}
@@ -1,11 +1,11 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as createID } from './string.utils.js';
3
3
  import { v as validateProp } from './props.js';
4
- import { g as govForm, F as FormCheckboxClass } from './form.js';
4
+ import { g as govForm, F as FormCheckboxClass, a as FormCheckboxSizes } from './form.js';
5
5
  import { g as govHost, t as toBoolAttrIfDefined, a as toBoolAttr } from './template.js';
6
6
  import { a as validateWcagRef, b as validateWcagLabelFor } from './wcag.js';
7
- import { c as canValidateWcagOnRender, d as delay } from './win.js';
8
- import { S as Sizes } from './sizes.js';
7
+ import { c as canValidateWcagOnRender } from './win.js';
8
+ import { d as delay } from './utils.js';
9
9
  import { F as FormLabelClass } from './constants4.js';
10
10
  import { d as defineCustomElement$2 } from './gov-icon2.js';
11
11
 
@@ -23,7 +23,7 @@ const GovFormCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
23
23
  this.required = false;
24
24
  this.disabled = undefined;
25
25
  this.name = undefined;
26
- this.size = Sizes._M;
26
+ this.size = 'm';
27
27
  this.identifier = undefined;
28
28
  this.invalid = undefined;
29
29
  this.wcagDescribedBy = undefined;
@@ -41,7 +41,7 @@ const GovFormCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
41
41
  });
42
42
  }
43
43
  validateSize(newValue) {
44
- validateProp(Sizes, newValue, FormCheckboxClass.root);
44
+ validateProp(FormCheckboxSizes, newValue, FormCheckboxClass.root);
45
45
  }
46
46
  componentWillLoad() {
47
47
  this.isChecked = this.checked;
@@ -56,26 +56,17 @@ const GovFormCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
56
56
  }
57
57
  render() {
58
58
  const { isChecked } = this;
59
- return (h(Host, { class: FormCheckboxClass.root, "is-checked": isChecked, size: this.size, invalid: toBoolAttrIfDefined(this.invalid) }, h("input", { id: this.identifier || this.checkboxId, type: "checkbox", value: this.value, name: this.name, checked: this.isChecked, onClick: this.onClickHandler.bind(this), onChange: this.onChangeHandler.bind(this), onFocus: this.onFocusHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, "aria-checked": toBoolAttr(this.isChecked), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-disabled": toBoolAttrIfDefined(this.disabled) }), h("span", null, h("slot", { name: "label" }), h("gov-icon", { class: FormCheckboxClass.check, name: "check" }))));
59
+ return (h(Host, { class: FormCheckboxClass.root, "is-checked": isChecked, size: this.size, invalid: toBoolAttrIfDefined(this.invalid) }, h("input", { id: this.identifier || this.checkboxId, type: "checkbox", value: this.value, name: this.name, checked: this.isChecked, onChange: this.onChangeHandler.bind(this), onFocus: this.onFocusHandler.bind(this), onBlur: this.onBlurHandler.bind(this), required: this.required, "aria-checked": toBoolAttr(this.isChecked), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-disabled": toBoolAttrIfDefined(this.disabled) }), h("span", null, h("slot", { name: "label" }), h("gov-icon", { class: FormCheckboxClass.check, name: "check" }))));
60
60
  }
61
61
  onFocusHandler(e) {
62
- e.stopPropagation();
63
- e.preventDefault();
64
62
  this.govFocus.emit(e);
65
63
  }
66
64
  onBlurHandler(e) {
67
- e.stopPropagation();
68
- e.preventDefault();
69
65
  this.govBlur.emit(e);
70
66
  }
71
- onClickHandler(e) {
72
- e.stopPropagation();
73
- e.preventDefault();
74
- }
75
67
  onChangeHandler(e) {
76
68
  this.isChecked = e.target.checked;
77
69
  e.stopPropagation();
78
- e.preventDefault();
79
70
  this.govChange.emit({
80
71
  checked: this.isChecked,
81
72
  value: this.value,
@@ -101,7 +92,7 @@ const GovFormCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
101
92
  "required": [4],
102
93
  "disabled": [4],
103
94
  "name": [1],
104
- "size": [8],
95
+ "size": [1],
105
96
  "identifier": [1],
106
97
  "invalid": [4],
107
98
  "wcagDescribedBy": [1, "wcag-described-by"],
@@ -1 +1 @@
1
- {"file":"gov-form-checkbox.js","mappings":"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","names":["GovFormCheckbox"],"sources":["../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.scss?tag=gov-form-checkbox","../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.tsx"],"sourcesContent":["/*\n * Checkbox\n */\n\n@import \"../checkbox/gov-form-checkbox-core.scss\";\n$class: \".gov-form-checkbox\";\n\n#{$class} {\n\t@extend %form-checkbox-core;\n\tinput + span {\n\t\t&::before {\n\t\t\tborder-radius: $border-radius;\n\t\t}\n\t}\n\t&__check {\n\t\tposition: absolute;\n\t\tcolor: $form-checkbox-check-color;\n\t\topacity: 0;\n\t\ttransition: $t linear opacity;\n\t}\n\n\t// STATES\n\tinput:checked + span::before {\n\t\tbackground: $form-checkbox-indicator-bg;\n\t}\n\tinput:checked + span &__check {\n\t\topacity: 1;\n\t}\n\t@include parameter(\"invalid\") {\n\t\tinput:checked + span::before {\n\t\t\tbackground: $form-state-color-error;\n\t\t}\n\t}\n\t@include parameter(\"disabled\") {\n\t\tinput:checked + span::before {\n\t\t\tborder-color: $form-state-bg-disabled;\n\t\t\tbackground-color: $form-state-bg-disabled;\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@each $size, $definitions in $form-checkbox-core-sizes {\n\t\t&[size=\"#{$size}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__check {\n\t\t\t\t\ttop: calc((get(\"indicator-size\", $definitions) - get(\"check-size\", $definitions)) / 2);\n\t\t\t\t\tleft: calc((get(\"indicator-size\", $definitions) - get(\"check-size\", $definitions)) / 2);\n\t\t\t\t\twidth: get(\"check-size\", $definitions);\n\t\t\t\t\theight: get(\"check-size\", $definitions);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Element, Watch, Method } from '@stencil/core'\nimport { createID } from '../../../../src/utils/string.utils'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { FormCheckboxClass, SizesType } from './constants'\nimport { toBoolAttrIfDefined } from '../../../helpers/Dom/template'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { delay } from '../../../utils/utils'\nimport { Sizes } from '../../../core/constants/sizes'\nimport { GovForm } from '../../../helpers/Dom/form.d'\nimport { govHost, toBoolAttr } from '../../../helpers/Dom/template'\nimport { GovHost } from '../../../helpers/Dom/template.d'\nimport { govForm } from '../../../helpers/Dom/form'\nimport { FormLabelClass } from '../label/constants'\nimport { GovFormCheckboxChangeEvent } from \"./interfaces\"\n\n\n@Component({\n\ttag: 'gov-form-checkbox',\n\tstyleUrl: 'gov-form-checkbox.scss',\n})\nexport class GovFormCheckbox {\n\tprivate h: GovHost\n\tprivate f: GovForm\n\n\tprivate readonly checkboxId: string\n\n\tconstructor() {\n\t\tthis.checkboxId = createID('GovCheckbox')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormCheckboxElement\n\t/**\n\t * Value of checkbox\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * Checkbox default state\n\t */\n\t@Prop({ reflect: true }) readonly checked: 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 checkbox component disabled.\n\t * This prevents users from being able to interact with the checkbox, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Name of the checkbox.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Checkbox's size.\n\t */\n\t@Prop() readonly size: SizesType = Sizes._M\n\t/**\n\t * Custom checkbox 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 * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the checkbox has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the checkbox loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovFormCheckboxChangeEvent>\n\n\t@State() isChecked: boolean\n\n\t@Watch('checked')\n\tupdateCheckedState(newValue: boolean): void {\n\t\tthis.isChecked = newValue\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, FormCheckboxClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.isChecked = this.checked\n\n\t\tthis.f.passAttrToControl('type', 'checkbox')\n\t\tthis.h.passChildAttr(FormLabelClass.root, 'identifier', this.identifier || this.checkboxId)\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isChecked } = this\n\n\t\treturn (\n\t\t\t<Host class={FormCheckboxClass.root} is-checked={isChecked} size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t<input\n\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tchecked={this.isChecked}\n\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\taria-checked={toBoolAttr(this.isChecked)}\n\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t/>\n\t\t\t\t<span>\n\t\t\t\t\t<slot name=\"label\" />\n\t\t\t\t\t<gov-icon class={FormCheckboxClass.check} name=\"check\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.isChecked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\te.preventDefault()\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormCheckboxClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormCheckboxClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.checkboxId, this.wcagLabelledBy, FormCheckboxClass.root)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-checkbox.js","mappings":"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","names":["GovFormCheckbox"],"sources":["../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.scss?tag=gov-form-checkbox","../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.tsx"],"sourcesContent":["/*\n * Checkbox\n */\n\n@import \"../checkbox/gov-form-checkbox-core.scss\";\n$class: \".gov-form-checkbox\";\n\n#{$class} {\n\t@extend %form-checkbox-core;\n\tinput + span {\n\t\t&::before {\n\t\t\tborder-radius: $border-radius;\n\t\t}\n\t}\n\t&__check {\n\t\tposition: absolute;\n\t\tcolor: $form-checkbox-check-color;\n\t\topacity: 0;\n\t\ttransition: $t linear opacity;\n\t}\n\n\t// STATES\n\tinput:checked + span::before {\n\t\tbackground: $form-checkbox-indicator-bg;\n\t}\n\tinput:checked + span &__check {\n\t\topacity: 1;\n\t}\n\t@include parameter(\"invalid\") {\n\t\tinput:checked + span::before {\n\t\t\tbackground: $form-state-color-error;\n\t\t}\n\t}\n\t@include parameter(\"disabled\") {\n\t\tinput:checked + span::before {\n\t\t\tborder-color: $form-state-bg-disabled;\n\t\t\tbackground-color: $form-state-bg-disabled;\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@each $size, $definitions in $form-checkbox-core-sizes {\n\t\t&[size=\"#{$size}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__check {\n\t\t\t\t\ttop: calc((get(\"indicator-size\", $definitions) - get(\"check-size\", $definitions)) / 2);\n\t\t\t\t\tleft: calc((get(\"indicator-size\", $definitions) - get(\"check-size\", $definitions)) / 2);\n\t\t\t\t\twidth: get(\"check-size\", $definitions);\n\t\t\t\t\theight: get(\"check-size\", $definitions);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Element, Watch, Method } from '@stencil/core'\nimport { createID } from '../../../utils/string.utils'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { FormCheckboxClass, FormCheckboxSizes, FormCheckboxSizesType } from './constants'\nimport { toBoolAttrIfDefined } from '../../../helpers/Dom/template'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { delay } from '../../../utils/utils'\nimport { GovForm } from '../../../helpers/Dom/form.types'\nimport { govHost, toBoolAttr } from '../../../helpers/Dom/template'\nimport { GovHost } from '../../../helpers/Dom/template.types'\nimport { govForm } from '../../../helpers/Dom/form'\nimport { FormLabelClass } from '../label/constants'\nimport { GovFormCheckboxChangeEvent } from './interfaces'\n\n@Component({\n\ttag: 'gov-form-checkbox',\n\tstyleUrl: 'gov-form-checkbox.scss',\n})\nexport class GovFormCheckbox {\n\tprivate h: GovHost\n\tprivate f: GovForm\n\n\tprivate readonly checkboxId: string\n\n\tconstructor() {\n\t\tthis.checkboxId = createID('GovCheckbox')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormCheckboxElement\n\t/**\n\t * Value of checkbox\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * Checkbox default state\n\t */\n\t@Prop({ reflect: true }) readonly checked: 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 checkbox component disabled.\n\t * This prevents users from being able to interact with the checkbox, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Name of the checkbox.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Checkbox's size.\n\t */\n\t@Prop() readonly size?: FormCheckboxSizesType = 'm'\n\t/**\n\t * Custom checkbox 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 * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the checkbox has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the checkbox loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovFormCheckboxChangeEvent>\n\n\t@State() isChecked: boolean\n\n\t@Watch('checked')\n\tupdateCheckedState(newValue: boolean): void {\n\t\tthis.isChecked = newValue\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormCheckboxSizes, newValue, FormCheckboxClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.isChecked = this.checked\n\n\t\tthis.f.passAttrToControl('type', 'checkbox')\n\t\tthis.h.passChildAttr(FormLabelClass.root, 'identifier', this.identifier || this.checkboxId)\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isChecked } = this\n\n\t\treturn (\n\t\t\t<Host class={FormCheckboxClass.root} is-checked={isChecked} size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t<input\n\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tchecked={this.isChecked}\n\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\taria-checked={toBoolAttr(this.isChecked)}\n\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t/>\n\t\t\t\t<span>\n\t\t\t\t\t<slot name=\"label\" />\n\t\t\t\t\t<gov-icon class={FormCheckboxClass.check} name=\"check\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.isChecked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormCheckboxClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormCheckboxClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.checkboxId, this.wcagLabelledBy, FormCheckboxClass.root)\n\t}\n}\n"],"version":3}
@@ -1,8 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { g as govHost } from './template.js';
3
- import { g as govForm, a as FormControlClass } from './form.js';
3
+ import { g as govForm, b as FormControlClass } from './form.js';
4
4
  import { c as createID, s as splitByWhitespace } from './string.utils.js';
5
- import { S as Sizes } from './sizes.js';
6
5
 
7
6
  const govFormControlCss = ".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}.gov-form-control__holder{display:flex;flex-direction:column;padding:0;border:none}.gov-form-control__bottom>*:last-child{margin-bottom:0}.gov-form-control[type=file] .gov-form-label[slot=top] .gov-form-label__label{margin:0rem 0rem 0.5rem}.gov-form-control[type=file] .gov-form-control__bottom{margin:0.5rem 0rem 0rem}.gov-form-control[type=input] .gov-form-label .gov-form-label__label,.gov-form-control[type=select] .gov-form-label .gov-form-label__label{margin:0rem 0rem 0.25rem}.gov-form-control[type=input] .gov-form-control__bottom,.gov-form-control[type=select] .gov-form-control__bottom{margin:0.25rem 0rem 0rem}.gov-form-control[size=xs][type=checkbox] .gov-form-control__bottom,.gov-form-control[size=xs][type=radio] .gov-form-control__bottom{margin-top:var(--gov-form-checkbox-core-xs-message-gap, 0.5rem);margin-left:calc(var(--gov-form-checkbox-core-xs-indicator-size, 1.25rem) + var(--gov-form-checkbox-core-xs-gap, 0.75rem))}.gov-form-control[size=s][type=checkbox] .gov-form-control__bottom,.gov-form-control[size=s][type=radio] .gov-form-control__bottom{margin-top:var(--gov-form-checkbox-core-s-message-gap, 0.5rem);margin-left:calc(var(--gov-form-checkbox-core-s-indicator-size, 1.375rem) + var(--gov-form-checkbox-core-s-gap, 0.75rem))}.gov-form-control[size=m][type=checkbox] .gov-form-control__bottom,.gov-form-control[size=m][type=radio] .gov-form-control__bottom{margin-top:var(--gov-form-checkbox-core-m-message-gap, 0.75rem);margin-left:calc(var(--gov-form-checkbox-core-m-indicator-size, 1.5rem) + var(--gov-form-checkbox-core-m-gap, 1rem))}.gov-form-control[size=l][type=checkbox] .gov-form-control__bottom,.gov-form-control[size=l][type=radio] .gov-form-control__bottom{margin-top:var(--gov-form-checkbox-core-l-message-gap, 0.75rem);margin-left:calc(var(--gov-form-checkbox-core-l-indicator-size, 2rem) + var(--gov-form-checkbox-core-l-gap, 1rem))}.gov-form-control[size=xs][type=switch] .gov-form-control__bottom{margin-top:var(--gov-form-switch-xs-message-gap, 0.5rem);margin-left:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) * 1.6666666667 + var(--gov-form-switch-xs-gap, 0.75rem))}.gov-form-control[size=s][type=switch] .gov-form-control__bottom{margin-top:var(--gov-form-switch-s-message-gap, 0.5rem);margin-left:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) * 1.6666666667 + var(--gov-form-switch-s-gap, 0.75rem))}.gov-form-control[size=m][type=switch] .gov-form-control__bottom{margin-top:var(--gov-form-switch-m-message-gap, 0.75rem);margin-left:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) * 1.6666666667 + var(--gov-form-switch-m-gap, 1rem))}.gov-form-control[size=l][type=switch] .gov-form-control__bottom{margin-top:var(--gov-form-switch-l-message-gap, 0.75rem);margin-left:calc(var(--gov-form-switch-l-indicator-height, 2rem) * 1.6666666667 + var(--gov-form-switch-l-gap, 1rem))}.gov-form-control[invalid=\"\"] .gov-form-label[slot=top] .gov-form-label__label,.gov-form-control[invalid=true i] .gov-form-label[slot=top] .gov-form-label__label,.gov-form-control[invalid=\"1\"] .gov-form-label[slot=top] .gov-form-label__label{color:var(--gov-form-state-color-error, var(--gov-color-error))}.gov-form-control[disabled=\"\"] .gov-form-label__label,.gov-form-control[disabled=true i] .gov-form-label__label,.gov-form-control[disabled=\"1\"] .gov-form-label__label{pointer-events:none}";
8
7
 
@@ -10,16 +9,16 @@ const GovFormControl$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
10
9
  constructor() {
11
10
  super();
12
11
  this.__registerHost();
13
- this.gap = false;
12
+ this.gap = undefined;
14
13
  this.identifier = undefined;
15
14
  this.invalid = false;
16
15
  this.disabled = false;
17
16
  this.success = false;
18
17
  this.fieldset = false;
19
- this.size = Sizes._M;
18
+ this.size = 'm';
20
19
  this.h = govHost(this.host);
21
20
  this.f = govForm(this.h);
22
- this.controlId = createID("GovFormControl");
21
+ this.controlId = createID('GovFormControl');
23
22
  }
24
23
  watchInvalid() {
25
24
  this.passChildAttrs();
@@ -35,25 +34,25 @@ const GovFormControl$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
35
34
  }
36
35
  passChildAttrs() {
37
36
  const formElements = [
38
- "gov-form-select",
39
- "gov-form-input",
40
- "gov-form-switch",
41
- "gov-form-checkbox",
42
- "gov-form-radio",
43
- "gov-form-multi-select",
44
- "gov-form-file",
45
- "gov-form-search",
37
+ 'gov-form-select',
38
+ 'gov-form-input',
39
+ 'gov-form-switch',
40
+ 'gov-form-checkbox',
41
+ 'gov-form-radio',
42
+ 'gov-form-multi-select',
43
+ 'gov-form-file',
44
+ 'gov-form-search',
46
45
  ];
47
- this.h.passChildAttr(formElements, "size", this.size);
48
- this.h.passChildAttr(formElements, "invalid", this.invalid);
49
- this.h.passChildAttr(formElements, "disabled", this.disabled);
50
- this.h.passChildAttr(formElements, "success", this.success);
46
+ this.h.passChildAttr(formElements, 'size', this.size);
47
+ this.h.passChildAttr(formElements, 'invalid', this.invalid);
48
+ this.h.passChildAttr(formElements, 'disabled', this.disabled);
49
+ this.h.passChildAttr(formElements, 'success', this.success);
51
50
  if (this.f.hasGroupChildren === false) {
52
- this.h.passChildAttr([...formElements, "gov-form-label"], "identifier", this.identifier || this.controlId);
51
+ this.h.passChildAttr([...formElements, 'gov-form-label'], 'identifier', this.identifier || this.controlId);
53
52
  }
54
53
  }
55
54
  formElementDescriptionControl() {
56
- const bottomSlot = this.host.querySelector("." + FormControlClass.bottom);
55
+ const bottomSlot = this.host.querySelector('.' + FormControlClass.bottom);
57
56
  if (!bottomSlot)
58
57
  return;
59
58
  this.observer = new MutationObserver(function () {
@@ -64,20 +63,20 @@ const GovFormControl$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
64
63
  syncControlMessages() {
65
64
  Promise.all(this.f.messageElements.map((message) => message.identifier())).then((ids) => {
66
65
  this.f.mainElementsInControl.forEach((element) => {
67
- const currentValue = splitByWhitespace(element.getAttribute("wcag-described-by"));
68
- element.removeAttribute("wcag-described-by");
66
+ const currentValue = splitByWhitespace(element.getAttribute('wcag-described-by'));
67
+ element.removeAttribute('wcag-described-by');
69
68
  if (Array.isArray(currentValue)) {
70
- currentValue.forEach(id => (id.indexOf("GovFormMessage") === -1 ? ids.push(id) : null));
69
+ currentValue.forEach(id => (id.indexOf('GovFormMessage') === -1 ? ids.push(id) : null));
71
70
  }
72
71
  if (ids.length) {
73
- element.setAttribute("wcag-described-by", ids.join(" "));
72
+ element.setAttribute('wcag-described-by', ids.join(' '));
74
73
  }
75
74
  });
76
75
  });
77
76
  }
78
77
  render() {
79
- const Tag = this.fieldset ? "fieldset" : "div";
80
- return (h(Host, { size: this.size, class: this.h.classes(FormControlClass.root) }, h(Tag, { class: FormControlClass.holder }, this.h.hasSlot("top") && h("slot", { name: "top" }), h("slot", null), this.h.hasSlot("bottom") && (h("div", { class: FormControlClass.bottom }, h("slot", { name: "bottom" }))))));
78
+ const Tag = this.fieldset ? 'fieldset' : 'div';
79
+ return (h(Host, { size: this.size, class: this.h.classes(FormControlClass.root) }, h(Tag, { class: FormControlClass.holder }, this.h.hasSlot('top') && h("slot", { name: "top" }), h("slot", null), this.h.hasSlot('bottom') && (h("div", { class: FormControlClass.bottom }, h("slot", { name: "bottom" }))))));
81
80
  }
82
81
  get host() { return this; }
83
82
  static get watchers() { return {
@@ -85,13 +84,13 @@ const GovFormControl$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElem
85
84
  }; }
86
85
  static get style() { return govFormControlCss; }
87
86
  }, [4, "gov-form-control", {
88
- "gap": [8],
87
+ "gap": [1],
89
88
  "identifier": [1],
90
89
  "invalid": [4],
91
90
  "disabled": [4],
92
91
  "success": [4],
93
92
  "fieldset": [4],
94
- "size": [8]
93
+ "size": [1]
95
94
  }]);
96
95
  function defineCustomElement$1() {
97
96
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"gov-form-control.js","mappings":"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","names":["GovFormControl"],"sources":["../../../packages/core/src/components/gov-form/control/gov-form-control.scss?tag=gov-form-control","../../../packages/core/src/components/gov-form/control/gov-form-control.tsx"],"sourcesContent":["/*\n * Form Control\n */\n\n$class: \".gov-form-control\";\n\n#{$class} {\n\t&__holder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding: 0;\n\t\tborder: none;\n\t}\n\t&__bottom {\n\t\t@include reset-last-margin();\n\t}\n\n\t// VARIANTS\n\t&[type=\"file\"] {\n\t\t.gov-form-label[slot=\"top\"] .gov-form-label__label {\n\t\t\tmargin: rem-calc(0 0 8);\n\t\t}\n\t\t#{$class} {\n\t\t\t&__bottom {\n\t\t\t\tmargin: rem-calc(8 0 0);\n\t\t\t}\n\t\t}\n\t}\n\t&[type=\"input\"],\n\t&[type=\"select\"] {\n\t\t.gov-form-label .gov-form-label__label {\n\t\t\tmargin: rem-calc(0 0 4);\n\t\t}\n\t\t#{$class} {\n\t\t\t&__bottom {\n\t\t\t\tmargin: rem-calc(4 0 0);\n\t\t\t}\n\t\t}\n\t}\n\t// Checkbox, radio\n\t@each $size, $definitions in $form-checkbox-core-sizes {\n\t\t&[size=\"#{$size}\"][type=\"checkbox\"],\n\t\t&[size=\"#{$size}\"][type=\"radio\"] {\n\t\t\t#{$class} {\n\t\t\t\t$indicator-width: get(\"indicator-size\", $definitions);\n\t\t\t\t&__bottom {\n\t\t\t\t\tmargin-top: get(\"message-gap\", $definitions);\n\t\t\t\t\tmargin-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Switch\n\t@each $size, $definitions in $form-switch-sizes {\n\t\t&[size=\"#{$size}\"][type=\"switch\"] {\n\t\t\t#{$class} {\n\t\t\t\t$indicator-ratio: calc(5 / 3);\n\t\t\t\t$indicator-width: calc(get(\"indicator-height\", $definitions) * $indicator-ratio);\n\t\t\t\t&__bottom {\n\t\t\t\t\tmargin-top: get(\"message-gap\", $definitions);\n\t\t\t\t\tmargin-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t@include parameter(\"invalid\") {\n\t\t.gov-form-label[slot=\"top\"] .gov-form-label__label {\n\t\t\tcolor: $form-state-color-error;\n\t\t}\n\t}\n\t@include parameter(\"disabled\") {\n\t\t.gov-form-label__label {\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch } from \"@stencil/core\"\nimport { GovHost } from \"../../../helpers/Dom/template.d\"\nimport { GovForm } from \"../../../helpers/Dom/form.d\"\nimport { govHost } from \"../../../helpers/Dom/template\"\nimport { govForm } from \"../../../helpers/Dom/form\"\nimport { createID, splitByWhitespace } from \"../../../utils/string.utils\"\nimport { SizesType, FormControlClass } from \"./constants\"\nimport { Sizes } from \"../../../core/constants/sizes\"\n\n@Component({\n\ttag: \"gov-form-control\",\n\tstyleUrl: \"gov-form-control.scss\",\n})\nexport class GovFormControl {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate readonly controlId: string\n\tprivate observer: MutationObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.controlId = createID(\"GovFormControl\")\n\t}\n\n\t/**\n\t * Defines the space between nested components.\n\t */\n\t@Prop() readonly gap: SizesType = false\n\t/**\n\t * Form element identifier\n\t */\n\t@Prop({ attribute: \"identifier\" }) readonly identifier: string\n\t/**\n\t * Indicates the entered value of child form element does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean = false\n\t/**\n\t/**\n\t * Indicates the form element is disabled\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\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 = false\n\t/**\n\t * Use control as a fieldset for better accessibility.\n\t * Note: Don't forget to set the legend attribute of the gov-form-label component\n\t */\n\t@Prop() readonly fieldset: boolean = false\n\t/**\n\t * Form element size.\n\t */\n\t@Prop() readonly size: SizesType = Sizes._M\n\n\t@Element() host: HTMLGovFormControlElement\n\n\t@Watch(\"invalid\")\n\twatchInvalid(): void {\n\t\tthis.passChildAttrs()\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.passChildAttrs()\n\t\tthis.syncControlMessages()\n\t\tthis.formElementDescriptionControl()\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tthis.observer?.disconnect()\n\t}\n\n\tprivate passChildAttrs() {\n\t\tconst formElements = [\n\t\t\t\"gov-form-select\",\n\t\t\t\"gov-form-input\",\n\t\t\t\"gov-form-switch\",\n\t\t\t\"gov-form-checkbox\",\n\t\t\t\"gov-form-radio\",\n\t\t\t\"gov-form-multi-select\",\n\t\t\t\"gov-form-file\",\n\t\t\t\"gov-form-search\",\n\t\t]\n\t\tthis.h.passChildAttr(formElements, \"size\", this.size)\n\t\tthis.h.passChildAttr(formElements, \"invalid\", this.invalid)\n\t\tthis.h.passChildAttr(formElements, \"disabled\", this.disabled)\n\t\tthis.h.passChildAttr(formElements, \"success\", this.success)\n\n\t\tif (this.f.hasGroupChildren === false) {\n\t\t\tthis.h.passChildAttr([...formElements, \"gov-form-label\"], \"identifier\", this.identifier || this.controlId)\n\t\t}\n\t}\n\n\tprivate formElementDescriptionControl() {\n\t\tconst bottomSlot = this.host.querySelector(\".\" + FormControlClass.bottom)\n\t\tif (!bottomSlot) return\n\t\tthis.observer = new MutationObserver(\n\t\t\tfunction() {\n\t\t\t\tthis.syncControlMessages()\n\t\t\t}.bind(this),\n\t\t)\n\n\t\tthis.observer.observe(bottomSlot, { childList: true })\n\t}\n\n\tprivate syncControlMessages() {\n\t\tPromise.all(this.f.messageElements.map((message: HTMLGovFormMessageElement) => message.identifier())).then((ids: string[]) => {\n\t\t\tthis.f.mainElementsInControl.forEach((element: Element) => {\n\t\t\t\tconst currentValue = splitByWhitespace(element.getAttribute(\"wcag-described-by\"))\n\t\t\t\telement.removeAttribute(\"wcag-described-by\")\n\t\t\t\tif (Array.isArray(currentValue)) {\n\t\t\t\t\tcurrentValue.forEach(id => (id.indexOf(\"GovFormMessage\") === -1 ? ids.push(id) : null))\n\t\t\t\t}\n\t\t\t\tif (ids.length) {\n\t\t\t\t\telement.setAttribute(\"wcag-described-by\", ids.join(\" \"))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\tconst Tag = this.fieldset ? \"fieldset\" : \"div\"\n\t\treturn (\n\t\t\t<Host size={this.size} class={this.h.classes(FormControlClass.root)}>\n\t\t\t\t<Tag class={FormControlClass.holder}>\n\t\t\t\t\t{this.h.hasSlot(\"top\") && <slot name=\"top\"></slot>}\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t{this.h.hasSlot(\"bottom\") && (\n\t\t\t\t\t\t<div class={FormControlClass.bottom}>\n\t\t\t\t\t\t\t<slot name=\"bottom\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-control.js","mappings":"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","names":["GovFormControl"],"sources":["../../../packages/core/src/components/gov-form/control/gov-form-control.scss?tag=gov-form-control","../../../packages/core/src/components/gov-form/control/gov-form-control.tsx"],"sourcesContent":["/*\n * Form Control\n */\n\n$class: \".gov-form-control\";\n\n#{$class} {\n\t&__holder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding: 0;\n\t\tborder: none;\n\t}\n\t&__bottom {\n\t\t@include reset-last-margin();\n\t}\n\n\t// VARIANTS\n\t&[type=\"file\"] {\n\t\t.gov-form-label[slot=\"top\"] .gov-form-label__label {\n\t\t\tmargin: rem-calc(0 0 8);\n\t\t}\n\t\t#{$class} {\n\t\t\t&__bottom {\n\t\t\t\tmargin: rem-calc(8 0 0);\n\t\t\t}\n\t\t}\n\t}\n\t&[type=\"input\"],\n\t&[type=\"select\"] {\n\t\t.gov-form-label .gov-form-label__label {\n\t\t\tmargin: rem-calc(0 0 4);\n\t\t}\n\t\t#{$class} {\n\t\t\t&__bottom {\n\t\t\t\tmargin: rem-calc(4 0 0);\n\t\t\t}\n\t\t}\n\t}\n\t// Checkbox, radio\n\t@each $size, $definitions in $form-checkbox-core-sizes {\n\t\t&[size=\"#{$size}\"][type=\"checkbox\"],\n\t\t&[size=\"#{$size}\"][type=\"radio\"] {\n\t\t\t#{$class} {\n\t\t\t\t$indicator-width: get(\"indicator-size\", $definitions);\n\t\t\t\t&__bottom {\n\t\t\t\t\tmargin-top: get(\"message-gap\", $definitions);\n\t\t\t\t\tmargin-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Switch\n\t@each $size, $definitions in $form-switch-sizes {\n\t\t&[size=\"#{$size}\"][type=\"switch\"] {\n\t\t\t#{$class} {\n\t\t\t\t$indicator-ratio: calc(5 / 3);\n\t\t\t\t$indicator-width: calc(get(\"indicator-height\", $definitions) * $indicator-ratio);\n\t\t\t\t&__bottom {\n\t\t\t\t\tmargin-top: get(\"message-gap\", $definitions);\n\t\t\t\t\tmargin-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t@include parameter(\"invalid\") {\n\t\t.gov-form-label[slot=\"top\"] .gov-form-label__label {\n\t\t\tcolor: $form-state-color-error;\n\t\t}\n\t}\n\t@include parameter(\"disabled\") {\n\t\t.gov-form-label__label {\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch } from '@stencil/core'\nimport { GovHost } from '../../../helpers/Dom/template.types'\nimport { GovForm } from '../../../helpers/Dom/form.types'\nimport { govHost } from '../../../helpers/Dom/template'\nimport { govForm } from '../../../helpers/Dom/form'\nimport { createID, splitByWhitespace } from '../../../utils/string.utils'\nimport { FormControlSizesType, FormControlClass } from './constants'\n\n@Component({\n\ttag: 'gov-form-control',\n\tstyleUrl: 'gov-form-control.scss',\n})\nexport class GovFormControl {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate readonly controlId: string\n\tprivate observer: MutationObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.controlId = createID('GovFormControl')\n\t}\n\n\t/**\n\t * Defines the space between nested components.\n\t */\n\t@Prop() readonly gap?: FormControlSizesType\n\t/**\n\t * Form element identifier\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Indicates the entered value of child form element does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean = false\n\t/**\n\t/**\n\t * Indicates the form element is disabled\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\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 = false\n\t/**\n\t * Use control as a fieldset for better accessibility.\n\t * Note: Don't forget to set the legend attribute of the gov-form-label component\n\t */\n\t@Prop() readonly fieldset: boolean = false\n\t/**\n\t * Form element size.\n\t */\n\t@Prop() readonly size?: FormControlSizesType = 'm'\n\n\t@Element() host: HTMLGovFormControlElement\n\n\t@Watch('invalid')\n\twatchInvalid(): void {\n\t\tthis.passChildAttrs()\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.passChildAttrs()\n\t\tthis.syncControlMessages()\n\t\tthis.formElementDescriptionControl()\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tthis.observer?.disconnect()\n\t}\n\n\tprivate passChildAttrs() {\n\t\tconst formElements = [\n\t\t\t'gov-form-select',\n\t\t\t'gov-form-input',\n\t\t\t'gov-form-switch',\n\t\t\t'gov-form-checkbox',\n\t\t\t'gov-form-radio',\n\t\t\t'gov-form-multi-select',\n\t\t\t'gov-form-file',\n\t\t\t'gov-form-search',\n\t\t]\n\t\tthis.h.passChildAttr(formElements, 'size', this.size)\n\t\tthis.h.passChildAttr(formElements, 'invalid', this.invalid)\n\t\tthis.h.passChildAttr(formElements, 'disabled', this.disabled)\n\t\tthis.h.passChildAttr(formElements, 'success', this.success)\n\n\t\tif (this.f.hasGroupChildren === false) {\n\t\t\tthis.h.passChildAttr([...formElements, 'gov-form-label'], 'identifier', this.identifier || this.controlId)\n\t\t}\n\t}\n\n\tprivate formElementDescriptionControl() {\n\t\tconst bottomSlot = this.host.querySelector('.' + FormControlClass.bottom)\n\t\tif (!bottomSlot) return\n\t\tthis.observer = new MutationObserver(\n\t\t\tfunction () {\n\t\t\t\tthis.syncControlMessages()\n\t\t\t}.bind(this)\n\t\t)\n\n\t\tthis.observer.observe(bottomSlot, { childList: true })\n\t}\n\n\tprivate syncControlMessages() {\n\t\tPromise.all(this.f.messageElements.map((message: HTMLGovFormMessageElement) => message.identifier())).then((ids: string[]) => {\n\t\t\tthis.f.mainElementsInControl.forEach((element: Element) => {\n\t\t\t\tconst currentValue = splitByWhitespace(element.getAttribute('wcag-described-by'))\n\t\t\t\telement.removeAttribute('wcag-described-by')\n\t\t\t\tif (Array.isArray(currentValue)) {\n\t\t\t\t\tcurrentValue.forEach(id => (id.indexOf('GovFormMessage') === -1 ? ids.push(id) : null))\n\t\t\t\t}\n\t\t\t\tif (ids.length) {\n\t\t\t\t\telement.setAttribute('wcag-described-by', ids.join(' '))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\tconst Tag = this.fieldset ? 'fieldset' : 'div'\n\t\treturn (\n\t\t\t<Host size={this.size} class={this.h.classes(FormControlClass.root)}>\n\t\t\t\t<Tag class={FormControlClass.holder}>\n\t\t\t\t\t{this.h.hasSlot('top') && <slot name=\"top\"></slot>}\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t{this.h.hasSlot('bottom') && (\n\t\t\t\t\t\t<div class={FormControlClass.bottom}>\n\t\t\t\t\t\t\t<slot name=\"bottom\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -2,7 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { c as createID } from './string.utils.js';
3
3
  import { g as govHost, t as toBoolAttrIfDefined } from './template.js';
4
4
  import { a as validateWcagRef, b as validateWcagLabelFor } from './wcag.js';
5
- import { c as canValidateWcagOnRender, d as delay } from './win.js';
5
+ import { c as canValidateWcagOnRender } from './win.js';
6
+ import { d as delay } from './utils.js';
6
7
  import { g as govForm } from './form.js';
7
8
  import { d as defineCustomElement$6 } from './gov-attachments2.js';
8
9
  import { d as defineCustomElement$5 } from './gov-attachments-item2.js';
@@ -1 +1 @@
1
- {"file":"gov-form-file.js","mappings":"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","names":["GovFormFile"],"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.scss?tag=gov-form-file","../../../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\tlabel: 'gov-form-file__label',\n\tinput: 'gov-form-file__input',\n\tlist: 'gov-form-file__list',\n\titem: 'gov-form-file__item',\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 / 1024)\n\treturn fileSize <= maxSize\n}\n","/*\n * File\n */\n\n$class: \".gov-form-file\";\n\n#{$class} {\n\t@include base();\n\t&__label .gov-form-label__label {\n\t\t@include reset-last-margin();\n\t}\n\t&__input {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\topacity: 0.0001;\n\t\tcursor: pointer;\n\t}\n\t&__attachments {\n\t\tmargin-top: rem-calc(16 0 0);\n\t}\n\t&__item {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(16);\n\t\talign-items: center;\n\t}\n\n\t// STATES\n\t@include parameter(\"disabled\") {\n\t\t#{$class} {\n\t\t\t&__label .gov-form-label__label {\n\t\t\t\tpointer-events: none;\n\t\t\t\t* {\n\t\t\t\t\tcolor: $form-file-disabled-color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@include parameter(\"expanded\") {\n\t\t#{$class} {\n\t\t\t&__area {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: 100%;\n\t\t\t\tpadding: rem-calc(32) rem-calc(22) rem-calc(22);\n\t\t\t\tborder: $form-file-border;\n\t\t\t\ttext-align: center;\n\t\t\t\ttransition: background-color $t ease-in-out;\n\t\t\t\twill-change: background-color;\n\t\t\t\t&.highlight {\n\t\t\t\t\tbackground-color: color(\"primary.200\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&__label .gov-form-label__label {\n\t\t\t\twidth: 100%;\n\t\t\t\tpadding: rem-calc(22);\n\t\t\t\tborder: $form-file-border;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t\t&__attachments {\n\t\t\t\tmargin: rem-calc(24 0 0);\n\t\t\t}\n\t\t}\n\n\t\t// STATES\n\t\t@include parameter(\"invalid\") {\n\t\t\t#{$class} {\n\t\t\t\t&__label .gov-form-label__label {\n\t\t\t\t\tborder-color: $form-state-color-error;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: sm) {\n\t\t@include parameter(\"expanded\") {\n\t\t\t#{$class} {\n\t\t\t\t&__label .gov-form-label__label {\n\t\t\t\t\tpadding: rem-calc(32);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, Element, Method, State } from '@stencil/core'\nimport { createID } from '../../../utils/string.utils'\nimport { FormFileClass } from './constants'\nimport { toBoolAttrIfDefined } from '../../../helpers/Dom/template'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { fileAcceptValidation, fileSizeValidation, formatBytes } from '../../../utils/file.utils'\nimport { delay } from '../../../utils/utils'\nimport { GovForm } from '../../../helpers/Dom/form.d'\nimport { govHost } from '../../../helpers/Dom/template'\nimport { GovHost } from '../../../helpers/Dom/template.d'\nimport { govForm } from '../../../helpers/Dom/form'\nimport { GovFormFileItem } from './gov-form-file.d'\n\n@Component({\n\ttag: 'gov-form-file',\n\tstyleUrl: 'gov-form-file.scss',\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\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\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 * 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 * Description of the list of attachments\n\t */\n\t@Prop({ attribute: 'attachments-label' }) readonly attachmentsLabel: string = 'Přílohy'\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-remove-label' }) readonly wcagRemoveLabel: string = 'Odebrat soubor {FILE_NAME}'\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({ attribute: 'wcag-attachments-label' }) readonly wcagAttachmentsLabel: string = 'Přílohy'\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({ eventName: 'gov-files' }) govFiles: EventEmitter<GovFormFileItem[]>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({ eventName: 'gov-add-file' }) govAddFile: EventEmitter<GovFormFileItem>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({ eventName: 'gov-remove-file' }) govRemovFile: EventEmitter<GovFormFileItem>\n\n\t@State() files: GovFormFileItem[] = []\n\n\tprivate registerListeners() {\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add('highlight')\n\t\t}\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\tthis.validateFiles(files)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\t//this.inputRef.addEventListener('focus')\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\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) {\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\tthis.files = [...this.files, newFile]\n\t\t\t\tthis.govAddFile.emit(newFile)\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit(this.files)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.f.passAttrToControl('type', 'File')\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\n\t\tthis.registerListeners()\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])} invalid={toBoolAttrIfDefined(this.invalid)} 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\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\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\taria-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.wcagAttachmentsLabel} wcag-label={this.wcagAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item wcag-remove-labelled-by={item.id} 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.wcagRemoveLabel.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\" variant=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"warning\"></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\" variant=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"warning\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace('{FILE_SIZE}', formatBytes(this.maxFileSize * 1024))}\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.govRemovFile.emit(removeFile)\n\t\t\tthis.govFiles.emit(this.files)\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.preventDefault()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.preventDefault()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormFileClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormFileClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.fileId, this.wcagLabelledBy, FormFileClass.root)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-file.js","mappings":"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","names":["GovFormFile"],"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.scss?tag=gov-form-file","../../../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\tlabel: 'gov-form-file__label',\n\tinput: 'gov-form-file__input',\n\tlist: 'gov-form-file__list',\n\titem: 'gov-form-file__item',\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 / 1024)\n\treturn fileSize <= maxSize\n}\n","/*\n * File\n */\n\n$class: \".gov-form-file\";\n\n#{$class} {\n\t@include base();\n\t&__label .gov-form-label__label {\n\t\t@include reset-last-margin();\n\t}\n\t&__input {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\topacity: 0.0001;\n\t\tcursor: pointer;\n\t}\n\t&__attachments {\n\t\tmargin-top: rem-calc(16 0 0);\n\t}\n\t&__item {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(16);\n\t\talign-items: center;\n\t}\n\n\t// STATES\n\t@include parameter(\"disabled\") {\n\t\t#{$class} {\n\t\t\t&__label .gov-form-label__label {\n\t\t\t\tpointer-events: none;\n\t\t\t\t* {\n\t\t\t\t\tcolor: $form-file-disabled-color;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@include parameter(\"expanded\") {\n\t\t#{$class} {\n\t\t\t&__area {\n\t\t\t\tposition: relative;\n\t\t\t\twidth: 100%;\n\t\t\t\tpadding: rem-calc(32) rem-calc(22) rem-calc(22);\n\t\t\t\tborder: $form-file-border;\n\t\t\t\ttext-align: center;\n\t\t\t\ttransition: background-color $t ease-in-out;\n\t\t\t\twill-change: background-color;\n\t\t\t\t&.highlight {\n\t\t\t\t\tbackground-color: color(\"primary.200\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&__label .gov-form-label__label {\n\t\t\t\twidth: 100%;\n\t\t\t\tpadding: rem-calc(22);\n\t\t\t\tborder: $form-file-border;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t\t&__attachments {\n\t\t\t\tmargin: rem-calc(24 0 0);\n\t\t\t}\n\t\t}\n\n\t\t// STATES\n\t\t@include parameter(\"invalid\") {\n\t\t\t#{$class} {\n\t\t\t\t&__label .gov-form-label__label {\n\t\t\t\t\tborder-color: $form-state-color-error;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: sm) {\n\t\t@include parameter(\"expanded\") {\n\t\t\t#{$class} {\n\t\t\t\t&__label .gov-form-label__label {\n\t\t\t\t\tpadding: rem-calc(32);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, Element, Method, State } from '@stencil/core'\nimport { createID } from '../../../utils/string.utils'\nimport { FormFileClass } from './constants'\nimport { toBoolAttrIfDefined } from '../../../helpers/Dom/template'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { fileAcceptValidation, fileSizeValidation, formatBytes } from '../../../utils/file.utils'\nimport { delay } from '../../../utils/utils'\nimport { GovForm } from '../../../helpers/Dom/form.types'\nimport { govHost } from '../../../helpers/Dom/template'\nimport { GovHost } from '../../../helpers/Dom/template.types'\nimport { govForm } from '../../../helpers/Dom/form'\nimport { GovFormFileItem } from './gov-form-file.types'\n\n@Component({\n\ttag: 'gov-form-file',\n\tstyleUrl: 'gov-form-file.scss',\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\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\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 * 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 * Description of the list of attachments\n\t */\n\t@Prop({ attribute: 'attachments-label' }) readonly attachmentsLabel: string = 'Přílohy'\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-remove-label' }) readonly wcagRemoveLabel: string = 'Odebrat soubor {FILE_NAME}'\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({ attribute: 'wcag-attachments-label' }) readonly wcagAttachmentsLabel: string = 'Přílohy'\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({ eventName: 'gov-files' }) govFiles: EventEmitter<GovFormFileItem[]>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({ eventName: 'gov-add-file' }) govAddFile: EventEmitter<GovFormFileItem>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({ eventName: 'gov-remove-file' }) govRemovFile: EventEmitter<GovFormFileItem>\n\n\t@State() files: GovFormFileItem[] = []\n\n\tprivate registerListeners() {\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add('highlight')\n\t\t}\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\tthis.validateFiles(files)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\t//this.inputRef.addEventListener('focus')\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\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) {\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\tthis.files = [...this.files, newFile]\n\t\t\t\tthis.govAddFile.emit(newFile)\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit(this.files)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.f.passAttrToControl('type', 'File')\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\n\t\tthis.registerListeners()\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])} invalid={toBoolAttrIfDefined(this.invalid)} 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\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\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\taria-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.wcagAttachmentsLabel} wcag-label={this.wcagAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item wcag-remove-labelled-by={item.id} 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.wcagRemoveLabel.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\" variant=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"warning\"></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\" variant=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"warning\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace('{FILE_SIZE}', formatBytes(this.maxFileSize * 1024))}\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.govRemovFile.emit(removeFile)\n\t\t\tthis.govFiles.emit(this.files)\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.preventDefault()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.preventDefault()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormFileClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormFileClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.fileId, this.wcagLabelledBy, FormFileClass.root)\n\t}\n}\n"],"version":3}