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

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 (830) hide show
  1. package/dist/cjs/{colors-976f6dff.js → colors-f7c8eadd.js} +7 -9
  2. package/dist/cjs/colors-f7c8eadd.js.map +1 -0
  3. package/dist/cjs/{constants-e2807da6.js → constants-49f0efa6.js} +2 -2
  4. package/dist/cjs/{constants-e2807da6.js.map → constants-49f0efa6.js.map} +1 -1
  5. package/dist/cjs/{constants-43c0c51b.js → constants-4dfa23e3.js} +2 -2
  6. package/dist/cjs/{constants-43c0c51b.js.map → constants-4dfa23e3.js.map} +1 -1
  7. package/dist/cjs/{constants-441d1af4.js → constants-82929d01.js} +2 -2
  8. package/dist/cjs/{constants-441d1af4.js.map → constants-82929d01.js.map} +1 -1
  9. package/dist/cjs/{constants-bd0d66ac.js → constants-b9fece07.js} +2 -2
  10. package/dist/cjs/{constants-bd0d66ac.js.map → constants-b9fece07.js.map} +1 -1
  11. package/dist/cjs/{constants-5037cdc9.js → constants-c0886404.js} +2 -2
  12. package/dist/cjs/{constants-5037cdc9.js.map → constants-c0886404.js.map} +1 -1
  13. package/dist/cjs/{constants-861428a4.js → constants-f464dc4c.js} +2 -2
  14. package/dist/cjs/{constants-861428a4.js.map → constants-f464dc4c.js.map} +1 -1
  15. package/dist/cjs/core.cjs.js +1 -1
  16. package/dist/cjs/{form-c1aec07a.js → form-4e66039a.js} +4 -3
  17. package/dist/cjs/form-4e66039a.js.map +1 -0
  18. package/dist/cjs/gov-accordion-item.cjs.entry.js +4 -5
  19. package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-accordion.cjs.entry.js +3 -4
  21. package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-attachments_3.cjs.entry.js +11 -12
  23. package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gov-backdrop.cjs.entry.js +4 -5
  25. package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +5 -6
  27. package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gov-button.cjs.entry.js +10 -11
  29. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gov-card.cjs.entry.js +5 -6
  31. package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gov-chip.cjs.entry.js +11 -12
  33. package/dist/cjs/gov-chip.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gov-container.cjs.entry.js +2 -10
  35. package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-control-group.cjs.entry.js +4 -5
  37. package/dist/cjs/gov-control-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gov-cookiebar.cjs.entry.js +1 -1
  39. package/dist/cjs/gov-dialog.cjs.entry.js +5 -6
  40. package/dist/cjs/gov-dialog.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gov-dropdown.cjs.entry.js +3 -3
  42. package/dist/cjs/gov-empty.cjs.entry.js +3 -4
  43. package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gov-error-code.cjs.entry.js +1 -1
  45. package/dist/cjs/gov-flex_4.cjs.entry.js +322 -0
  46. package/dist/cjs/gov-flex_4.cjs.entry.js.map +1 -0
  47. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +4 -6
  48. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +5 -6
  50. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gov-form-checkbox.cjs.entry.js +7 -8
  52. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gov-form-control.cjs.entry.js +5 -5
  54. package/dist/cjs/gov-form-file.cjs.entry.js +5 -6
  55. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gov-form-group.cjs.entry.js +4 -5
  57. package/dist/cjs/gov-form-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gov-form-input_2.cjs.entry.js +12 -11
  59. package/dist/cjs/gov-form-input_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gov-form-multi-select.cjs.entry.js +9 -10
  61. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gov-form-password-power.cjs.entry.js +1 -1
  63. package/dist/cjs/gov-form-radio-group.cjs.entry.js +5 -6
  64. package/dist/cjs/gov-form-radio-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gov-form-radio.cjs.entry.js +6 -7
  66. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gov-form-search.cjs.entry.js +2 -2
  68. package/dist/cjs/gov-form-select.cjs.entry.js +8 -9
  69. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gov-form-switch.cjs.entry.js +7 -8
  71. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gov-grid-item.cjs.entry.js +2 -2
  73. package/dist/cjs/gov-grid.cjs.entry.js +2 -2
  74. package/dist/cjs/gov-infobar.cjs.entry.js +6 -7
  75. package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gov-layout-column.cjs.entry.js +2 -2
  77. package/dist/cjs/gov-layout.cjs.entry.js +2 -2
  78. package/dist/cjs/gov-lifecycle.cjs.entry.js +1 -1
  79. package/dist/cjs/gov-link.cjs.entry.js +51 -0
  80. package/dist/cjs/gov-link.cjs.entry.js.map +1 -0
  81. package/dist/cjs/gov-loading.cjs.entry.js +4 -5
  82. package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gov-message.cjs.entry.js +5 -6
  84. package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gov-pagination.cjs.entry.js +5 -6
  86. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gov-spacer.cjs.entry.js +4 -5
  88. package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gov-stepper-item.cjs.entry.js +6 -7
  90. package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gov-stepper.cjs.entry.js +6 -7
  92. package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gov-tabs-item.cjs.entry.js +4 -4
  94. package/dist/cjs/gov-tabs.cjs.entry.js +6 -7
  95. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  96. package/dist/cjs/gov-tag.cjs.entry.js +10 -11
  97. package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/gov-tile.cjs.entry.js +2 -2
  99. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  100. package/dist/cjs/gov-tiles.cjs.entry.js +2 -2
  101. package/dist/cjs/gov-toast.cjs.entry.js +6 -6
  102. package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gov-tooltip-content.cjs.entry.js +4 -4
  104. package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gov-tooltip.cjs.entry.js +10 -11
  106. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gov-wizard-item.cjs.entry.js +8 -9
  108. package/dist/cjs/gov-wizard-item.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gov-wizard.cjs.entry.js +8 -9
  110. package/dist/cjs/gov-wizard.cjs.entry.js.map +1 -1
  111. package/dist/cjs/{win-587f4614.js → gov.log-bfea3151.js} +16 -4
  112. package/dist/cjs/gov.log-bfea3151.js.map +1 -0
  113. package/dist/cjs/index-7ff4447c.js +6 -14
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/{props-b8a955b2.js → props-d189860c.js} +2 -2
  116. package/dist/cjs/{props-b8a955b2.js.map → props-d189860c.js.map} +1 -1
  117. package/dist/cjs/{template-b070338f.js → template-39939fd6.js} +1 -20
  118. package/dist/cjs/template-39939fd6.js.map +1 -0
  119. package/dist/cjs/{wcag-b8d80c7d.js → wcag-2927ff73.js} +4 -5
  120. package/dist/cjs/wcag-2927ff73.js.map +1 -0
  121. package/dist/collection/collection-manifest.json +1 -0
  122. package/dist/collection/components/gov-accordion/gov-accordion-item.js +1 -1
  123. package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
  124. package/dist/collection/components/gov-attachments/gov-attachments-item.css +6 -35
  125. package/dist/collection/components/gov-attachments/gov-attachments-item.js +1 -1
  126. package/dist/collection/components/gov-attachments/gov-attachments-item.js.map +1 -1
  127. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +1 -1
  128. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js.map +1 -1
  129. package/dist/collection/components/gov-button/button/gov-button.js +9 -9
  130. package/dist/collection/components/gov-button/button/gov-button.js.map +1 -1
  131. package/dist/collection/components/gov-card/gov-card.js +1 -1
  132. package/dist/collection/components/gov-card/gov-card.js.map +1 -1
  133. package/dist/collection/components/gov-chip/gov-chip.js +16 -16
  134. package/dist/collection/components/gov-chip/gov-chip.js.map +1 -1
  135. package/dist/collection/components/gov-container/gov-container.js +2 -38
  136. package/dist/collection/components/gov-container/gov-container.js.map +1 -1
  137. package/dist/collection/components/gov-dialog/gov-dialog.js +1 -1
  138. package/dist/collection/components/gov-dialog/gov-dialog.js.map +1 -1
  139. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +1 -20
  140. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  141. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +1 -1
  142. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  143. package/dist/collection/components/gov-form/control/gov-form-control.js +1 -1
  144. package/dist/collection/components/gov-form/file/gov-form-file.js +1 -20
  145. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  146. package/dist/collection/components/gov-form/group/gov-form-checkbox-group.js +1 -1
  147. package/dist/collection/components/gov-form/group/gov-form-group.css +7 -36
  148. package/dist/collection/components/gov-form/group/gov-form-group.js +1 -1
  149. package/dist/collection/components/gov-form/group/gov-form-radio-group.js +1 -1
  150. package/dist/collection/components/gov-form/input/constants.js +1 -0
  151. package/dist/collection/components/gov-form/input/constants.js.map +1 -1
  152. package/dist/collection/components/gov-form/input/gov-form-input.js +5 -3
  153. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  154. package/dist/collection/components/gov-form/label/gov-form-label.js +1 -1
  155. package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
  156. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +4 -4
  157. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  158. package/dist/collection/components/gov-form/password-power/gov-form-password-power.js +1 -1
  159. package/dist/collection/components/gov-form/search/gov-form-search.js +1 -1
  160. package/dist/collection/components/gov-form/select/gov-form-select.js +2 -2
  161. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  162. package/dist/collection/components/gov-form/switch/constants.js +1 -1
  163. package/dist/collection/components/gov-form/switch/constants.js.map +1 -1
  164. package/dist/collection/components/gov-form/switch/gov-form-switch.js +2 -2
  165. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  166. package/dist/collection/components/gov-grid/gov-grid-item.js +1 -1
  167. package/dist/collection/components/gov-grid/gov-grid.js +1 -1
  168. package/dist/collection/components/gov-icon/constants.js +8 -7
  169. package/dist/collection/components/gov-icon/constants.js.map +1 -1
  170. package/dist/collection/components/gov-icon/gov-icon.js +38 -6
  171. package/dist/collection/components/gov-icon/gov-icon.js.map +1 -1
  172. package/dist/collection/components/gov-icon/list.js +37 -151
  173. package/dist/collection/components/gov-icon/list.js.map +1 -1
  174. package/dist/collection/components/gov-infobar/gov-infobar.js +2 -2
  175. package/dist/collection/components/gov-infobar/gov-infobar.js.map +1 -1
  176. package/dist/collection/components/gov-layout/gov-layout-column.js +1 -1
  177. package/dist/collection/components/gov-layout/gov-layout.js +1 -1
  178. package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js +1 -1
  179. package/dist/collection/components/gov-link/constants.js +7 -0
  180. package/dist/collection/components/gov-link/constants.js.map +1 -0
  181. package/dist/collection/components/gov-link/gov-link.js +129 -0
  182. package/dist/collection/components/gov-link/gov-link.js.map +1 -0
  183. package/dist/collection/components/gov-loading/loading/gov-loading.js +1 -1
  184. package/dist/collection/components/gov-loading/loading/gov-loading.js.map +1 -1
  185. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +1 -1
  186. package/dist/collection/components/gov-message/gov-message.js +1 -1
  187. package/dist/collection/components/gov-pagination/gov-pagination.js +1 -1
  188. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  189. package/dist/collection/components/gov-spacer/gov-spacer.js +1 -1
  190. package/dist/collection/components/gov-stepper/gov-stepper-item.js +1 -1
  191. package/dist/collection/components/gov-stepper/gov-stepper.js +1 -1
  192. package/dist/collection/components/gov-tabs/gov-tabs-item.js +1 -1
  193. package/dist/collection/components/gov-tabs/gov-tabs.js +1 -1
  194. package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
  195. package/dist/collection/components/gov-tag/gov-tag.js +9 -9
  196. package/dist/collection/components/gov-tag/gov-tag.js.map +1 -1
  197. package/dist/collection/components/gov-theme-switch/constants.js +9 -1
  198. package/dist/collection/components/gov-theme-switch/constants.js.map +1 -1
  199. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +134 -10
  200. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
  201. package/dist/collection/components/gov-tile/container/gov-tiles.js +1 -1
  202. package/dist/collection/components/gov-tile/gov-tile.js +7 -7
  203. package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
  204. package/dist/collection/components/gov-toast/constants.js +1 -0
  205. package/dist/collection/components/gov-toast/constants.js.map +1 -1
  206. package/dist/collection/components/gov-toast/gov-toast.js +1 -1
  207. package/dist/collection/components/gov-toast/gov-toast.js.map +1 -1
  208. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +1 -1
  209. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js.map +1 -1
  210. package/dist/collection/components/gov-tooltip/gov-tooltip.js +2 -2
  211. package/dist/collection/components/gov-wizard/gov-wizard-item.js +3 -3
  212. package/dist/collection/components/gov-wizard/gov-wizard-item.js.map +1 -1
  213. package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
  214. package/dist/collection/core/constants/colors.js +6 -8
  215. package/dist/collection/core/constants/colors.js.map +1 -1
  216. package/dist/collection/data/color-definitions.js +359 -172
  217. package/dist/collection/helpers/Dom/document.js +28 -0
  218. package/dist/collection/helpers/Dom/document.js.map +1 -0
  219. package/dist/collection/helpers/Dom/template.js +0 -18
  220. package/dist/collection/helpers/Dom/template.js.map +1 -1
  221. package/dist/collection/helpers/Dom/template.types.js.map +1 -1
  222. package/dist/collection/pages/Accordion.js +30 -30
  223. package/dist/collection/pages/Accordion.js.map +1 -1
  224. package/dist/collection/pages/Button.js +383 -383
  225. package/dist/collection/pages/Button.js.map +1 -1
  226. package/dist/collection/pages/Chip.js +53 -53
  227. package/dist/collection/pages/Chip.js.map +1 -1
  228. package/dist/collection/pages/ControlGroup.js +18 -18
  229. package/dist/collection/pages/ControlGroup.js.map +1 -1
  230. package/dist/collection/pages/Dialog.js +1 -1
  231. package/dist/collection/pages/Dialog.js.map +1 -1
  232. package/dist/collection/pages/Forms.js +47 -37
  233. package/dist/collection/pages/Forms.js.map +1 -1
  234. package/dist/collection/pages/Icon.js +10 -0
  235. package/dist/collection/pages/Icon.js.map +1 -1
  236. package/dist/collection/pages/Infobar.js +16 -16
  237. package/dist/collection/pages/Infobar.js.map +1 -1
  238. package/dist/collection/pages/Message.js +20 -20
  239. package/dist/collection/pages/Message.js.map +1 -1
  240. package/dist/collection/pages/Stepper.js +15 -15
  241. package/dist/collection/pages/Stepper.js.map +1 -1
  242. package/dist/collection/pages/Tag.js +23 -23
  243. package/dist/collection/pages/Tag.js.map +1 -1
  244. package/dist/collection/pages/ToastMessage.js +4 -4
  245. package/dist/collection/pages/ToastMessage.js.map +1 -1
  246. package/dist/collection/pages/ToastMessageCountdown.js +4 -4
  247. package/dist/collection/pages/ToastMessageCountdown.js.map +1 -1
  248. package/dist/collection/pages/Tooltip.js +2 -2
  249. package/dist/collection/pages/Tooltip.js.map +1 -1
  250. package/dist/collection/pages/Typography.js +20 -0
  251. package/dist/collection/pages/Typography.js.map +1 -1
  252. package/dist/collection/pages/Wizard.js +1 -1
  253. package/dist/collection/pages/Wizard.js.map +1 -1
  254. package/dist/components/gov-accordion-item.js +1 -1
  255. package/dist/components/gov-accordion-item.js.map +1 -1
  256. package/dist/components/gov-accordion.js +1 -1
  257. package/dist/components/gov-attachments-item.js +1 -1
  258. package/dist/components/gov-attachments.js +1 -1
  259. package/dist/components/gov-backdrop.js +1 -1
  260. package/dist/components/gov-breadcrumbs.js +1 -1
  261. package/dist/components/gov-breadcrumbs.js.map +1 -1
  262. package/dist/components/gov-button.js +1 -1
  263. package/dist/components/gov-card.js +1 -1
  264. package/dist/components/gov-card.js.map +1 -1
  265. package/dist/components/gov-chip.js +1 -1
  266. package/dist/components/gov-container.js +1 -1
  267. package/dist/components/gov-container.js.map +1 -1
  268. package/dist/components/gov-control-group.js +1 -1
  269. package/dist/components/gov-cookiebar.js +1 -1
  270. package/dist/components/gov-dialog.js +1 -1
  271. package/dist/components/gov-dialog.js.map +1 -1
  272. package/dist/components/gov-dropdown.js +1 -1
  273. package/dist/components/gov-empty.js +1 -1
  274. package/dist/components/gov-error-code.js +1 -1
  275. package/dist/components/gov-flex.js +1 -1
  276. package/dist/components/gov-form-autocomplete.js +1 -1
  277. package/dist/components/gov-form-checkbox-group.js +1 -1
  278. package/dist/components/gov-form-checkbox-group.js.map +1 -1
  279. package/dist/components/gov-form-checkbox.js +1 -1
  280. package/dist/components/gov-form-checkbox.js.map +1 -1
  281. package/dist/components/gov-form-control.js +1 -1
  282. package/dist/components/gov-form-file.js +1 -1
  283. package/dist/components/gov-form-file.js.map +1 -1
  284. package/dist/components/gov-form-group.js +1 -1
  285. package/dist/components/gov-form-input.js +1 -1
  286. package/dist/components/gov-form-label.js +1 -1
  287. package/dist/components/gov-form-label.js.map +1 -1
  288. package/dist/components/gov-form-message.js +1 -1
  289. package/dist/components/gov-form-multi-select.js +1 -1
  290. package/dist/components/gov-form-multi-select.js.map +1 -1
  291. package/dist/components/gov-form-password-power.js +1 -1
  292. package/dist/components/gov-form-password-power.js.map +1 -1
  293. package/dist/components/gov-form-radio-group.js +1 -1
  294. package/dist/components/gov-form-radio-group.js.map +1 -1
  295. package/dist/components/gov-form-radio.js +1 -1
  296. package/dist/components/gov-form-radio.js.map +1 -1
  297. package/dist/components/gov-form-search.js +1 -1
  298. package/dist/components/gov-form-select.js +1 -1
  299. package/dist/components/gov-form-switch.js +1 -1
  300. package/dist/components/gov-form-switch.js.map +1 -1
  301. package/dist/components/gov-grid-item.js +1 -1
  302. package/dist/components/gov-grid.js +1 -1
  303. package/dist/components/gov-icon.js +1 -1
  304. package/dist/components/gov-infobar.js +1 -1
  305. package/dist/components/gov-infobar.js.map +1 -1
  306. package/dist/components/gov-layout-column.js +1 -1
  307. package/dist/components/gov-layout.js +1 -1
  308. package/dist/components/gov-lifecycle.js +1 -1
  309. package/dist/components/gov-link.d.ts +11 -0
  310. package/dist/components/gov-link.js +2 -0
  311. package/dist/components/gov-link.js.map +1 -0
  312. package/dist/components/gov-loading.js +1 -1
  313. package/dist/components/gov-loading.js.map +1 -1
  314. package/dist/components/gov-message.js +1 -1
  315. package/dist/components/gov-pagination.js +1 -1
  316. package/dist/components/gov-pagination.js.map +1 -1
  317. package/dist/components/gov-skeleton.js +1 -1
  318. package/dist/components/gov-spacer.js +1 -1
  319. package/dist/components/gov-stepper-item.js +1 -1
  320. package/dist/components/gov-stepper.js +1 -1
  321. package/dist/components/gov-tabs-item.js +1 -1
  322. package/dist/components/gov-tabs.js +1 -1
  323. package/dist/components/gov-tabs.js.map +1 -1
  324. package/dist/components/gov-tag.js +1 -1
  325. package/dist/components/gov-tag.js.map +1 -1
  326. package/dist/components/gov-theme-switch.js +1 -1
  327. package/dist/components/gov-theme-switch.js.map +1 -1
  328. package/dist/components/gov-tile.js +1 -1
  329. package/dist/components/gov-tile.js.map +1 -1
  330. package/dist/components/gov-tiles.js +1 -1
  331. package/dist/components/gov-toast.js +1 -1
  332. package/dist/components/gov-toast.js.map +1 -1
  333. package/dist/components/gov-tooltip-content.js +1 -1
  334. package/dist/components/gov-tooltip-content.js.map +1 -1
  335. package/dist/components/gov-tooltip.js +1 -1
  336. package/dist/components/gov-tooltip.js.map +1 -1
  337. package/dist/components/gov-wizard-item.js +1 -1
  338. package/dist/components/gov-wizard-item.js.map +1 -1
  339. package/dist/components/gov-wizard.js +1 -1
  340. package/dist/components/p-20c2203a.js +2 -0
  341. package/dist/components/p-20c2203a.js.map +1 -0
  342. package/dist/components/p-227eb30d.js +2 -0
  343. package/dist/components/{p-dcee21ca.js.map → p-227eb30d.js.map} +1 -1
  344. package/dist/components/p-2b87c27b.js +2 -0
  345. package/dist/components/{p-3b807239.js.map → p-2b87c27b.js.map} +1 -1
  346. package/dist/components/p-31a99bfc.js +2 -0
  347. package/dist/components/{p-bd22e21d.js → p-4149f195.js} +2 -2
  348. package/dist/components/p-44a8a668.js +2 -0
  349. package/dist/components/p-45097b4c.js +2 -0
  350. package/dist/components/p-45097b4c.js.map +1 -0
  351. package/dist/components/{p-1f3bb41d.js → p-5952a5d0.js} +2 -2
  352. package/dist/components/p-5aad3497.js +2 -0
  353. package/dist/components/p-5aad3497.js.map +1 -0
  354. package/dist/components/p-68a1aaec.js +2 -0
  355. package/dist/components/p-68a1aaec.js.map +1 -0
  356. package/dist/components/p-76d604c6.js +2 -0
  357. package/dist/components/p-7d4f2214.js +2 -0
  358. package/dist/components/{p-6ea84137.js.map → p-7d4f2214.js.map} +1 -1
  359. package/dist/components/p-7f3becc5.js +2 -0
  360. package/dist/components/p-859a4f0d.js +2 -0
  361. package/dist/components/{p-820b66c0.js.map → p-859a4f0d.js.map} +1 -1
  362. package/dist/components/{p-7f8a24a7.js → p-860520b0.js} +2 -2
  363. package/dist/components/p-929ebfb5.js +2 -0
  364. package/dist/components/p-929ebfb5.js.map +1 -0
  365. package/dist/components/p-9908b9f0.js +2 -0
  366. package/dist/components/p-9908b9f0.js.map +1 -0
  367. package/dist/components/{p-19c681a3.js → p-a2435993.js} +2 -2
  368. package/dist/components/{p-59737af9.js → p-a521c59a.js} +2 -2
  369. package/dist/components/{p-0c93dd39.js → p-c61a5830.js} +2 -2
  370. package/dist/components/p-dc952cc2.js +2 -0
  371. package/dist/components/p-dc952cc2.js.map +1 -0
  372. package/dist/components/{p-23b7e680.js → p-dfb5794a.js} +2 -2
  373. package/dist/components/p-ea7fdd2e.js +2 -0
  374. package/dist/components/p-ea7fdd2e.js.map +1 -0
  375. package/dist/components/p-f44899e1.js +2 -0
  376. package/dist/components/p-f44899e1.js.map +1 -0
  377. package/dist/core/core.css +7985 -7198
  378. package/dist/core/core.esm.js +1 -1
  379. package/dist/core/core.esm.js.map +1 -1
  380. package/dist/core/p-00d153bf.entry.js +2 -0
  381. package/dist/core/p-019e967c.entry.js +2 -0
  382. package/dist/core/{p-83aa4327.entry.js.map → p-019e967c.entry.js.map} +1 -1
  383. package/dist/core/p-0be19b89.entry.js +2 -0
  384. package/dist/core/p-1abdcb62.entry.js +2 -0
  385. package/dist/core/p-1abdcb62.entry.js.map +1 -0
  386. package/dist/core/p-1ac9544f.entry.js +2 -0
  387. package/dist/core/{p-f963bb2f.entry.js.map → p-1ac9544f.entry.js.map} +1 -1
  388. package/dist/core/p-1b3c808d.entry.js +2 -0
  389. package/dist/core/p-1b3c808d.entry.js.map +1 -0
  390. package/dist/core/p-20c2203a.js +2 -0
  391. package/dist/core/p-20c2203a.js.map +1 -0
  392. package/dist/core/p-22fa411d.entry.js +2 -0
  393. package/dist/core/p-2c290fe5.entry.js +2 -0
  394. package/dist/core/p-2c290fe5.entry.js.map +1 -0
  395. package/dist/core/p-2c59483f.entry.js +2 -0
  396. package/dist/core/p-2c59483f.entry.js.map +1 -0
  397. package/dist/core/p-30eaeeec.entry.js +2 -0
  398. package/dist/core/p-3bbb77a0.js +2 -0
  399. package/dist/core/p-3fc3c26b.entry.js +2 -0
  400. package/dist/core/{p-212759be.entry.js.map → p-3fc3c26b.entry.js.map} +1 -1
  401. package/dist/core/p-40d764ac.entry.js +2 -0
  402. package/dist/core/{p-0d2c4d31.entry.js.map → p-40d764ac.entry.js.map} +1 -1
  403. package/dist/core/p-410ec0dd.entry.js +2 -0
  404. package/dist/core/{p-10f9bf55.entry.js.map → p-410ec0dd.entry.js.map} +1 -1
  405. package/dist/core/p-439b66a5.entry.js +2 -0
  406. package/dist/core/{p-92e13f9d.entry.js.map → p-439b66a5.entry.js.map} +1 -1
  407. package/dist/core/p-443a813a.entry.js +2 -0
  408. package/dist/core/{p-eebf7ad8.entry.js.map → p-443a813a.entry.js.map} +1 -1
  409. package/dist/core/p-48c93ac0.entry.js +2 -0
  410. package/dist/core/p-48c93ac0.entry.js.map +1 -0
  411. package/dist/core/p-52ca31be.entry.js +2 -0
  412. package/dist/core/{p-378e0723.entry.js.map → p-52ca31be.entry.js.map} +1 -1
  413. package/dist/core/p-535316b4.entry.js +2 -0
  414. package/dist/core/{p-b822b9ff.entry.js → p-5396935e.entry.js} +2 -2
  415. package/dist/core/{p-42d9924c.js → p-56efd4a2.js} +2 -2
  416. package/dist/core/p-5aad3497.js +2 -0
  417. package/dist/core/p-5aad3497.js.map +1 -0
  418. package/dist/core/p-5b2131c1.entry.js +2 -0
  419. package/dist/core/p-5ed63e9c.entry.js +2 -0
  420. package/dist/core/{p-1fdc2457.entry.js.map → p-5ed63e9c.entry.js.map} +1 -1
  421. package/dist/core/{p-60658ae9.js → p-5f1000da.js} +2 -2
  422. package/dist/core/p-6454af62.entry.js +2 -0
  423. package/dist/core/{p-56f9e026.entry.js.map → p-6454af62.entry.js.map} +1 -1
  424. package/dist/core/p-74458da3.entry.js +2 -0
  425. package/dist/core/p-74458da3.entry.js.map +1 -0
  426. package/dist/core/p-76d604c6.js +2 -0
  427. package/dist/core/{p-a21dc94f.js.map → p-76d604c6.js.map} +1 -1
  428. package/dist/core/p-773f71f6.entry.js +2 -0
  429. package/dist/core/{p-67200095.entry.js.map → p-773f71f6.entry.js.map} +1 -1
  430. package/dist/core/p-783a6b5b.entry.js +2 -0
  431. package/dist/core/{p-0a24806a.entry.js.map → p-783a6b5b.entry.js.map} +1 -1
  432. package/dist/core/p-7b7e502b.entry.js +2 -0
  433. package/dist/core/p-7ba4daf4.js +2 -0
  434. package/dist/core/p-7bf52eb9.entry.js +2 -0
  435. package/dist/core/p-7bf52eb9.entry.js.map +1 -0
  436. package/dist/core/p-7d6073aa.entry.js +2 -0
  437. package/dist/core/{p-fb0df3a5.entry.js.map → p-7d6073aa.entry.js.map} +1 -1
  438. package/dist/core/p-7f3becc5.js +2 -0
  439. package/dist/core/{p-e9a6cd71.js → p-860520b0.js} +2 -2
  440. package/dist/core/p-8701c28e.entry.js +2 -0
  441. package/dist/core/p-8701c28e.entry.js.map +1 -0
  442. package/dist/core/p-951823cb.entry.js +2 -0
  443. package/dist/core/{p-75ea368b.entry.js.map → p-951823cb.entry.js.map} +1 -1
  444. package/dist/core/p-9da91318.entry.js +2 -0
  445. package/dist/core/{p-1f1895c0.entry.js.map → p-9da91318.entry.js.map} +1 -1
  446. package/dist/core/p-a218e2eb.entry.js +2 -0
  447. package/dist/core/{p-d3963396.entry.js.map → p-a218e2eb.entry.js.map} +1 -1
  448. package/dist/core/{p-169b67af.js → p-a2435993.js} +2 -2
  449. package/dist/core/p-a521c59a.js +2 -0
  450. package/dist/core/p-b1efeb41.entry.js +2 -0
  451. package/dist/core/p-b1efeb41.entry.js.map +1 -0
  452. package/dist/core/p-b4af0bec.entry.js +2 -0
  453. package/dist/core/p-b4af0bec.entry.js.map +1 -0
  454. package/dist/core/p-bc966c46.entry.js +2 -0
  455. package/dist/core/p-bdc51179.entry.js +2 -0
  456. package/dist/core/p-bdc51179.entry.js.map +1 -0
  457. package/dist/core/p-c20fe3da.entry.js +2 -0
  458. package/dist/core/{p-8f10919c.entry.js.map → p-c20fe3da.entry.js.map} +1 -1
  459. package/dist/core/p-c4ffcc37.entry.js +2 -0
  460. package/dist/core/p-c4ffcc37.entry.js.map +1 -0
  461. package/dist/core/p-c52afdfc.js +2 -0
  462. package/dist/core/{p-842cb87f.js.map → p-c52afdfc.js.map} +1 -1
  463. package/dist/core/{p-c990d746.js → p-c61a5830.js} +2 -2
  464. package/dist/core/p-cb557873.entry.js +2 -0
  465. package/dist/core/{p-3844a27d.entry.js.map → p-cb557873.entry.js.map} +1 -1
  466. package/dist/core/p-d24710ff.entry.js +2 -0
  467. package/dist/core/p-d24710ff.entry.js.map +1 -0
  468. package/dist/core/p-d65cef62.entry.js +2 -0
  469. package/dist/core/{p-4cb4de7b.entry.js.map → p-d65cef62.entry.js.map} +1 -1
  470. package/dist/core/p-da1db6fd.js +2 -0
  471. package/dist/core/p-da1db6fd.js.map +1 -0
  472. package/dist/core/p-db22d51c.entry.js +2 -0
  473. package/dist/core/{p-f1c8a96b.entry.js.map → p-db22d51c.entry.js.map} +1 -1
  474. package/dist/core/p-dec3f948.entry.js +2 -0
  475. package/dist/core/{p-7b48b1b8.entry.js.map → p-dec3f948.entry.js.map} +1 -1
  476. package/dist/core/{p-45a30859.js → p-e0e2e9c1.js} +2 -2
  477. package/dist/core/p-e2517a72.entry.js +2 -0
  478. package/dist/core/{p-57b0e670.entry.js.map → p-e2517a72.entry.js.map} +1 -1
  479. package/dist/core/p-e44a0fee.js +2 -0
  480. package/dist/core/{p-58dc3ec3.entry.js → p-e834ee73.entry.js} +2 -2
  481. package/dist/core/p-ea7fdd2e.js +2 -0
  482. package/dist/core/p-ea7fdd2e.js.map +1 -0
  483. package/dist/core/p-ed1131cb.entry.js +2 -0
  484. package/dist/core/{p-c5b5fd69.entry.js.map → p-ed1131cb.entry.js.map} +1 -1
  485. package/dist/core/p-f1056a83.entry.js +2 -0
  486. package/dist/core/{p-32bba4e7.entry.js.map → p-f1056a83.entry.js.map} +1 -1
  487. package/dist/core/p-f1fa5e1e.entry.js +2 -0
  488. package/dist/core/{p-1600c1fb.entry.js.map → p-f1fa5e1e.entry.js.map} +1 -1
  489. package/dist/core/p-f4bcf817.entry.js +2 -0
  490. package/dist/core/p-f4bcf817.entry.js.map +1 -0
  491. package/dist/core/p-f6709826.entry.js +2 -0
  492. package/dist/core/p-f6709826.entry.js.map +1 -0
  493. package/dist/core/{p-5ad3097c.entry.js → p-f7a4da9d.entry.js} +2 -2
  494. package/dist/core/p-fca60e04.entry.js +2 -0
  495. package/dist/core/{p-8fe36a5b.entry.js.map → p-fca60e04.entry.js.map} +1 -1
  496. package/dist/core/p-fe6fed11.entry.js +2 -0
  497. package/dist/core/p-fe6fed11.entry.js.map +1 -0
  498. package/dist/esm/{colors-02c1ea96.js → colors-4cf64720.js} +7 -9
  499. package/dist/esm/colors-4cf64720.js.map +1 -0
  500. package/dist/esm/{constants-6d727976.js → constants-085f9943.js} +2 -2
  501. package/dist/esm/{constants-6d727976.js.map → constants-085f9943.js.map} +1 -1
  502. package/dist/esm/{constants-990365f1.js → constants-372455eb.js} +3 -3
  503. package/dist/esm/{constants-990365f1.js.map → constants-372455eb.js.map} +1 -1
  504. package/dist/esm/{constants-d6418889.js → constants-3ab65c42.js} +2 -2
  505. package/dist/esm/{constants-d6418889.js.map → constants-3ab65c42.js.map} +1 -1
  506. package/dist/esm/{constants-48177684.js → constants-3b914c35.js} +3 -3
  507. package/dist/esm/{constants-48177684.js.map → constants-3b914c35.js.map} +1 -1
  508. package/dist/esm/{constants-d42abf99.js → constants-43f10674.js} +2 -2
  509. package/dist/esm/{constants-d42abf99.js.map → constants-43f10674.js.map} +1 -1
  510. package/dist/esm/{constants-501eb756.js → constants-4da2b3c0.js} +2 -2
  511. package/dist/esm/{constants-501eb756.js.map → constants-4da2b3c0.js.map} +1 -1
  512. package/dist/esm/{constants-c716fa44.js → constants-51f51588.js} +3 -3
  513. package/dist/esm/{constants-c716fa44.js.map → constants-51f51588.js.map} +1 -1
  514. package/dist/esm/{constants-f4e4ede6.js → constants-8429b68f.js} +3 -3
  515. package/dist/esm/{constants-f4e4ede6.js.map → constants-8429b68f.js.map} +1 -1
  516. package/dist/esm/{constants-47e20524.js → constants-9177ea52.js} +3 -3
  517. package/dist/esm/{constants-47e20524.js.map → constants-9177ea52.js.map} +1 -1
  518. package/dist/esm/{constants-7307438d.js → constants-bc210662.js} +3 -3
  519. package/dist/esm/{constants-7307438d.js.map → constants-bc210662.js.map} +1 -1
  520. package/dist/esm/core.js +1 -1
  521. package/dist/esm/{form-472e078d.js → form-713f26fd.js} +7 -6
  522. package/dist/esm/form-713f26fd.js.map +1 -0
  523. package/dist/esm/gov-accordion-item.entry.js +6 -7
  524. package/dist/esm/gov-accordion-item.entry.js.map +1 -1
  525. package/dist/esm/gov-accordion.entry.js +5 -6
  526. package/dist/esm/gov-accordion.entry.js.map +1 -1
  527. package/dist/esm/gov-attachments_3.entry.js +10 -11
  528. package/dist/esm/gov-attachments_3.entry.js.map +1 -1
  529. package/dist/esm/gov-backdrop.entry.js +4 -5
  530. package/dist/esm/gov-backdrop.entry.js.map +1 -1
  531. package/dist/esm/gov-breadcrumbs.entry.js +5 -6
  532. package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
  533. package/dist/esm/gov-button.entry.js +10 -11
  534. package/dist/esm/gov-button.entry.js.map +1 -1
  535. package/dist/esm/gov-card.entry.js +5 -6
  536. package/dist/esm/gov-card.entry.js.map +1 -1
  537. package/dist/esm/gov-chip.entry.js +12 -13
  538. package/dist/esm/gov-chip.entry.js.map +1 -1
  539. package/dist/esm/gov-container.entry.js +2 -10
  540. package/dist/esm/gov-container.entry.js.map +1 -1
  541. package/dist/esm/gov-control-group.entry.js +5 -6
  542. package/dist/esm/gov-control-group.entry.js.map +1 -1
  543. package/dist/esm/gov-cookiebar.entry.js +1 -1
  544. package/dist/esm/gov-dialog.entry.js +5 -6
  545. package/dist/esm/gov-dialog.entry.js.map +1 -1
  546. package/dist/esm/gov-dropdown.entry.js +4 -4
  547. package/dist/esm/gov-empty.entry.js +5 -6
  548. package/dist/esm/gov-empty.entry.js.map +1 -1
  549. package/dist/esm/gov-error-code.entry.js +1 -1
  550. package/dist/esm/gov-flex_4.entry.js +315 -0
  551. package/dist/esm/gov-flex_4.entry.js.map +1 -0
  552. package/dist/esm/gov-form-autocomplete.entry.js +6 -8
  553. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  554. package/dist/esm/gov-form-checkbox-group.entry.js +7 -8
  555. package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
  556. package/dist/esm/gov-form-checkbox.entry.js +10 -11
  557. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  558. package/dist/esm/gov-form-control.entry.js +8 -8
  559. package/dist/esm/gov-form-file.entry.js +8 -9
  560. package/dist/esm/gov-form-file.entry.js.map +1 -1
  561. package/dist/esm/gov-form-group.entry.js +6 -7
  562. package/dist/esm/gov-form-group.entry.js.map +1 -1
  563. package/dist/esm/gov-form-input_2.entry.js +15 -14
  564. package/dist/esm/gov-form-input_2.entry.js.map +1 -1
  565. package/dist/esm/gov-form-multi-select.entry.js +12 -13
  566. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  567. package/dist/esm/gov-form-password-power.entry.js +1 -1
  568. package/dist/esm/gov-form-radio-group.entry.js +7 -8
  569. package/dist/esm/gov-form-radio-group.entry.js.map +1 -1
  570. package/dist/esm/gov-form-radio.entry.js +9 -10
  571. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  572. package/dist/esm/gov-form-search.entry.js +3 -3
  573. package/dist/esm/gov-form-select.entry.js +11 -12
  574. package/dist/esm/gov-form-select.entry.js.map +1 -1
  575. package/dist/esm/gov-form-switch.entry.js +10 -11
  576. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  577. package/dist/esm/gov-grid-item.entry.js +2 -2
  578. package/dist/esm/gov-grid.entry.js +2 -2
  579. package/dist/esm/gov-infobar.entry.js +7 -8
  580. package/dist/esm/gov-infobar.entry.js.map +1 -1
  581. package/dist/esm/gov-layout-column.entry.js +2 -2
  582. package/dist/esm/gov-layout.entry.js +2 -2
  583. package/dist/esm/gov-lifecycle.entry.js +1 -1
  584. package/dist/esm/gov-link.entry.js +47 -0
  585. package/dist/esm/gov-link.entry.js.map +1 -0
  586. package/dist/esm/gov-loading.entry.js +5 -6
  587. package/dist/esm/gov-loading.entry.js.map +1 -1
  588. package/dist/esm/gov-message.entry.js +6 -7
  589. package/dist/esm/gov-message.entry.js.map +1 -1
  590. package/dist/esm/gov-pagination.entry.js +6 -7
  591. package/dist/esm/gov-pagination.entry.js.map +1 -1
  592. package/dist/esm/gov-spacer.entry.js +5 -6
  593. package/dist/esm/gov-spacer.entry.js.map +1 -1
  594. package/dist/esm/gov-stepper-item.entry.js +7 -8
  595. package/dist/esm/gov-stepper-item.entry.js.map +1 -1
  596. package/dist/esm/gov-stepper.entry.js +7 -8
  597. package/dist/esm/gov-stepper.entry.js.map +1 -1
  598. package/dist/esm/gov-tabs-item.entry.js +5 -5
  599. package/dist/esm/gov-tabs.entry.js +7 -8
  600. package/dist/esm/gov-tabs.entry.js.map +1 -1
  601. package/dist/esm/gov-tag.entry.js +11 -12
  602. package/dist/esm/gov-tag.entry.js.map +1 -1
  603. package/dist/esm/gov-tile.entry.js +3 -3
  604. package/dist/esm/gov-tile.entry.js.map +1 -1
  605. package/dist/esm/gov-tiles.entry.js +2 -2
  606. package/dist/esm/gov-toast.entry.js +7 -7
  607. package/dist/esm/gov-toast.entry.js.map +1 -1
  608. package/dist/esm/gov-tooltip-content.entry.js +5 -5
  609. package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
  610. package/dist/esm/gov-tooltip.entry.js +8 -9
  611. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  612. package/dist/esm/gov-wizard-item.entry.js +9 -10
  613. package/dist/esm/gov-wizard-item.entry.js.map +1 -1
  614. package/dist/esm/gov-wizard.entry.js +8 -9
  615. package/dist/esm/gov-wizard.entry.js.map +1 -1
  616. package/dist/esm/{win-cec370ad.js → gov.log-066c3139.js} +17 -3
  617. package/dist/esm/gov.log-066c3139.js.map +1 -0
  618. package/dist/esm/index-c263e031.js +6 -14
  619. package/dist/esm/loader.js +1 -1
  620. package/dist/esm/{props-c82e1abf.js → props-fb6587c3.js} +2 -2
  621. package/dist/esm/{props-c82e1abf.js.map → props-fb6587c3.js.map} +1 -1
  622. package/dist/esm/{template-3d84d705.js → template-7ecee4d1.js} +2 -20
  623. package/dist/esm/template-7ecee4d1.js.map +1 -0
  624. package/dist/esm/{utils-2b4ef320.js → utils-e10e994d.js} +2 -2
  625. package/dist/esm/{utils-2b4ef320.js.map → utils-e10e994d.js.map} +1 -1
  626. package/dist/esm/{wcag-d7c6c252.js → wcag-de9a3dc6.js} +2 -3
  627. package/dist/esm/wcag-de9a3dc6.js.map +1 -0
  628. package/dist/hydrate/index.js +224 -138
  629. package/dist/hydrate/index.mjs +224 -138
  630. package/dist/stencil.config.js +6 -4
  631. package/dist/stencil.config.js.map +1 -1
  632. package/dist/types/components/gov-button/button/gov-button.d.ts +1 -1
  633. package/dist/types/components/gov-chip/gov-chip.d.ts +3 -3
  634. package/dist/types/components/gov-container/gov-container.d.ts +0 -6
  635. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +0 -4
  636. package/dist/types/components/gov-form/file/gov-form-file.d.ts +0 -4
  637. package/dist/types/components/gov-form/input/constants.d.ts +1 -0
  638. package/dist/types/components/gov-form/switch/constants.d.ts +1 -1
  639. package/dist/types/components/gov-icon/constants.d.ts +4 -1
  640. package/dist/types/components/gov-icon/gov-icon.d.ts +8 -2
  641. package/dist/types/components/gov-icon/list.d.ts +1 -1
  642. package/dist/types/components/gov-link/constants.d.ts +7 -0
  643. package/dist/types/components/gov-link/gov-link.d.ts +30 -0
  644. package/dist/types/components/gov-tag/gov-tag.d.ts +2 -2
  645. package/dist/types/components/gov-theme-switch/constants.d.ts +9 -0
  646. package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +26 -2
  647. package/dist/types/components/gov-tile/gov-tile.d.ts +1 -1
  648. package/dist/types/components/gov-toast/constants.d.ts +1 -0
  649. package/dist/types/components.d.ts +117 -37
  650. package/dist/types/core/constants/colors.d.ts +6 -8
  651. package/dist/types/helpers/Dom/document.d.ts +3 -0
  652. package/dist/types/helpers/Dom/template.d.ts +0 -1
  653. package/dist/types/helpers/Dom/template.types.d.ts +0 -1
  654. package/package.json +3 -3
  655. package/dist/cjs/colors-976f6dff.js.map +0 -1
  656. package/dist/cjs/form-c1aec07a.js.map +0 -1
  657. package/dist/cjs/gov-flex.cjs.entry.js +0 -31
  658. package/dist/cjs/gov-flex.cjs.entry.js.map +0 -1
  659. package/dist/cjs/gov-form-label.cjs.entry.js +0 -27
  660. package/dist/cjs/gov-form-label.cjs.entry.js.map +0 -1
  661. package/dist/cjs/gov-icon.cjs.entry.js +0 -161
  662. package/dist/cjs/gov-icon.cjs.entry.js.map +0 -1
  663. package/dist/cjs/gov-theme-switch.cjs.entry.js +0 -73
  664. package/dist/cjs/gov-theme-switch.cjs.entry.js.map +0 -1
  665. package/dist/cjs/gov.log-1e8bab6e.js +0 -21
  666. package/dist/cjs/gov.log-1e8bab6e.js.map +0 -1
  667. package/dist/cjs/template-b070338f.js.map +0 -1
  668. package/dist/cjs/wcag-b8d80c7d.js.map +0 -1
  669. package/dist/cjs/win-587f4614.js.map +0 -1
  670. package/dist/components/p-0075138f.js +0 -2
  671. package/dist/components/p-0075138f.js.map +0 -1
  672. package/dist/components/p-02da2aee.js +0 -2
  673. package/dist/components/p-02da2aee.js.map +0 -1
  674. package/dist/components/p-08621bdf.js +0 -2
  675. package/dist/components/p-1a0b3b4f.js +0 -2
  676. package/dist/components/p-1a0b3b4f.js.map +0 -1
  677. package/dist/components/p-1d3019f3.js +0 -2
  678. package/dist/components/p-255d0471.js +0 -2
  679. package/dist/components/p-255d0471.js.map +0 -1
  680. package/dist/components/p-387052e1.js +0 -2
  681. package/dist/components/p-387052e1.js.map +0 -1
  682. package/dist/components/p-3b807239.js +0 -2
  683. package/dist/components/p-565120d5.js +0 -2
  684. package/dist/components/p-5cc316bc.js +0 -2
  685. package/dist/components/p-5cc316bc.js.map +0 -1
  686. package/dist/components/p-6ea84137.js +0 -2
  687. package/dist/components/p-7501abe8.js +0 -2
  688. package/dist/components/p-7501abe8.js.map +0 -1
  689. package/dist/components/p-820b66c0.js +0 -2
  690. package/dist/components/p-c211c3e1.js +0 -2
  691. package/dist/components/p-c211c3e1.js.map +0 -1
  692. package/dist/components/p-dcee21ca.js +0 -2
  693. package/dist/components/p-e3aeaca0.js +0 -2
  694. package/dist/components/p-e3aeaca0.js.map +0 -1
  695. package/dist/components/p-edd1417b.js +0 -2
  696. package/dist/core/p-0075138f.js +0 -2
  697. package/dist/core/p-0075138f.js.map +0 -1
  698. package/dist/core/p-052cc573.js +0 -2
  699. package/dist/core/p-0a24806a.entry.js +0 -2
  700. package/dist/core/p-0d2c4d31.entry.js +0 -2
  701. package/dist/core/p-10f9bf55.entry.js +0 -2
  702. package/dist/core/p-12680890.entry.js +0 -2
  703. package/dist/core/p-12680890.entry.js.map +0 -1
  704. package/dist/core/p-1600c1fb.entry.js +0 -2
  705. package/dist/core/p-18025823.entry.js +0 -2
  706. package/dist/core/p-18025823.entry.js.map +0 -1
  707. package/dist/core/p-18dbe177.entry.js +0 -2
  708. package/dist/core/p-18dbe177.entry.js.map +0 -1
  709. package/dist/core/p-1a550eee.entry.js +0 -2
  710. package/dist/core/p-1a550eee.entry.js.map +0 -1
  711. package/dist/core/p-1f1895c0.entry.js +0 -2
  712. package/dist/core/p-1fdc2457.entry.js +0 -2
  713. package/dist/core/p-212759be.entry.js +0 -2
  714. package/dist/core/p-215504c1.entry.js +0 -2
  715. package/dist/core/p-2614044c.js +0 -2
  716. package/dist/core/p-2c3ddc57.entry.js +0 -2
  717. package/dist/core/p-31e7d262.entry.js +0 -2
  718. package/dist/core/p-31e7d262.entry.js.map +0 -1
  719. package/dist/core/p-32bba4e7.entry.js +0 -2
  720. package/dist/core/p-378e0723.entry.js +0 -2
  721. package/dist/core/p-3844a27d.entry.js +0 -2
  722. package/dist/core/p-4bce896c.js +0 -2
  723. package/dist/core/p-4cb4de7b.entry.js +0 -2
  724. package/dist/core/p-56f9e026.entry.js +0 -2
  725. package/dist/core/p-57b0e670.entry.js +0 -2
  726. package/dist/core/p-668ca722.entry.js +0 -2
  727. package/dist/core/p-67200095.entry.js +0 -2
  728. package/dist/core/p-69d56f17.js +0 -2
  729. package/dist/core/p-6aa40794.js +0 -2
  730. package/dist/core/p-731fe7d8.entry.js +0 -2
  731. package/dist/core/p-731fe7d8.entry.js.map +0 -1
  732. package/dist/core/p-7591976a.entry.js +0 -2
  733. package/dist/core/p-75ea368b.entry.js +0 -2
  734. package/dist/core/p-7b48b1b8.entry.js +0 -2
  735. package/dist/core/p-7de47344.entry.js +0 -2
  736. package/dist/core/p-7de47344.entry.js.map +0 -1
  737. package/dist/core/p-83aa4327.entry.js +0 -2
  738. package/dist/core/p-842cb87f.js +0 -2
  739. package/dist/core/p-89b69743.entry.js +0 -2
  740. package/dist/core/p-89b69743.entry.js.map +0 -1
  741. package/dist/core/p-8a796fbe.entry.js +0 -2
  742. package/dist/core/p-8f10919c.entry.js +0 -2
  743. package/dist/core/p-8fe36a5b.entry.js +0 -2
  744. package/dist/core/p-915e53ac.entry.js +0 -2
  745. package/dist/core/p-915e53ac.entry.js.map +0 -1
  746. package/dist/core/p-92e13f9d.entry.js +0 -2
  747. package/dist/core/p-a21dc94f.js +0 -2
  748. package/dist/core/p-a274cdaa.entry.js +0 -2
  749. package/dist/core/p-a274cdaa.entry.js.map +0 -1
  750. package/dist/core/p-a693ffbf.js +0 -2
  751. package/dist/core/p-a693ffbf.js.map +0 -1
  752. package/dist/core/p-a9a095c2.entry.js +0 -2
  753. package/dist/core/p-a9a095c2.entry.js.map +0 -1
  754. package/dist/core/p-ab68c0b7.entry.js +0 -2
  755. package/dist/core/p-ab68c0b7.entry.js.map +0 -1
  756. package/dist/core/p-b48a4aa0.js +0 -2
  757. package/dist/core/p-b48a4aa0.js.map +0 -1
  758. package/dist/core/p-b50ffab3.entry.js +0 -2
  759. package/dist/core/p-b70cc248.entry.js +0 -2
  760. package/dist/core/p-c0a5a3f7.entry.js +0 -2
  761. package/dist/core/p-c0a5a3f7.entry.js.map +0 -1
  762. package/dist/core/p-c5b5fd69.entry.js +0 -2
  763. package/dist/core/p-d1c4eb91.entry.js +0 -2
  764. package/dist/core/p-d3963396.entry.js +0 -2
  765. package/dist/core/p-d4fbc249.entry.js +0 -2
  766. package/dist/core/p-d4fbc249.entry.js.map +0 -1
  767. package/dist/core/p-d949aac7.entry.js +0 -2
  768. package/dist/core/p-d949aac7.entry.js.map +0 -1
  769. package/dist/core/p-e0d428c9.js +0 -2
  770. package/dist/core/p-e0d428c9.js.map +0 -1
  771. package/dist/core/p-e3aeaca0.js +0 -2
  772. package/dist/core/p-e3aeaca0.js.map +0 -1
  773. package/dist/core/p-e6af4c58.entry.js +0 -2
  774. package/dist/core/p-e6af4c58.entry.js.map +0 -1
  775. package/dist/core/p-ede7af0a.entry.js +0 -2
  776. package/dist/core/p-ede7af0a.entry.js.map +0 -1
  777. package/dist/core/p-eebc9e71.entry.js +0 -2
  778. package/dist/core/p-eebc9e71.entry.js.map +0 -1
  779. package/dist/core/p-eebf7ad8.entry.js +0 -2
  780. package/dist/core/p-f1c8a96b.entry.js +0 -2
  781. package/dist/core/p-f963bb2f.entry.js +0 -2
  782. package/dist/core/p-fb0df3a5.entry.js +0 -2
  783. package/dist/esm/colors-02c1ea96.js.map +0 -1
  784. package/dist/esm/form-472e078d.js.map +0 -1
  785. package/dist/esm/gov-flex.entry.js +0 -27
  786. package/dist/esm/gov-flex.entry.js.map +0 -1
  787. package/dist/esm/gov-form-label.entry.js +0 -23
  788. package/dist/esm/gov-form-label.entry.js.map +0 -1
  789. package/dist/esm/gov-icon.entry.js +0 -157
  790. package/dist/esm/gov-icon.entry.js.map +0 -1
  791. package/dist/esm/gov-theme-switch.entry.js +0 -69
  792. package/dist/esm/gov-theme-switch.entry.js.map +0 -1
  793. package/dist/esm/gov.log-6e9faad2.js +0 -19
  794. package/dist/esm/gov.log-6e9faad2.js.map +0 -1
  795. package/dist/esm/template-3d84d705.js.map +0 -1
  796. package/dist/esm/wcag-d7c6c252.js.map +0 -1
  797. package/dist/esm/win-cec370ad.js.map +0 -1
  798. /package/dist/components/{p-1d3019f3.js.map → p-31a99bfc.js.map} +0 -0
  799. /package/dist/components/{p-bd22e21d.js.map → p-4149f195.js.map} +0 -0
  800. /package/dist/components/{p-08621bdf.js.map → p-44a8a668.js.map} +0 -0
  801. /package/dist/components/{p-1f3bb41d.js.map → p-5952a5d0.js.map} +0 -0
  802. /package/dist/components/{p-565120d5.js.map → p-76d604c6.js.map} +0 -0
  803. /package/dist/components/{p-edd1417b.js.map → p-7f3becc5.js.map} +0 -0
  804. /package/dist/components/{p-7f8a24a7.js.map → p-860520b0.js.map} +0 -0
  805. /package/dist/components/{p-19c681a3.js.map → p-a2435993.js.map} +0 -0
  806. /package/dist/components/{p-59737af9.js.map → p-a521c59a.js.map} +0 -0
  807. /package/dist/components/{p-0c93dd39.js.map → p-c61a5830.js.map} +0 -0
  808. /package/dist/components/{p-23b7e680.js.map → p-dfb5794a.js.map} +0 -0
  809. /package/dist/core/{p-b50ffab3.entry.js.map → p-00d153bf.entry.js.map} +0 -0
  810. /package/dist/core/{p-d1c4eb91.entry.js.map → p-0be19b89.entry.js.map} +0 -0
  811. /package/dist/core/{p-215504c1.entry.js.map → p-22fa411d.entry.js.map} +0 -0
  812. /package/dist/core/{p-668ca722.entry.js.map → p-30eaeeec.entry.js.map} +0 -0
  813. /package/dist/core/{p-69d56f17.js.map → p-3bbb77a0.js.map} +0 -0
  814. /package/dist/core/{p-7591976a.entry.js.map → p-535316b4.entry.js.map} +0 -0
  815. /package/dist/core/{p-b822b9ff.entry.js.map → p-5396935e.entry.js.map} +0 -0
  816. /package/dist/core/{p-42d9924c.js.map → p-56efd4a2.js.map} +0 -0
  817. /package/dist/core/{p-8a796fbe.entry.js.map → p-5b2131c1.entry.js.map} +0 -0
  818. /package/dist/core/{p-60658ae9.js.map → p-5f1000da.js.map} +0 -0
  819. /package/dist/core/{p-b70cc248.entry.js.map → p-7b7e502b.entry.js.map} +0 -0
  820. /package/dist/core/{p-2614044c.js.map → p-7ba4daf4.js.map} +0 -0
  821. /package/dist/core/{p-6aa40794.js.map → p-7f3becc5.js.map} +0 -0
  822. /package/dist/core/{p-e9a6cd71.js.map → p-860520b0.js.map} +0 -0
  823. /package/dist/core/{p-169b67af.js.map → p-a2435993.js.map} +0 -0
  824. /package/dist/core/{p-4bce896c.js.map → p-a521c59a.js.map} +0 -0
  825. /package/dist/core/{p-2c3ddc57.entry.js.map → p-bc966c46.entry.js.map} +0 -0
  826. /package/dist/core/{p-c990d746.js.map → p-c61a5830.js.map} +0 -0
  827. /package/dist/core/{p-45a30859.js.map → p-e0e2e9c1.js.map} +0 -0
  828. /package/dist/core/{p-052cc573.js.map → p-e44a0fee.js.map} +0 -0
  829. /package/dist/core/{p-58dc3ec3.entry.js.map → p-e834ee73.entry.js.map} +0 -0
  830. /package/dist/core/{p-5ad3097c.entry.js.map → p-f7a4da9d.entry.js.map} +0 -0
@@ -0,0 +1,315 @@
1
+ import { r as registerInstance, h, a as Host, g as getElement, c as createEvent, d as getAssetPath } from './index-c263e031.js';
2
+ import { g as govHost } from './template-7ecee4d1.js';
3
+ import { F as FormLabelClass } from './constants-43f10674.js';
4
+ import { p as pick } from './utils-e10e994d.js';
5
+ import { C as Colors } from './colors-4cf64720.js';
6
+ import { S as Sizes } from './sizes-5b9e579f.js';
7
+ import { i as iconsPath, a as iconsLazyLoad, b as isWindow } from './gov.log-066c3139.js';
8
+ import { i as isString } from './helpers.types-43ddbdb8.js';
9
+ import { v as validateProp } from './props-fb6587c3.js';
10
+
11
+ const FlexClass = {
12
+ root: 'gov-flex',
13
+ };
14
+
15
+ const GovFlex = class {
16
+ constructor(hostRef) {
17
+ registerInstance(this, hostRef);
18
+ this.direction = 'row';
19
+ this.justifyContent = undefined;
20
+ this.alignItems = undefined;
21
+ this.wrap = undefined;
22
+ this.alignContent = undefined;
23
+ this.alignSelf = undefined;
24
+ this.h = govHost(this.host);
25
+ }
26
+ render() {
27
+ return (h(Host, { key: '77d5eb1db594698f6fde4bf497209912de71173f', class: this.h.classes(FlexClass.root) }, h("slot", { key: '6c01ff6ec88c53dbf9e83d492f660c96e9e7fc2a' })));
28
+ }
29
+ get host() { return getElement(this); }
30
+ };
31
+
32
+ const GovFormLabel = class {
33
+ constructor(hostRef) {
34
+ registerInstance(this, hostRef);
35
+ this.govClick = createEvent(this, "gov-click", 7);
36
+ this.identifier = undefined;
37
+ this.size = 'm';
38
+ this.required = false;
39
+ this.legend = false;
40
+ }
41
+ render() {
42
+ const Tag = this.legend ? 'legend' : 'label';
43
+ return (h(Host, { key: '3e02eaa899126807c31fac8d3b6f352a07a73a9d', class: FormLabelClass.root, size: this.size }, h(Tag, { key: 'a1213cf879e26565c4c84d31ab6a46dac2a9ee4e', class: FormLabelClass.label, htmlFor: this.identifier, onClick: () => this.govClick.emit() }, h("slot", { key: '46a6a39821d6f3f786b843c037b0b423ba2445ae' }), this.required ? h("span", { class: "gov-color--error-500" }, "\u00A0*") : null)));
44
+ }
45
+ };
46
+
47
+ pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL', '_2XL', '_3XL', '_4XL', '_5XL']);
48
+ const IconColors = pick(Colors, [
49
+ 'DEFAULT',
50
+ 'PRIMARY',
51
+ 'SECONDARY',
52
+ 'NEUTRAL',
53
+ 'ERROR',
54
+ 'SUCCESS',
55
+ 'WARNING',
56
+ 'DISABLED',
57
+ 'WHITE',
58
+ 'BLACK',
59
+ ]);
60
+ var Types;
61
+ (function (Types) {
62
+ Types["BASIC"] = "basic";
63
+ Types["COMPLEX"] = "complex";
64
+ Types["COLORED"] = "colored";
65
+ })(Types || (Types = {}));
66
+ const IconClass = {
67
+ root: 'gov-icon',
68
+ holder: 'gov-icon__holder',
69
+ };
70
+
71
+ const version = "4.1.0";
72
+
73
+ const dsVersion = () => {
74
+ return version;
75
+ };
76
+
77
+ const iconCache = {};
78
+ const requestCache = {};
79
+ const isExternalUrl = (path) => path.startsWith("http://") || path.startsWith("https://");
80
+ const iconUrl = (path, name, type) => {
81
+ if (isExternalUrl(path)) {
82
+ return `${path}/${type}/${name}.svg?v=${dsVersion()}`;
83
+ }
84
+ return getAssetPath(`${path}/${type}/${name}.svg`) + `?v=${dsVersion()}`;
85
+ };
86
+ async function fetchIcon({ name, type }) {
87
+ const cacheKey = type + "-" + name;
88
+ if (iconCache[cacheKey]) {
89
+ return iconCache[cacheKey];
90
+ }
91
+ if (!requestCache[cacheKey]) {
92
+ requestCache[cacheKey] = fetch(iconUrl(iconsPath(), name, type)).then(resp => {
93
+ if (resp.status === 200) {
94
+ return resp.text();
95
+ }
96
+ else {
97
+ throw new Error("Gov Icon doesn't exists");
98
+ }
99
+ });
100
+ }
101
+ const path = await requestCache[cacheKey];
102
+ iconCache[cacheKey] = path;
103
+ return path;
104
+ }
105
+
106
+ const GovIcon = class {
107
+ constructor(hostRef) {
108
+ registerInstance(this, hostRef);
109
+ this.size = undefined;
110
+ this.color = undefined;
111
+ this.name = null;
112
+ this.type = "components";
113
+ this.visible = false;
114
+ this.error = false;
115
+ this.h = govHost(this.host);
116
+ }
117
+ validateSize(newValue) {
118
+ validateProp(Sizes, newValue, IconClass.root);
119
+ }
120
+ validateColor(newValue) {
121
+ validateProp(IconColors, newValue, IconClass.root);
122
+ }
123
+ async loadIconPathData() {
124
+ const { name, visible } = this;
125
+ if (!name || !visible) {
126
+ return;
127
+ }
128
+ await this.loadIcon();
129
+ }
130
+ connectedCallback() {
131
+ if (iconsLazyLoad()) {
132
+ this.visible = true;
133
+ this.loadIconPathData().finally();
134
+ }
135
+ else {
136
+ this.waitUntilVisible(async () => {
137
+ this.visible = true;
138
+ await this.loadIconPathData();
139
+ });
140
+ }
141
+ }
142
+ disconnectedCallback() {
143
+ if (this.intersectionObserver) {
144
+ this.intersectionObserver.disconnect();
145
+ this.intersectionObserver = null;
146
+ }
147
+ }
148
+ async componentWillLoad() {
149
+ this.validateSize(this.size);
150
+ this.validateColor(this.color);
151
+ await this.loadIconPathData();
152
+ }
153
+ waitUntilVisible(callback) {
154
+ if (typeof window === "undefined" || !window.IntersectionObserver) {
155
+ callback();
156
+ return;
157
+ }
158
+ this.intersectionObserver = new IntersectionObserver(entries => {
159
+ entries.forEach(entry => {
160
+ if (entry.isIntersecting) {
161
+ if (this.intersectionObserver) {
162
+ this.intersectionObserver.disconnect();
163
+ this.intersectionObserver = null;
164
+ }
165
+ callback();
166
+ }
167
+ });
168
+ }, { rootMargin: "50px" });
169
+ this.intersectionObserver.observe(this.host);
170
+ }
171
+ async loadIcon() {
172
+ try {
173
+ const { name, type } = this;
174
+ const data = await fetchIcon({ name, type });
175
+ const isValid = isString(data) && data.indexOf('svg') > -1;
176
+ this.host.innerHTML = isValid ? data : null;
177
+ }
178
+ catch (e) {
179
+ this.host.innerHTML = '';
180
+ this.error = true;
181
+ }
182
+ }
183
+ render() {
184
+ if (this.error) {
185
+ return null;
186
+ }
187
+ return (h(Host, { class: this.h.classes(IconClass.root), size: this.size, color: this.color }));
188
+ }
189
+ static get assetsDirs() { return ["assets"]; }
190
+ get host() { return getElement(this); }
191
+ static get watchers() { return {
192
+ "size": ["validateSize"],
193
+ "color": ["validateColor"],
194
+ "name": ["loadIconPathData"]
195
+ }; }
196
+ };
197
+
198
+ const ThemeSwitchSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL']);
199
+ const ThemeSwitchClass = {
200
+ root: 'gov-theme-switch',
201
+ indicator: 'gov-theme-switch__indicator',
202
+ iconLight: 'gov-theme-switch__icon-light',
203
+ iconDark: 'gov-theme-switch__icon-dark',
204
+ labelLight: 'gov-theme-switch__label-light',
205
+ labelDark: 'gov-theme-switch__label-dark',
206
+ };
207
+ const ATTRIBUTE_THEME_NAME = 'data-theme';
208
+
209
+ var ThemeList;
210
+ (function (ThemeList) {
211
+ ThemeList["auto"] = "auto";
212
+ ThemeList["light"] = "light";
213
+ ThemeList["dark"] = "dark";
214
+ })(ThemeList || (ThemeList = {}));
215
+
216
+ const setCookie = (name, value, days) => {
217
+ if (!isWindow) {
218
+ return;
219
+ }
220
+ let expires = "";
221
+ if (days) {
222
+ const date = new Date();
223
+ date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
224
+ expires = "; expires=" + date.toUTCString();
225
+ }
226
+ document.cookie = `${name}=${encodeURIComponent(value)}${expires}; path=/`;
227
+ };
228
+ const getCookie = (name) => {
229
+ if (!isWindow) {
230
+ return null;
231
+ }
232
+ const nameEQ = name + "=";
233
+ const cookies = document.cookie.split(';');
234
+ for (let i = 0; i < cookies.length; i++) {
235
+ let cookie = cookies[i].trim();
236
+ if (cookie.startsWith(nameEQ)) {
237
+ return decodeURIComponent(cookie.substring(nameEQ.length));
238
+ }
239
+ }
240
+ return null;
241
+ };
242
+
243
+ const GovThemeSwitch = class {
244
+ constructor(hostRef) {
245
+ registerInstance(this, hostRef);
246
+ this.govChange = createEvent(this, "gov-change", 7);
247
+ this.setThemeState = (state) => {
248
+ this.theme = state;
249
+ this.govChange.emit({
250
+ component: ThemeSwitchClass.root,
251
+ state: this.theme,
252
+ ref: this.host
253
+ });
254
+ };
255
+ this.size = "m";
256
+ this.ariaLabelLight = undefined;
257
+ this.ariaLabelDark = undefined;
258
+ this.labelLight = undefined;
259
+ this.labelDark = undefined;
260
+ this.theme = ThemeList.auto;
261
+ this.h = govHost(this.host);
262
+ }
263
+ validateSize(newValue) {
264
+ validateProp(ThemeSwitchSizes, newValue, ThemeSwitchClass.root);
265
+ }
266
+ watchTheme(newValue) {
267
+ this.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, newValue);
268
+ this.htmlElement.classList.remove(...Object.keys(ThemeList));
269
+ this.htmlElement.classList.add(newValue);
270
+ setCookie(ATTRIBUTE_THEME_NAME, newValue);
271
+ }
272
+ get storageValue() {
273
+ return getCookie(ATTRIBUTE_THEME_NAME);
274
+ }
275
+ get htmlElement() {
276
+ return document.documentElement;
277
+ }
278
+ get isSystemPrefersColorDark() {
279
+ return isWindow && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
280
+ }
281
+ componentWillLoad() {
282
+ this.initDefaultState();
283
+ this.validateSize(this.size);
284
+ }
285
+ initDefaultState() {
286
+ const options = Object.keys(ThemeList);
287
+ let currentState = this.storageValue;
288
+ const htmlState = this.htmlElement.getAttribute(ATTRIBUTE_THEME_NAME);
289
+ if (currentState && options.includes(currentState)) {
290
+ this.theme = currentState;
291
+ }
292
+ else if (htmlState && options.includes(htmlState)) {
293
+ this.theme = htmlState;
294
+ }
295
+ else {
296
+ this.theme = ThemeList.auto;
297
+ }
298
+ }
299
+ render() {
300
+ let isDark = this.theme === ThemeList.dark;
301
+ if (this.theme === ThemeList.auto) {
302
+ isDark = this.isSystemPrefersColorDark;
303
+ }
304
+ return (h(Host, { key: 'a83f030f54527f8e8a2d23c3769f3f1b41c4af4f', class: this.h.classes(ThemeSwitchClass.root), theme: isDark ? ThemeList.dark : ThemeList.light, size: this.size }, h("button", { key: '54f8337d911cf64f24c8db089b9092b806c3a926', onClick: () => this.setThemeState(isDark ? ThemeList.light : ThemeList.dark), "aria-label": isDark ? this.ariaLabelLight : this.ariaLabelDark }, h("span", { key: '483310b54df8e8de42c087f04b7e0758067c22b8' }, h("span", { key: '88b822cac4b5dc3897fa19252b5b1e1a559b8d6d', class: ThemeSwitchClass.indicator }, ThemeList.light && h("gov-icon", { key: 'f6f162cda66facba8940ba55f7f3283e7796d157', name: "sun", class: ThemeSwitchClass.iconLight, type: "components" }), ThemeList.dark && h("gov-icon", { key: 'b36b009c1787e37a3fd5108618c6bb5993f97a23', name: "moon", class: ThemeSwitchClass.iconDark, type: "components" })), h("gov-form-label", { key: 'dff2b2b454a87faa1d7e471d2a271c333c983aad', class: ThemeSwitchClass.labelLight, size: this.size }, this.labelLight), h("gov-form-label", { key: '1b682ccaff92cc4cfe8462ff2a59507fd61b114b', class: ThemeSwitchClass.labelDark, size: this.size }, this.labelDark)))));
305
+ }
306
+ get host() { return getElement(this); }
307
+ static get watchers() { return {
308
+ "size": ["validateSize"],
309
+ "theme": ["watchTheme"]
310
+ }; }
311
+ };
312
+
313
+ export { GovFlex as gov_flex, GovFormLabel as gov_form_label, GovIcon as gov_icon, GovThemeSwitch as gov_theme_switch };
314
+
315
+ //# sourceMappingURL=gov-flex_4.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gov-flex.gov-form-label.gov-icon.gov-theme-switch.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-flex/constants.ts","../../../packages/core/src/components/gov-flex/gov-flex.tsx","../../../packages/core/src/components/gov-form/label/gov-form-label.tsx","../../../packages/core/src/components/gov-icon/constants.ts","../../../packages/core/src/utils/ds.utils.ts","../../../packages/core/src/utils/icon.utils.ts","../../../packages/core/src/components/gov-icon/gov-icon.tsx","../../../packages/core/src/components/gov-theme-switch/constants.ts","../../../packages/core/src/components/gov-theme-switch/gov-theme-switch.types.ts","../../../packages/core/src/helpers/Dom/document.ts","../../../packages/core/src/components/gov-theme-switch/gov-theme-switch.tsx"],"sourcesContent":["export const FlexClass = {\n\troot: 'gov-flex',\n}\n\n","import {Component, Element, h, Host, Prop} from '@stencil/core'\nimport {FlexClass} from './constants'\nimport {govHost} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-flex',\n})\nexport class GovFlex {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovGridElement\n\n\t/**\n\t * Controls the flex direction of the container. Can be 'row', 'row-reverse', 'column', or 'column-reverse'.\n\t */\n\t@Prop() direction: 'row' | 'row-reverse' | 'column' | 'column-reverse' = 'row';\n\n\t/**\n\t * Defines how the browser distributes space between and around content items along the main axis.\n\t * Allowed values: 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly'.\n\t */\n\t@Prop({\n\t\tattribute: 'justify-content',\n\t\treflect: true\n\t}) justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n\n\t/**\n\t * Aligns flex items along the cross axis. Can be 'stretch', 'flex-start', 'flex-end', 'center', or 'baseline'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-items', reflect: true\n\t}) alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';\n\n\t/**\n\t * Controls whether the flex container is a single-line or multi-line flex container. Can be 'nowrap', 'wrap', or 'wrap-reverse'.\n\t */\n\t@Prop({reflect: true}) wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';\n\n\t/**\n\t * Aligns the flex container's lines within when there is extra space in the cross-axis.\n\t * Allowed values: 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'stretch'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-content',\n\t\treflect: true\n\t}) alignContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'stretch';\n\n\t/**\n\t * Sets the alignment of the flex container’s children along the flex container’s cross axis, overriding the `align-items` property for individual flex items.\n\t * Allowed values: 'auto', 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-self',\n\t\treflect: true\n\t}) alignSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FlexClass.root)}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","import { Component, Event, EventEmitter, h, Prop, Host } from '@stencil/core'\nimport { FormLabelClass, FormLabelSizesTypes } from './constants'\n\n@Component({\n\ttag: 'gov-form-label',\n})\nexport class GovFormLabel {\n\t/**\n\t * Identifier for label.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Label's size.\n\t */\n\t@Prop() readonly size?: FormLabelSizesTypes = 'm'\n\t/**\n\t * Set whether the input is required or not.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Use label as a legend for better accessibility.\n\t * Note: Don't forget to set the fieldset attribute of the gov-form-control component\n\t */\n\t@Prop() readonly legend: boolean = false\n\t/**\n\t * Emitted when the label click.\n\t */\n\t@Event({ eventName: 'gov-click' }) govClick: EventEmitter<PointerEvent>\n\n\trender() {\n\t\tconst Tag = this.legend ? 'legend' : 'label'\n\t\treturn (\n\t\t\t<Host class={FormLabelClass.root} size={this.size}>\n\t\t\t\t<Tag class={FormLabelClass.label} htmlFor={this.identifier} onClick={() => this.govClick.emit()}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t\t{this.required ? <span class=\"gov-color--error-500\">&nbsp;*</span> : null}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","import { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils';\nimport { Colors } from '../../core/constants/colors';\nimport {Sizes} from \"../../core/constants/sizes\";\n\nexport const IconSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL', '_2XL', '_3XL', '_4XL', '_5XL'])\nexport type IconSizesType = `${ValueOf<typeof IconSizes>}`\n\nexport const IconColors = pick(Colors, [\n\t'DEFAULT',\n\t'PRIMARY',\n\t'SECONDARY',\n\t'NEUTRAL',\n\t'ERROR',\n\t'SUCCESS',\n\t'WARNING',\n\t'DISABLED',\n\t'WHITE',\n\t'BLACK',\n])\nexport type IconColorType = `${ValueOf<typeof IconColors>}`\n\nenum Types {\n\tBASIC = 'basic',\n\tCOMPLEX = 'complex',\n\tCOLORED = 'colored',\n}\nexport type Type = `${ValueOf<typeof Types>}`\n\nexport const IconClass = {\n\troot: 'gov-icon',\n\tholder: 'gov-icon__holder',\n}\n","import { version } from '../../package.json'\n\nexport const dsVersion = (): string => {\n\treturn version\n}\n","import { getAssetPath } from \"@stencil/core\"\nimport { dsVersion } from \"./ds.utils\"\nimport { iconsPath } from \"../helpers/Dom/win\"\n\nconst iconCache: { [key: string]: string } = {}\nconst requestCache: { [key: string]: Promise<string> } = {}\n\nconst isExternalUrl = (path: string) => path.startsWith(\"http://\") || path.startsWith(\"https://\")\nconst iconUrl = (path: string, name: string, type: string) => {\n\tif (isExternalUrl(path)) {\n\t\treturn `${path}/${type}/${name}.svg?v=${dsVersion()}`\n\t}\n\treturn getAssetPath(`${path}/${type}/${name}.svg`) + `?v=${dsVersion()}`\n}\n\nexport async function fetchIcon({ name, type }: { name: string; type: string }): Promise<string> {\n\tconst cacheKey = type + \"-\" + name\n\tif (iconCache[cacheKey]) {\n\t\treturn iconCache[cacheKey]\n\t}\n\tif (!requestCache[cacheKey]) {\n\t\trequestCache[cacheKey] = fetch(iconUrl(iconsPath(), name, type)).then(resp => {\n\t\t\tif (resp.status === 200) {\n\t\t\t\treturn resp.text()\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Gov Icon doesn't exists\")\n\t\t\t}\n\t\t})\n\t}\n\tconst path = await requestCache[cacheKey]\n\ticonCache[cacheKey] = path\n\treturn path\n}\n","import {Build, Component, Element, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {IconClass, IconSizesType} from \"./constants\"\nimport {fetchIcon} from \"../../utils/icon.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {iconsLazyLoad} from \"../../helpers/Dom/win\"\nimport {isString} from \"../../utils/helpers.types\";\nimport { type IconColorType, IconColors } from \"./constants\";\nimport { validateProp } from \"../../helpers/Validate/props\";\nimport {Sizes} from \"../../core/constants/sizes\";\n\n@Component({\n\tassetsDirs: [\"assets\"],\n\ttag: \"gov-icon\",\n})\nexport class GovIcon {\n\tprivate h: GovHost\n\tprivate intersectionObserver: IntersectionObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovIconElement\n\t/**\n\t * Icon size\n\t */\n\t@Prop({reflect: true}) readonly size?: IconSizesType\n\t/**\n\t * Icon color\n\t */\n\t@Prop({reflect: true}) readonly color?: IconColorType\n\t/**\n\t * Name of icon in folder\n\t */\n\t@Prop({reflect: true}) name: string = null\n\t/**\n\t * Type (folder) of icon\n\t */\n\t@Prop({reflect: true}) type = \"components\"\n\n\t@State() private visible = false\n\t@State() private error = false\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(IconColors, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"name\")\n\tprivate async loadIconPathData(): Promise<void> {\n\t\tconst {name, visible} = this\n\t\tif (!Build.isBrowser || !name || !visible) {\n\t\t\treturn\n\t\t}\n\t\tawait this.loadIcon()\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (iconsLazyLoad()) {\n\t\t\tthis.visible = true\n\t\t\tthis.loadIconPathData().finally()\n\t\t} else {\n\t\t\tthis.waitUntilVisible(async () => {\n\t\t\t\tthis.visible = true\n\t\t\t\tawait this.loadIconPathData()\n\t\t\t})\n\t\t}\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tif (this.intersectionObserver) {\n\t\t\tthis.intersectionObserver.disconnect()\n\t\t\tthis.intersectionObserver = null\n\t\t}\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tthis.validateSize(this.size)\n\t\tthis.validateColor(this.color)\n\t\tawait this.loadIconPathData()\n\t}\n\n\tprivate waitUntilVisible(callback: () => void): void {\n\t\tif (!Build.isBrowser || typeof window === \"undefined\" || !(window as any).IntersectionObserver) {\n\t\t\tcallback()\n\t\t\treturn\n\t\t}\n\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tif (this.intersectionObserver) {\n\t\t\t\t\t\t\tthis.intersectionObserver.disconnect()\n\t\t\t\t\t\t\tthis.intersectionObserver = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\t{rootMargin: \"50px\"},\n\t\t)\n\t\tthis.intersectionObserver.observe(this.host)\n\t}\n\n\tprivate async loadIcon() {\n\t\ttry {\n\t\t\tconst {name, type} = this\n\t\t\tconst data = await fetchIcon({name, type})\n\t\t\tconst isValid = isString(data) && data.indexOf('svg') > -1\n\t\t\tthis.host.innerHTML = isValid ? data : null;\n\t\t} catch (e) {\n\t\t\tthis.host.innerHTML = ''\n\t\t\tthis.error = true\n\t\t}\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn null\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(IconClass.root)} size={this.size} color={this.color}/>\n\t\t)\n\t}\n}\n","import {pick} from \"../../utils/utils\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const ThemeSwitchSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL'])\nexport type ThemeSwitchSizesType = `${ValueOf<typeof ThemeSwitchSizes>}`\n\nexport const ThemeSwitchClass = {\n\troot: 'gov-theme-switch',\n\tindicator: 'gov-theme-switch__indicator',\n\ticonLight: 'gov-theme-switch__icon-light',\n\ticonDark: 'gov-theme-switch__icon-dark',\n\tlabelLight: 'gov-theme-switch__label-light',\n\tlabelDark: 'gov-theme-switch__label-dark',\n}\n\nexport const ATTRIBUTE_THEME_NAME = 'data-theme'\n","import {GovBaseEvent} from \"../../types/event.types\";\n\nexport enum ThemeList {\n\tauto = 'auto',\n\tlight = 'light',\n\tdark = 'dark'\n}\n\nexport interface ThemeSwitchEvent extends GovBaseEvent {\n\tref: HTMLGovThemeSwitchElement;\n\tstate: ThemeList\n}\n\n","import {Nullable} from \"../../utils/helpers.types\";\nimport {isWindow} from \"./win\";\n\nexport const setCookie = (name: string, value: string, days?: number) => {\n\tif (!isWindow) {\n\t\treturn\n\t}\n\tlet expires = \"\";\n\tif (days) {\n\t\tconst date = new Date();\n\t\tdate.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n\t\texpires = \"; expires=\" + date.toUTCString();\n\t}\n\tdocument.cookie = `${name}=${encodeURIComponent(value)}${expires}; path=/`;\n}\n\nexport const getCookie = (name: string): Nullable<string> => {\n\tif (!isWindow) {\n\t\treturn null\n\t}\n\tconst nameEQ = name + \"=\";\n\tconst cookies = document.cookie.split(';');\n\tfor (let i = 0; i < cookies.length; i++) {\n\t\tlet cookie = cookies[i].trim();\n\t\tif (cookie.startsWith(nameEQ)) {\n\t\t\treturn decodeURIComponent(cookie.substring(nameEQ.length));\n\t\t}\n\t}\n\treturn null;\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {GovHost} from \"../../helpers/Dom/template.types\";\nimport {govHost} from \"../../helpers/Dom/template\";\nimport {ATTRIBUTE_THEME_NAME, ThemeSwitchClass, ThemeSwitchSizes, ThemeSwitchSizesType} from \"./constants\";\nimport {isWindow} from \"../../helpers/Dom/win\";\nimport {ThemeList, ThemeSwitchEvent} from \"./gov-theme-switch.types\";\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {getCookie, setCookie} from \"../../helpers/Dom/document\";\n\n@Component({\n\ttag: \"gov-theme-switch\",\n})\nexport class GovThemeSwitch {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovThemeSwitchElement\n\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop() readonly size?: ThemeSwitchSizesType = \"m\"\n\t/**\n\t * Label in light mode\n\t */\n\t@Prop({attribute: \"aria-label-light\"}) readonly ariaLabelLight?: \"Přenout na tmavý mód\"\n\t/**\n\t * Label in dark mode\n\t */\n\t@Prop({attribute: \"aria-label-dark\"}) readonly ariaLabelDark?: \"Přepnout na světlý mód\"\n\t/**\n\t * Label in light mode\n\t */\n\t@Prop({attribute: \"label-light\"}) readonly labelLight?: \"Světlý mód\"\n\t/**\n\t * Label in dark mode\n\t */\n\t@Prop({attribute: \"label-dark\"}) readonly labelDark?: \"Tmavý mód\"\n\t/**\n\t * Called when the theme is changed by the user\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<ThemeSwitchEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(ThemeSwitchSizes, newValue, ThemeSwitchClass.root)\n\t}\n\n\t@Watch(\"theme\")\n\twatchTheme(newValue: ThemeList): void {\n\t\tthis.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, newValue);\n\t\tthis.htmlElement.classList.remove(...Object.keys(ThemeList));\n\t\tthis.htmlElement.classList.add(newValue);\n\t\tsetCookie(ATTRIBUTE_THEME_NAME, newValue);\n\t}\n\n\t@State() theme: ThemeList = ThemeList.auto\n\n\tprivate get storageValue() {\n\t\treturn getCookie(ATTRIBUTE_THEME_NAME)\n\t}\n\n\tprivate get htmlElement(): HTMLElement {\n\t\treturn document.documentElement\n\t}\n\n\tprivate get isSystemPrefersColorDark(): boolean {\n\t\treturn isWindow && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.initDefaultState()\n\t\tthis.validateSize(this.size)\n\t}\n\n\tprivate initDefaultState() {\n\t\tconst options = Object.keys(ThemeList);\n\t\tlet currentState = this.storageValue;\n\t\tconst htmlState = this.htmlElement.getAttribute(ATTRIBUTE_THEME_NAME)\n\n\t\tif (currentState && options.includes(currentState)) {\n\t\t\tthis.theme = currentState as ThemeList;\n\t\t} else if (htmlState && options.includes(htmlState)) {\n\t\t\tthis.theme = htmlState as ThemeList;\n\t\t} else {\n\t\t\tthis.theme = ThemeList.auto;\n\t\t}\n\t}\n\n\tprivate setThemeState = (state: ThemeList) => {\n\t\tthis.theme = state;\n\n\t\tthis.govChange.emit({\n\t\t\tcomponent: ThemeSwitchClass.root,\n\t\t\tstate: this.theme,\n\t\t\tref: this.host\n\t\t})\n\t}\n\n\trender() {\n\t\tlet isDark = this.theme === ThemeList.dark;\n\t\tif (this.theme === ThemeList.auto) {\n\t\t\tisDark = this.isSystemPrefersColorDark;\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(ThemeSwitchClass.root)}\n\t\t\t\t theme={isDark ? ThemeList.dark : ThemeList.light}\n\t\t\t\t size={this.size}>\n\t\t\t\t<button onClick={() => this.setThemeState(isDark ? ThemeList.light : ThemeList.dark)}\n\t\t\t\t\t\taria-label={isDark ? this.ariaLabelLight : this.ariaLabelDark}>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<span class={ThemeSwitchClass.indicator}>\n\t\t\t\t\t\t\t{ThemeList.light && <gov-icon name=\"sun\" class={ThemeSwitchClass.iconLight} type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t{ThemeList.dark && <gov-icon name=\"moon\" class={ThemeSwitchClass.iconDark} type=\"components\"></gov-icon>}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<gov-form-label class={ThemeSwitchClass.labelLight} size={this.size}>\n\t\t\t\t\t\t\t{this.labelLight}\n\t\t\t\t\t\t</gov-form-label>\n\t\t\t\t\t\t<gov-form-label class={ThemeSwitchClass.labelDark} size={this.size}>\n\t\t\t\t\t\t\t{this.labelDark}\n\t\t\t\t\t\t</gov-form-label>\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -1,14 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
2
- import { c as toBoolAttr, b as booleanString } from './template-3d84d705.js';
3
- import { v as validateProp } from './props-c82e1abf.js';
2
+ import { c as toBoolAttr, b as booleanString } from './template-7ecee4d1.js';
3
+ import { v as validateProp } from './props-fb6587c3.js';
4
4
  import { c as createID } from './string.utils-1da8f8fb.js';
5
- import { d as delay, t as throttle, h as has } from './utils-2b4ef320.js';
6
- import { F as FormAutocompleteClass, a as FormAutocompleteSizes } from './constants-6d727976.js';
5
+ import { d as delay, t as throttle, h as has } from './utils-e10e994d.js';
6
+ import { F as FormAutocompleteClass, a as FormAutocompleteSizes } from './constants-085f9943.js';
7
7
  import { p as propsValueToArray } from './array.utils-85696abd.js';
8
8
  import { A as AttributeObserver, a as ariaAttributes } from './attribute-5561aca4.js';
9
9
  import { i as inheritAriaAttributes } from './accessibility-f83c991a.js';
10
- import './gov.log-6e9faad2.js';
11
- import './win-cec370ad.js';
10
+ import './gov.log-066c3139.js';
12
11
  import './sizes-5b9e579f.js';
13
12
  import './helpers.types-43ddbdb8.js';
14
13
 
@@ -36,7 +35,6 @@ const GovFormAutocomplete = class {
36
35
  this.maxlength = undefined;
37
36
  this.throttleTime = 200;
38
37
  this.messageEmpty = 'Nebyly nalezeny žádné výsledky';
39
- this.messageLoading = 'Načítám...';
40
38
  this.focused = undefined;
41
39
  this.processing = false;
42
40
  this.arrowCounter = -1;
@@ -121,7 +119,7 @@ const GovFormAutocomplete = class {
121
119
  this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [attributeName]: newValue });
122
120
  }
123
121
  render() {
124
- return (h(Host, { key: '4c1ca728a4fcbb5a3b39d219a166896fb6e41c5c', class: FormAutocompleteClass.root, size: this.size }, h("gov-form-input", Object.assign({ key: '34c6ec7581edd63d5aab4f8aba0a3e1e074ca0d9', placeholder: this.placeholder, name: this.name, disabled: this.disabled, readonly: this.readonly, autocomplete: false, size: this.size, required: this.required, invalid: this.invalid, success: this.success, role: 'searchbox', value: this.value, minlength: this.minlength, maxlength: this.maxlength, "on-gov-input": throttle(this.onInputHandler.bind(this), this.throttleTime), "on-gov-keyup": this.onKeyUpHandler.bind(this), "on-gov-keydown": this.onKeyDownHandler.bind(this), "on-gov-focus": this.onFocusHandler.bind(this), "on-gov-blur": this.onBlurHandler.bind(this) }, this.inheritedAttributes, { "aria-autocomplete": 'list', "aria-owns": [this.listBoxId, this.inheritedAttributes['aria-owns']].join(' '), "aria-expanded": booleanString(this.list.length && this.focused ? true : false), ref: el => (this.inputRef = el) }), h("slot", { key: '6fa5e8463b84faa2053047c1544c2097359f268e', name: "right-icon" })), h("ul", { key: '1ed5e02694c8af1981a320ed7e91c81784032dae', class: FormAutocompleteClass.list, role: 'listbox', "aria-hidden": toBoolAttr(!this.focused), hidden: !this.focused, id: this.listBoxId, ref: el => (this.listRef = el) }, this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (h("li", { class: FormAutocompleteClass.empty }, this.messageEmpty)) : null, this.focused && this.processing === true && this.isValueAccepted ? (h("li", { class: FormAutocompleteClass.loading }, h("gov-skeleton", { size: "m" }))) : null, this.focused ? this.list.map((item, index) => {
122
+ return (h(Host, { key: 'd5ddd1d65a70f4a9839262831b6207a0fe8ae726', class: FormAutocompleteClass.root, size: this.size }, h("gov-form-input", Object.assign({ key: 'd656134c3a756de2c4178dcfcdd703f301d6c890', placeholder: this.placeholder, name: this.name, disabled: this.disabled, readonly: this.readonly, autocomplete: false, size: this.size, required: this.required, invalid: this.invalid, success: this.success, role: 'searchbox', value: this.value, minlength: this.minlength, maxlength: this.maxlength, "on-gov-input": throttle(this.onInputHandler.bind(this), this.throttleTime), "on-gov-keyup": this.onKeyUpHandler.bind(this), "on-gov-keydown": this.onKeyDownHandler.bind(this), "on-gov-focus": this.onFocusHandler.bind(this), "on-gov-blur": this.onBlurHandler.bind(this) }, this.inheritedAttributes, { "aria-autocomplete": 'list', "aria-owns": [this.listBoxId, this.inheritedAttributes['aria-owns']].join(' '), "aria-expanded": booleanString(this.list.length && this.focused ? true : false), ref: el => (this.inputRef = el) }), h("slot", { key: '1d697820c14669a9e6c81f844f15e20743593f97', name: "validation-icon" }), h("slot", { key: '297ccc852764688a34102363beb428ab81d6de26', name: "icon-end" })), h("ul", { key: '3ed420a696852fad4183d16ef31a2db1dcb8f572', class: FormAutocompleteClass.list, role: 'listbox', "aria-hidden": toBoolAttr(!this.focused), hidden: !this.focused, id: this.listBoxId, ref: el => (this.listRef = el) }, this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (h("li", { class: FormAutocompleteClass.empty }, this.messageEmpty)) : null, this.focused && this.processing === true && this.isValueAccepted ? (h("li", { class: FormAutocompleteClass.loading }, h("gov-skeleton", { size: "m" }))) : null, this.focused ? this.list.map((item, index) => {
125
123
  const isSelected = this.arrowCounter === index;
126
124
  return (h("li", { class: FormAutocompleteClass.item, innerHTML: this.templateResolver(item, isSelected), role: 'option', "aria-posinset": index, tabindex: isSelected ? 0 : -1, "aria-setsize": this.list.length, onTouchStart: (e) => this.onSelectHandler(e, index), onMouseDown: (e) => this.onSelectHandler(e, index), "aria-selected": toBoolAttr(isSelected) }, h("slot", { name: "list-item-left" }), h("slot", { name: "list-item-right" })));
127
125
  }) : null)));
@@ -1 +1 @@
1
- {"file":"gov-form-autocomplete.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {booleanString, toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {FormAutocompleteClass, FormAutocompleteSizes, SizesType,} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\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\tprivate attributeObserver: AttributeObserver\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 * Options of autocomplete\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormAutocompleteItem[]\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\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({attribute: 'name-key'}) 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 = false\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 = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Input throttle in milliseconds\n\t */\n\t@Prop() readonly throttleTime: number = 200\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormAutocompleteItem[]): void {\n\t\tthis.setOptions(propsValueToArray(newValue)).catch()\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\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\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && 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\tprivate clearList() {\n\t\tconst areOptions = propsValueToArray<GovFormAutocompleteItem[]>(this.options)\n\t\tif (areOptions.length === 0) {\n\t\t\tthis.list = []\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size}>\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\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\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), this.throttleTime)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.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\t{...this.inheritedAttributes}\n\t\t\t\t\taria-autocomplete={'list'}\n\t\t\t\t\taria-owns={[this.listBoxId, this.inheritedAttributes['aria-owns']].join(' ')}\n\t\t\t\t\taria-expanded={booleanString(this.list.length && this.focused ? true : false)}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"right-icon\"/>\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list}\n\t\t\t\t\trole={'listbox'}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.focused)}\n\t\t\t\t\thidden={!this.focused}\n\t\t\t\t\tid={this.listBoxId}\n\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-skeleton size=\"m\"></gov-skeleton>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused ? 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\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, 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\t\t<slot name=\"list-item-left\"/>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-right\"/>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t}) : null}\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.isValueAccepted && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.clearList();\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\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({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, 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({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.clearList();\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 FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.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) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Focus main input element\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 * Blur main input element\n\t */\n\t@Method()\n\tasync setBlur(): Promise<void> {\n\t\treturn this.inputRef.blur()\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\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 * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\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-autocomplete.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {booleanString, toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {FormAutocompleteClass, FormAutocompleteSizes, SizesType,} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\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\tprivate attributeObserver: AttributeObserver\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 * Options of autocomplete\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormAutocompleteItem[]\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\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({attribute: 'name-key'}) 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 = false\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 = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Input throttle in milliseconds\n\t */\n\t@Prop() readonly throttleTime: number = 200\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormAutocompleteItem[]): void {\n\t\tthis.setOptions(propsValueToArray(newValue)).catch()\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\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\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && 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\tprivate clearList() {\n\t\tconst areOptions = propsValueToArray<GovFormAutocompleteItem[]>(this.options)\n\t\tif (areOptions.length === 0) {\n\t\t\tthis.list = []\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size}>\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\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\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), this.throttleTime)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.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\t{...this.inheritedAttributes}\n\t\t\t\t\taria-autocomplete={'list'}\n\t\t\t\t\taria-owns={[this.listBoxId, this.inheritedAttributes['aria-owns']].join(' ')}\n\t\t\t\t\taria-expanded={booleanString(this.list.length && this.focused ? true : false)}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"validation-icon\" />\n\t\t\t\t\t<slot name=\"icon-end\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list}\n\t\t\t\t\trole={'listbox'}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.focused)}\n\t\t\t\t\thidden={!this.focused}\n\t\t\t\t\tid={this.listBoxId}\n\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && this.isValueAccepted && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-skeleton size=\"m\"></gov-skeleton>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused ? 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\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, 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\t\t<slot name=\"list-item-left\"/>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-right\"/>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t}) : null}\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.isValueAccepted && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.clearList();\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\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({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, 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({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.clearList();\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 FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.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) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Focus main input element\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 * Blur main input element\n\t */\n\t@Method()\n\tasync setBlur(): Promise<void> {\n\t\treturn this.inputRef.blur()\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\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 * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\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,16 +1,15 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-c263e031.js';
2
- import { F as FormCheckboxGroupClass, a as FormGroupClass, b as FormGroupSizes, c as FormGroupOrientation } from './constants-501eb756.js';
3
- import { g as govHost } from './template-3d84d705.js';
4
- import { v as validateProp } from './props-c82e1abf.js';
2
+ import { F as FormCheckboxGroupClass, a as FormGroupClass, b as FormGroupSizes, c as FormGroupOrientation } from './constants-4da2b3c0.js';
3
+ import { g as govHost } from './template-7ecee4d1.js';
4
+ import { v as validateProp } from './props-fb6587c3.js';
5
5
  import { t as tick } from './stencil.utils-f3c6c68d.js';
6
6
  import { p as propsValueToArray } from './array.utils-85696abd.js';
7
- import './utils-2b4ef320.js';
7
+ import './utils-e10e994d.js';
8
8
  import './sizes-5b9e579f.js';
9
- import './gov.log-6e9faad2.js';
10
- import './win-cec370ad.js';
9
+ import './gov.log-066c3139.js';
11
10
  import './helpers.types-43ddbdb8.js';
12
11
 
13
- const govFormGroupCss = ".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)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}gov-form-group,.gov-form-group,gov-form-radio-group,.gov-form-radio-group,gov-form-checkbox-group,.gov-form-checkbox-group{margin-top:0;margin-bottom:0;position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,.gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,.gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-checkbox-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],.gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],.gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-checkbox-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,.gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=xs],.gov-form-group[gap=xs],gov-form-radio-group[gap=xs],.gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-checkbox-group[gap=xs]{gap:var(--gap, var(--spacing-xs-nudge))}gov-form-group[gap=s],.gov-form-group[gap=s],gov-form-radio-group[gap=s],.gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-checkbox-group[gap=s]{gap:var(--gap, var(--spacing-s))}gov-form-group[gap=m],.gov-form-group[gap=m],gov-form-radio-group[gap=m],.gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-checkbox-group[gap=m]{gap:var(--gap, var(--spacing-s-nudge))}gov-form-group[gap=l],.gov-form-group[gap=l],gov-form-radio-group[gap=l],.gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-checkbox-group[gap=l]{gap:var(--gap, var(--spacing-m))}gov-form-group[gap=xl],.gov-form-group[gap=xl],gov-form-radio-group[gap=xl],.gov-form-radio-group[gap=xl],gov-form-checkbox-group[gap=xl],.gov-form-checkbox-group[gap=xl]{gap:var(--gap, var(--spacing-m-nudge))}";
12
+ const govFormGroupCss = ":root{--roboto:Roboto, sans-serif}gov-form-group,.gov-form-group,gov-form-radio-group,.gov-form-radio-group,gov-form-checkbox-group,.gov-form-checkbox-group{margin-top:0 !important;margin-bottom:0 !important;position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,.gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,.gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-checkbox-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],.gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],.gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-checkbox-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,.gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=xs],.gov-form-group[gap=xs],gov-form-radio-group[gap=xs],.gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-checkbox-group[gap=xs]{gap:var(--gap, var(--spacing-xs-nudge))}gov-form-group[gap=s],.gov-form-group[gap=s],gov-form-radio-group[gap=s],.gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-checkbox-group[gap=s]{gap:var(--gap, var(--spacing-s))}gov-form-group[gap=m],.gov-form-group[gap=m],gov-form-radio-group[gap=m],.gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-checkbox-group[gap=m]{gap:var(--gap, var(--spacing-s-nudge))}gov-form-group[gap=l],.gov-form-group[gap=l],gov-form-radio-group[gap=l],.gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-checkbox-group[gap=l]{gap:var(--gap, var(--spacing-m))}gov-form-group[gap=xl],.gov-form-group[gap=xl],gov-form-radio-group[gap=xl],.gov-form-radio-group[gap=xl],gov-form-checkbox-group[gap=xl],.gov-form-checkbox-group[gap=xl]{gap:var(--gap, var(--spacing-m-nudge))}";
14
13
  const GovFormCheckboxGroupStyle0 = govFormGroupCss;
15
14
 
16
15
  const GovFormCheckboxGroup = class {
@@ -67,7 +66,7 @@ const GovFormCheckboxGroup = class {
67
66
  });
68
67
  }
69
68
  render() {
70
- return (h(Host, { key: '4db534d7f8775aaac6fecb7550037d0830763543', gap: this.gap, class: this.h.classes(FormGroupClass.root), value: this.value }, h("slot", { key: '836498262409058cdbb62066e482897ba0f0ec1c' })));
69
+ return (h(Host, { key: '9f0b69dea278df308a3ad5dacf989d4a89687b2a', gap: this.gap, class: this.h.classes(FormGroupClass.root), value: this.value }, h("slot", { key: '14abf79a5ef9bc899b2732f6ae159781afa51fe2' })));
71
70
  }
72
71
  get host() { return getElement(this); }
73
72
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"gov-form-checkbox-group.entry.js","mappings":";;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,uiFAAuiF,CAAC;AAChkF,mCAAe,eAAe;;MCoBjB,oBAAoB;IAGhC;;;QAoCA,iBAAY,GAAG,CAAC,KAAqC;;YACpD,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,MAAM,KAAK,GAAG,iBAAiB,CAAW,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAC3C;iBAAM;gBACN,IAAI,CAAC,KAAK,GAAG,MAAA,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAA;aACpE;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,sBAAsB,CAAC,IAAI;aACtC,CAAC,CAAA;SACF,CAAA;mBAzC2C,SAAS;2BAIK,UAAU;qBAIG,SAAS;QAf/E,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAqBD,WAAW,CAAC,QAAgB;QAC3B,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SAC3D;KACD;IAGD,mBAAmB,CAAC,QAAgB;QACnC,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SACjE;KACD;IAiBD,iBAAiB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC1C;IAED,kBAAkB;QACjB,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;KACpC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO;YAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;aACzD;YACD,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrD,CAAC,CAAA;KACF;IAED,MAAM;QACL,QACC,EAAC,IAAI,qDAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IACjF,8DAAa,CACP,EACP;KACD;;;;;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-checkbox-group","../../../packages/core/src/components/gov-form/group/gov-form-checkbox-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormCheckboxGroupClass,\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxEvent} from \"../checkbox/gov-form-checkbox.types\"\nimport {FormCheckboxGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\nimport {propsValueToArray} from \"../../../utils/array.utils\"\n\n@Component({\n\ttag: \"gov-form-checkbox-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormCheckboxGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string | string[] = undefined\n\t/**\n /* Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormCheckboxEvent>) => {\n\t\tevent.stopPropagation()\n\t\tconst value = propsValueToArray<string[]>(this.value);\n\t\tif (!Array.isArray(value)) return;\n\t\tif (event.detail.checked) {\n\t\t\tthis.value = [...value, event.detail.value]\n\t\t} else {\n\t\t\tthis.value = value.filter((val) => val !== event.detail.value) ?? []\n\t\t}\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormCheckboxGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t\tthis.value = propsValueToArray(this.value)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-checkbox').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = this.value.includes(element.value);\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-checkbox-group.entry.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,ywEAAywE,CAAC;AAClyE,mCAAe,eAAe;;MCoBjB,oBAAoB;IAGhC;;;QAoCA,iBAAY,GAAG,CAAC,KAAqC;;YACpD,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,MAAM,KAAK,GAAG,iBAAiB,CAAW,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAC3C;iBAAM;gBACN,IAAI,CAAC,KAAK,GAAG,MAAA,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAA;aACpE;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,sBAAsB,CAAC,IAAI;aACtC,CAAC,CAAA;SACF,CAAA;mBAzC2C,SAAS;2BAIK,UAAU;qBAIG,SAAS;QAf/E,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAqBD,WAAW,CAAC,QAAgB;QAC3B,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SAC3D;KACD;IAGD,mBAAmB,CAAC,QAAgB;QACnC,IAAI,QAAQ,EAAE;YACb,YAAY,CAAC,oBAAoB,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAA;SACjE;KACD;IAiBD,iBAAiB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC1C;IAED,kBAAkB;QACjB,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;KACpC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO;YAC/D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;gBAC/C,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;aACzD;YACD,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrD,CAAC,CAAA;KACF;IAED,MAAM;QACL,QACC,EAAC,IAAI,qDAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IACjF,8DAAa,CACP,EACP;KACD;;;;;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-checkbox-group","../../../packages/core/src/components/gov-form/group/gov-form-checkbox-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormCheckboxGroupClass,\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxEvent} from \"../checkbox/gov-form-checkbox.types\"\nimport {FormCheckboxGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\nimport {propsValueToArray} from \"../../../utils/array.utils\"\n\n@Component({\n\ttag: \"gov-form-checkbox-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormCheckboxGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string | string[] = undefined\n\t/**\n /* Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormCheckboxEvent>) => {\n\t\tevent.stopPropagation()\n\t\tconst value = propsValueToArray<string[]>(this.value);\n\t\tif (!Array.isArray(value)) return;\n\t\tif (event.detail.checked) {\n\t\t\tthis.value = [...value, event.detail.value]\n\t\t} else {\n\t\t\tthis.value = value.filter((val) => val !== event.detail.value) ?? []\n\t\t}\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormCheckboxGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t\tthis.value = propsValueToArray(this.value)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-checkbox').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = this.value.includes(element.value);\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}