@gov-design-system-ce/components 0.0.12 → 0.0.14

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 (680) hide show
  1. package/dist/cjs/{constants-e175be18.js → constants-0883e74c.js} +2 -2
  2. package/dist/cjs/constants-0883e74c.js.map +1 -0
  3. package/dist/cjs/{constants-245999e7.js → constants-adc8268f.js} +2 -2
  4. package/dist/cjs/constants-adc8268f.js.map +1 -0
  5. package/dist/cjs/core.cjs.js +2 -2
  6. package/dist/cjs/gov-accordion-item.cjs.entry.js +13 -9
  7. package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gov-accordion.cjs.entry.js +3 -3
  9. package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gov-alert.cjs.entry.js +2 -2
  11. package/dist/cjs/gov-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-app.cjs.entry.js +79 -7
  13. package/dist/cjs/gov-app.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-attachments_3.cjs.entry.js +4 -4
  15. package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gov-backdrop.cjs.entry.js +2 -2
  17. package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gov-badge.cjs.entry.js +3 -3
  19. package/dist/cjs/gov-badge.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +3 -33
  21. package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-button.cjs.entry.js +3 -3
  23. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gov-card.cjs.entry.js +2 -2
  25. package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gov-container.cjs.entry.js +2 -2
  27. package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gov-cookiebar.cjs.entry.js +2 -2
  29. package/dist/cjs/gov-cookiebar.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gov-empty.cjs.entry.js +2 -2
  31. package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gov-error-code.cjs.entry.js +2 -2
  33. package/dist/cjs/gov-error-code.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +2 -2
  35. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-form-checkbox.cjs.entry.js +2 -2
  37. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gov-form-control.cjs.entry.js +2 -2
  39. package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gov-form-file.cjs.entry.js +2 -2
  41. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gov-form-group.cjs.entry.js +2 -2
  43. package/dist/cjs/gov-form-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gov-form-input.cjs.entry.js +2 -2
  45. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gov-form-label.cjs.entry.js +2 -2
  47. package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gov-form-multi-select.cjs.entry.js +2 -2
  49. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gov-form-password-power.cjs.entry.js +2 -2
  51. package/dist/cjs/gov-form-password-power.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gov-form-radio.cjs.entry.js +2 -2
  53. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gov-form-search.cjs.entry.js +2 -2
  55. package/dist/cjs/gov-form-search.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gov-form-select.cjs.entry.js +2 -2
  57. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gov-form-switch.cjs.entry.js +2 -2
  59. package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gov-grid-item.cjs.entry.js +2 -2
  61. package/dist/cjs/gov-grid-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gov-grid.cjs.entry.js +2 -2
  63. package/dist/cjs/gov-grid.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gov-icon.cjs.entry.js +3 -3
  65. package/dist/cjs/gov-icon.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gov-layout-column.cjs.entry.js +2 -2
  67. package/dist/cjs/gov-layout-column.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gov-layout.cjs.entry.js +2 -2
  69. package/dist/cjs/gov-layout.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gov-loading.cjs.entry.js +2 -2
  71. package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gov-message.cjs.entry.js +2 -2
  73. package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gov-modal.cjs.entry.js +2 -2
  75. package/dist/cjs/gov-modal.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gov-nav-item.cjs.entry.js +2 -2
  77. package/dist/cjs/gov-nav-item.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gov-nav.cjs.entry.js +2 -2
  79. package/dist/cjs/gov-nav.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gov-pagination.cjs.entry.js +2 -2
  81. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gov-prompt.cjs.entry.js +2 -2
  83. package/dist/cjs/gov-prompt.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gov-side-nav-item.cjs.entry.js +2 -2
  85. package/dist/cjs/gov-side-nav-item.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gov-side-nav.cjs.entry.js +2 -2
  87. package/dist/cjs/gov-side-nav.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gov-skeleton.cjs.entry.js +117 -0
  89. package/dist/cjs/gov-skeleton.cjs.entry.js.map +1 -0
  90. package/dist/cjs/gov-spacer.cjs.entry.js +2 -2
  91. package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gov-statsbar-item.cjs.entry.js +2 -2
  93. package/dist/cjs/gov-statsbar-item.cjs.entry.js.map +1 -1
  94. package/dist/cjs/gov-statsbar.cjs.entry.js +2 -2
  95. package/dist/cjs/gov-statsbar.cjs.entry.js.map +1 -1
  96. package/dist/cjs/gov-stepper-item.cjs.entry.js +2 -2
  97. package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
  98. package/dist/cjs/gov-stepper.cjs.entry.js +2 -2
  99. package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
  100. package/dist/cjs/gov-tabs-item.cjs.entry.js +2 -2
  101. package/dist/cjs/gov-tabs-item.cjs.entry.js.map +1 -1
  102. package/dist/cjs/gov-tabs.cjs.entry.js +2 -2
  103. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  104. package/dist/cjs/gov-tile.cjs.entry.js +2 -2
  105. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  106. package/dist/cjs/gov-tiles.cjs.entry.js +2 -2
  107. package/dist/cjs/gov-tiles.cjs.entry.js.map +1 -1
  108. package/dist/cjs/gov-toast.cjs.entry.js +2 -2
  109. package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
  110. package/dist/cjs/gov-tooltip-content.cjs.entry.js +2 -2
  111. package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
  112. package/dist/cjs/gov-tooltip.cjs.entry.js +2 -2
  113. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  114. package/dist/cjs/gov-wizzard-item.cjs.entry.js +2 -2
  115. package/dist/cjs/gov-wizzard-item.cjs.entry.js.map +1 -1
  116. package/dist/cjs/gov-wizzard.cjs.entry.js +2 -2
  117. package/dist/cjs/gov-wizzard.cjs.entry.js.map +1 -1
  118. package/dist/cjs/{index-356717ae.js → index-29ac07f6.js} +64 -2
  119. package/dist/cjs/index-29ac07f6.js.map +1 -0
  120. package/dist/cjs/loader.cjs.js +2 -2
  121. package/dist/collection/collection-manifest.json +3 -2
  122. package/dist/collection/components/gov-accordion/constants.js +1 -1
  123. package/dist/collection/components/gov-accordion/constants.js.map +1 -1
  124. package/dist/collection/components/gov-accordion/gov-accordion-item.css +19 -0
  125. package/dist/collection/components/gov-accordion/gov-accordion-item.js +39 -17
  126. package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
  127. package/dist/collection/components/gov-accordion/gov-accordion.css +19 -0
  128. package/dist/collection/components/gov-accordion/gov-accordion.js +1 -1
  129. package/dist/collection/components/gov-alert/gov-alert.css +19 -0
  130. package/dist/collection/components/gov-app/gov-app.css +19 -0
  131. package/dist/collection/components/gov-attachments/gov-attachments-item.css +19 -0
  132. package/dist/collection/components/gov-attachments/gov-attachments.css +19 -0
  133. package/dist/collection/components/gov-backdrop/gov-backdrop.css +19 -0
  134. package/dist/collection/components/gov-badge/gov-badge.css +19 -0
  135. package/dist/collection/components/gov-badge/gov-badge.js +1 -1
  136. package/dist/collection/components/gov-breadcrumbs/constants.js +0 -4
  137. package/dist/collection/components/gov-breadcrumbs/constants.js.map +1 -1
  138. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.css +45 -16
  139. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +2 -81
  140. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js.map +1 -1
  141. package/dist/collection/components/gov-button/constants.js +1 -1
  142. package/dist/collection/components/gov-button/constants.js.map +1 -1
  143. package/dist/collection/components/gov-button/gov-button.css +19 -0
  144. package/dist/collection/components/gov-button/gov-button.js +1 -1
  145. package/dist/collection/components/gov-card/gov-card.css +19 -0
  146. package/dist/collection/components/gov-container/gov-container.css +19 -0
  147. package/dist/collection/components/gov-cookiebar/gov-cookiebar.css +19 -0
  148. package/dist/collection/components/gov-empty/gov-empty.css +19 -0
  149. package/dist/collection/components/gov-error-code/gov-error-code.css +19 -0
  150. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.css +19 -0
  151. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.css +19 -0
  152. package/dist/collection/components/gov-form/control/gov-form-control.css +19 -0
  153. package/dist/collection/components/gov-form/file/gov-form-file.css +19 -0
  154. package/dist/collection/components/gov-form/group/gov-form-group.css +19 -0
  155. package/dist/collection/components/gov-form/input/gov-form-input.css +19 -0
  156. package/dist/collection/components/gov-form/label/gov-form-label.css +19 -0
  157. package/dist/collection/components/gov-form/message/gov-form-message.css +19 -0
  158. package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
  159. package/dist/collection/components/gov-form/message/gov-form-message.js.map +1 -1
  160. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.css +19 -0
  161. package/dist/collection/components/gov-form/password-power/gov-form-password-power.css +19 -0
  162. package/dist/collection/components/gov-form/radio/gov-form-radio.css +19 -0
  163. package/dist/collection/components/gov-form/search/gov-form-search.css +22 -3
  164. package/dist/collection/components/gov-form/select/gov-form-select.css +19 -0
  165. package/dist/collection/components/gov-form/switch/gov-form-switch.css +19 -0
  166. package/dist/collection/components/gov-grid/gov-grid-item.css +19 -0
  167. package/dist/collection/components/gov-grid/gov-grid.css +19 -0
  168. package/dist/collection/components/gov-icon/gov-icon.css +19 -0
  169. package/dist/collection/components/gov-layout/gov-layout-column.css +19 -0
  170. package/dist/collection/components/gov-layout/gov-layout.css +19 -0
  171. package/dist/collection/components/gov-loading/loading/constants.js.map +1 -0
  172. package/dist/collection/components/gov-loading/{gov-loading.css → loading/gov-loading.css} +19 -0
  173. package/dist/collection/components/gov-loading/{gov-loading.js → loading/gov-loading.js} +1 -1
  174. package/dist/collection/components/gov-loading/loading/gov-loading.js.map +1 -0
  175. package/dist/collection/components/gov-loading/skeleton/constants.js +20 -0
  176. package/dist/collection/components/gov-loading/skeleton/constants.js.map +1 -0
  177. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.css +290 -0
  178. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +267 -0
  179. package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js.map +1 -0
  180. package/dist/collection/components/gov-message/gov-message.css +19 -0
  181. package/dist/collection/components/gov-modal/gov-modal.css +19 -0
  182. package/dist/collection/components/gov-nav/gov-nav-item.css +19 -0
  183. package/dist/collection/components/gov-nav/gov-nav.css +19 -0
  184. package/dist/collection/components/gov-pagination/gov-pagination.css +19 -0
  185. package/dist/collection/components/gov-promp/gov-prompt.css +19 -0
  186. package/dist/collection/components/gov-side-nav/gov-side-nav-item.css +19 -0
  187. package/dist/collection/components/gov-side-nav/gov-side-nav.css +19 -0
  188. package/dist/collection/components/gov-spacer/gov-spacer.css +19 -0
  189. package/dist/collection/components/gov-statsbar/gov-statsbar-item.css +19 -0
  190. package/dist/collection/components/gov-statsbar/gov-statsbar.css +19 -0
  191. package/dist/collection/components/gov-stepper/gov-stepper-item.css +19 -0
  192. package/dist/collection/components/gov-stepper/gov-stepper.css +19 -0
  193. package/dist/collection/components/gov-tabs/gov-tabs-item.css +19 -0
  194. package/dist/collection/components/gov-tabs/gov-tabs.css +19 -0
  195. package/dist/collection/components/gov-tile/container/constants.js.map +1 -0
  196. package/dist/collection/components/{gov-tiles → gov-tile/container}/gov-tiles.css +19 -0
  197. package/dist/collection/components/{gov-tiles → gov-tile/container}/gov-tiles.js +2 -2
  198. package/dist/collection/components/gov-tile/container/gov-tiles.js.map +1 -0
  199. package/dist/collection/components/gov-tile/gov-tile.css +19 -0
  200. package/dist/collection/components/gov-toast/gov-toast.css +19 -0
  201. package/dist/collection/components/gov-tooltip/gov-tooltip-content.css +19 -0
  202. package/dist/collection/components/gov-tooltip/gov-tooltip.css +19 -0
  203. package/dist/collection/components/gov-wizzard/gov-wizzard-item.css +19 -0
  204. package/dist/collection/components/gov-wizzard/gov-wizzard.css +19 -0
  205. package/dist/collection/pages/Breadcrumbs.js +25 -5
  206. package/dist/collection/pages/Breadcrumbs.js.map +1 -1
  207. package/dist/collection/pages/Loading.js +52 -0
  208. package/dist/collection/pages/Loading.js.map +1 -1
  209. package/dist/components/constants.js +1 -1
  210. package/dist/components/constants.js.map +1 -1
  211. package/dist/components/constants3.js +1 -1
  212. package/dist/components/constants3.js.map +1 -1
  213. package/dist/components/gov-accordion-item.js +13 -7
  214. package/dist/components/gov-accordion-item.js.map +1 -1
  215. package/dist/components/gov-accordion.js +2 -1
  216. package/dist/components/gov-accordion.js.map +1 -1
  217. package/dist/components/gov-alert.js +2 -1
  218. package/dist/components/gov-alert.js.map +1 -1
  219. package/dist/components/gov-app.js +79 -6
  220. package/dist/components/gov-app.js.map +1 -1
  221. package/dist/components/gov-attachments-item2.js +2 -1
  222. package/dist/components/gov-attachments-item2.js.map +1 -1
  223. package/dist/components/gov-attachments2.js +2 -1
  224. package/dist/components/gov-attachments2.js.map +1 -1
  225. package/dist/components/gov-backdrop2.js +2 -1
  226. package/dist/components/gov-backdrop2.js.map +1 -1
  227. package/dist/components/gov-badge2.js +2 -1
  228. package/dist/components/gov-badge2.js.map +1 -1
  229. package/dist/components/gov-breadcrumbs.js +6 -51
  230. package/dist/components/gov-breadcrumbs.js.map +1 -1
  231. package/dist/components/gov-button2.js +2 -1
  232. package/dist/components/gov-button2.js.map +1 -1
  233. package/dist/components/gov-card.js +2 -1
  234. package/dist/components/gov-card.js.map +1 -1
  235. package/dist/components/gov-container.js +2 -1
  236. package/dist/components/gov-container.js.map +1 -1
  237. package/dist/components/gov-cookiebar.js +2 -1
  238. package/dist/components/gov-cookiebar.js.map +1 -1
  239. package/dist/components/gov-empty.js +2 -1
  240. package/dist/components/gov-empty.js.map +1 -1
  241. package/dist/components/gov-error-code.js +2 -1
  242. package/dist/components/gov-error-code.js.map +1 -1
  243. package/dist/components/gov-form-autocomplete2.js +2 -1
  244. package/dist/components/gov-form-autocomplete2.js.map +1 -1
  245. package/dist/components/gov-form-checkbox.js +2 -1
  246. package/dist/components/gov-form-checkbox.js.map +1 -1
  247. package/dist/components/gov-form-control.js +2 -1
  248. package/dist/components/gov-form-control.js.map +1 -1
  249. package/dist/components/gov-form-file.js +2 -1
  250. package/dist/components/gov-form-file.js.map +1 -1
  251. package/dist/components/gov-form-group.js +2 -1
  252. package/dist/components/gov-form-group.js.map +1 -1
  253. package/dist/components/gov-form-input2.js +2 -1
  254. package/dist/components/gov-form-input2.js.map +1 -1
  255. package/dist/components/gov-form-label.js +2 -1
  256. package/dist/components/gov-form-label.js.map +1 -1
  257. package/dist/components/gov-form-message2.js +2 -1
  258. package/dist/components/gov-form-message2.js.map +1 -1
  259. package/dist/components/gov-form-multi-select.js +2 -1
  260. package/dist/components/gov-form-multi-select.js.map +1 -1
  261. package/dist/components/gov-form-password-power.js +2 -1
  262. package/dist/components/gov-form-password-power.js.map +1 -1
  263. package/dist/components/gov-form-radio.js +2 -1
  264. package/dist/components/gov-form-radio.js.map +1 -1
  265. package/dist/components/gov-form-search.js +2 -1
  266. package/dist/components/gov-form-search.js.map +1 -1
  267. package/dist/components/gov-form-select2.js +2 -1
  268. package/dist/components/gov-form-select2.js.map +1 -1
  269. package/dist/components/gov-form-switch.js +2 -1
  270. package/dist/components/gov-form-switch.js.map +1 -1
  271. package/dist/components/gov-grid-item.js +2 -1
  272. package/dist/components/gov-grid-item.js.map +1 -1
  273. package/dist/components/gov-grid.js +2 -1
  274. package/dist/components/gov-grid.js.map +1 -1
  275. package/dist/components/gov-icon2.js +3 -2
  276. package/dist/components/gov-icon2.js.map +1 -1
  277. package/dist/components/gov-layout-column.js +2 -1
  278. package/dist/components/gov-layout-column.js.map +1 -1
  279. package/dist/components/gov-layout.js +2 -1
  280. package/dist/components/gov-layout.js.map +1 -1
  281. package/dist/components/gov-loading.js +2 -1
  282. package/dist/components/gov-loading.js.map +1 -1
  283. package/dist/components/gov-message.js +2 -1
  284. package/dist/components/gov-message.js.map +1 -1
  285. package/dist/components/gov-modal.js +2 -1
  286. package/dist/components/gov-modal.js.map +1 -1
  287. package/dist/components/gov-nav-item.js +2 -1
  288. package/dist/components/gov-nav-item.js.map +1 -1
  289. package/dist/components/gov-nav.js +2 -1
  290. package/dist/components/gov-nav.js.map +1 -1
  291. package/dist/components/gov-pagination.js +2 -1
  292. package/dist/components/gov-pagination.js.map +1 -1
  293. package/dist/components/gov-prompt.js +2 -1
  294. package/dist/components/gov-prompt.js.map +1 -1
  295. package/dist/components/gov-side-nav-item.js +2 -1
  296. package/dist/components/gov-side-nav-item.js.map +1 -1
  297. package/dist/components/gov-side-nav.js +2 -1
  298. package/dist/components/gov-side-nav.js.map +1 -1
  299. package/dist/components/gov-skeleton.d.ts +11 -0
  300. package/dist/components/gov-skeleton.js +138 -0
  301. package/dist/components/gov-skeleton.js.map +1 -0
  302. package/dist/components/gov-spacer.js +2 -1
  303. package/dist/components/gov-spacer.js.map +1 -1
  304. package/dist/components/gov-statsbar-item.js +2 -1
  305. package/dist/components/gov-statsbar-item.js.map +1 -1
  306. package/dist/components/gov-statsbar.js +2 -1
  307. package/dist/components/gov-statsbar.js.map +1 -1
  308. package/dist/components/gov-stepper-item.js +2 -1
  309. package/dist/components/gov-stepper-item.js.map +1 -1
  310. package/dist/components/gov-stepper.js +2 -1
  311. package/dist/components/gov-stepper.js.map +1 -1
  312. package/dist/components/gov-tabs-item.js +2 -1
  313. package/dist/components/gov-tabs-item.js.map +1 -1
  314. package/dist/components/gov-tabs.js +2 -1
  315. package/dist/components/gov-tabs.js.map +1 -1
  316. package/dist/components/gov-tile.js +2 -1
  317. package/dist/components/gov-tile.js.map +1 -1
  318. package/dist/components/gov-tiles.js +2 -1
  319. package/dist/components/gov-tiles.js.map +1 -1
  320. package/dist/components/gov-toast.js +2 -1
  321. package/dist/components/gov-toast.js.map +1 -1
  322. package/dist/components/gov-tooltip-content.js +2 -1
  323. package/dist/components/gov-tooltip-content.js.map +1 -1
  324. package/dist/components/gov-tooltip.js +2 -1
  325. package/dist/components/gov-tooltip.js.map +1 -1
  326. package/dist/components/gov-wizzard-item.js +2 -1
  327. package/dist/components/gov-wizzard-item.js.map +1 -1
  328. package/dist/components/gov-wizzard.js +2 -1
  329. package/dist/components/gov-wizzard.js.map +1 -1
  330. package/dist/components/index.d.ts +3 -2
  331. package/dist/components/index.js +1 -0
  332. package/dist/components/index.js.map +1 -1
  333. package/dist/core/core.css +1 -1
  334. package/dist/core/core.esm.js +1 -1
  335. package/dist/core/core.esm.js.map +1 -1
  336. package/dist/core/p-0272ffa0.entry.js +2 -0
  337. package/dist/core/{p-5b4e3bdf.entry.js.map → p-0272ffa0.entry.js.map} +1 -1
  338. package/dist/core/p-042d5b20.entry.js +2 -0
  339. package/dist/core/{p-1bb5184f.entry.js.map → p-042d5b20.entry.js.map} +1 -1
  340. package/dist/core/p-0874a5ec.entry.js +2 -0
  341. package/dist/core/p-0874a5ec.entry.js.map +1 -0
  342. package/dist/core/p-0f0564e8.entry.js +2 -0
  343. package/dist/core/{p-c0d3d3e0.entry.js.map → p-0f0564e8.entry.js.map} +1 -1
  344. package/dist/core/p-131c50d1.entry.js +2 -0
  345. package/dist/core/{p-e86bffd0.entry.js.map → p-131c50d1.entry.js.map} +1 -1
  346. package/dist/core/p-1c877e8e.entry.js +2 -0
  347. package/dist/core/{p-02c1b4db.entry.js.map → p-1c877e8e.entry.js.map} +1 -1
  348. package/dist/core/p-1def0eb2.entry.js +2 -0
  349. package/dist/core/{p-733bd593.entry.js.map → p-1def0eb2.entry.js.map} +1 -1
  350. package/dist/core/p-2426fa82.entry.js +2 -0
  351. package/dist/core/{p-9d51ea56.entry.js.map → p-2426fa82.entry.js.map} +1 -1
  352. package/dist/core/p-24877419.entry.js +2 -0
  353. package/dist/core/{p-9ca0a11c.entry.js.map → p-24877419.entry.js.map} +1 -1
  354. package/dist/core/p-2f88b6d9.entry.js +2 -0
  355. package/dist/core/{p-a6c8d474.entry.js.map → p-2f88b6d9.entry.js.map} +1 -1
  356. package/dist/core/p-30b162df.entry.js +2 -0
  357. package/dist/core/p-30b162df.entry.js.map +1 -0
  358. package/dist/core/p-337fb136.entry.js +2 -0
  359. package/dist/core/{p-4e12d6e3.entry.js.map → p-337fb136.entry.js.map} +1 -1
  360. package/dist/core/p-3f92f3bf.entry.js +2 -0
  361. package/dist/core/{p-4b375a4d.entry.js.map → p-3f92f3bf.entry.js.map} +1 -1
  362. package/dist/core/p-402c2751.entry.js +2 -0
  363. package/dist/core/{p-9658b6ef.entry.js.map → p-402c2751.entry.js.map} +1 -1
  364. package/dist/core/p-405fc50f.entry.js +2 -0
  365. package/dist/core/{p-c9948e57.entry.js.map → p-405fc50f.entry.js.map} +1 -1
  366. package/dist/core/p-42636ddf.entry.js +2 -0
  367. package/dist/core/{p-fc9d66ae.entry.js.map → p-42636ddf.entry.js.map} +1 -1
  368. package/dist/core/p-429850b9.entry.js +2 -0
  369. package/dist/core/p-429850b9.entry.js.map +1 -0
  370. package/dist/core/p-471c0863.entry.js +2 -0
  371. package/dist/core/{p-613d8ed8.entry.js.map → p-471c0863.entry.js.map} +1 -1
  372. package/dist/core/p-4af5e4f4.js +3 -0
  373. package/dist/core/p-4af5e4f4.js.map +1 -0
  374. package/dist/core/p-52dc68aa.entry.js +2 -0
  375. package/dist/core/{p-f531f5c4.entry.js.map → p-52dc68aa.entry.js.map} +1 -1
  376. package/dist/core/p-540e79c4.entry.js +2 -0
  377. package/dist/core/{p-01bdd4a4.entry.js.map → p-540e79c4.entry.js.map} +1 -1
  378. package/dist/core/p-5a1c8d48.entry.js +2 -0
  379. package/dist/core/{p-68d968ac.entry.js.map → p-5a1c8d48.entry.js.map} +1 -1
  380. package/dist/core/p-5d348765.entry.js +2 -0
  381. package/dist/core/{p-8a8d846c.entry.js.map → p-5d348765.entry.js.map} +1 -1
  382. package/dist/core/p-5e4cf9a2.entry.js +2 -0
  383. package/dist/core/{p-8dacc8dc.entry.js.map → p-5e4cf9a2.entry.js.map} +1 -1
  384. package/dist/core/p-61103476.entry.js +2 -0
  385. package/dist/core/{p-533bd158.entry.js.map → p-61103476.entry.js.map} +1 -1
  386. package/dist/core/p-67006730.entry.js +2 -0
  387. package/dist/core/{p-ac33c5ef.entry.js.map → p-67006730.entry.js.map} +1 -1
  388. package/dist/core/p-6aa31f02.entry.js +2 -0
  389. package/dist/core/{p-7be3abb5.entry.js.map → p-6aa31f02.entry.js.map} +1 -1
  390. package/dist/core/p-732f74fe.entry.js +2 -0
  391. package/dist/core/{p-49853c5a.entry.js.map → p-732f74fe.entry.js.map} +1 -1
  392. package/dist/core/p-76e2aa52.entry.js +2 -0
  393. package/dist/core/{p-e57d250f.entry.js.map → p-76e2aa52.entry.js.map} +1 -1
  394. package/dist/core/p-7bfa06b1.entry.js +2 -0
  395. package/dist/core/{p-4d73d70e.entry.js.map → p-7bfa06b1.entry.js.map} +1 -1
  396. package/dist/core/p-8204070b.entry.js +2 -0
  397. package/dist/core/{p-b37ca132.entry.js.map → p-8204070b.entry.js.map} +1 -1
  398. package/dist/core/p-8bebbcc7.entry.js +2 -0
  399. package/dist/core/{p-63d2e8ec.entry.js.map → p-8bebbcc7.entry.js.map} +1 -1
  400. package/dist/core/p-93edcce2.entry.js +2 -0
  401. package/dist/core/{p-b5284ce3.entry.js.map → p-93edcce2.entry.js.map} +1 -1
  402. package/dist/core/p-9bdce72b.entry.js +2 -0
  403. package/dist/core/{p-8d5c9030.entry.js.map → p-9bdce72b.entry.js.map} +1 -1
  404. package/dist/core/p-a4d23e73.entry.js +2 -0
  405. package/dist/core/{p-25380da6.entry.js.map → p-a4d23e73.entry.js.map} +1 -1
  406. package/dist/core/p-a5d69694.js +2 -0
  407. package/dist/core/p-a5d69694.js.map +1 -0
  408. package/dist/core/p-a89c27c1.entry.js +2 -0
  409. package/dist/core/{p-3e9ba1c1.entry.js.map → p-a89c27c1.entry.js.map} +1 -1
  410. package/dist/core/p-aba39622.entry.js +2 -0
  411. package/dist/core/{p-a5e34e93.entry.js.map → p-aba39622.entry.js.map} +1 -1
  412. package/dist/core/p-b2275b3d.js +2 -0
  413. package/dist/core/p-b2275b3d.js.map +1 -0
  414. package/dist/core/p-b7587525.entry.js +2 -0
  415. package/dist/core/{p-ae3e2d60.entry.js.map → p-b7587525.entry.js.map} +1 -1
  416. package/dist/core/p-bce96aac.entry.js +2 -0
  417. package/dist/core/p-bce96aac.entry.js.map +1 -0
  418. package/dist/core/p-c836f7cd.entry.js +2 -0
  419. package/dist/core/{p-d2d8998d.entry.js.map → p-c836f7cd.entry.js.map} +1 -1
  420. package/dist/core/p-c91928ed.entry.js +2 -0
  421. package/dist/core/p-c91928ed.entry.js.map +1 -0
  422. package/dist/core/p-d2f6053f.entry.js +2 -0
  423. package/dist/core/{p-595a2301.entry.js.map → p-d2f6053f.entry.js.map} +1 -1
  424. package/dist/core/p-d389c001.entry.js +2 -0
  425. package/dist/core/{p-f1fe9358.entry.js.map → p-d389c001.entry.js.map} +1 -1
  426. package/dist/core/p-d5c2db32.entry.js +2 -0
  427. package/dist/core/{p-9ba104c3.entry.js.map → p-d5c2db32.entry.js.map} +1 -1
  428. package/dist/core/p-d8def432.entry.js +2 -0
  429. package/dist/core/{p-72f16a95.entry.js.map → p-d8def432.entry.js.map} +1 -1
  430. package/dist/core/p-d90a2718.entry.js +2 -0
  431. package/dist/core/{p-24cde59e.entry.js.map → p-d90a2718.entry.js.map} +1 -1
  432. package/dist/core/p-d9b4bc20.entry.js +2 -0
  433. package/dist/core/{p-84fda9dd.entry.js.map → p-d9b4bc20.entry.js.map} +1 -1
  434. package/dist/core/p-dc94a1da.entry.js +2 -0
  435. package/dist/core/{p-cf6576fd.entry.js.map → p-dc94a1da.entry.js.map} +1 -1
  436. package/dist/core/p-e1e4c8f8.entry.js +2 -0
  437. package/dist/core/p-e1e4c8f8.entry.js.map +1 -0
  438. package/dist/core/p-e3141382.entry.js +2 -0
  439. package/dist/core/{p-b966062a.entry.js.map → p-e3141382.entry.js.map} +1 -1
  440. package/dist/core/p-e4bb6100.entry.js +2 -0
  441. package/dist/core/{p-16608a87.entry.js.map → p-e4bb6100.entry.js.map} +1 -1
  442. package/dist/core/p-e4bb6114.entry.js +2 -0
  443. package/dist/core/{p-9d30e79e.entry.js.map → p-e4bb6114.entry.js.map} +1 -1
  444. package/dist/core/p-e6b8c610.entry.js +2 -0
  445. package/dist/core/{p-ef095a1f.entry.js.map → p-e6b8c610.entry.js.map} +1 -1
  446. package/dist/core/p-ef393836.entry.js +2 -0
  447. package/dist/core/{p-833ab414.entry.js.map → p-ef393836.entry.js.map} +1 -1
  448. package/dist/core/p-f0a4439e.entry.js +2 -0
  449. package/dist/core/p-f0a4439e.entry.js.map +1 -0
  450. package/dist/core/p-f644cad5.entry.js +2 -0
  451. package/dist/core/{p-fac1c202.entry.js.map → p-f644cad5.entry.js.map} +1 -1
  452. package/dist/core/p-f6e2f2f0.entry.js +2 -0
  453. package/dist/core/{p-00e1e600.entry.js.map → p-f6e2f2f0.entry.js.map} +1 -1
  454. package/dist/custom-elements/index.d.ts +6 -0
  455. package/dist/custom-elements/index.js +1 -1
  456. package/dist/custom-elements/index.js.map +1 -1
  457. package/dist/esm/{constants-45f6db4c.js → constants-089b3fdd.js} +2 -2
  458. package/dist/esm/constants-089b3fdd.js.map +1 -0
  459. package/dist/esm/{constants-14a7ba8e.js → constants-ab132d9c.js} +2 -2
  460. package/dist/esm/constants-ab132d9c.js.map +1 -0
  461. package/dist/esm/core.js +2 -2
  462. package/dist/esm/gov-accordion-item.entry.js +13 -9
  463. package/dist/esm/gov-accordion-item.entry.js.map +1 -1
  464. package/dist/esm/gov-accordion.entry.js +3 -3
  465. package/dist/esm/gov-accordion.entry.js.map +1 -1
  466. package/dist/esm/gov-alert.entry.js +2 -2
  467. package/dist/esm/gov-alert.entry.js.map +1 -1
  468. package/dist/esm/gov-app.entry.js +79 -7
  469. package/dist/esm/gov-app.entry.js.map +1 -1
  470. package/dist/esm/gov-attachments_3.entry.js +4 -4
  471. package/dist/esm/gov-attachments_3.entry.js.map +1 -1
  472. package/dist/esm/gov-backdrop.entry.js +2 -2
  473. package/dist/esm/gov-backdrop.entry.js.map +1 -1
  474. package/dist/esm/gov-badge.entry.js +3 -3
  475. package/dist/esm/gov-badge.entry.js.map +1 -1
  476. package/dist/esm/gov-breadcrumbs.entry.js +4 -34
  477. package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
  478. package/dist/esm/gov-button.entry.js +3 -3
  479. package/dist/esm/gov-button.entry.js.map +1 -1
  480. package/dist/esm/gov-card.entry.js +2 -2
  481. package/dist/esm/gov-card.entry.js.map +1 -1
  482. package/dist/esm/gov-container.entry.js +2 -2
  483. package/dist/esm/gov-container.entry.js.map +1 -1
  484. package/dist/esm/gov-cookiebar.entry.js +2 -2
  485. package/dist/esm/gov-cookiebar.entry.js.map +1 -1
  486. package/dist/esm/gov-empty.entry.js +2 -2
  487. package/dist/esm/gov-empty.entry.js.map +1 -1
  488. package/dist/esm/gov-error-code.entry.js +2 -2
  489. package/dist/esm/gov-error-code.entry.js.map +1 -1
  490. package/dist/esm/gov-form-autocomplete.entry.js +2 -2
  491. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  492. package/dist/esm/gov-form-checkbox.entry.js +2 -2
  493. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  494. package/dist/esm/gov-form-control.entry.js +2 -2
  495. package/dist/esm/gov-form-control.entry.js.map +1 -1
  496. package/dist/esm/gov-form-file.entry.js +2 -2
  497. package/dist/esm/gov-form-file.entry.js.map +1 -1
  498. package/dist/esm/gov-form-group.entry.js +2 -2
  499. package/dist/esm/gov-form-group.entry.js.map +1 -1
  500. package/dist/esm/gov-form-input.entry.js +2 -2
  501. package/dist/esm/gov-form-input.entry.js.map +1 -1
  502. package/dist/esm/gov-form-label.entry.js +2 -2
  503. package/dist/esm/gov-form-label.entry.js.map +1 -1
  504. package/dist/esm/gov-form-multi-select.entry.js +2 -2
  505. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  506. package/dist/esm/gov-form-password-power.entry.js +2 -2
  507. package/dist/esm/gov-form-password-power.entry.js.map +1 -1
  508. package/dist/esm/gov-form-radio.entry.js +2 -2
  509. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  510. package/dist/esm/gov-form-search.entry.js +2 -2
  511. package/dist/esm/gov-form-search.entry.js.map +1 -1
  512. package/dist/esm/gov-form-select.entry.js +2 -2
  513. package/dist/esm/gov-form-select.entry.js.map +1 -1
  514. package/dist/esm/gov-form-switch.entry.js +2 -2
  515. package/dist/esm/gov-form-switch.entry.js.map +1 -1
  516. package/dist/esm/gov-grid-item.entry.js +2 -2
  517. package/dist/esm/gov-grid-item.entry.js.map +1 -1
  518. package/dist/esm/gov-grid.entry.js +2 -2
  519. package/dist/esm/gov-grid.entry.js.map +1 -1
  520. package/dist/esm/gov-icon.entry.js +3 -3
  521. package/dist/esm/gov-icon.entry.js.map +1 -1
  522. package/dist/esm/gov-layout-column.entry.js +2 -2
  523. package/dist/esm/gov-layout-column.entry.js.map +1 -1
  524. package/dist/esm/gov-layout.entry.js +2 -2
  525. package/dist/esm/gov-layout.entry.js.map +1 -1
  526. package/dist/esm/gov-loading.entry.js +2 -2
  527. package/dist/esm/gov-loading.entry.js.map +1 -1
  528. package/dist/esm/gov-message.entry.js +2 -2
  529. package/dist/esm/gov-message.entry.js.map +1 -1
  530. package/dist/esm/gov-modal.entry.js +2 -2
  531. package/dist/esm/gov-modal.entry.js.map +1 -1
  532. package/dist/esm/gov-nav-item.entry.js +2 -2
  533. package/dist/esm/gov-nav-item.entry.js.map +1 -1
  534. package/dist/esm/gov-nav.entry.js +2 -2
  535. package/dist/esm/gov-nav.entry.js.map +1 -1
  536. package/dist/esm/gov-pagination.entry.js +2 -2
  537. package/dist/esm/gov-pagination.entry.js.map +1 -1
  538. package/dist/esm/gov-prompt.entry.js +2 -2
  539. package/dist/esm/gov-prompt.entry.js.map +1 -1
  540. package/dist/esm/gov-side-nav-item.entry.js +2 -2
  541. package/dist/esm/gov-side-nav-item.entry.js.map +1 -1
  542. package/dist/esm/gov-side-nav.entry.js +2 -2
  543. package/dist/esm/gov-side-nav.entry.js.map +1 -1
  544. package/dist/esm/gov-skeleton.entry.js +113 -0
  545. package/dist/esm/gov-skeleton.entry.js.map +1 -0
  546. package/dist/esm/gov-spacer.entry.js +2 -2
  547. package/dist/esm/gov-spacer.entry.js.map +1 -1
  548. package/dist/esm/gov-statsbar-item.entry.js +2 -2
  549. package/dist/esm/gov-statsbar-item.entry.js.map +1 -1
  550. package/dist/esm/gov-statsbar.entry.js +2 -2
  551. package/dist/esm/gov-statsbar.entry.js.map +1 -1
  552. package/dist/esm/gov-stepper-item.entry.js +2 -2
  553. package/dist/esm/gov-stepper-item.entry.js.map +1 -1
  554. package/dist/esm/gov-stepper.entry.js +2 -2
  555. package/dist/esm/gov-stepper.entry.js.map +1 -1
  556. package/dist/esm/gov-tabs-item.entry.js +2 -2
  557. package/dist/esm/gov-tabs-item.entry.js.map +1 -1
  558. package/dist/esm/gov-tabs.entry.js +2 -2
  559. package/dist/esm/gov-tabs.entry.js.map +1 -1
  560. package/dist/esm/gov-tile.entry.js +2 -2
  561. package/dist/esm/gov-tile.entry.js.map +1 -1
  562. package/dist/esm/gov-tiles.entry.js +2 -2
  563. package/dist/esm/gov-tiles.entry.js.map +1 -1
  564. package/dist/esm/gov-toast.entry.js +2 -2
  565. package/dist/esm/gov-toast.entry.js.map +1 -1
  566. package/dist/esm/gov-tooltip-content.entry.js +2 -2
  567. package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
  568. package/dist/esm/gov-tooltip.entry.js +2 -2
  569. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  570. package/dist/esm/gov-wizzard-item.entry.js +2 -2
  571. package/dist/esm/gov-wizzard-item.entry.js.map +1 -1
  572. package/dist/esm/gov-wizzard.entry.js +2 -2
  573. package/dist/esm/gov-wizzard.entry.js.map +1 -1
  574. package/dist/esm/{index-00e9a0d5.js → index-b010bfb4.js} +64 -2
  575. package/dist/esm/index-b010bfb4.js.map +1 -0
  576. package/dist/esm/loader.js +2 -2
  577. package/dist/hydrate/index.js +285 -116
  578. package/dist/stencil.config.js +14 -0
  579. package/dist/stencil.config.js.map +1 -1
  580. package/dist/types/components/gov-accordion/constants.d.ts +1 -1
  581. package/dist/types/components/gov-accordion/gov-accordion-item.d.ts +8 -4
  582. package/dist/types/components/gov-breadcrumbs/constants.d.ts +0 -4
  583. package/dist/types/components/gov-breadcrumbs/gov-breadcrumbs.d.ts +0 -14
  584. package/dist/types/components/gov-button/constants.d.ts +1 -1
  585. package/dist/types/components/gov-form/checkbox/constants.d.ts +1 -1
  586. package/dist/types/components/gov-form/group/constants.d.ts +1 -1
  587. package/dist/types/components/gov-form/label/constants.d.ts +1 -1
  588. package/dist/types/components/gov-form/message/gov-form-message.d.ts +1 -1
  589. package/dist/types/components/gov-form/radio/constants.d.ts +1 -1
  590. package/dist/types/components/gov-form/switch/constants.d.ts +1 -1
  591. package/dist/types/components/gov-loading/skeleton/constants.d.ts +20 -0
  592. package/dist/types/components/gov-loading/skeleton/gov-skeleton.d.ts +52 -0
  593. package/dist/types/components/gov-spacer/constants.d.ts +1 -1
  594. package/dist/types/components/gov-stepper/constants.d.ts +1 -1
  595. package/dist/types/components/gov-wizzard/constants.d.ts +1 -1
  596. package/dist/types/components.d.ts +86 -16
  597. package/package.json +1 -1
  598. package/dist/cjs/constants-245999e7.js.map +0 -1
  599. package/dist/cjs/constants-e175be18.js.map +0 -1
  600. package/dist/cjs/index-356717ae.js.map +0 -1
  601. package/dist/collection/components/gov-loading/constants.js.map +0 -1
  602. package/dist/collection/components/gov-loading/gov-loading.js.map +0 -1
  603. package/dist/collection/components/gov-tiles/constants.js.map +0 -1
  604. package/dist/collection/components/gov-tiles/gov-tiles.js.map +0 -1
  605. package/dist/core/p-00e1e600.entry.js +0 -2
  606. package/dist/core/p-01bdd4a4.entry.js +0 -2
  607. package/dist/core/p-0284b5e2.js +0 -2
  608. package/dist/core/p-0284b5e2.js.map +0 -1
  609. package/dist/core/p-02c1b4db.entry.js +0 -2
  610. package/dist/core/p-16608a87.entry.js +0 -2
  611. package/dist/core/p-1bb5184f.entry.js +0 -2
  612. package/dist/core/p-24cde59e.entry.js +0 -2
  613. package/dist/core/p-25380da6.entry.js +0 -2
  614. package/dist/core/p-3e9ba1c1.entry.js +0 -2
  615. package/dist/core/p-43811261.entry.js +0 -2
  616. package/dist/core/p-43811261.entry.js.map +0 -1
  617. package/dist/core/p-49853c5a.entry.js +0 -2
  618. package/dist/core/p-4b375a4d.entry.js +0 -2
  619. package/dist/core/p-4d73d70e.entry.js +0 -2
  620. package/dist/core/p-4e12d6e3.entry.js +0 -2
  621. package/dist/core/p-533bd158.entry.js +0 -2
  622. package/dist/core/p-595a2301.entry.js +0 -2
  623. package/dist/core/p-5b4e3bdf.entry.js +0 -2
  624. package/dist/core/p-613d8ed8.entry.js +0 -2
  625. package/dist/core/p-63d2e8ec.entry.js +0 -2
  626. package/dist/core/p-682c7cc6.js +0 -3
  627. package/dist/core/p-682c7cc6.js.map +0 -1
  628. package/dist/core/p-68d968ac.entry.js +0 -2
  629. package/dist/core/p-71e57780.entry.js +0 -2
  630. package/dist/core/p-71e57780.entry.js.map +0 -1
  631. package/dist/core/p-72f16a95.entry.js +0 -2
  632. package/dist/core/p-733bd593.entry.js +0 -2
  633. package/dist/core/p-7ac5f119.entry.js +0 -2
  634. package/dist/core/p-7ac5f119.entry.js.map +0 -1
  635. package/dist/core/p-7be3abb5.entry.js +0 -2
  636. package/dist/core/p-833ab414.entry.js +0 -2
  637. package/dist/core/p-84fda9dd.entry.js +0 -2
  638. package/dist/core/p-8a8d846c.entry.js +0 -2
  639. package/dist/core/p-8d5c9030.entry.js +0 -2
  640. package/dist/core/p-8dacc8dc.entry.js +0 -2
  641. package/dist/core/p-9658b6ef.entry.js +0 -2
  642. package/dist/core/p-99155ec0.entry.js +0 -2
  643. package/dist/core/p-99155ec0.entry.js.map +0 -1
  644. package/dist/core/p-9ba104c3.entry.js +0 -2
  645. package/dist/core/p-9ca0a11c.entry.js +0 -2
  646. package/dist/core/p-9d30e79e.entry.js +0 -2
  647. package/dist/core/p-9d51ea56.entry.js +0 -2
  648. package/dist/core/p-9dd1bbdd.entry.js +0 -2
  649. package/dist/core/p-9dd1bbdd.entry.js.map +0 -1
  650. package/dist/core/p-a5e34e93.entry.js +0 -2
  651. package/dist/core/p-a6c8d474.entry.js +0 -2
  652. package/dist/core/p-ac33c5ef.entry.js +0 -2
  653. package/dist/core/p-ae3e2d60.entry.js +0 -2
  654. package/dist/core/p-b37ca132.entry.js +0 -2
  655. package/dist/core/p-b5284ce3.entry.js +0 -2
  656. package/dist/core/p-b966062a.entry.js +0 -2
  657. package/dist/core/p-bd560ffc.entry.js +0 -2
  658. package/dist/core/p-bd560ffc.entry.js.map +0 -1
  659. package/dist/core/p-c0d3d3e0.entry.js +0 -2
  660. package/dist/core/p-c9948e57.entry.js +0 -2
  661. package/dist/core/p-cd869237.js +0 -2
  662. package/dist/core/p-cd869237.js.map +0 -1
  663. package/dist/core/p-cf6576fd.entry.js +0 -2
  664. package/dist/core/p-d2d8998d.entry.js +0 -2
  665. package/dist/core/p-e57d250f.entry.js +0 -2
  666. package/dist/core/p-e86bffd0.entry.js +0 -2
  667. package/dist/core/p-ef095a1f.entry.js +0 -2
  668. package/dist/core/p-f1fe9358.entry.js +0 -2
  669. package/dist/core/p-f531f5c4.entry.js +0 -2
  670. package/dist/core/p-fac1c202.entry.js +0 -2
  671. package/dist/core/p-fc9d66ae.entry.js +0 -2
  672. package/dist/esm/constants-14a7ba8e.js.map +0 -1
  673. package/dist/esm/constants-45f6db4c.js.map +0 -1
  674. package/dist/esm/index-00e9a0d5.js.map +0 -1
  675. /package/dist/collection/components/gov-loading/{constants.js → loading/constants.js} +0 -0
  676. /package/dist/collection/components/{gov-tiles → gov-tile/container}/constants.js +0 -0
  677. /package/dist/types/components/gov-loading/{constants.d.ts → loading/constants.d.ts} +0 -0
  678. /package/dist/types/components/gov-loading/{gov-loading.d.ts → loading/gov-loading.d.ts} +0 -0
  679. /package/dist/types/components/{gov-tiles → gov-tile/container}/constants.d.ts +0 -0
  680. /package/dist/types/components/{gov-tiles → gov-tile/container}/gov-tiles.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-tooltip/gov-tooltip.scss?tag=gov-tooltip","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx"],"names":["govTooltipCss","GovTooltip","[object Object]","hostRef","undefined","this","h","govHost","host","tooltipId","createID","newValue","validateProp","TooltipVariant","TooltipClass","root","TooltipSize","TooltipPosition","validateVariant","variant","validateSize","size","validatePosition","position","createContentWrapper","registerListeners","hasContentInside","querySelector","TooltipContentClass","content","document","createElement","innerHTML","message","appendChild","setAttribute","_a","identifier","addEventListener","e","preventDefault","showTooltip","hideTooltip","offset","windowWidth","window","innerWidth","trigger","getBoundingClientRect","trgWidth","offsetWidth","triggerPos","left","documentElement","scrollLeft","top","scrollTop","tltWidth","LEFT","TOP","style","width","transform","RIGHT","right","verifyPositionSpace","Host","class","classes","tabindex","aria-describedby"],"mappings":"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","sourcesContent":["/*\n * Tooltip\n */\n\n$class: \".gov-tooltip\";\n\n#{$class} {\n\tposition: relative;\n\tdisplay: inline;\n\tborder-bottom: 1px dashed currentcolor;\n\tcolor: color(\"primary\");\n\tcursor: help;\n\n\t// VARIANTS\n\t@include parameter(\"icon\") {\n\t\tdisplay: inline-flex;\n\t\twidth: rem-calc(16);\n\t\theight: rem-calc(16);\n\t\tborder-bottom: 0;\n\t\tcolor: inherit;\n\t}\n\t@each $variant, $definitions in $tooltip-content-variants {\n\t\t&[variant=\"#{$variant}\"] {\n\t\t\t--#{$prefix}tooltip-content-bg-color: #{get(\"bg-color\", $definitions)};\n\t\t\t--#{$prefix}tooltip-content-text-color: #{get(\"text-color\", $definitions)};\n\n\t\t\t// STATES\n\t\t\t@include parameter(\"inverse\") {\n\t\t\t\t--#{$prefix}tooltip-content-bg-color: #{color(\"neutral.white\")};\n\t\t\t\t--#{$prefix}tooltip-content-text-color: #{get(\"text-color-inverse\", $definitions)};\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Method, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport {\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipVariant,\n\tTooltipVariantType,\n} from './constants'\nimport { createID } from '../../utils/string.utils'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-tooltip',\n\tstyleUrl: 'gov-tooltip.scss',\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate content: HTMLGovTooltipContentElement\n\tprivate readonly tooltipId\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID('GovTooltip')\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly variant?: TooltipVariantType = 'primary'\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = 'm'\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop() position: TooltipPositionType = 'right'\n\t/**\n\t * Information contained in the tolltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({ attribute: 'icon' }) readonly icon: boolean = undefined\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(TooltipVariant, newValue, TooltipClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch('position')\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tconst hasContentInside = this.host.querySelector(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\tif (hasContentInside) {\n\t\t\tthis.content = hasContentInside\n\t\t} else {\n\t\t\tthis.content = document.createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tthis.content.innerHTML = this.message\n\t\t\tthis.host.appendChild(this.content)\n\t\t}\n\n\t\tthis.content.setAttribute('id', this.identifier ?? this.tooltipId)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener('focus', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener('blur', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.hideTooltip()\n\t\t})\n\t\tthis.host.addEventListener('mouseenter', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener('mouseleave', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.hideTooltip()\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\t// @TODO Improve positioning of broken lines\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\t\tconst tltWidth = this.content.offsetWidth\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tif (offset + triggerPos.left < tltWidth) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.content.style.left = '0px'\n\t\t\t\tthis.content.style.width = window.innerWidth - triggerPos.left - offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t} else if (this.position === TooltipPosition.RIGHT) {\n\t\t\tif (windowWidth - (triggerPos.left + trgWidth) < tltWidth) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.content.style.right = '0px'\n\t\t\t\tthis.content.style.left = 'auto'\n\t\t\t\tthis.content.style.width = trgWidth + triggerPos.left + offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t} else {\n\t\t\t// doesn't fit from the left\n\t\t\tif (tltWidth / 2 > triggerPos.left) {\n\t\t\t\tthis.content.style.left = '0px'\n\t\t\t\tthis.content.style.width = window.innerWidth - triggerPos.left - offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t\t// doesn't fit from the right\n\t\t\telse if (tltWidth / 2 > windowWidth - (triggerPos.left + tltWidth)) {\n\t\t\t\tthis.content.style.right = '0px'\n\t\t\t\tthis.content.style.left = 'auto'\n\t\t\t\tthis.content.style.width = trgWidth + triggerPos.left + offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.content) {\n\t\t\tthis.verifyPositionSpace()\n\t\t\tthis.content.setAttribute('is-visible', 'true')\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.content) {\n\t\t\tthis.content.setAttribute('is-visible', 'false')\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}\n\t\t\t\tsize={this.size}\n\t\t\t\ttabindex={0}\n\t\t\t\taria-describedby={this.identifier ?? this.tooltipId}\n\t\t\t\tvariant={this.variant}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hidding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.hideTooltip()\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-tooltip/gov-tooltip.scss?tag=gov-tooltip","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx"],"names":["govTooltipCss","GovTooltip","[object Object]","hostRef","undefined","this","h","govHost","host","tooltipId","createID","newValue","validateProp","TooltipVariant","TooltipClass","root","TooltipSize","TooltipPosition","validateVariant","variant","validateSize","size","validatePosition","position","createContentWrapper","registerListeners","hasContentInside","querySelector","TooltipContentClass","content","document","createElement","innerHTML","message","appendChild","setAttribute","_a","identifier","addEventListener","e","preventDefault","showTooltip","hideTooltip","offset","windowWidth","window","innerWidth","trigger","getBoundingClientRect","trgWidth","offsetWidth","triggerPos","left","documentElement","scrollLeft","top","scrollTop","tltWidth","LEFT","TOP","style","width","transform","RIGHT","right","verifyPositionSpace","Host","class","classes","tabindex","aria-describedby"],"mappings":"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","sourcesContent":["/*\n * Tooltip\n */\n\n$class: \".gov-tooltip\";\n\n#{$class} {\n\tposition: relative;\n\tdisplay: inline;\n\tborder-bottom: 1px dashed currentcolor;\n\tcolor: color(\"primary\");\n\tcursor: help;\n\n\t// VARIANTS\n\t@include parameter(\"icon\") {\n\t\tdisplay: inline-flex;\n\t\twidth: rem-calc(16);\n\t\theight: rem-calc(16);\n\t\tborder-bottom: 0;\n\t\tcolor: inherit;\n\t}\n\t@each $variant, $definitions in $tooltip-content-variants {\n\t\t&[variant=\"#{$variant}\"] {\n\t\t\t--#{$prefix}tooltip-content-bg-color: #{get(\"bg-color\", $definitions)};\n\t\t\t--#{$prefix}tooltip-content-text-color: #{get(\"text-color\", $definitions)};\n\n\t\t\t// STATES\n\t\t\t@include parameter(\"inverse\") {\n\t\t\t\t--#{$prefix}tooltip-content-bg-color: #{color(\"neutral.white\")};\n\t\t\t\t--#{$prefix}tooltip-content-text-color: #{get(\"text-color-inverse\", $definitions)};\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Method, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport {\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipVariant,\n\tTooltipVariantType,\n} from './constants'\nimport { createID } from '../../utils/string.utils'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-tooltip',\n\tstyleUrl: 'gov-tooltip.scss',\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate content: HTMLGovTooltipContentElement\n\tprivate readonly tooltipId\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID('GovTooltip')\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly variant?: TooltipVariantType = 'primary'\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = 'm'\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop() position: TooltipPositionType = 'right'\n\t/**\n\t * Information contained in the tolltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({ attribute: 'icon' }) readonly icon: boolean = undefined\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(TooltipVariant, newValue, TooltipClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch('position')\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tconst hasContentInside = this.host.querySelector(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\tif (hasContentInside) {\n\t\t\tthis.content = hasContentInside\n\t\t} else {\n\t\t\tthis.content = document.createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tthis.content.innerHTML = this.message\n\t\t\tthis.host.appendChild(this.content)\n\t\t}\n\n\t\tthis.content.setAttribute('id', this.identifier ?? this.tooltipId)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener('focus', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener('blur', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.hideTooltip()\n\t\t})\n\t\tthis.host.addEventListener('mouseenter', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener('mouseleave', e => {\n\t\t\te.preventDefault()\n\t\t\tthis.hideTooltip()\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\t// @TODO Improve positioning of broken lines\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\t\tconst tltWidth = this.content.offsetWidth\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tif (offset + triggerPos.left < tltWidth) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.content.style.left = '0px'\n\t\t\t\tthis.content.style.width = window.innerWidth - triggerPos.left - offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t} else if (this.position === TooltipPosition.RIGHT) {\n\t\t\tif (windowWidth - (triggerPos.left + trgWidth) < tltWidth) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.content.style.right = '0px'\n\t\t\t\tthis.content.style.left = 'auto'\n\t\t\t\tthis.content.style.width = trgWidth + triggerPos.left + offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t} else {\n\t\t\t// doesn't fit from the left\n\t\t\tif (tltWidth / 2 > triggerPos.left) {\n\t\t\t\tthis.content.style.left = '0px'\n\t\t\t\tthis.content.style.width = window.innerWidth - triggerPos.left - offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t\t// doesn't fit from the right\n\t\t\telse if (tltWidth / 2 > windowWidth - (triggerPos.left + tltWidth)) {\n\t\t\t\tthis.content.style.right = '0px'\n\t\t\t\tthis.content.style.left = 'auto'\n\t\t\t\tthis.content.style.width = trgWidth + triggerPos.left + offset + 'px'\n\t\t\t\tthis.content.style.transform = 'none'\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.content) {\n\t\t\tthis.verifyPositionSpace()\n\t\t\tthis.content.setAttribute('is-visible', 'true')\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.content) {\n\t\t\tthis.content.setAttribute('is-visible', 'false')\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}\n\t\t\t\tsize={this.size}\n\t\t\t\ttabindex={0}\n\t\t\t\taria-describedby={this.identifier ?? this.tooltipId}\n\t\t\t\tvariant={this.variant}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hidding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.hideTooltip()\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as i,h as a,H as o,g as n}from"./p-4af5e4f4.js";import{a as t}from"./p-561fa17b.js";import{S as s}from"./p-36be8f6e.js";import{g as r,p as v,b as d}from"./p-3f37ddb6.js";const g='.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-side-nav-item{position:relative;display:block;width:100%}.gov-side-nav-item__header{display:flex;align-items:center;border-bottom:var(--gov-side-nav-border, 0.0625rem solid var(--gov-color-secondary-500))}.gov-side-nav-item__name{display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;border:0;background-color:transparent;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);display:flex;gap:1rem;flex:1 1 auto;justify-content:flex-start;padding:0.75rem 1rem 0.75rem 0.5rem;color:var(--gov-side-nav-color, var(--gov-color-secondary));text-align:left;transition:background-color 150ms}.gov-side-nav-item__name:focus{outline:none}.gov-side-nav-item__name:focus{outline:none}.gov-side-nav-item__name:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}button.gov-side-nav-item__name{padding-right:0 !important}@media not all and (pointer: coarse){.gov-side-nav-item__name:hover{background:var(--gov-side-nav-hover-bg, var(--gov-color-primary-200))}}.gov-side-nav-item__icon{display:flex;flex:0 0 auto;width:1rem;height:1rem}.gov-side-nav-item__icon .gov-icon{margin:0;color:var(--gov-side-nav-color, var(--gov-color-secondary))}.gov-side-nav-item__label{color:inherit}.gov-side-nav-item__badge{display:flex;flex:0 0 auto}.gov-side-nav-item__arrow{display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;border:0;background-color:transparent;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;align-self:stretch;width:3rem;margin-left:auto;color:var(--gov-side-nav-arrow-color, var(--gov-color-primary));transition:background-color 150ms}.gov-side-nav-item__arrow:focus{outline:none}.gov-side-nav-item__arrow:focus{outline:none}.gov-side-nav-item__arrow:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-side-nav-item__arrow .gov-icon{width:0.75rem;height:0.75rem}@media not all and (pointer: coarse){.gov-side-nav-item__arrow:hover{background:var(--gov-side-nav-hover-bg, var(--gov-color-primary-200))}}.gov-side-nav-item__content{display:none}.gov-side-nav-item--w-icon .gov-side-nav-item__label{margin-left:2rem}.gov-side-nav-item--w-icon .gov-side-nav-item__icon+.gov-side-nav-item__label{margin-left:0}.gov-side-nav-item .gov-side-nav-item .gov-side-nav-item__header{border:none !important}.gov-side-nav-item .gov-side-nav-item .gov-side-nav-item__name{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);padding:0.625rem 0.5rem;font-weight:bold}.gov-side-nav-item .gov-side-nav-item[aria-expanded=""],.gov-side-nav-item .gov-side-nav-item[aria-expanded=true i],.gov-side-nav-item .gov-side-nav-item[aria-expanded="1"]{background:var(--gov-side-nav-bg-level-2, var(--gov-color-secondary-300))}.gov-side-nav-item .gov-side-nav-item[aria-expanded=""][inverse=""],.gov-side-nav-item .gov-side-nav-item[aria-expanded=""][inverse=true i],.gov-side-nav-item .gov-side-nav-item[aria-expanded=""][inverse="1"],.gov-side-nav-item .gov-side-nav-item[aria-expanded=true i][inverse=""],.gov-side-nav-item .gov-side-nav-item[aria-expanded=true i][inverse=true i],.gov-side-nav-item .gov-side-nav-item[aria-expanded=true i][inverse="1"],.gov-side-nav-item .gov-side-nav-item[aria-expanded="1"][inverse=""],.gov-side-nav-item .gov-side-nav-item[aria-expanded="1"][inverse=true i],.gov-side-nav-item .gov-side-nav-item[aria-expanded="1"][inverse="1"]{background:var(--gov-side-nav-bg-level-2, var(--gov-color-neutral-white))}.gov-side-nav-item .gov-side-nav-item .gov-side-nav-item .gov-side-nav-item__name{gap:0.75rem;font-weight:inherit}.gov-side-nav-item[compact=""] .gov-side-nav-item__header,.gov-side-nav-item[compact=true i] .gov-side-nav-item__header,.gov-side-nav-item[compact="1"] .gov-side-nav-item__header{border-bottom:none}.gov-side-nav-item[aria-expanded=""]>.gov-side-nav-item__header .gov-side-nav-item__arrow .gov-icon,.gov-side-nav-item[aria-expanded=true i]>.gov-side-nav-item__header .gov-side-nav-item__arrow .gov-icon,.gov-side-nav-item[aria-expanded="1"]>.gov-side-nav-item__header .gov-side-nav-item__arrow .gov-icon{transform:scale(-1)}.gov-side-nav-item[aria-expanded=""]>.gov-side-nav-item__content,.gov-side-nav-item[aria-expanded=true i]>.gov-side-nav-item__content,.gov-side-nav-item[aria-expanded="1"]>.gov-side-nav-item__content{display:block}';const m=class{constructor(a){e(this,a);this.govChange=i(this,"gov-change",7);this.isExpandedState=undefined;this.inverse=false;this.compact=false;this.identifier=undefined;this.count=false;this.label=undefined;this.disabled=false;this.href=undefined;this.isExpanded=false;this.h=r(this.host)}validateLabel(e){if(!e){t(`[${s.root}]: Parameter label is required.`)}}emmitChange(){this.govChange.emit({open:this.isExpandedState,element:this.host})}componentWillLoad(){this.isExpandedState=this.isExpanded;this.validateLabel(this.label)}get classNames(){const{h:e}=this;return v([s.root,e.hasSlot("icon")&&s.rootWithIcon])}render(){const{isExpandedState:e,label:i}=this;const n=this.host.children.length>1;return a(o,{class:this.classNames,role:"listitem",inverse:this.inverse,"aria-expanded":d(e)},this.href?a("div",{class:s.header},a("a",{class:s.name,href:this.href},this.h.hasSlot("icon")&&a("span",{class:s.icon},a("slot",{name:"icon"})),a("span",{class:s.label},i),this.count&&a("span",{class:s.badge},a("gov-badge",{variant:"secondary",size:"s",inverse:this.inverse},"3"))),n&&a("button",{type:"button",class:s.arrow,onClick:()=>this.toggle()},a("gov-icon",{name:"chevron-down"}))):a("div",{class:s.header},a("button",{class:s.name,type:"button",onClick:()=>this.toggle()},this.h.hasSlot("icon")&&a("span",{class:s.icon},a("slot",{name:"icon"})),a("span",{class:s.label},i),n&&a("span",{class:s.arrow},a("gov-icon",{name:"chevron-down"})))),n&&a("div",{class:s.content},a("slot",null)))}async open(){this.isExpandedState=true;this.emmitChange()}async close(){this.isExpandedState=false;this.emmitChange()}async toggle(){this.isExpandedState=!this.isExpandedState;this.emmitChange()}async currentState(){return this.isExpandedState}get host(){return n(this)}static get watchers(){return{label:["validateLabel"]}}};m.style=g;export{m as gov_side_nav_item};
2
+ //# sourceMappingURL=p-8bebbcc7.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-side-nav/gov-side-nav-item.scss?tag=gov-side-nav-item","../../../packages/core/src/components/gov-side-nav/gov-side-nav-item.tsx"],"names":["govSideNavItemCss","GovSideNavItem","[object Object]","hostRef","this","h","govHost","host","newValue","govErrorLog","SideNavItemClass","root","govChange","emit","open","isExpandedState","element","isExpanded","validateLabel","label","classNames","prepareClasses","hasSlot","rootWithIcon","hasChilds","children","length","Host","class","role","inverse","aria-expanded","booleanString","href","header","name","icon","count","badge","variant","size","type","arrow","onClick","toggle","content","emmitChange"],"mappings":"0LAAA,MAAMA,EAAoB,q8JCYbC,EAAc,MAG1BC,YAAAC,+FAUoC,mBAIA,2CAQF,yCASG,0CAS8B,MAvClEC,KAAKC,EAAIC,EAAQF,KAAKG,MA8CvBL,cAAcM,GACb,IAAKA,EAAU,CACdC,EAAY,IAAIC,EAAiBC,wCAI3BT,cACPE,KAAKQ,UAAUC,KAAK,CAAEC,KAAMV,KAAKW,gBAAiBC,QAASZ,KAAKG,OAGjEL,oBACCE,KAAKW,gBAAkBX,KAAKa,WAC5Bb,KAAKc,cAAcd,KAAKe,OAGzBC,iBACC,MAAMf,EAAEA,GAAMD,KAEd,OAAOiB,EAAe,CAACX,EAAiBC,KAAMN,EAAEiB,QAAQ,SAAWZ,EAAiBa,eAGrFrB,SACC,MAAMa,gBAAEA,EAAeI,MAAEA,GAAUf,KAEnC,MAAMoB,EAAYpB,KAAKG,KAAKkB,SAASC,OAAS,EAE9C,OACCrB,EAACsB,EAAI,CAACC,MAAOxB,KAAKgB,WAAYS,KAAK,WAAWC,QAAS1B,KAAK0B,QAAOC,gBAAiBC,EAAcjB,IAChGX,KAAK6B,KACL5B,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBwB,QAC5B7B,EAAA,IAAA,CAAGuB,MAAOlB,EAAiByB,KAAMF,KAAM7B,KAAK6B,MAC1C7B,KAAKC,EAAEiB,QAAQ,SACfjB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB0B,MAC7B/B,EAAA,OAAA,CAAM8B,KAAK,UAGb9B,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBS,OAAQA,GAErCf,KAAKiC,OACLhC,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB4B,OAC7BjC,EAAA,YAAA,CAAWkC,QAAQ,YAAYC,KAAK,IAAIV,QAAS1B,KAAK0B,SAAO,OAO/DN,GACAnB,EAAA,SAAA,CAAQoC,KAAK,SAASb,MAAOlB,EAAiBgC,MAAOC,QAAS,IAAMvC,KAAKwC,UACxEvC,EAAA,WAAA,CAAU8B,KAAK,mBAKlB9B,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBwB,QAC5B7B,EAAA,SAAA,CAAQuB,MAAOlB,EAAiByB,KAAMM,KAAK,SAASE,QAAS,IAAMvC,KAAKwC,UACtExC,KAAKC,EAAEiB,QAAQ,SACfjB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB0B,MAC7B/B,EAAA,OAAA,CAAM8B,KAAK,UAGb9B,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBS,OAAQA,GAErCK,GACAnB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBgC,OAC7BrC,EAAA,WAAA,CAAU8B,KAAK,oBAOnBX,GACAnB,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBmC,SAC5BxC,EAAA,OAAA,QAWLH,aACCE,KAAKW,gBAAkB,KACvBX,KAAK0C,cAON5C,cACCE,KAAKW,gBAAkB,MACvBX,KAAK0C,cAON5C,eACCE,KAAKW,iBAAmBX,KAAKW,gBAC7BX,KAAK0C,cAON5C,qBACC,OAAOE,KAAKW","sourcesContent":["/*\n * Side nav - Item\n */\n\n$class: \".gov-side-nav-item\";\n\n#{$class} {\n\t@include base();\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tborder-bottom: $side-nav-border;\n\t}\n\t&__name {\n\t\t@include button-core();\n\t\t@include typography($font-size-m);\n\t\t@include focus-outline();\n\t\tdisplay: flex;\n\t\tgap: rem-calc(16);\n\t\tflex: 1 1 auto;\n\t\tjustify-content: flex-start;\n\t\tpadding: rem-calc(12 16 12 8);\n\t\tcolor: $side-nav-color;\n\t\ttext-align: left;\n\t\ttransition: background-color $t;\n\t\t@at-root button#{&} {\n\t\t\tpadding-right: 0 !important;\n\t\t}\n\n\t\t// HOVERS\n\t\t@include hover() {\n\t\t\tbackground: $side-nav-hover-bg;\n\t\t}\n\t}\n\t&__icon {\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t\twidth: rem-calc(16);\n\t\theight: rem-calc(16);\n\t\t.gov-icon {\n\t\t\tmargin: 0;\n\t\t\tcolor: $side-nav-color;\n\t\t}\n\t}\n\t&__label {\n\t\tcolor: inherit;\n\t}\n\t&__badge {\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t}\n\t&__arrow {\n\t\t@include button-core();\n\t\t@include focus-outline();\n\t\tflex: 0 0 auto;\n\t\talign-self: stretch;\n\t\twidth: rem-calc(48);\n\t\tmargin-left: auto;\n\t\tcolor: $side-nav-arrow-color;\n\t\ttransition: background-color $t;\n\t\t.gov-icon {\n\t\t\twidth: rem-calc(12);\n\t\t\theight: rem-calc(12);\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $side-nav-hover-bg;\n\t\t}\n\t}\n\t&__content {\n\t\tdisplay: none;\n\t}\n\n\t// VARIANTS\n\t&--w-icon &__label {\n\t\tmargin-left: rem-calc(32);\n\t}\n\t&--w-icon &__icon + &__label {\n\t\tmargin-left: 0;\n\t}\n\t// nested styles\n\t& & {\n\t\t#{$class} {\n\t\t\t&__header {\n\t\t\t\tborder: none !important;\n\t\t\t}\n\t\t\t&__name {\n\t\t\t\t@include typography($font-size-s);\n\t\t\t\tpadding: rem-calc(10 8);\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t}\n\t\t@include parameter(\"aria-expanded\") {\n\t\t\tbackground: $side-nav-bg-level-2;\n\t\t\t@include parameter(\"inverse\") {\n\t\t\t\tbackground: $side-nav-bg-level-2-inverse;\n\t\t\t}\n\t\t}\n\t}\n\t& & & {\n\t\t#{$class} {\n\t\t\t&__name {\n\t\t\t\tgap: rem-calc(12);\n\t\t\t\tfont-weight: inherit;\n\t\t\t}\n\t\t}\n\t}\n\t@include parameter(\"compact\") {\n\t\t#{$class} {\n\t\t\t&__header {\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t@include parameter(\"aria-expanded\") {\n\t\t& > #{$class}__header #{$class}__arrow .gov-icon {\n\t\t\ttransform: scale(-1);\n\t\t}\n\t\t& > #{$class}__content {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n","import { Component, Element, h, Prop, State, Watch, Host, Method, Event, EventEmitter } from '@stencil/core'\nimport { govErrorLog } from '../../helpers/Log/gov.log'\nimport { SideNavItemClass } from './constants'\nimport { booleanString, prepareClasses } from '../../helpers/Dom/template'\nimport { GovSideNavItemChangeEvent } from './gov-side-nav-item.d'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-side-nav-item',\n\tstyleUrl: 'gov-side-nav-item.scss',\n})\nexport class GovSideNavItem {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovSideNavItemElement\n\t@State() isExpandedState: boolean\n\n\t/**\n\t * Determide if component should have inversed colors to be used on dark background\n\t */\n\t@Prop() readonly inverse: boolean = false\n\t/**\n\t * Determide if component should have compact styles.\n\t */\n\t@Prop() readonly compact: boolean = false\n\t/**\n\t * Custom sidenav item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Defined the count of nested items\n\t */\n\t@Prop() readonly count: boolean = false\n\t/**\n\t * Item name of the sidenav\n\t */\n\t@Prop() readonly label: string\n\t/**\n\t * Makes the button component disabled.\n\t * This prevents users from being able to interact with the button, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href\n\t */\n\t@Prop() readonly href: string\n\t/**\n\t * Defines whether the sidenav is open or closed by default\n\t */\n\t@Prop({ attribute: 'is-expanded' }) readonly isExpanded: boolean = false\n\t/**\n\t * Called when the sidenav state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovSideNavItemChangeEvent>\n\n\t@Watch('label')\n\tvalidateLabel(newValue: string): void {\n\t\tif (!newValue) {\n\t\t\tgovErrorLog(`[${SideNavItemClass.root}]: Parameter label is required.`)\n\t\t}\n\t}\n\n\tprivate emmitChange(): void {\n\t\tthis.govChange.emit({ open: this.isExpandedState, element: this.host })\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.isExpandedState = this.isExpanded\n\t\tthis.validateLabel(this.label)\n\t}\n\n\tget classNames(): string {\n\t\tconst { h } = this\n\n\t\treturn prepareClasses([SideNavItemClass.root, h.hasSlot('icon') && SideNavItemClass.rootWithIcon])\n\t}\n\n\trender() {\n\t\tconst { isExpandedState, label } = this\n\t\t// TODO: správný počet zanořených childů\n\t\tconst hasChilds = this.host.children.length > 1\n\n\t\treturn (\n\t\t\t<Host class={this.classNames} role=\"listitem\" inverse={this.inverse} aria-expanded={booleanString(isExpandedState)}>\n\t\t\t\t{this.href ? (\n\t\t\t\t\t<div class={SideNavItemClass.header}>\n\t\t\t\t\t\t<a class={SideNavItemClass.name} href={this.href}>\n\t\t\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.icon}>\n\t\t\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class={SideNavItemClass.label}>{label}</span>\n\n\t\t\t\t\t\t\t{this.count && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.badge}>\n\t\t\t\t\t\t\t\t\t<gov-badge variant=\"secondary\" size=\"s\" inverse={this.inverse}>\n\t\t\t\t\t\t\t\t\t\t{/* // TODO: správný počet zanořených childů */}3\n\t\t\t\t\t\t\t\t\t</gov-badge>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t{hasChilds && (\n\t\t\t\t\t\t\t<button type=\"button\" class={SideNavItemClass.arrow} onClick={() => this.toggle()}>\n\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div class={SideNavItemClass.header}>\n\t\t\t\t\t\t<button class={SideNavItemClass.name} type=\"button\" onClick={() => this.toggle()}>\n\t\t\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.icon}>\n\t\t\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class={SideNavItemClass.label}>{label}</span>\n\n\t\t\t\t\t\t\t{hasChilds && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.arrow}>\n\t\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{hasChilds && (\n\t\t\t\t\t<div class={SideNavItemClass.content}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Opening the sidenav\n\t */\n\t@Method()\n\tasync open(): Promise<void> {\n\t\tthis.isExpandedState = true\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Closing the sidenav\n\t */\n\t@Method()\n\tasync close(): Promise<void> {\n\t\tthis.isExpandedState = false\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * sidenav switch\n\t */\n\t@Method()\n\tasync toggle(): Promise<void> {\n\t\tthis.isExpandedState = !this.isExpandedState\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync currentState(): Promise<boolean> {\n\t\treturn this.isExpandedState\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-side-nav/gov-side-nav-item.scss?tag=gov-side-nav-item","../../../packages/core/src/components/gov-side-nav/gov-side-nav-item.tsx"],"names":["govSideNavItemCss","GovSideNavItem","[object Object]","hostRef","this","h","govHost","host","newValue","govErrorLog","SideNavItemClass","root","govChange","emit","open","isExpandedState","element","isExpanded","validateLabel","label","classNames","prepareClasses","hasSlot","rootWithIcon","hasChilds","children","length","Host","class","role","inverse","aria-expanded","booleanString","href","header","name","icon","count","badge","variant","size","type","arrow","onClick","toggle","content","emmitChange"],"mappings":"0LAAA,MAAMA,EAAoB,smKCYbC,EAAc,MAG1BC,YAAAC,+FAUoC,mBAIA,2CAQF,yCASG,0CAS8B,MAvClEC,KAAKC,EAAIC,EAAQF,KAAKG,MA8CvBL,cAAcM,GACb,IAAKA,EAAU,CACdC,EAAY,IAAIC,EAAiBC,wCAI3BT,cACPE,KAAKQ,UAAUC,KAAK,CAAEC,KAAMV,KAAKW,gBAAiBC,QAASZ,KAAKG,OAGjEL,oBACCE,KAAKW,gBAAkBX,KAAKa,WAC5Bb,KAAKc,cAAcd,KAAKe,OAGzBC,iBACC,MAAMf,EAAEA,GAAMD,KAEd,OAAOiB,EAAe,CAACX,EAAiBC,KAAMN,EAAEiB,QAAQ,SAAWZ,EAAiBa,eAGrFrB,SACC,MAAMa,gBAAEA,EAAeI,MAAEA,GAAUf,KAEnC,MAAMoB,EAAYpB,KAAKG,KAAKkB,SAASC,OAAS,EAE9C,OACCrB,EAACsB,EAAI,CAACC,MAAOxB,KAAKgB,WAAYS,KAAK,WAAWC,QAAS1B,KAAK0B,QAAOC,gBAAiBC,EAAcjB,IAChGX,KAAK6B,KACL5B,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBwB,QAC5B7B,EAAA,IAAA,CAAGuB,MAAOlB,EAAiByB,KAAMF,KAAM7B,KAAK6B,MAC1C7B,KAAKC,EAAEiB,QAAQ,SACfjB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB0B,MAC7B/B,EAAA,OAAA,CAAM8B,KAAK,UAGb9B,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBS,OAAQA,GAErCf,KAAKiC,OACLhC,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB4B,OAC7BjC,EAAA,YAAA,CAAWkC,QAAQ,YAAYC,KAAK,IAAIV,QAAS1B,KAAK0B,SAAO,OAO/DN,GACAnB,EAAA,SAAA,CAAQoC,KAAK,SAASb,MAAOlB,EAAiBgC,MAAOC,QAAS,IAAMvC,KAAKwC,UACxEvC,EAAA,WAAA,CAAU8B,KAAK,mBAKlB9B,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBwB,QAC5B7B,EAAA,SAAA,CAAQuB,MAAOlB,EAAiByB,KAAMM,KAAK,SAASE,QAAS,IAAMvC,KAAKwC,UACtExC,KAAKC,EAAEiB,QAAQ,SACfjB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiB0B,MAC7B/B,EAAA,OAAA,CAAM8B,KAAK,UAGb9B,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBS,OAAQA,GAErCK,GACAnB,EAAA,OAAA,CAAMuB,MAAOlB,EAAiBgC,OAC7BrC,EAAA,WAAA,CAAU8B,KAAK,oBAOnBX,GACAnB,EAAA,MAAA,CAAKuB,MAAOlB,EAAiBmC,SAC5BxC,EAAA,OAAA,QAWLH,aACCE,KAAKW,gBAAkB,KACvBX,KAAK0C,cAON5C,cACCE,KAAKW,gBAAkB,MACvBX,KAAK0C,cAON5C,eACCE,KAAKW,iBAAmBX,KAAKW,gBAC7BX,KAAK0C,cAON5C,qBACC,OAAOE,KAAKW","sourcesContent":["/*\n * Side nav - Item\n */\n\n$class: \".gov-side-nav-item\";\n\n#{$class} {\n\t@include base();\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tborder-bottom: $side-nav-border;\n\t}\n\t&__name {\n\t\t@include button-core();\n\t\t@include typography($font-size-m);\n\t\t@include focus-outline();\n\t\tdisplay: flex;\n\t\tgap: rem-calc(16);\n\t\tflex: 1 1 auto;\n\t\tjustify-content: flex-start;\n\t\tpadding: rem-calc(12 16 12 8);\n\t\tcolor: $side-nav-color;\n\t\ttext-align: left;\n\t\ttransition: background-color $t;\n\t\t@at-root button#{&} {\n\t\t\tpadding-right: 0 !important;\n\t\t}\n\n\t\t// HOVERS\n\t\t@include hover() {\n\t\t\tbackground: $side-nav-hover-bg;\n\t\t}\n\t}\n\t&__icon {\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t\twidth: rem-calc(16);\n\t\theight: rem-calc(16);\n\t\t.gov-icon {\n\t\t\tmargin: 0;\n\t\t\tcolor: $side-nav-color;\n\t\t}\n\t}\n\t&__label {\n\t\tcolor: inherit;\n\t}\n\t&__badge {\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t}\n\t&__arrow {\n\t\t@include button-core();\n\t\t@include focus-outline();\n\t\tflex: 0 0 auto;\n\t\talign-self: stretch;\n\t\twidth: rem-calc(48);\n\t\tmargin-left: auto;\n\t\tcolor: $side-nav-arrow-color;\n\t\ttransition: background-color $t;\n\t\t.gov-icon {\n\t\t\twidth: rem-calc(12);\n\t\t\theight: rem-calc(12);\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $side-nav-hover-bg;\n\t\t}\n\t}\n\t&__content {\n\t\tdisplay: none;\n\t}\n\n\t// VARIANTS\n\t&--w-icon &__label {\n\t\tmargin-left: rem-calc(32);\n\t}\n\t&--w-icon &__icon + &__label {\n\t\tmargin-left: 0;\n\t}\n\t// nested styles\n\t& & {\n\t\t#{$class} {\n\t\t\t&__header {\n\t\t\t\tborder: none !important;\n\t\t\t}\n\t\t\t&__name {\n\t\t\t\t@include typography($font-size-s);\n\t\t\t\tpadding: rem-calc(10 8);\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\t\t}\n\t\t@include parameter(\"aria-expanded\") {\n\t\t\tbackground: $side-nav-bg-level-2;\n\t\t\t@include parameter(\"inverse\") {\n\t\t\t\tbackground: $side-nav-bg-level-2-inverse;\n\t\t\t}\n\t\t}\n\t}\n\t& & & {\n\t\t#{$class} {\n\t\t\t&__name {\n\t\t\t\tgap: rem-calc(12);\n\t\t\t\tfont-weight: inherit;\n\t\t\t}\n\t\t}\n\t}\n\t@include parameter(\"compact\") {\n\t\t#{$class} {\n\t\t\t&__header {\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t// STATES\n\t@include parameter(\"aria-expanded\") {\n\t\t& > #{$class}__header #{$class}__arrow .gov-icon {\n\t\t\ttransform: scale(-1);\n\t\t}\n\t\t& > #{$class}__content {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n","import { Component, Element, h, Prop, State, Watch, Host, Method, Event, EventEmitter } from '@stencil/core'\nimport { govErrorLog } from '../../helpers/Log/gov.log'\nimport { SideNavItemClass } from './constants'\nimport { booleanString, prepareClasses } from '../../helpers/Dom/template'\nimport { GovSideNavItemChangeEvent } from './gov-side-nav-item.d'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-side-nav-item',\n\tstyleUrl: 'gov-side-nav-item.scss',\n})\nexport class GovSideNavItem {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovSideNavItemElement\n\t@State() isExpandedState: boolean\n\n\t/**\n\t * Determide if component should have inversed colors to be used on dark background\n\t */\n\t@Prop() readonly inverse: boolean = false\n\t/**\n\t * Determide if component should have compact styles.\n\t */\n\t@Prop() readonly compact: boolean = false\n\t/**\n\t * Custom sidenav item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Defined the count of nested items\n\t */\n\t@Prop() readonly count: boolean = false\n\t/**\n\t * Item name of the sidenav\n\t */\n\t@Prop() readonly label: string\n\t/**\n\t * Makes the button component disabled.\n\t * This prevents users from being able to interact with the button, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href\n\t */\n\t@Prop() readonly href: string\n\t/**\n\t * Defines whether the sidenav is open or closed by default\n\t */\n\t@Prop({ attribute: 'is-expanded' }) readonly isExpanded: boolean = false\n\t/**\n\t * Called when the sidenav state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovSideNavItemChangeEvent>\n\n\t@Watch('label')\n\tvalidateLabel(newValue: string): void {\n\t\tif (!newValue) {\n\t\t\tgovErrorLog(`[${SideNavItemClass.root}]: Parameter label is required.`)\n\t\t}\n\t}\n\n\tprivate emmitChange(): void {\n\t\tthis.govChange.emit({ open: this.isExpandedState, element: this.host })\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.isExpandedState = this.isExpanded\n\t\tthis.validateLabel(this.label)\n\t}\n\n\tget classNames(): string {\n\t\tconst { h } = this\n\n\t\treturn prepareClasses([SideNavItemClass.root, h.hasSlot('icon') && SideNavItemClass.rootWithIcon])\n\t}\n\n\trender() {\n\t\tconst { isExpandedState, label } = this\n\t\t// TODO: správný počet zanořených childů\n\t\tconst hasChilds = this.host.children.length > 1\n\n\t\treturn (\n\t\t\t<Host class={this.classNames} role=\"listitem\" inverse={this.inverse} aria-expanded={booleanString(isExpandedState)}>\n\t\t\t\t{this.href ? (\n\t\t\t\t\t<div class={SideNavItemClass.header}>\n\t\t\t\t\t\t<a class={SideNavItemClass.name} href={this.href}>\n\t\t\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.icon}>\n\t\t\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class={SideNavItemClass.label}>{label}</span>\n\n\t\t\t\t\t\t\t{this.count && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.badge}>\n\t\t\t\t\t\t\t\t\t<gov-badge variant=\"secondary\" size=\"s\" inverse={this.inverse}>\n\t\t\t\t\t\t\t\t\t\t{/* // TODO: správný počet zanořených childů */}3\n\t\t\t\t\t\t\t\t\t</gov-badge>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</a>\n\n\t\t\t\t\t\t{hasChilds && (\n\t\t\t\t\t\t\t<button type=\"button\" class={SideNavItemClass.arrow} onClick={() => this.toggle()}>\n\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div class={SideNavItemClass.header}>\n\t\t\t\t\t\t<button class={SideNavItemClass.name} type=\"button\" onClick={() => this.toggle()}>\n\t\t\t\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.icon}>\n\t\t\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class={SideNavItemClass.label}>{label}</span>\n\n\t\t\t\t\t\t\t{hasChilds && (\n\t\t\t\t\t\t\t\t<span class={SideNavItemClass.arrow}>\n\t\t\t\t\t\t\t\t\t<gov-icon name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{hasChilds && (\n\t\t\t\t\t<div class={SideNavItemClass.content}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Opening the sidenav\n\t */\n\t@Method()\n\tasync open(): Promise<void> {\n\t\tthis.isExpandedState = true\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Closing the sidenav\n\t */\n\t@Method()\n\tasync close(): Promise<void> {\n\t\tthis.isExpandedState = false\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * sidenav switch\n\t */\n\t@Method()\n\tasync toggle(): Promise<void> {\n\t\tthis.isExpandedState = !this.isExpandedState\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync currentState(): Promise<boolean> {\n\t\treturn this.isExpandedState\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as o,c as i,h as r,H as t,g as e}from"./p-4af5e4f4.js";import{c as s}from"./p-24636c53.js";import{v as a}from"./p-26acf964.js";import{g as c,e as h,f as g}from"./p-9cd80b05.js";import{g as v,t as m}from"./p-3f37ddb6.js";import{a as f,b as l}from"./p-364b4792.js";import{c as n}from"./p-c20102ff.js";import{d}from"./p-03990da5.js";import{F as w}from"./p-1c1d0bbe.js";import"./p-561fa17b.js";import"./p-55500e5a.js";import"./p-ff7365ae.js";import"./p-ef79904e.js";import"./p-6278531b.js";import"./p-f687452c.js";import"./p-3464136c.js";const p='.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-switch{position:relative;display:flex}.gov-form-switch__holder{display:inline-flex}.gov-form-switch__input{position:absolute;top:0;left:0;z-index:1;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gov-form-switch .gov-form-label__label{position:relative;z-index:1;margin-bottom:0;color:var(--gov-form-switch-color, var(--gov-color-secondary-800))}.gov-form-switch__indicator{position:relative;flex:0 0 auto;border:var(--gov-form-switch-indicator-border, 0.0625rem solid var(--gov-color-secondary-500));background-color:var(--gov-form-switch-indicator-bg, var(--gov-color-secondary-300));transition:150ms linear background-color}.gov-form-switch__indicator::before{content:"";position:absolute;display:block;border-radius:50%;background-color:var(--gov-form-switch-indicator-circle-bg, var(--gov-color-neutral-white));transition:150ms linear left;box-shadow:var(--gov-form-switch-indicator-circle-box-shadow, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.35))}.gov-form-switch__input:focus-visible~.gov-form-switch__indicator{outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base)}.gov-form-switch__input:checked+.gov-form-switch__indicator{border-color:var(--gov-form-switch-indicator-bg-checked, var(--gov-color-primary));background-color:var(--gov-form-switch-indicator-bg-checked, var(--gov-color-primary))}.gov-form-switch[disabled=""],.gov-form-switch[disabled=true i],.gov-form-switch[disabled="1"]{pointer-events:none}.gov-form-switch[disabled=""] .gov-form-label__label,.gov-form-switch[disabled=true i] .gov-form-label__label,.gov-form-switch[disabled="1"] .gov-form-label__label{color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600))}.gov-form-switch[disabled=""] .gov-form-switch__indicator::before,.gov-form-switch[disabled=true i] .gov-form-switch__indicator::before,.gov-form-switch[disabled="1"] .gov-form-switch__indicator::before{background:var(--gov-form-input-disabled-bg, var(--gov-color-secondary-300))}.gov-form-switch[disabled=""] .gov-form-switch__input:checked+.gov-form-switch__indicator,.gov-form-switch[disabled=true i] .gov-form-switch__input:checked+.gov-form-switch__indicator,.gov-form-switch[disabled="1"] .gov-form-switch__input:checked+.gov-form-switch__indicator{border-color:var(--gov-form-input-disabled-bg, var(--gov-color-primary-400));background-color:var(--gov-form-input-disabled-bg, var(--gov-color-primary-400))}.gov-form-switch[invalid=""] .gov-form-label__label,.gov-form-switch[invalid=true i] .gov-form-label__label,.gov-form-switch[invalid="1"] .gov-form-label__label{color:var(--gov-form-state-color-error, var(--gov-color-error))}.gov-form-switch[invalid=""] .gov-form-switch__indicator,.gov-form-switch[invalid=true i] .gov-form-switch__indicator,.gov-form-switch[invalid="1"] .gov-form-switch__indicator{border-color:var(--gov-form-state-color-error, var(--gov-color-error))}.gov-form-switch[invalid=""] .gov-form-switch__input:checked+.gov-form-switch__indicator,.gov-form-switch[invalid=true i] .gov-form-switch__input:checked+.gov-form-switch__indicator,.gov-form-switch[invalid="1"] .gov-form-switch__input:checked+.gov-form-switch__indicator{background-color:var(--gov-form-state-color-error, var(--gov-color-error))}.gov-form-switch[size=xs] .gov-form-label__label{font-weight:var(--gov-text-xs-font-weight);font-size:var(--gov-text-xs-font-size);line-height:var(--gov-text-xs-line-height);letter-spacing:var(--gov-text-xs-letter-spacing);margin-bottom:0;margin-left:calc((var(--gov-form-switch-xs-indicator-height, 1.25rem) * 1.6666666667 + var(--gov-form-switch-xs-gap, 0.75rem)) * -1);padding-top:calc((var(--gov-form-switch-xs-indicator-height, 1.25rem) - var(--gov-text-xs-font-size) * 1.5) / 2);padding-left:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) * 1.6666666667 + var(--gov-form-switch-xs-gap, 0.75rem))}.gov-form-switch[size=xs] .gov-form-switch__holder{gap:var(--gov-form-switch-xs-gap, 0.75rem)}.gov-form-switch[size=xs] .gov-form-switch__indicator{display:block;width:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) * 1.6666666667);height:var(--gov-form-switch-xs-indicator-height, 1.25rem);border-radius:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) * 0.5)}.gov-form-switch[size=xs] .gov-form-switch__indicator::before{top:calc(var(--gov-form-switch-xs-toggle-offset, 0.051875rem) - 0.0625rem);left:calc(var(--gov-form-switch-xs-toggle-offset, 0.051875rem) - 0.0625rem);width:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) - 2 * var(--gov-form-switch-xs-toggle-offset, 0.051875rem));height:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) - 2 * var(--gov-form-switch-xs-toggle-offset, 0.051875rem))}.gov-form-switch[size=xs] .gov-form-switch__input[aria-checked]+.gov-form-switch__indicator::before{left:calc(var(--gov-form-switch-xs-indicator-height, 1.25rem) * 1.6666666667 - var(--gov-form-switch-xs-indicator-height, 1.25rem) + var(--gov-form-switch-xs-toggle-offset, 0.051875rem) - 0.0625rem)}.gov-form-switch[size=s] .gov-form-label__label{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);margin-bottom:0;margin-left:calc((var(--gov-form-switch-s-indicator-height, 1.375rem) * 1.6666666667 + var(--gov-form-switch-s-gap, 0.75rem)) * -1);padding-top:calc((var(--gov-form-switch-s-indicator-height, 1.375rem) - var(--gov-text-s-font-size) * 1.5) / 2);padding-left:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) * 1.6666666667 + var(--gov-form-switch-s-gap, 0.75rem))}.gov-form-switch[size=s] .gov-form-switch__holder{gap:var(--gov-form-switch-s-gap, 0.75rem)}.gov-form-switch[size=s] .gov-form-switch__indicator{display:block;width:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) * 1.6666666667);height:var(--gov-form-switch-s-indicator-height, 1.375rem);border-radius:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) * 0.5)}.gov-form-switch[size=s] .gov-form-switch__indicator::before{top:calc(var(--gov-form-switch-s-toggle-offset, 0.0575rem) - 0.0625rem);left:calc(var(--gov-form-switch-s-toggle-offset, 0.0575rem) - 0.0625rem);width:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) - 2 * var(--gov-form-switch-s-toggle-offset, 0.0575rem));height:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) - 2 * var(--gov-form-switch-s-toggle-offset, 0.0575rem))}.gov-form-switch[size=s] .gov-form-switch__input[aria-checked]+.gov-form-switch__indicator::before{left:calc(var(--gov-form-switch-s-indicator-height, 1.375rem) * 1.6666666667 - var(--gov-form-switch-s-indicator-height, 1.375rem) + var(--gov-form-switch-s-toggle-offset, 0.0575rem) - 0.0625rem)}.gov-form-switch[size=m] .gov-form-label__label{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);margin-bottom:0;margin-left:calc((var(--gov-form-switch-m-indicator-height, 1.5rem) * 1.6666666667 + var(--gov-form-switch-m-gap, 1rem)) * -1);padding-top:calc((var(--gov-form-switch-m-indicator-height, 1.5rem) - var(--gov-text-m-font-size) * 1.5) / 2);padding-left:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) * 1.6666666667 + var(--gov-form-switch-m-gap, 1rem))}.gov-form-switch[size=m] .gov-form-switch__holder{gap:var(--gov-form-switch-m-gap, 1rem)}.gov-form-switch[size=m] .gov-form-switch__indicator{display:block;width:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) * 1.6666666667);height:var(--gov-form-switch-m-indicator-height, 1.5rem);border-radius:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) * 0.5)}.gov-form-switch[size=m] .gov-form-switch__indicator::before{top:calc(var(--gov-form-switch-m-toggle-offset, 0.0625rem) - 0.0625rem);left:calc(var(--gov-form-switch-m-toggle-offset, 0.0625rem) - 0.0625rem);width:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) - 2 * var(--gov-form-switch-m-toggle-offset, 0.0625rem));height:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) - 2 * var(--gov-form-switch-m-toggle-offset, 0.0625rem))}.gov-form-switch[size=m] .gov-form-switch__input[aria-checked]+.gov-form-switch__indicator::before{left:calc(var(--gov-form-switch-m-indicator-height, 1.5rem) * 1.6666666667 - var(--gov-form-switch-m-indicator-height, 1.5rem) + var(--gov-form-switch-m-toggle-offset, 0.0625rem) - 0.0625rem)}.gov-form-switch[size=l] .gov-form-label__label{font-weight:var(--gov-text-l-font-weight);font-size:var(--gov-text-l-font-size);line-height:var(--gov-text-l-line-height);letter-spacing:var(--gov-text-l-letter-spacing);margin-bottom:0;margin-left:calc((var(--gov-form-switch-l-indicator-height, 2rem) * 1.6666666667 + var(--gov-form-switch-l-gap, 1rem)) * -1);padding-top:calc((var(--gov-form-switch-l-indicator-height, 2rem) - var(--gov-text-l-font-size) * 1.5) / 2);padding-left:calc(var(--gov-form-switch-l-indicator-height, 2rem) * 1.6666666667 + var(--gov-form-switch-l-gap, 1rem))}.gov-form-switch[size=l] .gov-form-switch__holder{gap:var(--gov-form-switch-l-gap, 1rem)}.gov-form-switch[size=l] .gov-form-switch__indicator{display:block;width:calc(var(--gov-form-switch-l-indicator-height, 2rem) * 1.6666666667);height:var(--gov-form-switch-l-indicator-height, 2rem);border-radius:calc(var(--gov-form-switch-l-indicator-height, 2rem) * 0.5)}.gov-form-switch[size=l] .gov-form-switch__indicator::before{top:calc(var(--gov-form-switch-l-toggle-offset, 0.083125rem) - 0.0625rem);left:calc(var(--gov-form-switch-l-toggle-offset, 0.083125rem) - 0.0625rem);width:calc(var(--gov-form-switch-l-indicator-height, 2rem) - 2 * var(--gov-form-switch-l-toggle-offset, 0.083125rem));height:calc(var(--gov-form-switch-l-indicator-height, 2rem) - 2 * var(--gov-form-switch-l-toggle-offset, 0.083125rem))}.gov-form-switch[size=l] .gov-form-switch__input[aria-checked]+.gov-form-switch__indicator::before{left:calc(var(--gov-form-switch-l-indicator-height, 2rem) * 1.6666666667 - var(--gov-form-switch-l-indicator-height, 2rem) + var(--gov-form-switch-l-toggle-offset, 0.083125rem) - 0.0625rem)}';const b=class{constructor(r){o(this,r);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govChange=i(this,"gov-change",7);this.value=undefined;this.noLabel=false;this.checked=false;this.required=false;this.disabled=undefined;this.name=undefined;this.size="m";this.identifier=undefined;this.invalid=undefined;this.wcagDescribedBy=undefined;this.wcagLabelledBy=undefined;this.isChecked=undefined;this.checkboxId=s("GovCheckbox");this.h=v(this.host);this.f=c(this.h)}updateCheckedState(o){this.isChecked=o;this.govChange.emit({checked:this.isChecked,value:this.value})}validateSize(o){a(g,o,h.root)}componentWillLoad(){this.isChecked=this.checked;this.f.passAttrToControl("type","switch")}async componentDidRender(){this.f.passAttrToLabel("identifier",this.identifier||this.checkboxId);this.f.passAttrToLabel("required",String(this.required));if(n()){await d(500);await this.validateWcag()}}render(){const{isChecked:o}=this;const i=o=>{if(this.noLabel){return r("label",null,o)}return o};return r(t,{class:this.h.classes(h.root),"is-checked":o,size:this.size,invalid:m(this.invalid)},r("div",{class:h.holder},i(r(w,null,r("input",{class:h.input,id:this.identifier||this.checkboxId,type:"checkbox",value:this.value,name:this.name,checked:this.isChecked,onClick:this.onClickHandler.bind(this),onChange:this.onChangeHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),required:this.required,"aria-checked":this.isChecked,"aria-required":m(this.required),"aria-invalid":m(this.invalid),"aria-describedby":this.wcagDescribedBy,"aria-labelledby":this.wcagLabelledBy,"aria-disabled":m(this.disabled)}),r("span",{class:h.indicator}),r("slot",{name:"label"})))))}onClickHandler(o){o.stopPropagation()}onFocusHandler(o){o.stopPropagation();this.govFocus.emit(o)}onBlurHandler(o){o.stopPropagation();this.govBlur.emit(o)}onChangeHandler(o){this.isChecked=o.target.checked;o.stopPropagation();this.govChange.emit({checked:this.isChecked,value:this.value})}async validateWcag(){f(this.wcagDescribedBy,"wcag-described-by",h.root);f(this.wcagLabelledBy,"wcag-labelled-by",h.root);l(this.identifier||this.checkboxId,this.wcagLabelledBy,h.root)}get host(){return e(this)}static get watchers(){return{checked:["updateCheckedState"],size:["validateSize"]}}};b.style=p;export{b as gov_form_switch};
2
+ //# sourceMappingURL=p-93edcce2.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-form/switch/gov-form-switch.scss?tag=gov-form-switch","../../../packages/core/src/components/gov-form/switch/gov-form-switch.tsx"],"names":["govFormSwitchCss","GovFormSwitch","[object Object]","hostRef","this","checkboxId","createID","h","govHost","host","f","govForm","newValue","isChecked","govChange","emit","checked","value","validateProp","FormSwitchSizes","FormSwitchClass","root","passAttrToControl","passAttrToLabel","identifier","String","required","canValidateWcagOnRender","delay","validateWcag","wrapCheckbox","children","noLabel","Host","class","classes","is-checked","size","invalid","toBoolAttrIfDefined","holder","Fragment","input","id","type","name","onClick","onClickHandler","bind","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","aria-checked","aria-required","aria-invalid","aria-describedby","wcagDescribedBy","aria-labelledby","wcagLabelledBy","aria-disabled","disabled","indicator","e","stopPropagation","govFocus","govBlur","target","validateWcagRef","validateWcagLabelFor"],"mappings":"+hBAAA,MAAMA,EAAmB,iiUCmBZC,EAAa,MAMzBC,YAAAC,2JAe6D,mBAIR,oBAKhB,4DAaS,2IApC7CC,KAAKC,WAAaC,EAAS,eAE3BF,KAAKG,EAAIC,EAAQJ,KAAKK,MACtBL,KAAKM,EAAIC,EAAQP,KAAKG,GAkEvBL,mBAAmBU,GAClBR,KAAKS,UAAYD,EACjBR,KAAKU,UAAUC,KAAK,CACnBC,QAASZ,KAAKS,UACdI,MAAOb,KAAKa,QAKdf,aAAaU,GACZM,EAAaC,EAAiBP,EAAUQ,EAAgBC,MAGzDnB,oBACCE,KAAKS,UAAYT,KAAKY,QAEtBZ,KAAKM,EAAEY,kBAAkB,OAAQ,UAGlCpB,2BACCE,KAAKM,EAAEa,gBAAgB,aAAcnB,KAAKoB,YAAcpB,KAAKC,YAC7DD,KAAKM,EAAEa,gBAAgB,WAAYE,OAAOrB,KAAKsB,WAC/C,GAAIC,IAA2B,OACxBC,EAAM,WACNxB,KAAKyB,gBAIb3B,SACC,MAAMW,UAAEA,GAAcT,KACtB,MAAM0B,EAAgBC,IACrB,GAAI3B,KAAK4B,QAAS,CACjB,OACCzB,EAAA,QAAA,KACEwB,GAIJ,OAAOA,GAGR,OACCxB,EAAC0B,EAAI,CAACC,MAAO9B,KAAKG,EAAE4B,QAAQf,EAAgBC,MAAKe,aAAcvB,EAAWwB,KAAMjC,KAAKiC,KAAMC,QAASC,EAAoBnC,KAAKkC,UAC5H/B,EAAA,MAAA,CAAK2B,MAAOd,EAAgBoB,QAC1BV,EACAvB,EAACkC,EAAQ,KACRlC,EAAA,QAAA,CACC2B,MAAOd,EAAgBsB,MACvBC,GAAIvC,KAAKoB,YAAcpB,KAAKC,WAC5BuC,KAAK,WACL3B,MAAOb,KAAKa,MACZ4B,KAAMzC,KAAKyC,KACX7B,QAASZ,KAAKS,UACdiC,QAAS1C,KAAK2C,eAAeC,KAAK5C,MAClC6C,SAAU7C,KAAK8C,gBAAgBF,KAAK5C,MACpC+C,QAAS/C,KAAKgD,eAAeJ,KAAK5C,MAClCiD,OAAQjD,KAAKkD,cAAcN,KAAK5C,MAChCsB,SAAUtB,KAAKsB,SAAQ6B,eACTnD,KAAKS,UAAS2C,gBACbjB,EAAoBnC,KAAKsB,UAAS+B,eACnClB,EAAoBnC,KAAKkC,SAAQoB,mBAC7BtD,KAAKuD,gBAAeC,kBACrBxD,KAAKyD,eAAcC,gBACrBvB,EAAoBnC,KAAK2D,YAEzCxD,EAAA,OAAA,CAAM2B,MAAOd,EAAgB4C,YAC7BzD,EAAA,OAAA,CAAMsC,KAAK,cAQT3C,eAAe+D,GACtBA,EAAEC,kBAGKhE,eAAe+D,GACtBA,EAAEC,kBACF9D,KAAK+D,SAASpD,KAAKkD,GAGZ/D,cAAc+D,GACrBA,EAAEC,kBACF9D,KAAKgE,QAAQrD,KAAKkD,GAGX/D,gBAAgB+D,GACvB7D,KAAKS,UAAaoD,EAAEI,OAA4BrD,QAChDiD,EAAEC,kBACF9D,KAAKU,UAAUC,KAAK,CACnBC,QAASZ,KAAKS,UACdI,MAAOb,KAAKa,QAQdf,qBACCoE,EAAgBlE,KAAKuD,gBAAiB,oBAAqBvC,EAAgBC,MAC3EiD,EAAgBlE,KAAKyD,eAAgB,mBAAoBzC,EAAgBC,MACzEkD,EAAqBnE,KAAKoB,YAAcpB,KAAKC,WAAYD,KAAKyD,eAAgBzC,EAAgBC","sourcesContent":["/*\n * Switch\n */\n\n$class: \".gov-form-switch\";\n$indicator-ratio: calc(5 / 3);\n\n#{$class} {\n\tposition: relative;\n\tdisplay: flex;\n\t&__holder {\n\t\tdisplay: inline-flex;\n\t}\n\t&__input {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tz-index: 1;\n\t\tmargin: 0;\n\t\tappearance: none;\n\t}\n\t.gov-form-label__label {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tmargin-bottom: 0;\n\t\tcolor: $form-switch-color;\n\t}\n\t&__indicator {\n\t\tposition: relative;\n\t\tflex: 0 0 auto;\n\t\tborder: $form-switch-indicator-border;\n\t\tbackground-color: $form-switch-indicator-bg;\n\t\ttransition: $t linear background-color;\n\t\t&::before {\n\t\t\t@include pseudo();\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: $form-switch-indicator-circle-bg;\n\t\t\ttransition: $t linear left;\n\t\t\tbox-shadow: $form-switch-indicator-circle-box-shadow;\n\t\t}\n\t}\n\n\t// STATES\n\t// focus\n\t&__input:focus-visible ~ &__indicator {\n\t\toutline: $outline;\n\t}\n\t// checked\n\t&__input:checked + &__indicator {\n\t\tborder-color: $form-switch-indicator-bg-checked;\n\t\tbackground-color: $form-switch-indicator-bg-checked;\n\t}\n\n\t// disabled\n\t@include parameter(\"disabled\") {\n\t\tpointer-events: none;\n\t\t.gov-form-label__label {\n\t\t\tcolor: $form-state-color-disabled;\n\t\t}\n\t\t#{$class} {\n\t\t\t&__indicator {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground: $form-state-bg-input-disabled;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__input:checked + #{$class}__indicator {\n\t\t\t\tborder-color: $form-state-bg-disabled;\n\t\t\t\tbackground-color: $form-state-bg-disabled;\n\t\t\t}\n\t\t}\n\t}\n\n\t// invalid\n\t@include parameter(\"invalid\") {\n\t\t.gov-form-label__label {\n\t\t\tcolor: $form-state-color-error;\n\t\t}\n\t\t#{$class} {\n\t\t\t&__indicator {\n\t\t\t\tborder-color: $form-state-color-error;\n\t\t\t}\n\t\t\t&__input:checked + #{$class}__indicator {\n\t\t\t\tbackground-color: $form-state-color-error;\n\t\t\t}\n\t\t}\n\t}\n\n\t// sizes\n\t@each $size, $definitions in $form-switch-sizes {\n\t\t$indicator-width: calc(get(\"indicator-height\", $definitions) * $indicator-ratio);\n\t\t$indicator-height: get(\"indicator-height\", $definitions);\n\t\t$border-offset: calc(get(\"toggle-offset\", $definitions) - rem-calc(1));\n\n\t\t&[size=\"#{$size}\"] {\n\t\t\t.gov-form-label__label {\n\t\t\t\t@include typography($size);\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-left: calc(($indicator-width + get(\"gap\", $definitions)) * -1);\n\t\t\t\tpadding-top: calc(($indicator-height - (var(--gov-text-#{$size}-font-size) * 1.5)) / 2);\n\t\t\t\tpadding-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t}\n\t\t\t#{$class} {\n\t\t\t\t&__holder {\n\t\t\t\t\tgap: get(\"gap\", $definitions);\n\t\t\t\t}\n\t\t\t\t&__indicator {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\twidth: $indicator-width;\n\t\t\t\t\theight: $indicator-height;\n\t\t\t\t\tborder-radius: calc($indicator-height * 0.5);\n\t\t\t\t\t&::before {\n\t\t\t\t\t\ttop: $border-offset;\n\t\t\t\t\t\tleft: $border-offset;\n\t\t\t\t\t\twidth: calc($indicator-height - (2 * get(\"toggle-offset\", $definitions)));\n\t\t\t\t\t\theight: calc($indicator-height - (2 * get(\"toggle-offset\", $definitions)));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// STATES\n\t\t\t\t&__input[aria-checked] + #{$class}__indicator {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tleft: calc($indicator-width - $indicator-height + $border-offset);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Element, Watch, Method } from \"@stencil/core\"\nimport { createID } from \"../../../utils/string.utils\"\nimport { validateProp } from \"../../../helpers/Validate/props\"\nimport { FormSwitchClass, FormSwitchSizes, FormSwitchSizesType } from \"./constants\"\nimport { toBoolAttrIfDefined } from \"../../../helpers/Dom/template\"\nimport { validateWcagLabelFor, validateWcagRef } from \"../../../helpers/Validate/wcag\"\nimport { canValidateWcagOnRender } from \"../../../helpers/Dom/win\"\nimport { delay } from \"../../../utils/utils\"\nimport { GovForm } from \"../../../helpers/Dom/form.types\"\nimport { govHost } from \"../../../helpers/Dom/template\"\nimport { GovHost } from \"../../../helpers/Dom/template.types\"\nimport { govForm } from \"../../../helpers/Dom/form\"\nimport { GovFormSwitchChangeEvent } from \"./interfaces\"\nimport Fragment from \"../../../helpers/Fragment\"\n\n@Component({\n\ttag: \"gov-form-switch\",\n\tstyleUrl: \"gov-form-switch.scss\",\n})\nexport class GovFormSwitch {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\n\tprivate readonly checkboxId: string\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSwitchElement\n\t/**\n\t * Value of switch\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({ attribute: \"no-label\" }) readonly noLabel: boolean = false\n\t/**\n\t * Switch default state\n\t */\n\t@Prop({ reflect: true }) readonly checked: boolean = false\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the switch component disabled.\n\t * This prevents users from being able to interact with the switch, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Name of the switch.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop() readonly size?: FormSwitchSizesType = \"m\"\n\t/**\n\t * Custom switch identifier.\n\t */\n\t@Prop({ attribute: \"identifier\" }) readonly identifier: string\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: \"wcag-described-by\" }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: \"wcag-labelled-by\" }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the switch has focus.\n\t */\n\t@Event({ eventName: \"gov-focus\" }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the switch loses focus.\n\t */\n\t@Event({ eventName: \"gov-blur\" }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the switch change value.\n\t */\n\t@Event({ eventName: \"gov-change\" }) govChange: EventEmitter<GovFormSwitchChangeEvent>\n\n\t@State() isChecked: boolean\n\n\t@Watch(\"checked\")\n\tupdateCheckedState(newValue: boolean): void {\n\t\tthis.isChecked = newValue\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSwitchSizes, newValue, FormSwitchClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.isChecked = this.checked\n\n\t\tthis.f.passAttrToControl(\"type\", \"switch\")\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('identifier', this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isChecked } = this\n\t\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FormSwitchClass.root)} is-checked={isChecked} size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t<div class={FormSwitchClass.holder}>\n\t\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={FormSwitchClass.input}\n\t\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\t\tchecked={this.isChecked}\n\t\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t\taria-checked={this.isChecked}\n\t\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span class={FormSwitchClass.indicator}></span>\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</Fragment>,\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.isChecked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, \"wcag-described-by\", FormSwitchClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, \"wcag-labelled-by\", FormSwitchClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.checkboxId, this.wcagLabelledBy, FormSwitchClass.root)\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-form/switch/gov-form-switch.scss?tag=gov-form-switch","../../../packages/core/src/components/gov-form/switch/gov-form-switch.tsx"],"names":["govFormSwitchCss","GovFormSwitch","[object Object]","hostRef","this","checkboxId","createID","h","govHost","host","f","govForm","newValue","isChecked","govChange","emit","checked","value","validateProp","FormSwitchSizes","FormSwitchClass","root","passAttrToControl","passAttrToLabel","identifier","String","required","canValidateWcagOnRender","delay","validateWcag","wrapCheckbox","children","noLabel","Host","class","classes","is-checked","size","invalid","toBoolAttrIfDefined","holder","Fragment","input","id","type","name","onClick","onClickHandler","bind","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","aria-checked","aria-required","aria-invalid","aria-describedby","wcagDescribedBy","aria-labelledby","wcagLabelledBy","aria-disabled","disabled","indicator","e","stopPropagation","govFocus","govBlur","target","validateWcagRef","validateWcagLabelFor"],"mappings":"+hBAAA,MAAMA,EAAmB,ksUCmBZC,EAAa,MAMzBC,YAAAC,2JAe6D,mBAIR,oBAKhB,4DAaS,2IApC7CC,KAAKC,WAAaC,EAAS,eAE3BF,KAAKG,EAAIC,EAAQJ,KAAKK,MACtBL,KAAKM,EAAIC,EAAQP,KAAKG,GAkEvBL,mBAAmBU,GAClBR,KAAKS,UAAYD,EACjBR,KAAKU,UAAUC,KAAK,CACnBC,QAASZ,KAAKS,UACdI,MAAOb,KAAKa,QAKdf,aAAaU,GACZM,EAAaC,EAAiBP,EAAUQ,EAAgBC,MAGzDnB,oBACCE,KAAKS,UAAYT,KAAKY,QAEtBZ,KAAKM,EAAEY,kBAAkB,OAAQ,UAGlCpB,2BACCE,KAAKM,EAAEa,gBAAgB,aAAcnB,KAAKoB,YAAcpB,KAAKC,YAC7DD,KAAKM,EAAEa,gBAAgB,WAAYE,OAAOrB,KAAKsB,WAC/C,GAAIC,IAA2B,OACxBC,EAAM,WACNxB,KAAKyB,gBAIb3B,SACC,MAAMW,UAAEA,GAAcT,KACtB,MAAM0B,EAAgBC,IACrB,GAAI3B,KAAK4B,QAAS,CACjB,OACCzB,EAAA,QAAA,KACEwB,GAIJ,OAAOA,GAGR,OACCxB,EAAC0B,EAAI,CAACC,MAAO9B,KAAKG,EAAE4B,QAAQf,EAAgBC,MAAKe,aAAcvB,EAAWwB,KAAMjC,KAAKiC,KAAMC,QAASC,EAAoBnC,KAAKkC,UAC5H/B,EAAA,MAAA,CAAK2B,MAAOd,EAAgBoB,QAC1BV,EACAvB,EAACkC,EAAQ,KACRlC,EAAA,QAAA,CACC2B,MAAOd,EAAgBsB,MACvBC,GAAIvC,KAAKoB,YAAcpB,KAAKC,WAC5BuC,KAAK,WACL3B,MAAOb,KAAKa,MACZ4B,KAAMzC,KAAKyC,KACX7B,QAASZ,KAAKS,UACdiC,QAAS1C,KAAK2C,eAAeC,KAAK5C,MAClC6C,SAAU7C,KAAK8C,gBAAgBF,KAAK5C,MACpC+C,QAAS/C,KAAKgD,eAAeJ,KAAK5C,MAClCiD,OAAQjD,KAAKkD,cAAcN,KAAK5C,MAChCsB,SAAUtB,KAAKsB,SAAQ6B,eACTnD,KAAKS,UAAS2C,gBACbjB,EAAoBnC,KAAKsB,UAAS+B,eACnClB,EAAoBnC,KAAKkC,SAAQoB,mBAC7BtD,KAAKuD,gBAAeC,kBACrBxD,KAAKyD,eAAcC,gBACrBvB,EAAoBnC,KAAK2D,YAEzCxD,EAAA,OAAA,CAAM2B,MAAOd,EAAgB4C,YAC7BzD,EAAA,OAAA,CAAMsC,KAAK,cAQT3C,eAAe+D,GACtBA,EAAEC,kBAGKhE,eAAe+D,GACtBA,EAAEC,kBACF9D,KAAK+D,SAASpD,KAAKkD,GAGZ/D,cAAc+D,GACrBA,EAAEC,kBACF9D,KAAKgE,QAAQrD,KAAKkD,GAGX/D,gBAAgB+D,GACvB7D,KAAKS,UAAaoD,EAAEI,OAA4BrD,QAChDiD,EAAEC,kBACF9D,KAAKU,UAAUC,KAAK,CACnBC,QAASZ,KAAKS,UACdI,MAAOb,KAAKa,QAQdf,qBACCoE,EAAgBlE,KAAKuD,gBAAiB,oBAAqBvC,EAAgBC,MAC3EiD,EAAgBlE,KAAKyD,eAAgB,mBAAoBzC,EAAgBC,MACzEkD,EAAqBnE,KAAKoB,YAAcpB,KAAKC,WAAYD,KAAKyD,eAAgBzC,EAAgBC","sourcesContent":["/*\n * Switch\n */\n\n$class: \".gov-form-switch\";\n$indicator-ratio: calc(5 / 3);\n\n#{$class} {\n\tposition: relative;\n\tdisplay: flex;\n\t&__holder {\n\t\tdisplay: inline-flex;\n\t}\n\t&__input {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tz-index: 1;\n\t\tmargin: 0;\n\t\tappearance: none;\n\t}\n\t.gov-form-label__label {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tmargin-bottom: 0;\n\t\tcolor: $form-switch-color;\n\t}\n\t&__indicator {\n\t\tposition: relative;\n\t\tflex: 0 0 auto;\n\t\tborder: $form-switch-indicator-border;\n\t\tbackground-color: $form-switch-indicator-bg;\n\t\ttransition: $t linear background-color;\n\t\t&::before {\n\t\t\t@include pseudo();\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: $form-switch-indicator-circle-bg;\n\t\t\ttransition: $t linear left;\n\t\t\tbox-shadow: $form-switch-indicator-circle-box-shadow;\n\t\t}\n\t}\n\n\t// STATES\n\t// focus\n\t&__input:focus-visible ~ &__indicator {\n\t\toutline: $outline;\n\t}\n\t// checked\n\t&__input:checked + &__indicator {\n\t\tborder-color: $form-switch-indicator-bg-checked;\n\t\tbackground-color: $form-switch-indicator-bg-checked;\n\t}\n\n\t// disabled\n\t@include parameter(\"disabled\") {\n\t\tpointer-events: none;\n\t\t.gov-form-label__label {\n\t\t\tcolor: $form-state-color-disabled;\n\t\t}\n\t\t#{$class} {\n\t\t\t&__indicator {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground: $form-state-bg-input-disabled;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__input:checked + #{$class}__indicator {\n\t\t\t\tborder-color: $form-state-bg-disabled;\n\t\t\t\tbackground-color: $form-state-bg-disabled;\n\t\t\t}\n\t\t}\n\t}\n\n\t// invalid\n\t@include parameter(\"invalid\") {\n\t\t.gov-form-label__label {\n\t\t\tcolor: $form-state-color-error;\n\t\t}\n\t\t#{$class} {\n\t\t\t&__indicator {\n\t\t\t\tborder-color: $form-state-color-error;\n\t\t\t}\n\t\t\t&__input:checked + #{$class}__indicator {\n\t\t\t\tbackground-color: $form-state-color-error;\n\t\t\t}\n\t\t}\n\t}\n\n\t// sizes\n\t@each $size, $definitions in $form-switch-sizes {\n\t\t$indicator-width: calc(get(\"indicator-height\", $definitions) * $indicator-ratio);\n\t\t$indicator-height: get(\"indicator-height\", $definitions);\n\t\t$border-offset: calc(get(\"toggle-offset\", $definitions) - rem-calc(1));\n\n\t\t&[size=\"#{$size}\"] {\n\t\t\t.gov-form-label__label {\n\t\t\t\t@include typography($size);\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-left: calc(($indicator-width + get(\"gap\", $definitions)) * -1);\n\t\t\t\tpadding-top: calc(($indicator-height - (var(--gov-text-#{$size}-font-size) * 1.5)) / 2);\n\t\t\t\tpadding-left: calc($indicator-width + get(\"gap\", $definitions));\n\t\t\t}\n\t\t\t#{$class} {\n\t\t\t\t&__holder {\n\t\t\t\t\tgap: get(\"gap\", $definitions);\n\t\t\t\t}\n\t\t\t\t&__indicator {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\twidth: $indicator-width;\n\t\t\t\t\theight: $indicator-height;\n\t\t\t\t\tborder-radius: calc($indicator-height * 0.5);\n\t\t\t\t\t&::before {\n\t\t\t\t\t\ttop: $border-offset;\n\t\t\t\t\t\tleft: $border-offset;\n\t\t\t\t\t\twidth: calc($indicator-height - (2 * get(\"toggle-offset\", $definitions)));\n\t\t\t\t\t\theight: calc($indicator-height - (2 * get(\"toggle-offset\", $definitions)));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// STATES\n\t\t\t\t&__input[aria-checked] + #{$class}__indicator {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tleft: calc($indicator-width - $indicator-height + $border-offset);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Element, Watch, Method } from \"@stencil/core\"\nimport { createID } from \"../../../utils/string.utils\"\nimport { validateProp } from \"../../../helpers/Validate/props\"\nimport { FormSwitchClass, FormSwitchSizes, FormSwitchSizesType } from \"./constants\"\nimport { toBoolAttrIfDefined } from \"../../../helpers/Dom/template\"\nimport { validateWcagLabelFor, validateWcagRef } from \"../../../helpers/Validate/wcag\"\nimport { canValidateWcagOnRender } from \"../../../helpers/Dom/win\"\nimport { delay } from \"../../../utils/utils\"\nimport { GovForm } from \"../../../helpers/Dom/form.types\"\nimport { govHost } from \"../../../helpers/Dom/template\"\nimport { GovHost } from \"../../../helpers/Dom/template.types\"\nimport { govForm } from \"../../../helpers/Dom/form\"\nimport { GovFormSwitchChangeEvent } from \"./interfaces\"\nimport Fragment from \"../../../helpers/Fragment\"\n\n@Component({\n\ttag: \"gov-form-switch\",\n\tstyleUrl: \"gov-form-switch.scss\",\n})\nexport class GovFormSwitch {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\n\tprivate readonly checkboxId: string\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSwitchElement\n\t/**\n\t * Value of switch\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({ attribute: \"no-label\" }) readonly noLabel: boolean = false\n\t/**\n\t * Switch default state\n\t */\n\t@Prop({ reflect: true }) readonly checked: boolean = false\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the switch component disabled.\n\t * This prevents users from being able to interact with the switch, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Name of the switch.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop() readonly size?: FormSwitchSizesType = \"m\"\n\t/**\n\t * Custom switch identifier.\n\t */\n\t@Prop({ attribute: \"identifier\" }) readonly identifier: string\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: \"wcag-described-by\" }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: \"wcag-labelled-by\" }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the switch has focus.\n\t */\n\t@Event({ eventName: \"gov-focus\" }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the switch loses focus.\n\t */\n\t@Event({ eventName: \"gov-blur\" }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the switch change value.\n\t */\n\t@Event({ eventName: \"gov-change\" }) govChange: EventEmitter<GovFormSwitchChangeEvent>\n\n\t@State() isChecked: boolean\n\n\t@Watch(\"checked\")\n\tupdateCheckedState(newValue: boolean): void {\n\t\tthis.isChecked = newValue\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSwitchSizes, newValue, FormSwitchClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.isChecked = this.checked\n\n\t\tthis.f.passAttrToControl(\"type\", \"switch\")\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('identifier', this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isChecked } = this\n\t\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FormSwitchClass.root)} is-checked={isChecked} size={this.size} invalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t<div class={FormSwitchClass.holder}>\n\t\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={FormSwitchClass.input}\n\t\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\t\tchecked={this.isChecked}\n\t\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\t\taria-checked={this.isChecked}\n\t\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span class={FormSwitchClass.indicator}></span>\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</Fragment>,\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.isChecked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tchecked: this.isChecked,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, \"wcag-described-by\", FormSwitchClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, \"wcag-labelled-by\", FormSwitchClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.checkboxId, this.wcagLabelledBy, FormSwitchClass.root)\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as o,c as i,h as t,H as e,g as r}from"./p-4af5e4f4.js";import{g as n,h as a,i as s,j as l}from"./p-9cd80b05.js";import{c as v}from"./p-24636c53.js";import{g,t as c,c as p}from"./p-3f37ddb6.js";import{v as m}from"./p-26acf964.js";import{c as f}from"./p-c20102ff.js";import{d as u}from"./p-03990da5.js";import{a as d,b as h}from"./p-364b4792.js";import"./p-55500e5a.js";import"./p-ff7365ae.js";import"./p-ef79904e.js";import"./p-6278531b.js";import"./p-f687452c.js";import"./p-3464136c.js";import"./p-561fa17b.js";const x='.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-input{position:relative;display:flex;width:100%;align-items:center}.gov-form-input .element{position:relative;flex:1 1 auto}.gov-form-input input,.gov-form-input select,.gov-form-input textarea{width:100%;border:var(--gov-form-input-border-width, 0.0625rem solid var(--gov-color-secondary-700));border-radius:var(--gov-border-radius, 0.1875rem);background-color:var(--gov-form-bg-color, var(--gov-color-neutral-white));color:var(--gov-form-input-color, var(--gov-color-secondary-700));font-family:var(--gov-font-family, "Roboto", sans-serif)}.gov-form-input input:focus,.gov-form-input select:focus,.gov-form-input textarea:focus{outline:none}.gov-form-input input:focus-visible,.gov-form-input select:focus-visible,.gov-form-input textarea:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-input input::-moz-placeholder,.gov-form-input select::-moz-placeholder,.gov-form-input textarea::-moz-placeholder{color:var(--gov-form-placeholder-color, var(--gov-color-secondary-600))}.gov-form-input input::placeholder,.gov-form-input select::placeholder,.gov-form-input textarea::placeholder{color:var(--gov-form-placeholder-color, var(--gov-color-secondary-600))}.gov-form-input textarea{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);padding:0.5rem 0.75rem;resize:none}.gov-form-input *[slot=left-icon],.gov-form-input *[slot=right-icon]{position:absolute;top:50%;display:flex;justify-content:center;color:var(--gov-form-input-icon-color, var(--gov-color-primary));transform:translateY(-50%);pointer-events:none}.gov-form-input *[slot=left-icon]{left:0}.gov-form-input *[slot=right-icon]{right:0}[disabled=""].gov-form-input,[disabled=true i].gov-form-input,[disabled="1"].gov-form-input{pointer-events:none}[disabled=""].gov-form-input input,[disabled=""].gov-form-input select,[disabled=""].gov-form-input textarea,[disabled=true i].gov-form-input input,[disabled=true i].gov-form-input select,[disabled=true i].gov-form-input textarea,[disabled="1"].gov-form-input input,[disabled="1"].gov-form-input select,[disabled="1"].gov-form-input textarea{border-color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600));background:var(--gov-form-input-disabled-bg, var(--gov-color-secondary-300));color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600))}[disabled=""].gov-form-input *[slot=left-icon],[disabled=""].gov-form-input *[slot=right-icon],[disabled=true i].gov-form-input *[slot=left-icon],[disabled=true i].gov-form-input *[slot=right-icon],[disabled="1"].gov-form-input *[slot=left-icon],[disabled="1"].gov-form-input *[slot=right-icon]{color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600))}[invalid=""].gov-form-input input,[invalid=""].gov-form-input select,[invalid=""].gov-form-input textarea,[invalid=true i].gov-form-input input,[invalid=true i].gov-form-input select,[invalid=true i].gov-form-input textarea,[invalid="1"].gov-form-input input,[invalid="1"].gov-form-input select,[invalid="1"].gov-form-input textarea{border-color:var(--gov-form-state-color-error, var(--gov-color-error));color:var(--gov-form-state-color-error, var(--gov-color-error))}[invalid=""].gov-form-input input::-moz-placeholder,[invalid=""].gov-form-input select::-moz-placeholder,[invalid=""].gov-form-input textarea::-moz-placeholder,[invalid=true i].gov-form-input input::-moz-placeholder,[invalid=true i].gov-form-input select::-moz-placeholder,[invalid=true i].gov-form-input textarea::-moz-placeholder,[invalid="1"].gov-form-input input::-moz-placeholder,[invalid="1"].gov-form-input select::-moz-placeholder,[invalid="1"].gov-form-input textarea::-moz-placeholder{color:var(--gov-form-state-color-error, var(--gov-color-error-300))}[invalid=""].gov-form-input input::placeholder,[invalid=""].gov-form-input select::placeholder,[invalid=""].gov-form-input textarea::placeholder,[invalid=true i].gov-form-input input::placeholder,[invalid=true i].gov-form-input select::placeholder,[invalid=true i].gov-form-input textarea::placeholder,[invalid="1"].gov-form-input input::placeholder,[invalid="1"].gov-form-input select::placeholder,[invalid="1"].gov-form-input textarea::placeholder{color:var(--gov-form-state-color-error, var(--gov-color-error-300))}[invalid=""].gov-form-input *[slot=left-icon],[invalid=""].gov-form-input *[slot=right-icon],[invalid=true i].gov-form-input *[slot=left-icon],[invalid=true i].gov-form-input *[slot=right-icon],[invalid="1"].gov-form-input *[slot=left-icon],[invalid="1"].gov-form-input *[slot=right-icon]{color:var(--gov-form-state-color-error, var(--gov-color-error))}[success=""].gov-form-input *[slot=right-icon],[success=true i].gov-form-input *[slot=right-icon],[success="1"].gov-form-input *[slot=right-icon]{color:var(--gov-form-state-color-success, var(--gov-color-success))}[success=""].gov-form-input *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[success=true i].gov-form-input *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[success="1"].gov-form-input *[slot=right-icon]:not(.icon-validation):not(.icon-arrow){display:none}[size=m].gov-form-input{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);gap:0.5rem var(--gov-form-input-core-m-icon-size, 1rem)}[size=m].gov-form-input input,[size=m].gov-form-input select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);height:var(--gov-form-input-core-m-height, 2.5rem);padding:var(--gov-form-input-core-m-padding, 0.4375rem 0.75rem)}[size=m].gov-form-input *[slot=left-icon],[size=m].gov-form-input *[slot=right-icon]{width:var(--gov-form-input-core-m-icon-size, 1rem);height:var(--gov-form-input-core-m-icon-size, 1rem)}[size=m].gov-form-input *[slot=left-icon]{left:calc((var(--gov-form-input-core-m-icon-padding, 2.5rem) - var(--gov-form-input-core-m-icon-size, 1rem)) / 2)}[size=m].gov-form-input *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-m-icon-padding, 2.5rem)}[size=m].gov-form-input *[slot=right-icon]{right:calc((var(--gov-form-input-core-m-icon-padding, 2.5rem) - var(--gov-form-input-core-m-icon-size, 1rem)) / 2)}[size=m].gov-form-input *[slot=right-icon]~input,[size=m].gov-form-input *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-m-icon-padding, 2.5rem)}[size=l].gov-form-input{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);gap:0.5rem var(--gov-form-input-core-l-icon-size, 1rem)}[size=l].gov-form-input input,[size=l].gov-form-input select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);height:var(--gov-form-input-core-l-height, 3rem);padding:var(--gov-form-input-core-l-padding, 0.6875rem 0.75rem)}[size=l].gov-form-input *[slot=left-icon],[size=l].gov-form-input *[slot=right-icon]{width:var(--gov-form-input-core-l-icon-size, 1rem);height:var(--gov-form-input-core-l-icon-size, 1rem)}[size=l].gov-form-input *[slot=left-icon]{left:calc((var(--gov-form-input-core-l-icon-padding, 2.5rem) - var(--gov-form-input-core-l-icon-size, 1rem)) / 2)}[size=l].gov-form-input *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-l-icon-padding, 2.5rem)}[size=l].gov-form-input *[slot=right-icon]{right:calc((var(--gov-form-input-core-l-icon-padding, 2.5rem) - var(--gov-form-input-core-l-icon-size, 1rem)) / 2)}[size=l].gov-form-input *[slot=right-icon]~input,[size=l].gov-form-input *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-l-icon-padding, 2.5rem)}[size=xl].gov-form-input{font-weight:var(--gov-text-l-font-weight);font-size:var(--gov-text-l-font-size);line-height:var(--gov-text-l-line-height);letter-spacing:var(--gov-text-l-letter-spacing);gap:0.5rem var(--gov-form-input-core-xl-icon-size, 1.25rem)}[size=xl].gov-form-input input,[size=xl].gov-form-input select{font-weight:var(--gov-text-l-font-weight);font-size:var(--gov-text-l-font-size);line-height:var(--gov-text-l-line-height);letter-spacing:var(--gov-text-l-letter-spacing);height:var(--gov-form-input-core-xl-height, 3.5rem);padding:var(--gov-form-input-core-xl-padding, 0.9375rem 1rem 0.875rem)}[size=xl].gov-form-input *[slot=left-icon],[size=xl].gov-form-input *[slot=right-icon]{width:var(--gov-form-input-core-xl-icon-size, 1.25rem);height:var(--gov-form-input-core-xl-icon-size, 1.25rem)}[size=xl].gov-form-input *[slot=left-icon]{left:calc((var(--gov-form-input-core-xl-icon-padding, 3rem) - var(--gov-form-input-core-xl-icon-size, 1.25rem)) / 2)}[size=xl].gov-form-input *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-xl-icon-padding, 3rem)}[size=xl].gov-form-input *[slot=right-icon]{right:calc((var(--gov-form-input-core-xl-icon-padding, 3rem) - var(--gov-form-input-core-xl-icon-size, 1.25rem)) / 2)}[size=xl].gov-form-input *[slot=right-icon]~input,[size=xl].gov-form-input *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-xl-icon-padding, 3rem)}.gov-form-input[invalid=""] *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),.gov-form-input[invalid=true i] *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),.gov-form-input[invalid="1"] *[slot=right-icon]:not(.icon-validation):not(.icon-arrow){display:none}.gov-form-input[type=reset] input{border-width:0}.gov-form-input[type=reset] input:focus{outline:none}';var z;(function(o){o["INPUT"]="input";o["TEXTAREA"]="textarea"})(z||(z={}));const b=class{constructor(t){o(this,t);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govInput=i(this,"gov-input",7);this.govKeyUp=i(this,"gov-keyup",7);this.value=undefined;this.identifier=undefined;this.variant=undefined;this.success=undefined;this.size="m";this.name=undefined;this.multiline=undefined;this.rows=undefined;this.cols=undefined;this.required=false;this.disabled=undefined;this.placeholder=undefined;this.readonly=undefined;this.minlength=undefined;this.maxlength=undefined;this.autocomplete=undefined;this.autocorrect=undefined;this.type=undefined;this.inputType="text";this.role=undefined;this.invalid=undefined;this.wcagDescribedBy=undefined;this.wcagLabelledBy=undefined;this.wcagOwns=undefined;this.wcagAutocomplete=undefined;this.wcagExpanded=undefined;this.focused=undefined;this.h=g(this.host);this.inputId=v("GovInput");this.f=n(g(this.host))}validateVariant(o){m(s,o,a.root)}validateSize(o){m(l,o,a.root)}componentWillLoad(){this.validateVariant(this.variant);this.validateSize(this.size);this.f.passAttrToControl("type",this.multiline?z.TEXTAREA:z.INPUT);this.f.passAttrToLabel("required",String(this.required))}async componentDidRender(){if(f()){await u(500);await this.validateWcag()}}render(){const o=this.multiline?z.TEXTAREA:z.INPUT;return t(e,{class:a.root,size:this.size,variant:this.variant,type:this.type},this.h.hasSlot("prefix")&&t("slot",{name:"prefix"}),t("span",{class:"element"},this.h.hasSlot("left-icon")&&t("slot",{name:"left-icon"}),this.h.hasSlot("right-icon")&&!(this.success||this.invalid)&&t("slot",{name:"right-icon"}),this.success&&!this.multiline&&t("gov-icon",{slot:"right-icon",class:"icon-validation",name:"check-lg"}),this.invalid&&!this.multiline&&t("gov-icon",{slot:"right-icon",class:"icon-validation",name:"exclamation-lg"}),t(o,{type:this.inputType,disabled:this.disabled,id:this.identifier||this.inputId,name:this.name,onFocus:this.onFocusHandler.bind(this),onInput:this.onInputHandler.bind(this),onBlur:this.onBlurHandler.bind(this),onKeyUp:this.onKeyUpHandler.bind(this),ref:o=>this.inputRef=o,placeholder:this.placeholder,value:this.value,readonly:c(this.readonly),autocomplete:p(this.autocomplete),autocorrect:p(this.autocorrect),minlength:this.minlength,maxlength:this.maxlength,required:this.required,rows:this.rows,cols:this.cols,role:this.role,"aria-required":c(this.required),"aria-invalid":c(this.invalid),"aria-disabled":c(this.disabled),"aria-describedby":this.wcagDescribedBy,"aria-labelledby":this.wcagLabelledBy,"aria-owns":this.wcagOwns,"aria-expanded":c(this.wcagExpanded),"aria-autocomplete":this.wcagAutocomplete})),this.h.hasSlot("sufix")&&t("slot",{name:"sufix"}))}onFocusHandler(o){o.stopPropagation();this.focused=true;this.govFocus.emit(o)}onBlurHandler(o){o.stopPropagation();this.focused=false;this.govBlur.emit(o)}onKeyUpHandler(o){o.stopPropagation();this.govKeyUp.emit(o)}onInputHandler(o){this.value=o.target.value;o.stopPropagation();this.govInput.emit(o)}async setFocus(o){return this.inputRef.focus(o)}async setValue(o){this.value=o}async clearValue(){this.value="";this.inputRef.value=""}async getInstance(){return this.inputRef}async validateWcag(){d(this.wcagDescribedBy,"wcag-described-by",a.root);d(this.wcagLabelledBy,"wcag-labelled-by",a.root);d(this.wcagOwns,"wcag-owns",a.root);h(this.identifier||this.inputId,this.wcagLabelledBy,a.root)}get host(){return r(this)}static get watchers(){return{variant:["validateVariant"],size:["validateSize"]}}};b.style=x;export{b as gov_form_input};
2
+ //# sourceMappingURL=p-9bdce72b.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-form/input/gov-form-input.scss?tag=gov-form-input","../../../packages/core/src/components/gov-form/input/gov-form-input.tsx"],"names":["govFormInputCss","Tags","GovFormInput","[object Object]","hostRef","this","h","govHost","host","inputId","createID","f","govForm","newValue","validateProp","FormInputVariants","FormInputClass","root","FormInputSizes","validateVariant","variant","validateSize","size","passAttrToControl","multiline","TEXTAREA","INPUT","passAttrToLabel","String","required","canValidateWcagOnRender","delay","validateWcag","Tag","Host","class","type","hasSlot","name","success","invalid","slot","inputType","disabled","id","identifier","onFocus","onFocusHandler","bind","onInput","onInputHandler","onBlur","onBlurHandler","onKeyUp","onKeyUpHandler","ref","el","inputRef","placeholder","value","readonly","toBoolAttrIfDefined","autocomplete","toOnOffAttrIfDefined","autocorrect","minlength","maxlength","rows","cols","role","aria-required","aria-invalid","aria-disabled","aria-describedby","wcagDescribedBy","aria-labelledby","wcagLabelledBy","aria-owns","wcagOwns","aria-expanded","wcagExpanded","aria-autocomplete","wcagAutocomplete","e","stopPropagation","focused","govFocus","emit","govBlur","govKeyUp","target","govInput","options","focus","validateWcagRef","validateWcagLabelFor"],"mappings":"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","sourcesContent":["/*\n * Input\n */\n\n@import \"../input/gov-form-input-core.scss\";\n$class: \".gov-form-input\";\n\n#{$class} {\n\t@extend %form-input-core;\n\n\t// STATES\n\t@include parameter(\"invalid\") {\n\t\t*[slot=\"right-icon\"]:not(.icon-validation):not(.icon-arrow) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// VARIANTS\n\t&[type=\"reset\"] {\n\t\tinput {\n\t\t\tborder-width: 0;\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { GovHost } from '../../../helpers/Dom/template.types'\nimport { FormInputSizes, FormInputSizesType, InputType, Type } from './constants'\nimport { createID } from '../../../utils/string.utils'\nimport { govHost, toBoolAttrIfDefined, toOnOffAttrIfDefined } from '../../../helpers/Dom/template'\nimport { FormInputClass, FormInputVariants, FormInputVariantType } from './constants'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { delay } from '../../../utils/utils'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { GovForm } from '../../../helpers/Dom/form.types'\nimport { govForm } from '../../../helpers/Dom/form'\n\nenum Tags {\n\tINPUT = 'input',\n\tTEXTAREA = 'textarea',\n}\n\n@Component({\n\ttag: 'gov-form-input',\n\tstyleUrl: 'gov-form-input.scss',\n})\nexport class GovFormInput {\n\tprivate f: GovForm\n\tprivate h: GovHost\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly inputId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.inputId = createID('GovInput')\n\t\tthis.f = govForm(govHost(this.host))\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value: string\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: FormInputVariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: FormInputSizesType = 'm'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Generates a texarea for the possibility of multiple lines\n\t */\n\t@Prop() readonly multiline: boolean\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-rows\n\t */\n\t@Prop() readonly rows: number\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-cols\n\t */\n\t@Prop() readonly cols: number\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autocomplete\n\t */\n\t@Prop() readonly autocomplete: boolean\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autocorrect\n\t */\n\t@Prop() readonly autocorrect: boolean\n\t/**\n\t * Defineds the visual style of input\n\t */\n\t@Prop() readonly type?: Type\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n\t */\n\t@Prop() readonly inputType: InputType = 'text'\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/input_role\n\t */\n\t@Prop() readonly role: string\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value.\n\t */\n\t@Prop({ attribute: 'wcag-autocomplete' }) readonly wcagAutocomplete: string\n\t/**\n\t * Attribute is set on an element to indicate if a control is expanded or collapsed\n\t */\n\t@Prop({ attribute: 'wcag-expanded' }) readonly wcagExpanded: boolean\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-keyup' }) govKeyUp: EventEmitter<KeyboardEvent>\n\t@State() focused: boolean\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormInputVariants, newValue, FormInputClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormInputSizes, newValue, FormInputClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\n\t\tthis.f.passAttrToControl('type', this.multiline ? Tags.TEXTAREA : Tags.INPUT)\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst Tag = this.multiline ? Tags.TEXTAREA : Tags.INPUT\n\n\t\treturn (\n\t\t\t<Host class={FormInputClass.root} size={this.size} variant={this.variant} type={this.type}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t{this.h.hasSlot('left-icon') && <slot name=\"left-icon\" />}\n\n\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\" />}\n\n\t\t\t\t\t{this.success && !this.multiline && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t{this.invalid && !this.multiline && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t<Tag\n\t\t\t\t\t\ttype={this.inputType}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tid={this.identifier || this.inputId}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonInput={this.onInputHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\tonKeyUp={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\treadonly={toBoolAttrIfDefined(this.readonly)}\n\t\t\t\t\t\tautocomplete={toOnOffAttrIfDefined(this.autocomplete)}\n\t\t\t\t\t\tautocorrect={toOnOffAttrIfDefined(this.autocorrect)}\n\t\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\trows={this.rows}\n\t\t\t\t\t\tcols={this.cols}\n\t\t\t\t\t\trole={this.role}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\taria-owns={this.wcagOwns}\n\t\t\t\t\t\taria-expanded={toBoolAttrIfDefined(this.wcagExpanded)}\n\t\t\t\t\t\taria-autocomplete={this.wcagAutocomplete}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onKeyUpHandler(e: KeyboardEvent) {\n\t\te.stopPropagation()\n\t\tthis.govKeyUp.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.value = value\n\t}\n\n\t/**\n\t * Clears input value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\t}\n\n\t/**\n\t * Returns an instance of the native html input element\n\t */\n\t@Method()\n\tasync getInstance(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormInputClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormInputClass.root)\n\t\tvalidateWcagRef(this.wcagOwns, 'wcag-owns', FormInputClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.inputId, this.wcagLabelledBy, FormInputClass.root)\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-form/input/gov-form-input.scss?tag=gov-form-input","../../../packages/core/src/components/gov-form/input/gov-form-input.tsx"],"names":["govFormInputCss","Tags","GovFormInput","[object Object]","hostRef","this","h","govHost","host","inputId","createID","f","govForm","newValue","validateProp","FormInputVariants","FormInputClass","root","FormInputSizes","validateVariant","variant","validateSize","size","passAttrToControl","multiline","TEXTAREA","INPUT","passAttrToLabel","String","required","canValidateWcagOnRender","delay","validateWcag","Tag","Host","class","type","hasSlot","name","success","invalid","slot","inputType","disabled","id","identifier","onFocus","onFocusHandler","bind","onInput","onInputHandler","onBlur","onBlurHandler","onKeyUp","onKeyUpHandler","ref","el","inputRef","placeholder","value","readonly","toBoolAttrIfDefined","autocomplete","toOnOffAttrIfDefined","autocorrect","minlength","maxlength","rows","cols","role","aria-required","aria-invalid","aria-disabled","aria-describedby","wcagDescribedBy","aria-labelledby","wcagLabelledBy","aria-owns","wcagOwns","aria-expanded","wcagExpanded","aria-autocomplete","wcagAutocomplete","e","stopPropagation","focused","govFocus","emit","govBlur","govKeyUp","target","govInput","options","focus","validateWcagRef","validateWcagLabelFor"],"mappings":"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","sourcesContent":["/*\n * Input\n */\n\n@import \"../input/gov-form-input-core.scss\";\n$class: \".gov-form-input\";\n\n#{$class} {\n\t@extend %form-input-core;\n\n\t// STATES\n\t@include parameter(\"invalid\") {\n\t\t*[slot=\"right-icon\"]:not(.icon-validation):not(.icon-arrow) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// VARIANTS\n\t&[type=\"reset\"] {\n\t\tinput {\n\t\t\tborder-width: 0;\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { GovHost } from '../../../helpers/Dom/template.types'\nimport { FormInputSizes, FormInputSizesType, InputType, Type } from './constants'\nimport { createID } from '../../../utils/string.utils'\nimport { govHost, toBoolAttrIfDefined, toOnOffAttrIfDefined } from '../../../helpers/Dom/template'\nimport { FormInputClass, FormInputVariants, FormInputVariantType } from './constants'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { canValidateWcagOnRender } from '../../../helpers/Dom/win'\nimport { delay } from '../../../utils/utils'\nimport { validateWcagLabelFor, validateWcagRef } from '../../../helpers/Validate/wcag'\nimport { GovForm } from '../../../helpers/Dom/form.types'\nimport { govForm } from '../../../helpers/Dom/form'\n\nenum Tags {\n\tINPUT = 'input',\n\tTEXTAREA = 'textarea',\n}\n\n@Component({\n\ttag: 'gov-form-input',\n\tstyleUrl: 'gov-form-input.scss',\n})\nexport class GovFormInput {\n\tprivate f: GovForm\n\tprivate h: GovHost\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly inputId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.inputId = createID('GovInput')\n\t\tthis.f = govForm(govHost(this.host))\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value: string\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: FormInputVariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: FormInputSizesType = 'm'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Generates a texarea for the possibility of multiple lines\n\t */\n\t@Prop() readonly multiline: boolean\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-rows\n\t */\n\t@Prop() readonly rows: number\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-cols\n\t */\n\t@Prop() readonly cols: number\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autocomplete\n\t */\n\t@Prop() readonly autocomplete: boolean\n\t/**\n\t * Same as original parameter https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autocorrect\n\t */\n\t@Prop() readonly autocorrect: boolean\n\t/**\n\t * Defineds the visual style of input\n\t */\n\t@Prop() readonly type?: Type\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n\t */\n\t@Prop() readonly inputType: InputType = 'text'\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/input_role\n\t */\n\t@Prop() readonly role: string\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value.\n\t */\n\t@Prop({ attribute: 'wcag-autocomplete' }) readonly wcagAutocomplete: string\n\t/**\n\t * Attribute is set on an element to indicate if a control is expanded or collapsed\n\t */\n\t@Prop({ attribute: 'wcag-expanded' }) readonly wcagExpanded: boolean\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-keyup' }) govKeyUp: EventEmitter<KeyboardEvent>\n\t@State() focused: boolean\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormInputVariants, newValue, FormInputClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormInputSizes, newValue, FormInputClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\n\t\tthis.f.passAttrToControl('type', this.multiline ? Tags.TEXTAREA : Tags.INPUT)\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst Tag = this.multiline ? Tags.TEXTAREA : Tags.INPUT\n\n\t\treturn (\n\t\t\t<Host class={FormInputClass.root} size={this.size} variant={this.variant} type={this.type}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t{this.h.hasSlot('left-icon') && <slot name=\"left-icon\" />}\n\n\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\" />}\n\n\t\t\t\t\t{this.success && !this.multiline && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t{this.invalid && !this.multiline && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t<Tag\n\t\t\t\t\t\ttype={this.inputType}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tid={this.identifier || this.inputId}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonInput={this.onInputHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\tonKeyUp={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\treadonly={toBoolAttrIfDefined(this.readonly)}\n\t\t\t\t\t\tautocomplete={toOnOffAttrIfDefined(this.autocomplete)}\n\t\t\t\t\t\tautocorrect={toOnOffAttrIfDefined(this.autocorrect)}\n\t\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\trows={this.rows}\n\t\t\t\t\t\tcols={this.cols}\n\t\t\t\t\t\trole={this.role}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\taria-owns={this.wcagOwns}\n\t\t\t\t\t\taria-expanded={toBoolAttrIfDefined(this.wcagExpanded)}\n\t\t\t\t\t\taria-autocomplete={this.wcagAutocomplete}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onKeyUpHandler(e: KeyboardEvent) {\n\t\te.stopPropagation()\n\t\tthis.govKeyUp.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.value = value\n\t}\n\n\t/**\n\t * Clears input value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\t}\n\n\t/**\n\t * Returns an instance of the native html input element\n\t */\n\t@Method()\n\tasync getInstance(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormInputClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormInputClass.root)\n\t\tvalidateWcagRef(this.wcagOwns, 'wcag-owns', FormInputClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.inputId, this.wcagLabelledBy, FormInputClass.root)\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as i,h as t,H as e,g as d}from"./p-4af5e4f4.js";import{a as g}from"./p-ffb7495c.js";import{g as s}from"./p-3f37ddb6.js";const m='.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-grid-item{border:0 solid transparent;-o-border-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\'%3E%3C/svg%3E");border-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\'%3E%3C/svg%3E")}.gov-grid-item[size="1/12"]{width:8.3333333333%}.gov-grid-item[size="2/12"]{width:16.6666666667%}.gov-grid-item[size="3/12"]{width:25%}.gov-grid-item[size="4/12"]{width:33.3333333333%}.gov-grid-item[size="5/12"]{width:41.6666666667%}.gov-grid-item[size="6/12"]{width:50%}.gov-grid-item[size="7/12"]{width:58.3333333333%}.gov-grid-item[size="8/12"]{width:66.6666666667%}.gov-grid-item[size="9/12"]{width:75%}.gov-grid-item[size="10/12"]{width:83.3333333333%}.gov-grid-item[size="11/12"]{width:91.6666666667%}.gov-grid-item[size="12/12"]{width:100%}@media (min-width: 30em){.gov-grid-item[size-sm="1/12"]{width:8.3333333333%}.gov-grid-item[size-sm="2/12"]{width:16.6666666667%}.gov-grid-item[size-sm="3/12"]{width:25%}.gov-grid-item[size-sm="4/12"]{width:33.3333333333%}.gov-grid-item[size-sm="5/12"]{width:41.6666666667%}.gov-grid-item[size-sm="6/12"]{width:50%}.gov-grid-item[size-sm="7/12"]{width:58.3333333333%}.gov-grid-item[size-sm="8/12"]{width:66.6666666667%}.gov-grid-item[size-sm="9/12"]{width:75%}.gov-grid-item[size-sm="10/12"]{width:83.3333333333%}.gov-grid-item[size-sm="11/12"]{width:91.6666666667%}.gov-grid-item[size-sm="12/12"]{width:100%}}@media (min-width: 48em){.gov-grid-item[size-md="1/12"]{width:8.3333333333%}.gov-grid-item[size-md="2/12"]{width:16.6666666667%}.gov-grid-item[size-md="3/12"]{width:25%}.gov-grid-item[size-md="4/12"]{width:33.3333333333%}.gov-grid-item[size-md="5/12"]{width:41.6666666667%}.gov-grid-item[size-md="6/12"]{width:50%}.gov-grid-item[size-md="7/12"]{width:58.3333333333%}.gov-grid-item[size-md="8/12"]{width:66.6666666667%}.gov-grid-item[size-md="9/12"]{width:75%}.gov-grid-item[size-md="10/12"]{width:83.3333333333%}.gov-grid-item[size-md="11/12"]{width:91.6666666667%}.gov-grid-item[size-md="12/12"]{width:100%}}@media (min-width: 64em){.gov-grid-item[size-lg="1/12"]{width:8.3333333333%}.gov-grid-item[size-lg="2/12"]{width:16.6666666667%}.gov-grid-item[size-lg="3/12"]{width:25%}.gov-grid-item[size-lg="4/12"]{width:33.3333333333%}.gov-grid-item[size-lg="5/12"]{width:41.6666666667%}.gov-grid-item[size-lg="6/12"]{width:50%}.gov-grid-item[size-lg="7/12"]{width:58.3333333333%}.gov-grid-item[size-lg="8/12"]{width:66.6666666667%}.gov-grid-item[size-lg="9/12"]{width:75%}.gov-grid-item[size-lg="10/12"]{width:83.3333333333%}.gov-grid-item[size-lg="11/12"]{width:91.6666666667%}.gov-grid-item[size-lg="12/12"]{width:100%}}@media (min-width: 75em){.gov-grid-item[size-xl="1/12"]{width:8.3333333333%}.gov-grid-item[size-xl="2/12"]{width:16.6666666667%}.gov-grid-item[size-xl="3/12"]{width:25%}.gov-grid-item[size-xl="4/12"]{width:33.3333333333%}.gov-grid-item[size-xl="5/12"]{width:41.6666666667%}.gov-grid-item[size-xl="6/12"]{width:50%}.gov-grid-item[size-xl="7/12"]{width:58.3333333333%}.gov-grid-item[size-xl="8/12"]{width:66.6666666667%}.gov-grid-item[size-xl="9/12"]{width:75%}.gov-grid-item[size-xl="10/12"]{width:83.3333333333%}.gov-grid-item[size-xl="11/12"]{width:91.6666666667%}.gov-grid-item[size-xl="12/12"]{width:100%}}';const o=class{constructor(t){i(this,t);this.size="12/12";this.sizeSm=undefined;this.sizeMd=undefined;this.sizeLg=undefined;this.sizeXl=undefined;this.h=s(this.host)}render(){return t(e,{class:this.h.classes(g.root),role:"listitem",size:this.size,"size-sm":this.sizeSm,"size-md":this.sizeMd,"size-lg":this.sizeLg,"size-xl":this.sizeXl},t("slot",null))}get host(){return d(this)}};o.style=m;export{o as gov_grid_item};
2
+ //# sourceMappingURL=p-a4d23e73.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-grid/gov-grid-item.scss?tag=gov-grid-item","../../../packages/core/src/components/gov-grid/gov-grid-item.tsx"],"names":["govGridItemCss","GovGridItem","[object Object]","hostRef","this","h","govHost","host","Host","class","classes","GridItemClass","root","role","size","size-sm","sizeSm","size-md","sizeMd","size-lg","sizeLg","size-xl","sizeXl"],"mappings":"iIAAA,MAAMA,EAAiB,k1GCSVC,EAAW,MAGvBC,YAAAC,uBAQgC,gGAP/BC,KAAKC,EAAIC,EAAQF,KAAKG,MAyBvBL,SACC,OACCG,EAACG,EAAI,CACJC,MAAOL,KAAKC,EAAEK,QAAQC,EAAcC,MACpCC,KAAK,WACLC,KAAMV,KAAKU,KAAIC,UACNX,KAAKY,OAAMC,UACXb,KAAKc,OAAMC,UACXf,KAAKgB,OAAMC,UACXjB,KAAKkB,QAEdjB,EAAA,OAAA","sourcesContent":["/*\n * Grid Cell\n */\n\n$class: \".gov-grid-item\";\n\n#{$class} {\n\t@include generateGridSize();\n\tborder: 0 solid transparent;\n\n\t// hide the border in MS high contrast mode\n\tborder-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E\");\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport { GridItemClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-grid-item',\n\tstyleUrl: 'gov-grid-item.scss',\n})\nexport class GovGridItem {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovGridItemElement\n\t/**\n\t * Cell size as a fraction of 1/12 of the grid size\n\t */\n\t@Prop() readonly size: string = '12/12'\n\t/**\n\t * Cell size for SM media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-sm' }) readonly sizeSm: string\n\t/**\n\t * Cell size for MD media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-md' }) readonly sizeMd: string\n\t/**\n\t * Cell size for LG media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-lg' }) readonly sizeLg: string\n\t/**\n\t * Cell size for XL media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-xl' }) readonly sizeXl: string\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(GridItemClass.root)}\n\t\t\t\trole=\"listitem\"\n\t\t\t\tsize={this.size}\n\t\t\t\tsize-sm={this.sizeSm}\n\t\t\t\tsize-md={this.sizeMd}\n\t\t\t\tsize-lg={this.sizeLg}\n\t\t\t\tsize-xl={this.sizeXl}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-grid/gov-grid-item.scss?tag=gov-grid-item","../../../packages/core/src/components/gov-grid/gov-grid-item.tsx"],"names":["govGridItemCss","GovGridItem","[object Object]","hostRef","this","h","govHost","host","Host","class","classes","GridItemClass","root","role","size","size-sm","sizeSm","size-md","sizeMd","size-lg","sizeLg","size-xl","sizeXl"],"mappings":"iIAAA,MAAMA,EAAiB,m/GCSVC,EAAW,MAGvBC,YAAAC,uBAQgC,gGAP/BC,KAAKC,EAAIC,EAAQF,KAAKG,MAyBvBL,SACC,OACCG,EAACG,EAAI,CACJC,MAAOL,KAAKC,EAAEK,QAAQC,EAAcC,MACpCC,KAAK,WACLC,KAAMV,KAAKU,KAAIC,UACNX,KAAKY,OAAMC,UACXb,KAAKc,OAAMC,UACXf,KAAKgB,OAAMC,UACXjB,KAAKkB,QAEdjB,EAAA,OAAA","sourcesContent":["/*\n * Grid Cell\n */\n\n$class: \".gov-grid-item\";\n\n#{$class} {\n\t@include generateGridSize();\n\tborder: 0 solid transparent;\n\n\t// hide the border in MS high contrast mode\n\tborder-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E\");\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport { GridItemClass } from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-grid-item',\n\tstyleUrl: 'gov-grid-item.scss',\n})\nexport class GovGridItem {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovGridItemElement\n\t/**\n\t * Cell size as a fraction of 1/12 of the grid size\n\t */\n\t@Prop() readonly size: string = '12/12'\n\t/**\n\t * Cell size for SM media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-sm' }) readonly sizeSm: string\n\t/**\n\t * Cell size for MD media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-md' }) readonly sizeMd: string\n\t/**\n\t * Cell size for LG media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-lg' }) readonly sizeLg: string\n\t/**\n\t * Cell size for XL media query and up as a fraction of 12 of the grid size\n\t */\n\t@Prop({ attribute: 'size-xl' }) readonly sizeXl: string\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(GridItemClass.root)}\n\t\t\t\trole=\"listitem\"\n\t\t\t\tsize={this.size}\n\t\t\t\tsize-sm={this.sizeSm}\n\t\t\t\tsize-md={this.sizeMd}\n\t\t\t\tsize-lg={this.sizeLg}\n\t\t\t\tsize-xl={this.sizeXl}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{S as o}from"./p-55500e5a.js";import{V as a}from"./p-ff7365ae.js";import{p as c}from"./p-03990da5.js";const i=c(o,["_XS","_S","_M","_L"]);const t=c(a,["PRIMARY","SECONDARY","CUSTOM"]);const n={root:"gov-accordion"};const r={root:"gov-accordion-item",header:"gov-accordion-item__header",arrow:"gov-accordion-item__arrow",icon:"gov-accordion-item__icon",suffix:"gov-accordion-item__suffix",title:"gov-accordion-item__title",label:"gov-accordion-item__label",name:"gov-accordion-item__name",annot:"gov-accordion-item__annot",content:"gov-accordion-item__content"};export{r as A,n as a,i as b,t as c};
2
+ //# sourceMappingURL=p-a5d69694.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-accordion/constants.ts"],"names":["AccordionSizes","pick","Sizes","AccordionVariants","Variants","AccordionClass","root","AccordionItemClass","header","arrow","icon","suffix","title","label","name","annot","content"],"mappings":"kHAKaA,EAAiBC,EAAKC,EAAO,CAAC,MAAO,KAAM,KAAM,aAGjDC,EAAoBF,EAAKG,EAAU,CAAC,UAAW,YAAa,iBAG5DC,EAAiB,CAC7BC,KAAM,uBAGMC,EAAqB,CACjCD,KAAM,qBACNE,OAAQ,6BACRC,MAAO,4BACPC,KAAM,2BACNC,OAAQ,6BACRC,MAAO,4BACPC,MAAO,4BACPC,KAAM,2BACNC,MAAO,4BACPC,QAAS","sourcesContent":["import { Sizes } from '../../core/constants/sizes'\nimport { Variants } from '../../core/constants/variants'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const AccordionSizes = pick(Sizes, ['_XS', '_S', '_M', '_L'])\nexport type AccordionSizeType = `${ValueOf<typeof AccordionSizes>}`\n\nexport const AccordionVariants = pick(Variants, ['PRIMARY', 'SECONDARY', 'CUSTOM'])\nexport type AccordionVariantType = `${ValueOf<typeof AccordionVariants>}`\n\nexport const AccordionClass = {\n\troot: 'gov-accordion',\n}\n\nexport const AccordionItemClass = {\n\troot: 'gov-accordion-item',\n\theader: 'gov-accordion-item__header',\n\tarrow: 'gov-accordion-item__arrow',\n\ticon: 'gov-accordion-item__icon',\n\tsuffix: 'gov-accordion-item__suffix',\n\ttitle: 'gov-accordion-item__title',\n\tlabel: 'gov-accordion-item__label',\n\tname: 'gov-accordion-item__name',\n\tannot: 'gov-accordion-item__annot',\n\tcontent: 'gov-accordion-item__content',\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as s,c as t,h as i,H as o,g as a}from"./p-4af5e4f4.js";import{v as e}from"./p-26acf964.js";import{S as r,a as p,b as n}from"./p-9144dde1.js";import{g as c}from"./p-3f37ddb6.js";import"./p-561fa17b.js";import"./p-ff7365ae.js";import"./p-55500e5a.js";import"./p-03990da5.js";const m=".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-stepper{position:relative;display:block;width:100%}";const f=class{constructor(i){s(this,i);this.govChange=t(this,"gov-change",7);this.size="m";this.h=c(this.host)}validateSize(s){e(n,s,p.root)}componentWillLoad(){this.validateSize(this.size)}componentDidLoad(){this.host.querySelectorAll(r.root).forEach((s=>{s.setAttribute("size",this.size);s.addEventListener("gov-change",(s=>{s.stopPropagation();this.govChange.emit(s.detail)}))}))}render(){return i(o,{class:this.h.classes(p.root),role:"list",size:this.size},i("slot",null))}get host(){return a(this)}static get watchers(){return{size:["validateSize"]}}};f.style=m;export{f as gov_stepper};
2
+ //# sourceMappingURL=p-a89c27c1.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-stepper/gov-stepper.scss?tag=gov-stepper","../../../packages/core/src/components/gov-stepper/gov-stepper.tsx"],"names":["govStepperCss","GovStepper","[object Object]","hostRef","this","h","govHost","host","newValue","validateProp","StepperSizes","StepperClass","root","validateSize","size","querySelectorAll","StepperItemClass","forEach","child","setAttribute","addEventListener","e","stopPropagation","govChange","emit","detail","Host","class","classes","role"],"mappings":"0RAAA,MAAMA,EAAgB,sPCYTC,EAAU,MAGtBC,YAAAC,6DAQ2C,IAP1CC,KAAKC,EAAIC,EAAQF,KAAKG,MAcvBL,aAAaM,GACZC,EAAaC,EAAcF,EAAUG,EAAaC,MAGnDV,oBACCE,KAAKS,aAAaT,KAAKU,MAGxBZ,mBACCE,KAAKG,KAAKQ,iBAAiBC,EAAiBJ,MAAMK,SAASC,IAC1DA,EAAMC,aAAa,OAAQf,KAAKU,MAChCI,EAAME,iBAAiB,cAAeC,IACrCA,EAAEC,kBACFlB,KAAKmB,UAAUC,KAAKH,EAAEI,cAKzBvB,SACC,OACCG,EAACqB,EAAI,CAACC,MAAOvB,KAAKC,EAAEuB,QAAQjB,EAAaC,MAAOiB,KAAK,OAAOf,KAAMV,KAAKU,MACtET,EAAA,OAAA","sourcesContent":["/*\n * Stepper\n */\n\n$class: \".gov-stepper\";\n\n#{$class} {\n\t@include base();\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { StepperClass, StepperItemClass, StepperSizes, StepperSizesType } from './constants'\nimport { GovStepperItemCustomEvent } from '../../components'\nimport { GovStepperItemChangeEvent } from './gov-stepper-item.d'\nimport { GovHost } from '../../helpers/Dom/template.types'\nimport { govHost } from '../../helpers/Dom/template'\n\n@Component({\n\ttag: 'gov-stepper',\n\tstyleUrl: 'gov-stepper.scss',\n})\nexport class GovStepper {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovStepperElement\n\t/**\n\t * Size of stepper\n\t */\n\t@Prop() readonly size?: StepperSizesType = 'm'\n\t/**\n\t * Called when the Stepper state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovStepperItemChangeEvent>\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(StepperSizes, newValue, StepperClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateSize(this.size)\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.host.querySelectorAll(StepperItemClass.root).forEach((child: HTMLGovStepperItemElement) => {\n\t\t\tchild.setAttribute('size', this.size)\n\t\t\tchild.addEventListener('gov-change', (e: GovStepperItemCustomEvent<GovStepperItemChangeEvent>) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.govChange.emit(e.detail)\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(StepperClass.root)} role=\"list\" size={this.size}>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-stepper/gov-stepper.scss?tag=gov-stepper","../../../packages/core/src/components/gov-stepper/gov-stepper.tsx"],"names":["govStepperCss","GovStepper","[object Object]","hostRef","this","h","govHost","host","newValue","validateProp","StepperSizes","StepperClass","root","validateSize","size","querySelectorAll","StepperItemClass","forEach","child","setAttribute","addEventListener","e","stopPropagation","govChange","emit","detail","Host","class","classes","role"],"mappings":"0RAAA,MAAMA,EAAgB,uZCYTC,EAAU,MAGtBC,YAAAC,6DAQ2C,IAP1CC,KAAKC,EAAIC,EAAQF,KAAKG,MAcvBL,aAAaM,GACZC,EAAaC,EAAcF,EAAUG,EAAaC,MAGnDV,oBACCE,KAAKS,aAAaT,KAAKU,MAGxBZ,mBACCE,KAAKG,KAAKQ,iBAAiBC,EAAiBJ,MAAMK,SAASC,IAC1DA,EAAMC,aAAa,OAAQf,KAAKU,MAChCI,EAAME,iBAAiB,cAAeC,IACrCA,EAAEC,kBACFlB,KAAKmB,UAAUC,KAAKH,EAAEI,cAKzBvB,SACC,OACCG,EAACqB,EAAI,CAACC,MAAOvB,KAAKC,EAAEuB,QAAQjB,EAAaC,MAAOiB,KAAK,OAAOf,KAAMV,KAAKU,MACtET,EAAA,OAAA","sourcesContent":["/*\n * Stepper\n */\n\n$class: \".gov-stepper\";\n\n#{$class} {\n\t@include base();\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { StepperClass, StepperItemClass, StepperSizes, StepperSizesType } from './constants'\nimport { GovStepperItemCustomEvent } from '../../components'\nimport { GovStepperItemChangeEvent } from './gov-stepper-item.d'\nimport { GovHost } from '../../helpers/Dom/template.types'\nimport { govHost } from '../../helpers/Dom/template'\n\n@Component({\n\ttag: 'gov-stepper',\n\tstyleUrl: 'gov-stepper.scss',\n})\nexport class GovStepper {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() readonly host: HTMLGovStepperElement\n\t/**\n\t * Size of stepper\n\t */\n\t@Prop() readonly size?: StepperSizesType = 'm'\n\t/**\n\t * Called when the Stepper state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovStepperItemChangeEvent>\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(StepperSizes, newValue, StepperClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateSize(this.size)\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.host.querySelectorAll(StepperItemClass.root).forEach((child: HTMLGovStepperItemElement) => {\n\t\t\tchild.setAttribute('size', this.size)\n\t\t\tchild.addEventListener('gov-change', (e: GovStepperItemCustomEvent<GovStepperItemChangeEvent>) => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.govChange.emit(e.detail)\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(StepperClass.root)} role=\"list\" size={this.size}>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as a,H as e,g as s}from"./p-4af5e4f4.js";import{N as i}from"./p-a6d14a47.js";import{v as o}from"./p-364b4792.js";import{c as n}from"./p-c20102ff.js";import{d as r}from"./p-03990da5.js";import"./p-561fa17b.js";import"./p-24636c53.js";const p=".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-nav{position:relative;display:block;width:100%;font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);background:var(--gov-nav-bg, var(--gov-color-primary));font-weight:bold;letter-spacing:0.0125em;text-transform:uppercase}@media (min-width: 48em){.gov-nav{text-align:center}.gov-nav__nav{display:flex;justify-content:space-between}}";const c=class{constructor(a){t(this,a);this.wcagLabel=undefined;this.wcagLabelledBy=undefined}async componentDidRender(){if(n()){await r(500);await this.validateWcag()}}render(){return a(e,{class:i.root},a("nav",{class:i.nav,role:"list","arial-label":this.wcagLabel,"arial-labelledby":this.wcagLabelledBy},a("slot",null)))}async validateWcag(){o(this.wcagLabel,this.wcagLabelledBy,i.root)}get host(){return s(this)}};c.style=p;export{c as gov_nav};
2
+ //# sourceMappingURL=p-aba39622.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-nav/gov-nav.scss?tag=gov-nav","../../../packages/core/src/components/gov-nav/gov-nav.tsx"],"names":["govNavCss","GovNav","[object Object]","canValidateWcagOnRender","delay","this","validateWcag","h","Host","class","NavClass","root","nav","role","arial-label","wcagLabel","arial-labelledby","wcagLabelledBy","validateWcagLabel"],"mappings":"yPAAA,MAAMA,EAAY,moBCULC,EAAM,sFAYlBC,2BACC,GAAIC,IAA2B,OACxBC,EAAM,WACNC,KAAKC,gBAIbJ,SACC,OACCK,EAACC,EAAI,CAACC,MAAOC,EAASC,MACrBJ,EAAA,MAAA,CAAKE,MAAOC,EAASE,IAAKC,KAAM,OAAMC,cAAeT,KAAKU,UAASC,mBAAoBX,KAAKY,gBAC3FV,EAAA,OAAA,QAUJL,qBACCgB,EAAkBb,KAAKU,UAAWV,KAAKY,eAAgBP,EAASC","sourcesContent":["/*\n * Nav\n */\n\n$class: \".gov-nav\";\n\n#{$class} {\n\t@include base();\n\t@include typography($font-size-s);\n\tbackground: $nav-bg;\n\tfont-weight: bold;\n\tletter-spacing: 0.0125em;\n\ttext-transform: uppercase;\n\n\t// MQ\n\t@include mq($from: md) {\n\t\ttext-align: center;\n\t\t&__nav {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Method, Prop } from '@stencil/core'\nimport { NavClass } from './constants'\nimport { validateWcagLabel } from '../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../helpers/Dom/win'\nimport { delay } from '../../utils/utils'\n\n@Component({\n\ttag: 'gov-nav',\n\tstyleUrl: 'gov-nav.scss',\n})\nexport class GovNav {\n\t@Element() readonly host: HTMLGovNavElement\n\n\t/**\n\t * Adds accessible label for the accordion that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-label' }) readonly wcagLabel: string\n\t/**\n\t * String of id's that indicate alternative labels elements\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={NavClass.root}>\n\t\t\t\t<nav class={NavClass.nav} role={'list'} arial-label={this.wcagLabel} arial-labelledby={this.wcagLabelledBy}>\n\t\t\t\t\t<slot />\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, NavClass.root)\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-nav/gov-nav.scss?tag=gov-nav","../../../packages/core/src/components/gov-nav/gov-nav.tsx"],"names":["govNavCss","GovNav","[object Object]","canValidateWcagOnRender","delay","this","validateWcag","h","Host","class","NavClass","root","nav","role","arial-label","wcagLabel","arial-labelledby","wcagLabelledBy","validateWcagLabel"],"mappings":"yPAAA,MAAMA,EAAY,oyBCULC,EAAM,sFAYlBC,2BACC,GAAIC,IAA2B,OACxBC,EAAM,WACNC,KAAKC,gBAIbJ,SACC,OACCK,EAACC,EAAI,CAACC,MAAOC,EAASC,MACrBJ,EAAA,MAAA,CAAKE,MAAOC,EAASE,IAAKC,KAAM,OAAMC,cAAeT,KAAKU,UAASC,mBAAoBX,KAAKY,gBAC3FV,EAAA,OAAA,QAUJL,qBACCgB,EAAkBb,KAAKU,UAAWV,KAAKY,eAAgBP,EAASC","sourcesContent":["/*\n * Nav\n */\n\n$class: \".gov-nav\";\n\n#{$class} {\n\t@include base();\n\t@include typography($font-size-s);\n\tbackground: $nav-bg;\n\tfont-weight: bold;\n\tletter-spacing: 0.0125em;\n\ttext-transform: uppercase;\n\n\t// MQ\n\t@include mq($from: md) {\n\t\ttext-align: center;\n\t\t&__nav {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Method, Prop } from '@stencil/core'\nimport { NavClass } from './constants'\nimport { validateWcagLabel } from '../../helpers/Validate/wcag'\nimport { canValidateWcagOnRender } from '../../helpers/Dom/win'\nimport { delay } from '../../utils/utils'\n\n@Component({\n\ttag: 'gov-nav',\n\tstyleUrl: 'gov-nav.scss',\n})\nexport class GovNav {\n\t@Element() readonly host: HTMLGovNavElement\n\n\t/**\n\t * Adds accessible label for the accordion that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-label' }) readonly wcagLabel: string\n\t/**\n\t * String of id's that indicate alternative labels elements\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={NavClass.root}>\n\t\t\t\t<nav class={NavClass.nav} role={'list'} arial-label={this.wcagLabel} arial-labelledby={this.wcagLabelledBy}>\n\t\t\t\t\t<slot />\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, NavClass.root)\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{S as o}from"./p-55500e5a.js";import{V as t}from"./p-ff7365ae.js";import{p as s}from"./p-03990da5.js";const n=s(o,["_S","_M","_L","_XL"]);const a=s(t,["PRIMARY","SECONDARY","SUCCESS","ERROR","WARNING"]);var r;(function(o){o["SOLID"]="solid";o["OUTLINED"]="outlined";o["BASE"]="base";o["LINK"]="link"})(r||(r={}));var i;(function(o){o["SUBMIT"]="submit";o["BUTTON"]="button";o["RESET"]="reset"})(i||(i={}));var e;(function(o){o["BLANK"]="_blank";o["SELF"]="_self";o["NEW"]="_new"})(e||(e={}));const f={root:"gov-button",rootWithIcon:"gov-button--w-icon"};export{a as B,i as N,r as T,n as a,f as b};
2
+ //# sourceMappingURL=p-b2275b3d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-button/constants.ts"],"names":["ButtonSizes","pick","Sizes","ButtonVariants","Variants","Type","NativeType","ButtonTarget","ButtonClass","root","rootWithIcon"],"mappings":"kHAKaA,EAAcC,EAAKC,EAAO,CAAC,KAAM,KAAM,KAAM,cAG7CC,EAAiBF,EAAKG,EAAU,CAAC,UAAW,YAAa,UAAW,QAAS,gBAG9EC,GAAZ,SAAYA,GACXA,EAAA,SAAA,QACAA,EAAA,YAAA,WACAA,EAAA,QAAA,OACAA,EAAA,QAAA,QAJD,CAAYA,IAAAA,EAAI,SASJC,GAAZ,SAAYA,GACXA,EAAA,UAAA,SACAA,EAAA,UAAA,SACAA,EAAA,SAAA,SAHD,CAAYA,IAAAA,EAAU,KAQtB,IAAYC,GAAZ,SAAYA,GACXA,EAAA,SAAA,SACAA,EAAA,QAAA,QACAA,EAAA,OAAA,QAHD,CAAYA,IAAAA,EAAY,WAOXC,EAAc,CAC1BC,KAAM,aACNC,aAAc","sourcesContent":["import { Sizes } from '../../core/constants/sizes'\nimport { Variants } from '../../core/constants/variants'\nimport { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils'\n\nexport const ButtonSizes = pick(Sizes, ['_S', '_M', '_L', '_XL'])\nexport type ButtonSizesType = `${ValueOf<typeof ButtonSizes>}`\n\nexport const ButtonVariants = pick(Variants, ['PRIMARY', 'SECONDARY', 'SUCCESS', 'ERROR', 'WARNING'])\nexport type ButtonVariantType = `${ValueOf<typeof ButtonVariants>}`\n\nexport enum Type {\n\tSOLID = 'solid',\n\tOUTLINED = 'outlined',\n\tBASE = 'base',\n\tLINK = 'link',\n}\n\nexport type TypesType = `${ValueOf<typeof Type>}`\n\nexport enum NativeType {\n\tSUBMIT = 'submit',\n\tBUTTON = 'button',\n\tRESET = 'reset',\n}\n\nexport type NativeTypesType = `${ValueOf<typeof NativeType>}`\n\nexport enum ButtonTarget {\n\tBLANK = '_blank',\n\tSELF = '_self',\n\tNEW = '_new',\n}\nexport type ButtonTargetType = `${ValueOf<typeof ButtonTarget>}`\n\nexport const ButtonClass = {\n\troot: 'gov-button',\n\trootWithIcon: 'gov-button--w-icon',\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as o}from"./p-4af5e4f4.js";import{c as a}from"./p-24636c53.js";import{F as r,a as h,b as n}from"./p-f687452c.js";import{v as l}from"./p-26acf964.js";import{t as c,h as m}from"./p-03990da5.js";import{a as d}from"./p-3f37ddb6.js";import"./p-55500e5a.js";import"./p-ff7365ae.js";import"./p-561fa17b.js";const p='.gov-form-autocomplete__list{margin:0;padding:0}.gov-form-autocomplete__list>.gov-form-autocomplete__item{margin:0;padding:0;background:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-autocomplete{position:relative;display:block;width:100%}.gov-form-autocomplete__list{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);position:absolute;top:100%;right:0;left:0;z-index:5;max-height:14.0625rem;margin-top:0.5rem;border:var(--gov-autocomplete-item-hover, 0.0625rem solid var(--gov-color-secondary-500));border-radius:var(--gov-border-radius, 0.1875rem);background:var(--gov-autocomplete-bg, var(--gov-color-neutral-white));overflow-x:hidden;overflow-y:auto;overscroll-behavior:none}.gov-form-autocomplete__list>.gov-form-autocomplete__item{padding:0.75rem 0.5rem;cursor:pointer}.gov-form-autocomplete__list:empty{display:none}.gov-form-autocomplete__item[aria-selected=""],.gov-form-autocomplete__item[aria-selected=true i],.gov-form-autocomplete__item[aria-selected="1"]{background:var(--gov-autocomplete-item-select, var(--gov-color-secondary-400))}@media not all and (pointer: coarse){.gov-form-autocomplete__item:hover{background:var(--gov-autocomplete-item-hover, var(--gov-color-primary-100))}}';const f=class{constructor(e){t(this,e);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govInput=i(this,"gov-input",7);this.govSelect=i(this,"gov-select",7);this.templateResolver=t=>t[this.nameKey];this.value="";this.identifier=undefined;this.variant=undefined;this.success=undefined;this.size="m";this.nameKey="name";this.name=undefined;this.required=false;this.disabled=undefined;this.placeholder=undefined;this.readonly=undefined;this.invalid=undefined;this.minlength=2;this.maxlength=undefined;this.wcagDescribedBy=undefined;this.wcagLabelledBy=undefined;this.wcagOwns=undefined;this.focused=undefined;this.processing=false;this.arrowCounter=-1;this.list=[];this.listBoxId=a("GovListBox")}validateVariant(t){l(h,t,r.root)}validateSize(t){l(n,t,r.root)}onArrowUp(){if(this.arrowCounter>0){this.arrowCounter=this.arrowCounter-1}}onArrowDown(){if(this.arrowCounter<this.list.length-1){this.arrowCounter=this.arrowCounter+1}}doSearch(){if(Number.isInteger(this.minlength)&&String(this.value).length<=this.minlength&&this.minlength){this.list=[];this.arrowCounter=-1;this.processing=false;return}if(this.searchCallback){this.processing=true;this.searchCallback(this.value).then((t=>this.list=t)).catch((()=>this.list=[])).finally((()=>{this.arrowCounter=-1;this.processing=false}))}}componentWillLoad(){this.validateVariant(this.variant);this.validateSize(this.size)}render(){return e(s,{class:r.root,size:this.size,variant:this.variant},e("gov-form-input",{placeholder:this.placeholder,name:this.name,disabled:this.disabled,readonly:this.readonly,autocomplete:false,size:this.size,variant:this.variant,required:this.required,invalid:this.invalid,role:"searchbox",value:this.value,minlength:this.minlength,maxlength:this.maxlength,"on-gov-input":c(this.onInputHandler.bind(this),200),"on-gov-keyup":this.onKeyUpHandler.bind(this),"on-gov-focus":this.onFocusHandler.bind(this),"on-gov-blur":this.onBlurHandler.bind(this),wcagAutocomplete:"list",wcagDescribedBy:this.wcagDescribedBy,wcagLabelledBy:this.wcagLabelledBy,wcagOwns:[this.listBoxId,this.wcagOwns].join(" "),wcagExpanded:this.list.length&&this.focused,ref:t=>this.inputRef=t},e("slot",{slot:"right-icon",name:"right-icon"})),e("ul",{class:r.list,role:"listbox",id:this.listBoxId},this.list.map(((t,i)=>{const s=this.arrowCounter===i;return e("li",{class:r.item,innerHTML:this.templateResolver(t,s),role:"option","aria-posinset":i,tabindex:s?0:-1,"aria-setsize":this.list.length,onClick:()=>this.onSelectHandler(i),"aria-selected":d(s)})}))))}onFocusHandler(t){this.focused=true;this.arrowCounter=-1;if((this.value||this.minlength===0)&&this.searchCallback){this.doSearch()}t.stopPropagation();this.govFocus.emit(t)}onBlurHandler(t){this.focused=false;setTimeout((()=>this.list=[]),200);this.arrowCounter=-1;t.stopPropagation();this.govBlur.emit(t)}onInputHandler(t){this.value=t.target.value;t.stopPropagation();this.govInput.emit(t);this.doSearch()}onSelectHandler(t=-1){let i=null;if(t>-1){i=this.list[t]}else if(m(this.arrowCounter,this.list)){i=this.list[this.arrowCounter]}if(i){this.govSelect.emit(i);this.list=[];if(m(this.nameKey,i)&&typeof i[this.nameKey]==="string"){this.value=i[this.nameKey]}}}onKeyUpHandler(t){const i=t.detail;t.stopPropagation();if(i.keyCode===38)this.onArrowUp();else if(i.keyCode===40)this.onArrowDown();else if(i.keyCode===13)this.onSelectHandler()}async setFocus(t){return this.inputRef.focus(t)}async clearValue(){this.value="";this.inputRef.value="";await this.inputRef.clearValue()}async setSearchCallback(t){this.searchCallback=t}async setTemplateResolver(t){this.templateResolver=t}get host(){return o(this)}static get watchers(){return{variant:["validateVariant"],size:["validateSize"]}}};f.style=p;export{f as gov_form_autocomplete};
2
+ //# sourceMappingURL=p-b7587525.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"names":["govFormAutocompleteCss","GovFormAutocomplete","[object Object]","hostRef","this","templateResolver","item","nameKey","listBoxId","createID","newValue","validateProp","FormAutocompleteVariants","FormAutocompleteClass","root","FormAutocompleteSizes","arrowCounter","list","length","Number","isInteger","minlength","String","value","processing","searchCallback","then","response","catch","finally","validateVariant","variant","validateSize","size","h","Host","class","placeholder","name","disabled","readonly","autocomplete","required","invalid","role","maxlength","on-gov-input","throttle","onInputHandler","bind","on-gov-keyup","onKeyUpHandler","on-gov-focus","onFocusHandler","on-gov-blur","onBlurHandler","wcagAutocomplete","wcagDescribedBy","wcagLabelledBy","wcagOwns","join","wcagExpanded","focused","ref","el","inputRef","slot","id","map","index","isSelected","innerHTML","aria-posinset","tabindex","aria-setsize","onClick","onSelectHandler","aria-selected","toBoolAttr","e","doSearch","stopPropagation","govFocus","emit","setTimeout","govBlur","target","govInput","selected","has","govSelect","event","detail","keyCode","onArrowUp","onArrowDown","options","focus","clearValue","callback"],"mappings":"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","sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { SizesType } from './constants'\nimport { createID } from '../../../utils/string.utils'\nimport { FormAutocompleteClass, FormAutocompleteVariants, VariantType, FormAutocompleteSizes } from './constants'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { has, throttle } from '../../../utils/utils'\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.types'\nimport { toBoolAttr } from '../../../helpers/Dom/template'\nimport { Nullable } from '../../../types/interfaces'\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: VariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 2\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-select' }) govSelect: EventEmitter<GovFormAutocompleteItem>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && String(this.value).length <= this.minlength && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}>\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tsetTimeout(() => (this.list = []), 200)\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit(selected)\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = e.detail as KeyboardEvent\n\t\te.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) this.onSelectHandler()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.scss?tag=gov-form-autocomplete","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"names":["govFormAutocompleteCss","GovFormAutocomplete","[object Object]","hostRef","this","templateResolver","item","nameKey","listBoxId","createID","newValue","validateProp","FormAutocompleteVariants","FormAutocompleteClass","root","FormAutocompleteSizes","arrowCounter","list","length","Number","isInteger","minlength","String","value","processing","searchCallback","then","response","catch","finally","validateVariant","variant","validateSize","size","h","Host","class","placeholder","name","disabled","readonly","autocomplete","required","invalid","role","maxlength","on-gov-input","throttle","onInputHandler","bind","on-gov-keyup","onKeyUpHandler","on-gov-focus","onFocusHandler","on-gov-blur","onBlurHandler","wcagAutocomplete","wcagDescribedBy","wcagLabelledBy","wcagOwns","join","wcagExpanded","focused","ref","el","inputRef","slot","id","map","index","isSelected","innerHTML","aria-posinset","tabindex","aria-setsize","onClick","onSelectHandler","aria-selected","toBoolAttr","e","doSearch","stopPropagation","govFocus","emit","setTimeout","govBlur","target","govInput","selected","has","govSelect","event","detail","keyCode","onArrowUp","onArrowDown","options","focus","clearValue","callback"],"mappings":"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","sourcesContent":["$class: \".gov-form-autocomplete\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@include typography($font-size-s);\n\t\t@extend %reset-ul;\n\t\tposition: absolute;\n\t\ttop: 100%;\n\t\tright: 0;\n\t\tleft: 0;\n\t\tz-index: 5;\n\t\tmax-height: rem-calc(225);\n\t\tmargin-top: rem-calc(8);\n\t\tborder: $form-autocomplete-border;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $form-autocomplete-bg;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\toverscroll-behavior: none;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tpadding: rem-calc(12 8);\n\t\tcursor: pointer;\n\t}\n\n\t// STATES\n\t&__list:empty {\n\t\tdisplay: none;\n\t}\n\n\t// HOVERS\n\t&__item {\n\t\t@include parameter(\"aria-selected\") {\n\t\t\tbackground: $form-autocomplete-item-select-bg;\n\t\t}\n\t\t@include hover() {\n\t\t\tbackground: $form-autocomplete-item-hover-bg;\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, Prop, Watch, Event, EventEmitter, State, Method } from '@stencil/core'\nimport { SizesType } from './constants'\nimport { createID } from '../../../utils/string.utils'\nimport { FormAutocompleteClass, FormAutocompleteVariants, VariantType, FormAutocompleteSizes } from './constants'\nimport { validateProp } from '../../../helpers/Validate/props'\nimport { has, throttle } from '../../../utils/utils'\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.types'\nimport { toBoolAttr } from '../../../helpers/Dom/template'\nimport { Nullable } from '../../../types/interfaces'\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n\tstyleUrl: 'gov-form-autocomplete.scss',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({ reflect: true, mutable: true }) value = ''\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({ attribute: 'identifier' }) readonly identifier: string\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop() readonly variant?: VariantType\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop() readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 2\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({ attribute: 'wcag-described-by' }) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-owns\n\t */\n\t@Prop({ attribute: 'wcag-owns' }) readonly wcagOwns: string\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({ eventName: 'gov-focus' }) govFocus: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({ eventName: 'gov-blur' }) govBlur: EventEmitter<FocusEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-input' }) govInput: EventEmitter<InputEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({ eventName: 'gov-select' }) govSelect: EventEmitter<GovFormAutocompleteItem>\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteVariants, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (Number.isInteger(this.minlength) && String(this.value).length <= this.minlength && this.minlength) {\n\t\t\tthis.list = []\n\t\t\tthis.arrowCounter = -1\n\t\t\tthis.processing = false\n\t\t\treturn\n\t\t}\n\t\tif (this.searchCallback) {\n\t\t\tthis.processing = true\n\t\t\tthis.searchCallback(this.value)\n\t\t\t\t.then(response => (this.list = response))\n\t\t\t\t.catch(() => (this.list = []))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.arrowCounter = -1\n\t\t\t\t\tthis.processing = false\n\t\t\t\t})\n\t\t}\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={throttle(this.onInputHandler.bind(this), 200)}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\twcagAutocomplete={'list'}\n\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\twcagOwns={[this.listBoxId, this.wcagOwns].join(' ')}\n\t\t\t\t\twcagExpanded={this.list.length && this.focused}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot slot=\"right-icon\" name=\"right-icon\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list} role={'listbox'} id={this.listBoxId}>\n\t\t\t\t\t{this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif ((this.value || this.minlength === 0) && this.searchCallback) {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit(e)\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tsetTimeout(() => (this.list = []), 200)\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit(e)\n\t}\n\n\tprivate onInputHandler(e: InputEvent) {\n\t\tthis.value = (e.target as HTMLGovFormInputElement).value\n\t\te.stopPropagation()\n\t\tthis.govInput.emit(e)\n\t\tthis.doSearch()\n\t}\n\n\tprivate onSelectHandler(index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit(selected)\n\t\t\tthis.list = []\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = e.detail as KeyboardEvent\n\t\te.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) this.onSelectHandler()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"]}