genesys-spark-components 3.4.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  3. package/dist/cjs/gux-accordion-legacy.cjs.entry.js +1 -1
  4. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-action-button-legacy.cjs.entry.js +1 -1
  6. package/dist/cjs/gux-action-button.cjs.entry.js +1 -1
  7. package/dist/cjs/gux-action-list-legacy.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-action-toast.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-advanced-dropdown.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-badge-beta.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-button-multi-legacy.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-button-slot-beta.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-card-beta.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-chart-column-beta.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-chart-donut-beta.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-chart-line-beta.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-chart-pie-beta.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-chart-scatter-plot-beta.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-command-palette-legacy.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-copy-to-clipboard-beta.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-datepicker.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-disclosure-button.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-dropdown-legacy.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-dropdown-multi-beta.cjs.entry.js +297 -0
  31. package/dist/cjs/gux-dropdown-multi-tag.cjs.entry.js +58 -0
  32. package/dist/cjs/gux-dropdown_3.cjs.entry.js +27 -175
  33. package/dist/cjs/gux-error-message-beta.cjs.entry.js +1 -1
  34. package/dist/cjs/gux-flyout-menu-beta.cjs.entry.js +1 -1
  35. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +6 -6
  36. package/dist/cjs/gux-form-field-color.cjs.entry.js +7 -7
  37. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +91 -0
  38. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  39. package/dist/cjs/gux-form-field-legacy.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-form-field-number.cjs.entry.js +9 -9
  41. package/dist/cjs/gux-form-field-radio.cjs.entry.js +6 -6
  42. package/dist/cjs/gux-form-field-range.cjs.entry.js +7 -7
  43. package/dist/cjs/gux-form-field-search.cjs.entry.js +9 -9
  44. package/dist/cjs/gux-form-field-select.cjs.entry.js +7 -7
  45. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +9 -9
  46. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +7 -7
  47. package/dist/cjs/{gux-form-field.servce-e9451c50.js → gux-form-field.service-e38b2c2f.js} +0 -0
  48. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/gux-list-item-legacy_2.cjs.entry.js +1 -1
  50. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  51. package/dist/cjs/gux-listbox-multi.cjs.entry.js +159 -0
  52. package/dist/cjs/gux-listbox.service-d394da79.js +161 -0
  53. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  54. package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-option-multi.cjs.entry.js +47 -0
  56. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-popover.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-row-select.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-switch.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-table-beta.cjs.entry.js +8 -5
  71. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-tabs-legacy.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-tag-beta.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-time-picker-beta.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-tooltip_2.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-visualization-beta.cjs.entry.js +1 -1
  81. package/dist/cjs/index-33b1b88e.js +442 -1
  82. package/dist/cjs/loader.cjs.js +1 -1
  83. package/dist/cjs/{usage-tracking-dad68b30.js → usage-tracking-f3cc3f84.js} +1 -1
  84. package/dist/collection/collection-manifest.json +5 -0
  85. package/dist/collection/components/beta/gux-dropdown-multi/gux-dropdown-multi-tag/gux-dropdown-multi-tag.css +50 -0
  86. package/dist/collection/components/beta/gux-dropdown-multi/gux-dropdown-multi-tag/gux-dropdown-multi-tag.js +116 -0
  87. package/dist/collection/components/beta/gux-dropdown-multi/gux-dropdown-multi.css +151 -0
  88. package/dist/collection/components/beta/gux-dropdown-multi/gux-dropdown-multi.js +458 -0
  89. package/dist/collection/components/beta/gux-table/gux-row-select/gux-row-select.js +18 -1
  90. package/dist/collection/components/beta/gux-table/gux-table.js +7 -4
  91. package/dist/collection/components/beta/gux-tag/gux-tag.js +0 -17
  92. package/dist/collection/components/stable/gux-dropdown/gux-dropdown.js +19 -0
  93. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.js +1 -1
  94. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.js +1 -1
  95. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.css +153 -0
  96. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.js +126 -0
  97. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +1 -1
  98. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.js +1 -1
  99. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.js +1 -1
  100. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.js +1 -1
  101. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.js +1 -1
  102. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.js +1 -1
  103. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +1 -1
  104. package/dist/collection/components/stable/gux-form-field/{gux-form-field.servce.js → gux-form-field.service.js} +0 -0
  105. package/dist/collection/components/stable/gux-listbox/gux-listbox.js +7 -9
  106. package/dist/collection/components/stable/gux-listbox-multi/gux-listbox-multi.css +23 -0
  107. package/dist/collection/components/stable/gux-listbox-multi/gux-listbox-multi.js +269 -0
  108. package/dist/collection/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.css +45 -0
  109. package/dist/collection/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.js +167 -0
  110. package/dist/deploy-info.json +3 -3
  111. package/dist/esm/genesys-webcomponents.js +1 -1
  112. package/dist/esm/gux-accordion-legacy.entry.js +1 -1
  113. package/dist/esm/gux-accordion.entry.js +1 -1
  114. package/dist/esm/gux-action-button-legacy.entry.js +1 -1
  115. package/dist/esm/gux-action-button.entry.js +1 -1
  116. package/dist/esm/gux-action-list-legacy.entry.js +1 -1
  117. package/dist/esm/gux-action-toast.entry.js +1 -1
  118. package/dist/esm/gux-advanced-dropdown.entry.js +1 -1
  119. package/dist/esm/gux-badge-beta.entry.js +1 -1
  120. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  121. package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
  122. package/dist/esm/gux-button-multi.entry.js +1 -1
  123. package/dist/esm/gux-button-slot-beta.entry.js +1 -1
  124. package/dist/esm/gux-button.entry.js +1 -1
  125. package/dist/esm/gux-calendar.entry.js +1 -1
  126. package/dist/esm/gux-card-beta.entry.js +1 -1
  127. package/dist/esm/gux-chart-column-beta.entry.js +1 -1
  128. package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
  129. package/dist/esm/gux-chart-line-beta.entry.js +1 -1
  130. package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
  131. package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
  132. package/dist/esm/gux-command-palette-legacy.entry.js +1 -1
  133. package/dist/esm/gux-content-search.entry.js +1 -1
  134. package/dist/esm/gux-copy-to-clipboard-beta.entry.js +1 -1
  135. package/dist/esm/gux-datepicker.entry.js +1 -1
  136. package/dist/esm/gux-disclosure-button.entry.js +1 -1
  137. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  138. package/dist/esm/gux-dropdown-legacy.entry.js +1 -1
  139. package/dist/esm/gux-dropdown-multi-beta.entry.js +293 -0
  140. package/dist/esm/gux-dropdown-multi-tag.entry.js +54 -0
  141. package/dist/esm/gux-dropdown_3.entry.js +9 -157
  142. package/dist/esm/gux-error-message-beta.entry.js +1 -1
  143. package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
  144. package/dist/esm/gux-form-field-checkbox.entry.js +2 -2
  145. package/dist/esm/gux-form-field-color.entry.js +2 -2
  146. package/dist/esm/gux-form-field-dropdown.entry.js +87 -0
  147. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  148. package/dist/esm/gux-form-field-legacy.entry.js +1 -1
  149. package/dist/esm/gux-form-field-number.entry.js +2 -2
  150. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  151. package/dist/esm/gux-form-field-range.entry.js +2 -2
  152. package/dist/esm/gux-form-field-search.entry.js +2 -2
  153. package/dist/esm/gux-form-field-select.entry.js +2 -2
  154. package/dist/esm/gux-form-field-text-like.entry.js +2 -2
  155. package/dist/esm/gux-form-field-textarea.entry.js +2 -2
  156. package/dist/esm/{gux-form-field.servce-971609e2.js → gux-form-field.service-4ad30790.js} +0 -0
  157. package/dist/esm/gux-icon.entry.js +1 -1
  158. package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
  159. package/dist/esm/gux-list.entry.js +1 -1
  160. package/dist/esm/gux-listbox-multi.entry.js +155 -0
  161. package/dist/esm/gux-listbox.service-3541a2f7.js +148 -0
  162. package/dist/esm/gux-modal.entry.js +1 -1
  163. package/dist/esm/gux-notification-toast.entry.js +1 -1
  164. package/dist/esm/gux-option-multi.entry.js +43 -0
  165. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  166. package/dist/esm/gux-pagination-beta.entry.js +1 -1
  167. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  168. package/dist/esm/gux-pagination.entry.js +1 -1
  169. package/dist/esm/gux-panel-frame-legacy.entry.js +1 -1
  170. package/dist/esm/gux-popover-list.entry.js +1 -1
  171. package/dist/esm/gux-popover.entry.js +1 -1
  172. package/dist/esm/gux-radial-loading.entry.js +1 -1
  173. package/dist/esm/gux-radial-progress.entry.js +1 -1
  174. package/dist/esm/gux-rating.entry.js +1 -1
  175. package/dist/esm/gux-row-select.entry.js +1 -1
  176. package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
  177. package/dist/esm/gux-simple-toast.entry.js +1 -1
  178. package/dist/esm/gux-switch.entry.js +1 -1
  179. package/dist/esm/gux-table-beta.entry.js +8 -5
  180. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  181. package/dist/esm/gux-tabs-legacy.entry.js +1 -1
  182. package/dist/esm/gux-tabs.entry.js +1 -1
  183. package/dist/esm/gux-tag-beta.entry.js +1 -1
  184. package/dist/esm/gux-text-highlight.entry.js +1 -1
  185. package/dist/esm/gux-text-label-legacy.entry.js +1 -1
  186. package/dist/esm/gux-time-picker-beta.entry.js +1 -1
  187. package/dist/esm/gux-toggle.entry.js +1 -1
  188. package/dist/esm/gux-tooltip_2.entry.js +1 -1
  189. package/dist/esm/gux-visualization-beta.entry.js +1 -1
  190. package/dist/esm/index-76794476.js +442 -1
  191. package/dist/esm/loader.js +1 -1
  192. package/dist/esm/{usage-tracking-e780a146.js → usage-tracking-83359dbf.js} +1 -1
  193. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  194. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ar.json +1 -1
  195. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.cs.json +1 -1
  196. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.da.json +1 -1
  197. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.de.json +1 -1
  198. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
  199. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es-es.json +1 -1
  200. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es.json +1 -1
  201. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fi.json +1 -1
  202. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr-ca.json +1 -1
  203. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr.json +1 -1
  204. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.it.json +1 -1
  205. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ja.json +1 -1
  206. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ko.json +1 -1
  207. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.nl.json +1 -1
  208. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.no.json +1 -1
  209. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pl.json +1 -1
  210. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pt-br.json +1 -1
  211. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ru.json +1 -1
  212. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.sv.json +1 -1
  213. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.th.json +1 -1
  214. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.tr.json +1 -1
  215. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-cn.json +1 -1
  216. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-tw.json +1 -1
  217. package/dist/genesys-webcomponents/p-020690ec.entry.js +1 -0
  218. package/dist/genesys-webcomponents/{p-636c54c6.entry.js → p-0319263d.entry.js} +1 -1
  219. package/dist/genesys-webcomponents/{p-2a39b40e.entry.js → p-0424f896.entry.js} +1 -1
  220. package/dist/genesys-webcomponents/{p-d19a7fb6.entry.js → p-07f57fba.entry.js} +1 -1
  221. package/dist/genesys-webcomponents/p-0ba16a48.entry.js +1 -0
  222. package/dist/genesys-webcomponents/{p-1031b574.entry.js → p-0c2f3d37.entry.js} +1 -1
  223. package/dist/genesys-webcomponents/{p-378cd6cf.entry.js → p-0d51e659.entry.js} +1 -1
  224. package/dist/genesys-webcomponents/{p-4ade0038.entry.js → p-0eade7d8.entry.js} +1 -1
  225. package/dist/genesys-webcomponents/{p-cd9ddc56.entry.js → p-11a585f0.entry.js} +1 -1
  226. package/dist/genesys-webcomponents/{p-7009289e.entry.js → p-1729a48c.entry.js} +1 -1
  227. package/dist/genesys-webcomponents/{p-d5da8ebb.entry.js → p-17980fa9.entry.js} +1 -1
  228. package/dist/genesys-webcomponents/{p-28c7f729.entry.js → p-1b839ce5.entry.js} +1 -1
  229. package/dist/genesys-webcomponents/{p-e8009e30.entry.js → p-2428f6b2.entry.js} +1 -1
  230. package/dist/genesys-webcomponents/{p-0842e67c.entry.js → p-291608e9.entry.js} +1 -1
  231. package/dist/genesys-webcomponents/{p-60556732.entry.js → p-29f0760a.entry.js} +1 -1
  232. package/dist/genesys-webcomponents/{p-0ddd8d4f.entry.js → p-2a0fbc9f.entry.js} +1 -1
  233. package/dist/genesys-webcomponents/p-2a2f15bb.entry.js +1 -0
  234. package/dist/genesys-webcomponents/{p-5854940b.entry.js → p-32235f46.entry.js} +1 -1
  235. package/dist/genesys-webcomponents/{p-96011a34.entry.js → p-323c1430.entry.js} +1 -1
  236. package/dist/genesys-webcomponents/{p-155bb34f.entry.js → p-32585fea.entry.js} +1 -1
  237. package/dist/genesys-webcomponents/p-3770c1e9.js +1 -0
  238. package/dist/genesys-webcomponents/{p-65b6304c.entry.js → p-39d898df.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-1d011a81.entry.js → p-3e94ba55.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/{p-32e65c1f.entry.js → p-42f9c421.entry.js} +1 -1
  241. package/dist/genesys-webcomponents/{p-08b07a2b.js → p-479cf5a2.js} +0 -0
  242. package/dist/genesys-webcomponents/{p-983933c0.entry.js → p-4c5acf82.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-29014d1e.entry.js → p-58b5efa2.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/{p-2cf45506.entry.js → p-5bbf331f.entry.js} +1 -1
  245. package/dist/genesys-webcomponents/{p-e902c88f.entry.js → p-60f75d6e.entry.js} +1 -1
  246. package/dist/genesys-webcomponents/{p-ed5511fd.entry.js → p-62c2dcaf.entry.js} +1 -1
  247. package/dist/genesys-webcomponents/{p-d230bf80.entry.js → p-62d1cde8.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/p-66ca3da0.entry.js +1 -0
  249. package/dist/genesys-webcomponents/{p-f6ee453e.entry.js → p-6809132b.entry.js} +1 -1
  250. package/dist/genesys-webcomponents/{p-382be864.entry.js → p-6e2e5f6f.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-85e91ce9.entry.js → p-71a69169.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/{p-7190ade6.entry.js → p-7213d71d.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/{p-be064568.entry.js → p-772f31b1.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-53b57303.entry.js → p-77f93a2b.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/{p-e6759802.entry.js → p-787ec751.entry.js} +1 -1
  256. package/dist/genesys-webcomponents/{p-c528cbba.entry.js → p-7b4f9126.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-2caf5f99.entry.js → p-7cc82e6f.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-7b189793.entry.js → p-88b2b100.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-17d4a2ef.entry.js → p-90ba25cf.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/{p-266acba3.entry.js → p-95e43594.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-c6588eae.entry.js → p-964097f0.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-ceeb8e8b.entry.js → p-9a09169f.entry.js} +1 -1
  263. package/dist/genesys-webcomponents/{p-648daaad.entry.js → p-9d663bf4.entry.js} +1 -1
  264. package/dist/genesys-webcomponents/{p-d7ea3dd5.entry.js → p-9f97f311.entry.js} +1 -1
  265. package/dist/genesys-webcomponents/{p-0749ddc0.js → p-a44f5924.js} +1 -1
  266. package/dist/genesys-webcomponents/{p-34b626d1.entry.js → p-a5fa799d.entry.js} +1 -1
  267. package/dist/genesys-webcomponents/{p-c09846a5.entry.js → p-a87d2b90.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-730b7824.entry.js → p-a926e0c4.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/{p-b1662ae2.entry.js → p-a9499ee1.entry.js} +1 -1
  270. package/dist/genesys-webcomponents/{p-80e8d129.entry.js → p-ab11ff84.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/{p-5fa06e39.entry.js → p-af4be06f.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-f2188fb8.entry.js → p-b7c37cbc.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-0bccbc5e.entry.js → p-bd2fd32a.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-22c63b2f.entry.js → p-bf6fd055.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/{p-9268a785.entry.js → p-c3582f7c.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/{p-3c2622bb.entry.js → p-cc544e76.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-6ae02bd1.entry.js → p-ccfa2e58.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-5e4a13fa.entry.js → p-cf581353.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-6cba93cf.entry.js → p-d989c6fa.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-9e8e412b.entry.js → p-dbc95134.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-5238df29.entry.js → p-dc53d8fb.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/{p-8582d04a.entry.js → p-dee741ef.entry.js} +1 -1
  283. package/dist/genesys-webcomponents/{p-3095605b.entry.js → p-e67b0d46.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/p-e78de8af.entry.js +1 -0
  285. package/dist/genesys-webcomponents/{p-269963ec.entry.js → p-e813ac64.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/p-ea1706f3.entry.js +1 -0
  287. package/dist/genesys-webcomponents/{p-dc35acd6.entry.js → p-eaff9d4f.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-1892eb76.entry.js → p-ef9491b9.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/p-f07ad3df.entry.js +1 -0
  290. package/dist/genesys-webcomponents/p-f4e91e7a.entry.js +1 -0
  291. package/dist/genesys-webcomponents/{p-c7b78b58.entry.js → p-fa36c86b.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/p-fb49bd0d.entry.js +1 -0
  293. package/dist/genesys-webcomponents/{p-bfd2effd.entry.js → p-fb6977e1.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-918a52ca.entry.js → p-fd4474d2.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-18788841.entry.js → p-ff2a29fb.entry.js} +1 -1
  296. package/dist/stencil-wrapper.js +1 -1
  297. package/dist/types/components/beta/gux-dropdown-multi/gux-dropdown-multi-tag/gux-dropdown-multi-tag.d.ts +20 -0
  298. package/dist/types/components/beta/gux-dropdown-multi/gux-dropdown-multi.d.ts +56 -0
  299. package/dist/types/components/beta/gux-table/gux-row-select/gux-row-select.d.ts +1 -0
  300. package/dist/types/components/beta/gux-tag/gux-tag.d.ts +0 -4
  301. package/dist/types/components/stable/gux-dropdown/gux-dropdown.d.ts +1 -0
  302. package/dist/types/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.d.ts +27 -0
  303. package/dist/types/components/stable/gux-form-field/{gux-form-field.servce.d.ts → gux-form-field.service.d.ts} +1 -1
  304. package/dist/types/components/stable/gux-listbox/gux-listbox.d.ts +1 -1
  305. package/dist/types/components/stable/gux-listbox-multi/gux-listbox-multi.d.ts +28 -0
  306. package/dist/types/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.d.ts +15 -0
  307. package/dist/types/components.d.ts +125 -8
  308. package/dist/types/utils/dom/on-attribute-change.d.ts +2 -2
  309. package/package.json +1 -1
  310. package/dist/genesys-webcomponents/p-03f786bb.entry.js +0 -1
  311. package/dist/genesys-webcomponents/p-201c4e67.entry.js +0 -1
  312. package/dist/genesys-webcomponents/p-6eea2eb5.entry.js +0 -1
  313. package/dist/genesys-webcomponents/p-7cef90a5.entry.js +0 -1
@@ -0,0 +1,297 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-33b1b88e.js');
6
+ const onClickOutside = require('./on-click-outside-246a1eb3.js');
7
+ const index$1 = require('./index-2202ad01.js');
8
+ const simulateNativeEvent = require('./simulate-native-event-fe3e62da.js');
9
+ const usageTracking = require('./usage-tracking-f3cc3f84.js');
10
+ const guxListbox_service = require('./gux-listbox.service-d394da79.js');
11
+ require('./get-closest-element-ab4b2eee.js');
12
+
13
+ const filterResults = "Type to filter dropdown results";
14
+ const noSelection = "Select...";
15
+ const dropdown = "Dropdown";
16
+ const numberSelected = "{numberSelected} selected";
17
+ const translationResources = {
18
+ filterResults: filterResults,
19
+ noSelection: noSelection,
20
+ dropdown: dropdown,
21
+ numberSelected: numberSelected
22
+ };
23
+
24
+ const guxDropdownMultiCss = ":host{color:#2e394c}.gux-dropdown-container{position:relative}gux-dropdown-multi-tag{position:absolute;right:32px;bottom:4px}.gux-field,.gux-target-container-expanded{all:unset;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:center;width:100%;height:32px;padding:6px 0 6px 6px;font-family:inherit;font-size:12px;line-height:1.6667;cursor:pointer;background-color:#f6f7f9}.gux-field.gux-input-field{height:30px;cursor:text}.gux-field .gux-field-content{position:relative;display:flex;flex:1 1 0;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;min-width:0;height:100%}.gux-field .gux-field-content .gux-filter,.gux-field .gux-field-content .gux-selected-option,.gux-field .gux-field-content .gux-placeholder{flex:1 1 auto;align-self:auto;order:0;padding-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gux-field .gux-field-content .gux-filter .gux-sr-only:not(:focus):not(:active),.gux-field .gux-field-content .gux-selected-option .gux-sr-only:not(:focus):not(:active),.gux-field .gux-field-content .gux-placeholder .gux-sr-only:not(:focus):not(:active){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.gux-field .gux-field-content .gux-filter{position:relative;height:100%;padding-left:0}.gux-field .gux-field-content .gux-filter .gux-filter-input{all:unset;width:100%;caret-color:#2e394c}.gux-field .gux-field-content .gux-filter .gux-filter-display .gux-filter-text{color:#2e394c}.gux-field .gux-field-content .gux-filter .gux-filter-display .gux-filter-suggestion{color:#596373}.gux-field .gux-field-content .gux-filter .gux-filter-input,.gux-field .gux-field-content .gux-filter .gux-filter-display{position:absolute}.gux-field .gux-field-content .gux-placeholder{color:#596373}.gux-field .gux-expand-icon{flex:0 0 auto;align-self:auto;order:0;width:16px;height:16px;padding:0 8px;color:#596373}.gux-target-container-expanded{border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-target-container-expanded:focus-within{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-target-container-expanded .gux-filter-input{background-color:inherit;border:none}.gux-target-container-expanded .gux-filter-input:focus{border:none;outline:none}.gux-target-container-expanded .gux-field-button{width:auto;height:30px;padding:0 0 0 8px;margin:0;background:inherit;border:none;outline:none;box-shadow:none}.gux-target-container-expanded .gux-field-button:focus{outline:none}.gux-target-container-collapsed .gux-field-button{border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-target-container-collapsed .gux-field-button:focus{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-listbox-container{box-sizing:border-box;margin:0;color:#2e394c}.gux-error-message-container{display:none;margin:4px 0}.gux-error-message-container.gux-show{display:flex}";
25
+
26
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
29
+ r = Reflect.decorate(decorators, target, key, desc);
30
+ else
31
+ for (var i = decorators.length - 1; i >= 0; i--)
32
+ if (d = decorators[i])
33
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
34
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35
+ };
36
+ const GuxDropdownMulti = class {
37
+ constructor(hostRef) {
38
+ index.registerInstance(this, hostRef);
39
+ this.disabled = false;
40
+ this.required = false;
41
+ this.filterable = false;
42
+ this.expanded = false;
43
+ this.filter = '';
44
+ }
45
+ focusSelectedItemAfterRender(expanded) {
46
+ if (expanded && this.listboxElement) {
47
+ requestAnimationFrame(() => {
48
+ requestAnimationFrame(() => {
49
+ this.listboxElement.focus();
50
+ if (this.filterable) {
51
+ this.filterElement.focus();
52
+ }
53
+ });
54
+ });
55
+ }
56
+ if (!expanded) {
57
+ this.filter = '';
58
+ }
59
+ }
60
+ validateValue(newValue) {
61
+ if (newValue === undefined) {
62
+ if (this.listboxElement) {
63
+ this.listboxElement.value = newValue;
64
+ }
65
+ return;
66
+ }
67
+ const selectedListboxOptionElement = this.getOptionElementByValue(newValue);
68
+ if (selectedListboxOptionElement) {
69
+ this.listboxElement.value = newValue;
70
+ return;
71
+ }
72
+ this.value = undefined;
73
+ }
74
+ /**
75
+ * Gets the currently selected values.
76
+ */
77
+ getSelectedValues() {
78
+ var _a;
79
+ return Promise.resolve(((_a = this.value) === null || _a === void 0 ? void 0 : _a.split(',')) || []);
80
+ }
81
+ onKeydown(event) {
82
+ switch (event.key) {
83
+ case 'Escape':
84
+ if (this.filterable) {
85
+ if (document.activeElement === this.listboxElement) {
86
+ return this.filterElement.focus();
87
+ }
88
+ }
89
+ this.collapseListbox('focusFieldButton');
90
+ return;
91
+ case 'Tab':
92
+ if (this.shiftTabFromFilterListbox(event)) {
93
+ event.preventDefault();
94
+ return this.filterElement.focus();
95
+ }
96
+ else if (this.shiftTabFromExpandedFilterInput(event)) {
97
+ event.preventDefault();
98
+ return this.collapseListbox('focusFieldButton');
99
+ }
100
+ else {
101
+ this.collapseListbox('noFocusChange');
102
+ }
103
+ return;
104
+ case 'ArrowDown':
105
+ if (this.activeElementNotListbox()) {
106
+ event.preventDefault();
107
+ this.expanded = true;
108
+ }
109
+ return;
110
+ }
111
+ }
112
+ onInternallistboxoptionsupdated(event) {
113
+ event.stopPropagation();
114
+ index.forceUpdate(this.root);
115
+ }
116
+ onGuxclearselected(event) {
117
+ event.stopPropagation();
118
+ this.value = '';
119
+ if (this.listboxElement) {
120
+ this.listboxElement.value = undefined;
121
+ }
122
+ this.validateValue(this.value);
123
+ this.fieldButtonElement.focus();
124
+ }
125
+ onBlur(event) {
126
+ this.stopPropagationOfInternalFocusEvents(event);
127
+ }
128
+ onFocus(event) {
129
+ this.stopPropagationOfInternalFocusEvents(event);
130
+ }
131
+ onFocusout(event) {
132
+ this.stopPropagationOfInternalFocusEvents(event);
133
+ }
134
+ onFocusin(event) {
135
+ this.stopPropagationOfInternalFocusEvents(event);
136
+ }
137
+ onClickOutside() {
138
+ this.collapseListbox('noFocusChange');
139
+ }
140
+ async componentWillLoad() {
141
+ usageTracking.trackComponent(this.root);
142
+ this.i18n = await index$1.buildI18nForComponent(this.root, translationResources);
143
+ this.listboxElement = this.root.querySelector('gux-listbox-multi');
144
+ this.validateValue(this.value);
145
+ }
146
+ componentDidLoad() {
147
+ this.listboxElement.addEventListener('input', (event) => {
148
+ event.stopPropagation();
149
+ this.updateValue(event.target.value);
150
+ });
151
+ this.listboxElement.addEventListener('change', (event) => {
152
+ event.stopPropagation();
153
+ });
154
+ }
155
+ componentWillRender() {
156
+ this.validateValue(this.value);
157
+ this.listboxElement.filter = this.filter;
158
+ }
159
+ stopPropagationOfInternalFocusEvents(event) {
160
+ if (this.root.contains(event.relatedTarget)) {
161
+ return event.stopImmediatePropagation();
162
+ }
163
+ }
164
+ getOptionElementByValue(value) {
165
+ const listboxOptionElements = Array.from(this.root.querySelectorAll('gux-option-multi'));
166
+ const values = value ? value.split(',') : undefined;
167
+ if (values) {
168
+ return listboxOptionElements.filter(element => values.includes(element.value));
169
+ }
170
+ return;
171
+ }
172
+ fieldButtonClick() {
173
+ this.expanded = !this.expanded;
174
+ }
175
+ fieldButtonInputClick() {
176
+ if (!this.expanded) {
177
+ this.expanded = !this.expanded;
178
+ }
179
+ }
180
+ filterInput(event) {
181
+ event.stopPropagation();
182
+ this.filter = this.filterElement.value;
183
+ }
184
+ shiftTabFromExpandedFilterInput(event) {
185
+ return (event.shiftKey &&
186
+ this.filterable &&
187
+ this.expanded &&
188
+ !(document.activeElement === this.listboxElement));
189
+ }
190
+ shiftTabFromFilterListbox(event) {
191
+ return (event.shiftKey &&
192
+ this.filterable &&
193
+ document.activeElement === this.listboxElement);
194
+ }
195
+ activeElementNotListbox() {
196
+ return document.activeElement !== this.listboxElement;
197
+ }
198
+ filterKeydown(event) {
199
+ switch (event.key) {
200
+ case 'ArrowDown':
201
+ event.stopImmediatePropagation();
202
+ this.listboxElement.focus();
203
+ return;
204
+ case 'Enter':
205
+ void this.listboxElement.guxSelectActive();
206
+ event.preventDefault();
207
+ return;
208
+ }
209
+ }
210
+ filterKeyup(event) {
211
+ switch (event.key) {
212
+ case ' ':
213
+ event.preventDefault();
214
+ return;
215
+ }
216
+ }
217
+ collapseListbox(focusChange) {
218
+ if (this.expanded) {
219
+ this.expanded = false;
220
+ }
221
+ if (focusChange === 'focusFieldButton') {
222
+ this.fieldButtonElement.focus();
223
+ }
224
+ }
225
+ updateValue(newValue) {
226
+ if (this.value !== newValue) {
227
+ this.value = newValue;
228
+ simulateNativeEvent.simulateNativeEvent(this.root, 'input');
229
+ simulateNativeEvent.simulateNativeEvent(this.root, 'change');
230
+ }
231
+ }
232
+ getSuggestionText(filter) {
233
+ const filterLength = filter.length;
234
+ if (filterLength > 0) {
235
+ const option = guxListbox_service.getSearchOption(this.listboxElement, filter);
236
+ if (option) {
237
+ return option.textContent.substring(filterLength);
238
+ }
239
+ }
240
+ return '';
241
+ }
242
+ renderTargetDisplay() {
243
+ return (index.h("div", { class: "gux-placeholder" }, this.placeholder || this.i18n('noSelection'), this.getSrSelectedText()));
244
+ }
245
+ getSrSelectedText() {
246
+ const selectedListboxOptionElement = this.getOptionElementByValue(this.value);
247
+ if (selectedListboxOptionElement === null || selectedListboxOptionElement === void 0 ? void 0 : selectedListboxOptionElement.length) {
248
+ return (index.h("span", { class: "gux-sr-only" }, this.i18n('numberSelected', {
249
+ numberSelected: selectedListboxOptionElement.length.toString()
250
+ })));
251
+ }
252
+ }
253
+ renderTag() {
254
+ const selectedListboxOptionElement = this.getOptionElementByValue(this.value);
255
+ if (selectedListboxOptionElement === null || selectedListboxOptionElement === void 0 ? void 0 : selectedListboxOptionElement.length) {
256
+ return (index.h("gux-dropdown-multi-tag", { disabled: this.disabled, "number-selected": selectedListboxOptionElement.length }));
257
+ }
258
+ }
259
+ renderFilterInputField() {
260
+ if (this.expanded && this.filterable) {
261
+ return (index.h("div", { class: "gux-field gux-input-field" }, index.h("div", { class: "gux-field-content" }, index.h("div", { class: "gux-filter" }, index.h("div", { class: "gux-filter-display" }, index.h("span", { class: "gux-filter-text" }, this.filter), index.h("span", { class: "gux-filter-suggestion" }, this.getSuggestionText(this.filter))), index.h("div", { class: "input-and-dropdown-button" }, index.h("input", { onClick: this.fieldButtonInputClick.bind(this), placeholder: this.placeholder || this.i18n('noSelection'), class: "gux-filter-input", type: "text", "aria-label": this.i18n('filterResults'), ref: el => (this.filterElement = el), onInput: this.filterInput.bind(this), onKeyDown: this.filterKeydown.bind(this), onKeyUp: this.filterKeyup.bind(this) }))))));
262
+ }
263
+ }
264
+ renderPopup() {
265
+ return (index.h("div", { slot: "popup", class: "gux-listbox-container" }, index.h("slot", null)));
266
+ }
267
+ renderTarget() {
268
+ return (index.h("div", { class: {
269
+ 'gux-target-container': true,
270
+ 'gux-target-container-expanded': this.expanded && this.filterable,
271
+ 'gux-target-container-collapsed': !(this.expanded && this.filterable)
272
+ }, slot: "target" }, this.renderFilterInputField(), index.h("button", { type: "button", class: "gux-field gux-field-button", disabled: this.disabled, onClick: this.fieldButtonClick.bind(this), ref: el => (this.fieldButtonElement = el), "aria-haspopup": "listbox", "aria-expanded": this.expanded.toString() }, this.renderTargetContent(), index.h("gux-icon", { class: {
273
+ 'gux-expand-icon': true
274
+ }, "screenreader-text": this.i18n('dropdown'), iconName: "chevron-small-down" }))));
275
+ }
276
+ renderTargetContent() {
277
+ if (!(this.expanded && this.filterable)) {
278
+ return (index.h("div", { class: "gux-field-content" }, this.renderTargetDisplay()));
279
+ }
280
+ }
281
+ render() {
282
+ return [
283
+ index.h("div", { class: "gux-dropdown-container" }, index.h("gux-popup", { expanded: this.expanded, disabled: this.disabled }, this.renderTarget(), this.renderPopup()), this.renderTag())
284
+ ];
285
+ }
286
+ get root() { return index.getElement(this); }
287
+ static get watchers() { return {
288
+ "expanded": ["focusSelectedItemAfterRender"],
289
+ "value": ["validateValue"]
290
+ }; }
291
+ };
292
+ __decorate([
293
+ onClickOutside.OnClickOutside({ triggerEvents: 'mousedown' })
294
+ ], GuxDropdownMulti.prototype, "onClickOutside", null);
295
+ GuxDropdownMulti.style = guxDropdownMultiCss;
296
+
297
+ exports.gux_dropdown_multi_beta = GuxDropdownMulti;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-33b1b88e.js');
6
+ const index$1 = require('./index-2202ad01.js');
7
+ require('./get-closest-element-ab4b2eee.js');
8
+
9
+ const clearSelection = "Clear {numberSelected} selected items";
10
+ const translationResources = {
11
+ clearSelection: clearSelection
12
+ };
13
+
14
+ const guxDropdownMultiTagCss = ":host{display:inline-block}.gux-tag{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:flex-start;padding:2px 4px 2px 8px;font-size:12px;font-weight:bold;color:#2e394c;background-color:#e2e6ee;border-radius:4px}.gux-tag .gux-sr-only:not(:focus):not(:active){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.gux-tag .gux-tag-remove-button{all:unset;display:flex;align-content:center;align-items:center;justify-content:center;margin-left:7px}.gux-tag .gux-tag-remove-button:not(:disabled):hover{cursor:pointer}.gux-tag .gux-tag-remove-button .gux-tag-remove-icon{width:16px;height:16px;border-radius:25%}.gux-tag .gux-tag-remove-button:focus-within .gux-tag-remove-icon{outline:none;box-shadow:0 0 0 1px transparent, 0 0 0 2px #aac9ff}.gux-tag.gux-disabled{color:rgba(46, 57, 76, 0.5);background-color:rgba(226, 230, 238, 0.5)}";
15
+
16
+ const GuxDropdownMultiTag = class {
17
+ constructor(hostRef) {
18
+ index.registerInstance(this, hostRef);
19
+ this.guxclearselected = index.createEvent(this, "guxclearselected", 7);
20
+ /**
21
+ * Tag is removable.
22
+ */
23
+ this.disabled = false;
24
+ this.numberSelected = 0;
25
+ this.label = '';
26
+ }
27
+ onKeyDown(event) {
28
+ switch (event.key) {
29
+ case 'Backspace':
30
+ case 'Delete':
31
+ this.removeTag();
32
+ }
33
+ }
34
+ removeTag() {
35
+ if (this.disabled) {
36
+ return;
37
+ }
38
+ this.guxclearselected.emit();
39
+ }
40
+ renderRemoveButton() {
41
+ return (index.h("button", { class: "gux-tag-remove-button", onClick: this.removeTag.bind(this), type: "button", disabled: this.disabled }, index.h("gux-icon", { class: "gux-tag-remove-icon", "icon-name": "close", "screenreader-text": this.i18n('clearSelection', {
42
+ numberSelected: this.numberSelected.toString()
43
+ }) })));
44
+ }
45
+ async componentWillRender() {
46
+ this.i18n = await index$1.buildI18nForComponent(this.root, translationResources);
47
+ }
48
+ render() {
49
+ return (index.h("div", { class: {
50
+ 'gux-tag': true,
51
+ 'gux-disabled': this.disabled
52
+ }, "aria-disabled": this.disabled.toString() }, this.numberSelected.toString(), this.renderRemoveButton()));
53
+ }
54
+ get root() { return index.getElement(this); }
55
+ };
56
+ GuxDropdownMultiTag.style = guxDropdownMultiTagCss;
57
+
58
+ exports.gux_dropdown_multi_tag = GuxDropdownMultiTag;
@@ -6,9 +6,9 @@ const index = require('./index-33b1b88e.js');
6
6
  const onClickOutside = require('./on-click-outside-246a1eb3.js');
7
7
  const index$1 = require('./index-2202ad01.js');
8
8
  const simulateNativeEvent = require('./simulate-native-event-fe3e62da.js');
9
- const usageTracking = require('./usage-tracking-dad68b30.js');
9
+ const usageTracking = require('./usage-tracking-f3cc3f84.js');
10
+ const guxListbox_service = require('./gux-listbox.service-d394da79.js');
10
11
  const whenEventIsFrom = require('./when-event-is-from-69b5ca13.js');
11
- const logError = require('./log-error-a57681bf.js');
12
12
  const randomHtmlId = require('./random-html-id-b86b61c0.js');
13
13
  require('./get-closest-element-ab4b2eee.js');
14
14
 
@@ -21,153 +21,6 @@ const translationResources$1 = {
21
21
  dropdown: dropdown
22
22
  };
23
23
 
24
- function getListOptions(list) {
25
- return Array.from(list.children);
26
- }
27
- function getHoveredOption(list) {
28
- return getListOptions(list).find(option => option.hovered && !option.disabled && !option.filtered);
29
- }
30
- function getFirstSelectedOption(list) {
31
- return getListOptions(list).find(option => option.selected && !option.disabled && !option.filtered);
32
- }
33
- function getActiveOption(list) {
34
- return getListOptions(list).find(option => option.active);
35
- }
36
- function setActiveOption(list, element) {
37
- if (element) {
38
- getListOptions(list).forEach(option => {
39
- const active = (!option.disabled || !option.filtered) && option === element;
40
- option.active = active;
41
- if (active) {
42
- list.setAttribute('aria-activedescendant', option.id);
43
- }
44
- });
45
- element.scrollIntoView({ block: 'nearest' });
46
- }
47
- }
48
- function getFirstOption(list) {
49
- let firstOption = getListOptions(list)[0];
50
- while (firstOption && (firstOption.disabled || firstOption.filtered)) {
51
- firstOption = firstOption.nextElementSibling;
52
- }
53
- return firstOption;
54
- }
55
- function getNextOption(list) {
56
- if (hasActiveOption(list)) {
57
- let nextOption = getActiveOption(list)
58
- .nextElementSibling;
59
- while (nextOption && (nextOption.disabled || nextOption.filtered)) {
60
- nextOption = nextOption.nextElementSibling;
61
- }
62
- return nextOption;
63
- }
64
- return getFirstOption(list);
65
- }
66
- function getPreviousOption(list) {
67
- if (hasActiveOption(list)) {
68
- let previousOption = getActiveOption(list)
69
- .previousElementSibling;
70
- while (previousOption &&
71
- (previousOption.disabled || previousOption.filtered)) {
72
- previousOption =
73
- previousOption.previousElementSibling;
74
- }
75
- return previousOption;
76
- }
77
- return getFirstOption(list);
78
- }
79
- function getLastOption(list) {
80
- const options = getListOptions(list);
81
- let lastOption = options[options.length - 1];
82
- while (lastOption && (lastOption.disabled || lastOption.filtered)) {
83
- lastOption = lastOption.previousElementSibling;
84
- }
85
- return lastOption;
86
- }
87
- function hasActiveOption(list) {
88
- return Boolean(getActiveOption(list));
89
- }
90
- function getSearchOption(list, searchString) {
91
- return getListOptions(list).find(option => {
92
- return ((!option.disabled || !option.filtered) &&
93
- option.textContent.toLowerCase().startsWith(searchString.toLowerCase()));
94
- });
95
- }
96
- function setSearchOptionActive(list, searchString) {
97
- const option = getSearchOption(list, searchString);
98
- if (option) {
99
- setActiveOption(list, option);
100
- }
101
- else {
102
- clearActiveOptions(list);
103
- }
104
- }
105
- function clearActiveOptions(list) {
106
- getListOptions(list).forEach(option => {
107
- option.active = false;
108
- });
109
- }
110
- function setInitialActiveOption(list) {
111
- setActiveOption(list, getHoveredOption(list) ||
112
- getFirstSelectedOption(list) ||
113
- getFirstOption(list));
114
- }
115
- function hasPreviousOption(list) {
116
- if (hasActiveOption(list)) {
117
- let previousOption = getActiveOption(list)
118
- .previousElementSibling;
119
- while (previousOption &&
120
- (previousOption.disabled || previousOption.filtered)) {
121
- previousOption =
122
- previousOption.previousElementSibling;
123
- }
124
- return Boolean(previousOption);
125
- }
126
- return false;
127
- }
128
- function hasNextOption(list) {
129
- if (hasActiveOption(list)) {
130
- let nextOption = getActiveOption(list)
131
- .nextElementSibling;
132
- while (nextOption && (nextOption.disabled || nextOption.filtered)) {
133
- nextOption = nextOption.nextElementSibling;
134
- }
135
- return Boolean(nextOption);
136
- }
137
- return false;
138
- }
139
- function setFirstOptionActive(list) {
140
- setActiveOption(list, getFirstOption(list));
141
- }
142
- function setNextOptionActive(list) {
143
- setActiveOption(list, getNextOption(list));
144
- }
145
- function setPreviousOptionActive(list) {
146
- setActiveOption(list, getPreviousOption(list));
147
- }
148
- function setLastOptionActive(list) {
149
- setActiveOption(list, getLastOption(list));
150
- }
151
- function actOnActiveOption(list, handler) {
152
- if (hasActiveOption(list)) {
153
- handler(getActiveOption(list).value);
154
- }
155
- }
156
- function onClickedOption(option, handler) {
157
- handler(option.value);
158
- }
159
- let timer;
160
- let searchStringState = '';
161
- const searchDebounceInterval = 250;
162
- function goToOption(list, letter) {
163
- clearTimeout(timer);
164
- searchStringState += letter;
165
- timer = setTimeout(() => {
166
- setSearchOptionActive(list, searchStringState);
167
- searchStringState = '';
168
- }, searchDebounceInterval);
169
- }
170
-
171
24
  const guxDropdownCss = ":host{color:#2e394c}.gux-field,.gux-target-container-expanded{all:unset;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:center;width:100%;height:32px;padding:6px 8px 6px 6px;font-family:inherit;font-size:12px;line-height:1.6667;cursor:pointer;background-color:#f6f7f9}.gux-field.gux-input-field{height:30px}.gux-field .gux-field-content{display:flex;flex:1 1 0;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;min-width:0;height:100%}.gux-field .gux-field-content .gux-filter,.gux-field .gux-field-content .gux-selected-option,.gux-field .gux-field-content .gux-placeholder{flex:1 1 auto;align-self:auto;order:0;padding-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gux-field .gux-field-content .gux-filter{position:relative;height:100%}.gux-field .gux-field-content .gux-filter .gux-filter-input{all:unset;width:100%;color:transparent;caret-color:#2e394c}.gux-field .gux-field-content .gux-filter .gux-filter-display .gux-filter-text{color:#2e394c}.gux-field .gux-field-content .gux-filter .gux-filter-display .gux-filter-suggestion{color:#596373}.gux-field .gux-field-content .gux-filter .gux-filter-input,.gux-field .gux-field-content .gux-filter .gux-filter-display{position:absolute}.gux-field .gux-field-content .gux-placeholder{color:#596373}.gux-field .gux-expand-icon{flex:0 0 auto;align-self:auto;order:0;width:16px;height:16px;padding-left:8px;color:#596373}.gux-target-container-expanded{border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-target-container-expanded:focus-within{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-target-container-expanded .gux-filter-input{background-color:inherit;border:none}.gux-target-container-expanded .gux-filter-input:focus{border:none;outline:none}.gux-target-container-expanded .gux-field-button{width:auto;height:30px;padding:0 0 0 8px;margin:0;background:inherit;border:none;outline:none;box-shadow:none}.gux-target-container-expanded .gux-field-button:focus{outline:none}.gux-target-container-collapsed .gux-field-button{border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-target-container-collapsed .gux-field-button:focus{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-listbox-container{box-sizing:border-box;margin:0;color:#2e394c}";
172
25
 
173
26
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -184,6 +37,7 @@ const GuxDropdown = class {
184
37
  constructor(hostRef) {
185
38
  index.registerInstance(this, hostRef);
186
39
  this.disabled = false;
40
+ this.required = false;
187
41
  this.filterable = false;
188
42
  this.expanded = false;
189
43
  this.filter = '';
@@ -352,7 +206,7 @@ const GuxDropdown = class {
352
206
  getSuggestionText(filter) {
353
207
  const filterLength = filter.length;
354
208
  if (filterLength > 0) {
355
- const option = getSearchOption(this.listboxElement, filter);
209
+ const option = guxListbox_service.getSearchOption(this.listboxElement, filter);
356
210
  if (option) {
357
211
  return option.textContent.substring(filterLength);
358
212
  }
@@ -413,49 +267,50 @@ const GuxListbox = class {
413
267
  index.registerInstance(this, hostRef);
414
268
  this.internallistboxoptionsupdated = index.createEvent(this, "internallistboxoptionsupdated", 7);
415
269
  this.filter = '';
270
+ this.selectedValues = [];
416
271
  this.listboxOptions = [];
417
272
  }
418
273
  onFocus() {
419
- setInitialActiveOption(this.root);
274
+ guxListbox_service.setInitialActiveOption(this.root);
420
275
  }
421
276
  onBlur() {
422
- clearActiveOptions(this.root);
277
+ guxListbox_service.clearActiveOptions(this.root);
423
278
  }
424
279
  onKeydown(event) {
425
280
  switch (event.key) {
426
281
  case 'Enter':
427
282
  event.preventDefault();
428
- actOnActiveOption(this.root, value => this.updateValue(value));
283
+ guxListbox_service.actOnActiveOption(this.root, value => this.updateValue(value));
429
284
  return;
430
285
  case 'ArrowDown':
431
286
  event.preventDefault();
432
- if (hasNextOption(this.root)) {
287
+ if (guxListbox_service.hasNextOption(this.root)) {
433
288
  event.stopPropagation();
434
- setNextOptionActive(this.root);
289
+ guxListbox_service.setNextOptionActive(this.root);
435
290
  }
436
291
  else {
437
- setFirstOptionActive(this.root);
292
+ guxListbox_service.setFirstOptionActive(this.root);
438
293
  }
439
294
  return;
440
295
  case 'ArrowUp': {
441
296
  event.preventDefault();
442
- if (hasPreviousOption(this.root)) {
297
+ if (guxListbox_service.hasPreviousOption(this.root)) {
443
298
  event.stopPropagation();
444
- setPreviousOptionActive(this.root);
299
+ guxListbox_service.setPreviousOptionActive(this.root);
445
300
  }
446
301
  else {
447
- setLastOptionActive(this.root);
302
+ guxListbox_service.setLastOptionActive(this.root);
448
303
  }
449
304
  return;
450
305
  }
451
306
  case 'Home': {
452
307
  event.preventDefault();
453
- setFirstOptionActive(this.root);
308
+ guxListbox_service.setFirstOptionActive(this.root);
454
309
  return;
455
310
  }
456
311
  case 'End': {
457
312
  event.preventDefault();
458
- setLastOptionActive(this.root);
313
+ guxListbox_service.setLastOptionActive(this.root);
459
314
  return;
460
315
  }
461
316
  case ' ': {
@@ -464,51 +319,48 @@ const GuxListbox = class {
464
319
  }
465
320
  }
466
321
  if (event.key.length === 1) {
467
- goToOption(this.root, event.key);
322
+ guxListbox_service.goToOption(this.root, event.key);
468
323
  return;
469
324
  }
470
325
  }
471
326
  onKeyup(event) {
472
327
  switch (event.key) {
473
328
  case ' ':
474
- actOnActiveOption(this.root, value => this.updateValue(value));
329
+ guxListbox_service.actOnActiveOption(this.root, value => this.updateValue(value));
475
330
  return;
476
331
  }
477
332
  }
478
333
  onMousemove() {
479
- clearActiveOptions(this.root);
334
+ guxListbox_service.clearActiveOptions(this.root);
480
335
  }
481
336
  onClick(event) {
482
337
  whenEventIsFrom.whenEventIsFrom('gux-option', event, (option) => {
483
- onClickedOption(option, value => this.updateValue(value));
338
+ guxListbox_service.onClickedOption(option, value => this.updateValue(value));
484
339
  });
485
340
  }
486
341
  // eslint-disable-next-line @typescript-eslint/require-await
487
342
  async guxSelectActive() {
488
- actOnActiveOption(this.root, value => this.updateValue(value));
343
+ guxListbox_service.actOnActiveOption(this.root, value => this.updateValue(value));
489
344
  }
490
345
  setListboxOptions() {
346
+ if (this.value) {
347
+ this.selectedValues = this.value.split(',');
348
+ }
491
349
  this.listboxOptions = Array.from(this.root.children);
492
350
  this.internallistboxoptionsupdated.emit();
493
351
  }
494
352
  updateValue(newValue) {
495
353
  if (this.value !== newValue) {
496
354
  this.value = newValue;
497
- simulateNativeEvent.simulateNativeEvent(this.root, 'input');
498
- simulateNativeEvent.simulateNativeEvent(this.root, 'change');
499
355
  }
356
+ simulateNativeEvent.simulateNativeEvent(this.root, 'input');
357
+ simulateNativeEvent.simulateNativeEvent(this.root, 'change');
500
358
  }
501
359
  async componentWillLoad() {
502
360
  usageTracking.trackComponent(this.root);
503
361
  this.i18n = await index$1.buildI18nForComponent(this.root, translationResources);
504
362
  this.setListboxOptions();
505
363
  }
506
- componentDidLoad() {
507
- if (!(this.root.getAttribute('aria-label') ||
508
- this.root.getAttribute('aria-labelledby'))) {
509
- logError.logError('gux-listbox', '`gux-listbox` requires a label. Either provide a label and associate it with the listbox using `aria-labelledby` or add an `aria-label` attribute to the gux-listbox element.');
510
- }
511
- }
512
364
  componentWillRender() {
513
365
  this.listboxOptions.forEach(listboxOption => {
514
366
  listboxOption.selected = listboxOption.value === this.value;
@@ -520,7 +372,7 @@ const GuxListbox = class {
520
372
  this.listboxOptions.filter(listboxOption => !listboxOption.filtered)
521
373
  .length === 0;
522
374
  if (this.filter) {
523
- setFirstOptionActive(this.root);
375
+ guxListbox_service.setFirstOptionActive(this.root);
524
376
  }
525
377
  }
526
378
  renderAllListboxOptionsFiltered() {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-33b1b88e.js');
6
- const usageTracking = require('./usage-tracking-dad68b30.js');
6
+ const usageTracking = require('./usage-tracking-f3cc3f84.js');
7
7
 
8
8
  const guxErrorMessageBetaCss = ".gux-container{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;font-size:11px;color:#2e394c}.gux-container gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin:0 4px;color:#ea0b0b}.gux-container .gux-message{flex:0 1 auto;align-self:auto;order:0}";
9
9