@gov-design-system-ce/components 4.1.0-rc1 → 4.1.1

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 (897) 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 +2 -2
  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 +11 -9
  19. package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-accordion.cjs.entry.js +4 -5
  21. package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-attachments_3.cjs.entry.js +14 -15
  23. package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gov-backdrop.cjs.entry.js +7 -8
  25. package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +7 -8
  27. package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gov-button.cjs.entry.js +12 -13
  29. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gov-card.cjs.entry.js +7 -8
  31. package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gov-chip.cjs.entry.js +13 -14
  33. package/dist/cjs/gov-chip.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gov-container.cjs.entry.js +3 -11
  35. package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-control-group.cjs.entry.js +6 -7
  37. package/dist/cjs/gov-control-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gov-cookiebar.cjs.entry.js +3 -3
  39. package/dist/cjs/gov-dialog.cjs.entry.js +7 -8
  40. package/dist/cjs/gov-dialog.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gov-dropdown.cjs.entry.js +6 -6
  42. package/dist/cjs/gov-empty.cjs.entry.js +5 -6
  43. package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gov-error-code.cjs.entry.js +3 -3
  45. package/dist/cjs/gov-flex_4.cjs.entry.js +339 -0
  46. package/dist/cjs/gov-flex_4.cjs.entry.js.map +1 -0
  47. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +6 -8
  48. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +6 -7
  50. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gov-form-checkbox.cjs.entry.js +9 -10
  52. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gov-form-control.cjs.entry.js +7 -7
  54. package/dist/cjs/gov-form-file.cjs.entry.js +13 -10
  55. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gov-form-group.cjs.entry.js +5 -6
  57. package/dist/cjs/gov-form-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gov-form-input_2.cjs.entry.js +14 -13
  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 +13 -29
  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 +2 -2
  63. package/dist/cjs/gov-form-radio-group.cjs.entry.js +6 -7
  64. package/dist/cjs/gov-form-radio-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gov-form-radio.cjs.entry.js +8 -9
  66. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gov-form-search.cjs.entry.js +3 -3
  68. package/dist/cjs/gov-form-select.cjs.entry.js +10 -11
  69. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gov-form-switch.cjs.entry.js +9 -10
  71. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gov-grid-item.cjs.entry.js +3 -3
  73. package/dist/cjs/gov-grid.cjs.entry.js +3 -3
  74. package/dist/cjs/gov-infobar.cjs.entry.js +7 -8
  75. package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gov-layout-column.cjs.entry.js +3 -3
  77. package/dist/cjs/gov-layout.cjs.entry.js +3 -3
  78. package/dist/cjs/gov-lifecycle.cjs.entry.js +47 -0
  79. package/dist/cjs/gov-lifecycle.cjs.entry.js.map +1 -0
  80. package/dist/cjs/gov-link.cjs.entry.js +51 -0
  81. package/dist/cjs/gov-link.cjs.entry.js.map +1 -0
  82. package/dist/cjs/gov-loading.cjs.entry.js +5 -6
  83. package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gov-message.cjs.entry.js +6 -7
  85. package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gov-pagination.cjs.entry.js +8 -9
  87. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gov-spacer.cjs.entry.js +5 -6
  89. package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
  90. package/dist/cjs/gov-stepper-item.cjs.entry.js +8 -9
  91. package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gov-stepper.cjs.entry.js +7 -8
  93. package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
  94. package/dist/cjs/gov-tabs-item.cjs.entry.js +6 -6
  95. package/dist/cjs/gov-tabs.cjs.entry.js +7 -8
  96. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gov-tag.cjs.entry.js +11 -12
  98. package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gov-tile.cjs.entry.js +3 -3
  100. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gov-tiles.cjs.entry.js +3 -3
  102. package/dist/cjs/gov-toast.cjs.entry.js +10 -11
  103. package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
  104. package/dist/cjs/gov-tooltip-content.cjs.entry.js +5 -5
  105. package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
  106. package/dist/cjs/gov-tooltip.cjs.entry.js +12 -13
  107. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  108. package/dist/cjs/gov-wizard-item.cjs.entry.js +10 -11
  109. package/dist/cjs/gov-wizard-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/gov-wizard.cjs.entry.js +10 -11
  111. package/dist/cjs/gov-wizard.cjs.entry.js.map +1 -1
  112. package/dist/cjs/{win-587f4614.js → gov.log-bfea3151.js} +16 -4
  113. package/dist/cjs/gov.log-bfea3151.js.map +1 -0
  114. package/dist/cjs/{index-1af4880c.js → index-7ff4447c.js} +20 -12
  115. package/dist/cjs/index-7ff4447c.js.map +1 -0
  116. package/dist/cjs/loader.cjs.js +2 -2
  117. package/dist/cjs/{props-b8a955b2.js → props-d189860c.js} +2 -2
  118. package/dist/cjs/{props-b8a955b2.js.map → props-d189860c.js.map} +1 -1
  119. package/dist/cjs/{string.utils-2335838f.js → string.utils-b84c81cf.js} +2 -1
  120. package/dist/cjs/string.utils-b84c81cf.js.map +1 -0
  121. package/dist/cjs/{template-b070338f.js → template-39939fd6.js} +1 -20
  122. package/dist/cjs/template-39939fd6.js.map +1 -0
  123. package/dist/cjs/{wcag-31089f70.js → wcag-2927ff73.js} +5 -6
  124. package/dist/cjs/wcag-2927ff73.js.map +1 -0
  125. package/dist/collection/collection-manifest.json +3 -1
  126. package/dist/collection/components/gov-accordion/gov-accordion-item.js +8 -5
  127. package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
  128. package/dist/collection/components/gov-attachments/gov-attachments-item.css +6 -35
  129. package/dist/collection/components/gov-attachments/gov-attachments-item.js +1 -1
  130. package/dist/collection/components/gov-attachments/gov-attachments-item.js.map +1 -1
  131. package/dist/collection/components/gov-attachments/gov-attachments.js +1 -1
  132. package/dist/collection/components/gov-backdrop/gov-backdrop.js +1 -1
  133. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +1 -1
  134. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js.map +1 -1
  135. package/dist/collection/components/gov-button/button/gov-button.js +9 -9
  136. package/dist/collection/components/gov-button/button/gov-button.js.map +1 -1
  137. package/dist/collection/components/gov-button/dropdown/gov-dropdown.js +1 -1
  138. package/dist/collection/components/gov-card/gov-card.js +1 -1
  139. package/dist/collection/components/gov-card/gov-card.js.map +1 -1
  140. package/dist/collection/components/gov-chip/gov-chip.js +16 -16
  141. package/dist/collection/components/gov-chip/gov-chip.js.map +1 -1
  142. package/dist/collection/components/gov-container/gov-container.js +2 -38
  143. package/dist/collection/components/gov-container/gov-container.js.map +1 -1
  144. package/dist/collection/components/gov-control-group/gov-control-group.js +1 -1
  145. package/dist/collection/components/gov-cookiebar/gov-cookiebar.js +1 -1
  146. package/dist/collection/components/gov-dialog/gov-dialog.js +1 -1
  147. package/dist/collection/components/gov-dialog/gov-dialog.js.map +1 -1
  148. package/dist/collection/components/gov-empty/gov-empty.js +1 -1
  149. package/dist/collection/components/gov-error-code/gov-error-code.js +1 -1
  150. package/dist/collection/components/gov-flex/constants.js +4 -0
  151. package/dist/collection/components/gov-flex/constants.js.map +1 -0
  152. package/dist/collection/components/gov-flex/gov-flex.js +127 -0
  153. package/dist/collection/components/gov-flex/gov-flex.js.map +1 -0
  154. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +2 -21
  155. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  156. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +3 -3
  157. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +1 -1
  158. package/dist/collection/components/gov-form/control/gov-form-control.js +1 -1
  159. package/dist/collection/components/gov-form/file/gov-form-file.js +8 -23
  160. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  161. package/dist/collection/components/gov-form/group/gov-form-checkbox-group.js +1 -1
  162. package/dist/collection/components/gov-form/group/gov-form-group.css +7 -36
  163. package/dist/collection/components/gov-form/group/gov-form-group.js +1 -1
  164. package/dist/collection/components/gov-form/group/gov-form-radio-group.js +1 -1
  165. package/dist/collection/components/gov-form/input/constants.js +1 -0
  166. package/dist/collection/components/gov-form/input/constants.js.map +1 -1
  167. package/dist/collection/components/gov-form/input/gov-form-input.js +5 -3
  168. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  169. package/dist/collection/components/gov-form/label/gov-form-label.js +1 -1
  170. package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
  171. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +6 -30
  172. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  173. package/dist/collection/components/gov-form/password-power/gov-form-password-power.js +1 -1
  174. package/dist/collection/components/gov-form/radio/gov-form-radio.js +1 -1
  175. package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +1 -1
  176. package/dist/collection/components/gov-form/search/gov-form-search.js +1 -1
  177. package/dist/collection/components/gov-form/select/gov-form-select.js +4 -4
  178. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  179. package/dist/collection/components/gov-form/switch/constants.js +1 -1
  180. package/dist/collection/components/gov-form/switch/constants.js.map +1 -1
  181. package/dist/collection/components/gov-form/switch/gov-form-switch.js +4 -4
  182. package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
  183. package/dist/collection/components/gov-grid/gov-grid-item.js +1 -1
  184. package/dist/collection/components/gov-grid/gov-grid.js +1 -1
  185. package/dist/collection/components/gov-icon/constants.js +8 -7
  186. package/dist/collection/components/gov-icon/constants.js.map +1 -1
  187. package/dist/collection/components/gov-icon/gov-icon.js +41 -10
  188. package/dist/collection/components/gov-icon/gov-icon.js.map +1 -1
  189. package/dist/collection/components/gov-icon/list.js +43 -151
  190. package/dist/collection/components/gov-icon/list.js.map +1 -1
  191. package/dist/collection/components/gov-infobar/gov-infobar.js +2 -2
  192. package/dist/collection/components/gov-infobar/gov-infobar.js.map +1 -1
  193. package/dist/collection/components/gov-layout/gov-layout-column.js +1 -1
  194. package/dist/collection/components/gov-layout/gov-layout.js +1 -1
  195. package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js +39 -0
  196. package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js.map +1 -0
  197. package/dist/collection/components/gov-link/constants.js +7 -0
  198. package/dist/collection/components/gov-link/constants.js.map +1 -0
  199. package/dist/collection/components/gov-link/gov-link.js +129 -0
  200. package/dist/collection/components/gov-link/gov-link.js.map +1 -0
  201. package/dist/collection/components/gov-loading/loading/gov-loading.js +1 -1
  202. package/dist/collection/components/gov-loading/loading/gov-loading.js.map +1 -1
  203. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +1 -1
  204. package/dist/collection/components/gov-message/gov-message.js +1 -1
  205. package/dist/collection/components/gov-pagination/gov-pagination.js +2 -2
  206. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  207. package/dist/collection/components/gov-spacer/gov-spacer.js +1 -1
  208. package/dist/collection/components/gov-stepper/gov-stepper-item.js +1 -1
  209. package/dist/collection/components/gov-stepper/gov-stepper.js +1 -1
  210. package/dist/collection/components/gov-tabs/gov-tabs-item.js +1 -1
  211. package/dist/collection/components/gov-tabs/gov-tabs.js +1 -1
  212. package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
  213. package/dist/collection/components/gov-tag/gov-tag.js +9 -9
  214. package/dist/collection/components/gov-tag/gov-tag.js.map +1 -1
  215. package/dist/collection/components/gov-theme-switch/constants.js +9 -1
  216. package/dist/collection/components/gov-theme-switch/constants.js.map +1 -1
  217. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +134 -10
  218. package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
  219. package/dist/collection/components/gov-tile/container/gov-tiles.js +1 -1
  220. package/dist/collection/components/gov-tile/gov-tile.js +7 -7
  221. package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
  222. package/dist/collection/components/gov-toast/constants.js +1 -0
  223. package/dist/collection/components/gov-toast/constants.js.map +1 -1
  224. package/dist/collection/components/gov-toast/gov-toast.js +3 -4
  225. package/dist/collection/components/gov-toast/gov-toast.js.map +1 -1
  226. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +1 -1
  227. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js.map +1 -1
  228. package/dist/collection/components/gov-tooltip/gov-tooltip.js +2 -2
  229. package/dist/collection/components/gov-wizard/gov-wizard-item.js +3 -3
  230. package/dist/collection/components/gov-wizard/gov-wizard-item.js.map +1 -1
  231. package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
  232. package/dist/collection/core/constants/colors.js +6 -8
  233. package/dist/collection/core/constants/colors.js.map +1 -1
  234. package/dist/collection/data/color-definitions.js +359 -172
  235. package/dist/collection/helpers/Dom/document.js +46 -0
  236. package/dist/collection/helpers/Dom/document.js.map +1 -0
  237. package/dist/collection/helpers/Dom/template.js +0 -18
  238. package/dist/collection/helpers/Dom/template.js.map +1 -1
  239. package/dist/collection/helpers/Dom/template.types.js.map +1 -1
  240. package/dist/collection/pages/Accordion.js +30 -30
  241. package/dist/collection/pages/Accordion.js.map +1 -1
  242. package/dist/collection/pages/Button.js +383 -383
  243. package/dist/collection/pages/Button.js.map +1 -1
  244. package/dist/collection/pages/Chip.js +53 -53
  245. package/dist/collection/pages/Chip.js.map +1 -1
  246. package/dist/collection/pages/ControlGroup.js +18 -18
  247. package/dist/collection/pages/ControlGroup.js.map +1 -1
  248. package/dist/collection/pages/Dialog.js +1 -1
  249. package/dist/collection/pages/Dialog.js.map +1 -1
  250. package/dist/collection/pages/Forms.js +206 -196
  251. package/dist/collection/pages/Forms.js.map +1 -1
  252. package/dist/collection/pages/Grid.js +1 -1
  253. package/dist/collection/pages/Grid.js.map +1 -1
  254. package/dist/collection/pages/Icon.js +10 -0
  255. package/dist/collection/pages/Icon.js.map +1 -1
  256. package/dist/collection/pages/Infobar.js +16 -16
  257. package/dist/collection/pages/Infobar.js.map +1 -1
  258. package/dist/collection/pages/Message.js +20 -20
  259. package/dist/collection/pages/Message.js.map +1 -1
  260. package/dist/collection/pages/Spacer.js +1 -1
  261. package/dist/collection/pages/Spacer.js.map +1 -1
  262. package/dist/collection/pages/Stepper.js +15 -15
  263. package/dist/collection/pages/Stepper.js.map +1 -1
  264. package/dist/collection/pages/Tag.js +135 -160
  265. package/dist/collection/pages/Tag.js.map +1 -1
  266. package/dist/collection/pages/ToastMessage.js +4 -4
  267. package/dist/collection/pages/ToastMessage.js.map +1 -1
  268. package/dist/collection/pages/ToastMessageCountdown.js +4 -4
  269. package/dist/collection/pages/ToastMessageCountdown.js.map +1 -1
  270. package/dist/collection/pages/Tooltip.js +2 -2
  271. package/dist/collection/pages/Tooltip.js.map +1 -1
  272. package/dist/collection/pages/Typography.js +20 -0
  273. package/dist/collection/pages/Typography.js.map +1 -1
  274. package/dist/collection/pages/Wizard.js +2 -2
  275. package/dist/collection/pages/Wizard.js.map +1 -1
  276. package/dist/collection/utils/string.utils.js +1 -1
  277. package/dist/collection/utils/string.utils.js.map +1 -1
  278. package/dist/components/gov-accordion-item.js +1 -1
  279. package/dist/components/gov-accordion-item.js.map +1 -1
  280. package/dist/components/gov-accordion.js +1 -1
  281. package/dist/components/gov-attachments-item.js +1 -1
  282. package/dist/components/gov-attachments.js +1 -1
  283. package/dist/components/gov-backdrop.js +1 -1
  284. package/dist/components/gov-breadcrumbs.js +1 -1
  285. package/dist/components/gov-breadcrumbs.js.map +1 -1
  286. package/dist/components/gov-button.js +1 -1
  287. package/dist/components/gov-card.js +1 -1
  288. package/dist/components/gov-card.js.map +1 -1
  289. package/dist/components/gov-chip.js +1 -1
  290. package/dist/components/gov-container.js +1 -1
  291. package/dist/components/gov-container.js.map +1 -1
  292. package/dist/components/gov-control-group.js +1 -1
  293. package/dist/components/gov-cookiebar.js +1 -1
  294. package/dist/components/gov-dialog.js +1 -1
  295. package/dist/components/gov-dialog.js.map +1 -1
  296. package/dist/components/gov-dropdown.js +1 -1
  297. package/dist/components/gov-dropdown.js.map +1 -1
  298. package/dist/components/gov-empty.js +1 -1
  299. package/dist/components/gov-error-code.js +1 -1
  300. package/dist/components/{gov-app.d.ts → gov-flex.d.ts} +4 -4
  301. package/dist/components/gov-flex.js +2 -0
  302. package/dist/components/gov-flex.js.map +1 -0
  303. package/dist/components/gov-form-autocomplete.js +1 -1
  304. package/dist/components/gov-form-checkbox-group.js +1 -1
  305. package/dist/components/gov-form-checkbox-group.js.map +1 -1
  306. package/dist/components/gov-form-checkbox.js +1 -1
  307. package/dist/components/gov-form-checkbox.js.map +1 -1
  308. package/dist/components/gov-form-control.js +1 -1
  309. package/dist/components/gov-form-file.js +1 -1
  310. package/dist/components/gov-form-file.js.map +1 -1
  311. package/dist/components/gov-form-group.js +1 -1
  312. package/dist/components/gov-form-input.js +1 -1
  313. package/dist/components/gov-form-label.js +1 -1
  314. package/dist/components/gov-form-label.js.map +1 -1
  315. package/dist/components/gov-form-message.js +1 -1
  316. package/dist/components/gov-form-multi-select.js +1 -1
  317. package/dist/components/gov-form-multi-select.js.map +1 -1
  318. package/dist/components/gov-form-password-power.js +1 -1
  319. package/dist/components/gov-form-radio-group.js +1 -1
  320. package/dist/components/gov-form-radio-group.js.map +1 -1
  321. package/dist/components/gov-form-radio.js +1 -1
  322. package/dist/components/gov-form-radio.js.map +1 -1
  323. package/dist/components/gov-form-search.js +1 -1
  324. package/dist/components/gov-form-select.js +1 -1
  325. package/dist/components/gov-form-switch.js +1 -1
  326. package/dist/components/gov-form-switch.js.map +1 -1
  327. package/dist/components/gov-grid-item.js +1 -1
  328. package/dist/components/gov-grid.js +1 -1
  329. package/dist/components/gov-icon.js +1 -1
  330. package/dist/components/gov-infobar.js +1 -1
  331. package/dist/components/gov-infobar.js.map +1 -1
  332. package/dist/components/gov-layout-column.js +1 -1
  333. package/dist/components/gov-layout.js +1 -1
  334. package/dist/components/gov-lifecycle.d.ts +11 -0
  335. package/dist/components/gov-lifecycle.js +2 -0
  336. package/dist/components/gov-lifecycle.js.map +1 -0
  337. package/dist/components/gov-link.d.ts +11 -0
  338. package/dist/components/gov-link.js +2 -0
  339. package/dist/components/gov-link.js.map +1 -0
  340. package/dist/components/gov-loading.js +1 -1
  341. package/dist/components/gov-loading.js.map +1 -1
  342. package/dist/components/gov-message.js +1 -1
  343. package/dist/components/gov-pagination.js +1 -1
  344. package/dist/components/gov-pagination.js.map +1 -1
  345. package/dist/components/gov-skeleton.js +1 -1
  346. package/dist/components/gov-spacer.js +1 -1
  347. package/dist/components/gov-stepper-item.js +1 -1
  348. package/dist/components/gov-stepper.js +1 -1
  349. package/dist/components/gov-tabs-item.js +1 -1
  350. package/dist/components/gov-tabs.js +1 -1
  351. package/dist/components/gov-tabs.js.map +1 -1
  352. package/dist/components/gov-tag.js +1 -1
  353. package/dist/components/gov-tag.js.map +1 -1
  354. package/dist/components/gov-theme-switch.js +1 -1
  355. package/dist/components/gov-theme-switch.js.map +1 -1
  356. package/dist/components/gov-tile.js +1 -1
  357. package/dist/components/gov-tile.js.map +1 -1
  358. package/dist/components/gov-tiles.js +1 -1
  359. package/dist/components/gov-toast.js +1 -1
  360. package/dist/components/gov-toast.js.map +1 -1
  361. package/dist/components/gov-tooltip-content.js +1 -1
  362. package/dist/components/gov-tooltip-content.js.map +1 -1
  363. package/dist/components/gov-tooltip.js +1 -1
  364. package/dist/components/gov-wizard-item.js +1 -1
  365. package/dist/components/gov-wizard-item.js.map +1 -1
  366. package/dist/components/gov-wizard.js +1 -1
  367. package/dist/components/index.js +1 -1
  368. package/dist/components/p-0b3574c2.js +2 -0
  369. package/dist/components/p-1eb9c053.js +2 -0
  370. package/dist/components/p-1eb9c053.js.map +1 -0
  371. package/dist/components/p-283b66c3.js +2 -0
  372. package/dist/components/p-283b66c3.js.map +1 -0
  373. package/dist/components/p-318d89bd.js +2 -0
  374. package/dist/components/{p-1366ed8d.js.map → p-318d89bd.js.map} +1 -1
  375. package/dist/components/p-3d7a21b5.js +2 -0
  376. package/dist/components/p-3d7a21b5.js.map +1 -0
  377. package/dist/components/{p-ae3dada7.js → p-42200001.js} +3 -3
  378. package/dist/components/p-42200001.js.map +1 -0
  379. package/dist/components/p-44a8a668.js +2 -0
  380. package/dist/components/p-46c567fd.js +2 -0
  381. package/dist/components/p-46c567fd.js.map +1 -0
  382. package/dist/components/p-5aad3497.js +2 -0
  383. package/dist/components/p-5aad3497.js.map +1 -0
  384. package/dist/components/p-68a1aaec.js +2 -0
  385. package/dist/components/p-68a1aaec.js.map +1 -0
  386. package/dist/components/p-73938936.js +2 -0
  387. package/dist/components/p-76d604c6.js +2 -0
  388. package/dist/components/p-7be2301a.js +2 -0
  389. package/dist/components/p-7f3becc5.js +2 -0
  390. package/dist/components/p-80dad64b.js +2 -0
  391. package/dist/components/{p-9a93146e.js.map → p-80dad64b.js.map} +1 -1
  392. package/dist/components/{p-7f8a24a7.js → p-860520b0.js} +2 -2
  393. package/dist/components/p-880743a5.js.map +1 -1
  394. package/dist/components/p-9908b9f0.js +2 -0
  395. package/dist/components/p-9908b9f0.js.map +1 -0
  396. package/dist/components/{p-59737af9.js → p-a521c59a.js} +2 -2
  397. package/dist/components/p-a6b7a6c2.js +2 -0
  398. package/dist/components/p-a6be4769.js +2 -0
  399. package/dist/components/p-a6be4769.js.map +1 -0
  400. package/dist/components/{p-6e19816b.js → p-ac359044.js} +2 -2
  401. package/dist/components/p-b95ebe8c.js +2 -0
  402. package/dist/components/{p-dbae2385.js.map → p-b95ebe8c.js.map} +1 -1
  403. package/dist/components/{p-0c93dd39.js → p-c61a5830.js} +2 -2
  404. package/dist/components/{p-95d41a3b.js → p-cd6c2938.js} +2 -2
  405. package/dist/components/p-cd6c2938.js.map +1 -0
  406. package/dist/components/p-e8ec030e.js +2 -0
  407. package/dist/components/p-e8ec030e.js.map +1 -0
  408. package/dist/components/p-ea7fdd2e.js +2 -0
  409. package/dist/components/p-ea7fdd2e.js.map +1 -0
  410. package/dist/core/core.css +8256 -7340
  411. package/dist/core/core.esm.js +1 -1
  412. package/dist/core/core.esm.js.map +1 -1
  413. package/dist/core/p-00d153bf.entry.js +2 -0
  414. package/dist/core/p-019e967c.entry.js +2 -0
  415. package/dist/core/{p-eeb9cb73.entry.js.map → p-019e967c.entry.js.map} +1 -1
  416. package/dist/core/p-04fa0ab5.entry.js +2 -0
  417. package/dist/core/{p-db940455.entry.js.map → p-04fa0ab5.entry.js.map} +1 -1
  418. package/dist/core/p-0b3574c2.js +2 -0
  419. package/dist/core/p-0be19b89.entry.js +2 -0
  420. package/dist/core/p-0fdd8929.entry.js +2 -0
  421. package/dist/core/{p-7cf554e6.entry.js.map → p-0fdd8929.entry.js.map} +1 -1
  422. package/dist/core/p-1200a32d.entry.js +2 -0
  423. package/dist/core/p-1200a32d.entry.js.map +1 -0
  424. package/dist/core/p-22fa411d.entry.js +2 -0
  425. package/dist/core/p-2739fa61.entry.js +2 -0
  426. package/dist/core/p-2739fa61.entry.js.map +1 -0
  427. package/dist/core/p-29ac15d2.js +2 -0
  428. package/dist/core/{p-28a7d3f7.js.map → p-29ac15d2.js.map} +1 -1
  429. package/dist/core/p-30eaeeec.entry.js +2 -0
  430. package/dist/core/p-3bbb77a0.js +2 -0
  431. package/dist/core/p-3cb36bae.entry.js +2 -0
  432. package/dist/core/p-3cb36bae.entry.js.map +1 -0
  433. package/dist/core/p-3d6edb09.entry.js +2 -0
  434. package/dist/core/p-3d6edb09.entry.js.map +1 -0
  435. package/dist/core/p-3f6a2d20.entry.js +2 -0
  436. package/dist/core/p-3f6a2d20.entry.js.map +1 -0
  437. package/dist/core/p-41c6b262.entry.js +2 -0
  438. package/dist/core/{p-e4978aab.entry.js.map → p-41c6b262.entry.js.map} +1 -1
  439. package/dist/core/p-432c3875.entry.js +2 -0
  440. package/dist/core/p-432c3875.entry.js.map +1 -0
  441. package/dist/core/p-439b66a5.entry.js +2 -0
  442. package/dist/core/{p-a53a277a.entry.js.map → p-439b66a5.entry.js.map} +1 -1
  443. package/dist/core/p-4b90fbc4.entry.js +2 -0
  444. package/dist/core/{p-17015e36.entry.js.map → p-4b90fbc4.entry.js.map} +1 -1
  445. package/dist/core/p-4c5f6299.entry.js +2 -0
  446. package/dist/core/p-4c5f6299.entry.js.map +1 -0
  447. package/dist/core/p-535316b4.entry.js +2 -0
  448. package/dist/core/p-5396935e.entry.js +2 -0
  449. package/dist/core/p-561718cd.entry.js +2 -0
  450. package/dist/core/{p-dc3fab19.entry.js.map → p-561718cd.entry.js.map} +1 -1
  451. package/dist/core/p-56dc370d.entry.js +2 -0
  452. package/dist/core/{p-6d772ff9.entry.js.map → p-56dc370d.entry.js.map} +1 -1
  453. package/dist/core/{p-42d9924c.js → p-56efd4a2.js} +2 -2
  454. package/dist/core/p-5aad3497.js +2 -0
  455. package/dist/core/p-5aad3497.js.map +1 -0
  456. package/dist/core/p-5b2131c1.entry.js +2 -0
  457. package/dist/core/p-5c9e6275.entry.js +2 -0
  458. package/dist/core/{p-f456bd71.entry.js.map → p-5c9e6275.entry.js.map} +1 -1
  459. package/dist/core/{p-60658ae9.js → p-5f1000da.js} +2 -2
  460. package/dist/core/p-65e67731.entry.js +2 -0
  461. package/dist/core/p-65e67731.entry.js.map +1 -0
  462. package/dist/core/p-6bb37fe2.entry.js +2 -0
  463. package/dist/core/{p-f1be099b.entry.js.map → p-6bb37fe2.entry.js.map} +1 -1
  464. package/dist/core/p-6e457b3d.entry.js +2 -0
  465. package/dist/core/{p-5dcbfca3.entry.js.map → p-6e457b3d.entry.js.map} +1 -1
  466. package/dist/core/p-72130a8f.entry.js +2 -0
  467. package/dist/core/p-72130a8f.entry.js.map +1 -0
  468. package/dist/core/p-76d604c6.js +2 -0
  469. package/dist/core/{p-a21dc94f.js.map → p-76d604c6.js.map} +1 -1
  470. package/dist/core/p-7b7e502b.entry.js +2 -0
  471. package/dist/core/p-7ba4daf4.js +2 -0
  472. package/dist/core/p-7e04730a.entry.js +2 -0
  473. package/dist/core/{p-182189d2.entry.js.map → p-7e04730a.entry.js.map} +1 -1
  474. package/dist/core/p-7f3becc5.js +2 -0
  475. package/dist/core/{p-a1e95a5f.js → p-8506b611.js} +3 -3
  476. package/dist/core/p-8506b611.js.map +1 -0
  477. package/dist/core/{p-e9a6cd71.js → p-860520b0.js} +2 -2
  478. package/dist/core/p-880743a5.js.map +1 -1
  479. package/dist/core/p-97a9725d.entry.js +2 -0
  480. package/dist/core/{p-9b41ac88.entry.js.map → p-97a9725d.entry.js.map} +1 -1
  481. package/dist/core/p-9c2c5447.entry.js +2 -0
  482. package/dist/core/p-9c2c5447.entry.js.map +1 -0
  483. package/dist/core/p-9fe35463.entry.js +2 -0
  484. package/dist/core/p-9fe35463.entry.js.map +1 -0
  485. package/dist/core/p-a521c59a.js +2 -0
  486. package/dist/core/p-b7cfe254.entry.js +2 -0
  487. package/dist/core/{p-963f9fcd.entry.js.map → p-b7cfe254.entry.js.map} +1 -1
  488. package/dist/core/p-b923a8d9.entry.js +2 -0
  489. package/dist/core/p-b923a8d9.entry.js.map +1 -0
  490. package/dist/core/p-bc966c46.entry.js +2 -0
  491. package/dist/core/{p-83039b10.entry.js.map → p-bc966c46.entry.js.map} +1 -1
  492. package/dist/core/p-bcb45a18.entry.js +2 -0
  493. package/dist/core/{p-2ed3afef.entry.js.map → p-bcb45a18.entry.js.map} +1 -1
  494. package/dist/core/p-bdc51179.entry.js +2 -0
  495. package/dist/core/p-bdc51179.entry.js.map +1 -0
  496. package/dist/core/p-c054f955.entry.js +2 -0
  497. package/dist/core/{p-663d3db2.entry.js.map → p-c054f955.entry.js.map} +1 -1
  498. package/dist/core/{p-c990d746.js → p-c61a5830.js} +2 -2
  499. package/dist/core/p-c916d0d2.entry.js +2 -0
  500. package/dist/core/p-c916d0d2.entry.js.map +1 -0
  501. package/dist/core/p-ccec8019.entry.js +2 -0
  502. package/dist/core/p-ccec8019.entry.js.map +1 -0
  503. package/dist/core/p-cd2d335d.entry.js +2 -0
  504. package/dist/core/{p-b3acb156.entry.js.map → p-cd2d335d.entry.js.map} +1 -1
  505. package/dist/core/{p-95d41a3b.js → p-cd6c2938.js} +2 -2
  506. package/dist/core/p-cd6c2938.js.map +1 -0
  507. package/dist/core/p-d65cef62.entry.js +2 -0
  508. package/dist/core/{p-aa8adc45.entry.js.map → p-d65cef62.entry.js.map} +1 -1
  509. package/dist/core/p-d836fcde.entry.js +2 -0
  510. package/dist/core/{p-b55fc943.entry.js.map → p-d836fcde.entry.js.map} +1 -1
  511. package/dist/core/p-da1db6fd.js +2 -0
  512. package/dist/core/p-da1db6fd.js.map +1 -0
  513. package/dist/core/p-da7f1e11.entry.js +2 -0
  514. package/dist/core/p-da7f1e11.entry.js.map +1 -0
  515. package/dist/core/p-dea64896.entry.js +2 -0
  516. package/dist/core/{p-ab9ae7ba.entry.js.map → p-dea64896.entry.js.map} +1 -1
  517. package/dist/core/{p-45a30859.js → p-e0e2e9c1.js} +2 -2
  518. package/dist/core/p-e44a0fee.js +2 -0
  519. package/dist/core/p-e61aa53b.entry.js +2 -0
  520. package/dist/core/{p-d2351924.entry.js.map → p-e61aa53b.entry.js.map} +1 -1
  521. package/dist/core/p-e834ee73.entry.js +2 -0
  522. package/dist/core/p-e834ee73.entry.js.map +1 -0
  523. package/dist/core/p-e8ec030e.js +2 -0
  524. package/dist/core/p-e8ec030e.js.map +1 -0
  525. package/dist/core/p-ea44d447.entry.js +2 -0
  526. package/dist/core/p-ea44d447.entry.js.map +1 -0
  527. package/dist/core/p-ea7fdd2e.js +2 -0
  528. package/dist/core/p-ea7fdd2e.js.map +1 -0
  529. package/dist/core/p-ed833334.entry.js +2 -0
  530. package/dist/core/p-ed833334.entry.js.map +1 -0
  531. package/dist/core/p-ed8fc183.entry.js +2 -0
  532. package/dist/core/p-ed8fc183.entry.js.map +1 -0
  533. package/dist/core/p-f4bcf817.entry.js +2 -0
  534. package/dist/core/p-f4bcf817.entry.js.map +1 -0
  535. package/dist/core/p-f4dac942.entry.js +2 -0
  536. package/dist/core/{p-9ff8f059.entry.js.map → p-f4dac942.entry.js.map} +1 -1
  537. package/dist/core/p-f7a4da9d.entry.js +2 -0
  538. package/dist/core/{p-a5489b0e.entry.js.map → p-f7a4da9d.entry.js.map} +1 -1
  539. package/dist/esm/{colors-02c1ea96.js → colors-4cf64720.js} +7 -9
  540. package/dist/esm/colors-4cf64720.js.map +1 -0
  541. package/dist/esm/{constants-6d727976.js → constants-085f9943.js} +2 -2
  542. package/dist/esm/{constants-6d727976.js.map → constants-085f9943.js.map} +1 -1
  543. package/dist/esm/{constants-990365f1.js → constants-372455eb.js} +3 -3
  544. package/dist/esm/{constants-990365f1.js.map → constants-372455eb.js.map} +1 -1
  545. package/dist/esm/{constants-d6418889.js → constants-3ab65c42.js} +2 -2
  546. package/dist/esm/{constants-d6418889.js.map → constants-3ab65c42.js.map} +1 -1
  547. package/dist/esm/{constants-48177684.js → constants-3b914c35.js} +3 -3
  548. package/dist/esm/{constants-48177684.js.map → constants-3b914c35.js.map} +1 -1
  549. package/dist/esm/{constants-d42abf99.js → constants-43f10674.js} +2 -2
  550. package/dist/esm/{constants-d42abf99.js.map → constants-43f10674.js.map} +1 -1
  551. package/dist/esm/{constants-501eb756.js → constants-4da2b3c0.js} +2 -2
  552. package/dist/esm/{constants-501eb756.js.map → constants-4da2b3c0.js.map} +1 -1
  553. package/dist/esm/{constants-c716fa44.js → constants-51f51588.js} +3 -3
  554. package/dist/esm/{constants-c716fa44.js.map → constants-51f51588.js.map} +1 -1
  555. package/dist/esm/{constants-f4e4ede6.js → constants-8429b68f.js} +3 -3
  556. package/dist/esm/{constants-f4e4ede6.js.map → constants-8429b68f.js.map} +1 -1
  557. package/dist/esm/{constants-47e20524.js → constants-9177ea52.js} +3 -3
  558. package/dist/esm/{constants-47e20524.js.map → constants-9177ea52.js.map} +1 -1
  559. package/dist/esm/{constants-7307438d.js → constants-bc210662.js} +3 -3
  560. package/dist/esm/{constants-7307438d.js.map → constants-bc210662.js.map} +1 -1
  561. package/dist/esm/core.js +3 -3
  562. package/dist/esm/{form-472e078d.js → form-713f26fd.js} +7 -6
  563. package/dist/esm/form-713f26fd.js.map +1 -0
  564. package/dist/esm/gov-accordion-item.entry.js +13 -11
  565. package/dist/esm/gov-accordion-item.entry.js.map +1 -1
  566. package/dist/esm/gov-accordion.entry.js +6 -7
  567. package/dist/esm/gov-accordion.entry.js.map +1 -1
  568. package/dist/esm/gov-attachments_3.entry.js +13 -14
  569. package/dist/esm/gov-attachments_3.entry.js.map +1 -1
  570. package/dist/esm/gov-backdrop.entry.js +7 -8
  571. package/dist/esm/gov-backdrop.entry.js.map +1 -1
  572. package/dist/esm/gov-breadcrumbs.entry.js +7 -8
  573. package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
  574. package/dist/esm/gov-button.entry.js +12 -13
  575. package/dist/esm/gov-button.entry.js.map +1 -1
  576. package/dist/esm/gov-card.entry.js +7 -8
  577. package/dist/esm/gov-card.entry.js.map +1 -1
  578. package/dist/esm/gov-chip.entry.js +14 -15
  579. package/dist/esm/gov-chip.entry.js.map +1 -1
  580. package/dist/esm/gov-container.entry.js +3 -11
  581. package/dist/esm/gov-container.entry.js.map +1 -1
  582. package/dist/esm/gov-control-group.entry.js +7 -8
  583. package/dist/esm/gov-control-group.entry.js.map +1 -1
  584. package/dist/esm/gov-cookiebar.entry.js +3 -3
  585. package/dist/esm/gov-dialog.entry.js +7 -8
  586. package/dist/esm/gov-dialog.entry.js.map +1 -1
  587. package/dist/esm/gov-dropdown.entry.js +7 -7
  588. package/dist/esm/gov-empty.entry.js +7 -8
  589. package/dist/esm/gov-empty.entry.js.map +1 -1
  590. package/dist/esm/gov-error-code.entry.js +3 -3
  591. package/dist/esm/gov-flex_4.entry.js +332 -0
  592. package/dist/esm/gov-flex_4.entry.js.map +1 -0
  593. package/dist/esm/gov-form-autocomplete.entry.js +8 -10
  594. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  595. package/dist/esm/gov-form-checkbox-group.entry.js +8 -9
  596. package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
  597. package/dist/esm/gov-form-checkbox.entry.js +12 -13
  598. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  599. package/dist/esm/gov-form-control.entry.js +10 -10
  600. package/dist/esm/gov-form-file.entry.js +16 -13
  601. package/dist/esm/gov-form-file.entry.js.map +1 -1
  602. package/dist/esm/gov-form-group.entry.js +7 -8
  603. package/dist/esm/gov-form-group.entry.js.map +1 -1
  604. package/dist/esm/gov-form-input_2.entry.js +17 -16
  605. package/dist/esm/gov-form-input_2.entry.js.map +1 -1
  606. package/dist/esm/gov-form-multi-select.entry.js +16 -32
  607. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  608. package/dist/esm/gov-form-password-power.entry.js +2 -2
  609. package/dist/esm/gov-form-radio-group.entry.js +8 -9
  610. package/dist/esm/gov-form-radio-group.entry.js.map +1 -1
  611. package/dist/esm/gov-form-radio.entry.js +11 -12
  612. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  613. package/dist/esm/gov-form-search.entry.js +4 -4
  614. package/dist/esm/gov-form-select.entry.js +13 -14
  615. package/dist/esm/gov-form-select.entry.js.map +1 -1
  616. package/dist/esm/gov-form-switch.entry.js +12 -13
  617. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  618. package/dist/esm/gov-grid-item.entry.js +3 -3
  619. package/dist/esm/gov-grid.entry.js +3 -3
  620. package/dist/esm/gov-infobar.entry.js +8 -9
  621. package/dist/esm/gov-infobar.entry.js.map +1 -1
  622. package/dist/esm/gov-layout-column.entry.js +3 -3
  623. package/dist/esm/gov-layout.entry.js +3 -3
  624. package/dist/esm/gov-lifecycle.entry.js +43 -0
  625. package/dist/esm/gov-lifecycle.entry.js.map +1 -0
  626. package/dist/esm/gov-link.entry.js +47 -0
  627. package/dist/esm/gov-link.entry.js.map +1 -0
  628. package/dist/esm/gov-loading.entry.js +6 -7
  629. package/dist/esm/gov-loading.entry.js.map +1 -1
  630. package/dist/esm/gov-message.entry.js +7 -8
  631. package/dist/esm/gov-message.entry.js.map +1 -1
  632. package/dist/esm/gov-pagination.entry.js +9 -10
  633. package/dist/esm/gov-pagination.entry.js.map +1 -1
  634. package/dist/esm/gov-spacer.entry.js +6 -7
  635. package/dist/esm/gov-spacer.entry.js.map +1 -1
  636. package/dist/esm/gov-stepper-item.entry.js +9 -10
  637. package/dist/esm/gov-stepper-item.entry.js.map +1 -1
  638. package/dist/esm/gov-stepper.entry.js +8 -9
  639. package/dist/esm/gov-stepper.entry.js.map +1 -1
  640. package/dist/esm/gov-tabs-item.entry.js +7 -7
  641. package/dist/esm/gov-tabs.entry.js +8 -9
  642. package/dist/esm/gov-tabs.entry.js.map +1 -1
  643. package/dist/esm/gov-tag.entry.js +12 -13
  644. package/dist/esm/gov-tag.entry.js.map +1 -1
  645. package/dist/esm/gov-tile.entry.js +4 -4
  646. package/dist/esm/gov-tile.entry.js.map +1 -1
  647. package/dist/esm/gov-tiles.entry.js +3 -3
  648. package/dist/esm/gov-toast.entry.js +11 -12
  649. package/dist/esm/gov-toast.entry.js.map +1 -1
  650. package/dist/esm/gov-tooltip-content.entry.js +6 -6
  651. package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
  652. package/dist/esm/gov-tooltip.entry.js +10 -11
  653. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  654. package/dist/esm/gov-wizard-item.entry.js +11 -12
  655. package/dist/esm/gov-wizard-item.entry.js.map +1 -1
  656. package/dist/esm/gov-wizard.entry.js +10 -11
  657. package/dist/esm/gov-wizard.entry.js.map +1 -1
  658. package/dist/esm/{win-cec370ad.js → gov.log-6b64cda6.js} +17 -3
  659. package/dist/esm/gov.log-6b64cda6.js.map +1 -0
  660. package/dist/esm/{index-d8b4eb6c.js → index-c263e031.js} +20 -12
  661. package/dist/esm/index-c263e031.js.map +1 -0
  662. package/dist/esm/loader.js +3 -3
  663. package/dist/esm/{props-c82e1abf.js → props-9d3c7ac1.js} +2 -2
  664. package/dist/esm/{props-c82e1abf.js.map → props-9d3c7ac1.js.map} +1 -1
  665. package/dist/esm/{string.utils-5ce3f551.js → string.utils-1da8f8fb.js} +2 -2
  666. package/dist/esm/string.utils-1da8f8fb.js.map +1 -0
  667. package/dist/esm/{template-3d84d705.js → template-7ecee4d1.js} +2 -20
  668. package/dist/esm/template-7ecee4d1.js.map +1 -0
  669. package/dist/esm/{utils-2b4ef320.js → utils-e10e994d.js} +2 -2
  670. package/dist/esm/{utils-2b4ef320.js.map → utils-e10e994d.js.map} +1 -1
  671. package/dist/esm/{wcag-fa5ce56c.js → wcag-253a4421.js} +3 -4
  672. package/dist/esm/wcag-253a4421.js.map +1 -0
  673. package/dist/hydrate/index.js +431 -10072
  674. package/dist/hydrate/index.mjs +431 -10072
  675. package/dist/stencil.config.js +9 -6
  676. package/dist/stencil.config.js.map +1 -1
  677. package/dist/types/components/gov-accordion/gov-accordion-item.d.ts +1 -0
  678. package/dist/types/components/gov-button/button/gov-button.d.ts +1 -1
  679. package/dist/types/components/gov-chip/gov-chip.d.ts +3 -3
  680. package/dist/types/components/gov-container/gov-container.d.ts +0 -6
  681. package/dist/types/components/gov-flex/constants.d.ts +3 -0
  682. package/dist/types/components/gov-flex/gov-flex.d.ts +33 -0
  683. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +0 -4
  684. package/dist/types/components/gov-form/file/gov-form-file.d.ts +1 -4
  685. package/dist/types/components/gov-form/input/constants.d.ts +1 -0
  686. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +0 -2
  687. package/dist/types/components/gov-form/switch/constants.d.ts +1 -1
  688. package/dist/types/components/gov-icon/constants.d.ts +4 -1
  689. package/dist/types/components/gov-icon/gov-icon.d.ts +8 -3
  690. package/dist/types/components/gov-icon/list.d.ts +1 -1
  691. package/dist/types/components/gov-lifecycle-tester/gov-lifecycle-tester.d.ts +14 -0
  692. package/dist/types/components/gov-link/constants.d.ts +7 -0
  693. package/dist/types/components/gov-link/gov-link.d.ts +30 -0
  694. package/dist/types/components/gov-tag/gov-tag.d.ts +2 -2
  695. package/dist/types/components/gov-theme-switch/constants.d.ts +9 -0
  696. package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +26 -2
  697. package/dist/types/components/gov-tile/gov-tile.d.ts +1 -1
  698. package/dist/types/components/gov-toast/constants.d.ts +1 -0
  699. package/dist/types/components.d.ts +191 -50
  700. package/dist/types/core/constants/colors.d.ts +6 -8
  701. package/dist/types/helpers/Dom/document.d.ts +4 -0
  702. package/dist/types/helpers/Dom/template.d.ts +0 -1
  703. package/dist/types/helpers/Dom/template.types.d.ts +0 -1
  704. package/dist/types/utils/string.utils.d.ts +1 -0
  705. package/package.json +4 -4
  706. package/dist/cjs/colors-976f6dff.js.map +0 -1
  707. package/dist/cjs/form-c1aec07a.js.map +0 -1
  708. package/dist/cjs/gov-app_2.cjs.entry.js +0 -9891
  709. package/dist/cjs/gov-app_2.cjs.entry.js.map +0 -1
  710. package/dist/cjs/gov-form-label.cjs.entry.js +0 -27
  711. package/dist/cjs/gov-form-label.cjs.entry.js.map +0 -1
  712. package/dist/cjs/gov-icon.cjs.entry.js +0 -161
  713. package/dist/cjs/gov-icon.cjs.entry.js.map +0 -1
  714. package/dist/cjs/gov.log-1e8bab6e.js +0 -21
  715. package/dist/cjs/gov.log-1e8bab6e.js.map +0 -1
  716. package/dist/cjs/index-1af4880c.js.map +0 -1
  717. package/dist/cjs/string.utils-2335838f.js.map +0 -1
  718. package/dist/cjs/template-b070338f.js.map +0 -1
  719. package/dist/cjs/wcag-31089f70.js.map +0 -1
  720. package/dist/cjs/win-587f4614.js.map +0 -1
  721. package/dist/collection/components/gov-app/gov-app.css +0 -68
  722. package/dist/collection/components/gov-app/gov-app.js +0 -93
  723. package/dist/collection/components/gov-app/gov-app.js.map +0 -1
  724. package/dist/components/gov-app.js +0 -2
  725. package/dist/components/gov-app.js.map +0 -1
  726. package/dist/components/p-0075138f.js +0 -2
  727. package/dist/components/p-0075138f.js.map +0 -1
  728. package/dist/components/p-08621bdf.js +0 -2
  729. package/dist/components/p-1366ed8d.js +0 -2
  730. package/dist/components/p-19c681a3.js +0 -2
  731. package/dist/components/p-1a0b3b4f.js +0 -2
  732. package/dist/components/p-1a0b3b4f.js.map +0 -1
  733. package/dist/components/p-255d0471.js +0 -2
  734. package/dist/components/p-255d0471.js.map +0 -1
  735. package/dist/components/p-565120d5.js +0 -2
  736. package/dist/components/p-736e4917.js +0 -2
  737. package/dist/components/p-7501abe8.js +0 -2
  738. package/dist/components/p-7501abe8.js.map +0 -1
  739. package/dist/components/p-778e3fff.js +0 -2
  740. package/dist/components/p-778e3fff.js.map +0 -1
  741. package/dist/components/p-7fd16831.js +0 -2
  742. package/dist/components/p-7fd16831.js.map +0 -1
  743. package/dist/components/p-95d41a3b.js.map +0 -1
  744. package/dist/components/p-9a93146e.js +0 -2
  745. package/dist/components/p-ae3dada7.js.map +0 -1
  746. package/dist/components/p-ae7e6127.js +0 -2
  747. package/dist/components/p-cc90a508.js +0 -2
  748. package/dist/components/p-cc90a508.js.map +0 -1
  749. package/dist/components/p-d5f25595.js +0 -2
  750. package/dist/components/p-d5f25595.js.map +0 -1
  751. package/dist/components/p-dbae2385.js +0 -2
  752. package/dist/components/p-dcaf0383.js +0 -2
  753. package/dist/components/p-dcaf0383.js.map +0 -1
  754. package/dist/components/p-e183a7c7.js +0 -2
  755. package/dist/components/p-e3aeaca0.js +0 -2
  756. package/dist/components/p-e3aeaca0.js.map +0 -1
  757. package/dist/components/p-edd1417b.js +0 -2
  758. package/dist/core/p-006e52f1.entry.js +0 -2
  759. package/dist/core/p-006e52f1.entry.js.map +0 -1
  760. package/dist/core/p-0075138f.js +0 -2
  761. package/dist/core/p-0075138f.js.map +0 -1
  762. package/dist/core/p-023787b3.entry.js +0 -2
  763. package/dist/core/p-023787b3.entry.js.map +0 -1
  764. package/dist/core/p-052cc573.js +0 -2
  765. package/dist/core/p-0a952b3c.entry.js +0 -2
  766. package/dist/core/p-0a952b3c.entry.js.map +0 -1
  767. package/dist/core/p-0ebc8365.entry.js +0 -2
  768. package/dist/core/p-0ebc8365.entry.js.map +0 -1
  769. package/dist/core/p-169b67af.js +0 -2
  770. package/dist/core/p-17015e36.entry.js +0 -2
  771. package/dist/core/p-182189d2.entry.js +0 -2
  772. package/dist/core/p-2614044c.js +0 -2
  773. package/dist/core/p-28a7d3f7.js +0 -2
  774. package/dist/core/p-2ed3afef.entry.js +0 -2
  775. package/dist/core/p-2effdd60.entry.js +0 -2
  776. package/dist/core/p-2effdd60.entry.js.map +0 -1
  777. package/dist/core/p-35e66bef.entry.js +0 -2
  778. package/dist/core/p-35e66bef.entry.js.map +0 -1
  779. package/dist/core/p-3f2b803c.entry.js +0 -2
  780. package/dist/core/p-477a5027.entry.js +0 -2
  781. package/dist/core/p-477a5027.entry.js.map +0 -1
  782. package/dist/core/p-47e364bb.entry.js +0 -2
  783. package/dist/core/p-47e364bb.entry.js.map +0 -1
  784. package/dist/core/p-4bce896c.js +0 -2
  785. package/dist/core/p-5c88f415.entry.js +0 -2
  786. package/dist/core/p-5c88f415.entry.js.map +0 -1
  787. package/dist/core/p-5dc0af54.entry.js +0 -2
  788. package/dist/core/p-5dc0af54.entry.js.map +0 -1
  789. package/dist/core/p-5dcbfca3.entry.js +0 -2
  790. package/dist/core/p-663d3db2.entry.js +0 -2
  791. package/dist/core/p-69d56f17.js +0 -2
  792. package/dist/core/p-6aa40794.js +0 -2
  793. package/dist/core/p-6b42a387.entry.js +0 -2
  794. package/dist/core/p-6d772ff9.entry.js +0 -2
  795. package/dist/core/p-6ed147a6.entry.js +0 -2
  796. package/dist/core/p-6ed147a6.entry.js.map +0 -1
  797. package/dist/core/p-7cf554e6.entry.js +0 -2
  798. package/dist/core/p-81b0848c.entry.js +0 -2
  799. package/dist/core/p-81b0848c.entry.js.map +0 -1
  800. package/dist/core/p-83039b10.entry.js +0 -2
  801. package/dist/core/p-904de5e6.entry.js +0 -2
  802. package/dist/core/p-904de5e6.entry.js.map +0 -1
  803. package/dist/core/p-91a9cd24.entry.js +0 -2
  804. package/dist/core/p-95d41a3b.js.map +0 -1
  805. package/dist/core/p-963f9fcd.entry.js +0 -2
  806. package/dist/core/p-9b41ac88.entry.js +0 -2
  807. package/dist/core/p-9d0f20ec.entry.js +0 -2
  808. package/dist/core/p-9d0f20ec.entry.js.map +0 -1
  809. package/dist/core/p-9dde00d8.entry.js +0 -2
  810. package/dist/core/p-9dde00d8.entry.js.map +0 -1
  811. package/dist/core/p-9ff8f059.entry.js +0 -2
  812. package/dist/core/p-a16229c6.entry.js +0 -2
  813. package/dist/core/p-a16229c6.entry.js.map +0 -1
  814. package/dist/core/p-a1e95a5f.js.map +0 -1
  815. package/dist/core/p-a1ebb4da.entry.js +0 -2
  816. package/dist/core/p-a1ebb4da.entry.js.map +0 -1
  817. package/dist/core/p-a21dc94f.js +0 -2
  818. package/dist/core/p-a53a277a.entry.js +0 -2
  819. package/dist/core/p-a5489b0e.entry.js +0 -2
  820. package/dist/core/p-a54f1db9.entry.js +0 -2
  821. package/dist/core/p-a693ffbf.js +0 -2
  822. package/dist/core/p-a693ffbf.js.map +0 -1
  823. package/dist/core/p-aa8adc45.entry.js +0 -2
  824. package/dist/core/p-ab9ae7ba.entry.js +0 -2
  825. package/dist/core/p-b3acb156.entry.js +0 -2
  826. package/dist/core/p-b48a4aa0.js +0 -2
  827. package/dist/core/p-b48a4aa0.js.map +0 -1
  828. package/dist/core/p-b55fc943.entry.js +0 -2
  829. package/dist/core/p-b838bb27.entry.js +0 -2
  830. package/dist/core/p-c214c202.entry.js +0 -2
  831. package/dist/core/p-c214c202.entry.js.map +0 -1
  832. package/dist/core/p-c4c7cb24.entry.js +0 -2
  833. package/dist/core/p-d2351924.entry.js +0 -2
  834. package/dist/core/p-db940455.entry.js +0 -2
  835. package/dist/core/p-dc3fab19.entry.js +0 -2
  836. package/dist/core/p-e0d428c9.js +0 -2
  837. package/dist/core/p-e0d428c9.js.map +0 -1
  838. package/dist/core/p-e134b123.entry.js +0 -2
  839. package/dist/core/p-e3aeaca0.js +0 -2
  840. package/dist/core/p-e3aeaca0.js.map +0 -1
  841. package/dist/core/p-e4978aab.entry.js +0 -2
  842. package/dist/core/p-edc05eff.entry.js +0 -2
  843. package/dist/core/p-edc05eff.entry.js.map +0 -1
  844. package/dist/core/p-eeb9cb73.entry.js +0 -2
  845. package/dist/core/p-f141ad5e.entry.js +0 -2
  846. package/dist/core/p-f1be099b.entry.js +0 -2
  847. package/dist/core/p-f456bd71.entry.js +0 -2
  848. package/dist/core/p-fa7caad6.entry.js +0 -2
  849. package/dist/core/p-fa7caad6.entry.js.map +0 -1
  850. package/dist/core/p-fc90bf06.entry.js +0 -2
  851. package/dist/core/p-fc90bf06.entry.js.map +0 -1
  852. package/dist/esm/colors-02c1ea96.js.map +0 -1
  853. package/dist/esm/form-472e078d.js.map +0 -1
  854. package/dist/esm/gov-app_2.entry.js +0 -9886
  855. package/dist/esm/gov-app_2.entry.js.map +0 -1
  856. package/dist/esm/gov-form-label.entry.js +0 -23
  857. package/dist/esm/gov-form-label.entry.js.map +0 -1
  858. package/dist/esm/gov-icon.entry.js +0 -157
  859. package/dist/esm/gov-icon.entry.js.map +0 -1
  860. package/dist/esm/gov.log-6e9faad2.js +0 -19
  861. package/dist/esm/gov.log-6e9faad2.js.map +0 -1
  862. package/dist/esm/index-d8b4eb6c.js.map +0 -1
  863. package/dist/esm/string.utils-5ce3f551.js.map +0 -1
  864. package/dist/esm/template-3d84d705.js.map +0 -1
  865. package/dist/esm/wcag-fa5ce56c.js.map +0 -1
  866. package/dist/esm/win-cec370ad.js.map +0 -1
  867. package/dist/types/components/gov-app/gov-app.d.ts +0 -37
  868. /package/dist/components/{p-19c681a3.js.map → p-0b3574c2.js.map} +0 -0
  869. /package/dist/components/{p-08621bdf.js.map → p-44a8a668.js.map} +0 -0
  870. /package/dist/components/{p-736e4917.js.map → p-73938936.js.map} +0 -0
  871. /package/dist/components/{p-565120d5.js.map → p-76d604c6.js.map} +0 -0
  872. /package/dist/components/{p-e183a7c7.js.map → p-7be2301a.js.map} +0 -0
  873. /package/dist/components/{p-edd1417b.js.map → p-7f3becc5.js.map} +0 -0
  874. /package/dist/components/{p-7f8a24a7.js.map → p-860520b0.js.map} +0 -0
  875. /package/dist/components/{p-59737af9.js.map → p-a521c59a.js.map} +0 -0
  876. /package/dist/components/{p-ae7e6127.js.map → p-a6b7a6c2.js.map} +0 -0
  877. /package/dist/components/{p-6e19816b.js.map → p-ac359044.js.map} +0 -0
  878. /package/dist/components/{p-0c93dd39.js.map → p-c61a5830.js.map} +0 -0
  879. /package/dist/core/{p-a54f1db9.entry.js.map → p-00d153bf.entry.js.map} +0 -0
  880. /package/dist/core/{p-169b67af.js.map → p-0b3574c2.js.map} +0 -0
  881. /package/dist/core/{p-3f2b803c.entry.js.map → p-0be19b89.entry.js.map} +0 -0
  882. /package/dist/core/{p-f141ad5e.entry.js.map → p-22fa411d.entry.js.map} +0 -0
  883. /package/dist/core/{p-b838bb27.entry.js.map → p-30eaeeec.entry.js.map} +0 -0
  884. /package/dist/core/{p-69d56f17.js.map → p-3bbb77a0.js.map} +0 -0
  885. /package/dist/core/{p-6b42a387.entry.js.map → p-535316b4.entry.js.map} +0 -0
  886. /package/dist/core/{p-91a9cd24.entry.js.map → p-5396935e.entry.js.map} +0 -0
  887. /package/dist/core/{p-42d9924c.js.map → p-56efd4a2.js.map} +0 -0
  888. /package/dist/core/{p-e134b123.entry.js.map → p-5b2131c1.entry.js.map} +0 -0
  889. /package/dist/core/{p-60658ae9.js.map → p-5f1000da.js.map} +0 -0
  890. /package/dist/core/{p-c4c7cb24.entry.js.map → p-7b7e502b.entry.js.map} +0 -0
  891. /package/dist/core/{p-2614044c.js.map → p-7ba4daf4.js.map} +0 -0
  892. /package/dist/core/{p-6aa40794.js.map → p-7f3becc5.js.map} +0 -0
  893. /package/dist/core/{p-e9a6cd71.js.map → p-860520b0.js.map} +0 -0
  894. /package/dist/core/{p-4bce896c.js.map → p-a521c59a.js.map} +0 -0
  895. /package/dist/core/{p-c990d746.js.map → p-c61a5830.js.map} +0 -0
  896. /package/dist/core/{p-45a30859.js.map → p-e0e2e9c1.js.map} +0 -0
  897. /package/dist/core/{p-052cc573.js.map → p-e44a0fee.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"gov-tabs.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tabs/gov-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tColorType,\n\tTabColors,\n\tTabOrientationType,\n\tTabsClass,\n\tTabsItemClass,\n\tTabSizes,\n\tTabSizeType,\n\tTabType,\n\tTabTypes\n} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\nimport {booleanString, govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {hasOwnProperty} from \"../../utils/helpers.types\";\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n\n@Component({\n\ttag: \"gov-tabs\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Tabs size.\n\t */\n\t@Prop() readonly size?: TabSizeType = 'm'\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly color?: ColorType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Icon and description display direction\n\t */\n\t@Prop({reflect: true}) readonly direction: 'row' | 'column' = 'row'\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TabColors, newValue, TabsClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TabSizes, newValue, TabsClass.root)\n\t}\n\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\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\tprivate prepareControllers(skipDefault = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\tconst iconStart = prepareIconFormat(tab.getAttribute('icon-start'))\n\t\t\t\tconst iconEnd = prepareIconFormat(tab.getAttribute('icon-end'))\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tdirection: tab.getAttribute(\"direction\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t\ticonStart,\n\t\t\t\t\ticonEnd\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (skipDefault === false) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t} else if (this.focusIndex > -1 && hasOwnProperty(controllers, this.focusIndex)) {\n\t\t\t\tcontrollers[this.focusIndex].active = true\n\t\t\t}\n\t\t\tconst isWrongCombination = controllers.findIndex((controller) => controller.active && controller.disabled)\n\t\t\tif (isWrongCombination > -1) {\n\t\t\t\tcontrollers[isWrongCombination].active = false;\n\t\t\t\tconst firstGoodTab = controllers.findIndex((controller) => !controller.disabled)\n\t\t\t\tif (firstGoodTab > -1) {\n\t\t\t\t\tcontrollers[firstGoodTab].active = true\n\t\t\t\t\tthis.focusIndex = firstGoodTab;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tsize={this.size}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tdirection={this.direction}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs}\n\t\t\t\t\t role=\"tablist\"\n\t\t\t\t\t {...this.inheritedAttributes}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}/>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}/>) : null}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\taria-selected={booleanString(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\t\t\t\t\tsize={this.size === \"xs\" ? \"xs\" : (this.size === \"s\" ? \"s\" : \"m\")}\n\t\t\t\t\t\t\t\t\t\ttype={control.active ? \"solid\" : \"outlined\"}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"left-icon\"/>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"right-icon\"/>) : null}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-tabs.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tabs/gov-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tColorType,\n\tTabColors,\n\tTabOrientationType,\n\tTabsClass,\n\tTabsItemClass,\n\tTabSizes,\n\tTabSizeType,\n\tTabType,\n\tTabTypes\n} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\nimport {booleanString, govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {hasOwnProperty} from \"../../utils/helpers.types\";\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n\n@Component({\n\ttag: \"gov-tabs\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Tabs size.\n\t */\n\t@Prop() readonly size?: TabSizeType = 'm'\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly color?: ColorType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Icon and description display direction\n\t */\n\t@Prop({reflect: true}) readonly direction: 'row' | 'column' = 'row'\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TabColors, newValue, TabsClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TabSizes, newValue, TabsClass.root)\n\t}\n\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\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\tprivate prepareControllers(skipDefault = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\tconst iconStart = prepareIconFormat(tab.getAttribute('icon-start'))\n\t\t\t\tconst iconEnd = prepareIconFormat(tab.getAttribute('icon-end'))\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tdirection: tab.getAttribute(\"direction\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t\ticonStart,\n\t\t\t\t\ticonEnd\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (skipDefault === false) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t} else if (this.focusIndex > -1 && hasOwnProperty(controllers, this.focusIndex)) {\n\t\t\t\tcontrollers[this.focusIndex].active = true\n\t\t\t}\n\t\t\tconst isWrongCombination = controllers.findIndex((controller) => controller.active && controller.disabled)\n\t\t\tif (isWrongCombination > -1) {\n\t\t\t\tcontrollers[isWrongCombination].active = false;\n\t\t\t\tconst firstGoodTab = controllers.findIndex((controller) => !controller.disabled)\n\t\t\t\tif (firstGoodTab > -1) {\n\t\t\t\t\tcontrollers[firstGoodTab].active = true\n\t\t\t\t\tthis.focusIndex = firstGoodTab;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tsize={this.size}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tdirection={this.direction}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs}\n\t\t\t\t\t role=\"tablist\"\n\t\t\t\t\t {...this.inheritedAttributes}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\taria-selected={booleanString(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\t\t\t\t\tsize={this.size === \"xs\" ? \"xs\" : (this.size === \"s\" ? \"s\" : \"m\")}\n\t\t\t\t\t\t\t\t\t\ttype={control.active ? \"solid\" : \"outlined\"}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-start\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-end\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n}\n"]}
@@ -6,8 +6,8 @@ import { TagClass, TagSizes } from "./constants";
6
6
  import { prepareIconFormat } from "../gov-icon/helpers";
7
7
  export class GovTag {
8
8
  constructor() {
9
- this.iconLeft = undefined;
10
- this.iconRight = undefined;
9
+ this.iconStart = undefined;
10
+ this.iconEnd = undefined;
11
11
  this.size = TagSizes._S;
12
12
  this.color = ButtonColors.PRIMARY;
13
13
  this.type = undefined;
@@ -24,14 +24,14 @@ export class GovTag {
24
24
  this.validateSize(this.size);
25
25
  }
26
26
  render() {
27
- const iconLeft = prepareIconFormat(this.iconLeft);
28
- const iconRight = prepareIconFormat(this.iconRight);
29
- return (h(Host, { key: '836c745e82121e969d096f83fd799593de02a52b', class: this.h.classes(TagClass.root), color: this.color, size: this.size, type: this.type }, h("span", { key: '03084f10265357de1e4f136d2da12390ada68701', class: "element" }, this.h.hasSlot('left-icon') && h("slot", { key: '6014fd042c92e618af0bfa08cf27c56f42091034', name: "left-icon" }), iconLeft && h("gov-icon", { key: '86b2616d3e6d26b73c65cf6f0f602a87e2f60e11', type: iconLeft.type, name: iconLeft.name }), h("slot", { key: '6e8a6587e99230060dba6e803e79d301c6bb206c' }), iconRight && h("gov-icon", { key: '7e89a01d59ce60b16af9ad1a4b7e4f31373ffa13', type: iconRight.type, name: iconRight.name }), this.h.hasSlot('right-icon') && h("slot", { key: '530777fa0fd108080debaecb412b486bc17e3153', name: "right-icon" }))));
27
+ const iconStart = prepareIconFormat(this.iconStart);
28
+ const iconEnd = prepareIconFormat(this.iconEnd);
29
+ return (h(Host, { key: 'c883cf9721b32aa8c06609bf09272ef196456e18', class: this.h.classes(TagClass.root), color: this.color, size: this.size, type: this.type }, h("span", { key: '614f39f6f1004d6c3ee1d0f13990a4e52dee66bc', class: "element" }, h("slot", { key: 'f7d4dc9576768e917a363bc7cafa86567213ea82', name: "icon-start" }, iconStart && h("gov-icon", { key: '8d57b52a0314e8d76461872116b4ce04e546c180', type: iconStart.type, name: iconStart.name })), h("slot", { key: '4cd134377c3ea7843aa899b0a2962aa19f5d569e' }), h("slot", { key: '4dc1cccaced24ef26bb15e648788590a4b7d1838', name: "icon-end" }, iconEnd && h("gov-icon", { key: '7946e18900c98bdff4c610813b2422bf75b30049', type: iconEnd.type, name: iconEnd.name })))));
30
30
  }
31
31
  static get is() { return "gov-tag"; }
32
32
  static get properties() {
33
33
  return {
34
- "iconLeft": {
34
+ "iconStart": {
35
35
  "type": "string",
36
36
  "mutable": false,
37
37
  "complexType": {
@@ -45,10 +45,10 @@ export class GovTag {
45
45
  "tags": [],
46
46
  "text": "Definition of the button icon on the left. The icon must be defined in the form \"type/name\"."
47
47
  },
48
- "attribute": "icon-left",
48
+ "attribute": "icon-start",
49
49
  "reflect": false
50
50
  },
51
- "iconRight": {
51
+ "iconEnd": {
52
52
  "type": "string",
53
53
  "mutable": false,
54
54
  "complexType": {
@@ -62,7 +62,7 @@ export class GovTag {
62
62
  "tags": [],
63
63
  "text": "Definition of the button icon on the left. The icon must be defined in the form \"type/name\"."
64
64
  },
65
- "attribute": "icon-right",
65
+ "attribute": "icon-end",
66
66
  "reflect": false
67
67
  },
68
68
  "size": {
@@ -1 +1 @@
1
- {"version":3,"file":"gov-tag.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tag/gov-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACtE,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAC,WAAW,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAA6B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAKtD,MAAM,OAAO,MAAM;IAGlB;;;oBAiBqD,QAAQ,CAAC,EAAE;qBAIP,YAAY,CAAC,OAAO;;QApB5E,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IA0BD,aAAa,CAAC,QAAgB;QAC7B,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAGD,YAAY,CAAC,QAAgB;QAC5B,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM;QACL,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI;YAEjB,6DAAM,KAAK,EAAC,SAAS;gBACnB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,6DAAM,IAAI,EAAC,WAAW,GAAQ;gBAC7D,QAAQ,IAAK,iEAAU,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAa;gBAC7E,8DAAO;gBACN,SAAS,IAAK,iEAAU,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,GAAa;gBAC/E,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC1D,CACD,CACP,CAAA;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {Component, Element, h, Host, Prop, Watch} from '@stencil/core'\nimport {govHost} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\nimport {validateProp} from '../../helpers/Validate/props'\nimport {ButtonSizes, ButtonColors, ButtonColorType} from '../gov-button/button/constants'\nimport {TagClass, TagSizes, TagSizesType, TagTypesType} from './constants'\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\n\n@Component({\n\ttag: 'gov-tag',\n})\nexport class GovTag {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTagElement\n\n\t/**\n\t * Definition of the button icon on the left. The icon must be defined in the form \"type/name\".\n\t */\n\t@Prop({attribute: \"icon-left\"}) readonly iconLeft?: string\n\t/**\n\t * Definition of the button icon on the left. The icon must be defined in the form \"type/name\".\n\t */\n\t@Prop({attribute: \"icon-right\"}) readonly iconRight?: string\n\t/**\n\t * Tag’s size.\n\t */\n\t@Prop({reflect: true}) readonly size: TagSizesType = TagSizes._S\n\t/**\n\t * Style variation of the tag.\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType = ButtonColors.PRIMARY\n\t/**\n\t * Tag’s type\n\t */\n\t@Prop({reflect: true}) readonly type: TagTypesType\n\n\t@Watch('color')\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, TagClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(ButtonSizes, newValue, TagClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\tconst iconLeft = prepareIconFormat(this.iconLeft)\n\t\tconst iconRight = prepareIconFormat(this.iconRight)\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TagClass.root)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={this.type}\n\t\t\t\t>\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t{this.h.hasSlot('left-icon') && <slot name=\"left-icon\"></slot>}\n\t\t\t\t\t{iconLeft && \t<gov-icon type={iconLeft.type} name={iconLeft.name}></gov-icon>}\n\t\t\t\t\t<slot/>\n\t\t\t\t\t{iconRight && \t<gov-icon type={iconRight.type} name={iconRight.name}></gov-icon>}\n\t\t\t\t\t{this.h.hasSlot('right-icon') && <slot name=\"right-icon\"></slot>}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-tag.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tag/gov-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACtE,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAC,WAAW,EAAE,YAAY,EAAkB,MAAM,gCAAgC,CAAA;AACzF,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAA6B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAKtD,MAAM,OAAO,MAAM;IAGlB;;;oBAiBqD,QAAQ,CAAC,EAAE;qBAIP,YAAY,CAAC,OAAO;;QApB5E,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IA0BD,aAAa,CAAC,QAAgB;QAC7B,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IAGD,YAAY,CAAC,QAAgB;QAC5B,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM;QACL,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI;YAEf,6DAAM,KAAK,EAAC,SAAS;gBACpB,6DAAM,IAAI,EAAC,YAAY,IACrB,SAAS,IAAI,iEAAU,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,GAAa,CACzE;gBACP,8DAAO;gBACP,6DAAM,IAAI,EAAC,UAAU,IACnB,OAAO,IAAI,iEAAU,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,GAAa,CACnE,CACD,CACD,CACP,CAAA;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {Component, Element, h, Host, Prop, Watch} from '@stencil/core'\nimport {govHost} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\nimport {validateProp} from '../../helpers/Validate/props'\nimport {ButtonSizes, ButtonColors, ButtonColorType} from '../gov-button/button/constants'\nimport {TagClass, TagSizes, TagSizesType, TagTypesType} from './constants'\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\n\n@Component({\n\ttag: 'gov-tag',\n})\nexport class GovTag {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTagElement\n\n\t/**\n\t * Definition of the button icon on the left. The icon must be defined in the form \"type/name\".\n\t */\n\t@Prop({attribute: \"icon-start\"}) readonly iconStart?: string\n\t/**\n\t * Definition of the button icon on the left. The icon must be defined in the form \"type/name\".\n\t */\n\t@Prop({attribute: \"icon-end\"}) readonly iconEnd?: string\n\t/**\n\t * Tag’s size.\n\t */\n\t@Prop({reflect: true}) readonly size: TagSizesType = TagSizes._S\n\t/**\n\t * Style variation of the tag.\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType = ButtonColors.PRIMARY\n\t/**\n\t * Tag’s type\n\t */\n\t@Prop({reflect: true}) readonly type: TagTypesType\n\n\t@Watch('color')\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, TagClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(ButtonSizes, newValue, TagClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\tconst iconStart = prepareIconFormat(this.iconStart)\n\t\tconst iconEnd = prepareIconFormat(this.iconEnd)\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TagClass.root)}\n\t\t\t\tcolor={this.color}\n\t\t\t\tsize={this.size}\n\t\t\t\ttype={this.type}\n\t\t\t>\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<slot name=\"icon-start\">\n\t\t\t\t\t\t{iconStart && <gov-icon type={iconStart.type} name={iconStart.name}></gov-icon>}\n\t\t\t\t\t</slot>\n\t\t\t\t\t<slot/>\n\t\t\t\t\t<slot name=\"icon-end\">\n\t\t\t\t\t\t{iconEnd && <gov-icon type={iconEnd.type} name={iconEnd.name}></gov-icon>}\n\t\t\t\t\t</slot>\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -1,5 +1,13 @@
1
+ import { pick } from "../../utils/utils";
2
+ import { Sizes } from "../../core/constants/sizes";
3
+ export const ThemeSwitchSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL']);
1
4
  export const ThemeSwitchClass = {
2
- root: 'gov-theme-switch'
5
+ root: 'gov-theme-switch',
6
+ indicator: 'gov-theme-switch__indicator',
7
+ iconLight: 'gov-theme-switch__icon-light',
8
+ iconDark: 'gov-theme-switch__icon-dark',
9
+ labelLight: 'gov-theme-switch__label-light',
10
+ labelDark: 'gov-theme-switch__label-dark',
3
11
  };
4
12
  export const ATTRIBUTE_THEME_NAME = 'data-theme';
5
13
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/components/gov-theme-switch/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,IAAI,EAAE,kBAAkB;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAA","sourcesContent":["export const ThemeSwitchClass = {\n\troot: 'gov-theme-switch'\n}\n\nexport const ATTRIBUTE_THEME_NAME = 'data-theme'\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/components/gov-theme-switch/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,4BAA4B,CAAC;AAGjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAG7E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,6BAA6B;IACxC,SAAS,EAAE,8BAA8B;IACzC,QAAQ,EAAE,6BAA6B;IACvC,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,8BAA8B;CACzC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAA","sourcesContent":["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"]}
@@ -1,13 +1,13 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { govHost } from "../../helpers/Dom/template";
3
- import { ATTRIBUTE_THEME_NAME, ThemeSwitchClass } from "./constants";
3
+ import { ATTRIBUTE_THEME_NAME, ThemeSwitchClass, ThemeSwitchSizes } from "./constants";
4
4
  import { isWindow } from "../../helpers/Dom/win";
5
5
  import { ThemeList } from "./gov-theme-switch.types";
6
+ import { validateProp } from "../../helpers/Validate/props";
7
+ import { getCookie, setCookie } from "../../helpers/Dom/document";
6
8
  export class GovThemeSwitch {
7
9
  constructor() {
8
10
  this.setThemeState = (state) => {
9
- this.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, state);
10
- localStorage.setItem(ATTRIBUTE_THEME_NAME, state);
11
11
  this.theme = state;
12
12
  this.govChange.emit({
13
13
  component: ThemeSwitchClass.root,
@@ -15,39 +15,154 @@ export class GovThemeSwitch {
15
15
  ref: this.host
16
16
  });
17
17
  };
18
+ this.size = "m";
19
+ this.ariaLabelLight = undefined;
20
+ this.ariaLabelDark = undefined;
21
+ this.labelLight = undefined;
22
+ this.labelDark = undefined;
18
23
  this.theme = ThemeList.auto;
19
24
  this.h = govHost(this.host);
20
25
  }
21
- get localStorageValue() {
22
- return isWindow ? localStorage.getItem(ATTRIBUTE_THEME_NAME) : null;
26
+ validateSize(newValue) {
27
+ validateProp(ThemeSwitchSizes, newValue, ThemeSwitchClass.root);
28
+ }
29
+ watchTheme(newValue) {
30
+ this.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, newValue);
31
+ this.htmlElement.classList.remove(...Object.keys(ThemeList));
32
+ this.htmlElement.classList.add(newValue);
33
+ setCookie(ATTRIBUTE_THEME_NAME, newValue);
34
+ }
35
+ get storageValue() {
36
+ return getCookie(ATTRIBUTE_THEME_NAME);
23
37
  }
24
38
  get htmlElement() {
25
39
  return document.documentElement;
26
40
  }
41
+ get isSystemPrefersColorDark() {
42
+ return isWindow && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
43
+ }
27
44
  componentWillLoad() {
28
45
  this.initDefaultState();
46
+ this.validateSize(this.size);
29
47
  }
30
48
  initDefaultState() {
31
49
  const options = Object.keys(ThemeList);
32
- let currentState = this.localStorageValue;
50
+ let currentState = this.storageValue;
33
51
  const htmlState = this.htmlElement.getAttribute(ATTRIBUTE_THEME_NAME);
34
52
  if (currentState && options.includes(currentState)) {
35
- this.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, currentState);
36
53
  this.theme = currentState;
37
54
  }
38
55
  else if (htmlState && options.includes(htmlState)) {
39
- localStorage.setItem(ATTRIBUTE_THEME_NAME, htmlState);
40
56
  this.theme = htmlState;
41
57
  }
42
58
  else {
43
- localStorage.setItem(ATTRIBUTE_THEME_NAME, ThemeList.auto);
44
59
  this.theme = ThemeList.auto;
45
60
  }
46
61
  }
47
62
  render() {
48
- return (h(Host, { key: '8266a00be44f1fbd8df375dee4fbfe65dd35a619', class: this.h.classes(ThemeSwitchClass.root) }, h("button", { key: '0158d6d7f6c1d5237d1514c2500a0ed08af330a3', onClick: () => this.setThemeState(ThemeList.light) }, "light"), h("button", { key: 'afbc26f2a9ddb1fe7635c5c1b8ab747924fc5e5b', onClick: () => this.setThemeState(ThemeList.dark) }, "dark")));
63
+ let isDark = this.theme === ThemeList.dark;
64
+ if (this.theme === ThemeList.auto) {
65
+ isDark = this.isSystemPrefersColorDark;
66
+ }
67
+ 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)))));
49
68
  }
50
69
  static get is() { return "gov-theme-switch"; }
70
+ static get properties() {
71
+ return {
72
+ "size": {
73
+ "type": "string",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "ThemeSwitchSizesType",
77
+ "resolved": "\"l\" | \"m\" | \"s\" | \"xl\" | \"xs\"",
78
+ "references": {
79
+ "ThemeSwitchSizesType": {
80
+ "location": "import",
81
+ "path": "./constants",
82
+ "id": "../../../packages/core/src/components/gov-theme-switch/constants.ts::ThemeSwitchSizesType"
83
+ }
84
+ }
85
+ },
86
+ "required": false,
87
+ "optional": true,
88
+ "docs": {
89
+ "tags": [],
90
+ "text": "Switch's size."
91
+ },
92
+ "attribute": "size",
93
+ "reflect": false,
94
+ "defaultValue": "\"m\""
95
+ },
96
+ "ariaLabelLight": {
97
+ "type": "string",
98
+ "mutable": false,
99
+ "complexType": {
100
+ "original": "\"P\u0159enout na tmav\u00FD m\u00F3d\"",
101
+ "resolved": "\"P\u0159enout na tmav\u00FD m\u00F3d\"",
102
+ "references": {}
103
+ },
104
+ "required": false,
105
+ "optional": true,
106
+ "docs": {
107
+ "tags": [],
108
+ "text": "Label in light mode"
109
+ },
110
+ "attribute": "aria-label-light",
111
+ "reflect": false
112
+ },
113
+ "ariaLabelDark": {
114
+ "type": "string",
115
+ "mutable": false,
116
+ "complexType": {
117
+ "original": "\"P\u0159epnout na sv\u011Btl\u00FD m\u00F3d\"",
118
+ "resolved": "\"P\u0159epnout na sv\u011Btl\u00FD m\u00F3d\"",
119
+ "references": {}
120
+ },
121
+ "required": false,
122
+ "optional": true,
123
+ "docs": {
124
+ "tags": [],
125
+ "text": "Label in dark mode"
126
+ },
127
+ "attribute": "aria-label-dark",
128
+ "reflect": false
129
+ },
130
+ "labelLight": {
131
+ "type": "string",
132
+ "mutable": false,
133
+ "complexType": {
134
+ "original": "\"Sv\u011Btl\u00FD m\u00F3d\"",
135
+ "resolved": "\"Sv\u011Btl\u00FD m\u00F3d\"",
136
+ "references": {}
137
+ },
138
+ "required": false,
139
+ "optional": true,
140
+ "docs": {
141
+ "tags": [],
142
+ "text": "Label in light mode"
143
+ },
144
+ "attribute": "label-light",
145
+ "reflect": false
146
+ },
147
+ "labelDark": {
148
+ "type": "string",
149
+ "mutable": false,
150
+ "complexType": {
151
+ "original": "\"Tmav\u00FD m\u00F3d\"",
152
+ "resolved": "\"Tmav\u00FD m\u00F3d\"",
153
+ "references": {}
154
+ },
155
+ "required": false,
156
+ "optional": true,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "Label in dark mode"
160
+ },
161
+ "attribute": "label-dark",
162
+ "reflect": false
163
+ }
164
+ };
165
+ }
51
166
  static get states() {
52
167
  return {
53
168
  "theme": {}
@@ -78,5 +193,14 @@ export class GovThemeSwitch {
78
193
  }];
79
194
  }
80
195
  static get elementRef() { return "host"; }
196
+ static get watchers() {
197
+ return [{
198
+ "propName": "size",
199
+ "methodName": "validateSize"
200
+ }, {
201
+ "propName": "theme",
202
+ "methodName": "watchTheme"
203
+ }];
204
+ }
81
205
  }
82
206
  //# sourceMappingURL=gov-theme-switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gov-theme-switch.js","sourceRoot":"","sources":["../../../../../../src/components/gov-theme-switch/gov-theme-switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AAErF,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAC,oBAAoB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAmB,MAAM,0BAA0B,CAAC;AAKrE,MAAM,OAAO,cAAc;IAG1B;QA0CQ,kBAAa,GAAG,CAAC,KAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3D,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,SAAS,EAAE,gBAAgB,CAAC,IAAI;gBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,IAAI;aACd,CAAC,CAAA;QACH,CAAC,CAAA;qBAzC2B,SAAS,CAAC,IAAI;QAVzC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAWD,IAAY,iBAAiB;QAC5B,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED,IAAY,WAAW;QACtB,OAAO,QAAQ,CAAC,eAAe,CAAA;IAChC,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAEO,gBAAgB;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QAErE,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,YAAyB,CAAC;QACxC,CAAC;aAAM,IAAI,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,GAAG,SAAsB,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;QAC7B,CAAC;IACF,CAAC;IAcD,MAAM;QACL,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACjD,+DAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,YAAgB;YAC1E,+DAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,WAAe,CAClE,CACP,CAAA;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, State} from \"@stencil/core\"\nimport {GovHost} from \"../../helpers/Dom/template.types\";\nimport {govHost} from \"../../helpers/Dom/template\";\nimport {ATTRIBUTE_THEME_NAME, ThemeSwitchClass} from \"./constants\";\nimport {isWindow} from \"../../helpers/Dom/win\";\nimport {ThemeList, ThemeSwitchEvent} from \"./gov-theme-switch.types\";\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: HTMLGovLoadingElement\n\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@State() theme: ThemeList = ThemeList.auto\n\n\tprivate get localStorageValue() {\n\t\treturn isWindow ? localStorage.getItem(ATTRIBUTE_THEME_NAME) : null;\n\t}\n\n\tprivate get htmlElement(): HTMLElement {\n\t\treturn document.documentElement\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.initDefaultState()\n\t}\n\n\tprivate initDefaultState() {\n\t\tconst options = Object.keys(ThemeList);\n\t\tlet currentState = this.localStorageValue;\n\t\tconst htmlState = this.htmlElement.getAttribute(ATTRIBUTE_THEME_NAME)\n\n\t\tif (currentState && options.includes(currentState)) {\n\t\t\tthis.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, currentState);\n\t\t\tthis.theme = currentState as ThemeList;\n\t\t} else if (htmlState && options.includes(htmlState)) {\n\t\t\tlocalStorage.setItem(ATTRIBUTE_THEME_NAME, htmlState);\n\t\t\tthis.theme = htmlState as ThemeList;\n\t\t} else {\n\t\t\tlocalStorage.setItem(ATTRIBUTE_THEME_NAME, ThemeList.auto);\n\t\t\tthis.theme = ThemeList.auto;\n\t\t}\n\t}\n\n\tprivate setThemeState = (state: ThemeList) => {\n\t\tthis.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, state);\n\t\tlocalStorage.setItem(ATTRIBUTE_THEME_NAME, state);\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\treturn (\n\t\t\t<Host class={this.h.classes(ThemeSwitchClass.root)}>\n\t\t\t\t<button onClick={() => this.setThemeState(ThemeList.light)}>light</button>\n\t\t\t\t<button onClick={() => this.setThemeState(ThemeList.dark)}>dark</button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-theme-switch.js","sourceRoot":"","sources":["../../../../../../src/components/gov-theme-switch/gov-theme-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -7,7 +7,7 @@ export class GovTiles {
7
7
  this.h = govHost(this.host);
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '9d2c26d6717e7d3e5780e322823f94773e515f97', class: this.h.classes(TilesClass.root) }, h("slot", { key: '7b4557531dcabfae72d123a578d43764cc3f03b5' })));
10
+ return (h(Host, { key: 'edb08ecaceb976d51978baf7ba3779d7e4e333cc', class: this.h.classes(TilesClass.root) }, h("slot", { key: 'a4aa065a8e108b9ceb692c264dec8c4fc559f80e' })));
11
11
  }
12
12
  static get is() { return "gov-tiles"; }
13
13
  static get properties() {
@@ -11,7 +11,7 @@ export class GovTile {
11
11
  this.h = govHost(this.host);
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '64992b51709754e4b094dffaacb32439800e878f', class: this.h.classes(TileClass.root), size: this.size, orientation: this.orientation, clickable: this.href ? true : null }, h("slot", { key: '807706674b6d398a41a25bcbb100742a8bc8cebc', name: "icon" }), h("div", { key: 'b46011ea1ced783cf69187e18739b67c45137074', class: TileClass.content }, h("div", { key: '9e491d7ddc78c02290102623db5c2d639e19bb3e', class: TileClass.text }, h("div", { key: '12ec2a5d7988d7772f3228f79f1473378e5fe97d', class: TileClass.title }, this.href ? (h(Fragment, null, h("a", { href: this.href, target: this.target, class: TileClass.link, ref: el => (this.triggerRef = el) }, h("slot", { name: "title" })), h("span", { class: TileClass.icon }, h("gov-icon", { name: "chevron-right" })))) : (h("slot", { name: "title" }))), h("div", { key: '6ef9ba50fcd48facb2afea70d3881141e3c6e54a', class: `${TileClass.annotation} ${this.href ? `${TileClass.annotation}--padding` : ''}` }, h("slot", { key: 'c7d77b3642179b42a3b54423e53197385c0970e4' }))), h("slot", { key: 'efe6564689ed24e259985fddfe53ddf70ac76238', name: "button" }))));
14
+ return (h(Host, { key: '3fd4f5bb8f7cdcdb5a6bbed610ed4ab6ec2837f5', class: this.h.classes(TileClass.root), size: this.size, orientation: this.orientation, clickable: this.href ? true : null }, h("slot", { key: '97179af17c8f8b16de49ca36a7c548d20e53cbdf', name: "icon" }), h("div", { key: 'a60a8e60effd1337cc11c5afb347ab395673d724', class: TileClass.content }, h("div", { key: 'b27682c73305417442d9ebfd27e02cc80d10034c', class: TileClass.text }, h("div", { key: '0c891f670607dde529d5ef6b1c86a843b7600a30', class: TileClass.title }, this.href ? (h(Fragment, null, h("a", { href: this.href, target: this.target, class: TileClass.link, ref: el => (this.triggerRef = el) }, h("slot", { name: "title" })), h("span", { class: TileClass.icon }, h("gov-icon", { name: "chevron-right", type: "components" })))) : (h("slot", { name: "title" }))), h("div", { key: 'dcb5f3be57fa6ebaa507c12c9394f1b12837856e', class: `${TileClass.annotation} ${this.href ? `${TileClass.annotation}--padding` : ''}` }, h("slot", { key: 'c3b7fe9ef111769219f1d915929112fe083927c8' }))), h("slot", { key: '98173ea276fedd176720b79e5a55b3b2d5272536', name: "button" }))));
15
15
  }
16
16
  /**
17
17
  * Returns a clickable element instance
@@ -130,23 +130,23 @@ export class GovTile {
130
130
  return {
131
131
  "getTriggerRef": {
132
132
  "complexType": {
133
- "signature": "() => Promise<HTMLLinkElement | HTMLSpanElement>",
133
+ "signature": "() => Promise<HTMLSpanElement | HTMLLinkElement>",
134
134
  "parameters": [],
135
135
  "references": {
136
136
  "Promise": {
137
137
  "location": "global",
138
138
  "id": "global::Promise"
139
139
  },
140
- "HTMLLinkElement": {
141
- "location": "global",
142
- "id": "global::HTMLLinkElement"
143
- },
144
140
  "HTMLSpanElement": {
145
141
  "location": "global",
146
142
  "id": "global::HTMLSpanElement"
143
+ },
144
+ "HTMLLinkElement": {
145
+ "location": "global",
146
+ "id": "global::HTMLLinkElement"
147
147
  }
148
148
  },
149
- "return": "Promise<HTMLLinkElement | HTMLSpanElement>"
149
+ "return": "Promise<HTMLSpanElement | HTMLLinkElement>"
150
150
  },
151
151
  "docs": {
152
152
  "text": "Returns a clickable element instance",
@@ -1 +1 @@
1
- {"version":3,"file":"gov-tile.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tile/gov-tile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACjF,OAAO,EAAC,SAAS,EAAgB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAA;AAOlD,MAAM,OAAO,OAAO;IA0BnB;oBArBuD,GAAG;;wBAQK,KAAK;;;QAcnE,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAED,MAAM;QACL,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAEpC,6DAAM,IAAI,EAAC,MAAM,GAAE;YACnB,4DAAK,KAAK,EAAE,SAAS,CAAC,OAAO;gBAC5B,4DAAK,KAAK,EAAE,SAAS,CAAC,IAAI;oBACzB,4DAAK,KAAK,EAAE,SAAS,CAAC,KAAK,IACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,EAAC,QAAQ;wBACR,SACC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,SAAS,CAAC,IAAI,EACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAuC,CAAC;4BACtE,YAAM,IAAI,EAAC,OAAO,GAAE,CACjB;wBACJ,YAAM,KAAK,EAAE,SAAS,CAAC,IAAI;4BAC1B,gBAAU,IAAI,EAAC,eAAe,GAAE,CAC1B,CACG,CACX,CAAC,CAAC,CAAC,CACH,YAAM,IAAI,EAAC,OAAO,GAAE,CACpB,CACI;oBACN,4DAAK,KAAK,EAAE,GAAG,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3F,8DAAO,CACF,CACD;gBACN,6DAAM,IAAI,EAAC,QAAQ,GAAE,CAChB,CACA,CACP,CAAA;IACF,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {Component, Element, Fragment, h, Host, Method, Prop} from \"@stencil/core\"\nimport {TileClass, TileSizesType} from \"./constants\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {ButtonTargetType} from \"../gov-button/button/constants\"\n\n@Component({\n\ttag: \"gov-tile\",\n})\nexport class GovTile {\n\t@Element() host: HTMLGovTileElement\n\t/**\n\t * Tile’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: TileSizesType = \"m\"\n\t/**\n\t * Style variation of the tile.\n\t */\n\t@Prop() readonly orientation: \"vertical\" | \"horizontal\"\n\t/**\n\t * Tiles border\n\t */\n\t@Prop({ attribute: 'no-border' }) readonly noBorder: boolean = false\n\t/**\n\t * Link on whole tile\n\t */\n\t@Prop({reflect: true}) readonly href: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\tprivate triggerRef?: HTMLLinkElement | HTMLSpanElement\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TileClass.root)}\n\t\t\t\t size={this.size}\n\t\t\t\t orientation={this.orientation}\n\t\t\t\t clickable={this.href ? true : null}\n\t\t\t>\n\t\t\t\t<slot name=\"icon\"/>\n\t\t\t\t<div class={TileClass.content}>\n\t\t\t\t\t<div class={TileClass.text}>\n\t\t\t\t\t\t<div class={TileClass.title}>\n\t\t\t\t\t\t\t{this.href ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref={this.href}\n\t\t\t\t\t\t\t\t\t\ttarget={this.target}\n\t\t\t\t\t\t\t\t\t\tclass={TileClass.link}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRef = el as HTMLLinkElement | HTMLSpanElement)}>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"title\"/>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<span class={TileClass.icon}>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-right\"/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<slot name=\"title\"/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class={`${TileClass.annotation} ${this.href ? `${TileClass.annotation}--padding` : ''}`}>\n\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<slot name=\"button\"/>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getTriggerRef() {\n\t\treturn this.triggerRef\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-tile.js","sourceRoot":"","sources":["../../../../../../src/components/gov-tile/gov-tile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACjF,OAAO,EAAC,SAAS,EAAgB,MAAM,aAAa,CAAA;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAA;AAOlD,MAAM,OAAO,OAAO;IA0BnB;oBArBuD,GAAG;;wBAQK,KAAK;;;QAcnE,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;IAED,MAAM;QACL,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAEpC,6DAAM,IAAI,EAAC,MAAM,GAAE;YACnB,4DAAK,KAAK,EAAE,SAAS,CAAC,OAAO;gBAC5B,4DAAK,KAAK,EAAE,SAAS,CAAC,IAAI;oBACzB,4DAAK,KAAK,EAAE,SAAS,CAAC,KAAK,IACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,EAAC,QAAQ;wBACR,SACC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,SAAS,CAAC,IAAI,EACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAuC,CAAC;4BACtE,YAAM,IAAI,EAAC,OAAO,GAAE,CACjB;wBACJ,YAAM,KAAK,EAAE,SAAS,CAAC,IAAI;4BAC1B,gBAAU,IAAI,EAAC,eAAe,EAAC,IAAI,EAAC,YAAY,GAAY,CACtD,CACG,CACX,CAAC,CAAC,CAAC,CACH,YAAM,IAAI,EAAC,OAAO,GAAE,CACpB,CACI;oBACN,4DAAK,KAAK,EAAE,GAAG,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3F,8DAAO,CACF,CACD;gBACN,6DAAM,IAAI,EAAC,QAAQ,GAAE,CAChB,CACA,CACP,CAAA;IACF,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {Component, Element, Fragment, h, Host, Method, Prop} from \"@stencil/core\"\nimport {TileClass, TileSizesType} from \"./constants\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {ButtonTargetType} from \"../gov-button/button/constants\"\n\n@Component({\n\ttag: \"gov-tile\",\n})\nexport class GovTile {\n\t@Element() host: HTMLGovTileElement\n\t/**\n\t * Tile’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: TileSizesType = \"m\"\n\t/**\n\t * Style variation of the tile.\n\t */\n\t@Prop() readonly orientation: \"vertical\" | \"horizontal\"\n\t/**\n\t * Tiles border\n\t */\n\t@Prop({ attribute: 'no-border' }) readonly noBorder: boolean = false\n\t/**\n\t * Link on whole tile\n\t */\n\t@Prop({reflect: true}) readonly href: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\tprivate triggerRef?: HTMLLinkElement | HTMLSpanElement\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TileClass.root)}\n\t\t\t\t size={this.size}\n\t\t\t\t orientation={this.orientation}\n\t\t\t\t clickable={this.href ? true : null}\n\t\t\t>\n\t\t\t\t<slot name=\"icon\"/>\n\t\t\t\t<div class={TileClass.content}>\n\t\t\t\t\t<div class={TileClass.text}>\n\t\t\t\t\t\t<div class={TileClass.title}>\n\t\t\t\t\t\t\t{this.href ? (\n\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\thref={this.href}\n\t\t\t\t\t\t\t\t\t\ttarget={this.target}\n\t\t\t\t\t\t\t\t\t\tclass={TileClass.link}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRef = el as HTMLLinkElement | HTMLSpanElement)}>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"title\"/>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t<span class={TileClass.icon}>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-right\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<slot name=\"title\"/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class={`${TileClass.annotation} ${this.href ? `${TileClass.annotation}--padding` : ''}`}>\n\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<slot name=\"button\"/>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getTriggerRef() {\n\t\treturn this.triggerRef\n\t}\n}\n"]}
@@ -10,6 +10,7 @@ export const ToastClass = {
10
10
  root: 'gov-toast',
11
11
  hidden: 'gov-toast--hidden',
12
12
  content: 'gov-toast__content',
13
+ icon: 'gov-toast__icon',
13
14
  close: 'gov-toast__close',
14
15
  timer: 'gov-toast__timer',
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/components/gov-toast/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGxC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;AAG9F,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AAClB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,kBAAkB;CACzB,CAAA","sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const ToastColors = pick(Colors, ['PRIMARY', 'NEUTRAL', 'ERROR', 'SUCCESS', 'WARNING'])\nexport type ToastColorType = `${ValueOf<typeof ToastColors>}`\n\nexport enum ToastType {\n\tBOLD = 'bold',\n\tSUBTLE = 'subtle',\n}\nexport type ToastTypesType = `${ValueOf<typeof ToastType>}`\n\nexport const ToastClass = {\n\troot: 'gov-toast',\n\thidden: 'gov-toast--hidden',\n\tcontent: 'gov-toast__content',\n\tclose: 'gov-toast__close',\n\ttimer: 'gov-toast__timer',\n}\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/components/gov-toast/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGxC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;AAG9F,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AAClB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,kBAAkB;CACzB,CAAA","sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const ToastColors = pick(Colors, ['PRIMARY', 'NEUTRAL', 'ERROR', 'SUCCESS', 'WARNING'])\nexport type ToastColorType = `${ValueOf<typeof ToastColors>}`\n\nexport enum ToastType {\n\tBOLD = 'bold',\n\tSUBTLE = 'subtle',\n}\nexport type ToastTypesType = `${ValueOf<typeof ToastType>}`\n\nexport const ToastClass = {\n\troot: 'gov-toast',\n\thidden: 'gov-toast--hidden',\n\tcontent: 'gov-toast__content',\n\ticon: 'gov-toast__icon',\n\tclose: 'gov-toast__close',\n\ttimer: 'gov-toast__timer',\n}\n"]}
@@ -53,12 +53,11 @@ export class GovToast {
53
53
  }
54
54
  }
55
55
  render() {
56
- return (h(Host, { key: '940d040e89e39a45d89398d0b1bf7df0ad541132', class: this.h.classes(ToastClass.root), "data-toast-id": this.toastId, gravity: this.gravity, position: this.position, color: this.color, type: this.type, style: { "--toast-duration": this.time + "ms" } }, this.h.hasSlot("icon") && (h("slot", { key: '83468790661861781f8c1a0cbbb3b9a81f4a3120', name: "icon" })), h("div", Object.assign({ key: 'ae1ade607226894dfa26a0a5d9cd8dc727d23ea7', class: ToastClass.content }, this.inheritedAttributes, { "aria-live": "polite", role: "status" }), h("slot", { key: 'a53e4ec532d32417cd64950cc174c63c83e1a7eb' })), h("gov-button", { key: '5e8ff6bc372ff702e883386e0968a61a297afdf5', size: "s", "aria-label": this.accessibleCloseLabel, color: this.isBold ? this.color : "neutral", type: "base", "on-gov-click": this.onCloseHandler.bind(this), class: ToastClass.close }, this.closeLabel ? this.closeLabel : h("gov-icon", { name: "x-lg" })), h("div", { key: 'bf031915e9731e8f34a922651948f5a2efd8e95c', class: ToastClass.timer })));
56
+ return (h(Host, { key: '897da92a579e5854078657783d54c4fcca1f0311', class: this.h.classes(ToastClass.root), "data-toast-id": this.toastId, gravity: this.gravity, position: this.position, color: this.color, type: this.type, style: { "--toast-duration": this.time + "ms" } }, this.h.hasSlot("icon") && (h("span", { key: '50b2dde54f6e566f95c81bbd5dd6c27870338a70', class: ToastClass.icon }, h("slot", { key: 'f47d01268f3098f56b064fc41dc18bab64771073', name: "icon" }))), h("div", Object.assign({ key: '4e508603bd41bc5375ecf2d84e5a1df239fcc6c4', class: ToastClass.content }, this.inheritedAttributes, { "aria-live": "polite", role: "status" }), h("slot", { key: 'ff7e107c1486319621a1832bdcc0387f56dc56db' })), h("gov-button", { key: 'dfe2964f40d66df0335219b9bc66f5a316ecf8ca', size: "s", "aria-label": this.accessibleCloseLabel, color: this.isBold ? this.color : "neutral", type: "base", "on-gov-click": this.onCloseHandler.bind(this), class: ToastClass.close }, this.closeLabel ? this.closeLabel : h("gov-icon", { name: "x-lg", type: "components" })), h("div", { key: '5f0c872a74f8cac07431903519ecc191322d4397', class: ToastClass.timer })));
57
57
  }
58
58
  onCloseHandler() {
59
- this.destroy()
60
- .then(() => this.govClose.emit(this.toastId))
61
- .catch();
59
+ this.govClose.emit(this.toastId);
60
+ this.destroy().catch();
62
61
  }
63
62
  get isBold() {
64
63
  return this.type === "bold";
@@ -1 +1 @@
1
- {"version":3,"file":"gov-toast.js","sourceRoot":"","sources":["../../../../../../src/components/gov-toast/gov-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {ToastClass, ToastColors, ToastColorType, ToastTypesType} from \"./constants\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {createID} from \"../../utils/string.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-toast\",\n})\nexport class GovToast {\n\tprivate h: GovHost\n\tprivate timeout\n\tprivate readonly toastId: string\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.toastId = createID(\"GovToast\")\n\t}\n\n\t@Element() host: HTMLGovToastElement\n\t/**\n\t * Style variation of the toast message.\n\t */\n\t@Prop() readonly color?: ToastColorType = \"primary\"\n\n\t/**\n\t * Toast’s gravity\n\t */\n\t@Prop() readonly gravity: \"top\" | \"bottom\" = \"top\"\n\t/**\n\t * Toast’s position\n\t */\n\t@Prop() readonly position: \"left\" | \"center\" | \"right\" = \"right\"\n\t/**\n\t * Toast type\n\t */\n\t@Prop() readonly type?: ToastTypesType = \"bold\"\n\t/**\n\t * Number of milliseconds to wait before Toast disappear\n\t */\n\t@Prop() readonly time: number = 0\n\t/**\n\t * Closing button texting instead of icons\n\t */\n\t@Prop({attribute: \"close-label\"}) readonly closeLabel: string\n\t/**\n\t * Aria label for the closing button. It is mandatory if the alert is closable\n\t */\n\t@Prop({attribute: \"accessible-close-label\"}) readonly accessibleCloseLabel: string\n\t/**\n\t * Called when the close button is clicked\n\t */\n\t@Event({eventName: \"gov-close\"}) govClose: EventEmitter<string>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ToastColors, newValue, ToastClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.runTimer()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\n\tdisconnectedCallback() {\n\t\tclearTimeout(this.timeout)\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate runTimer() {\n\t\tif (this.isTimer) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.classList.add(ToastClass.hidden)\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.destroy().catch()\n\t\t\t\t\tthis.govClose.emit(this.toastId)\n\t\t\t\t}, 600)\n\t\t\t}, this.time)\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(ToastClass.root)}\n\t\t\t\tdata-toast-id={this.toastId}\n\t\t\t\tgravity={this.gravity}\n\t\t\t\tposition={this.position}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tstyle={{\"--toast-duration\": this.time + \"ms\"}}\n\t\t\t>\n\t\t\t\t{this.h.hasSlot(\"icon\") && (\n\t\t\t\t\t<slot name=\"icon\"/>\n\t\t\t\t)}\n\n\t\t\t\t<div class={ToastClass.content} {...this.inheritedAttributes} aria-live=\"polite\" role=\"status\">\n\t\t\t\t\t<slot/>\n\t\t\t\t</div>\n\n\t\t\t\t<gov-button\n\t\t\t\t\tsize=\"s\"\n\t\t\t\t\taria-label={this.accessibleCloseLabel}\n\t\t\t\t\tcolor={this.isBold ? this.color : \"neutral\"}\n\t\t\t\t\ttype=\"base\"\n\t\t\t\t\ton-gov-click={this.onCloseHandler.bind(this)}\n\t\t\t\t\tclass={ToastClass.close}\n\t\t\t\t>\n\t\t\t\t\t{this.closeLabel ? this.closeLabel : <gov-icon name=\"x-lg\"></gov-icon>}\n\t\t\t\t</gov-button>\n\n\t\t\t\t<div class={ToastClass.timer}></div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onCloseHandler(): void {\n\t\tthis.destroy()\n\t\t\t.then(() => this.govClose.emit(this.toastId))\n\t\t\t.catch()\n\t}\n\n\tget isBold(): boolean {\n\t\treturn this.type === \"bold\"\n\t}\n\n\tget isTimer(): boolean {\n\t\treturn Number.isInteger(this.time) && this.time > 0\n\t}\n\n\t/**\n\t * Remove toast from dom\n\t */\n\t@Method()\n\tasync destroy(): Promise<void> {\n\t\tclearTimeout(this.timeout)\n\t\tconst toast = document.querySelector(`[data-toast-id=\"${this.toastId}\"]`)\n\t\tif (toast) {\n\t\t\ttoast.classList.add(ToastClass.hidden)\n\t\t\tif (typeof toast.remove === \"function\") {\n\t\t\t\ttoast.remove()\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"gov-toast.js","sourceRoot":"","sources":["../../../../../../src/components/gov-toast/gov-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {ToastClass, ToastColors, ToastColorType, ToastTypesType} from \"./constants\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {createID} from \"../../utils/string.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-toast\",\n})\nexport class GovToast {\n\tprivate h: GovHost\n\tprivate timeout\n\tprivate readonly toastId: string\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.toastId = createID(\"GovToast\")\n\t}\n\n\t@Element() host: HTMLGovToastElement\n\t/**\n\t * Style variation of the toast message.\n\t */\n\t@Prop() readonly color?: ToastColorType = \"primary\"\n\n\t/**\n\t * Toast’s gravity\n\t */\n\t@Prop() readonly gravity: \"top\" | \"bottom\" = \"top\"\n\t/**\n\t * Toast’s position\n\t */\n\t@Prop() readonly position: \"left\" | \"center\" | \"right\" = \"right\"\n\t/**\n\t * Toast type\n\t */\n\t@Prop() readonly type?: ToastTypesType = \"bold\"\n\t/**\n\t * Number of milliseconds to wait before Toast disappear\n\t */\n\t@Prop() readonly time: number = 0\n\t/**\n\t * Closing button texting instead of icons\n\t */\n\t@Prop({attribute: \"close-label\"}) readonly closeLabel: string\n\t/**\n\t * Aria label for the closing button. It is mandatory if the alert is closable\n\t */\n\t@Prop({attribute: \"accessible-close-label\"}) readonly accessibleCloseLabel: string\n\t/**\n\t * Called when the close button is clicked\n\t */\n\t@Event({eventName: \"gov-close\"}) govClose: EventEmitter<string>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ToastColors, newValue, ToastClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.runTimer()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\n\tdisconnectedCallback() {\n\t\tclearTimeout(this.timeout)\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate runTimer() {\n\t\tif (this.isTimer) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.classList.add(ToastClass.hidden)\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.destroy().catch()\n\t\t\t\t\tthis.govClose.emit(this.toastId)\n\t\t\t\t}, 600)\n\t\t\t}, this.time)\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(ToastClass.root)}\n\t\t\t\tdata-toast-id={this.toastId}\n\t\t\t\tgravity={this.gravity}\n\t\t\t\tposition={this.position}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tstyle={{\"--toast-duration\": this.time + \"ms\"}}\n\t\t\t>\n\t\t\t\t{this.h.hasSlot(\"icon\") && (\n\t\t\t\t\t<span class={ToastClass.icon}>\n\t\t\t\t\t\t<slot name=\"icon\"/>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\n\t\t\t\t<div class={ToastClass.content} {...this.inheritedAttributes} aria-live=\"polite\" role=\"status\">\n\t\t\t\t\t<slot/>\n\t\t\t\t</div>\n\n\t\t\t\t<gov-button\n\t\t\t\t\tsize=\"s\"\n\t\t\t\t\taria-label={this.accessibleCloseLabel}\n\t\t\t\t\tcolor={this.isBold ? this.color : \"neutral\"}\n\t\t\t\t\ttype=\"base\"\n\t\t\t\t\ton-gov-click={this.onCloseHandler.bind(this)}\n\t\t\t\t\tclass={ToastClass.close}\n\t\t\t\t>\n\t\t\t\t\t{this.closeLabel ? this.closeLabel : <gov-icon name=\"x-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t</gov-button>\n\n\t\t\t\t<div class={ToastClass.timer}></div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onCloseHandler(): void {\n\t\tthis.govClose.emit(this.toastId)\n\t\tthis.destroy().catch()\n\t}\n\n\tget isBold(): boolean {\n\t\treturn this.type === \"bold\"\n\t}\n\n\tget isTimer(): boolean {\n\t\treturn Number.isInteger(this.time) && this.time > 0\n\t}\n\n\t/**\n\t * Remove toast from dom\n\t */\n\t@Method()\n\tasync destroy(): Promise<void> {\n\t\tclearTimeout(this.timeout)\n\t\tconst toast = document.querySelector(`[data-toast-id=\"${this.toastId}\"]`)\n\t\tif (toast) {\n\t\t\ttoast.classList.add(ToastClass.hidden)\n\t\t\tif (typeof toast.remove === \"function\") {\n\t\t\t\ttoast.remove()\n\t\t\t}\n\t\t}\n\t}\n}\n"]}