@gov-design-system-ce/components 4.0.6 → 4.0.8-rc01

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 (504) hide show
  1. package/dist/cjs/array.utils-5a024b3a.js +46 -0
  2. package/dist/cjs/array.utils-5a024b3a.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{form-74063d50.js → form-47b5ef29.js} +2 -2
  5. package/dist/cjs/form-47b5ef29.js.map +1 -0
  6. package/dist/cjs/gov-accordion-item.cjs.entry.js +1 -1
  7. package/dist/cjs/gov-accordion.cjs.entry.js +1 -1
  8. package/dist/cjs/gov-attachments_3.cjs.entry.js +1 -1
  9. package/dist/cjs/gov-backdrop.cjs.entry.js +1 -1
  10. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +26 -3
  11. package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-button.cjs.entry.js +7 -4
  13. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-card.cjs.entry.js +1 -1
  15. package/dist/cjs/gov-chip.cjs.entry.js +2 -2
  16. package/dist/cjs/gov-chip.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gov-container.cjs.entry.js +1 -1
  18. package/dist/cjs/gov-control-group.cjs.entry.js +1 -1
  19. package/dist/cjs/gov-cookiebar.cjs.entry.js +1 -1
  20. package/dist/cjs/gov-dropdown.cjs.entry.js +1 -1
  21. package/dist/cjs/gov-empty.cjs.entry.js +1 -1
  22. package/dist/cjs/gov-error-code.cjs.entry.js +1 -1
  23. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +1 -1
  24. package/dist/cjs/gov-form-checkbox.cjs.entry.js +2 -2
  25. package/dist/cjs/gov-form-control.cjs.entry.js +2 -2
  26. package/dist/cjs/gov-form-file.cjs.entry.js +17 -5
  27. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gov-form-group.cjs.entry.js +1 -1
  29. package/dist/cjs/gov-form-input.cjs.entry.js +6 -2
  30. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gov-form-multi-select.cjs.entry.js +83 -102
  32. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gov-form-radio.cjs.entry.js +2 -2
  34. package/dist/cjs/gov-form-search.cjs.entry.js +1 -1
  35. package/dist/cjs/gov-form-search.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gov-form-select.cjs.entry.js +15 -19
  37. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gov-form-switch.cjs.entry.js +2 -2
  39. package/dist/cjs/gov-grid-item.cjs.entry.js +1 -1
  40. package/dist/cjs/gov-grid.cjs.entry.js +1 -1
  41. package/dist/cjs/gov-icon.cjs.entry.js +2 -2
  42. package/dist/cjs/gov-infobar.cjs.entry.js +3 -2
  43. package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gov-layout-column.cjs.entry.js +1 -1
  45. package/dist/cjs/gov-layout.cjs.entry.js +1 -1
  46. package/dist/cjs/gov-loading.cjs.entry.js +1 -1
  47. package/dist/cjs/gov-message.cjs.entry.js +1 -1
  48. package/dist/cjs/gov-modal.cjs.entry.js +5 -2
  49. package/dist/cjs/gov-modal.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gov-pagination.cjs.entry.js +9 -11
  51. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gov-prompt.cjs.entry.js +5 -2
  53. package/dist/cjs/gov-prompt.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gov-side-nav-item.cjs.entry.js +1 -1
  55. package/dist/cjs/gov-side-nav.cjs.entry.js +1 -1
  56. package/dist/cjs/gov-skeleton.cjs.entry.js +1 -1
  57. package/dist/cjs/gov-spacer.cjs.entry.js +1 -1
  58. package/dist/cjs/gov-statsbar-item.cjs.entry.js +1 -1
  59. package/dist/cjs/gov-statsbar.cjs.entry.js +1 -1
  60. package/dist/cjs/gov-stepper-item.cjs.entry.js +1 -1
  61. package/dist/cjs/gov-stepper.cjs.entry.js +1 -1
  62. package/dist/cjs/gov-tabs-item.cjs.entry.js +1 -1
  63. package/dist/cjs/gov-tabs.cjs.entry.js +1 -1
  64. package/dist/cjs/gov-tag.cjs.entry.js +2 -2
  65. package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gov-tile.cjs.entry.js +3 -3
  67. package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gov-tiles.cjs.entry.js +1 -1
  69. package/dist/cjs/gov-toast.cjs.entry.js +1 -1
  70. package/dist/cjs/gov-tooltip-content.cjs.entry.js +2 -2
  71. package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gov-tooltip.cjs.entry.js +8 -9
  73. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gov-wizard-item.cjs.entry.js +1 -1
  75. package/dist/cjs/gov-wizard.cjs.entry.js +1 -1
  76. package/dist/cjs/loader.cjs.js +1 -1
  77. package/dist/cjs/stencil.utils-22814956.js +11 -0
  78. package/dist/cjs/stencil.utils-22814956.js.map +1 -0
  79. package/dist/cjs/{template-4b951d1d.js → template-9534c584.js} +5 -1
  80. package/dist/cjs/template-9534c584.js.map +1 -0
  81. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.css +58 -16
  82. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +48 -1
  83. package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js.map +1 -1
  84. package/dist/collection/components/gov-button/button/gov-button.css +1 -1
  85. package/dist/collection/components/gov-button/button/gov-button.js +13 -16
  86. package/dist/collection/components/gov-button/button/gov-button.js.map +1 -1
  87. package/dist/collection/components/gov-chip/gov-chip.css +2 -6
  88. package/dist/collection/components/gov-form/file/gov-form-file.js +51 -3
  89. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  90. package/dist/collection/components/gov-form/input/gov-form-input.js +18 -0
  91. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  92. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +134 -253
  93. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
  94. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.types.js.map +1 -1
  95. package/dist/collection/components/gov-form/search/gov-form-search.css +1 -1
  96. package/dist/collection/components/gov-form/select/constants.js +1 -1
  97. package/dist/collection/components/gov-form/select/constants.js.map +1 -1
  98. package/dist/collection/components/gov-form/select/gov-form-select.js +40 -64
  99. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  100. package/dist/collection/components/gov-form/select/gov-form-select.types.js.map +1 -1
  101. package/dist/collection/components/gov-infobar/gov-infobar.js +25 -1
  102. package/dist/collection/components/gov-infobar/gov-infobar.js.map +1 -1
  103. package/dist/collection/components/gov-modal/gov-modal.js +6 -3
  104. package/dist/collection/components/gov-modal/gov-modal.js.map +1 -1
  105. package/dist/collection/components/gov-pagination/gov-pagination.js +80 -5
  106. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  107. package/dist/collection/components/gov-promp/gov-prompt.js +4 -1
  108. package/dist/collection/components/gov-promp/gov-prompt.js.map +1 -1
  109. package/dist/collection/components/gov-tag/gov-tag.css +5 -100
  110. package/dist/collection/components/gov-tile/gov-tile.css +3 -5
  111. package/dist/collection/components/gov-tile/gov-tile.js +1 -1
  112. package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
  113. package/dist/collection/components/gov-tooltip/gov-tooltip-content.css +2 -1
  114. package/dist/collection/components/gov-tooltip/gov-tooltip.js +7 -8
  115. package/dist/collection/components/gov-tooltip/gov-tooltip.js.map +1 -1
  116. package/dist/collection/helpers/Dom/template.js +3 -0
  117. package/dist/collection/helpers/Dom/template.js.map +1 -1
  118. package/dist/collection/pages/Breadcrumbs.js +3 -2
  119. package/dist/collection/pages/Breadcrumbs.js.map +1 -1
  120. package/dist/collection/pages/Button.js +101 -101
  121. package/dist/collection/pages/Button.js.map +1 -1
  122. package/dist/collection/pages/Chip.js +50 -50
  123. package/dist/collection/pages/Chip.js.map +1 -1
  124. package/dist/collection/pages/Forms.js +27 -17
  125. package/dist/collection/pages/Forms.js.map +1 -1
  126. package/dist/collection/pages/Tag.js +27 -27
  127. package/dist/collection/pages/Tag.js.map +1 -1
  128. package/dist/collection/pages/Tooltip.js +13 -16
  129. package/dist/collection/pages/Tooltip.js.map +1 -1
  130. package/dist/collection/utils/array.utils.js +14 -0
  131. package/dist/collection/utils/array.utils.js.map +1 -1
  132. package/dist/collection/utils/object.utils.js +18 -0
  133. package/dist/collection/utils/object.utils.js.map +1 -0
  134. package/dist/collection/utils/stencil.utils.js +6 -0
  135. package/dist/collection/utils/stencil.utils.js.map +1 -0
  136. package/dist/components/gov-accordion-item.js +1 -1
  137. package/dist/components/gov-accordion.js +1 -1
  138. package/dist/components/gov-attachments-item.js +1 -1
  139. package/dist/components/gov-attachments.js +1 -1
  140. package/dist/components/gov-backdrop.js +1 -1
  141. package/dist/components/gov-breadcrumbs.js +1 -1
  142. package/dist/components/gov-breadcrumbs.js.map +1 -1
  143. package/dist/components/gov-button.js +1 -1
  144. package/dist/components/gov-card.js +1 -1
  145. package/dist/components/gov-chip.js +1 -1
  146. package/dist/components/gov-container.js +1 -1
  147. package/dist/components/gov-control-group.js +1 -1
  148. package/dist/components/gov-cookiebar.js +1 -1
  149. package/dist/components/gov-dropdown.js +1 -1
  150. package/dist/components/gov-empty.js +1 -1
  151. package/dist/components/gov-error-code.js +1 -1
  152. package/dist/components/gov-form-autocomplete.js +1 -1
  153. package/dist/components/gov-form-checkbox.js +1 -1
  154. package/dist/components/gov-form-control.js +1 -1
  155. package/dist/components/gov-form-file.js +1 -1
  156. package/dist/components/gov-form-file.js.map +1 -1
  157. package/dist/components/gov-form-group.js +1 -1
  158. package/dist/components/gov-form-input.js +1 -1
  159. package/dist/components/gov-form-message.js +1 -1
  160. package/dist/components/gov-form-multi-select.js +1 -1
  161. package/dist/components/gov-form-multi-select.js.map +1 -1
  162. package/dist/components/gov-form-radio.js +1 -1
  163. package/dist/components/gov-form-search.js +1 -1
  164. package/dist/components/gov-form-search.js.map +1 -1
  165. package/dist/components/gov-form-select.js +1 -1
  166. package/dist/components/gov-form-switch.js +1 -1
  167. package/dist/components/gov-grid-item.js +1 -1
  168. package/dist/components/gov-grid.js +1 -1
  169. package/dist/components/gov-icon.js +1 -1
  170. package/dist/components/gov-infobar.js +1 -1
  171. package/dist/components/gov-infobar.js.map +1 -1
  172. package/dist/components/gov-layout-column.js +1 -1
  173. package/dist/components/gov-layout.js +1 -1
  174. package/dist/components/gov-loading.js +1 -1
  175. package/dist/components/gov-message.js +1 -1
  176. package/dist/components/gov-modal.js +1 -1
  177. package/dist/components/gov-modal.js.map +1 -1
  178. package/dist/components/gov-pagination.js +1 -1
  179. package/dist/components/gov-pagination.js.map +1 -1
  180. package/dist/components/gov-prompt.js +1 -1
  181. package/dist/components/gov-prompt.js.map +1 -1
  182. package/dist/components/gov-side-nav-item.js +1 -1
  183. package/dist/components/gov-side-nav.js +1 -1
  184. package/dist/components/gov-side-nav.js.map +1 -1
  185. package/dist/components/gov-skeleton.js +1 -1
  186. package/dist/components/gov-skeleton.js.map +1 -1
  187. package/dist/components/gov-spacer.js +1 -1
  188. package/dist/components/gov-statsbar-item.js +1 -1
  189. package/dist/components/gov-statsbar.js +1 -1
  190. package/dist/components/gov-stepper-item.js +1 -1
  191. package/dist/components/gov-stepper.js +1 -1
  192. package/dist/components/gov-tabs-item.js +1 -1
  193. package/dist/components/gov-tabs.js +1 -1
  194. package/dist/components/gov-tag.js +1 -1
  195. package/dist/components/gov-tag.js.map +1 -1
  196. package/dist/components/gov-tile.js +1 -1
  197. package/dist/components/gov-tile.js.map +1 -1
  198. package/dist/components/gov-tiles.js +1 -1
  199. package/dist/components/gov-toast.js +1 -1
  200. package/dist/components/gov-tooltip-content.js +1 -1
  201. package/dist/components/gov-tooltip-content.js.map +1 -1
  202. package/dist/components/gov-tooltip.js +1 -1
  203. package/dist/components/gov-tooltip.js.map +1 -1
  204. package/dist/components/gov-wizard-item.js +1 -1
  205. package/dist/components/gov-wizard.js +1 -1
  206. package/dist/components/{p-b526e440.js → p-033f8bda.js} +2 -2
  207. package/dist/components/{p-ec6c2272.js → p-23990b41.js} +2 -2
  208. package/dist/components/{p-62074db5.js → p-26805569.js} +2 -2
  209. package/dist/components/p-2dee9951.js.map +1 -1
  210. package/dist/components/p-6c1d0f47.js +2 -0
  211. package/dist/components/p-6c1d0f47.js.map +1 -0
  212. package/dist/components/p-a6a15eb1.js +2 -0
  213. package/dist/components/p-a6a15eb1.js.map +1 -0
  214. package/dist/components/p-b48d3aae.js +2 -0
  215. package/dist/components/p-b48d3aae.js.map +1 -0
  216. package/dist/components/{p-990d2990.js → p-b5a06a0a.js} +2 -2
  217. package/dist/components/p-b5a06a0a.js.map +1 -0
  218. package/dist/components/{p-9795ad94.js → p-b9ee51d6.js} +2 -2
  219. package/dist/components/{p-28e59384.js → p-c353678b.js} +2 -2
  220. package/dist/components/p-c353678b.js.map +1 -0
  221. package/dist/components/p-c9baa62f.js +2 -0
  222. package/dist/components/p-c9baa62f.js.map +1 -0
  223. package/dist/components/{p-d29431c0.js → p-e2bee1ef.js} +2 -2
  224. package/dist/components/p-e2bee1ef.js.map +1 -0
  225. package/dist/components/{p-570803ab.js → p-f8b7ea69.js} +2 -2
  226. package/dist/components/p-f9f8e529.js +2 -0
  227. package/dist/components/{p-6f391c4a.js.map → p-f9f8e529.js.map} +1 -1
  228. package/dist/core/core.css +1 -1
  229. package/dist/core/core.esm.js +1 -1
  230. package/dist/core/core.esm.js.map +1 -1
  231. package/dist/core/{p-96d141a3.entry.js → p-0028fadc.entry.js} +2 -2
  232. package/dist/core/{p-2969eb69.entry.js → p-0ab12526.entry.js} +2 -2
  233. package/dist/core/{p-22abe742.entry.js → p-0c5c6dee.entry.js} +2 -2
  234. package/dist/core/{p-1116fec6.entry.js → p-127af1b4.entry.js} +2 -2
  235. package/dist/core/{p-fb51d693.entry.js → p-151f1b89.entry.js} +2 -2
  236. package/dist/core/{p-fd4b0f54.entry.js → p-191e9b0c.entry.js} +2 -2
  237. package/dist/core/p-1cbd2c7c.entry.js +2 -0
  238. package/dist/core/p-1cbd2c7c.entry.js.map +1 -0
  239. package/dist/core/{p-fc8a29e9.entry.js → p-2a13c39c.entry.js} +2 -2
  240. package/dist/core/{p-6dc942b8.entry.js → p-2d1f3d62.entry.js} +2 -2
  241. package/dist/core/p-2d1f3d62.entry.js.map +1 -0
  242. package/dist/core/p-30673e46.entry.js +2 -0
  243. package/dist/core/p-30673e46.entry.js.map +1 -0
  244. package/dist/core/{p-de3429ab.entry.js → p-3975851f.entry.js} +2 -2
  245. package/dist/core/{p-141d9af4.entry.js → p-4988c0bb.entry.js} +2 -2
  246. package/dist/core/p-4b4a270d.entry.js +2 -0
  247. package/dist/core/p-4b4a270d.entry.js.map +1 -0
  248. package/dist/core/{p-83e998d8.entry.js → p-529ce9a4.entry.js} +2 -2
  249. package/dist/core/{p-fc2a1e14.entry.js → p-53e0ad52.entry.js} +2 -2
  250. package/dist/core/{p-81593c86.entry.js → p-54fa7af5.entry.js} +2 -2
  251. package/dist/core/{p-41c18f64.entry.js → p-555eaa93.entry.js} +2 -2
  252. package/dist/core/{p-e24236b0.entry.js → p-55cb727e.entry.js} +2 -2
  253. package/dist/core/p-575d0c94.entry.js +2 -0
  254. package/dist/core/p-575d0c94.entry.js.map +1 -0
  255. package/dist/core/p-5bc604a3.js.map +1 -1
  256. package/dist/core/{p-28e59384.js → p-5de606f8.js} +2 -2
  257. package/dist/core/p-5de606f8.js.map +1 -0
  258. package/dist/core/{p-3c12c766.entry.js → p-60d681a6.entry.js} +2 -2
  259. package/dist/core/{p-b4a59c79.entry.js → p-64c5748e.entry.js} +2 -2
  260. package/dist/core/p-64c5748e.entry.js.map +1 -0
  261. package/dist/core/p-67096d72.entry.js +2 -0
  262. package/dist/core/p-67096d72.entry.js.map +1 -0
  263. package/dist/core/{p-b49293dc.entry.js → p-6bf8e7bf.entry.js} +2 -2
  264. package/dist/core/{p-89b3e4d4.entry.js → p-72c5997f.entry.js} +2 -2
  265. package/dist/core/p-7f158b6f.entry.js +2 -0
  266. package/dist/core/p-7f158b6f.entry.js.map +1 -0
  267. package/dist/core/p-831edc90.entry.js +2 -0
  268. package/dist/core/p-831edc90.entry.js.map +1 -0
  269. package/dist/core/{p-bb7f0a66.entry.js → p-8f121cad.entry.js} +2 -2
  270. package/dist/core/p-8fcc8483.js +2 -0
  271. package/dist/core/p-8fcc8483.js.map +1 -0
  272. package/dist/core/{p-01d928c5.entry.js → p-90c068ff.entry.js} +2 -2
  273. package/dist/core/{p-cf86a858.entry.js → p-927880d6.entry.js} +2 -2
  274. package/dist/core/p-927880d6.entry.js.map +1 -0
  275. package/dist/core/{p-b4ab0d15.entry.js → p-9469ecc2.entry.js} +2 -2
  276. package/dist/core/{p-f29b0193.entry.js → p-984b36f7.entry.js} +2 -2
  277. package/dist/core/p-9c04470d.entry.js +2 -0
  278. package/dist/core/p-9c04470d.entry.js.map +1 -0
  279. package/dist/core/{p-ccf73a1a.entry.js → p-a35484ed.entry.js} +2 -2
  280. package/dist/core/p-a49391e5.entry.js +2 -0
  281. package/dist/core/p-a49391e5.entry.js.map +1 -0
  282. package/dist/core/{p-b127c8a8.entry.js → p-aaf2510a.entry.js} +2 -2
  283. package/dist/core/p-aaf2510a.entry.js.map +1 -0
  284. package/dist/core/p-ab5a13ea.js +2 -0
  285. package/dist/core/p-ab5a13ea.js.map +1 -0
  286. package/dist/core/{p-b580666b.entry.js → p-adf276b0.entry.js} +2 -2
  287. package/dist/core/{p-b1184db4.entry.js → p-af9a14e3.entry.js} +2 -2
  288. package/dist/core/{p-e5c2f601.entry.js → p-b7e0b030.entry.js} +2 -2
  289. package/dist/core/{p-78942f76.entry.js → p-be8eec3f.entry.js} +2 -2
  290. package/dist/core/{p-9c6699d6.entry.js → p-c0e8802d.entry.js} +2 -2
  291. package/dist/core/p-c0e8802d.entry.js.map +1 -0
  292. package/dist/core/{p-f1227928.entry.js → p-c6a4ca41.entry.js} +2 -2
  293. package/dist/core/{p-67138ae9.entry.js → p-ce1486b8.entry.js} +2 -2
  294. package/dist/core/{p-ee4c58e3.entry.js → p-d2c370d6.entry.js} +2 -2
  295. package/dist/core/p-d513468a.entry.js +2 -0
  296. package/dist/core/p-d513468a.entry.js.map +1 -0
  297. package/dist/core/p-d784c44d.js +2 -0
  298. package/dist/core/p-d784c44d.js.map +1 -0
  299. package/dist/core/{p-ac5e5b2c.entry.js → p-dd4445ee.entry.js} +2 -2
  300. package/dist/core/{p-b7d23697.entry.js → p-dd8816aa.entry.js} +2 -2
  301. package/dist/core/p-dd8816aa.entry.js.map +1 -0
  302. package/dist/core/{p-92af05f2.entry.js → p-e4f11ddf.entry.js} +2 -2
  303. package/dist/core/{p-6675a0f0.entry.js → p-eaedc9e3.entry.js} +2 -2
  304. package/dist/core/{p-b5e1ee46.entry.js → p-ed580ac7.entry.js} +2 -2
  305. package/dist/core/p-ef387ab2.entry.js +2 -0
  306. package/dist/core/{p-f76f0a67.entry.js.map → p-ef387ab2.entry.js.map} +1 -1
  307. package/dist/core/{p-f636a1ca.entry.js → p-f2206bbb.entry.js} +2 -2
  308. package/dist/core/{p-497c90ea.entry.js → p-f4f969d0.entry.js} +2 -2
  309. package/dist/core/p-f4f969d0.entry.js.map +1 -0
  310. package/dist/core/{p-4a235ef5.entry.js → p-f59b858f.entry.js} +2 -2
  311. package/dist/core/{p-7757e4a1.entry.js → p-fc710edb.entry.js} +2 -2
  312. package/dist/esm/array.utils-b27436ea.js +43 -0
  313. package/dist/esm/array.utils-b27436ea.js.map +1 -0
  314. package/dist/esm/core.js +1 -1
  315. package/dist/esm/{form-39dc6896.js → form-e3424b70.js} +2 -2
  316. package/dist/esm/form-e3424b70.js.map +1 -0
  317. package/dist/esm/gov-accordion-item.entry.js +1 -1
  318. package/dist/esm/gov-accordion.entry.js +1 -1
  319. package/dist/esm/gov-attachments_3.entry.js +1 -1
  320. package/dist/esm/gov-backdrop.entry.js +1 -1
  321. package/dist/esm/gov-breadcrumbs.entry.js +26 -3
  322. package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
  323. package/dist/esm/gov-button.entry.js +7 -4
  324. package/dist/esm/gov-button.entry.js.map +1 -1
  325. package/dist/esm/gov-card.entry.js +1 -1
  326. package/dist/esm/gov-chip.entry.js +2 -2
  327. package/dist/esm/gov-chip.entry.js.map +1 -1
  328. package/dist/esm/gov-container.entry.js +1 -1
  329. package/dist/esm/gov-control-group.entry.js +1 -1
  330. package/dist/esm/gov-cookiebar.entry.js +1 -1
  331. package/dist/esm/gov-dropdown.entry.js +1 -1
  332. package/dist/esm/gov-empty.entry.js +1 -1
  333. package/dist/esm/gov-error-code.entry.js +1 -1
  334. package/dist/esm/gov-form-autocomplete.entry.js +1 -1
  335. package/dist/esm/gov-form-checkbox.entry.js +2 -2
  336. package/dist/esm/gov-form-control.entry.js +2 -2
  337. package/dist/esm/gov-form-file.entry.js +17 -5
  338. package/dist/esm/gov-form-file.entry.js.map +1 -1
  339. package/dist/esm/gov-form-group.entry.js +1 -1
  340. package/dist/esm/gov-form-input.entry.js +6 -2
  341. package/dist/esm/gov-form-input.entry.js.map +1 -1
  342. package/dist/esm/gov-form-multi-select.entry.js +83 -102
  343. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  344. package/dist/esm/gov-form-radio.entry.js +2 -2
  345. package/dist/esm/gov-form-search.entry.js +1 -1
  346. package/dist/esm/gov-form-search.entry.js.map +1 -1
  347. package/dist/esm/gov-form-select.entry.js +15 -19
  348. package/dist/esm/gov-form-select.entry.js.map +1 -1
  349. package/dist/esm/gov-form-switch.entry.js +2 -2
  350. package/dist/esm/gov-grid-item.entry.js +1 -1
  351. package/dist/esm/gov-grid.entry.js +1 -1
  352. package/dist/esm/gov-icon.entry.js +2 -2
  353. package/dist/esm/gov-infobar.entry.js +3 -2
  354. package/dist/esm/gov-infobar.entry.js.map +1 -1
  355. package/dist/esm/gov-layout-column.entry.js +1 -1
  356. package/dist/esm/gov-layout.entry.js +1 -1
  357. package/dist/esm/gov-loading.entry.js +1 -1
  358. package/dist/esm/gov-message.entry.js +1 -1
  359. package/dist/esm/gov-modal.entry.js +5 -2
  360. package/dist/esm/gov-modal.entry.js.map +1 -1
  361. package/dist/esm/gov-pagination.entry.js +9 -11
  362. package/dist/esm/gov-pagination.entry.js.map +1 -1
  363. package/dist/esm/gov-prompt.entry.js +5 -2
  364. package/dist/esm/gov-prompt.entry.js.map +1 -1
  365. package/dist/esm/gov-side-nav-item.entry.js +1 -1
  366. package/dist/esm/gov-side-nav.entry.js +1 -1
  367. package/dist/esm/gov-skeleton.entry.js +1 -1
  368. package/dist/esm/gov-spacer.entry.js +1 -1
  369. package/dist/esm/gov-statsbar-item.entry.js +1 -1
  370. package/dist/esm/gov-statsbar.entry.js +1 -1
  371. package/dist/esm/gov-stepper-item.entry.js +1 -1
  372. package/dist/esm/gov-stepper.entry.js +1 -1
  373. package/dist/esm/gov-tabs-item.entry.js +1 -1
  374. package/dist/esm/gov-tabs.entry.js +1 -1
  375. package/dist/esm/gov-tag.entry.js +2 -2
  376. package/dist/esm/gov-tag.entry.js.map +1 -1
  377. package/dist/esm/gov-tile.entry.js +3 -3
  378. package/dist/esm/gov-tile.entry.js.map +1 -1
  379. package/dist/esm/gov-tiles.entry.js +1 -1
  380. package/dist/esm/gov-toast.entry.js +1 -1
  381. package/dist/esm/gov-tooltip-content.entry.js +2 -2
  382. package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
  383. package/dist/esm/gov-tooltip.entry.js +8 -9
  384. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  385. package/dist/esm/gov-wizard-item.entry.js +1 -1
  386. package/dist/esm/gov-wizard.entry.js +1 -1
  387. package/dist/esm/loader.js +1 -1
  388. package/dist/esm/stencil.utils-7cb5b075.js +9 -0
  389. package/dist/esm/stencil.utils-7cb5b075.js.map +1 -0
  390. package/dist/esm/{template-df429738.js → template-a0067bb6.js} +5 -2
  391. package/dist/esm/template-a0067bb6.js.map +1 -0
  392. package/dist/hydrate/index.js +238 -167
  393. package/dist/stencil.config.js +23 -1
  394. package/dist/stencil.config.js.map +1 -1
  395. package/dist/types/Users/iwory/iWork/asseco/mv/gov-design-system-ce/packages/core/.stencil/packages/core/stencil.config.d.ts +2 -0
  396. package/dist/types/components/gov-breadcrumbs/gov-breadcrumbs.d.ts +9 -0
  397. package/dist/types/components/gov-button/button/gov-button.d.ts +5 -4
  398. package/dist/types/components/gov-form/file/gov-form-file.d.ts +9 -0
  399. package/dist/types/components/gov-form/input/gov-form-input.d.ts +5 -0
  400. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +17 -29
  401. package/dist/types/components/gov-form/multiselect/gov-form-multi-select.types.d.ts +3 -2
  402. package/dist/types/components/gov-form/select/constants.d.ts +1 -1
  403. package/dist/types/components/gov-form/select/gov-form-select.d.ts +6 -9
  404. package/dist/types/components/gov-form/select/gov-form-select.types.d.ts +1 -1
  405. package/dist/types/components/gov-infobar/gov-infobar.d.ts +4 -0
  406. package/dist/types/components/gov-modal/gov-modal.d.ts +1 -0
  407. package/dist/types/components/gov-pagination/gov-pagination.d.ts +17 -1
  408. package/dist/types/components/gov-promp/gov-prompt.d.ts +1 -0
  409. package/dist/types/components/gov-tile/gov-tile.d.ts +3 -3
  410. package/dist/types/components.d.ts +100 -40
  411. package/dist/types/helpers/Dom/template.d.ts +1 -0
  412. package/dist/types/utils/array.utils.d.ts +1 -0
  413. package/dist/types/utils/object.utils.d.ts +1 -0
  414. package/dist/types/utils/stencil.utils.d.ts +1 -0
  415. package/package.json +2 -2
  416. package/dist/cjs/form-74063d50.js.map +0 -1
  417. package/dist/cjs/template-4b951d1d.js.map +0 -1
  418. package/dist/components/p-28e59384.js.map +0 -1
  419. package/dist/components/p-43554d2d.js +0 -2
  420. package/dist/components/p-43554d2d.js.map +0 -1
  421. package/dist/components/p-53e02bee.js +0 -2
  422. package/dist/components/p-53e02bee.js.map +0 -1
  423. package/dist/components/p-6f391c4a.js +0 -2
  424. package/dist/components/p-990d2990.js.map +0 -1
  425. package/dist/components/p-a3d5a7e3.js +0 -2
  426. package/dist/components/p-a3d5a7e3.js.map +0 -1
  427. package/dist/components/p-d29431c0.js.map +0 -1
  428. package/dist/core/p-044f4c35.entry.js +0 -2
  429. package/dist/core/p-044f4c35.entry.js.map +0 -1
  430. package/dist/core/p-09966eaa.entry.js +0 -2
  431. package/dist/core/p-09966eaa.entry.js.map +0 -1
  432. package/dist/core/p-0e5fa8bf.js +0 -2
  433. package/dist/core/p-0e5fa8bf.js.map +0 -1
  434. package/dist/core/p-2712444e.entry.js +0 -2
  435. package/dist/core/p-2712444e.entry.js.map +0 -1
  436. package/dist/core/p-28e59384.js.map +0 -1
  437. package/dist/core/p-2f858bf5.entry.js +0 -2
  438. package/dist/core/p-2f858bf5.entry.js.map +0 -1
  439. package/dist/core/p-3b42950e.entry.js +0 -2
  440. package/dist/core/p-3b42950e.entry.js.map +0 -1
  441. package/dist/core/p-497c90ea.entry.js.map +0 -1
  442. package/dist/core/p-6dc942b8.entry.js.map +0 -1
  443. package/dist/core/p-73b7585b.entry.js +0 -2
  444. package/dist/core/p-73b7585b.entry.js.map +0 -1
  445. package/dist/core/p-9c6699d6.entry.js.map +0 -1
  446. package/dist/core/p-a63bb91e.entry.js +0 -2
  447. package/dist/core/p-a63bb91e.entry.js.map +0 -1
  448. package/dist/core/p-a6b6dc73.entry.js +0 -2
  449. package/dist/core/p-a6b6dc73.entry.js.map +0 -1
  450. package/dist/core/p-b127c8a8.entry.js.map +0 -1
  451. package/dist/core/p-b4a59c79.entry.js.map +0 -1
  452. package/dist/core/p-b7d23697.entry.js.map +0 -1
  453. package/dist/core/p-c574ecc8.entry.js +0 -2
  454. package/dist/core/p-c574ecc8.entry.js.map +0 -1
  455. package/dist/core/p-cf86a858.entry.js.map +0 -1
  456. package/dist/core/p-d69599bc.entry.js +0 -2
  457. package/dist/core/p-d69599bc.entry.js.map +0 -1
  458. package/dist/core/p-f76f0a67.entry.js +0 -2
  459. package/dist/esm/form-39dc6896.js.map +0 -1
  460. package/dist/esm/template-df429738.js.map +0 -1
  461. package/dist/globals.d.ts +0 -2
  462. package/dist/types/Users/leo/Projects/repos/asseco/design-system/gov-design-system-ce/packages/core/.stencil/packages/core/stencil.config.d.ts +0 -2
  463. package/dist/types/types/typings.d.ts +0 -6
  464. /package/dist/components/{p-b526e440.js.map → p-033f8bda.js.map} +0 -0
  465. /package/dist/components/{p-ec6c2272.js.map → p-23990b41.js.map} +0 -0
  466. /package/dist/components/{p-62074db5.js.map → p-26805569.js.map} +0 -0
  467. /package/dist/components/{p-9795ad94.js.map → p-b9ee51d6.js.map} +0 -0
  468. /package/dist/components/{p-570803ab.js.map → p-f8b7ea69.js.map} +0 -0
  469. /package/dist/core/{p-96d141a3.entry.js.map → p-0028fadc.entry.js.map} +0 -0
  470. /package/dist/core/{p-2969eb69.entry.js.map → p-0ab12526.entry.js.map} +0 -0
  471. /package/dist/core/{p-22abe742.entry.js.map → p-0c5c6dee.entry.js.map} +0 -0
  472. /package/dist/core/{p-1116fec6.entry.js.map → p-127af1b4.entry.js.map} +0 -0
  473. /package/dist/core/{p-fb51d693.entry.js.map → p-151f1b89.entry.js.map} +0 -0
  474. /package/dist/core/{p-fd4b0f54.entry.js.map → p-191e9b0c.entry.js.map} +0 -0
  475. /package/dist/core/{p-fc8a29e9.entry.js.map → p-2a13c39c.entry.js.map} +0 -0
  476. /package/dist/core/{p-de3429ab.entry.js.map → p-3975851f.entry.js.map} +0 -0
  477. /package/dist/core/{p-141d9af4.entry.js.map → p-4988c0bb.entry.js.map} +0 -0
  478. /package/dist/core/{p-83e998d8.entry.js.map → p-529ce9a4.entry.js.map} +0 -0
  479. /package/dist/core/{p-fc2a1e14.entry.js.map → p-53e0ad52.entry.js.map} +0 -0
  480. /package/dist/core/{p-81593c86.entry.js.map → p-54fa7af5.entry.js.map} +0 -0
  481. /package/dist/core/{p-41c18f64.entry.js.map → p-555eaa93.entry.js.map} +0 -0
  482. /package/dist/core/{p-e24236b0.entry.js.map → p-55cb727e.entry.js.map} +0 -0
  483. /package/dist/core/{p-3c12c766.entry.js.map → p-60d681a6.entry.js.map} +0 -0
  484. /package/dist/core/{p-b49293dc.entry.js.map → p-6bf8e7bf.entry.js.map} +0 -0
  485. /package/dist/core/{p-89b3e4d4.entry.js.map → p-72c5997f.entry.js.map} +0 -0
  486. /package/dist/core/{p-bb7f0a66.entry.js.map → p-8f121cad.entry.js.map} +0 -0
  487. /package/dist/core/{p-01d928c5.entry.js.map → p-90c068ff.entry.js.map} +0 -0
  488. /package/dist/core/{p-b4ab0d15.entry.js.map → p-9469ecc2.entry.js.map} +0 -0
  489. /package/dist/core/{p-f29b0193.entry.js.map → p-984b36f7.entry.js.map} +0 -0
  490. /package/dist/core/{p-ccf73a1a.entry.js.map → p-a35484ed.entry.js.map} +0 -0
  491. /package/dist/core/{p-b580666b.entry.js.map → p-adf276b0.entry.js.map} +0 -0
  492. /package/dist/core/{p-b1184db4.entry.js.map → p-af9a14e3.entry.js.map} +0 -0
  493. /package/dist/core/{p-e5c2f601.entry.js.map → p-b7e0b030.entry.js.map} +0 -0
  494. /package/dist/core/{p-78942f76.entry.js.map → p-be8eec3f.entry.js.map} +0 -0
  495. /package/dist/core/{p-f1227928.entry.js.map → p-c6a4ca41.entry.js.map} +0 -0
  496. /package/dist/core/{p-67138ae9.entry.js.map → p-ce1486b8.entry.js.map} +0 -0
  497. /package/dist/core/{p-ee4c58e3.entry.js.map → p-d2c370d6.entry.js.map} +0 -0
  498. /package/dist/core/{p-ac5e5b2c.entry.js.map → p-dd4445ee.entry.js.map} +0 -0
  499. /package/dist/core/{p-92af05f2.entry.js.map → p-e4f11ddf.entry.js.map} +0 -0
  500. /package/dist/core/{p-6675a0f0.entry.js.map → p-eaedc9e3.entry.js.map} +0 -0
  501. /package/dist/core/{p-b5e1ee46.entry.js.map → p-ed580ac7.entry.js.map} +0 -0
  502. /package/dist/core/{p-f636a1ca.entry.js.map → p-f2206bbb.entry.js.map} +0 -0
  503. /package/dist/core/{p-4a235ef5.entry.js.map → p-f59b858f.entry.js.map} +0 -0
  504. /package/dist/core/{p-7757e4a1.entry.js.map → p-fc710edb.entry.js.map} +0 -0
@@ -1,11 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-eb59f132.js';
2
- import { g as govForm, c as FormMultiSelectClass, d as FormMultiselectVariants, e as FormMultiselectSizes } from './form-39dc6896.js';
3
- import { g as govHost, a as toBoolAttr, t as toBoolAttrIfDefined } from './template-df429738.js';
2
+ import { g as govForm, c as FormMultiSelectClass, d as FormMultiselectVariants, e as FormMultiselectSizes } from './form-e3424b70.js';
3
+ import { g as govHost, a as toBoolAttr, t as toBoolAttrIfDefined } from './template-a0067bb6.js';
4
4
  import { c as canValidateWcagOnRender } from './win-1dbd3f5c.js';
5
5
  import { v as validateProp } from './props-a85d9c89.js';
6
6
  import { a as validateWcagRef, b as validateWcagLabelFor } from './wcag-7d25e12b.js';
7
7
  import { c as createID, r as removeDiacritics } from './string.utils-f268fc6b.js';
8
8
  import { d as delay } from './utils-c057a3fa.js';
9
+ import { p as propsValueToArray } from './array.utils-b27436ea.js';
10
+ import { t as tick } from './stencil.utils-7cb5b075.js';
9
11
  import './sizes-6c5943b4.js';
10
12
  import './variants-2b936d58.js';
11
13
  import './constants-3df712e2.js';
@@ -13,10 +15,6 @@ import './constants-47d7a8bc.js';
13
15
  import './constants-ebec7de8.js';
14
16
  import './gov.log-49da0221.js';
15
17
 
16
- const hasOwnProperty = (obj, prop) => {
17
- return Object.prototype.hasOwnProperty.call(obj, prop);
18
- };
19
-
20
18
  const govFormMultiSelectCss = ".gov-form-multi-select__list{margin:0;padding:0}.gov-form-multi-select__list>.gov-form-multi-select__item{margin:0;padding:0;background:none}.gov-form-multi-select__list>.gov-form-multi-select__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-multi-select{position:relative;display:flex;width:100%;align-items:center}.gov-form-multi-select .element{position:relative;display:flex;flex:1 1 auto}.gov-form-multi-select input,.gov-form-multi-select select,.gov-form-multi-select textarea{width:100%;border-radius:var(--gov-border-radius, 0.1875rem);background-color:var(--gov-form-bg-color, var(--gov-color-neutral-white));font-family:var(--gov-font-family, \"Roboto\", sans-serif)}.gov-form-multi-select input:focus,.gov-form-multi-select select:focus,.gov-form-multi-select textarea:focus{outline:none}.gov-form-multi-select input:focus-visible,.gov-form-multi-select select:focus-visible,.gov-form-multi-select textarea:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-multi-select input::-moz-placeholder,.gov-form-multi-select select::-moz-placeholder,.gov-form-multi-select textarea::-moz-placeholder{color:var(--gov-form-placeholder-color, var(--gov-color-secondary-600))}.gov-form-multi-select input::placeholder,.gov-form-multi-select select::placeholder,.gov-form-multi-select textarea::placeholder{color:var(--gov-form-placeholder-color, var(--gov-color-secondary-600))}.gov-form-multi-select textarea{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);padding:0.5rem 0.75rem;resize:none}.gov-form-multi-select *[slot=left-icon],.gov-form-multi-select *[slot=right-icon]{position:absolute;top:50%;display:flex;justify-content:center;transform:translateY(-50%);pointer-events:none}.gov-form-multi-select *[slot=left-icon]{left:0}.gov-form-multi-select *[slot=right-icon]{right:0}.gov-form-multi-select *[slot=prefix],.gov-form-multi-select *[slot=sufix]{margin:0}[size=s].gov-form-multi-select{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);gap:0.5rem var(--gov-form-input-core-s-icon-size, 1rem)}[size=s].gov-form-multi-select input,[size=s].gov-form-multi-select select{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);height:var(--gov-form-input-core-s-height, 2rem);padding:var(--gov-form-input-core-s-padding, 0.25rem 0.75rem)}[size=s].gov-form-multi-select *[slot=left-icon],[size=s].gov-form-multi-select *[slot=right-icon]{width:var(--gov-form-input-core-s-icon-size, 1rem);height:var(--gov-form-input-core-s-icon-size, 1rem)}[size=s].gov-form-multi-select *[slot=left-icon]{left:calc((var(--gov-form-input-core-s-icon-padding, 2rem) - var(--gov-form-input-core-s-icon-size, 1rem)) / 2)}[size=s].gov-form-multi-select *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-s-icon-padding, 2rem)}[size=s].gov-form-multi-select *[slot=right-icon]{right:calc((var(--gov-form-input-core-s-icon-padding, 2rem) - var(--gov-form-input-core-s-icon-size, 1rem)) / 2)}[size=s].gov-form-multi-select *[slot=right-icon]~input,[size=s].gov-form-multi-select *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-s-icon-padding, 2rem)}[size=m].gov-form-multi-select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);gap:0.5rem var(--gov-form-input-core-m-icon-size, 1rem)}[size=m].gov-form-multi-select input,[size=m].gov-form-multi-select select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);height:var(--gov-form-input-core-m-height, 2.5rem);padding:var(--gov-form-input-core-m-padding, 0.4375rem 0.75rem)}[size=m].gov-form-multi-select *[slot=left-icon],[size=m].gov-form-multi-select *[slot=right-icon]{width:var(--gov-form-input-core-m-icon-size, 1rem);height:var(--gov-form-input-core-m-icon-size, 1rem)}[size=m].gov-form-multi-select *[slot=left-icon]{left:calc((var(--gov-form-input-core-m-icon-padding, 2.5rem) - var(--gov-form-input-core-m-icon-size, 1rem)) / 2)}[size=m].gov-form-multi-select *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-m-icon-padding, 2.5rem)}[size=m].gov-form-multi-select *[slot=right-icon]{right:calc((var(--gov-form-input-core-m-icon-padding, 2.5rem) - var(--gov-form-input-core-m-icon-size, 1rem)) / 2)}[size=m].gov-form-multi-select *[slot=right-icon]~input,[size=m].gov-form-multi-select *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-m-icon-padding, 2.5rem)}[size=l].gov-form-multi-select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);gap:0.5rem var(--gov-form-input-core-l-icon-size, 1rem)}[size=l].gov-form-multi-select input,[size=l].gov-form-multi-select select{font-weight:var(--gov-text-m-font-weight);font-size:var(--gov-text-m-font-size);line-height:var(--gov-text-m-line-height);letter-spacing:var(--gov-text-m-letter-spacing);height:var(--gov-form-input-core-l-height, 3rem);padding:var(--gov-form-input-core-l-padding, 0.6875rem 0.75rem)}[size=l].gov-form-multi-select *[slot=left-icon],[size=l].gov-form-multi-select *[slot=right-icon]{width:var(--gov-form-input-core-l-icon-size, 1rem);height:var(--gov-form-input-core-l-icon-size, 1rem)}[size=l].gov-form-multi-select *[slot=left-icon]{left:calc((var(--gov-form-input-core-l-icon-padding, 2.5rem) - var(--gov-form-input-core-l-icon-size, 1rem)) / 2)}[size=l].gov-form-multi-select *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-l-icon-padding, 2.5rem)}[size=l].gov-form-multi-select *[slot=right-icon]{right:calc((var(--gov-form-input-core-l-icon-padding, 2.5rem) - var(--gov-form-input-core-l-icon-size, 1rem)) / 2)}[size=l].gov-form-multi-select *[slot=right-icon]~input,[size=l].gov-form-multi-select *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-l-icon-padding, 2.5rem)}[size=xl].gov-form-multi-select{font-weight:var(--gov-text-l-font-weight);font-size:var(--gov-text-l-font-size);line-height:var(--gov-text-l-line-height);letter-spacing:var(--gov-text-l-letter-spacing);gap:0.5rem var(--gov-form-input-core-xl-icon-size, 1.25rem)}[size=xl].gov-form-multi-select input,[size=xl].gov-form-multi-select select{font-weight:var(--gov-text-l-font-weight);font-size:var(--gov-text-l-font-size);line-height:var(--gov-text-l-line-height);letter-spacing:var(--gov-text-l-letter-spacing);height:var(--gov-form-input-core-xl-height, 3.5rem);padding:var(--gov-form-input-core-xl-padding, 0.9375rem 1rem 0.875rem)}[size=xl].gov-form-multi-select *[slot=left-icon],[size=xl].gov-form-multi-select *[slot=right-icon]{width:var(--gov-form-input-core-xl-icon-size, 1.25rem);height:var(--gov-form-input-core-xl-icon-size, 1.25rem)}[size=xl].gov-form-multi-select *[slot=left-icon]{left:calc((var(--gov-form-input-core-xl-icon-padding, 3rem) - var(--gov-form-input-core-xl-icon-size, 1.25rem)) / 2)}[size=xl].gov-form-multi-select *[slot=left-icon]~input{padding-left:var(--gov-form-input-core-xl-icon-padding, 3rem)}[size=xl].gov-form-multi-select *[slot=right-icon]{right:calc((var(--gov-form-input-core-xl-icon-padding, 3rem) - var(--gov-form-input-core-xl-icon-size, 1.25rem)) / 2)}[size=xl].gov-form-multi-select *[slot=right-icon]~input,[size=xl].gov-form-multi-select *[slot=right-icon]~select{padding-right:var(--gov-form-input-core-xl-icon-padding, 3rem)}[variant=primary].gov-form-multi-select input,[variant=primary].gov-form-multi-select select,[variant=primary].gov-form-multi-select textarea{color:var(--gov-form-input-color-primary, var(--gov-color-secondary-700));border:var(--gov-form-input-border-primary, 0.0625rem solid var(--gov-color-primary-600))}[variant=primary].gov-form-multi-select *[slot=left-icon],[variant=primary].gov-form-multi-select *[slot=right-icon]:not(.icon-arrow){color:var(--gov-form-input-icon-color-primary, var(--gov-color-primary))}[variant=secondary].gov-form-multi-select input,[variant=secondary].gov-form-multi-select select,[variant=secondary].gov-form-multi-select textarea{color:var(--gov-form-input-color-secondary, var(--gov-color-secondary-700));border:var(--gov-form-input-border-secondary, 0.0625rem solid var(--gov-color-secondary-700))}[variant=secondary].gov-form-multi-select *[slot=left-icon],[variant=secondary].gov-form-multi-select *[slot=right-icon]:not(.icon-arrow){color:var(--gov-form-input-icon-color-secondary, var(--gov-color-primary))}[disabled=\"\"].gov-form-multi-select,[disabled=true i].gov-form-multi-select,[disabled=\"1\"].gov-form-multi-select{pointer-events:none}[disabled=\"\"].gov-form-multi-select input,[disabled=\"\"].gov-form-multi-select select,[disabled=\"\"].gov-form-multi-select textarea,[disabled=true i].gov-form-multi-select input,[disabled=true i].gov-form-multi-select select,[disabled=true i].gov-form-multi-select textarea,[disabled=\"1\"].gov-form-multi-select input,[disabled=\"1\"].gov-form-multi-select select,[disabled=\"1\"].gov-form-multi-select textarea{border-color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600));background:var(--gov-form-input-disabled-bg, var(--gov-color-secondary-300));color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600))}[disabled=\"\"].gov-form-multi-select *[slot=left-icon],[disabled=\"\"].gov-form-multi-select *[slot=right-icon],[disabled=true i].gov-form-multi-select *[slot=left-icon],[disabled=true i].gov-form-multi-select *[slot=right-icon],[disabled=\"1\"].gov-form-multi-select *[slot=left-icon],[disabled=\"1\"].gov-form-multi-select *[slot=right-icon]{color:var(--gov-form-state-color-disabled, var(--gov-color-secondary-600)) !important}[invalid=\"\"].gov-form-multi-select input,[invalid=\"\"].gov-form-multi-select select,[invalid=\"\"].gov-form-multi-select textarea,[invalid=true i].gov-form-multi-select input,[invalid=true i].gov-form-multi-select select,[invalid=true i].gov-form-multi-select textarea,[invalid=\"1\"].gov-form-multi-select input,[invalid=\"1\"].gov-form-multi-select select,[invalid=\"1\"].gov-form-multi-select textarea{border-color:var(--gov-form-state-color-error, var(--gov-color-error));color:var(--gov-form-state-color-error, var(--gov-color-error))}[invalid=\"\"].gov-form-multi-select input::-moz-placeholder,[invalid=\"\"].gov-form-multi-select select::-moz-placeholder,[invalid=\"\"].gov-form-multi-select textarea::-moz-placeholder,[invalid=true i].gov-form-multi-select input::-moz-placeholder,[invalid=true i].gov-form-multi-select select::-moz-placeholder,[invalid=true i].gov-form-multi-select textarea::-moz-placeholder,[invalid=\"1\"].gov-form-multi-select input::-moz-placeholder,[invalid=\"1\"].gov-form-multi-select select::-moz-placeholder,[invalid=\"1\"].gov-form-multi-select textarea::-moz-placeholder{color:var(--gov-form-state-color-error, var(--gov-color-error-300))}[invalid=\"\"].gov-form-multi-select input::placeholder,[invalid=\"\"].gov-form-multi-select select::placeholder,[invalid=\"\"].gov-form-multi-select textarea::placeholder,[invalid=true i].gov-form-multi-select input::placeholder,[invalid=true i].gov-form-multi-select select::placeholder,[invalid=true i].gov-form-multi-select textarea::placeholder,[invalid=\"1\"].gov-form-multi-select input::placeholder,[invalid=\"1\"].gov-form-multi-select select::placeholder,[invalid=\"1\"].gov-form-multi-select textarea::placeholder{color:var(--gov-form-state-color-error, var(--gov-color-error-300))}[invalid=\"\"].gov-form-multi-select *[slot=left-icon],[invalid=\"\"].gov-form-multi-select *[slot=right-icon],[invalid=true i].gov-form-multi-select *[slot=left-icon],[invalid=true i].gov-form-multi-select *[slot=right-icon],[invalid=\"1\"].gov-form-multi-select *[slot=left-icon],[invalid=\"1\"].gov-form-multi-select *[slot=right-icon]{color:var(--gov-form-state-color-error, var(--gov-color-error)) !important}[invalid=\"\"].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[invalid=true i].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[invalid=\"1\"].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow){display:none}[success=\"\"].gov-form-multi-select *[slot=right-icon]:not(.icon-arrow),[success=true i].gov-form-multi-select *[slot=right-icon]:not(.icon-arrow),[success=\"1\"].gov-form-multi-select *[slot=right-icon]:not(.icon-arrow){color:var(--gov-form-state-color-success, var(--gov-color-success))}[success=\"\"].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[success=true i].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow),[success=\"1\"].gov-form-multi-select *[slot=right-icon]:not(.icon-validation):not(.icon-arrow){display:none}[multiline=\"\"].gov-form-multi-select *[slot=left-icon],[multiline=\"\"].gov-form-multi-select *[slot=right-icon],[multiline=true i].gov-form-multi-select *[slot=left-icon],[multiline=true i].gov-form-multi-select *[slot=right-icon],[multiline=\"1\"].gov-form-multi-select *[slot=left-icon],[multiline=\"1\"].gov-form-multi-select *[slot=right-icon]{display:none}.gov-form-multi-select{background:none}.gov-form-multi-select select{-webkit-appearance:none;-moz-appearance:none}.gov-form-multi-select select::-ms-expand{display:none}[size=s].gov-form-multi-select *[slot=right-icon]{right:var(--gov-form-select-s-arrow-right-position, 0.75rem);width:var(--gov-form-select-s-arrow-size, 0.75rem);height:var(--gov-form-select-s-arrow-size, 0.75rem)}[size=s][invalid=\"\"].gov-form-multi-select .icon-arrow,[size=s][invalid=true i].gov-form-multi-select .icon-arrow,[size=s][invalid=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-s-arrow-right-position, 0.75rem))}[size=s][success=\"\"].gov-form-multi-select .icon-arrow,[size=s][success=true i].gov-form-multi-select .icon-arrow,[size=s][success=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-s-arrow-right-position, 0.75rem))}[size=m].gov-form-multi-select *[slot=right-icon]{right:var(--gov-form-select-m-arrow-right-position, 1rem);width:var(--gov-form-select-m-arrow-size, 0.75rem);height:var(--gov-form-select-m-arrow-size, 0.75rem)}[size=m][invalid=\"\"].gov-form-multi-select .icon-arrow,[size=m][invalid=true i].gov-form-multi-select .icon-arrow,[size=m][invalid=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-m-arrow-right-position, 1rem))}[size=m][success=\"\"].gov-form-multi-select .icon-arrow,[size=m][success=true i].gov-form-multi-select .icon-arrow,[size=m][success=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-m-arrow-right-position, 1rem))}[size=l].gov-form-multi-select *[slot=right-icon]{right:var(--gov-form-select-l-arrow-right-position, 1rem);width:var(--gov-form-select-l-arrow-size, 1rem);height:var(--gov-form-select-l-arrow-size, 1rem)}[size=l][invalid=\"\"].gov-form-multi-select .icon-arrow,[size=l][invalid=true i].gov-form-multi-select .icon-arrow,[size=l][invalid=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-l-arrow-right-position, 1rem))}[size=l][success=\"\"].gov-form-multi-select .icon-arrow,[size=l][success=true i].gov-form-multi-select .icon-arrow,[size=l][success=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-l-arrow-right-position, 1rem))}[size=xl].gov-form-multi-select *[slot=right-icon]{right:var(--gov-form-select-xl-arrow-right-position, 1.3125rem);width:var(--gov-form-select-xl-arrow-size, 1rem);height:var(--gov-form-select-xl-arrow-size, 1rem)}[size=xl][invalid=\"\"].gov-form-multi-select .icon-arrow,[size=xl][invalid=true i].gov-form-multi-select .icon-arrow,[size=xl][invalid=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-xl-arrow-right-position, 1.3125rem))}[size=xl][success=\"\"].gov-form-multi-select .icon-arrow,[size=xl][success=true i].gov-form-multi-select .icon-arrow,[size=xl][success=\"1\"].gov-form-multi-select .icon-arrow{right:calc(3 * var(--gov-form-select-xl-arrow-right-position, 1.3125rem))}[size=s][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=s][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=s][invalid=true i].gov-form-multi-select *[slot=right-icon]~select,[size=s][invalid=true i].gov-form-multi-select *[slot=right-icon]~input,[size=s][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=s][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-s-icon-padding, 2rem))}[size=s][success=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=s][success=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=s][success=true i].gov-form-multi-select *[slot=right-icon]~select,[size=s][success=true i].gov-form-multi-select *[slot=right-icon]~input,[size=s][success=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=s][success=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-s-icon-padding, 2rem))}[size=m][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=m][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=m][invalid=true i].gov-form-multi-select *[slot=right-icon]~select,[size=m][invalid=true i].gov-form-multi-select *[slot=right-icon]~input,[size=m][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=m][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-m-icon-padding, 2.5rem))}[size=m][success=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=m][success=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=m][success=true i].gov-form-multi-select *[slot=right-icon]~select,[size=m][success=true i].gov-form-multi-select *[slot=right-icon]~input,[size=m][success=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=m][success=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-m-icon-padding, 2.5rem))}[size=l][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=l][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=l][invalid=true i].gov-form-multi-select *[slot=right-icon]~select,[size=l][invalid=true i].gov-form-multi-select *[slot=right-icon]~input,[size=l][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=l][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-l-icon-padding, 2.5rem))}[size=l][success=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=l][success=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=l][success=true i].gov-form-multi-select *[slot=right-icon]~select,[size=l][success=true i].gov-form-multi-select *[slot=right-icon]~input,[size=l][success=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=l][success=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-l-icon-padding, 2.5rem))}[size=xl][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=xl][invalid=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=xl][invalid=true i].gov-form-multi-select *[slot=right-icon]~select,[size=xl][invalid=true i].gov-form-multi-select *[slot=right-icon]~input,[size=xl][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=xl][invalid=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-xl-icon-padding, 3rem))}[size=xl][success=\"\"].gov-form-multi-select *[slot=right-icon]~select,[size=xl][success=\"\"].gov-form-multi-select *[slot=right-icon]~input,[size=xl][success=true i].gov-form-multi-select *[slot=right-icon]~select,[size=xl][success=true i].gov-form-multi-select *[slot=right-icon]~input,[size=xl][success=\"1\"].gov-form-multi-select *[slot=right-icon]~select,[size=xl][success=\"1\"].gov-form-multi-select *[slot=right-icon]~input{padding-right:calc(2 * var(--gov-form-input-core-xl-icon-padding, 3rem))}.gov-form-multi-select{flex-wrap:wrap}.gov-form-multi-select__wrap{display:flex;gap:0.5rem;width:100%}.gov-form-multi-select__list{font-weight:var(--gov-text-xs-font-weight);font-size:var(--gov-text-xs-font-size);line-height:var(--gov-text-xs-line-height);letter-spacing:var(--gov-text-xs-letter-spacing);display:flex;gap:0.5rem;flex-wrap:wrap}.gov-form-multi-select__list>.gov-form-multi-select__item{position:relative;display:flex;flex:0 0 auto;align-items:center;padding:0rem 0rem 0rem 0.5rem;background:var(--gov-form-multiselect-bg, var(--gov-color-primary-200));transition:150ms linear background-color}";
21
19
 
22
20
  const GovFormMultiSelect = class {
@@ -27,6 +25,8 @@ const GovFormMultiSelect = class {
27
25
  this.govChange = createEvent(this, "gov-change", 7);
28
26
  this.govSelect = createEvent(this, "gov-select", 7);
29
27
  this.govRemove = createEvent(this, "gov-remove", 7);
28
+ this.value = undefined;
29
+ this.options = undefined;
30
30
  this.identifier = undefined;
31
31
  this.placeholder = undefined;
32
32
  this.variant = undefined;
@@ -43,9 +43,9 @@ const GovFormMultiSelect = class {
43
43
  this.wcagLabelledBy = undefined;
44
44
  this.wcagOwns = undefined;
45
45
  this.focused = undefined;
46
- this.value = undefined;
47
- this.selectedOptions = [];
48
- this.options = [];
46
+ this.valueState = undefined;
47
+ this.selectedOptionsState = [];
48
+ this.optionsState = [];
49
49
  this.selectId = createID('GovSelect');
50
50
  this.listId = createID('GovMultiList');
51
51
  this.h = govHost(this.host);
@@ -57,6 +57,12 @@ const GovFormMultiSelect = class {
57
57
  validateSize(newValue) {
58
58
  validateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root);
59
59
  }
60
+ watchOptions(newValue) {
61
+ this.optionsState = propsValueToArray(newValue);
62
+ }
63
+ watchValue(newValue) {
64
+ this.selectedOptionsState = propsValueToArray(newValue);
65
+ }
60
66
  watchDisabled() {
61
67
  this.passControlAttrs();
62
68
  }
@@ -69,65 +75,74 @@ const GovFormMultiSelect = class {
69
75
  this.validateVariant(this.variant);
70
76
  this.validateSize(this.size);
71
77
  this.watchDisabled();
78
+ this.passControlAttrs();
79
+ this.f.passAttrToLabel('required', String(this.required));
80
+ this.optionsState = propsValueToArray(this.options);
81
+ this.selectedOptionsState = propsValueToArray(this.value);
72
82
  }
73
83
  getAvailableOptions(ignoreFilter = false) {
74
- if (Array.isArray(this.options) && this.options.length) {
84
+ if (Array.isArray(this.optionsState) && this.optionsState.length) {
75
85
  if (ignoreFilter) {
76
- return this.options;
86
+ return this.optionsState;
77
87
  }
78
- return this.options.filter((option) => {
79
- const isSelected = this.selectedOptions.findIndex((selected) => selected.value === option.value);
80
- return (isSelected !== -1 || (option === null || option === void 0 ? void 0 : option.disabled)) ? false : true;
81
- });
88
+ return this.optionsState.filter((option) => {
89
+ const selectedIndex = this.selectedValueIndex(option.value);
90
+ return (selectedIndex !== -1 || (option === null || option === void 0 ? void 0 : option.disabled)) ? false : true;
91
+ }).map((option) => { var _a; return ({ name: (_a = option.name) !== null && _a !== void 0 ? _a : option.value, value: option.value }); });
82
92
  }
83
93
  return Array.from(this.selectRef.querySelectorAll('option'))
84
94
  .filter((option) => {
85
95
  if (ignoreFilter) {
86
96
  return true;
87
97
  }
88
- return !(option.disabled || option.selected);
98
+ const selectedIndex = this.selectedValueIndex(option.value);
99
+ return !(option.disabled || option.selected || selectedIndex > -1);
89
100
  })
90
101
  .map((option) => ({ name: option.textContent, value: option.value }));
91
102
  }
92
103
  initAutocomplete() {
93
- this.autocompleteRef.addEventListener('gov-select', this.onSelectHandler.bind(this));
94
- this.autocompleteRef.addEventListener('gov-input', this.onInputHandler.bind(this));
95
- this.autocompleteRef.addEventListener('gov-focus', this.onFocusHandler.bind(this));
96
- this.autocompleteRef.addEventListener('gov-blur', this.onBlurHandler.bind(this));
97
- this.autocompleteRef
98
- .setSearchCallback(value => {
104
+ var _a, _b, _c, _d, _e;
105
+ (_a = this.autocompleteRef) === null || _a === void 0 ? void 0 : _a.addEventListener('gov-select', this.onSelectHandler.bind(this));
106
+ (_b = this.autocompleteRef) === null || _b === void 0 ? void 0 : _b.addEventListener('gov-input', this.onInputHandler.bind(this));
107
+ (_c = this.autocompleteRef) === null || _c === void 0 ? void 0 : _c.addEventListener('gov-focus', this.onFocusHandler.bind(this));
108
+ (_d = this.autocompleteRef) === null || _d === void 0 ? void 0 : _d.addEventListener('gov-blur', this.onBlurHandler.bind(this));
109
+ (_e = this.autocompleteRef) === null || _e === void 0 ? void 0 : _e.setSearchCallback(searchString => {
99
110
  return new Promise(resolve => {
100
111
  const data = this.getAvailableOptions();
101
- if (String(value).length === 0) {
112
+ if (String(searchString).length === 0) {
102
113
  return resolve(data);
103
114
  }
104
- resolve(data.filter(({ name }) => {
115
+ resolve(data.filter(({ name, value }) => {
105
116
  if (!name)
106
- return false;
107
- return removeDiacritics(name).toLowerCase().indexOf(removeDiacritics(value).toLowerCase()) > -1;
117
+ name = value;
118
+ return removeDiacritics(name).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1;
108
119
  }));
109
120
  });
110
- })
111
- .then();
121
+ }).finally();
112
122
  }
113
- getOptionIndex(value) {
114
- return this.selectedOptions.findIndex(option => option.value === value.value && option.name === value.name);
123
+ selectedValueIndex(value) {
124
+ return this.selectedOptionsState.findIndex((selected) => selected === value);
115
125
  }
116
126
  getOptionElement(value) {
117
- return this.selectRef.querySelector('option[value="' + value.value + '"]');
127
+ return this.selectRef.querySelector('option[value="' + value + '"]');
128
+ }
129
+ getOption(value) {
130
+ var _a;
131
+ return (_a = this.getAvailableOptions(true).find((option) => option.value === value)) !== null && _a !== void 0 ? _a : null;
118
132
  }
119
133
  selectOption(newOption, notify = true) {
120
- const index = this.getOptionIndex(newOption);
134
+ const index = this.selectedValueIndex(newOption);
121
135
  if (index === -1) {
122
- this.selectedOptions = [...this.selectedOptions, newOption];
136
+ this.selectedOptionsState = [...this.selectedOptionsState, newOption];
137
+ this.value = this.selectedOptionsState;
123
138
  if (notify) {
124
139
  this.govChange.emit({
125
140
  component: FormMultiSelectClass.root,
126
- value: this.selectedOptions,
141
+ value: this.selectedOptionsState,
127
142
  });
128
143
  this.govSelect.emit({
129
144
  component: FormMultiSelectClass.root,
130
- value: this.selectedOptions,
145
+ value: this.selectedOptionsState,
131
146
  });
132
147
  }
133
148
  const option = this.getOptionElement(newOption);
@@ -137,18 +152,19 @@ const GovFormMultiSelect = class {
137
152
  }
138
153
  }
139
154
  removeOption(removeOption, notify = true) {
140
- const index = this.getOptionIndex(removeOption);
155
+ const index = this.selectedValueIndex(removeOption);
141
156
  if (index !== -1) {
142
- this.selectedOptions.splice(index, 1);
143
- this.selectedOptions = [...this.selectedOptions];
157
+ this.selectedOptionsState.splice(index, 1);
158
+ this.selectedOptionsState = [...this.selectedOptionsState];
159
+ this.value = this.selectedOptionsState;
144
160
  if (notify) {
145
161
  this.govChange.emit({
146
162
  component: FormMultiSelectClass.root,
147
- value: this.selectedOptions,
163
+ value: this.selectedOptionsState,
148
164
  });
149
165
  this.govRemove.emit({
150
166
  component: FormMultiSelectClass.root,
151
- value: this.selectedOptions,
167
+ value: this.selectedOptionsState,
152
168
  });
153
169
  }
154
170
  const option = this.getOptionElement(removeOption);
@@ -159,13 +175,14 @@ const GovFormMultiSelect = class {
159
175
  }
160
176
  async componentDidLoad() {
161
177
  this.initAutocomplete();
162
- this.selectRef.querySelectorAll('option').forEach((option) => {
163
- if (option.selected) {
164
- this.selectOption({
165
- name: option.textContent,
166
- value: option.value,
167
- }, false);
168
- }
178
+ }
179
+ async componentDidRender() {
180
+ tick(() => {
181
+ this.selectRef.querySelectorAll('option').forEach((option) => {
182
+ if (option.selected) {
183
+ this.selectOption(option.value, false);
184
+ }
185
+ });
169
186
  });
170
187
  if (canValidateWcagOnRender()) {
171
188
  await delay(500);
@@ -173,10 +190,16 @@ const GovFormMultiSelect = class {
173
190
  }
174
191
  }
175
192
  render() {
176
- return (h(Host, { class: FormMultiSelectClass.root, size: this.size, variant: this.variant }, h("div", { class: FormMultiSelectClass.wrap }, h("div", { class: "element" }, h("gov-form-autocomplete", { value: this.value, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, size: this.size, variant: this.variant, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: this.listId }), h("gov-icon", { slot: "right-icon", class: "icon-arrow", name: "chevron-down" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && h("slot", { name: "right-icon" }), this.success && h("gov-icon", { slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && h("gov-icon", { slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), h("select", { hidden: true, "aria-hidden": toBoolAttr(true), multiple: true, required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, h("slot", null), this.options.map((option) => {
177
- return (h("option", { value: option.value, selected: option.value === this.value, disabled: option === null || option === void 0 ? void 0 : option.disabled }, option.name));
178
- })))), this.hideSelectedList === false ? (h("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, this.selectedOptions.map(option => {
179
- return (h("li", { class: FormMultiSelectClass.item, role: "option" }, option.name, h("gov-button", { wcagLabel: 'Odebrat vybranou položku ' + option.name, variant: "primary", type: "base", size: "s", "on-gov-click": () => this.onTagRemove(option) }, h("gov-icon", { name: "x-lg" }))));
193
+ return (h(Host, { class: FormMultiSelectClass.root, size: this.size, variant: this.variant }, h("div", { class: FormMultiSelectClass.wrap }, h("div", { class: "element" }, h("gov-form-autocomplete", { value: this.valueState, disabled: this.disabled, identifier: this.identifier || this.selectId, required: false, size: this.size, variant: this.variant, placeholder: this.placeholder, "message-empty": this.messageEmpty, "message-loading": this.messageLoading, ref: el => (this.autocompleteRef = el), minlength: 0, wcagDescribedBy: this.wcagDescribedBy, wcagLabelledBy: this.wcagLabelledBy, wcagOwns: this.listId }), h("gov-icon", { slot: "right-icon", class: "icon-arrow", name: "chevron-down" }), this.h.hasSlot('right-icon') && !(this.success || this.invalid) && h("slot", { name: "right-icon" }), this.success && h("gov-icon", { slot: "right-icon", class: "icon-validation", name: "check-lg" }), this.invalid && h("gov-icon", { slot: "right-icon", class: "icon-validation", name: "exclamation-lg" }), h("select", { hidden: true, class: 'hidden-select-list', "aria-hidden": toBoolAttr(true), multiple: true, required: this.required, name: this.name, disabled: this.disabled, ref: el => (this.selectRef = el), "aria-disabled": toBoolAttrIfDefined(this.disabled), "aria-required": toBoolAttrIfDefined(this.required), "aria-invalid": toBoolAttrIfDefined(this.invalid), "aria-describedby": this.wcagDescribedBy, "aria-labelledby": this.wcagLabelledBy, "aria-owns": this.wcagOwns }, h("slot", null), Array.isArray(this.optionsState) && this.optionsState.map((option) => {
194
+ var _a;
195
+ const selectedOption = this.selectedValueIndex(option.value);
196
+ return (h("option", { value: option.value, selected: selectedOption > -1, disabled: option === null || option === void 0 ? void 0 : option.disabled }, (_a = option.name) !== null && _a !== void 0 ? _a : option.value));
197
+ })))), this.hideSelectedList === false ? (h("ul", { role: "listbox", id: this.listId, class: FormMultiSelectClass.list }, Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {
198
+ var _a, _b;
199
+ const option = this.getOption(selected);
200
+ if (!option)
201
+ return null;
202
+ return (h("li", { class: FormMultiSelectClass.item, role: "option" }, (_a = option.name) !== null && _a !== void 0 ? _a : option.value, h("gov-button", { wcagLabel: (_b = 'Odebrat vybranou položku ' + option.name) !== null && _b !== void 0 ? _b : option.value, variant: "primary", type: "base", size: "s", "on-gov-click": () => this.onTagRemove(selected) }, h("gov-icon", { name: "x-lg" }))));
180
203
  }))) : null));
181
204
  }
182
205
  onFocusHandler(e) {
@@ -185,7 +208,7 @@ const GovFormMultiSelect = class {
185
208
  this.govFocus.emit({
186
209
  component: FormMultiSelectClass.root,
187
210
  originalEvent: e,
188
- value: this.selectedOptions,
211
+ value: this.selectedOptionsState,
189
212
  });
190
213
  }
191
214
  onBlurHandler(e) {
@@ -195,19 +218,19 @@ const GovFormMultiSelect = class {
195
218
  this.govBlur.emit({
196
219
  component: FormMultiSelectClass.root,
197
220
  originalEvent: e,
198
- value: this.selectedOptions,
221
+ value: this.selectedOptionsState,
199
222
  });
200
223
  }
201
224
  onInputHandler(e) {
202
- this.value = e.detail.value;
225
+ this.valueState = e.detail.value;
203
226
  e.stopPropagation();
204
227
  }
205
228
  onSelectHandler(e) {
206
229
  e.stopPropagation();
207
230
  const value = e.detail.selected;
208
- this.selectOption(value);
209
- this.value = '';
210
- this.autocompleteRef.clearValue();
231
+ this.selectOption(value.value);
232
+ this.valueState = '';
233
+ this.autocompleteRef.clearValue().finally();
211
234
  this.autocompleteRef.focus();
212
235
  }
213
236
  onTagRemove(removeOption) {
@@ -223,7 +246,7 @@ const GovFormMultiSelect = class {
223
246
  * Sets the ordered value of the element
224
247
  */
225
248
  async setValue(value) {
226
- this.value = value;
249
+ this.valueState = value;
227
250
  }
228
251
  /**
229
252
  * Returns an instance of the native html select element
@@ -231,50 +254,6 @@ const GovFormMultiSelect = class {
231
254
  async getRef() {
232
255
  return this.selectRef;
233
256
  }
234
- /**
235
- * Returns a list of selected items
236
- */
237
- async getSelectedOptions() {
238
- return this.selectedOptions;
239
- }
240
- /**
241
- * Setting a list of options to choose from
242
- */
243
- async setOptions(options) {
244
- if (Array.isArray(options)) {
245
- this.options = [...options];
246
- }
247
- }
248
- /**
249
- * Returns all available options
250
- */
251
- async getOptions(ignoreFilter = true) {
252
- return this.getAvailableOptions(ignoreFilter);
253
- }
254
- /**
255
- * Setting the list of selected options
256
- */
257
- async setSelectedOptions(options) {
258
- if (Array.isArray(options)) {
259
- this.selectedOptions = [...options];
260
- }
261
- }
262
- /**
263
- * To remove an option from the selected list
264
- */
265
- async removeSelectedOption(option, notify = false) {
266
- if (typeof option === 'object' && hasOwnProperty(option, 'name') && hasOwnProperty(option, 'value')) {
267
- this.removeOption(option, notify);
268
- }
269
- }
270
- /**
271
- * Returns an instance of the native html select element
272
- */
273
- async setSelectedOption(option, notify = false) {
274
- if (typeof option === 'object' && hasOwnProperty(option, 'name') && hasOwnProperty(option, 'value')) {
275
- this.selectOption(option, notify);
276
- }
277
- }
278
257
  /**
279
258
  * Validate the WCAG attributes of the component
280
259
  */
@@ -288,6 +267,8 @@ const GovFormMultiSelect = class {
288
267
  static get watchers() { return {
289
268
  "variant": ["validateVariant"],
290
269
  "size": ["validateSize", "watchDisabled"],
270
+ "options": ["watchOptions"],
271
+ "value": ["watchValue"],
291
272
  "disabled": ["watchDisabled"],
292
273
  "invalid": ["watchDisabled"],
293
274
  "success": ["watchDisabled"]
@@ -1 +1 @@
1
- {"file":"gov-form-multi-select.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/utils/helpers.types.ts","../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.scss?tag=gov-form-multi-select","../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"sourcesContent":["\nexport type Optional<T> = T | undefined;\nexport type Nullable<T> = T | null;\nexport type OptionalProperty<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\nexport type ValueOf<T> = T[keyof T];\n\nexport type DeepPartial<T> = {\n\t[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport type ObjectOrArrayType<T> = T | T[];\nexport const ObjectOrArray = {\n\tfirst: <T>(item: ObjectOrArrayType<T>): T => (Array.isArray(item) ? item[0] : item),\n\tarray: <T>(item: ObjectOrArrayType<T>): T[] => (Array.isArray(item) ? item : [item]),\n};\n\nexport const Omit = <T extends object, P extends keyof T, R extends Omit<T, P>>(properties: P[], object: T): R =>\n\tObject.entries(object).reduce(\n\t\t(all, [key, value]) => (properties.includes(key as P) ? all : { ...all, [key]: value }),\n\t\t{} as R\n\t);\n\nexport const whenDefined =\n\t<I, O>(fn: (input: I) => O) =>\n\t(value?: I): O | undefined =>\n\t\tvalue ? fn(value) : undefined;\n\n/**\n * Comparator function which defines the sort order\n * @example\n * ```\n * // sorts objects by `id` property\n * [{ id: 3 }, { id: 2 }, { id: 1 }].sort(compare(['id']))\n *\n * // sorts objects by `id` and `name` properties\n * [{ id: 3, name: 'b' }, { id: 2, name: 'a' }, { id: 1, name: 'b' }].sort(compare(['id', 'name']))\n * ```\n *\n * @param {Array<keyof T>} properties\n * @return {number}\n */\nexport const compare =\n\t<T extends object>(properties: Array<keyof T>) =>\n\t(a: T, b: T): number => {\n\t\tconst [property, ...rest] = properties;\n\t\tif (!property) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (a[property] < b[property]) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (a[property] > b[property]) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn rest.length > 0 ? compare(rest)(a, b) : 0;\n\t};\n\nexport const is = <T>(value: T | undefined | null): value is T => value !== undefined && value !== null;\n\nexport const has =\n\t<T extends object, P extends keyof T>(property: P) =>\n\t(object: OptionalProperty<T, P>): object is T => {\n\t\treturn !!object[property];\n\t};\n\nexport const equals =\n\t<A>(a?: A) =>\n\t(b?: A): boolean =>\n\t\ta === b;\nexport const prop =\n\t<T, P extends keyof T>(property: P) =>\n\t(object: T): T[P] =>\n\t\tobject[property];\n\nexport const propOptional =\n\t<T, P extends keyof T>(property: P) =>\n\t(object?: T): Optional<T[P]> =>\n\t\tobject ? object[property] : undefined;\n\nexport const hasOwnProperty = <X extends object, Y extends PropertyKey>(\n\tobj: X,\n\tprop: Y\n): obj is X & Record<Y, ValueOf<X>> => {\n\treturn Object.prototype.hasOwnProperty.call(obj, prop);\n};\n\nexport const isObject = <T extends object>(obj: unknown): obj is T => typeof obj === 'object';\nexport const isString = (input: unknown): input is string => is(input) && typeof input === 'string';\nexport const isNumber = (input: unknown): input is string => is(input) && typeof input === 'number';\n\ntype Entries<T> = {\n\t[K in keyof T]: [K, T[K]];\n}[keyof T][];\nexport const getEntries = <T extends object>(obj: T) => Object.entries(obj) as Entries<T>;\n\nexport const getKeys = <T extends object>(obj: T) => Object.keys(obj) as Array<keyof T>;\nexport const getValues = <T extends object>(obj: T) => Object.values(obj) as Array<ValueOf<T>>;\n\nexport const first = <T>(array: T[]): Optional<T> => array[0];\n\nexport const pairs = <T>(arr: T[]): Array<[string, string]> =>\n\tarr.flatMap((item1, index1) => arr.flatMap((item2, index2) => (index1 > index2 ? [[item1, item2]] : []))) as any;\n\nexport const find =\n\t<T, S extends T>(predicate: (item: T) => item is S) =>\n\t(array?: T[]): Optional<S> =>\n\t\t(array || []).find(predicate);\nexport const filter =\n\t<T, S extends T>(predicate: (item: T) => item is S) =>\n\t(array?: T[]): S[] =>\n\t\t(array || []).filter(predicate);\n","/*\n * Multiselect\n */\n\n@import \"../select/gov-form-select-core.scss\";\n$class: \".gov-form-multi-select\";\n\n#{$class} {\n\t@extend %form-select-core;\n\tflex-wrap: wrap;\n\t&__wrap {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(8);\n\t\twidth: 100%;\n\t}\n\t&__list {\n\t\t@extend %reset-ul;\n\t\t@include typography($font-size-xs);\n\t\tdisplay: flex;\n\t\tgap: rem-calc(8);\n\t\tflex-wrap: wrap;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t\talign-items: center;\n\t\tpadding: rem-calc(0 0 0 8);\n\t\tbackground: $form-multiselect-bg;\n\t\ttransition: $t linear background-color;\n\t}\n}\n","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 {canValidateWcagOnRender} from '../../../helpers/Dom/win'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {validateWcagLabelFor, validateWcagRef} from '../../../helpers/Validate/wcag'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {delay} from '../../../utils/utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {\n\tFormMultiSelectClass,\n\tFormMultiselectSizes,\n\tFormMultiselectSizesType,\n\tFormMultiselectVariants,\n\tFormMultiselectVariantType\n} from './constants'\nimport {FormMultiselectEvent, GovFormMultiSelectItem} from './gov-form-multi-select.types'\nimport {hasOwnProperty} from \"../../../utils/helpers.types\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n\tstyleUrl: 'gov-form-multi-select.scss',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\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 * 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 * Style variation of the form select.\n\t */\n\t@Prop() readonly variant?: FormMultiselectVariantType\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() 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() 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 * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-described-by'}) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({attribute: 'wcag-labelled-by'}) readonly wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-owns'}) readonly wcagOwns: string\n\t/**\n\t * 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() value: string\n\t@State() selectedOptions: GovFormMultiSelectItem[] = []\n\t@State() options: GovFormMultiSelectItem[] = []\n\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormMultiselectVariants, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchDisabled(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t\tthis.watchDisabled()\n\t}\n\n\tprivate getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.options) && this.options.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.options;\n\t\t\t}\n\t\t\treturn this.options.filter((option) => {\n\t\t\t\tconst isSelected = this.selectedOptions.findIndex((selected) => selected.value === option.value)\n\t\t\t\treturn (isSelected !== -1 || option?.disabled) ? false : true\n\t\t\t})\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\treturn !(option.disabled || option.selected)\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(value => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(value).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(({name}) => {\n\t\t\t\t\t\t\tif (!name) return false\n\t\t\t\t\t\t\treturn removeDiacritics(name).toLowerCase().indexOf(removeDiacritics(value).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.then()\n\t}\n\n\tprivate getOptionIndex(value: GovFormMultiSelectItem): number {\n\t\treturn this.selectedOptions.findIndex(option => option.value === value.value && option.name === value.name)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value.value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectItem, notify = true) {\n\t\tconst index = this.getOptionIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptions = [...this.selectedOptions, newOption]\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.selectedOptions,\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.selectedOptions,\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: GovFormMultiSelectItem, notify = true) {\n\t\tconst index = this.getOptionIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptions.splice(index, 1)\n\t\t\tthis.selectedOptions = [...this.selectedOptions]\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.selectedOptions,\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.selectedOptions,\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 componentDidLoad() {\n\t\tthis.initAutocomplete()\n\n\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectOption({\n\t\t\t\t\tname: option.textContent,\n\t\t\t\t\tvalue: option.value,\n\t\t\t\t}, false)\n\t\t\t}\n\t\t})\n\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t<div class=\"element\">\n\t\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\t\t\twcagOwns={this.listId}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<gov-icon slot=\"right-icon\" class=\"icon-arrow\" name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\"/>}\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\t\taria-owns={this.wcagOwns}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t{this.options.map((option) => {\n\t\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.name}</option>)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\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{this.selectedOptions.map(option => {\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.name}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\twcagLabel={'Odebrat vybranou položku ' + option.name}\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize=\"s\"\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(option)}\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\"></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.selectedOptions,\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.selectedOptions,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.value = 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 as GovFormMultiSelectItem)\n\t\tthis.value = ''\n\t\tthis.autocompleteRef.clearValue()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectItem) {\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.value = 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\t/**\n\t * Returns a list of selected items\n\t */\n\t@Method()\n\tasync getSelectedOptions(): Promise<GovFormMultiSelectItem[]> {\n\t\treturn this.selectedOptions\n\t}\n\n\t/**\n\t * Setting a list of options to choose from\n\t */\n\t@Method()\n\tasync setOptions(options: GovFormMultiSelectItem[]): Promise<void> {\n\t\tif (Array.isArray(options)) {\n\t\t\tthis.options = [...options]\n\t\t}\n\t}\n\n\t/**\n\t * Returns all available options\n\t */\n\t@Method()\n\tasync getOptions(ignoreFilter = true): Promise<GovFormMultiSelectItem[]> {\n\t\treturn this.getAvailableOptions(ignoreFilter)\n\t}\n\n\t/**\n\t * Setting the list of selected options\n\t */\n\t@Method()\n\tasync setSelectedOptions(options: GovFormMultiSelectItem[]): Promise<void> {\n\t\tif (Array.isArray(options)) {\n\t\t\tthis.selectedOptions = [...options]\n\t\t}\n\t}\n\n\t/**\n\t * To remove an option from the selected list\n\t */\n\t@Method()\n\tasync removeSelectedOption(option: GovFormMultiSelectItem, notify = false): Promise<void> {\n\t\tif (typeof option === 'object' && hasOwnProperty(option, 'name') && hasOwnProperty(option, 'value')) {\n\t\t\tthis.removeOption(option, notify)\n\t\t}\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync setSelectedOption(option: GovFormMultiSelectItem, notify = false): Promise<void> {\n\t\tif (typeof option === 'object' && hasOwnProperty(option, 'name') && hasOwnProperty(option, 'value')) {\n\t\t\tthis.selectOption(option, notify)\n\t\t}\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormMultiSelectClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormMultiSelectClass.root)\n\t\tvalidateWcagRef(this.wcagOwns, 'wcag-owns', FormMultiSelectClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.selectId, this.wcagLabelledBy, FormMultiSelectClass.root)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-multi-select.entry.js","mappings":"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","names":[],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.scss?tag=gov-form-multi-select","../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-select.tsx"],"sourcesContent":["/*\n * Multiselect\n */\n\n@import \"../select/gov-form-select-core.scss\";\n$class: \".gov-form-multi-select\";\n\n#{$class} {\n\t@extend %form-select-core;\n\tflex-wrap: wrap;\n\t&__wrap {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(8);\n\t\twidth: 100%;\n\t}\n\t&__list {\n\t\t@extend %reset-ul;\n\t\t@include typography($font-size-xs);\n\t\tdisplay: flex;\n\t\tgap: rem-calc(8);\n\t\tflex-wrap: wrap;\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex: 0 0 auto;\n\t\talign-items: center;\n\t\tpadding: rem-calc(0 0 0 8);\n\t\tbackground: $form-multiselect-bg;\n\t\ttransition: $t linear background-color;\n\t}\n}\n","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 {canValidateWcagOnRender} from '../../../helpers/Dom/win'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {validateWcagLabelFor, validateWcagRef} from '../../../helpers/Validate/wcag'\nimport {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {delay} from '../../../utils/utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {\n\tFormMultiSelectClass,\n\tFormMultiselectSizes,\n\tFormMultiselectSizesType,\n\tFormMultiselectVariants,\n\tFormMultiselectVariantType\n} 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\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n\tstyleUrl: 'gov-form-multi-select.scss',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\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 * Style variation of the form select.\n\t */\n\t@Prop() readonly variant?: FormMultiselectVariantType\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() 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() 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 * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-described-by'}) readonly wcagDescribedBy: string\n\t/**\n\t * Indicates the id of a component that labels the input.\n\t */\n\t@Prop({attribute: 'wcag-labelled-by'}) readonly wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the input.\n\t */\n\t@Prop({attribute: 'wcag-owns'}) readonly wcagOwns: string\n\t/**\n\t * 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('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(FormMultiselectVariants, newValue, FormMultiSelectClass.root)\n\t}\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@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchDisabled(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateVariant(this.variant)\n\t\tthis.validateSize(this.size)\n\t\tthis.watchDisabled()\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\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.name ?? 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(({name, value}) => {\n\t\t\t\t\t\t\tif (!name) name = value;\n\t\t\t\t\t\t\treturn removeDiacritics(name).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 componentDidLoad() {\n\t\tthis.initAutocomplete()\n\t}\n\n\tasync componentDidRender() {\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\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size} variant={this.variant}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t<div class=\"element\">\n\t\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\t\twcagDescribedBy={this.wcagDescribedBy}\n\t\t\t\t\t\t\twcagLabelledBy={this.wcagLabelledBy}\n\t\t\t\t\t\t\twcagOwns={this.listId}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<gov-icon slot=\"right-icon\" class=\"icon-arrow\" name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\"/>}\n\t\t\t\t\t\t{this.success && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"right-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\thidden\n\t\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-describedby={this.wcagDescribedBy}\n\t\t\t\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\t\t\t\taria-owns={this.wcagOwns}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\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\t\t\t\t\t\tdisabled={option?.disabled}>{option.name ?? option.value}</option>)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\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.name ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\twcagLabel={'Odebrat vybranou položku ' + option.name ?? option.value}\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize=\"s\"\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\"></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\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagDescribedBy, 'wcag-described-by', FormMultiSelectClass.root)\n\t\tvalidateWcagRef(this.wcagLabelledBy, 'wcag-labelled-by', FormMultiSelectClass.root)\n\t\tvalidateWcagRef(this.wcagOwns, 'wcag-owns', FormMultiSelectClass.root)\n\t\tvalidateWcagLabelFor(this.identifier || this.selectId, this.wcagLabelledBy, FormMultiSelectClass.root)\n\t}\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-eb59f132.js';
2
2
  import { c as createID } from './string.utils-f268fc6b.js';
3
3
  import { v as validateProp } from './props-a85d9c89.js';
4
- import { g as govForm, f as FormRadioClass, h as FormRadioSizes } from './form-39dc6896.js';
5
- import { g as govHost, a as toBoolAttr, t as toBoolAttrIfDefined } from './template-df429738.js';
4
+ import { g as govForm, f as FormRadioClass, h as FormRadioSizes } from './form-e3424b70.js';
5
+ import { g as govHost, a as toBoolAttr, t as toBoolAttrIfDefined } from './template-a0067bb6.js';
6
6
  import { a as validateWcagRef, b as validateWcagLabelFor } from './wcag-7d25e12b.js';
7
7
  import { c as canValidateWcagOnRender } from './win-1dbd3f5c.js';
8
8
  import { d as delay } from './utils-c057a3fa.js';
@@ -9,7 +9,7 @@ const FormSearchClass = {
9
9
  button: 'gov-form-search__button',
10
10
  };
11
11
 
12
- const govFormSearchCss = ".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-search{position:relative;display:flex;width:100%;gap:0.5rem;align-items:center;border-radius:var(--gov-border-radius, 0.1875rem);background-color:var(--gov-form-bg-color, var(--gov-color-neutral-white))}.gov-form-search:focus{outline:none}.gov-form-search:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-search:focus-within{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-search__input{flex:1 1 auto}.gov-form-search__input input{height:auto;border-width:0 !important}.gov-form-search__input input:focus-visible{outline:none !important}.gov-form-search__button{flex:0 0 auto;margin:0.1875rem 0.1875rem 0.1875rem 0}.gov-form-search[variant=primary]{border:var(--gov-form-input-border-primary, 0.0625rem solid var(--gov-color-primary-600))}.gov-form-search[variant=secondary]{border:var(--gov-form-input-border-secondary, 0.0625rem solid var(--gov-color-secondary-700))}";
12
+ const govFormSearchCss = ".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-form-search{position:relative;display:flex;width:100%;gap:0.5rem;align-items:center;border-radius:var(--gov-border-radius, 0.1875rem);background-color:var(--gov-form-bg-color, var(--gov-color-neutral-white));padding:0.1875rem 0.1875rem 0.1875rem 0}.gov-form-search:focus{outline:none}.gov-form-search:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-search:focus-within{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-form-search__input{flex:1 1 auto}.gov-form-search__input input{height:auto;border-width:0 !important}.gov-form-search__input input:focus-visible{outline:none !important}.gov-form-search__button{flex:0 0 auto}.gov-form-search[variant=primary]{border:var(--gov-form-input-border-primary, 0.0625rem solid var(--gov-color-primary-600))}.gov-form-search[variant=secondary]{border:var(--gov-form-input-border-secondary, 0.0625rem solid var(--gov-color-secondary-700))}";
13
13
 
14
14
  const GovFormSearch = class {
15
15
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"gov-form-search.entry.js","mappings":";;;;AAI2B,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAC;AAG5D,MAAM,eAAe,GAAG;EAC9B,IAAI,EAAE,iBAAiB;EACvB,KAAK,EAAE,wBAAwB;EAC/B,MAAM,EAAE,yBAAyB;CACjC;;ACXD,MAAM,gBAAgB,GAAG,w6CAAw6C;;MCMp7C,aAAa;;;mBAKwC,WAAW;;EAE5E,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,eAAe,CAAC,IAAI,IAChC,YAAM,KAAK,EAAE,eAAe,CAAC,KAAK,IACjC,YAAM,IAAI,EAAC,OAAO,GAAG,CACf,EACP,YAAM,KAAK,EAAE,eAAe,CAAC,MAAM,IAClC,YAAM,IAAI,EAAC,QAAQ,GAAG,CAChB,CACD,EACP;GACD;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/search/constants.ts","../../../packages/core/src/components/gov-form/search/gov-form-search.scss?tag=gov-form-search","../../../packages/core/src/components/gov-form/search/gov-form-search.tsx"],"sourcesContent":["import { Variants } from '../../../core/constants/variants'\nimport { ValueOf } from '../../../types/interfaces'\nimport { pick } from '../../../utils/utils'\n\nexport const FormSearchs = pick(Variants, ['PRIMARY', 'SECONDARY'])\nexport type FormSearchVariantType = `${ValueOf<typeof FormSearchs>}`\n\nexport const FormSearchClass = {\n\troot: 'gov-form-search',\n\tinput: 'gov-form-search__input',\n\tbutton: 'gov-form-search__button',\n}\n","/*\n * Search\n */\n\n$class: \".gov-form-search\";\n\n#{$class} {\n\t@include base(flex);\n\t@include focus-outline($border-radius, 0, true);\n\tgap: rem-calc(8);\n\talign-items: center;\n\tborder-radius: $border-radius;\n\tbackground-color: $form-bg-color;\n\t&__input {\n\t\tflex: 1 1 auto;\n\t\tinput {\n\t\t\theight: auto;\n\t\t\tborder-width: 0 !important;\n\t\t\t&:focus-visible {\n\t\t\t\toutline: none !important;\n\t\t\t}\n\t\t}\n\t}\n\t&__button {\n\t\tflex: 0 0 auto;\n\t\tmargin: rem-calc(3) rem-calc(3) rem-calc(3) 0;\n\t}\n\n\t@each $variant, $definitions in $form-input-core-variants {\n\t\t&[variant=\"#{$variant}\"] {\n\t\t\tborder: get(\"border\", $definitions);\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport { FormSearchClass, FormSearchVariantType } from './constants'\n@Component({\n\ttag: 'gov-form-search',\n\tstyleUrl: 'gov-form-search.scss',\n})\nexport class GovFormSearch {\n\t@Element() host: HTMLGovFormSearchElement\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop({reflect: true}) readonly variant: FormSearchVariantType = 'secondary'\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSearchClass.root}>\n\t\t\t\t<span class={FormSearchClass.input}>\n\t\t\t\t\t<slot name=\"input\" />\n\t\t\t\t</span>\n\t\t\t\t<span class={FormSearchClass.button}>\n\t\t\t\t\t<slot name=\"button\" />\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-search.entry.js","mappings":";;;;AAI2B,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAC;AAG5D,MAAM,eAAe,GAAG;EAC9B,IAAI,EAAE,iBAAiB;EACvB,KAAK,EAAE,wBAAwB;EAC/B,MAAM,EAAE,yBAAyB;CACjC;;ACXD,MAAM,gBAAgB,GAAG,y6CAAy6C;;MCMr7C,aAAa;;;mBAKwC,WAAW;;EAE5E,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAE,eAAe,CAAC,IAAI,IAChC,YAAM,KAAK,EAAE,eAAe,CAAC,KAAK,IACjC,YAAM,IAAI,EAAC,OAAO,GAAG,CACf,EACP,YAAM,KAAK,EAAE,eAAe,CAAC,MAAM,IAClC,YAAM,IAAI,EAAC,QAAQ,GAAG,CAChB,CACD,EACP;GACD;;;;;;;","names":[],"sources":["../../../packages/core/src/components/gov-form/search/constants.ts","../../../packages/core/src/components/gov-form/search/gov-form-search.scss?tag=gov-form-search","../../../packages/core/src/components/gov-form/search/gov-form-search.tsx"],"sourcesContent":["import { Variants } from '../../../core/constants/variants'\nimport { ValueOf } from '../../../types/interfaces'\nimport { pick } from '../../../utils/utils'\n\nexport const FormSearchs = pick(Variants, ['PRIMARY', 'SECONDARY'])\nexport type FormSearchVariantType = `${ValueOf<typeof FormSearchs>}`\n\nexport const FormSearchClass = {\n\troot: 'gov-form-search',\n\tinput: 'gov-form-search__input',\n\tbutton: 'gov-form-search__button',\n}\n","/*\n * Search\n */\n\n$class: \".gov-form-search\";\n\n#{$class} {\n\t@include base(flex);\n\t@include focus-outline($border-radius, 0, true);\n\tgap: rem-calc(8);\n\talign-items: center;\n\tborder-radius: $border-radius;\n\tbackground-color: $form-bg-color;\n\tpadding: rem-calc(3) rem-calc(3) rem-calc(3) 0;\n\t&__input {\n\t\tflex: 1 1 auto;\n\t\tinput {\n\t\t\theight: auto;\n\t\t\tborder-width: 0 !important;\n\t\t\t&:focus-visible {\n\t\t\t\toutline: none !important;\n\t\t\t}\n\t\t}\n\t}\n\t&__button {\n\t\tflex: 0 0 auto;\n\t}\n\n\t@each $variant, $definitions in $form-input-core-variants {\n\t\t&[variant=\"#{$variant}\"] {\n\t\t\tborder: get(\"border\", $definitions);\n\t\t}\n\t}\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport { FormSearchClass, FormSearchVariantType } from './constants'\n@Component({\n\ttag: 'gov-form-search',\n\tstyleUrl: 'gov-form-search.scss',\n})\nexport class GovFormSearch {\n\t@Element() host: HTMLGovFormSearchElement\n\t/**\n\t * Style variation of the form input.\n\t */\n\t@Prop({reflect: true}) readonly variant: FormSearchVariantType = 'secondary'\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSearchClass.root}>\n\t\t\t\t<span class={FormSearchClass.input}>\n\t\t\t\t\t<slot name=\"input\" />\n\t\t\t\t</span>\n\t\t\t\t<span class={FormSearchClass.button}>\n\t\t\t\t\t<slot name=\"button\" />\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}