@gov-design-system-ce/components 4.6.4 → 4.6.5-b

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 (278) hide show
  1. package/dist/cjs/gov-flex_3.cjs.entry.js +1 -1
  2. package/dist/cjs/gov-form-file.cjs.entry.js +35 -11
  3. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gov-form-file.entry.cjs.js.map +1 -1
  5. package/dist/collection/components/gov-form/file/gov-form-file.js +7 -2
  6. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  7. package/dist/collection/utils/file.utils.js +28 -9
  8. package/dist/collection/utils/file.utils.js.map +1 -1
  9. package/dist/components/gov-accordion-item.js +1 -1
  10. package/dist/components/gov-attachments-item.js +1 -1
  11. package/dist/components/gov-blockquote.js +1 -1
  12. package/dist/components/gov-breadcrumbs.js +1 -1
  13. package/dist/components/gov-breadcrumbs.js.map +1 -1
  14. package/dist/components/gov-button.js +1 -1
  15. package/dist/components/gov-card.js +1 -1
  16. package/dist/components/gov-chip.js +1 -1
  17. package/dist/components/gov-collapsible.js +1 -1
  18. package/dist/components/gov-dialog.js +1 -1
  19. package/dist/components/gov-form-autocomplete.js +1 -1
  20. package/dist/components/gov-form-checkbox.js +1 -1
  21. package/dist/components/gov-form-file.js +1 -1
  22. package/dist/components/gov-form-file.js.map +1 -1
  23. package/dist/components/gov-form-input.js +1 -1
  24. package/dist/components/gov-form-multi-select.js +1 -1
  25. package/dist/components/gov-form-range.js +1 -1
  26. package/dist/components/gov-form-select.js +1 -1
  27. package/dist/components/gov-form-switch.js +1 -1
  28. package/dist/components/gov-icon.js +1 -1
  29. package/dist/components/gov-infobar.js +1 -1
  30. package/dist/components/gov-link.js +1 -1
  31. package/dist/components/gov-loading.js +1 -1
  32. package/dist/components/gov-pagination.js +1 -1
  33. package/dist/components/gov-tabs.js +1 -1
  34. package/dist/components/gov-tag.js +1 -1
  35. package/dist/components/gov-theme-switch.js +1 -1
  36. package/dist/components/gov-tile.js +1 -1
  37. package/dist/components/gov-toast.js +1 -1
  38. package/dist/components/gov-tooltip-content.js +1 -1
  39. package/dist/components/gov-wizard-item.js +1 -1
  40. package/dist/components/{p-ibUK7mfI.js → p-BGK46VRO.js} +2 -2
  41. package/dist/components/{p-iTwUkISB.js → p-BICk4EuO.js} +2 -2
  42. package/dist/components/{p-DN5pb9xA.js → p-BNoNH6m-.js} +2 -2
  43. package/dist/components/{p-C_URF9Su.js → p-ClDhNt_H.js} +2 -2
  44. package/dist/components/p-DRXiDAHW.js +2 -0
  45. package/dist/components/{p-CXPP9vec.js.map → p-DRXiDAHW.js.map} +1 -1
  46. package/dist/components/{p-pJ_vPAO0.js → p-DjGO_trZ.js} +2 -2
  47. package/dist/components/{p-yIpIIG5A.js → p-DmK9qaKH.js} +2 -2
  48. package/dist/components/{p-DEthsMuE.js → p-isPjiQbr.js} +2 -2
  49. package/dist/core/core.esm.js +1 -1
  50. package/dist/core/core.esm.js.map +1 -1
  51. package/dist/core/{p-3314505d.entry.js → p-00ab0454.entry.js} +2 -2
  52. package/dist/core/{p-3314505d.entry.js.map → p-00ab0454.entry.js.map} +1 -1
  53. package/dist/core/{p-9d9e9401.entry.js → p-05bb35e1.entry.js} +2 -2
  54. package/dist/core/{p-9d9e9401.entry.js.map → p-05bb35e1.entry.js.map} +1 -1
  55. package/dist/core/{p-e30968b3.entry.js → p-06497d64.entry.js} +2 -2
  56. package/dist/core/{p-e30968b3.entry.js.map → p-06497d64.entry.js.map} +1 -1
  57. package/dist/core/p-0675617d.entry.js +2 -0
  58. package/dist/core/{p-fca7a0d6.entry.js.map → p-0675617d.entry.js.map} +1 -1
  59. package/dist/core/{p-4d36cd18.entry.js → p-2493a7f3.entry.js} +2 -2
  60. package/dist/core/{p-4d36cd18.entry.js.map → p-2493a7f3.entry.js.map} +1 -1
  61. package/dist/core/p-2e15a654.entry.js +2 -0
  62. package/dist/core/{p-bd2df430.entry.js.map → p-2e15a654.entry.js.map} +1 -1
  63. package/dist/core/{p-1626cc67.entry.js → p-30ad7514.entry.js} +2 -2
  64. package/dist/core/{p-1626cc67.entry.js.map → p-30ad7514.entry.js.map} +1 -1
  65. package/dist/core/{p-558e75a6.entry.js → p-378cf8de.entry.js} +2 -2
  66. package/dist/core/{p-558e75a6.entry.js.map → p-378cf8de.entry.js.map} +1 -1
  67. package/dist/core/{p-be9af807.entry.js → p-3a4799b3.entry.js} +2 -2
  68. package/dist/core/{p-be9af807.entry.js.map → p-3a4799b3.entry.js.map} +1 -1
  69. package/dist/core/{p-f7bdb44a.entry.js → p-3ebbe75a.entry.js} +2 -2
  70. package/dist/core/{p-f7bdb44a.entry.js.map → p-3ebbe75a.entry.js.map} +1 -1
  71. package/dist/core/p-41bef63a.entry.js +2 -0
  72. package/dist/core/{p-bec959c4.entry.js.map → p-41bef63a.entry.js.map} +1 -1
  73. package/dist/core/{p-4e2faea7.entry.js → p-4342c252.entry.js} +2 -2
  74. package/dist/core/{p-4e2faea7.entry.js.map → p-4342c252.entry.js.map} +1 -1
  75. package/dist/core/{p-c1b9f1ab.entry.js → p-473afd7d.entry.js} +2 -2
  76. package/dist/core/{p-c1b9f1ab.entry.js.map → p-473afd7d.entry.js.map} +1 -1
  77. package/dist/core/{p-5721cf9b.entry.js → p-48b74272.entry.js} +2 -2
  78. package/dist/core/{p-5721cf9b.entry.js.map → p-48b74272.entry.js.map} +1 -1
  79. package/dist/core/{p-04ec45ab.entry.js → p-49b67f59.entry.js} +2 -2
  80. package/dist/core/{p-04ec45ab.entry.js.map → p-49b67f59.entry.js.map} +1 -1
  81. package/dist/core/{p-6b44890d.entry.js → p-4bd3f101.entry.js} +2 -2
  82. package/dist/core/{p-6b44890d.entry.js.map → p-4bd3f101.entry.js.map} +1 -1
  83. package/dist/core/{p-157a1636.entry.js → p-4e534d68.entry.js} +2 -2
  84. package/dist/core/{p-157a1636.entry.js.map → p-4e534d68.entry.js.map} +1 -1
  85. package/dist/core/p-6638d034.entry.js +2 -0
  86. package/dist/core/{p-73bd93f9.entry.js.map → p-6638d034.entry.js.map} +1 -1
  87. package/dist/core/{p-46824842.entry.js → p-68a5d225.entry.js} +2 -2
  88. package/dist/core/{p-46824842.entry.js.map → p-68a5d225.entry.js.map} +1 -1
  89. package/dist/core/{p-8d47e346.entry.js → p-6ac9b0f2.entry.js} +2 -2
  90. package/dist/core/{p-8d47e346.entry.js.map → p-6ac9b0f2.entry.js.map} +1 -1
  91. package/dist/core/{p-0af96cc0.entry.js → p-6b0625ee.entry.js} +2 -2
  92. package/dist/core/{p-0af96cc0.entry.js.map → p-6b0625ee.entry.js.map} +1 -1
  93. package/dist/core/{p-f75ad657.entry.js → p-78202a44.entry.js} +2 -2
  94. package/dist/core/{p-f75ad657.entry.js.map → p-78202a44.entry.js.map} +1 -1
  95. package/dist/core/{p-eb766437.entry.js → p-80052953.entry.js} +2 -2
  96. package/dist/core/{p-eb766437.entry.js.map → p-80052953.entry.js.map} +1 -1
  97. package/dist/core/{p-d43959a0.entry.js → p-8ddb6dc6.entry.js} +2 -2
  98. package/dist/core/{p-d43959a0.entry.js.map → p-8ddb6dc6.entry.js.map} +1 -1
  99. package/dist/core/{p-d9c574f0.entry.js → p-90cc2ddb.entry.js} +2 -2
  100. package/dist/core/{p-d9c574f0.entry.js.map → p-90cc2ddb.entry.js.map} +1 -1
  101. package/dist/core/{p-f3887d6d.entry.js → p-91d5df66.entry.js} +2 -2
  102. package/dist/core/{p-f3887d6d.entry.js.map → p-91d5df66.entry.js.map} +1 -1
  103. package/dist/core/{p-187c0eda.entry.js → p-9321fb9d.entry.js} +2 -2
  104. package/dist/core/{p-187c0eda.entry.js.map → p-9321fb9d.entry.js.map} +1 -1
  105. package/dist/core/p-943a58b2.entry.js +2 -0
  106. package/dist/core/{p-33209782.entry.js.map → p-943a58b2.entry.js.map} +1 -1
  107. package/dist/core/p-B6CqPcY_.js.map +1 -1
  108. package/dist/core/p-B8TR1oqt.js +3 -0
  109. package/dist/core/p-B8TR1oqt.js.map +1 -0
  110. package/dist/core/p-BUmDydor.js.map +1 -1
  111. package/dist/core/p-BcQO4NH2.js.map +1 -1
  112. package/dist/core/p-BjcqOprh.js.map +1 -1
  113. package/dist/core/p-Bo1ROm5Q.js.map +1 -1
  114. package/dist/core/p-Bz_RzYFb.js.map +1 -1
  115. package/dist/core/p-C3R1T_pg.js.map +1 -1
  116. package/dist/core/p-C6JN9gdb.js.map +1 -1
  117. package/dist/core/p-CDIRBJsi.js.map +1 -1
  118. package/dist/core/p-CQvUntGY.js.map +1 -1
  119. package/dist/core/p-Ccwpa1ck.js.map +1 -1
  120. package/dist/core/p-CgDnDrq5.js.map +1 -1
  121. package/dist/core/p-Cjg0wpDG.js.map +1 -1
  122. package/dist/core/p-CoD1xawt.js.map +1 -1
  123. package/dist/core/p-Cx3bEC5v.js.map +1 -1
  124. package/dist/core/p-D4TGB274.js.map +1 -1
  125. package/dist/core/p-DBXGhafv.js.map +1 -1
  126. package/dist/core/p-DNztiAH0.js.map +1 -1
  127. package/dist/core/p-DQuL1Twl.js.map +1 -1
  128. package/dist/core/p-DYcNEwSZ.js.map +1 -1
  129. package/dist/core/p-EeKNA85D.js.map +1 -1
  130. package/dist/core/p-GYov8gU1.js.map +1 -1
  131. package/dist/core/p-NOJjz9dT.js.map +1 -1
  132. package/dist/core/p-Q99QrOoi.js.map +1 -1
  133. package/dist/core/p-U40vKHrs.js.map +1 -1
  134. package/dist/core/p-a4fa2ffc.entry.js +2 -0
  135. package/dist/core/{p-c4734357.entry.js.map → p-a4fa2ffc.entry.js.map} +1 -1
  136. package/dist/core/{p-511eed88.entry.js → p-a6f27583.entry.js} +2 -2
  137. package/dist/core/{p-511eed88.entry.js.map → p-a6f27583.entry.js.map} +1 -1
  138. package/dist/core/p-a7c322a7.entry.js +2 -0
  139. package/dist/core/{p-abb7780e.entry.js.map → p-a7c322a7.entry.js.map} +1 -1
  140. package/dist/core/{p-6d2ce4c7.entry.js → p-ab367b0c.entry.js} +2 -2
  141. package/dist/core/{p-6d2ce4c7.entry.js.map → p-ab367b0c.entry.js.map} +1 -1
  142. package/dist/core/{p-c6b55c0a.entry.js → p-ac81cdf6.entry.js} +2 -2
  143. package/dist/core/{p-c6b55c0a.entry.js.map → p-ac81cdf6.entry.js.map} +1 -1
  144. package/dist/core/{p-a2c61d50.entry.js → p-ad9227b3.entry.js} +2 -2
  145. package/dist/core/{p-a2c61d50.entry.js.map → p-ad9227b3.entry.js.map} +1 -1
  146. package/dist/core/{p-d9d29f50.entry.js → p-af2bd9d3.entry.js} +2 -2
  147. package/dist/core/{p-d9d29f50.entry.js.map → p-af2bd9d3.entry.js.map} +1 -1
  148. package/dist/core/{p-70b5555f.entry.js → p-b0d4d6bd.entry.js} +2 -2
  149. package/dist/core/{p-70b5555f.entry.js.map → p-b0d4d6bd.entry.js.map} +1 -1
  150. package/dist/core/p-b181f85f.entry.js +2 -0
  151. package/dist/core/{p-57ca8ac7.entry.js.map → p-b181f85f.entry.js.map} +1 -1
  152. package/dist/core/{p-5305e82e.entry.js → p-b2648255.entry.js} +2 -2
  153. package/dist/core/{p-5305e82e.entry.js.map → p-b2648255.entry.js.map} +1 -1
  154. package/dist/core/{p-65a09763.entry.js → p-b37bd421.entry.js} +2 -2
  155. package/dist/core/{p-65a09763.entry.js.map → p-b37bd421.entry.js.map} +1 -1
  156. package/dist/core/{p-91cbee1b.entry.js → p-b5e40f40.entry.js} +2 -2
  157. package/dist/core/{p-91cbee1b.entry.js.map → p-b5e40f40.entry.js.map} +1 -1
  158. package/dist/core/{p-19300834.entry.js → p-b77c283e.entry.js} +2 -2
  159. package/dist/core/{p-19300834.entry.js.map → p-b77c283e.entry.js.map} +1 -1
  160. package/dist/core/{p-7f513718.entry.js → p-bb5b9ccd.entry.js} +2 -2
  161. package/dist/core/{p-7f513718.entry.js.map → p-bb5b9ccd.entry.js.map} +1 -1
  162. package/dist/core/{p-4c02094d.entry.js → p-c9b2f97c.entry.js} +2 -2
  163. package/dist/core/{p-4c02094d.entry.js.map → p-c9b2f97c.entry.js.map} +1 -1
  164. package/dist/core/{p-eb3f6808.entry.js → p-caf817d4.entry.js} +2 -2
  165. package/dist/core/{p-eb3f6808.entry.js.map → p-caf817d4.entry.js.map} +1 -1
  166. package/dist/core/p-dc0bd1e5.entry.js +2 -0
  167. package/dist/core/{p-3e07bf07.entry.js.map → p-dc0bd1e5.entry.js.map} +1 -1
  168. package/dist/core/{p-db860031.entry.js → p-dd390459.entry.js} +2 -2
  169. package/dist/core/{p-db860031.entry.js.map → p-dd390459.entry.js.map} +1 -1
  170. package/dist/core/{p-10991f00.entry.js → p-de5dfd70.entry.js} +2 -2
  171. package/dist/core/{p-10991f00.entry.js.map → p-de5dfd70.entry.js.map} +1 -1
  172. package/dist/core/p-dfb76a14.entry.js +2 -0
  173. package/dist/core/p-dfb76a14.entry.js.map +1 -0
  174. package/dist/core/{p-cd163299.entry.js → p-e17def2b.entry.js} +2 -2
  175. package/dist/core/{p-cd163299.entry.js.map → p-e17def2b.entry.js.map} +1 -1
  176. package/dist/core/{p-e39e5dc7.entry.js → p-e1d58751.entry.js} +2 -2
  177. package/dist/core/{p-e39e5dc7.entry.js.map → p-e1d58751.entry.js.map} +1 -1
  178. package/dist/core/{p-3e07bf07.entry.js → p-e913cfc8.entry.js} +2 -2
  179. package/dist/core/{p-90ab65b4.entry.js.map → p-e913cfc8.entry.js.map} +1 -1
  180. package/dist/core/{p-da997fb3.entry.js → p-ea299832.entry.js} +2 -2
  181. package/dist/core/{p-da997fb3.entry.js.map → p-ea299832.entry.js.map} +1 -1
  182. package/dist/core/{p-852310d9.entry.js → p-eff8ffff.entry.js} +2 -2
  183. package/dist/core/{p-852310d9.entry.js.map → p-eff8ffff.entry.js.map} +1 -1
  184. package/dist/core/{p-4d902f20.entry.js → p-f2d24551.entry.js} +2 -2
  185. package/dist/core/{p-4d902f20.entry.js.map → p-f2d24551.entry.js.map} +1 -1
  186. package/dist/core/{p-5c872d64.entry.js → p-f515d912.entry.js} +2 -2
  187. package/dist/core/{p-bf573a56.entry.js → p-febff4d1.entry.js} +2 -2
  188. package/dist/core/{p-bf573a56.entry.js.map → p-febff4d1.entry.js.map} +1 -1
  189. package/dist/core/p-vN03FcXN.js.map +1 -1
  190. package/dist/esm/gov-flex_3.entry.js +1 -1
  191. package/dist/esm/gov-form-file.entry.js +35 -11
  192. package/dist/esm/gov-form-file.entry.js.map +1 -1
  193. package/dist/hydrate/index.js +36 -12
  194. package/dist/hydrate/index.mjs +36 -12
  195. package/dist/types/components.d.ts +592 -119
  196. package/dist/types/stencil-public-runtime.d.ts +170 -11
  197. package/package.json +32 -28
  198. package/readme.md +1 -2
  199. package/dist/components/p-CXPP9vec.js +0 -2
  200. package/dist/core/core.css +0 -14776
  201. package/dist/core/gov-accordion-item.entry.esm.js.map +0 -1
  202. package/dist/core/gov-accordion.entry.esm.js.map +0 -1
  203. package/dist/core/gov-attachments.gov-attachments-item.gov-form-message.entry.esm.js.map +0 -1
  204. package/dist/core/gov-backdrop.entry.esm.js.map +0 -1
  205. package/dist/core/gov-banner.entry.esm.js.map +0 -1
  206. package/dist/core/gov-blockquote.entry.esm.js.map +0 -1
  207. package/dist/core/gov-breadcrumbs.entry.esm.js.map +0 -1
  208. package/dist/core/gov-button.entry.esm.js.map +0 -1
  209. package/dist/core/gov-card.entry.esm.js.map +0 -1
  210. package/dist/core/gov-chip.entry.esm.js.map +0 -1
  211. package/dist/core/gov-collapsible.entry.esm.js.map +0 -1
  212. package/dist/core/gov-container.entry.esm.js.map +0 -1
  213. package/dist/core/gov-control-group.entry.esm.js.map +0 -1
  214. package/dist/core/gov-cookiebar.entry.esm.js.map +0 -1
  215. package/dist/core/gov-dialog.entry.esm.js.map +0 -1
  216. package/dist/core/gov-dropdown.entry.esm.js.map +0 -1
  217. package/dist/core/gov-empty.entry.esm.js.map +0 -1
  218. package/dist/core/gov-error-code.entry.esm.js.map +0 -1
  219. package/dist/core/gov-flex.gov-icon.gov-theme-switch.entry.esm.js.map +0 -1
  220. package/dist/core/gov-form-autocomplete.entry.esm.js.map +0 -1
  221. package/dist/core/gov-form-checkbox-group.entry.esm.js.map +0 -1
  222. package/dist/core/gov-form-checkbox.entry.esm.js.map +0 -1
  223. package/dist/core/gov-form-control.entry.esm.js.map +0 -1
  224. package/dist/core/gov-form-file.entry.esm.js.map +0 -1
  225. package/dist/core/gov-form-group.entry.esm.js.map +0 -1
  226. package/dist/core/gov-form-input.gov-skeleton.entry.esm.js.map +0 -1
  227. package/dist/core/gov-form-label.entry.esm.js.map +0 -1
  228. package/dist/core/gov-form-multi-select.entry.esm.js.map +0 -1
  229. package/dist/core/gov-form-password-power.entry.esm.js.map +0 -1
  230. package/dist/core/gov-form-radio-group.entry.esm.js.map +0 -1
  231. package/dist/core/gov-form-radio.entry.esm.js.map +0 -1
  232. package/dist/core/gov-form-range.entry.esm.js.map +0 -1
  233. package/dist/core/gov-form-search.entry.esm.js.map +0 -1
  234. package/dist/core/gov-form-select.entry.esm.js.map +0 -1
  235. package/dist/core/gov-form-switch.entry.esm.js.map +0 -1
  236. package/dist/core/gov-grid-item.entry.esm.js.map +0 -1
  237. package/dist/core/gov-grid.entry.esm.js.map +0 -1
  238. package/dist/core/gov-infobar.entry.esm.js.map +0 -1
  239. package/dist/core/gov-layout-column.entry.esm.js.map +0 -1
  240. package/dist/core/gov-layout.entry.esm.js.map +0 -1
  241. package/dist/core/gov-lifecycle.entry.esm.js.map +0 -1
  242. package/dist/core/gov-link.entry.esm.js.map +0 -1
  243. package/dist/core/gov-loading.entry.esm.js.map +0 -1
  244. package/dist/core/gov-message.entry.esm.js.map +0 -1
  245. package/dist/core/gov-pagination.entry.esm.js.map +0 -1
  246. package/dist/core/gov-spacer.entry.esm.js.map +0 -1
  247. package/dist/core/gov-stepper-item.entry.esm.js.map +0 -1
  248. package/dist/core/gov-stepper.entry.esm.js.map +0 -1
  249. package/dist/core/gov-tabs-item.entry.esm.js.map +0 -1
  250. package/dist/core/gov-tabs.entry.esm.js.map +0 -1
  251. package/dist/core/gov-tag.entry.esm.js.map +0 -1
  252. package/dist/core/gov-tile.entry.esm.js.map +0 -1
  253. package/dist/core/gov-toast.entry.esm.js.map +0 -1
  254. package/dist/core/gov-tooltip.gov-tooltip-content.entry.esm.js.map +0 -1
  255. package/dist/core/gov-wizard-item.entry.esm.js.map +0 -1
  256. package/dist/core/gov-wizard.entry.esm.js.map +0 -1
  257. package/dist/core/loader.esm.js.map +0 -1
  258. package/dist/core/p-33209782.entry.js +0 -2
  259. package/dist/core/p-57ca8ac7.entry.js +0 -2
  260. package/dist/core/p-73bd93f9.entry.js +0 -2
  261. package/dist/core/p-90ab65b4.entry.js +0 -2
  262. package/dist/core/p-ClISz4NF.js +0 -3
  263. package/dist/core/p-ClISz4NF.js.map +0 -1
  264. package/dist/core/p-abb7780e.entry.js +0 -2
  265. package/dist/core/p-afe254cb.entry.js +0 -2
  266. package/dist/core/p-afe254cb.entry.js.map +0 -1
  267. package/dist/core/p-bd2df430.entry.js +0 -2
  268. package/dist/core/p-bec959c4.entry.js +0 -2
  269. package/dist/core/p-c4734357.entry.js +0 -2
  270. package/dist/core/p-fca7a0d6.entry.js +0 -2
  271. /package/dist/components/{p-ibUK7mfI.js.map → p-BGK46VRO.js.map} +0 -0
  272. /package/dist/components/{p-iTwUkISB.js.map → p-BICk4EuO.js.map} +0 -0
  273. /package/dist/components/{p-DN5pb9xA.js.map → p-BNoNH6m-.js.map} +0 -0
  274. /package/dist/components/{p-C_URF9Su.js.map → p-ClDhNt_H.js.map} +0 -0
  275. /package/dist/components/{p-pJ_vPAO0.js.map → p-DjGO_trZ.js.map} +0 -0
  276. /package/dist/components/{p-yIpIIG5A.js.map → p-DmK9qaKH.js.map} +0 -0
  277. /package/dist/components/{p-DEthsMuE.js.map → p-isPjiQbr.js.map} +0 -0
  278. /package/dist/core/{p-5c872d64.entry.js.map → p-f515d912.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["normalize","value","removeDiacritics","toLowerCase","filterAutocompleteOptions","options","query","nameKey","maxOptions","source","Array","isArray","normalizedQuery","matches","length","filter","item","text","includes","Number","isInteger","slice","GovFormAutocomplete","constructor","hostRef","this","fullOptions","templateResolver","size","required","disabled","minlength","throttleTime","messageEmpty","processing","arrowCounter","list","inheritedAttributes","emitAndSearch","e","govInput","emit","originalEvent","component","FormAutocompleteClass","root","selected","doSearch","onInputHandler","stopPropagation","detail","debouncedSearch","listBoxId","createID","validateSize","newValue","validateProp","FormAutocompleteSizes","watchOptions","propsValueToArray","searchCallback","setOptions","catch","onArrowUp","moveToView","finally","onArrowDown","delay","heightOfList","listRef","offsetHeight","querySelector","offsetTop","scrollTo","top","behavior","isValueAccepted","then","response","clearList","componentDidLoad","attributeObserver","AttributeObserver","host","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","inheritAriaAttributes","throttle","watchThrottleTime","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","render","h","Host","key","class","placeholder","name","readonly","autocomplete","invalid","success","role","maxlength","onKeyUpHandler","bind","onKeyDownHandler","onFocusHandler","onBlurHandler","join","booleanString","focused","ref","el","inputRef","toBoolAttr","hidden","id","empty","loading","map","index","isSelected","innerHTML","tabindex","onTouchStart","onSelectHandler","onMouseDown","govFocus","govBlur","has","govSelect","event","keyCode","preventDefault","setFocus","focus","setBlur","blur","clearValue","setProcessing","status","setSearchCallback","callback","setTemplateResolver"],"sources":["../../../packages/core/src/components/gov-form/autocomplete/autocomplete.utils.ts","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["import { removeDiacritics } from '../../../utils/string.utils'\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.types'\n\nconst normalize = (value: unknown): string =>\n\ttypeof value === 'string' ? removeDiacritics(value).toLowerCase() : ''\n\nexport const filterAutocompleteOptions = (\n\toptions: GovFormAutocompleteItem[],\n\tquery: string,\n\tnameKey: string,\n\tmaxOptions: number,\n): GovFormAutocompleteItem[] => {\n\tconst source = Array.isArray(options) ? options : []\n\tconst normalizedQuery = normalize(query)\n\tconst matches =\n\t\tnormalizedQuery.length === 0\n\t\t\t? source\n\t\t\t: source.filter(item => {\n\t\t\t\t\tconst text = item?.[nameKey]\n\t\t\t\t\treturn typeof text === 'string' && normalize(text).includes(normalizedQuery)\n\t\t\t\t})\n\treturn Number.isInteger(maxOptions) && maxOptions > 0 ? matches.slice(0, maxOptions) : matches\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {booleanString, toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {FormAutocompleteClass, FormAutocompleteSizes, SizesType,} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport { filterAutocompleteOptions } from './autocomplete.utils'\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate fullOptions: GovFormAutocompleteItem[] = []\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\tprivate attributeObserver: AttributeObserver\n\tprivate debouncedSearch: (e: CustomEvent<FormInputEvent>) => void\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({reflect: true, mutable: true}) value = ''\n\t/**\n\t * Options of autocomplete\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormAutocompleteItem[]\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop({attribute: 'name-key'}) readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Maximum number of items shown from a static `options` list (0 = unlimited).\n\t * Applies only when no async search callback is set.\n\t */\n\t@Prop({attribute: 'max-options'}) readonly maxOptions: number = 10\n\t/**\n\t * Input throttle in milliseconds\n\t */\n\t@Prop() readonly throttleTime: number = 200\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormAutocompleteItem[]): void {\n\t\tthis.fullOptions = propsValueToArray<GovFormAutocompleteItem[]>(newValue)\n\t\tif (this.searchCallback) {\n\t\t\tthis.setOptions(this.fullOptions).catch()\n\t\t} else {\n\t\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\t}\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (this.searchCallback) {\n\t\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && this.minlength) {\n\t\t\t\tthis.list = []\n\t\t\t\tthis.arrowCounter = -1\n\t\t\t\tthis.processing = false\n\t\t\t\treturn\n\t\t\t}\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\treturn\n\t\t}\n\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\tthis.arrowCounter = -1\n\t}\n\n\tprivate clearList() {\n\t\tif (this.fullOptions.length === 0) {\n\t\t\tthis.list = []\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t\tthis.debouncedSearch = throttle(this.emitAndSearch, this.throttleTime)\n\t\tthis.fullOptions = propsValueToArray<GovFormAutocompleteItem[]>(this.options)\n\t\tif (!this.searchCallback) {\n\t\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\t}\n\t}\n\n\t@Watch('throttleTime')\n\twatchThrottleTime() {\n\t\tthis.debouncedSearch = throttle(this.emitAndSearch, this.throttleTime)\n\t}\n\n\tprivate emitAndSearch = (e: CustomEvent<FormInputEvent>) => {\n\t\tthis.govInput.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={this.onInputHandler}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-autocomplete={'list'}\n\t\t\t\t\taria-owns={[this.listBoxId, this.inheritedAttributes['aria-owns']].join(' ')}\n\t\t\t\t\taria-expanded={booleanString(this.list.length && this.focused ? true : false)}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"validation-icon\" />\n\t\t\t\t\t<slot name=\"icon-end\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list}\n\t\t\t\t\trole={'listbox'}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.focused)}\n\t\t\t\t\thidden={!this.focused}\n\t\t\t\t\tid={this.listBoxId}\n\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && (this.isValueAccepted || (!this.searchCallback && this.fullOptions.length > 0)) && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-skeleton size=\"m\"></gov-skeleton>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused ? this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-left\"/>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-right\"/>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t}) : null}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif (this.searchCallback) {\n\t\t\tif (this.isValueAccepted) {\n\t\t\t\tthis.doSearch()\n\t\t\t}\n\t\t} else {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.clearList();\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onInputHandler = (e: CustomEvent<FormInputEvent>) => {\n\t\te.stopPropagation()\n\t\tthis.value = e.detail.value\n\t\tthis.debouncedSearch(e)\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.clearList();\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Focus main input element\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Blur main input element\n\t */\n\t@Method()\n\tasync setBlur(): Promise<void> {\n\t\treturn this.inputRef.blur()\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["normalize","value","removeDiacritics","toLowerCase","filterAutocompleteOptions","options","query","nameKey","maxOptions","source","Array","isArray","normalizedQuery","matches","length","filter","item","text","includes","Number","isInteger","slice","GovFormAutocomplete","constructor","hostRef","this","fullOptions","templateResolver","size","required","disabled","minlength","throttleTime","messageEmpty","processing","arrowCounter","list","inheritedAttributes","emitAndSearch","e","govInput","emit","originalEvent","component","FormAutocompleteClass","root","selected","doSearch","onInputHandler","stopPropagation","detail","debouncedSearch","listBoxId","createID","validateSize","newValue","validateProp","FormAutocompleteSizes","watchOptions","propsValueToArray","searchCallback","setOptions","catch","onArrowUp","moveToView","finally","onArrowDown","delay","heightOfList","listRef","offsetHeight","querySelector","offsetTop","scrollTo","top","behavior","isValueAccepted","then","response","clearList","componentDidLoad","attributeObserver","AttributeObserver","host","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","inheritAriaAttributes","throttle","watchThrottleTime","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","render","h","Host","key","class","placeholder","name","readonly","autocomplete","invalid","success","role","maxlength","onKeyUpHandler","bind","onKeyDownHandler","onFocusHandler","onBlurHandler","join","booleanString","focused","ref","el","inputRef","toBoolAttr","hidden","id","empty","loading","map","index","isSelected","innerHTML","tabindex","onTouchStart","onSelectHandler","onMouseDown","govFocus","govBlur","has","govSelect","event","keyCode","preventDefault","setFocus","focus","setBlur","blur","clearValue","setProcessing","status","setSearchCallback","callback","setTemplateResolver"],"sources":["../../../packages/core/src/components/gov-form/autocomplete/autocomplete.utils.ts","../../../packages/core/src/components/gov-form/autocomplete/gov-form-autocomplete.tsx"],"sourcesContent":["import { removeDiacritics } from '../../../utils/string.utils'\nimport { GovFormAutocompleteItem } from './gov-form-autocomplete.types'\n\nconst normalize = (value: unknown): string =>\n\ttypeof value === 'string' ? removeDiacritics(value).toLowerCase() : ''\n\nexport const filterAutocompleteOptions = (\n\toptions: GovFormAutocompleteItem[],\n\tquery: string,\n\tnameKey: string,\n\tmaxOptions: number,\n): GovFormAutocompleteItem[] => {\n\tconst source = Array.isArray(options) ? options : []\n\tconst normalizedQuery = normalize(query)\n\tconst matches =\n\t\tnormalizedQuery.length === 0\n\t\t\t? source\n\t\t\t: source.filter(item => {\n\t\t\t\t\tconst text = item?.[nameKey]\n\t\t\t\t\treturn typeof text === 'string' && normalize(text).includes(normalizedQuery)\n\t\t\t\t})\n\treturn Number.isInteger(maxOptions) && maxOptions > 0 ? matches.slice(0, maxOptions) : matches\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {booleanString, toBoolAttr} from '../../../helpers/Dom/template'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID} from '../../../utils/string.utils'\nimport {delay, has, throttle} from '../../../utils/utils'\nimport {FormInputEvent} from '../input/gov-form-input.types'\nimport {FormAutocompleteClass, FormAutocompleteSizes, SizesType,} from './constants'\nimport {FormAutocompleteEvent, GovFormAutocompleteItem} from './gov-form-autocomplete.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport { filterAutocompleteOptions } from './autocomplete.utils'\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-autocomplete',\n})\nexport class GovFormAutocomplete {\n\tprivate inputRef?: HTMLGovFormInputElement\n\tprivate listRef?: HTMLUListElement\n\tprivate readonly listBoxId: string\n\tprivate searchCallback: (value: string) => Promise<GovFormAutocompleteItem[]>\n\tprivate fullOptions: GovFormAutocompleteItem[] = []\n\tprivate templateResolver: (item: GovFormAutocompleteItem, selected: boolean) => string = item => item[this.nameKey]\n\tprivate attributeObserver: AttributeObserver\n\tprivate debouncedSearch: (e: CustomEvent<FormInputEvent>) => void\n\n\tconstructor() {\n\t\tthis.listBoxId = createID('GovListBox')\n\t}\n\n\t@Element() host: HTMLGovFormInputElement\n\t/**\n\t * Value of input\n\t */\n\t@Prop({reflect: true, mutable: true}) value = ''\n\t/**\n\t * Options of autocomplete\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormAutocompleteItem[]\n\t/**\n\t * Custom input identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Input’s size.\n\t */\n\t@Prop() readonly size?: SizesType = 'm'\n\t/**\n\t * Main key name in the object\n\t */\n\t@Prop({attribute: 'name-key'}) readonly nameKey: string = 'name'\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the input component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Text that appears in the form control when it has no value set\n\t */\n\t@Prop() readonly placeholder: string\n\t/**\n\t * The value is not editable\n\t */\n\t@Prop() readonly readonly: boolean\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Minimum length (number of characters) of value\n\t */\n\t@Prop() readonly minlength: number = 3\n\t/**\n\t * Maximum length (number of characters) of value\n\t */\n\t@Prop() readonly maxlength: number\n\t/**\n\t * Maximum number of items shown from a static `options` list (0 = unlimited).\n\t * Applies only when no async search callback is set.\n\t */\n\t@Prop({attribute: 'max-options'}) readonly maxOptions: number = 10\n\t/**\n\t * Input throttle in milliseconds\n\t */\n\t@Prop() readonly throttleTime: number = 200\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Emitted when the input has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-input'}) govInput: EventEmitter<FormAutocompleteEvent>\n\t/**\n\t * Emitted when the input change value.\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormAutocompleteEvent>\n\n\t@State() focused: boolean\n\t@State() processing = false\n\t@State() arrowCounter = -1\n\t@State() list: GovFormAutocompleteItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormAutocompleteSizes, newValue, FormAutocompleteClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormAutocompleteItem[]): void {\n\t\tthis.fullOptions = propsValueToArray<GovFormAutocompleteItem[]>(newValue)\n\t\tif (this.searchCallback) {\n\t\t\tthis.setOptions(this.fullOptions).catch()\n\t\t} else {\n\t\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\t}\n\t}\n\n\tprivate onArrowUp() {\n\t\tif (this.arrowCounter > 0) {\n\t\t\tthis.arrowCounter = this.arrowCounter - 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate onArrowDown() {\n\t\tif (this.arrowCounter < this.list.length - 1) {\n\t\t\tthis.arrowCounter = this.arrowCounter + 1\n\t\t\tthis.moveToView().finally()\n\t\t}\n\t}\n\n\tprivate async moveToView() {\n\t\tawait delay(200)\n\t\tconst heightOfList = this.listRef.offsetHeight\n\t\tconst selected = this.listRef.querySelector('li[aria-selected=\"true\"]') as HTMLUListElement\n\t\tif (selected && heightOfList) {\n\t\t\tconst offsetTop = selected.offsetTop\n\t\t\tthis.listRef.scrollTo({top: offsetTop, behavior: 'smooth'})\n\t\t}\n\t}\n\n\tprivate doSearch() {\n\t\tif (this.searchCallback) {\n\t\t\tif (Number.isInteger(this.minlength) && this.isValueAccepted === false && this.minlength) {\n\t\t\t\tthis.list = []\n\t\t\t\tthis.arrowCounter = -1\n\t\t\t\tthis.processing = false\n\t\t\t\treturn\n\t\t\t}\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\treturn\n\t\t}\n\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\tthis.arrowCounter = -1\n\t}\n\n\tprivate clearList() {\n\t\tif (this.fullOptions.length === 0) {\n\t\t\tthis.list = []\n\t\t}\n\t}\n\n\tget isValueAccepted() {\n\t\tif (typeof this.value === 'string') {\n\t\t\treturn this.value.length >= this.minlength\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t\tthis.debouncedSearch = throttle(this.emitAndSearch, this.throttleTime)\n\t\tthis.fullOptions = propsValueToArray<GovFormAutocompleteItem[]>(this.options)\n\t\tif (!this.searchCallback) {\n\t\t\tthis.list = filterAutocompleteOptions(this.fullOptions, this.value, this.nameKey, this.maxOptions)\n\t\t}\n\t}\n\n\t@Watch('throttleTime')\n\twatchThrottleTime() {\n\t\tthis.debouncedSearch = throttle(this.emitAndSearch, this.throttleTime)\n\t}\n\n\tprivate emitAndSearch = (e: CustomEvent<FormInputEvent>) => {\n\t\tthis.govInput.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t\tthis.doSearch()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormAutocompleteClass.root} size={this.size}>\n\t\t\t\t<gov-form-input\n\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tautocomplete={false}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\trole={'searchbox'}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tminlength={this.minlength}\n\t\t\t\t\tmaxlength={this.maxlength}\n\t\t\t\t\ton-gov-input={this.onInputHandler}\n\t\t\t\t\ton-gov-keyup={this.onKeyUpHandler.bind(this)}\n\t\t\t\t\ton-gov-keydown={this.onKeyDownHandler.bind(this)}\n\t\t\t\t\ton-gov-focus={this.onFocusHandler.bind(this)}\n\t\t\t\t\ton-gov-blur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-autocomplete={'list'}\n\t\t\t\t\taria-owns={[this.listBoxId, this.inheritedAttributes['aria-owns']].join(' ')}\n\t\t\t\t\taria-expanded={booleanString(this.list.length && this.focused ? true : false)}\n\t\t\t\t\tref={el => (this.inputRef = el as HTMLGovFormInputElement)}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"validation-icon\" />\n\t\t\t\t\t<slot name=\"icon-end\" />\n\t\t\t\t</gov-form-input>\n\t\t\t\t<ul class={FormAutocompleteClass.list}\n\t\t\t\t\trole={'listbox'}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.focused)}\n\t\t\t\t\thidden={!this.focused}\n\t\t\t\t\tid={this.listBoxId}\n\t\t\t\t\tref={el => (this.listRef = el as HTMLUListElement)}>\n\t\t\t\t\t{this.focused && this.list.length === 0 && this.processing === false && (this.isValueAccepted || (!this.searchCallback && this.fullOptions.length > 0)) && this.messageEmpty ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.empty}>{this.messageEmpty}</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused && this.processing === true && this.isValueAccepted ? (\n\t\t\t\t\t\t<li class={FormAutocompleteClass.loading}>\n\t\t\t\t\t\t\t<gov-skeleton size=\"m\"></gov-skeleton>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{this.focused ? this.list.map((item, index) => {\n\t\t\t\t\t\tconst isSelected = this.arrowCounter === index\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tclass={FormAutocompleteClass.item}\n\t\t\t\t\t\t\t\tinnerHTML={this.templateResolver(item, isSelected)}\n\t\t\t\t\t\t\t\trole={'option'}\n\t\t\t\t\t\t\t\taria-posinset={index}\n\t\t\t\t\t\t\t\ttabindex={isSelected ? 0 : -1}\n\t\t\t\t\t\t\t\taria-setsize={this.list.length}\n\t\t\t\t\t\t\t\tonTouchStart={(e: TouchEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\tonMouseDown={(e: PointerEvent) => this.onSelectHandler(e, index)}\n\t\t\t\t\t\t\t\taria-selected={toBoolAttr(isSelected)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-left\"/>\n\t\t\t\t\t\t\t\t<slot name=\"list-item-right\"/>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)\n\t\t\t\t\t}) : null}\n\t\t\t\t</ul>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.arrowCounter = -1\n\t\tif (this.searchCallback) {\n\t\t\tif (this.isValueAccepted) {\n\t\t\t\tthis.doSearch()\n\t\t\t}\n\t\t} else {\n\t\t\tthis.doSearch()\n\t\t}\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.clearList();\n\t\tthis.arrowCounter = -1\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\toriginalEvent: e,\n\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\tvalue: this.value,\n\t\t\tselected: null,\n\t\t})\n\t}\n\n\tprivate onInputHandler = (e: CustomEvent<FormInputEvent>) => {\n\t\te.stopPropagation()\n\t\tthis.value = e.detail.value\n\t\tthis.debouncedSearch(e)\n\t}\n\n\tprivate onSelectHandler(e: PointerEvent | CustomEvent | TouchEvent, index = -1) {\n\t\tlet selected: Nullable<GovFormAutocompleteItem> = null\n\t\tif (index > -1) {\n\t\t\tselected = this.list[index]\n\t\t} else if (has(this.arrowCounter, this.list)) {\n\t\t\tselected = this.list[this.arrowCounter]\n\t\t}\n\t\tif (selected) {\n\t\t\tthis.govSelect.emit({\n\t\t\t\tcomponent: FormAutocompleteClass.root,\n\t\t\t\tvalue: this.value,\n\t\t\t\tselected: selected,\n\t\t\t\toriginalEvent: e,\n\t\t\t})\n\t\t\tthis.clearList();\n\t\t\tif (has(this.nameKey, selected) && typeof selected[this.nameKey] === 'string') {\n\t\t\t\tthis.value = selected[this.nameKey]\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onKeyUpHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 38) this.onArrowUp()\n\t\telse if (event.keyCode === 40) this.onArrowDown()\n\t\telse if (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t\tthis.onSelectHandler(e)\n\t\t}\n\t}\n\n\tprivate onKeyDownHandler(e: CustomEvent) {\n\t\tconst event = (e.detail as FormInputEvent).originalEvent as KeyboardEvent\n\t\te.stopPropagation()\n\t\tevent.stopPropagation()\n\t\tif (event.keyCode === 13) {\n\t\t\te.preventDefault()\n\t\t\tevent.preventDefault()\n\t\t}\n\t}\n\n\t/**\n\t * Focus main input element\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.inputRef.focus(options)\n\t}\n\n\t/**\n\t * Blur main input element\n\t */\n\t@Method()\n\tasync setBlur(): Promise<void> {\n\t\treturn this.inputRef.blur()\n\t}\n\n\t/**\n\t * Set options for list\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormAutocompleteItem[]): Promise<void> {\n\t\tthis.list = Array.isArray(options) ? options : []\n\t\tthis.arrowCounter = -1\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync clearValue(): Promise<void> {\n\t\tthis.value = ''\n\t\tthis.inputRef.value = ''\n\n\t\tawait this.inputRef.clearValue()\n\t}\n\n\t/**\n\t * Clears whisperer value\n\t */\n\t@Method()\n\tasync setProcessing(status: boolean): Promise<void> {\n\t\tthis.processing = status\n\t}\n\n\t/**\n\t * Set a custom asynchronous function for the whisperer\n\t */\n\t@Method()\n\tasync setSearchCallback(callback: (value: string) => Promise<any>) {\n\t\tthis.searchCallback = callback\n\t}\n\n\t/**\n\t * Setting a custom whisper result template\n\t * @param callback\n\t */\n\t@Method()\n\tasync setTemplateResolver(callback: (item: GovFormAutocompleteItem) => string) {\n\t\tthis.templateResolver = callback\n\t}\n}\n"],"mappings":"6cAGA,MAAMA,EAAaC,UACXA,IAAU,SAAWC,EAAiBD,GAAOE,cAAgB,GAE9D,MAAMC,EAA4B,CACxCC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAASC,MAAMC,QAAQN,GAAWA,EAAU,GAClD,MAAMO,EAAkBZ,EAAUM,GAClC,MAAMO,EACLD,EAAgBE,SAAW,EACxBL,EACAA,EAAOM,QAAOC,IACd,MAAMC,EAAOD,IAAI,MAAJA,SAAI,SAAJA,EAAOT,GACpB,cAAcU,IAAS,UAAYjB,EAAUiB,GAAMC,SAASN,EAAgB,IAEhF,OAAOO,OAAOC,UAAUZ,IAAeA,EAAa,EAAIK,EAAQQ,MAAM,EAAGb,GAAcK,CAAO,E,MCHlFS,EAAmB,MAU/B,WAAAC,CAAAC,G,kJALQC,KAAAC,YAAyC,GACzCD,KAAAE,iBAAiFX,GAAQA,EAAKS,KAAKlB,SAYrEkB,KAAAxB,MAAQ,GAgB7BwB,KAAAG,KAAmB,IAIIH,KAAAlB,QAAkB,OASzCkB,KAAAI,SAAoB,MAKLJ,KAAAK,SAAoB,MAgBnCL,KAAAM,UAAoB,EASMN,KAAAjB,WAAqB,GAI/CiB,KAAAO,aAAuB,IAIKP,KAAAQ,aAAuB,iCAmB3DR,KAAAS,WAAa,MACbT,KAAAU,cAAe,EACfV,KAAAW,KAAkC,GAClCX,KAAAY,oBAAkC,GAoGnCZ,KAAAa,cAAiBC,IACxBd,KAAKe,SAASC,KAAK,CAClBC,cAAeH,EACfI,UAAWC,EAAsBC,KACjC5C,MAAOwB,KAAKxB,MACZ6C,SAAU,OAEXrB,KAAKsB,UAAU,EAiHRtB,KAAAuB,eAAkBT,IACzBA,EAAEU,kBACFxB,KAAKxB,MAAQsC,EAAEW,OAAOjD,MACtBwB,KAAK0B,gBAAgBZ,EAAE,EA/TvBd,KAAK2B,UAAYC,EAAS,aAC1B,CAkGD,YAAAC,CAAaC,GACZC,EAAaC,EAAuBF,EAAUX,EAAsBC,K,CAIrE,YAAAa,CAAaH,GACZ9B,KAAKC,YAAciC,EAA6CJ,GAChE,GAAI9B,KAAKmC,eAAgB,CACxBnC,KAAKoC,WAAWpC,KAAKC,aAAaoC,O,KAC5B,CACNrC,KAAKW,KAAOhC,EAA0BqB,KAAKC,YAAaD,KAAKxB,MAAOwB,KAAKlB,QAASkB,KAAKjB,W,EAIjF,SAAAuD,GACP,GAAItC,KAAKU,aAAe,EAAG,CAC1BV,KAAKU,aAAeV,KAAKU,aAAe,EACxCV,KAAKuC,aAAaC,S,EAIZ,WAAAC,GACP,GAAIzC,KAAKU,aAAeV,KAAKW,KAAKtB,OAAS,EAAG,CAC7CW,KAAKU,aAAeV,KAAKU,aAAe,EACxCV,KAAKuC,aAAaC,S,EAIZ,gBAAMD,SACPG,EAAM,KACZ,MAAMC,EAAe3C,KAAK4C,QAAQC,aAClC,MAAMxB,EAAWrB,KAAK4C,QAAQE,cAAc,4BAC5C,GAAIzB,GAAYsB,EAAc,CAC7B,MAAMI,EAAY1B,EAAS0B,UAC3B/C,KAAK4C,QAAQI,SAAS,CAACC,IAAKF,EAAWG,SAAU,U,EAI3C,QAAA5B,GACP,GAAItB,KAAKmC,eAAgB,CACxB,GAAIzC,OAAOC,UAAUK,KAAKM,YAAcN,KAAKmD,kBAAoB,OAASnD,KAAKM,UAAW,CACzFN,KAAKW,KAAO,GACZX,KAAKU,cAAe,EACpBV,KAAKS,WAAa,MAClB,M,CAEDT,KAAKS,WAAa,KAClBT,KAAKmC,eAAenC,KAAKxB,OACvB4E,MAAKC,GAAarD,KAAKW,KAAO0C,IAC9BhB,OAAM,IAAOrC,KAAKW,KAAO,KACzB6B,SAAQ,KACRxC,KAAKU,cAAe,EACpBV,KAAKS,WAAa,KAAK,IAEzB,M,CAEDT,KAAKW,KAAOhC,EAA0BqB,KAAKC,YAAaD,KAAKxB,MAAOwB,KAAKlB,QAASkB,KAAKjB,YACvFiB,KAAKU,cAAe,C,CAGb,SAAA4C,GACP,GAAItD,KAAKC,YAAYZ,SAAW,EAAG,CAClCW,KAAKW,KAAO,E,EAId,mBAAIwC,GACH,UAAWnD,KAAKxB,QAAU,SAAU,CACnC,OAAOwB,KAAKxB,MAAMa,QAAUW,KAAKM,S,KAC3B,CACN,OAAO,K,EAIT,gBAAAiD,GACCvD,KAAKwD,kBAAoB,IAAIC,EAAkBzD,KAAK0D,MAAM,CAACC,EAAe7B,KACzE9B,KAAK4D,sBAAsBD,EAAe7B,EAAS,IAGpD9B,KAAKwD,kBAAkBK,eAAeC,E,CAGvC,iBAAAC,GACC/D,KAAK6B,aAAa7B,KAAKG,MACvBH,KAAKY,oBAAsBoD,EAAsBhE,KAAK0D,MACtD1D,KAAK0B,gBAAkBuC,EAASjE,KAAKa,cAAeb,KAAKO,cACzDP,KAAKC,YAAciC,EAA6ClC,KAAKpB,SACrE,IAAKoB,KAAKmC,eAAgB,CACzBnC,KAAKW,KAAOhC,EAA0BqB,KAAKC,YAAaD,KAAKxB,MAAOwB,KAAKlB,QAASkB,KAAKjB,W,EAKzF,iBAAAmF,GACClE,KAAK0B,gBAAkBuC,EAASjE,KAAKa,cAAeb,KAAKO,a,CAa1D,oBAAA4D,G,OACCC,EAAApE,KAAKwD,qBAAiB,MAAAY,SAAA,SAAAA,EAAEC,e,CAGzB,qBAAAT,CAAsBD,EAAuB7B,GAC5C9B,KAAK0D,KAAKY,gBAAgBX,GAC1B3D,KAAKY,oBAAmB2D,OAAAC,OAAAD,OAAAC,OAAA,GAAOxE,KAAKY,qBAAmB,CAAE+C,CAACA,GAAgB7B,G,CAG3E,MAAA2C,GACC,OACCC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO1D,EAAsBC,KAAMjB,KAAMH,KAAKG,MACnDuE,EAAA,iBAAAH,OAAAC,OAAA,CAAAI,IAAA,2CACCE,YAAa9E,KAAK8E,YAClBC,KAAM/E,KAAK+E,KACX1E,SAAUL,KAAKK,SACf2E,SAAUhF,KAAKgF,SACfC,aAAc,MACd9E,KAAMH,KAAKG,KACXC,SAAUJ,KAAKI,SACf8E,QAASlF,KAAKkF,QACdC,QAASnF,KAAKmF,QACdC,KAAM,YACN5G,MAAOwB,KAAKxB,MACZ8B,UAAWN,KAAKM,UAChB+E,UAAWrF,KAAKqF,UAAS,eACXrF,KAAKuB,eAAc,eACnBvB,KAAKsF,eAAeC,KAAKvF,MAAK,iBAC5BA,KAAKwF,iBAAiBD,KAAKvF,MAAK,eAClCA,KAAKyF,eAAeF,KAAKvF,MAAK,cAC/BA,KAAK0F,cAAcH,KAAKvF,OACjCA,KAAKY,oBAAmB,qBACT,OAAM,YACd,CAACZ,KAAK2B,UAAW3B,KAAKY,oBAAoB,cAAc+E,KAAK,KAAI,gBAC7DC,EAAc5F,KAAKW,KAAKtB,QAAUW,KAAK6F,QAAU,KAAO,OACvEC,IAAKC,GAAO/F,KAAKgG,SAAWD,IAE5BrB,EAAA,QAAAE,IAAA,2CAAMG,KAAK,oBACXL,EAAA,QAAAE,IAAA,2CAAMG,KAAK,cAEZL,EAAA,MAAAE,IAAA,2CAAIC,MAAO1D,EAAsBR,KAChCyE,KAAM,UAAS,cACFa,GAAYjG,KAAK6F,SAC9BK,QAASlG,KAAK6F,QACdM,GAAInG,KAAK2B,UACTmE,IAAKC,GAAO/F,KAAK4C,QAAUmD,GAC1B/F,KAAK6F,SAAW7F,KAAKW,KAAKtB,SAAW,GAAKW,KAAKS,aAAe,QAAUT,KAAKmD,kBAAqBnD,KAAKmC,gBAAkBnC,KAAKC,YAAYZ,OAAS,IAAOW,KAAKQ,aAC/JkE,EAAA,MAAIG,MAAO1D,EAAsBiF,OAAQpG,KAAKQ,cAC3C,KACHR,KAAK6F,SAAW7F,KAAKS,aAAe,MAAQT,KAAKmD,gBACjDuB,EAAA,MAAIG,MAAO1D,EAAsBkF,SAChC3B,EAAA,gBAAcvE,KAAK,OAEjB,KACHH,KAAK6F,QAAU7F,KAAKW,KAAK2F,KAAI,CAAC/G,EAAMgH,KACpC,MAAMC,EAAaxG,KAAKU,eAAiB6F,EACzC,OACC7B,EAAA,MACCG,MAAO1D,EAAsB5B,KAC7BkH,UAAWzG,KAAKE,iBAAiBX,EAAMiH,GACvCpB,KAAM,SAAQ,gBACCmB,EACfG,SAAUF,EAAa,GAAI,EAAE,eACfxG,KAAKW,KAAKtB,OACxBsH,aAAe7F,GAAkBd,KAAK4G,gBAAgB9F,EAAGyF,GACzDM,YAAc/F,GAAoBd,KAAK4G,gBAAgB9F,EAAGyF,GAAM,gBACjDN,EAAWO,IAE1B9B,EAAA,QAAMK,KAAK,mBACXL,EAAA,QAAMK,KAAK,oBACP,IAEF,M,CAMD,cAAAU,CAAe3E,GACtBd,KAAK6F,QAAU,KACf7F,KAAKU,cAAe,EACpB,GAAIV,KAAKmC,eAAgB,CACxB,GAAInC,KAAKmD,gBAAiB,CACzBnD,KAAKsB,U,MAEA,CACNtB,KAAKsB,U,CAENR,EAAEU,kBACFxB,KAAK8G,SAAS9F,KAAK,CAClBC,cAAeH,EACfI,UAAWC,EAAsBC,KACjC5C,MAAOwB,KAAKxB,MACZ6C,SAAU,M,CAIJ,aAAAqE,CAAc5E,GACrBd,KAAK6F,QAAU,MACf7F,KAAKsD,YACLtD,KAAKU,cAAe,EACpBI,EAAEU,kBACFxB,KAAK+G,QAAQ/F,KAAK,CACjBC,cAAeH,EACfI,UAAWC,EAAsBC,KACjC5C,MAAOwB,KAAKxB,MACZ6C,SAAU,M,CAUJ,eAAAuF,CAAgB9F,EAA4CyF,GAAQ,GAC3E,IAAIlF,EAA8C,KAClD,GAAIkF,GAAQ,EAAI,CACflF,EAAWrB,KAAKW,KAAK4F,E,MACf,GAAIS,EAAIhH,KAAKU,aAAcV,KAAKW,MAAO,CAC7CU,EAAWrB,KAAKW,KAAKX,KAAKU,a,CAE3B,GAAIW,EAAU,CACbrB,KAAKiH,UAAUjG,KAAK,CACnBE,UAAWC,EAAsBC,KACjC5C,MAAOwB,KAAKxB,MACZ6C,SAAUA,EACVJ,cAAeH,IAEhBd,KAAKsD,YACL,GAAI0D,EAAIhH,KAAKlB,QAASuC,WAAoBA,EAASrB,KAAKlB,WAAa,SAAU,CAC9EkB,KAAKxB,MAAQ6C,EAASrB,KAAKlB,Q,GAKtB,cAAAwG,CAAexE,GACtB,MAAMoG,EAASpG,EAAEW,OAA0BR,cAC3CH,EAAEU,kBACF0F,EAAM1F,kBACN,GAAI0F,EAAMC,UAAY,GAAInH,KAAKsC,iBAC1B,GAAI4E,EAAMC,UAAY,GAAInH,KAAKyC,mBAC/B,GAAIyE,EAAMC,UAAY,GAAI,CAC9BrG,EAAEsG,iBACFF,EAAME,iBACNpH,KAAK4G,gBAAgB9F,E,EAIf,gBAAA0E,CAAiB1E,GACxB,MAAMoG,EAASpG,EAAEW,OAA0BR,cAC3CH,EAAEU,kBACF0F,EAAM1F,kBACN,GAAI0F,EAAMC,UAAY,GAAI,CACzBrG,EAAEsG,iBACFF,EAAME,gB,EAQR,cAAMC,CAASzI,GACd,OAAOoB,KAAKgG,SAASsB,MAAM1I,E,CAO5B,aAAM2I,GACL,OAAOvH,KAAKgG,SAASwB,M,CAOtB,gBAAMpF,CAAWxD,GAChBoB,KAAKW,KAAO1B,MAAMC,QAAQN,GAAWA,EAAU,GAC/CoB,KAAKU,cAAe,C,CAOrB,gBAAM+G,GACLzH,KAAKxB,MAAQ,GACbwB,KAAKgG,SAASxH,MAAQ,SAEhBwB,KAAKgG,SAASyB,Y,CAOrB,mBAAMC,CAAcC,GACnB3H,KAAKS,WAAakH,C,CAOnB,uBAAMC,CAAkBC,GACvB7H,KAAKmC,eAAiB0F,C,CAQvB,yBAAMC,CAAoBD,GACzB7H,KAAKE,iBAAmB2H,C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,H as e,g as o}from"./p-ClISz4NF.js";import{g as a,c as n,d as h}from"./p-B6CqPcY_.js";import{g as r,a as l,t as c}from"./p-CoD1xawt.js";import{v as d}from"./p-NOJjz9dT.js";import{c as u,r as v}from"./p-vN03FcXN.js";import{p as f}from"./p-Ccwpa1ck.js";import{t as p}from"./p-Cjg0wpDG.js";import{A as m,a as g}from"./p-Bz_RzYFb.js";import"./p-BcQO4NH2.js";import"./p-CQvUntGY.js";import"./p-EeKNA85D.js";import"./p-U40vKHrs.js";import"./p-DYcNEwSZ.js";import"./p-DBXGhafv.js";import"./p-CgDnDrq5.js";import"./p-DNztiAH0.js";const b=class{constructor(s){t(this,s);this.govFocus=i(this,"gov-focus");this.govBlur=i(this,"gov-blur");this.govChange=i(this,"gov-change");this.govSelect=i(this,"gov-select");this.govRemove=i(this,"gov-remove");this.size="m";this.hideSelectedList=false;this.required=false;this.disabled=false;this.messageEmpty="Nebyly nalezeny žádné výsledky";this.messageLoading="Načítám...";this.selectedOptionsState=[];this.optionsState=[];this.inheritedAttributes={};this.selectId=u("GovSelect");this.listId=u("GovMultiList");this.h=r(this.host);this.f=a(this.h)}validateSize(t){d(h,t,n.root)}watchOptions(t){this.optionsState=f(t)}watchValue(t){this.selectedOptionsState=f(t)}componentDidLoad(){this.attributeObserver=new m(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(g);this.initAutocomplete()}componentWillLoad(){this.validateSize(this.size);this.optionsState=f(this.options);this.selectedOptionsState=f(this.value)}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}getAvailableOptions(t=false){if(Array.isArray(this.optionsState)&&this.optionsState.length){if(t){return this.optionsState}return this.optionsState.filter((t=>{const i=this.selectedValueIndex(t.value);return i!==-1||(t===null||t===void 0?void 0:t.disabled)?false:true})).map((t=>{var i;return{name:(i=t.label)!==null&&i!==void 0?i:t.value,value:t.value}}))}return Array.from(this.selectRef.querySelectorAll("option")).filter((i=>{if(t){return true}const s=this.selectedValueIndex(i.value);return!(i.disabled||i.selected||s>-1)})).map((t=>({name:t.textContent,value:t.value})))}initAutocomplete(){var t,i,s,e,o;(t=this.autocompleteRef)===null||t===void 0?void 0:t.addEventListener("gov-select",this.onSelectHandler.bind(this));(i=this.autocompleteRef)===null||i===void 0?void 0:i.addEventListener("gov-input",this.onInputHandler.bind(this));(s=this.autocompleteRef)===null||s===void 0?void 0:s.addEventListener("gov-focus",this.onFocusHandler.bind(this));(e=this.autocompleteRef)===null||e===void 0?void 0:e.addEventListener("gov-blur",this.onBlurHandler.bind(this));(o=this.autocompleteRef)===null||o===void 0?void 0:o.setSearchCallback((t=>new Promise((i=>{const s=this.getAvailableOptions();if(String(t).length===0){return i(s)}i(s.filter((({label:i,value:s})=>{if(!i)i=s;return v(i).toLowerCase().indexOf(v(t).toLowerCase())>-1})))})))).finally()}selectedValueIndex(t){return this.selectedOptionsState.findIndex((i=>i===t))}getOptionElement(t){return this.selectRef.querySelector('option[value="'+t+'"]')}getOption(t){var i;return(i=this.getAvailableOptions(true).find((i=>i.value===t)))!==null&&i!==void 0?i:null}selectOption(t,i=true){const s=this.selectedValueIndex(t);if(s===-1){this.selectedOptionsState=[...this.selectedOptionsState,t];this.value=this.selectedOptionsState;if(i){this.govChange.emit({component:n.root,value:this.selectedOptionsState});this.govSelect.emit({component:n.root,value:this.selectedOptionsState})}const s=this.getOptionElement(t);if(s){s.selected=true}}}removeOption(t,i=true){const s=this.selectedValueIndex(t);if(s!==-1){this.selectedOptionsState.splice(s,1);this.selectedOptionsState=[...this.selectedOptionsState];this.value=this.selectedOptionsState;if(i){this.govChange.emit({component:n.root,value:this.selectedOptionsState});this.govRemove.emit({component:n.root,value:this.selectedOptionsState})}const e=this.getOptionElement(t);if(e){e.selected=false}}}async componentDidRender(){this.f.passAttrToLabel("required",String(this.required));p((()=>{this.selectRef.querySelectorAll("option").forEach((t=>{if(t.selected){this.selectOption(t.value,false)}}))}))}render(){return s(e,{key:"00de4cfbb82c004cae37353e271f8535fe46775e",class:n.root,size:this.size},s("div",{key:"7e35ab7e890edf08ae084fc65812755645e32771",class:n.wrap},this.h.hasSlot("prefix")&&s("slot",{key:"9b95a1b803f3eba9470b0dffd2cacd16462b1dfe",name:"prefix"}),s("gov-form-autocomplete",{key:"a5e6f7740ff1ea946e2efcbb122ee3c350f3d79c",value:this.valueState,disabled:this.disabled,identifier:this.identifier||this.selectId,required:false,invalid:this.invalid,success:this.success,size:this.size,placeholder:this.placeholder,"message-empty":this.messageEmpty,"message-loading":this.messageLoading,ref:t=>this.autocompleteRef=t,minlength:0,"aria-owns":this.listId},this.success&&s("gov-icon",{key:"56520f21509ed79d828848f713af383fafe8e47a",slot:"validation-icon",class:"validation-icon",name:"check-lg",type:"components"}),this.invalid&&s("gov-icon",{key:"1f8f2e059a5c8c30ae0644435f591f7cb70e0930",slot:"validation-icon",class:"validation-icon",name:"exclamation-lg",type:"components"}),s("gov-icon",{key:"e6996c534d4c8bda09f365336160dfe552f8a4a0",slot:"icon-end",class:"arrow-icon",name:"chevron-down",type:"components"})),s("select",Object.assign({key:"69a0ec03bc00ee1b7e85f1655a7033f587ea553f",hidden:true,class:"hidden-select-list","aria-hidden":l(true),multiple:true,required:this.required,name:this.name,disabled:this.disabled,ref:t=>this.selectRef=t},this.inheritedAttributes,{"aria-disabled":c(this.disabled),"aria-required":c(this.required),"aria-invalid":c(this.invalid)}),s("slot",{key:"95ccf066ef3585b5c3dc58441e74d70152c0fffb"}),Array.isArray(this.optionsState)&&this.optionsState.map((t=>{var i;const e=this.selectedValueIndex(t.value);return s("option",{value:t.value,selected:e>-1,disabled:t===null||t===void 0?void 0:t.disabled},(i=t.label)!==null&&i!==void 0?i:t.value)}))),this.h.hasSlot("sufix")&&s("slot",{key:"e07e4cd61da18737a4373fd4badc72c9ae3dab30",name:"sufix"})),this.hideSelectedList===false?s("ul",{role:"listbox",id:this.listId,class:n.list},Array.isArray(this.selectedOptionsState)&&this.selectedOptionsState.map((t=>{var i;const e=this.getOption(t);if(!e)return null;return s("li",{class:n.item,role:"option"},(i=e.label)!==null&&i!==void 0?i:e.value,s("gov-button",{"aria-label":`Odebrat vybranou položku ${e.label}`,color:"primary",type:"base",size:this.size,"on-gov-click":()=>this.onTagRemove(t)},s("gov-icon",{name:"x-lg",type:"components"})))}))):null)}onFocusHandler(t){t.stopPropagation();this.focused=true;this.govFocus.emit({component:n.root,originalEvent:t,value:this.selectedOptionsState})}onBlurHandler(t){t.stopPropagation();t.stopPropagation();this.focused=false;this.govBlur.emit({component:n.root,originalEvent:t,value:this.selectedOptionsState})}onInputHandler(t){this.valueState=t.detail.value;t.stopPropagation()}onSelectHandler(t){t.stopPropagation();const i=t.detail.selected;this.selectOption(i.value);this.valueState="";this.autocompleteRef.clearValue().finally();this.autocompleteRef.focus()}onTagRemove(t){this.removeOption(t)}async setFocus(t){return this.selectRef.focus(t)}async setValue(t){this.valueState=t}async getRef(){return this.selectRef}get host(){return o(this)}static get watchers(){return{size:["validateSize"],options:["watchOptions"],value:["watchValue"]}}};export{b as gov_form_multi_select};
2
- //# sourceMappingURL=p-0af96cc0.entry.js.map
1
+ import{r as t,c as i,h as s,H as e,g as o}from"./p-B8TR1oqt.js";import{g as a,c as n,d as h}from"./p-B6CqPcY_.js";import{g as r,a as l,t as c}from"./p-CoD1xawt.js";import{v as d}from"./p-NOJjz9dT.js";import{c as u,r as v}from"./p-vN03FcXN.js";import{p as f}from"./p-Ccwpa1ck.js";import{t as p}from"./p-Cjg0wpDG.js";import{A as m,a as g}from"./p-Bz_RzYFb.js";import"./p-BcQO4NH2.js";import"./p-CQvUntGY.js";import"./p-EeKNA85D.js";import"./p-U40vKHrs.js";import"./p-DYcNEwSZ.js";import"./p-DBXGhafv.js";import"./p-CgDnDrq5.js";import"./p-DNztiAH0.js";const b=class{constructor(s){t(this,s);this.govFocus=i(this,"gov-focus");this.govBlur=i(this,"gov-blur");this.govChange=i(this,"gov-change");this.govSelect=i(this,"gov-select");this.govRemove=i(this,"gov-remove");this.size="m";this.hideSelectedList=false;this.required=false;this.disabled=false;this.messageEmpty="Nebyly nalezeny žádné výsledky";this.messageLoading="Načítám...";this.selectedOptionsState=[];this.optionsState=[];this.inheritedAttributes={};this.selectId=u("GovSelect");this.listId=u("GovMultiList");this.h=r(this.host);this.f=a(this.h)}validateSize(t){d(h,t,n.root)}watchOptions(t){this.optionsState=f(t)}watchValue(t){this.selectedOptionsState=f(t)}componentDidLoad(){this.attributeObserver=new m(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(g);this.initAutocomplete()}componentWillLoad(){this.validateSize(this.size);this.optionsState=f(this.options);this.selectedOptionsState=f(this.value)}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}getAvailableOptions(t=false){if(Array.isArray(this.optionsState)&&this.optionsState.length){if(t){return this.optionsState}return this.optionsState.filter((t=>{const i=this.selectedValueIndex(t.value);return i!==-1||(t===null||t===void 0?void 0:t.disabled)?false:true})).map((t=>{var i;return{name:(i=t.label)!==null&&i!==void 0?i:t.value,value:t.value}}))}return Array.from(this.selectRef.querySelectorAll("option")).filter((i=>{if(t){return true}const s=this.selectedValueIndex(i.value);return!(i.disabled||i.selected||s>-1)})).map((t=>({name:t.textContent,value:t.value})))}initAutocomplete(){var t,i,s,e,o;(t=this.autocompleteRef)===null||t===void 0?void 0:t.addEventListener("gov-select",this.onSelectHandler.bind(this));(i=this.autocompleteRef)===null||i===void 0?void 0:i.addEventListener("gov-input",this.onInputHandler.bind(this));(s=this.autocompleteRef)===null||s===void 0?void 0:s.addEventListener("gov-focus",this.onFocusHandler.bind(this));(e=this.autocompleteRef)===null||e===void 0?void 0:e.addEventListener("gov-blur",this.onBlurHandler.bind(this));(o=this.autocompleteRef)===null||o===void 0?void 0:o.setSearchCallback((t=>new Promise((i=>{const s=this.getAvailableOptions();if(String(t).length===0){return i(s)}i(s.filter((({label:i,value:s})=>{if(!i)i=s;return v(i).toLowerCase().indexOf(v(t).toLowerCase())>-1})))})))).finally()}selectedValueIndex(t){return this.selectedOptionsState.findIndex((i=>i===t))}getOptionElement(t){return this.selectRef.querySelector('option[value="'+t+'"]')}getOption(t){var i;return(i=this.getAvailableOptions(true).find((i=>i.value===t)))!==null&&i!==void 0?i:null}selectOption(t,i=true){const s=this.selectedValueIndex(t);if(s===-1){this.selectedOptionsState=[...this.selectedOptionsState,t];this.value=this.selectedOptionsState;if(i){this.govChange.emit({component:n.root,value:this.selectedOptionsState});this.govSelect.emit({component:n.root,value:this.selectedOptionsState})}const s=this.getOptionElement(t);if(s){s.selected=true}}}removeOption(t,i=true){const s=this.selectedValueIndex(t);if(s!==-1){this.selectedOptionsState.splice(s,1);this.selectedOptionsState=[...this.selectedOptionsState];this.value=this.selectedOptionsState;if(i){this.govChange.emit({component:n.root,value:this.selectedOptionsState});this.govRemove.emit({component:n.root,value:this.selectedOptionsState})}const e=this.getOptionElement(t);if(e){e.selected=false}}}async componentDidRender(){this.f.passAttrToLabel("required",String(this.required));p((()=>{this.selectRef.querySelectorAll("option").forEach((t=>{if(t.selected){this.selectOption(t.value,false)}}))}))}render(){return s(e,{key:"00de4cfbb82c004cae37353e271f8535fe46775e",class:n.root,size:this.size},s("div",{key:"7e35ab7e890edf08ae084fc65812755645e32771",class:n.wrap},this.h.hasSlot("prefix")&&s("slot",{key:"9b95a1b803f3eba9470b0dffd2cacd16462b1dfe",name:"prefix"}),s("gov-form-autocomplete",{key:"a5e6f7740ff1ea946e2efcbb122ee3c350f3d79c",value:this.valueState,disabled:this.disabled,identifier:this.identifier||this.selectId,required:false,invalid:this.invalid,success:this.success,size:this.size,placeholder:this.placeholder,"message-empty":this.messageEmpty,"message-loading":this.messageLoading,ref:t=>this.autocompleteRef=t,minlength:0,"aria-owns":this.listId},this.success&&s("gov-icon",{key:"56520f21509ed79d828848f713af383fafe8e47a",slot:"validation-icon",class:"validation-icon",name:"check-lg",type:"components"}),this.invalid&&s("gov-icon",{key:"1f8f2e059a5c8c30ae0644435f591f7cb70e0930",slot:"validation-icon",class:"validation-icon",name:"exclamation-lg",type:"components"}),s("gov-icon",{key:"e6996c534d4c8bda09f365336160dfe552f8a4a0",slot:"icon-end",class:"arrow-icon",name:"chevron-down",type:"components"})),s("select",Object.assign({key:"69a0ec03bc00ee1b7e85f1655a7033f587ea553f",hidden:true,class:"hidden-select-list","aria-hidden":l(true),multiple:true,required:this.required,name:this.name,disabled:this.disabled,ref:t=>this.selectRef=t},this.inheritedAttributes,{"aria-disabled":c(this.disabled),"aria-required":c(this.required),"aria-invalid":c(this.invalid)}),s("slot",{key:"95ccf066ef3585b5c3dc58441e74d70152c0fffb"}),Array.isArray(this.optionsState)&&this.optionsState.map((t=>{var i;const e=this.selectedValueIndex(t.value);return s("option",{value:t.value,selected:e>-1,disabled:t===null||t===void 0?void 0:t.disabled},(i=t.label)!==null&&i!==void 0?i:t.value)}))),this.h.hasSlot("sufix")&&s("slot",{key:"e07e4cd61da18737a4373fd4badc72c9ae3dab30",name:"sufix"})),this.hideSelectedList===false?s("ul",{role:"listbox",id:this.listId,class:n.list},Array.isArray(this.selectedOptionsState)&&this.selectedOptionsState.map((t=>{var i;const e=this.getOption(t);if(!e)return null;return s("li",{class:n.item,role:"option"},(i=e.label)!==null&&i!==void 0?i:e.value,s("gov-button",{"aria-label":`Odebrat vybranou položku ${e.label}`,color:"primary",type:"base",size:this.size,"on-gov-click":()=>this.onTagRemove(t)},s("gov-icon",{name:"x-lg",type:"components"})))}))):null)}onFocusHandler(t){t.stopPropagation();this.focused=true;this.govFocus.emit({component:n.root,originalEvent:t,value:this.selectedOptionsState})}onBlurHandler(t){t.stopPropagation();t.stopPropagation();this.focused=false;this.govBlur.emit({component:n.root,originalEvent:t,value:this.selectedOptionsState})}onInputHandler(t){this.valueState=t.detail.value;t.stopPropagation()}onSelectHandler(t){t.stopPropagation();const i=t.detail.selected;this.selectOption(i.value);this.valueState="";this.autocompleteRef.clearValue().finally();this.autocompleteRef.focus()}onTagRemove(t){this.removeOption(t)}async setFocus(t){return this.selectRef.focus(t)}async setValue(t){this.valueState=t}async getRef(){return this.selectRef}get host(){return o(this)}static get watchers(){return{size:[{validateSize:0}],options:[{watchOptions:0}],value:[{watchValue:0}]}}};export{b as gov_form_multi_select};
2
+ //# sourceMappingURL=p-6b0625ee.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GovFormMultiSelect","constructor","hostRef","this","size","hideSelectedList","required","disabled","messageEmpty","messageLoading","selectedOptionsState","optionsState","inheritedAttributes","selectId","createID","listId","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormMultiselectSizes","FormMultiSelectClass","root","watchOptions","propsValueToArray","watchValue","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","initAutocomplete","componentWillLoad","options","value","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","getAvailableOptions","ignoreFilter","Array","isArray","length","filter","option","selectedIndex","selectedValueIndex","map","name","label","from","selectRef","querySelectorAll","selected","textContent","autocompleteRef","addEventListener","onSelectHandler","bind","_b","onInputHandler","_c","onFocusHandler","_d","onBlurHandler","_e","setSearchCallback","searchString","Promise","resolve","data","String","removeDiacritics","toLowerCase","indexOf","finally","findIndex","getOptionElement","querySelector","getOption","find","selectOption","newOption","notify","index","govChange","emit","component","govSelect","removeOption","splice","govRemove","componentDidRender","passAttrToLabel","tick","forEach","render","Host","key","class","wrap","hasSlot","valueState","identifier","invalid","success","placeholder","ref","el","minlength","slot","type","hidden","toBoolAttr","multiple","toBoolAttrIfDefined","selectedOption","role","id","list","item","color","onTagRemove","e","stopPropagation","focused","govFocus","originalEvent","govBlur","detail","clearValue","focus","setFocus","setValue","getRef"],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop({reflect:true}) readonly invalid: boolean\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = propsValueToArray(newValue)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t<gov-icon slot=\"icon-end\" class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taria-label={`Odebrat vybranou položku ${option.label}`}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.valueState = value\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["GovFormMultiSelect","constructor","hostRef","this","size","hideSelectedList","required","disabled","messageEmpty","messageLoading","selectedOptionsState","optionsState","inheritedAttributes","selectId","createID","listId","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormMultiselectSizes","FormMultiSelectClass","root","watchOptions","propsValueToArray","watchValue","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","initAutocomplete","componentWillLoad","options","value","disconnectedCallback","_a","stopObserving","removeAttribute","Object","assign","getAvailableOptions","ignoreFilter","Array","isArray","length","filter","option","selectedIndex","selectedValueIndex","map","name","label","from","selectRef","querySelectorAll","selected","textContent","autocompleteRef","addEventListener","onSelectHandler","bind","_b","onInputHandler","_c","onFocusHandler","_d","onBlurHandler","_e","setSearchCallback","searchString","Promise","resolve","data","String","removeDiacritics","toLowerCase","indexOf","finally","findIndex","getOptionElement","querySelector","getOption","find","selectOption","newOption","notify","index","govChange","emit","component","govSelect","removeOption","splice","govRemove","componentDidRender","passAttrToLabel","tick","forEach","render","Host","key","class","wrap","hasSlot","valueState","identifier","invalid","success","placeholder","ref","el","minlength","slot","type","hidden","toBoolAttr","multiple","toBoolAttrIfDefined","selectedOption","role","id","list","item","color","onTagRemove","e","stopPropagation","focused","govFocus","originalEvent","govBlur","detail","clearValue","focus","setFocus","setValue","getRef"],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop({reflect:true}) readonly invalid: boolean\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = propsValueToArray(newValue)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tsuccess={this.success}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t<gov-icon slot=\"icon-end\" class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taria-label={`Odebrat vybranou položku ${option.label}`}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.valueState = value\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as s,c as t,h as i,H as a,g as e}from"./p-ClISz4NF.js";import{v as o}from"./p-NOJjz9dT.js";import{W as n,c as h}from"./p-BjcqOprh.js";import{c}from"./p-vN03FcXN.js";import{g as r,b as l,t as d}from"./p-CoD1xawt.js";import"./p-CgDnDrq5.js";import"./p-CQvUntGY.js";import"./p-U40vKHrs.js";import"./p-BcQO4NH2.js";var p;(function(s){s["DIV"]="div";s["BUTTON"]="button"})(p||(p={}));const m=class{constructor(i){s(this,i);this.govChange=t(this,"gov-change");this.hydrated=false;this.color="primary";this.size="m";this.collapsible=false;this.disabled=false;this.isExpanded=false;this.h=r(this.host);this.triggerId=c("GovWizardItem");this.contentId=c("GovWizardContent")}validateColor(s){o(h,s,n.root)}emmitChange(){this.govChange.emit({expanded:this.isExpanded,component:n.root})}componentWillLoad(){this.validateColor(this.color)}connectedCallback(){this.hydrated=true}render(){const s=this.identifier||this.triggerId;const t=this.collapsible?p.BUTTON:p.DIV;const e=this.h.hasSlot("prefix")&&i("span",{key:"3f00516020337fc142713c6edb468d0007eba3c5",class:n.prefix},i("slot",{key:"05aa42bc8241f53bb3664dc3d06798cb0344f92f",name:"prefix"}));return i(a,{key:"863700f5087e86d1f8d4e22b40108dfbc0cb96f5",class:this.h.classes(n.root),"is-expanded":this.isExpanded,color:this.color,size:this.size,role:"listitem",collapsible:this.collapsible,hydrated:this.hydrated},i("div",{key:"6d93a5bb12dbe2fc2e308059ffd5d63ed915f16d",class:n.header},e,this.collapsible?i(t,{id:s,class:this.h.classes(n.label),"aria-expanded":l(this.isExpanded),"aria-controls":this.contentId,disabled:this.disabled,"aria-disabled":d(this.disabled),onClick:s=>{s.preventDefault();s.stopPropagation();this.toggle()}},i("span",{class:n.headline},i("slot",{name:"headline"}),this.collapsible&&i("gov-icon",{class:n.chevron,name:"chevron-down",type:"components"})),i("slot",{name:"annotation"})):i(t,{class:this.h.classes(n.label)},i("span",{class:n.headline},i("slot",{name:"headline"}),this.collapsible&&i("gov-icon",{class:n.chevron,name:"chevron-down",type:"components"})),i("slot",{name:"annotation"}))),this.collapsible?i("div",{class:n.content,id:this.contentId,"aria-hidden":l(!this.isExpanded),hidden:!this.isExpanded,"aria-labelledby":s},i("slot",null)):i("div",{class:n.content,"aria-hidden":l(!this.isExpanded),hidden:!this.isExpanded},i("slot",null)))}async open(){this.isExpanded=true;this.emmitChange()}async close(){this.isExpanded=false;this.emmitChange()}async toggle(){this.isExpanded=!this.isExpanded;this.emmitChange()}async currentState(){return this.isExpanded}get host(){return e(this)}static get watchers(){return{color:["validateColor"]}}};export{m as gov_wizard_item};
2
- //# sourceMappingURL=p-f75ad657.entry.js.map
1
+ import{r as s,c as t,h as i,H as a,g as e}from"./p-B8TR1oqt.js";import{v as o}from"./p-NOJjz9dT.js";import{W as n,c as h}from"./p-BjcqOprh.js";import{c}from"./p-vN03FcXN.js";import{g as r,b as l,t as d}from"./p-CoD1xawt.js";import"./p-CgDnDrq5.js";import"./p-CQvUntGY.js";import"./p-U40vKHrs.js";import"./p-BcQO4NH2.js";var p;(function(s){s["DIV"]="div";s["BUTTON"]="button"})(p||(p={}));const m=class{constructor(i){s(this,i);this.govChange=t(this,"gov-change");this.hydrated=false;this.color="primary";this.size="m";this.collapsible=false;this.disabled=false;this.isExpanded=false;this.h=r(this.host);this.triggerId=c("GovWizardItem");this.contentId=c("GovWizardContent")}validateColor(s){o(h,s,n.root)}emmitChange(){this.govChange.emit({expanded:this.isExpanded,component:n.root})}componentWillLoad(){this.validateColor(this.color)}connectedCallback(){this.hydrated=true}render(){const s=this.identifier||this.triggerId;const t=this.collapsible?p.BUTTON:p.DIV;const e=this.h.hasSlot("prefix")&&i("span",{key:"3f00516020337fc142713c6edb468d0007eba3c5",class:n.prefix},i("slot",{key:"05aa42bc8241f53bb3664dc3d06798cb0344f92f",name:"prefix"}));return i(a,{key:"863700f5087e86d1f8d4e22b40108dfbc0cb96f5",class:this.h.classes(n.root),"is-expanded":this.isExpanded,color:this.color,size:this.size,role:"listitem",collapsible:this.collapsible,hydrated:this.hydrated},i("div",{key:"6d93a5bb12dbe2fc2e308059ffd5d63ed915f16d",class:n.header},e,this.collapsible?i(t,{id:s,class:this.h.classes(n.label),"aria-expanded":l(this.isExpanded),"aria-controls":this.contentId,disabled:this.disabled,"aria-disabled":d(this.disabled),onClick:s=>{s.preventDefault();s.stopPropagation();this.toggle()}},i("span",{class:n.headline},i("slot",{name:"headline"}),this.collapsible&&i("gov-icon",{class:n.chevron,name:"chevron-down",type:"components"})),i("slot",{name:"annotation"})):i(t,{class:this.h.classes(n.label)},i("span",{class:n.headline},i("slot",{name:"headline"}),this.collapsible&&i("gov-icon",{class:n.chevron,name:"chevron-down",type:"components"})),i("slot",{name:"annotation"}))),this.collapsible?i("div",{class:n.content,id:this.contentId,"aria-hidden":l(!this.isExpanded),hidden:!this.isExpanded,"aria-labelledby":s},i("slot",null)):i("div",{class:n.content,"aria-hidden":l(!this.isExpanded),hidden:!this.isExpanded},i("slot",null)))}async open(){this.isExpanded=true;this.emmitChange()}async close(){this.isExpanded=false;this.emmitChange()}async toggle(){this.isExpanded=!this.isExpanded;this.emmitChange()}async currentState(){return this.isExpanded}get host(){return e(this)}static get watchers(){return{color:[{validateColor:0}]}}};export{m as gov_wizard_item};
2
+ //# sourceMappingURL=p-78202a44.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Tags","GovWizardItem","constructor","hostRef","this","hydrated","color","size","collapsible","disabled","isExpanded","h","govHost","host","triggerId","createID","contentId","validateColor","newValue","validateProp","WizardColors","WizardItemClass","root","emmitChange","govChange","emit","expanded","component","componentWillLoad","connectedCallback","render","identifier","Tag","BUTTON","DIV","prefixSlot","hasSlot","key","class","prefix","name","Host","classes","role","header","id","label","booleanString","toBoolAttrIfDefined","onClick","e","preventDefault","stopPropagation","toggle","headline","chevron","type","content","hidden","open","close","currentState"],"sources":["../../../packages/core/src/components/gov-wizard/gov-wizard-item.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from \"@stencil/core\"\nimport { validateProp } from \"../../helpers/Validate/props\"\nimport { WizardSizesType, WizardColors, WizardColorType, WizardItemClass } from \"./constants\"\nimport { createID } from \"../../utils/string.utils\"\nimport { booleanString, govHost, toBoolAttrIfDefined } from \"../../helpers/Dom/template\"\nimport { GovHost } from \"../../helpers/Dom/template.types\"\nimport { WizardItemEvent } from \"./gov-wizard-item.types\"\n\nenum Tags {\n\tDIV = \"div\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-wizard-item\",\n})\nexport class GovWizardItem {\n\tprivate h: GovHost\n\tprivate readonly triggerId: string\n\tprivate readonly contentId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.triggerId = createID(\"GovWizardItem\")\n\t\tthis.contentId = createID(\"GovWizardContent\")\n\t}\n\n\t@Element() readonly host: HTMLGovWizardItemElement\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly color?: WizardColorType = \"primary\"\n\t/**\n\t * Size of wizard\n\t */\n\t@Prop() readonly size?: WizardSizesType = \"m\"\n\t/**\n\t * Custom wizard item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Defines weather the wizard item can be collapsible\n\t */\n\t@Prop() readonly collapsible: boolean = false\n\t/**\n\t * Makes the wizard component disabled.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Defines whether the accordion is open or closed by button\n\t */\n\t@Prop({ attribute: \"is-expanded\", mutable: true }) isExpanded = false\n\t/**\n\t * Called when the accordion state changes\n\t */\n\t@Event({ eventName: \"gov-change\" }) govChange: EventEmitter<WizardItemEvent>\n\n\t@Watch(\"color\")\n\tprivate validateColor(newValue: string): void {\n\t\tvalidateProp(WizardColors, newValue, WizardItemClass.root)\n\t}\n\n\tprivate emmitChange(): void {\n\t\tthis.govChange.emit({ expanded: this.isExpanded, component: WizardItemClass.root })\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst triggerId = this.identifier || this.triggerId\n\t\tconst Tag = this.collapsible ? Tags.BUTTON : Tags.DIV\n\t\tconst prefixSlot = this.h.hasSlot(\"prefix\") && (<span class={WizardItemClass.prefix}><slot name=\"prefix\" /></span>)\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(WizardItemClass.root)}\n\t\t\t\t is-expanded={this.isExpanded}\n\t\t\t\t color={this.color}\n\t\t\t\t size={this.size}\n\t\t\t\t role=\"listitem\"\n\t\t\t\t collapsible={this.collapsible}\n\t\t\t\t hydrated={this.hydrated}>\n\t\t\t\t<div class={WizardItemClass.header}>\n\t\t\t\t\t{prefixSlot}\n\t\t\t\t\t{this.collapsible ? (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tid={triggerId}\n\t\t\t\t\t\t\tclass={this.h.classes(WizardItemClass.label)}\n\t\t\t\t\t\t\taria-expanded={booleanString(this.isExpanded)}\n\t\t\t\t\t\t\taria-controls={this.contentId}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggle()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class={WizardItemClass.headline}>\n\t\t\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t\t\t\t{this.collapsible && <gov-icon class={WizardItemClass.chevron} name=\"chevron-down\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"annotation\"/>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Tag class={this.h.classes(WizardItemClass.label)}>\n\t\t\t\t\t\t\t<span class={WizardItemClass.headline}>\n\t\t\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t\t\t\t{this.collapsible && <gov-icon class={WizardItemClass.chevron} name=\"chevron-down\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"annotation\"/>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.collapsible ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={WizardItemClass.content}\n\t\t\t\t\t\tid={this.contentId}\n\t\t\t\t\t\taria-hidden={booleanString(!this.isExpanded)}\n\t\t\t\t\t\thidden={!this.isExpanded}\n\t\t\t\t\t\taria-labelledby={triggerId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div class={WizardItemClass.content}\n\t\t\t\t\t\t aria-hidden={booleanString(!this.isExpanded)}\n\t\t\t\t\t\t hidden={!this.isExpanded}\n\t\t\t\t\t>\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 Wizard\n\t */\n\t@Method()\n\tasync open(): Promise<void> {\n\t\tthis.isExpanded = true\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Closing the Wizard\n\t */\n\t@Method()\n\tpublic async close(): Promise<void> {\n\t\tthis.isExpanded = false\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Wizard switch\n\t */\n\t@Method()\n\tpublic async toggle(): Promise<void> {\n\t\tthis.isExpanded = !this.isExpanded\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tpublic async currentState(): Promise<boolean> {\n\t\treturn this.isExpanded\n\t}\n}\n"],"mappings":"gUAQA,IAAKA,GAAL,SAAKA,GACJA,EAAA,aACAA,EAAA,kBACA,EAHD,CAAKA,MAGJ,K,MAKYC,EAAa,MAMzB,WAAAC,CAAAC,G,8CAFQC,KAAQC,SAAG,MAYFD,KAAKE,MAAqB,UAI1BF,KAAIG,KAAqB,IAQzBH,KAAWI,YAAY,MAIvBJ,KAAQK,SAAY,MAIcL,KAAUM,WAAG,MA7B/DN,KAAKO,EAAIC,EAAQR,KAAKS,MACtBT,KAAKU,UAAYC,EAAS,iBAC1BX,KAAKY,UAAYD,EAAS,mBAC1B,CAiCO,aAAAE,CAAcC,GACrBC,EAAaC,EAAcF,EAAUG,EAAgBC,K,CAG9C,WAAAC,GACPnB,KAAKoB,UAAUC,KAAK,CAAEC,SAAUtB,KAAKM,WAAYiB,UAAWN,EAAgBC,M,CAG7E,iBAAAM,GACCxB,KAAKa,cAAcb,KAAKE,M,CAGzB,iBAAAuB,GACCzB,KAAKC,SAAW,I,CAGjB,MAAAyB,GACC,MAAMhB,EAAYV,KAAK2B,YAAc3B,KAAKU,UAC1C,MAAMkB,EAAM5B,KAAKI,YAAcR,EAAKiC,OAASjC,EAAKkC,IAClD,MAAMC,EAAa/B,KAAKO,EAAEyB,QAAQ,WAAczB,EAAA,QAAA0B,IAAA,2CAAMC,MAAOjB,EAAgBkB,QAAQ5B,EAAA,QAAA0B,IAAA,2CAAMG,KAAK,YAEhG,OACC7B,EAAC8B,EAAI,CAAAJ,IAAA,2CAACC,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgBC,MAAK,cACjClB,KAAKM,WAClBJ,MAAOF,KAAKE,MACZC,KAAMH,KAAKG,KACXoC,KAAK,WACLnC,YAAaJ,KAAKI,YAClBH,SAAUD,KAAKC,UACjBM,EAAA,OAAA0B,IAAA,2CAAKC,MAAOjB,EAAgBuB,QAC1BT,EACA/B,KAAKI,YACLG,EAACqB,EACA,CAAAa,GAAI/B,EACJwB,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgByB,OACvB,gBAAAC,EAAc3C,KAAKM,YACnB,gBAAAN,KAAKY,UACpBP,SAAUL,KAAKK,SAAQ,gBACRuC,EAAoB5C,KAAKK,UACxCwC,QAAUC,IACTA,EAAEC,iBACFD,EAAEE,kBACFhD,KAAKiD,QAAQ,GAGd1C,EAAA,QAAM2B,MAAOjB,EAAgBiC,UAC5B3C,EAAM,QAAA6B,KAAK,aACVpC,KAAKI,aAAeG,EAAA,YAAU2B,MAAOjB,EAAgBkC,QAASf,KAAK,eAAegB,KAAK,gBAEzF7C,EAAM,QAAA6B,KAAK,gBAGZ7B,EAACqB,EAAG,CAACM,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgByB,QAC1CnC,EAAA,QAAM2B,MAAOjB,EAAgBiC,UAC5B3C,EAAM,QAAA6B,KAAK,aACVpC,KAAKI,aAAeG,EAAA,YAAU2B,MAAOjB,EAAgBkC,QAASf,KAAK,eAAegB,KAAK,gBAEzF7C,EAAA,QAAM6B,KAAK,iBAIbpC,KAAKI,YACLG,EAAA,OACC2B,MAAOjB,EAAgBoC,QACvBZ,GAAIzC,KAAKY,UAAS,cACL+B,GAAe3C,KAAKM,YACjCgD,QAAStD,KAAKM,WAAU,kBACPI,GAEjBH,EAAQ,cAGTA,EAAA,OAAK2B,MAAOjB,EAAgBoC,QAAO,cACpBV,GAAe3C,KAAKM,YACjCgD,QAAStD,KAAKM,YAEfC,EAAA,c,CAWL,UAAMgD,GACLvD,KAAKM,WAAa,KAClBN,KAAKmB,a,CAOC,WAAMqC,GACZxD,KAAKM,WAAa,MAClBN,KAAKmB,a,CAOC,YAAM8B,GACZjD,KAAKM,YAAcN,KAAKM,WACxBN,KAAKmB,a,CAOC,kBAAMsC,GACZ,OAAOzD,KAAKM,U","ignoreList":[]}
1
+ {"version":3,"names":["Tags","GovWizardItem","constructor","hostRef","this","hydrated","color","size","collapsible","disabled","isExpanded","h","govHost","host","triggerId","createID","contentId","validateColor","newValue","validateProp","WizardColors","WizardItemClass","root","emmitChange","govChange","emit","expanded","component","componentWillLoad","connectedCallback","render","identifier","Tag","BUTTON","DIV","prefixSlot","hasSlot","key","class","prefix","name","Host","classes","role","header","id","label","booleanString","toBoolAttrIfDefined","onClick","e","preventDefault","stopPropagation","toggle","headline","chevron","type","content","hidden","open","close","currentState"],"sources":["../../../packages/core/src/components/gov-wizard/gov-wizard-item.tsx"],"sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from \"@stencil/core\"\nimport { validateProp } from \"../../helpers/Validate/props\"\nimport { WizardSizesType, WizardColors, WizardColorType, WizardItemClass } from \"./constants\"\nimport { createID } from \"../../utils/string.utils\"\nimport { booleanString, govHost, toBoolAttrIfDefined } from \"../../helpers/Dom/template\"\nimport { GovHost } from \"../../helpers/Dom/template.types\"\nimport { WizardItemEvent } from \"./gov-wizard-item.types\"\n\nenum Tags {\n\tDIV = \"div\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-wizard-item\",\n})\nexport class GovWizardItem {\n\tprivate h: GovHost\n\tprivate readonly triggerId: string\n\tprivate readonly contentId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.triggerId = createID(\"GovWizardItem\")\n\t\tthis.contentId = createID(\"GovWizardContent\")\n\t}\n\n\t@Element() readonly host: HTMLGovWizardItemElement\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly color?: WizardColorType = \"primary\"\n\t/**\n\t * Size of wizard\n\t */\n\t@Prop() readonly size?: WizardSizesType = \"m\"\n\t/**\n\t * Custom wizard item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Defines weather the wizard item can be collapsible\n\t */\n\t@Prop() readonly collapsible: boolean = false\n\t/**\n\t * Makes the wizard component disabled.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Defines whether the accordion is open or closed by button\n\t */\n\t@Prop({ attribute: \"is-expanded\", mutable: true }) isExpanded = false\n\t/**\n\t * Called when the accordion state changes\n\t */\n\t@Event({ eventName: \"gov-change\" }) govChange: EventEmitter<WizardItemEvent>\n\n\t@Watch(\"color\")\n\tprivate validateColor(newValue: string): void {\n\t\tvalidateProp(WizardColors, newValue, WizardItemClass.root)\n\t}\n\n\tprivate emmitChange(): void {\n\t\tthis.govChange.emit({ expanded: this.isExpanded, component: WizardItemClass.root })\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst triggerId = this.identifier || this.triggerId\n\t\tconst Tag = this.collapsible ? Tags.BUTTON : Tags.DIV\n\t\tconst prefixSlot = this.h.hasSlot(\"prefix\") && (<span class={WizardItemClass.prefix}><slot name=\"prefix\" /></span>)\n\n\t\treturn (\n\t\t\t<Host class={this.h.classes(WizardItemClass.root)}\n\t\t\t\t is-expanded={this.isExpanded}\n\t\t\t\t color={this.color}\n\t\t\t\t size={this.size}\n\t\t\t\t role=\"listitem\"\n\t\t\t\t collapsible={this.collapsible}\n\t\t\t\t hydrated={this.hydrated}>\n\t\t\t\t<div class={WizardItemClass.header}>\n\t\t\t\t\t{prefixSlot}\n\t\t\t\t\t{this.collapsible ? (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tid={triggerId}\n\t\t\t\t\t\t\tclass={this.h.classes(WizardItemClass.label)}\n\t\t\t\t\t\t\taria-expanded={booleanString(this.isExpanded)}\n\t\t\t\t\t\t\taria-controls={this.contentId}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggle()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class={WizardItemClass.headline}>\n\t\t\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t\t\t\t{this.collapsible && <gov-icon class={WizardItemClass.chevron} name=\"chevron-down\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"annotation\"/>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Tag class={this.h.classes(WizardItemClass.label)}>\n\t\t\t\t\t\t\t<span class={WizardItemClass.headline}>\n\t\t\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t\t\t\t{this.collapsible && <gov-icon class={WizardItemClass.chevron} name=\"chevron-down\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<slot name=\"annotation\"/>\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.collapsible ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={WizardItemClass.content}\n\t\t\t\t\t\tid={this.contentId}\n\t\t\t\t\t\taria-hidden={booleanString(!this.isExpanded)}\n\t\t\t\t\t\thidden={!this.isExpanded}\n\t\t\t\t\t\taria-labelledby={triggerId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div class={WizardItemClass.content}\n\t\t\t\t\t\t aria-hidden={booleanString(!this.isExpanded)}\n\t\t\t\t\t\t hidden={!this.isExpanded}\n\t\t\t\t\t>\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 Wizard\n\t */\n\t@Method()\n\tasync open(): Promise<void> {\n\t\tthis.isExpanded = true\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Closing the Wizard\n\t */\n\t@Method()\n\tpublic async close(): Promise<void> {\n\t\tthis.isExpanded = false\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Wizard switch\n\t */\n\t@Method()\n\tpublic async toggle(): Promise<void> {\n\t\tthis.isExpanded = !this.isExpanded\n\t\tthis.emmitChange()\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tpublic async currentState(): Promise<boolean> {\n\t\treturn this.isExpanded\n\t}\n}\n"],"mappings":"gUAQA,IAAKA,GAAL,SAAKA,GACJA,EAAA,aACAA,EAAA,kBACA,EAHD,CAAKA,MAAI,K,MAQIC,EAAa,MAMzB,WAAAC,CAAAC,G,8CAFQC,KAAAC,SAAW,MAYFD,KAAAE,MAA0B,UAI1BF,KAAAG,KAAyB,IAQzBH,KAAAI,YAAuB,MAIvBJ,KAAAK,SAAoB,MAIcL,KAAAM,WAAa,MA7B/DN,KAAKO,EAAIC,EAAQR,KAAKS,MACtBT,KAAKU,UAAYC,EAAS,iBAC1BX,KAAKY,UAAYD,EAAS,mBAC1B,CAiCO,aAAAE,CAAcC,GACrBC,EAAaC,EAAcF,EAAUG,EAAgBC,K,CAG9C,WAAAC,GACPnB,KAAKoB,UAAUC,KAAK,CAAEC,SAAUtB,KAAKM,WAAYiB,UAAWN,EAAgBC,M,CAG7E,iBAAAM,GACCxB,KAAKa,cAAcb,KAAKE,M,CAGzB,iBAAAuB,GACCzB,KAAKC,SAAW,I,CAGjB,MAAAyB,GACC,MAAMhB,EAAYV,KAAK2B,YAAc3B,KAAKU,UAC1C,MAAMkB,EAAM5B,KAAKI,YAAcR,EAAKiC,OAASjC,EAAKkC,IAClD,MAAMC,EAAa/B,KAAKO,EAAEyB,QAAQ,WAAczB,EAAA,QAAA0B,IAAA,2CAAMC,MAAOjB,EAAgBkB,QAAQ5B,EAAA,QAAA0B,IAAA,2CAAMG,KAAK,YAEhG,OACC7B,EAAC8B,EAAI,CAAAJ,IAAA,2CAACC,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgBC,MAAK,cACjClB,KAAKM,WAClBJ,MAAOF,KAAKE,MACZC,KAAMH,KAAKG,KACXoC,KAAK,WACLnC,YAAaJ,KAAKI,YAClBH,SAAUD,KAAKC,UACjBM,EAAA,OAAA0B,IAAA,2CAAKC,MAAOjB,EAAgBuB,QAC1BT,EACA/B,KAAKI,YACLG,EAACqB,EAAG,CACHa,GAAI/B,EACJwB,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgByB,OAAM,gBAC7BC,EAAc3C,KAAKM,YAAW,gBAC9BN,KAAKY,UACpBP,SAAUL,KAAKK,SAAQ,gBACRuC,EAAoB5C,KAAKK,UACxCwC,QAAUC,IACTA,EAAEC,iBACFD,EAAEE,kBACFhD,KAAKiD,QAAQ,GAGd1C,EAAA,QAAM2B,MAAOjB,EAAgBiC,UAC5B3C,EAAA,QAAM6B,KAAK,aACVpC,KAAKI,aAAeG,EAAA,YAAU2B,MAAOjB,EAAgBkC,QAASf,KAAK,eAAegB,KAAK,gBAEzF7C,EAAA,QAAM6B,KAAK,gBAGZ7B,EAACqB,EAAG,CAACM,MAAOlC,KAAKO,EAAE+B,QAAQrB,EAAgByB,QAC1CnC,EAAA,QAAM2B,MAAOjB,EAAgBiC,UAC5B3C,EAAA,QAAM6B,KAAK,aACVpC,KAAKI,aAAeG,EAAA,YAAU2B,MAAOjB,EAAgBkC,QAASf,KAAK,eAAegB,KAAK,gBAEzF7C,EAAA,QAAM6B,KAAK,iBAIbpC,KAAKI,YACLG,EAAA,OACC2B,MAAOjB,EAAgBoC,QACvBZ,GAAIzC,KAAKY,UAAS,cACL+B,GAAe3C,KAAKM,YACjCgD,QAAStD,KAAKM,WAAU,kBACPI,GAEjBH,EAAA,cAGDA,EAAA,OAAK2B,MAAOjB,EAAgBoC,QAAO,cACpBV,GAAe3C,KAAKM,YACjCgD,QAAStD,KAAKM,YAEfC,EAAA,c,CAWL,UAAMgD,GACLvD,KAAKM,WAAa,KAClBN,KAAKmB,a,CAOC,WAAMqC,GACZxD,KAAKM,WAAa,MAClBN,KAAKmB,a,CAOC,YAAM8B,GACZjD,KAAKM,YAAcN,KAAKM,WACxBN,KAAKmB,a,CAOC,kBAAMsC,GACZ,OAAOzD,KAAKM,U","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-ClISz4NF.js";import{v as o}from"./p-NOJjz9dT.js";import{b as n,B as h,c as r,N as c}from"./p-Bo1ROm5Q.js";import{g as l,t as d}from"./p-CoD1xawt.js";import{S as f}from"./p-BcQO4NH2.js";import{v as p}from"./p-CDIRBJsi.js";import{c as b}from"./p-CgDnDrq5.js";import{d as m}from"./p-CQvUntGY.js";import{i as v}from"./p-CzXeijOj.js";import{A as u,a as y}from"./p-Bz_RzYFb.js";import"./p-U40vKHrs.js";import"./p-vN03FcXN.js";import"./p-DNztiAH0.js";function g(t){if(typeof t==="string"){return["true","True","TRUE","1"].indexOf(t)!==-1}else if(typeof t==="number"){return t>0}else if(typeof t==="boolean"){return t}else{return t?true:false}}var j;(function(t){t["A"]="a";t["BUTTON"]="button"})(j||(j={}));const C=class{constructor(s){t(this,s);this.govClick=i(this,"gov-click");this.govFocus=i(this,"gov-focus");this.govBlur=i(this,"gov-blur");this.hydrated=false;this.size="m";this.expanded=false;this.expandedMobile=false;this.disabled=false;this.nativeType="button";this.tab=0;this.focusable=true;this.inheritedAttributes={};this.h=l(this.host)}validateColor(t){o(h,t,n.root)}validateType(t){o(r,t,n.root)}validateSize(t){o(f,t,n.root)}validateNativeType(t){o(c,t,n.root)}componentDidLoad(){this.attributeObserver=new u(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(y)}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}componentWillLoad(){this.validateColor(this.color);this.validateType(this.type);this.validateSize(this.size);this.validateNativeType(this.nativeType);this.inheritedAttributes=v(this.host)}async componentDidRender(){if(b()){await m(500);await this.validateAccessibility()}}connectedCallback(){this.hydrated=true}render(){const t=this.href?j.A:j.BUTTON;const i=t===j.A?undefined:this.nativeType;return s(e,{key:"be41c5da0a82fa7c16239527bc720510de8ecbd5",size:this.size,hydrated:this.hydrated,color:this.color,class:this.h.classes(n.root),type:this.type},s(t,Object.assign({key:"c46f9288bccd35208999be6e0b3fbdc53097e9eb",class:"element",ref:t=>this.triggerRef=t,onClick:this.onClickHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),disabled:this.disabled,id:this.identifier,href:this.href,target:this.target,download:this.download,hreflang:this.hreflang,rel:this.rel,name:this.name,type:i,tabindex:this.disabled?"-1":this.tab},this.inheritedAttributes,{"aria-disabled":d(this.disabled)}),g(this.loading)&&!this.h.hasSlot("icon-end")&&s("gov-icon",{key:"051f379ac0f6095662027cb21aa97167d641aeb9",name:"loader",class:"gov-spin-animation",type:"components"}),this.h.hasSlot("icon-start")&&s("slot",{key:"f727f494903fa51f278cf7bbd4045dff83bf735d",name:"icon-start"}),s("slot",{key:"dfb09a744c1ef48ef8fd5af7e833b28cf4138d89"}),this.h.hasSlot("icon-end")&&s("slot",{key:"1d81872f18bf2c66af51eb327b45cd102dec9ec9",name:"icon-end"}),g(this.loading)&&this.h.hasSlot("icon-end")&&s("gov-icon",{key:"288d436dbc423b0a02701a0c7764b46f2957d7f4",name:"loader",class:"gov-spin-animation",type:"components"})))}onClickHandler(t){t.stopPropagation();if(this.disabled===false){this.govClick.emit({component:n.root,originalEvent:t,ref:this.host})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:n.root,originalEvent:t,ref:this.host})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:n.root,originalEvent:t,ref:this.host})}async setFocus(){this.triggerRef.focus()}async getRef(){return this.triggerRef}async validateAccessibility(){if(this.focusable){p(this.triggerRef.getAttribute("aria-label"),this.triggerRef.getAttribute("aria-labelledby"),n.root,this.host)}}get host(){return a(this)}static get watchers(){return{color:["validateColor"],type:["validateType"],size:["validateSize"],nativeType:["validateNativeType"]}}};export{C as gov_button};
2
- //# sourceMappingURL=p-eb766437.entry.js.map
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-B8TR1oqt.js";import{v as o}from"./p-NOJjz9dT.js";import{b as n,B as h,c as r,N as c}from"./p-Bo1ROm5Q.js";import{g as l,t as d}from"./p-CoD1xawt.js";import{S as f}from"./p-BcQO4NH2.js";import{v as p}from"./p-CDIRBJsi.js";import{c as b}from"./p-CgDnDrq5.js";import{d as m}from"./p-CQvUntGY.js";import{i as v}from"./p-CzXeijOj.js";import{A as u,a as y}from"./p-Bz_RzYFb.js";import"./p-U40vKHrs.js";import"./p-vN03FcXN.js";import"./p-DNztiAH0.js";function g(t){if(typeof t==="string"){return["true","True","TRUE","1"].indexOf(t)!==-1}else if(typeof t==="number"){return t>0}else if(typeof t==="boolean"){return t}else{return t?true:false}}var j;(function(t){t["A"]="a";t["BUTTON"]="button"})(j||(j={}));const k=class{constructor(s){t(this,s);this.govClick=i(this,"gov-click");this.govFocus=i(this,"gov-focus");this.govBlur=i(this,"gov-blur");this.hydrated=false;this.size="m";this.expanded=false;this.expandedMobile=false;this.disabled=false;this.nativeType="button";this.tab=0;this.focusable=true;this.inheritedAttributes={};this.h=l(this.host)}validateColor(t){o(h,t,n.root)}validateType(t){o(r,t,n.root)}validateSize(t){o(f,t,n.root)}validateNativeType(t){o(c,t,n.root)}componentDidLoad(){this.attributeObserver=new u(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(y)}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}disconnectedCallback(){var t;(t=this.attributeObserver)===null||t===void 0?void 0:t.stopObserving()}componentWillLoad(){this.validateColor(this.color);this.validateType(this.type);this.validateSize(this.size);this.validateNativeType(this.nativeType);this.inheritedAttributes=v(this.host)}async componentDidRender(){if(b()){await m(500);await this.validateAccessibility()}}connectedCallback(){this.hydrated=true}render(){const t=this.href?j.A:j.BUTTON;const i=t===j.A?undefined:this.nativeType;return s(e,{key:"be41c5da0a82fa7c16239527bc720510de8ecbd5",size:this.size,hydrated:this.hydrated,color:this.color,class:this.h.classes(n.root),type:this.type},s(t,Object.assign({key:"c46f9288bccd35208999be6e0b3fbdc53097e9eb",class:"element",ref:t=>this.triggerRef=t,onClick:this.onClickHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),disabled:this.disabled,id:this.identifier,href:this.href,target:this.target,download:this.download,hreflang:this.hreflang,rel:this.rel,name:this.name,type:i,tabindex:this.disabled?"-1":this.tab},this.inheritedAttributes,{"aria-disabled":d(this.disabled)}),g(this.loading)&&!this.h.hasSlot("icon-end")&&s("gov-icon",{key:"051f379ac0f6095662027cb21aa97167d641aeb9",name:"loader",class:"gov-spin-animation",type:"components"}),this.h.hasSlot("icon-start")&&s("slot",{key:"f727f494903fa51f278cf7bbd4045dff83bf735d",name:"icon-start"}),s("slot",{key:"dfb09a744c1ef48ef8fd5af7e833b28cf4138d89"}),this.h.hasSlot("icon-end")&&s("slot",{key:"1d81872f18bf2c66af51eb327b45cd102dec9ec9",name:"icon-end"}),g(this.loading)&&this.h.hasSlot("icon-end")&&s("gov-icon",{key:"288d436dbc423b0a02701a0c7764b46f2957d7f4",name:"loader",class:"gov-spin-animation",type:"components"})))}onClickHandler(t){t.stopPropagation();if(this.disabled===false){this.govClick.emit({component:n.root,originalEvent:t,ref:this.host})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:n.root,originalEvent:t,ref:this.host})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:n.root,originalEvent:t,ref:this.host})}async setFocus(){this.triggerRef.focus()}async getRef(){return this.triggerRef}async validateAccessibility(){if(this.focusable){p(this.triggerRef.getAttribute("aria-label"),this.triggerRef.getAttribute("aria-labelledby"),n.root,this.host)}}get host(){return a(this)}static get watchers(){return{color:[{validateColor:0}],type:[{validateType:0}],size:[{validateSize:0}],nativeType:[{validateNativeType:0}]}}};export{k as gov_button};
2
+ //# sourceMappingURL=p-80052953.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["toBool","value","indexOf","Tags","GovButton","constructor","hostRef","this","hydrated","size","expanded","expandedMobile","disabled","nativeType","tab","focusable","inheritedAttributes","h","govHost","host","validateColor","newValue","validateProp","ButtonColors","ButtonClass","root","validateType","ButtonType","validateSize","Sizes","validateNativeType","NativeType","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","removeAttribute","Object","assign","disconnectedCallback","_a","stopObserving","componentWillLoad","color","type","inheritAriaAttributes","componentDidRender","canValidateWcagOnRender","delay","validateAccessibility","connectedCallback","render","Tag","href","A","BUTTON","undefined","Host","key","class","classes","ref","el","triggerRef","onClick","onClickHandler","bind","onFocus","onFocusHandler","onBlur","onBlurHandler","id","identifier","target","download","hreflang","rel","name","tabindex","toBoolAttrIfDefined","loading","hasSlot","e","stopPropagation","govClick","emit","component","originalEvent","govFocus","govBlur","setFocus","focus","getRef","validateAccessibleLabel","getAttribute"],"sources":["../../../packages/core/src/utils/bool.utils.ts","../../../packages/core/src/components/gov-button/button/gov-button.tsx"],"sourcesContent":["export function toBool(value: any): boolean {\n\tif (typeof value === 'string') {\n\t\treturn ['true', 'True', 'TRUE', '1'].indexOf(value) !== -1\n\t} else if (typeof value === 'number') {\n\t\treturn value > 0\n\t} else if (typeof value === 'boolean') {\n\t\treturn value\n\t} else {\n\t\treturn value ? true : false\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {\n\tButtonClass,\n\tButtonColors,\n\tButtonColorType,\n\tButtonSizesType,\n\tButtonTargetType,\n\tButtonType,\n\tButtonTypesType,\n\tNativeType,\n\tNativeTypesType,\n} from \"./constants\"\nimport {govHost, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {toBool} from \"../../../utils/bool.utils\"\nimport {Sizes} from \"../../../core/constants/sizes\"\nimport {validateAccessibleLabel} from \"../../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../../helpers/Dom/win\"\nimport {delay} from \"../../../utils/utils\"\nimport {ButtonEvent} from \"./gov-button.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\n\nenum Tags {\n\tA = \"a\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-button\",\n})\nexport class GovButton {\n\tprivate h: GovHost\n\tprivate triggerRef?: HTMLButtonElement | HTMLLinkElement\n\tprivate attributeObserver: AttributeObserver\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Style variation of the button\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType\n\t/**\n\t * Button’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: ButtonSizesType = \"m\"\n\t/**\n\t * Button's type\n\t */\n\t@Prop({reflect: true}) readonly type: ButtonTypesType\n\t/**\n\t * Expands the button to fill 100% of the container width\n\t */\n\t@Prop({reflect: true}) readonly expanded: boolean = false\n\t/**\n\t * Expands the button to fill 100% of the container width only on mobile\n\t */\n\t@Prop({reflect: true, attribute: \"expanded-mobile\"}) readonly expandedMobile: boolean = false\n\t/**\n\t * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute\n\t */\n\t@Prop() readonly name: 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({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\n\t */\n\t@Prop() readonly nativeType?: NativeTypesType = \"button\"\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 * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly download: boolean\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly tab: number = 0\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-hreflang\n\t */\n\t@Prop() readonly hreflang: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-referrerpolicy\n\t */\n\t@Prop() readonly referrerpolicy: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel\n\t */\n\t@Prop() readonly rel: string\n\t/**\n\t * Indicates whether an asynchronous process is running\n\t */\n\t@Prop() readonly loading: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable\n\t */\n\t@Prop() readonly focusable: boolean = true\n\t/**\n\t * Custom button identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Emitted when the button click\n\t */\n\t@Event({eventName: \"gov-click\"}) govClick: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button has focus\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button loses focus\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<ButtonEvent>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(ButtonType, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"nativeType\")\n\tvalidateNativeType(newValue: string): void {\n\t\tvalidateProp(NativeType, newValue, ButtonClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateType(this.type)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateNativeType(this.nativeType)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateAccessibility()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst Tag = this.href ? Tags.A : Tags.BUTTON\n\t\tconst nativeType = Tag === Tags.A ? undefined : this.nativeType\n\n\t\treturn (\n\t\t\t<Host size={this.size}\n\t\t\t\t hydrated={this.hydrated}\n\t\t\t\t color={this.color}\n\t\t\t\t class={this.h.classes(ButtonClass.root)}\n\t\t\t\t type={this.type}>\n\t\t\t\t<Tag\n\t\t\t\t\tclass=\"element\"\n\t\t\t\t\tref={el => (this.triggerRef = el as HTMLButtonElement | HTMLLinkElement)}\n\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tid={this.identifier}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t\tdownload={this.download}\n\t\t\t\t\threflang={this.hreflang}\n\t\t\t\t\trel={this.rel}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\ttype={nativeType}\n\t\t\t\t\ttabindex={this.disabled ? \"-1\" : this.tab}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t>\n\t\t\t\t\t{toBool(this.loading) && !this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.h.hasSlot(\"icon-start\") && <slot name=\"icon-start\"></slot>}\n\t\t\t\t\t<slot/>\n\t\t\t\t\t{this.h.hasSlot(\"icon-end\") && <slot name=\"icon-end\"></slot>}\n\t\t\t\t\t{toBool(this.loading) && this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent): void {\n\t\te.stopPropagation()\n\t\tif (this.disabled === false) {\n\t\t\tthis.govClick.emit({\n\t\t\t\tcomponent: ButtonClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\tref: this.host,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\t/**\n\t * Focus button element\n\t */\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.triggerRef.focus()\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getRef() {\n\t\treturn this.triggerRef\n\t}\n\n\t/**\n\t * Validate the Accessibility attributes of the component\n\t */\n\t@Method()\n\tasync validateAccessibility(): Promise<void> {\n\t\tif (this.focusable) {\n\t\t\tvalidateAccessibleLabel(this.triggerRef.getAttribute('aria-label'), this.triggerRef.getAttribute('aria-labelledby'), ButtonClass.root, this.host)\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toBool","value","indexOf","Tags","GovButton","constructor","hostRef","this","hydrated","size","expanded","expandedMobile","disabled","nativeType","tab","focusable","inheritedAttributes","h","govHost","host","validateColor","newValue","validateProp","ButtonColors","ButtonClass","root","validateType","ButtonType","validateSize","Sizes","validateNativeType","NativeType","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","removeAttribute","Object","assign","disconnectedCallback","_a","stopObserving","componentWillLoad","color","type","inheritAriaAttributes","componentDidRender","canValidateWcagOnRender","delay","validateAccessibility","connectedCallback","render","Tag","href","A","BUTTON","undefined","Host","key","class","classes","ref","el","triggerRef","onClick","onClickHandler","bind","onFocus","onFocusHandler","onBlur","onBlurHandler","id","identifier","target","download","hreflang","rel","name","tabindex","toBoolAttrIfDefined","loading","hasSlot","e","stopPropagation","govClick","emit","component","originalEvent","govFocus","govBlur","setFocus","focus","getRef","validateAccessibleLabel","getAttribute"],"sources":["../../../packages/core/src/utils/bool.utils.ts","../../../packages/core/src/components/gov-button/button/gov-button.tsx"],"sourcesContent":["export function toBool(value: any): boolean {\n\tif (typeof value === 'string') {\n\t\treturn ['true', 'True', 'TRUE', '1'].indexOf(value) !== -1\n\t} else if (typeof value === 'number') {\n\t\treturn value > 0\n\t} else if (typeof value === 'boolean') {\n\t\treturn value\n\t} else {\n\t\treturn value ? true : false\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {\n\tButtonClass,\n\tButtonColors,\n\tButtonColorType,\n\tButtonSizesType,\n\tButtonTargetType,\n\tButtonType,\n\tButtonTypesType,\n\tNativeType,\n\tNativeTypesType,\n} from \"./constants\"\nimport {govHost, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {toBool} from \"../../../utils/bool.utils\"\nimport {Sizes} from \"../../../core/constants/sizes\"\nimport {validateAccessibleLabel} from \"../../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../../helpers/Dom/win\"\nimport {delay} from \"../../../utils/utils\"\nimport {ButtonEvent} from \"./gov-button.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\n\nenum Tags {\n\tA = \"a\",\n\tBUTTON = \"button\",\n}\n\n@Component({\n\ttag: \"gov-button\",\n})\nexport class GovButton {\n\tprivate h: GovHost\n\tprivate triggerRef?: HTMLButtonElement | HTMLLinkElement\n\tprivate attributeObserver: AttributeObserver\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Style variation of the button\n\t */\n\t@Prop({reflect: true}) readonly color: ButtonColorType\n\t/**\n\t * Button’s size\n\t */\n\t@Prop({reflect: true}) readonly size?: ButtonSizesType = \"m\"\n\t/**\n\t * Button's type\n\t */\n\t@Prop({reflect: true}) readonly type: ButtonTypesType\n\t/**\n\t * Expands the button to fill 100% of the container width\n\t */\n\t@Prop({reflect: true}) readonly expanded: boolean = false\n\t/**\n\t * Expands the button to fill 100% of the container width only on mobile\n\t */\n\t@Prop({reflect: true, attribute: \"expanded-mobile\"}) readonly expandedMobile: boolean = false\n\t/**\n\t * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute\n\t */\n\t@Prop() readonly name: 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({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\n\t */\n\t@Prop() readonly nativeType?: NativeTypesType = \"button\"\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 * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n\t */\n\t@Prop() readonly target?: ButtonTargetType\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly download: boolean\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n\t */\n\t@Prop() readonly tab: number = 0\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-hreflang\n\t */\n\t@Prop() readonly hreflang: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-referrerpolicy\n\t */\n\t@Prop() readonly referrerpolicy: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-rel\n\t */\n\t@Prop() readonly rel: string\n\t/**\n\t * Indicates whether an asynchronous process is running\n\t */\n\t@Prop() readonly loading: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/focusable\n\t */\n\t@Prop() readonly focusable: boolean = true\n\t/**\n\t * Custom button identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Emitted when the button click\n\t */\n\t@Event({eventName: \"gov-click\"}) govClick: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button has focus\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<ButtonEvent>\n\t/**\n\t * Emitted when the button loses focus\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<ButtonEvent>\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(ButtonColors, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(ButtonType, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, ButtonClass.root)\n\t}\n\n\t@Watch(\"nativeType\")\n\tvalidateNativeType(newValue: string): void {\n\t\tvalidateProp(NativeType, newValue, ButtonClass.root)\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateType(this.type)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateNativeType(this.nativeType)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateAccessibility()\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst Tag = this.href ? Tags.A : Tags.BUTTON\n\t\tconst nativeType = Tag === Tags.A ? undefined : this.nativeType\n\n\t\treturn (\n\t\t\t<Host size={this.size}\n\t\t\t\t hydrated={this.hydrated}\n\t\t\t\t color={this.color}\n\t\t\t\t class={this.h.classes(ButtonClass.root)}\n\t\t\t\t type={this.type}>\n\t\t\t\t<Tag\n\t\t\t\t\tclass=\"element\"\n\t\t\t\t\tref={el => (this.triggerRef = el as HTMLButtonElement | HTMLLinkElement)}\n\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tid={this.identifier}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t\tdownload={this.download}\n\t\t\t\t\threflang={this.hreflang}\n\t\t\t\t\trel={this.rel}\n\t\t\t\t\tname={this.name}\n\t\t\t\t\ttype={nativeType}\n\t\t\t\t\ttabindex={this.disabled ? \"-1\" : this.tab}\n\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t>\n\t\t\t\t\t{toBool(this.loading) && !this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.h.hasSlot(\"icon-start\") && <slot name=\"icon-start\"></slot>}\n\t\t\t\t\t<slot/>\n\t\t\t\t\t{this.h.hasSlot(\"icon-end\") && <slot name=\"icon-end\"></slot>}\n\t\t\t\t\t{toBool(this.loading) && this.h.hasSlot(\"icon-end\") &&\n\t\t\t\t\t\t<gov-icon name=\"loader\" class=\"gov-spin-animation\" type=\"components\"></gov-icon>}\n\t\t\t\t</Tag>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: PointerEvent): void {\n\t\te.stopPropagation()\n\t\tif (this.disabled === false) {\n\t\t\tthis.govClick.emit({\n\t\t\t\tcomponent: ButtonClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\tref: this.host,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: ButtonClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tref: this.host,\n\t\t})\n\t}\n\n\t/**\n\t * Focus button element\n\t */\n\t@Method()\n\tasync setFocus(): Promise<void> {\n\t\tthis.triggerRef.focus()\n\t}\n\n\t/**\n\t * Returns a clickable element instance\n\t */\n\t@Method()\n\tasync getRef() {\n\t\treturn this.triggerRef\n\t}\n\n\t/**\n\t * Validate the Accessibility attributes of the component\n\t */\n\t@Method()\n\tasync validateAccessibility(): Promise<void> {\n\t\tif (this.focusable) {\n\t\t\tvalidateAccessibleLabel(this.triggerRef.getAttribute('aria-label'), this.triggerRef.getAttribute('aria-labelledby'), ButtonClass.root, this.host)\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s,H as a,g as e}from"./p-ClISz4NF.js";import{p as i}from"./p-CQvUntGY.js";import{S as o}from"./p-BcQO4NH2.js";import{g as r}from"./p-CoD1xawt.js";import{v as c}from"./p-NOJjz9dT.js";import{a as d,b as n}from"./p-Cx3bEC5v.js";import"./p-CgDnDrq5.js";i(o,["_S","_M","_L"]);var m;(function(t){t["HORIZONTAL"]="horizontal";t["VERTICAL"]="vertical"})(m||(m={}));var p;(function(t){t["LEFT"]="left";t["CENTER"]="center";t["RIGHT"]="right"})(p||(p={}));const h={root:"gov-empty",content:"gov-empty__content"};const l=class{constructor(s){t(this,s);this.size="m";this.direction="vertical";this.align="left";this.h=r(this.host)}validateSize(t){c(n,t,d.root)}componentWillLoad(){this.validateSize(this.size)}render(){return s(a,{key:"2c08dd933beb17aa5695fd3c31f1a2981d553c6b",class:this.h.classes(h.root),size:this.size,direction:this.direction,align:this.align},this.h.hasSlot("icon")&&s("slot",{key:"dae092adf1a711edea387d531ecdd4f1afda0ba1",name:"icon"}),s("div",{key:"2487457ad864261648a488b513118785485ae23d",class:h.content},s("slot",{key:"0cb9198b589954b652c41cde4cf46e82d069d856",name:"headline"}),s("slot",{key:"d8935cc514b223f0ab536d8d9b7c5d8a23c2126a"})))}get host(){return e(this)}static get watchers(){return{size:["validateSize"]}}};export{l as gov_empty};
2
- //# sourceMappingURL=p-d43959a0.entry.js.map
1
+ import{r as t,h as s,H as a,g as e}from"./p-B8TR1oqt.js";import{p as i}from"./p-CQvUntGY.js";import{S as o}from"./p-BcQO4NH2.js";import{g as r}from"./p-CoD1xawt.js";import{v as c}from"./p-NOJjz9dT.js";import{a as d,b as n}from"./p-Cx3bEC5v.js";import"./p-CgDnDrq5.js";i(o,["_S","_M","_L"]);var m;(function(t){t["HORIZONTAL"]="horizontal";t["VERTICAL"]="vertical"})(m||(m={}));var p;(function(t){t["LEFT"]="left";t["CENTER"]="center";t["RIGHT"]="right"})(p||(p={}));const h={root:"gov-empty",content:"gov-empty__content"};const f=class{constructor(s){t(this,s);this.size="m";this.direction="vertical";this.align="left";this.h=r(this.host)}validateSize(t){c(n,t,d.root)}componentWillLoad(){this.validateSize(this.size)}render(){return s(a,{key:"2c08dd933beb17aa5695fd3c31f1a2981d553c6b",class:this.h.classes(h.root),size:this.size,direction:this.direction,align:this.align},this.h.hasSlot("icon")&&s("slot",{key:"dae092adf1a711edea387d531ecdd4f1afda0ba1",name:"icon"}),s("div",{key:"2487457ad864261648a488b513118785485ae23d",class:h.content},s("slot",{key:"0cb9198b589954b652c41cde4cf46e82d069d856",name:"headline"}),s("slot",{key:"d8935cc514b223f0ab536d8d9b7c5d8a23c2126a"})))}get host(){return e(this)}static get watchers(){return{size:[{validateSize:0}]}}};export{f as gov_empty};
2
+ //# sourceMappingURL=p-8ddb6dc6.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pick","Sizes","EmptyDirection","EmptyAlign","EmptyClass","root","content","GovEmpty","constructor","hostRef","this","size","direction","align","h","govHost","host","validateSize","newValue","validateProp","AccordionSizes","AccordionClass","componentWillLoad","render","Host","key","class","classes","hasSlot","name"],"sources":["../../../packages/core/src/components/gov-empty/constants.ts","../../../packages/core/src/components/gov-empty/gov-empty.tsx"],"sourcesContent":["import {pick} from \"../../utils/utils\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const EmptySizes = pick(Sizes, ['_S', '_M', '_L'])\nexport type EmptySizesType = `${ValueOf<typeof EmptySizes>}`\n\nexport enum EmptyDirection {\n\tHORIZONTAL = 'horizontal',\n\tVERTICAL = 'vertical',\n}\nexport type EmptyDirectionType = `${ValueOf<typeof EmptyDirection>}`\n\nexport enum EmptyAlign {\n\tLEFT = 'left',\n\tCENTER = 'center',\n\tRIGHT = 'right',\n}\nexport type EmptyAlignType = `${ValueOf<typeof EmptyAlign>}`\n\nexport const EmptyClass = {\n\troot: 'gov-empty',\n\tcontent: 'gov-empty__content',\n}\n","import {Component, Element, Host, h, Prop, Watch} from '@stencil/core'\nimport {EmptyAlignType, EmptyClass, EmptyDirectionType, EmptySizesType} from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {AccordionClass, AccordionSizes} from \"../gov-accordion/constants\";\n\n@Component({\n\ttag: 'gov-empty',\n})\nexport class GovEmpty {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovEmptyElement\n\t/**\n\t * Element size.\n\t */\n\t@Prop() readonly size?: EmptySizesType = 'm'\n\t/**\n\t * Element direction\n\t */\n\t@Prop() readonly direction: EmptyDirectionType = \"vertical\"\n\t/**\n\t * Element alignment.\n\t */\n\t@Prop() readonly align?: EmptyAlignType = \"left\"\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(AccordionSizes, newValue, AccordionClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(EmptyClass.root)}\n\t\t\t\t size={this.size}\n\t\t\t\t direction={this.direction}\n\t\t\t\t align={this.align}>\n\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t)}\n\t\t\t\t<div class={EmptyClass.content}>\n\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"4QAI0BA,EAAKC,EAAO,CAAC,KAAM,KAAM,OAGnD,IAAYC,GAAZ,SAAYA,GACXA,EAAA,2BACAA,EAAA,sBACA,EAHD,CAAYA,MAGX,KAGD,IAAYC,GAAZ,SAAYA,GACXA,EAAA,eACAA,EAAA,mBACAA,EAAA,gBACA,EAJD,CAAYA,MAIX,KAGM,MAAMC,EAAa,CACzBC,KAAM,YACNC,QAAS,sB,MCZGC,EAAQ,MAGpB,WAAAC,CAAAC,G,UAQiBC,KAAIC,KAAoB,IAIxBD,KAASE,UAAuB,WAIhCF,KAAKG,MAAoB,OAfzCH,KAAKI,EAAIC,EAAQL,KAAKM,KACtB,CAiBD,YAAAC,CAAaC,GACZC,EAAaC,EAAgBF,EAAUG,EAAehB,K,CAGvD,iBAAAiB,GACCZ,KAAKO,aAAaP,KAAKC,K,CAGxB,MAAAY,GACC,OACCT,EAACU,EAAI,CAAAC,IAAA,2CAACC,MAAOhB,KAAKI,EAAEa,QAAQvB,EAAWC,MACpCM,KAAMD,KAAKC,KACXC,UAAWF,KAAKE,UAChBC,MAAOH,KAAKG,OACbH,KAAKI,EAAEc,QAAQ,SACfd,EAAM,QAAAW,IAAA,2CAAAI,KAAK,SAEZf,EAAA,OAAAW,IAAA,2CAAKC,MAAOtB,EAAWE,SACtBQ,EAAM,QAAAW,IAAA,2CAAAI,KAAK,aACXf,EAAQ,QAAAW,IAAA,8C","ignoreList":[]}
1
+ {"version":3,"names":["pick","Sizes","EmptyDirection","EmptyAlign","EmptyClass","root","content","GovEmpty","constructor","hostRef","this","size","direction","align","h","govHost","host","validateSize","newValue","validateProp","AccordionSizes","AccordionClass","componentWillLoad","render","Host","key","class","classes","hasSlot","name"],"sources":["../../../packages/core/src/components/gov-empty/constants.ts","../../../packages/core/src/components/gov-empty/gov-empty.tsx"],"sourcesContent":["import {pick} from \"../../utils/utils\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const EmptySizes = pick(Sizes, ['_S', '_M', '_L'])\nexport type EmptySizesType = `${ValueOf<typeof EmptySizes>}`\n\nexport enum EmptyDirection {\n\tHORIZONTAL = 'horizontal',\n\tVERTICAL = 'vertical',\n}\nexport type EmptyDirectionType = `${ValueOf<typeof EmptyDirection>}`\n\nexport enum EmptyAlign {\n\tLEFT = 'left',\n\tCENTER = 'center',\n\tRIGHT = 'right',\n}\nexport type EmptyAlignType = `${ValueOf<typeof EmptyAlign>}`\n\nexport const EmptyClass = {\n\troot: 'gov-empty',\n\tcontent: 'gov-empty__content',\n}\n","import {Component, Element, Host, h, Prop, Watch} from '@stencil/core'\nimport {EmptyAlignType, EmptyClass, EmptyDirectionType, EmptySizesType} from './constants'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovHost } from '../../helpers/Dom/template.types'\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {AccordionClass, AccordionSizes} from \"../gov-accordion/constants\";\n\n@Component({\n\ttag: 'gov-empty',\n})\nexport class GovEmpty {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovEmptyElement\n\t/**\n\t * Element size.\n\t */\n\t@Prop() readonly size?: EmptySizesType = 'm'\n\t/**\n\t * Element direction\n\t */\n\t@Prop() readonly direction: EmptyDirectionType = \"vertical\"\n\t/**\n\t * Element alignment.\n\t */\n\t@Prop() readonly align?: EmptyAlignType = \"left\"\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(AccordionSizes, newValue, AccordionClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateSize(this.size)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(EmptyClass.root)}\n\t\t\t\t size={this.size}\n\t\t\t\t direction={this.direction}\n\t\t\t\t align={this.align}>\n\t\t\t\t{this.h.hasSlot('icon') && (\n\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t)}\n\t\t\t\t<div class={EmptyClass.content}>\n\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"4QAI0BA,EAAKC,EAAO,CAAC,KAAM,KAAM,OAGnD,IAAYC,GAAZ,SAAYA,GACXA,EAAA,2BACAA,EAAA,sBACA,EAHD,CAAYA,MAAc,KAM1B,IAAYC,GAAZ,SAAYA,GACXA,EAAA,eACAA,EAAA,mBACAA,EAAA,gBACA,EAJD,CAAYA,MAAU,KAOf,MAAMC,EAAa,CACzBC,KAAM,YACNC,QAAS,sB,MCZGC,EAAQ,MAGpB,WAAAC,CAAAC,G,UAQiBC,KAAAC,KAAwB,IAIxBD,KAAAE,UAAgC,WAIhCF,KAAAG,MAAyB,OAfzCH,KAAKI,EAAIC,EAAQL,KAAKM,KACtB,CAiBD,YAAAC,CAAaC,GACZC,EAAaC,EAAgBF,EAAUG,EAAehB,K,CAGvD,iBAAAiB,GACCZ,KAAKO,aAAaP,KAAKC,K,CAGxB,MAAAY,GACC,OACCT,EAACU,EAAI,CAAAC,IAAA,2CAACC,MAAOhB,KAAKI,EAAEa,QAAQvB,EAAWC,MACpCM,KAAMD,KAAKC,KACXC,UAAWF,KAAKE,UAChBC,MAAOH,KAAKG,OACbH,KAAKI,EAAEc,QAAQ,SACfd,EAAA,QAAAW,IAAA,2CAAMI,KAAK,SAEZf,EAAA,OAAAW,IAAA,2CAAKC,MAAOtB,EAAWE,SACtBQ,EAAA,QAAAW,IAAA,2CAAMI,KAAK,aACXf,EAAA,QAAAW,IAAA,8C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-ClISz4NF.js";import{g as o,a as c,c as d}from"./p-CoD1xawt.js";import{c as l}from"./p-CgDnDrq5.js";import{a as h}from"./p-CDIRBJsi.js";import{c as f}from"./p-vN03FcXN.js";import{t as n}from"./p-Cjg0wpDG.js";import"./p-CQvUntGY.js";import"./p-DNztiAH0.js";const b={root:"gov-dialog",dialog:"gov-dialog__dialog",inner:"gov-dialog__inner",header:"gov-dialog__header",title:"gov-dialog__title",content:"gov-dialog__content",close:"gov-dialog__close",footer:"gov-dialog__footer",bodyFix:"body-fixed"};function r(t){if(!t)return[];return Array.from(t.querySelectorAll('a[href], button:not([disabled]), textarea, input:not([type="hidden"]), select, [tabindex]:not([tabindex="-1"])'))}const g=class{constructor(s){t(this,s);this.govClose=i(this,"gov-close");this.hydrated=false;this.open=false;this.blockClose=false;this.blockBackdropClose=false;this.role="dialog";this.labelTag="h2";this.accessibleCloseLabel="Zavřít okno";this.h=o(this.host);this.labelId=f("GovDialogLabel");this.contentId=f("GovDialogContent")}watchOpen(t){var i;this.open=t;this.setFocus().finally();if(!t){(i=this.lastActiveElementRef)===null||i===void 0?void 0:i.focus()}else{this.focusTrap()}}showDialog(){this.open=true;document.body.classList.add(b.bodyFix)}hideDialog(){this.open=false;document.body.classList.remove(b.bodyFix)}async componentDidRender(){if(l()){n((()=>this.validateAccessibility()))}if(this.open){this.showDialog()}else{this.hideDialog()}}focusTrap(){var t;if(open&&this.dialogRef){this.lastActiveElementRef=document.activeElement;const t=r(this.dialogRef);if(t.length){t[0].focus()}const i=t=>{if(t.key==="Tab"&&this.dialogRef){const i=r(this.dialogRef);const s=i[0];const e=i[i.length-1];if(!t.shiftKey&&document.activeElement===e){t.preventDefault();s.focus()}if(t.shiftKey&&document.activeElement===s){t.preventDefault();e.focus()}}if(t.key==="Escape"){if(this.blockClose===false){this.hideDialog();this.govClose.emit()}}};document.addEventListener("keydown",i)}else{(t=this.lastActiveElementRef)===null||t===void 0?void 0:t.focus()}}connectedCallback(){this.hydrated=true}disconnectedCallback(){document.body.classList.remove(b.bodyFix)}render(){return s(e,{key:"1b4a7fbbf75675be26754a29aeadf8943af6e372",class:this.h.classes(b.root),open:this.open,hydrated:this.hydrated},s("dialog",{key:"75df8bc2428485b6bc5a2ed21f334ff897a26f19",ref:t=>this.dialogRef=t,class:b.dialog,hidden:!this.open,tabindex:d(this.open),open:this.open,"aria-modal":"true","aria-hidden":c(!this.open),"aria-labelledby":this.accessibleLabelledBy||this.labelId,"aria-describedby":this.accessibleDescribedBy||this.contentId,role:this.role},s("div",{key:"7a8c1ff8172fcb3e2e6ed342baf38018b7603b4c",class:b.inner},s("div",{key:"b84fec4ad89efe420beede090a20bfdff6f47457",class:b.header},this.h.hasSlot("icon")&&s("span",{key:"931cc48c446af90837a58bd83bfc30e9c54ad787"},s("slot",{key:"088523bcc3debf0144195c21faa89f9f5ab8dd31",name:"icon"})),this.h.hasSlot("title")&&s("span",{key:"d38ca38a8b269f5a4f18ea2c8b0d833ac1614f43",class:b.title,id:this.labelId},s("slot",{key:"7bdc841090ba66fb9dab50d3ae1af8308fd4dddb",name:"title"})),s("gov-button",{key:"89dddfec62b770915b1e841b65a3727a399ac454",ref:t=>this.closeCtaRef=t,disabled:this.blockClose,class:b.close,color:"primary","aria-label":this.accessibleCloseLabel,"aria-labelledby":this.accessibleCloseLabelledBy,type:"base",size:"m","on-gov-click":this.onCloseHandler.bind(this)},s("gov-icon",{key:"b4446a4fb10351aa2c263c1e09c7f821096e780f",slot:"icon-start",name:"x-lg",type:"components"}))),s("div",{key:"5c2a71245e7cd6e5ffebc317b79c16b299de1674",class:b.content,id:this.contentId},s("slot",{key:"d2bb335499547d7799316f2c9016569375eed7f4"})),this.h.hasSlot("footer")&&s("div",{key:"154d7917e898162f0fdaad2fa4007fccdec820c6",class:b.footer},s("slot",{key:"45272652b42b67f1f1bc88f256c20eba35fe1f69",name:"footer"})))),this.open?s("gov-backdrop",{disabled:this.blockBackdropClose,"aria-label":this.accessibleCloseLabel,"aria-labelled-by":this.accessibleCloseLabelledBy,"on-gov-click":this.onCloseHandler.bind(this)}):null)}onCloseHandler(t){t.stopPropagation();t.preventDefault();if(this.blockClose===false){this.hideDialog();this.govClose.emit(t)}}async setFocus(){if(this.open&&this.closeCtaRef){this.closeCtaRef.setFocus().catch()}}async validateAccessibility(){h(this.accessibleLabelledBy,"accessible-labelled-by",b.root);h(this.accessibleDescribedBy,"accessible-described-by",b.root)}get host(){return a(this)}static get watchers(){return{open:["watchOpen"]}}};export{g as gov_dialog};
2
- //# sourceMappingURL=p-d9c574f0.entry.js.map
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-B8TR1oqt.js";import{g as o,a as c,c as d}from"./p-CoD1xawt.js";import{c as l}from"./p-CgDnDrq5.js";import{a as h}from"./p-CDIRBJsi.js";import{c as f}from"./p-vN03FcXN.js";import{t as n}from"./p-Cjg0wpDG.js";import"./p-CQvUntGY.js";import"./p-DNztiAH0.js";const b={root:"gov-dialog",dialog:"gov-dialog__dialog",inner:"gov-dialog__inner",header:"gov-dialog__header",title:"gov-dialog__title",content:"gov-dialog__content",close:"gov-dialog__close",footer:"gov-dialog__footer",bodyFix:"body-fixed"};function r(t){if(!t)return[];return Array.from(t.querySelectorAll('a[href], button:not([disabled]), textarea, input:not([type="hidden"]), select, [tabindex]:not([tabindex="-1"])'))}const g=class{constructor(s){t(this,s);this.govClose=i(this,"gov-close");this.hydrated=false;this.open=false;this.blockClose=false;this.blockBackdropClose=false;this.role="dialog";this.labelTag="h2";this.accessibleCloseLabel="Zavřít okno";this.h=o(this.host);this.labelId=f("GovDialogLabel");this.contentId=f("GovDialogContent")}watchOpen(t){var i;this.open=t;this.setFocus().finally();if(!t){(i=this.lastActiveElementRef)===null||i===void 0?void 0:i.focus()}else{this.focusTrap()}}showDialog(){this.open=true;document.body.classList.add(b.bodyFix)}hideDialog(){this.open=false;document.body.classList.remove(b.bodyFix)}async componentDidRender(){if(l()){n((()=>this.validateAccessibility()))}if(this.open){this.showDialog()}else{this.hideDialog()}}focusTrap(){var t;if(open&&this.dialogRef){this.lastActiveElementRef=document.activeElement;const t=r(this.dialogRef);if(t.length){t[0].focus()}const i=t=>{if(t.key==="Tab"&&this.dialogRef){const i=r(this.dialogRef);const s=i[0];const e=i[i.length-1];if(!t.shiftKey&&document.activeElement===e){t.preventDefault();s.focus()}if(t.shiftKey&&document.activeElement===s){t.preventDefault();e.focus()}}if(t.key==="Escape"){if(this.blockClose===false){this.hideDialog();this.govClose.emit()}}};document.addEventListener("keydown",i)}else{(t=this.lastActiveElementRef)===null||t===void 0?void 0:t.focus()}}connectedCallback(){this.hydrated=true}disconnectedCallback(){document.body.classList.remove(b.bodyFix)}render(){return s(e,{key:"1b4a7fbbf75675be26754a29aeadf8943af6e372",class:this.h.classes(b.root),open:this.open,hydrated:this.hydrated},s("dialog",{key:"75df8bc2428485b6bc5a2ed21f334ff897a26f19",ref:t=>this.dialogRef=t,class:b.dialog,hidden:!this.open,tabindex:d(this.open),open:this.open,"aria-modal":"true","aria-hidden":c(!this.open),"aria-labelledby":this.accessibleLabelledBy||this.labelId,"aria-describedby":this.accessibleDescribedBy||this.contentId,role:this.role},s("div",{key:"7a8c1ff8172fcb3e2e6ed342baf38018b7603b4c",class:b.inner},s("div",{key:"b84fec4ad89efe420beede090a20bfdff6f47457",class:b.header},this.h.hasSlot("icon")&&s("span",{key:"931cc48c446af90837a58bd83bfc30e9c54ad787"},s("slot",{key:"088523bcc3debf0144195c21faa89f9f5ab8dd31",name:"icon"})),this.h.hasSlot("title")&&s("span",{key:"d38ca38a8b269f5a4f18ea2c8b0d833ac1614f43",class:b.title,id:this.labelId},s("slot",{key:"7bdc841090ba66fb9dab50d3ae1af8308fd4dddb",name:"title"})),s("gov-button",{key:"89dddfec62b770915b1e841b65a3727a399ac454",ref:t=>this.closeCtaRef=t,disabled:this.blockClose,class:b.close,color:"primary","aria-label":this.accessibleCloseLabel,"aria-labelledby":this.accessibleCloseLabelledBy,type:"base",size:"m","on-gov-click":this.onCloseHandler.bind(this)},s("gov-icon",{key:"b4446a4fb10351aa2c263c1e09c7f821096e780f",slot:"icon-start",name:"x-lg",type:"components"}))),s("div",{key:"5c2a71245e7cd6e5ffebc317b79c16b299de1674",class:b.content,id:this.contentId},s("slot",{key:"d2bb335499547d7799316f2c9016569375eed7f4"})),this.h.hasSlot("footer")&&s("div",{key:"154d7917e898162f0fdaad2fa4007fccdec820c6",class:b.footer},s("slot",{key:"45272652b42b67f1f1bc88f256c20eba35fe1f69",name:"footer"})))),this.open?s("gov-backdrop",{disabled:this.blockBackdropClose,"aria-label":this.accessibleCloseLabel,"aria-labelled-by":this.accessibleCloseLabelledBy,"on-gov-click":this.onCloseHandler.bind(this)}):null)}onCloseHandler(t){t.stopPropagation();t.preventDefault();if(this.blockClose===false){this.hideDialog();this.govClose.emit(t)}}async setFocus(){if(this.open&&this.closeCtaRef){this.closeCtaRef.setFocus().catch()}}async validateAccessibility(){h(this.accessibleLabelledBy,"accessible-labelled-by",b.root);h(this.accessibleDescribedBy,"accessible-described-by",b.root)}get host(){return a(this)}static get watchers(){return{open:[{watchOpen:0}]}}};export{g as gov_dialog};
2
+ //# sourceMappingURL=p-90cc2ddb.entry.js.map