genesys-spark-components 3.32.2 → 3.33.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 (340) hide show
  1. package/CHANGELOG.md +14 -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-announce-beta.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-badge-beta.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-blank-state-beta.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-button-multi-legacy.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-button-slot-beta.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-card-beta.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-chart-column-beta.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-chart-donut-beta.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-chart-line-beta.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-chart-pie-beta.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-chart-scatter-plot-beta.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-command-palette-legacy.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-copy-to-clipboard-beta.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-datepicker.cjs.entry.js +1 -1
  31. package/dist/cjs/gux-disclosure-button.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-dropdown-legacy.cjs.entry.js +1 -1
  34. package/dist/cjs/gux-dropdown-multi-beta.cjs.entry.js +2 -2
  35. package/dist/cjs/gux-dropdown_3.cjs.entry.js +5 -6
  36. package/dist/cjs/gux-error-message-beta.cjs.entry.js +1 -1
  37. package/dist/cjs/gux-flyout-menu-beta.cjs.entry.js +1 -1
  38. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +10 -6
  39. package/dist/cjs/gux-form-field-color.cjs.entry.js +12 -8
  40. package/dist/cjs/{gux-form-field-label-cb1bc6c7.js → gux-form-field-container-284d1d01.js} +7 -7
  41. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +12 -8
  42. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  43. package/dist/cjs/gux-form-field-legacy.cjs.entry.js +1 -1
  44. package/dist/cjs/gux-form-field-number.cjs.entry.js +14 -9
  45. package/dist/cjs/gux-form-field-radio.cjs.entry.js +10 -6
  46. package/dist/cjs/gux-form-field-range.cjs.entry.js +11 -7
  47. package/dist/cjs/gux-form-field-search.cjs.entry.js +12 -8
  48. package/dist/cjs/gux-form-field-select.cjs.entry.js +12 -8
  49. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +14 -9
  50. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +12 -8
  51. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +23 -14
  52. package/dist/cjs/{gux-form-field.service-66dade5d.js → gux-form-field.service-8424f99d.js} +29 -13
  53. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  54. package/dist/cjs/gux-list-item-legacy_2.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  56. package/dist/cjs/gux-listbox-multi.cjs.entry.js +2 -2
  57. package/dist/cjs/{gux-listbox.service-d394da79.js → gux-listbox.service-225ed019.js} +9 -1
  58. package/dist/cjs/gux-loading-message-beta.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +3 -6
  67. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-popover.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-skip-navigation-list-beta.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-switch.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-table-beta.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-tabs-legacy.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-tag-beta.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-time-picker-beta.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-visualization-beta.cjs.entry.js +1 -1
  90. package/dist/cjs/has-slot-2e73d6e7.js +7 -0
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/cjs/{usage-tracking-220a375c.js → usage-tracking-c0879d4b.js} +1 -1
  93. package/dist/collection/components/stable/gux-dropdown/gux-dropdown.js +2 -1
  94. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.css +21 -0
  95. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.js +16 -10
  96. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.css +21 -0
  97. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.js +17 -13
  98. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.css +21 -0
  99. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.js +16 -12
  100. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.css +21 -0
  101. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +21 -16
  102. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.css +21 -0
  103. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.js +16 -10
  104. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.css +21 -0
  105. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.js +16 -12
  106. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.css +21 -0
  107. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.js +17 -13
  108. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.css +21 -0
  109. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.js +17 -13
  110. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.css +23 -1
  111. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.js +19 -14
  112. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.css +21 -0
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +17 -13
  114. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.css +21 -0
  115. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.js +17 -12
  116. package/dist/collection/components/stable/gux-form-field/functional-components/functional-components.js +7 -0
  117. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-error/gux-form-field-error.js +2 -2
  118. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-help/gux-form-field-help.js +7 -0
  119. package/dist/collection/components/stable/gux-form-field/gux-form-field.service.js +18 -9
  120. package/dist/collection/components/stable/gux-listbox/gux-listbox.js +2 -4
  121. package/dist/collection/components/stable/gux-listbox/gux-listbox.service.js +8 -1
  122. package/dist/collection/utils/dom/get-slot-text-content.js +4 -0
  123. package/dist/deploy-info.json +3 -3
  124. package/dist/esm/genesys-webcomponents.js +1 -1
  125. package/dist/esm/gux-accordion-legacy.entry.js +1 -1
  126. package/dist/esm/gux-accordion.entry.js +1 -1
  127. package/dist/esm/gux-action-button-legacy.entry.js +1 -1
  128. package/dist/esm/gux-action-button.entry.js +1 -1
  129. package/dist/esm/gux-action-list-legacy.entry.js +1 -1
  130. package/dist/esm/gux-action-toast.entry.js +1 -1
  131. package/dist/esm/gux-advanced-dropdown.entry.js +1 -1
  132. package/dist/esm/gux-announce-beta.entry.js +1 -1
  133. package/dist/esm/gux-badge-beta.entry.js +1 -1
  134. package/dist/esm/gux-blank-state-beta.entry.js +1 -1
  135. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  136. package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
  137. package/dist/esm/gux-button-multi.entry.js +1 -1
  138. package/dist/esm/gux-button-slot-beta.entry.js +1 -1
  139. package/dist/esm/gux-button.entry.js +1 -1
  140. package/dist/esm/gux-calendar.entry.js +1 -1
  141. package/dist/esm/gux-card-beta.entry.js +1 -1
  142. package/dist/esm/gux-chart-column-beta.entry.js +1 -1
  143. package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
  144. package/dist/esm/gux-chart-line-beta.entry.js +1 -1
  145. package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
  146. package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
  147. package/dist/esm/gux-command-palette-legacy.entry.js +1 -1
  148. package/dist/esm/gux-content-search.entry.js +1 -1
  149. package/dist/esm/gux-copy-to-clipboard-beta.entry.js +1 -1
  150. package/dist/esm/gux-date-beta.entry.js +1 -1
  151. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  152. package/dist/esm/gux-datepicker.entry.js +1 -1
  153. package/dist/esm/gux-disclosure-button.entry.js +1 -1
  154. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  155. package/dist/esm/gux-dropdown-legacy.entry.js +1 -1
  156. package/dist/esm/gux-dropdown-multi-beta.entry.js +2 -2
  157. package/dist/esm/gux-dropdown_3.entry.js +5 -6
  158. package/dist/esm/gux-error-message-beta.entry.js +1 -1
  159. package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
  160. package/dist/esm/gux-form-field-checkbox.entry.js +10 -6
  161. package/dist/esm/gux-form-field-color.entry.js +11 -7
  162. package/dist/esm/{gux-form-field-label-9c6f4df6.js → gux-form-field-container-2d8e8d4e.js} +7 -7
  163. package/dist/esm/gux-form-field-dropdown.entry.js +11 -7
  164. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  165. package/dist/esm/gux-form-field-legacy.entry.js +1 -1
  166. package/dist/esm/gux-form-field-number.entry.js +13 -8
  167. package/dist/esm/gux-form-field-radio.entry.js +10 -6
  168. package/dist/esm/gux-form-field-range.entry.js +11 -7
  169. package/dist/esm/gux-form-field-search.entry.js +11 -7
  170. package/dist/esm/gux-form-field-select.entry.js +11 -7
  171. package/dist/esm/gux-form-field-text-like.entry.js +13 -8
  172. package/dist/esm/gux-form-field-textarea.entry.js +11 -7
  173. package/dist/esm/gux-form-field-time-picker.entry.js +23 -14
  174. package/dist/esm/{gux-form-field.service-25a9237e.js → gux-form-field.service-e046de13.js} +29 -12
  175. package/dist/esm/gux-icon.entry.js +1 -1
  176. package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
  177. package/dist/esm/gux-list.entry.js +1 -1
  178. package/dist/esm/gux-listbox-multi.entry.js +2 -2
  179. package/dist/esm/{gux-listbox.service-3541a2f7.js → gux-listbox.service-f50c7710.js} +9 -2
  180. package/dist/esm/gux-loading-message-beta.entry.js +1 -1
  181. package/dist/esm/gux-modal.entry.js +1 -1
  182. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  183. package/dist/esm/gux-notification-toast.entry.js +1 -1
  184. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  185. package/dist/esm/gux-pagination-beta.entry.js +1 -1
  186. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  187. package/dist/esm/gux-pagination.entry.js +1 -1
  188. package/dist/esm/gux-panel-frame-legacy.entry.js +2 -5
  189. package/dist/esm/gux-popover-list.entry.js +1 -1
  190. package/dist/esm/gux-popover.entry.js +1 -1
  191. package/dist/esm/gux-radial-loading.entry.js +1 -1
  192. package/dist/esm/gux-radial-progress.entry.js +1 -1
  193. package/dist/esm/gux-rating.entry.js +1 -1
  194. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  195. package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
  196. package/dist/esm/gux-simple-toast.entry.js +1 -1
  197. package/dist/esm/gux-skip-navigation-list-beta.entry.js +1 -1
  198. package/dist/esm/gux-sort-control.entry.js +1 -1
  199. package/dist/esm/gux-switch.entry.js +1 -1
  200. package/dist/esm/gux-table-beta.entry.js +1 -1
  201. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  202. package/dist/esm/gux-tabs-legacy.entry.js +1 -1
  203. package/dist/esm/gux-tabs.entry.js +1 -1
  204. package/dist/esm/gux-tag-beta.entry.js +1 -1
  205. package/dist/esm/gux-text-highlight.entry.js +1 -1
  206. package/dist/esm/gux-text-label-legacy.entry.js +1 -1
  207. package/dist/esm/gux-time-beta.entry.js +1 -1
  208. package/dist/esm/gux-time-picker-beta.entry.js +1 -1
  209. package/dist/esm/gux-toggle.entry.js +1 -1
  210. package/dist/esm/gux-tooltip.entry.js +1 -1
  211. package/dist/esm/gux-visualization-beta.entry.js +1 -1
  212. package/dist/esm/has-slot-062ae63a.js +5 -0
  213. package/dist/esm/loader.js +1 -1
  214. package/dist/esm/{usage-tracking-a62c779c.js → usage-tracking-2c66c99e.js} +1 -1
  215. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  216. package/dist/genesys-webcomponents/{p-fcc79355.entry.js → p-0250ec38.entry.js} +1 -1
  217. package/dist/genesys-webcomponents/{p-b5b94a5d.entry.js → p-06b66c03.entry.js} +1 -1
  218. package/dist/genesys-webcomponents/{p-23e61ea4.entry.js → p-073ec56a.entry.js} +1 -1
  219. package/dist/genesys-webcomponents/p-08bc2e6b.js +1 -0
  220. package/dist/genesys-webcomponents/p-0cd75697.entry.js +1 -0
  221. package/dist/genesys-webcomponents/{p-5d8e0bc4.entry.js → p-11f0edea.entry.js} +1 -1
  222. package/dist/genesys-webcomponents/{p-e8c24672.entry.js → p-147bc1a3.entry.js} +1 -1
  223. package/dist/genesys-webcomponents/{p-4b5d9da8.entry.js → p-156b6426.entry.js} +1 -1
  224. package/dist/genesys-webcomponents/{p-1ca6e835.entry.js → p-1abfd383.entry.js} +1 -1
  225. package/dist/genesys-webcomponents/p-1f6b2594.js +1 -0
  226. package/dist/genesys-webcomponents/{p-ea0f0669.entry.js → p-21ba9a7f.entry.js} +1 -1
  227. package/dist/genesys-webcomponents/{p-f1da8542.entry.js → p-23ffa72d.entry.js} +1 -1
  228. package/dist/genesys-webcomponents/{p-4922a0a2.entry.js → p-2662a67f.entry.js} +1 -1
  229. package/dist/genesys-webcomponents/{p-98487df7.entry.js → p-273bc1c6.entry.js} +1 -1
  230. package/dist/genesys-webcomponents/{p-27dfdfbe.entry.js → p-317446e2.entry.js} +1 -1
  231. package/dist/genesys-webcomponents/{p-dad0611e.entry.js → p-329d378d.entry.js} +1 -1
  232. package/dist/genesys-webcomponents/{p-e9cc6308.entry.js → p-3762f90f.entry.js} +1 -1
  233. package/dist/genesys-webcomponents/{p-cbd1cc8e.entry.js → p-380e061c.entry.js} +1 -1
  234. package/dist/genesys-webcomponents/{p-a5c113e0.entry.js → p-3b4eac0f.entry.js} +1 -1
  235. package/dist/genesys-webcomponents/{p-3f1fd04a.entry.js → p-3b7a1197.entry.js} +1 -1
  236. package/dist/genesys-webcomponents/{p-e4f821ed.entry.js → p-46e9f1e5.entry.js} +1 -1
  237. package/dist/genesys-webcomponents/{p-b1ab484a.entry.js → p-48d4a2d9.entry.js} +1 -1
  238. package/dist/genesys-webcomponents/{p-5ac8d39e.entry.js → p-49e31361.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-0999d0b1.entry.js → p-51e573c3.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/p-53e27b9d.entry.js +1 -0
  241. package/dist/genesys-webcomponents/{p-6ad7b02c.entry.js → p-589aa3f1.entry.js} +1 -1
  242. package/dist/genesys-webcomponents/{p-4d69aaf2.entry.js → p-5aef7971.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-20785dd7.entry.js → p-5d44df27.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/{p-f7b848f3.entry.js → p-5d6f997d.entry.js} +1 -1
  245. package/dist/genesys-webcomponents/p-62bfaa30.entry.js +1 -0
  246. package/dist/genesys-webcomponents/{p-c4ab4506.entry.js → p-6b65e824.entry.js} +1 -1
  247. package/dist/genesys-webcomponents/{p-6ad222c6.entry.js → p-6decf853.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/{p-950a17f8.entry.js → p-718b3059.entry.js} +1 -1
  249. package/dist/genesys-webcomponents/p-737b4bc7.entry.js +1 -0
  250. package/dist/genesys-webcomponents/{p-10aa587b.entry.js → p-74ae8934.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-e3e67e9c.entry.js → p-75818f24.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/{p-6183ee8c.entry.js → p-75b48160.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/{p-d9da4d6b.entry.js → p-792f377c.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-f28cda39.entry.js → p-79bbdf77.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/{p-238634c2.entry.js → p-7c7f4d09.entry.js} +1 -1
  256. package/dist/genesys-webcomponents/{p-a57d841d.entry.js → p-7cde4e52.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-4d4ccff4.entry.js → p-85a4b799.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-48a1dcef.entry.js → p-86fff4bd.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-02d0ecb6.entry.js → p-897fd715.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/p-8a19fe97.entry.js +1 -0
  261. package/dist/genesys-webcomponents/{p-4f560d14.entry.js → p-8b1849db.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/p-8b3fb85e.entry.js +1 -0
  263. package/dist/genesys-webcomponents/p-8e01a80b.entry.js +1 -0
  264. package/dist/genesys-webcomponents/p-905cd42a.entry.js +1 -0
  265. package/dist/genesys-webcomponents/p-9728b179.entry.js +1 -0
  266. package/dist/genesys-webcomponents/{p-25ba04f4.js → p-98612f86.js} +1 -1
  267. package/dist/genesys-webcomponents/{p-b25189bc.entry.js → p-99b16838.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/p-9cb4524e.entry.js +1 -0
  269. package/dist/genesys-webcomponents/{p-fa6af9c2.entry.js → p-9edad064.entry.js} +1 -1
  270. package/dist/genesys-webcomponents/{p-bd78d9e7.entry.js → p-a07ee1c8.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/p-a1f5922b.entry.js +1 -0
  272. package/dist/genesys-webcomponents/{p-7330728d.entry.js → p-a8dfe31f.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-c389647b.entry.js → p-ab0bb650.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-7ce94734.entry.js → p-ad7388a9.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/p-adf414b8.js +1 -0
  276. package/dist/genesys-webcomponents/{p-f690699b.entry.js → p-ae06a9ca.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-9bb13ef6.entry.js → p-b0618ec3.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-26c13127.entry.js → p-b1d58def.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-e9d4add9.entry.js → p-b37f98b0.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-d4789953.entry.js → p-b4e5e3e9.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-77fbfd67.entry.js → p-b5f53c3f.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/p-b6edc0a4.entry.js +1 -0
  283. package/dist/genesys-webcomponents/{p-9241b11f.entry.js → p-b6f31665.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-34e4e74f.entry.js → p-b788fd37.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/{p-2172c2ca.entry.js → p-b871ee68.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-8854becd.entry.js → p-b8b8e461.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/{p-3f80b4de.entry.js → p-be169210.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/p-c168bf7e.entry.js +1 -0
  289. package/dist/genesys-webcomponents/{p-0762b9a3.entry.js → p-c2bcd13d.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-a64c9daf.entry.js → p-c7f7920e.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/p-c9576487.js +1 -0
  292. package/dist/genesys-webcomponents/{p-6758d110.entry.js → p-cd21c84b.entry.js} +1 -1
  293. package/dist/genesys-webcomponents/{p-9eaf7db9.entry.js → p-cf7ea922.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-1888dc3c.entry.js → p-d0e5d051.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-23fecb8b.entry.js → p-d41c9537.entry.js} +1 -1
  296. package/dist/genesys-webcomponents/{p-b62e5685.entry.js → p-d745cd1d.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-c40cf85f.entry.js → p-de28eed0.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-22af6157.entry.js → p-e19395aa.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-ce6913d7.entry.js → p-e1b41b8d.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-fdcc1a0d.entry.js → p-e2e26bb3.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/p-e6cc6ee9.entry.js +1 -0
  302. package/dist/genesys-webcomponents/{p-22d9f858.entry.js → p-ebd1565a.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-979ff818.entry.js → p-ece30459.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-0d58452e.entry.js → p-f73e5bc3.entry.js} +1 -1
  305. package/dist/stencil-wrapper.js +1 -1
  306. package/dist/types/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.d.ts +2 -0
  307. package/dist/types/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.d.ts +2 -0
  308. package/dist/types/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.d.ts +2 -0
  309. package/dist/types/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.d.ts +2 -0
  310. package/dist/types/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.d.ts +2 -0
  311. package/dist/types/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.d.ts +2 -0
  312. package/dist/types/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.d.ts +2 -0
  313. package/dist/types/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.d.ts +2 -0
  314. package/dist/types/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.d.ts +2 -0
  315. package/dist/types/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.d.ts +2 -0
  316. package/dist/types/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.d.ts +3 -1
  317. package/dist/types/components/stable/gux-form-field/functional-components/functional-components.d.ts +7 -0
  318. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-error/gux-form-field-error.d.ts +1 -1
  319. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-help/gux-form-field-help.d.ts +6 -0
  320. package/dist/types/components/stable/gux-form-field/gux-form-field.service.d.ts +0 -2
  321. package/dist/types/components/stable/gux-listbox/gux-listbox.service.d.ts +1 -0
  322. package/dist/types/utils/dom/get-slot-text-content.d.ts +1 -0
  323. package/package.json +1 -1
  324. package/dist/genesys-webcomponents/p-061af639.js +0 -1
  325. package/dist/genesys-webcomponents/p-0c782f77.entry.js +0 -1
  326. package/dist/genesys-webcomponents/p-2db06adb.entry.js +0 -1
  327. package/dist/genesys-webcomponents/p-3770c1e9.js +0 -1
  328. package/dist/genesys-webcomponents/p-4c7ba3a5.entry.js +0 -1
  329. package/dist/genesys-webcomponents/p-4eafe5bc.entry.js +0 -1
  330. package/dist/genesys-webcomponents/p-591982e8.entry.js +0 -1
  331. package/dist/genesys-webcomponents/p-6bcc3c7a.entry.js +0 -1
  332. package/dist/genesys-webcomponents/p-914c50b9.entry.js +0 -1
  333. package/dist/genesys-webcomponents/p-a5d44381.entry.js +0 -1
  334. package/dist/genesys-webcomponents/p-aa091c65.entry.js +0 -1
  335. package/dist/genesys-webcomponents/p-aea3274c.entry.js +0 -1
  336. package/dist/genesys-webcomponents/p-b8165ab8.entry.js +0 -1
  337. package/dist/genesys-webcomponents/p-c079a476.js +0 -1
  338. package/dist/genesys-webcomponents/p-ca662e2f.entry.js +0 -1
  339. package/dist/genesys-webcomponents/p-d88c1ea8.entry.js +0 -1
  340. package/dist/genesys-webcomponents/p-f5a85376.entry.js +0 -1
@@ -9,33 +9,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
11
  import { h } from '@stencil/core';
12
- import { calculateInputDisabledState } from '../../../../../utils/dom/calculate-input-disabled-state';
13
- import { onInputDisabledStateChange } from '../../../../../utils/dom/on-input-disabled-state-change';
14
- import { OnMutation } from '../../../../../utils/decorator/on-mutation';
15
- import { onRequiredChange } from '../../../../../utils/dom/on-attribute-change';
16
- import { preventBrowserValidationStyling } from '../../../../../utils/dom/prevent-browser-validation-styling';
12
+ import { calculateInputDisabledState } from '@utils/dom/calculate-input-disabled-state';
13
+ import { onInputDisabledStateChange } from '@utils/dom/on-input-disabled-state-change';
14
+ import { OnMutation } from '@utils/decorator/on-mutation';
15
+ import { onRequiredChange } from '@utils/dom/on-attribute-change';
16
+ import { preventBrowserValidationStyling } from '@utils/dom/prevent-browser-validation-styling';
17
+ import { hasSlot } from '@utils/dom/has-slot';
18
+ import { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldLabel, GuxFormFieldContainer } from '../../functional-components/functional-components';
19
+ import { getComputedLabelPosition, validateFormIds } from '../../gux-form-field.service';
17
20
  import { trackComponent } from '../../../../../usage-tracking';
18
- import { GuxFormFieldContainer } from '../../functional-components/gux-form-field-container/gux-form-field-container';
19
- import { GuxFormFieldError } from '../../functional-components/gux-form-field-error/gux-form-field-error';
20
- import { GuxFormFieldLabel } from '../../functional-components/gux-form-field-label/gux-form-field-label';
21
- import { hasErrorSlot, getComputedLabelPosition, validateFormIds } from '../../gux-form-field.service';
22
21
  /**
23
22
  * @slot input - Required slot for input tag
24
23
  * @slot label - Required slot for label tag
25
24
  * @slot error - Optional slot for error message
25
+ * @slot help - Optional slot for help message
26
26
  */
27
27
  export class GuxFormFieldSelect {
28
28
  constructor() {
29
29
  this.computedLabelPosition = 'above';
30
30
  this.hasError = false;
31
+ this.hasHelp = false;
31
32
  }
32
33
  onMutation() {
33
- this.hasError = hasErrorSlot(this.root);
34
+ this.hasError = hasSlot(this.root, 'error');
35
+ this.hasHelp = hasSlot(this.root, 'help');
34
36
  }
35
37
  componentWillLoad() {
36
38
  this.setInput();
37
39
  this.setLabel();
38
- this.hasError = hasErrorSlot(this.root);
40
+ this.hasError = hasSlot(this.root, 'error');
41
+ this.hasHelp = hasSlot(this.root, 'help');
39
42
  trackComponent(this.root, { variant: this.variant });
40
43
  }
41
44
  disconnectedCallback() {
@@ -49,7 +52,7 @@ export class GuxFormFieldSelect {
49
52
  } }, h("div", { class: {
50
53
  'gux-input-container': true,
51
54
  'gux-disabled': this.disabled
52
- } }, h("slot", { name: "input" }), h("gux-icon", { "icon-name": "ic-dropdown-arrow", decorative: true }))), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
55
+ } }, h("slot", { name: "input" }), h("gux-icon", { "icon-name": "ic-dropdown-arrow", decorative: true }))), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
53
56
  }
54
57
  get variant() {
55
58
  const labelPositionVariant = this.labelPosition
@@ -118,7 +121,8 @@ export class GuxFormFieldSelect {
118
121
  "computedLabelPosition": {},
119
122
  "disabled": {},
120
123
  "required": {},
121
- "hasError": {}
124
+ "hasError": {},
125
+ "hasHelp": {}
122
126
  };
123
127
  }
124
128
  static get elementRef() { return "root"; }
@@ -57,6 +57,27 @@
57
57
  height: 1px;
58
58
  overflow: hidden;
59
59
  }
60
+ .gux-form-field-help {
61
+ display: none;
62
+ flex-direction: row;
63
+ flex-wrap: nowrap;
64
+ align-content: stretch;
65
+ align-items: flex-start;
66
+ justify-content: flex-start;
67
+ margin: 4px 0;
68
+ font-size: 12px;
69
+ font-weight: 400;
70
+ line-height: 20px;
71
+ color: #6b7585;
72
+ }
73
+ .gux-form-field-help.gux-show {
74
+ display: flex;
75
+ }
76
+ .gux-form-field-help .gux-message {
77
+ flex: 0 1 auto;
78
+ align-self: none;
79
+ order: 0;
80
+ }
60
81
  :host {
61
82
  display: block;
62
83
  color: #2e394c;
@@ -85,7 +106,8 @@
85
106
  color: #596373;
86
107
  opacity: 1;
87
108
  }
88
- ::slotted(span) {
109
+ slot[name='prefix'],
110
+ slot[name='suffix'] {
89
111
  color: #2e394c;
90
112
  white-space: nowrap;
91
113
  }
@@ -9,42 +9,46 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
11
  import { forceUpdate, h } from '@stencil/core';
12
- import { calculateInputDisabledState } from '../../../../../utils/dom/calculate-input-disabled-state';
13
- import { onInputDisabledStateChange } from '../../../../../utils/dom/on-input-disabled-state-change';
14
- import { OnMutation } from '../../../../../utils/decorator/on-mutation';
15
- import { onRequiredChange } from '../../../../../utils/dom/on-attribute-change';
16
- import { preventBrowserValidationStyling } from '../../../../../utils/dom/prevent-browser-validation-styling';
12
+ import { calculateInputDisabledState } from '@utils/dom/calculate-input-disabled-state';
13
+ import { onInputDisabledStateChange } from '@utils/dom/on-input-disabled-state-change';
14
+ import { OnMutation } from '@utils/decorator/on-mutation';
15
+ import { onRequiredChange } from '@utils/dom/on-attribute-change';
16
+ import { preventBrowserValidationStyling } from '@utils/dom/prevent-browser-validation-styling';
17
+ import { hasSlot } from '@utils/dom/has-slot';
18
+ import { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldLabel, GuxFormFieldContainer } from '../../functional-components/functional-components';
19
+ import { clearInput, hasContent, getComputedLabelPosition, validateFormIds, setSlotAriaDescribedby } from '../../gux-form-field.service';
17
20
  import { trackComponent } from '../../../../../usage-tracking';
18
- import { GuxFormFieldContainer } from '../../functional-components/gux-form-field-container/gux-form-field-container';
19
- import { GuxFormFieldError } from '../../functional-components/gux-form-field-error/gux-form-field-error';
20
- import { GuxFormFieldLabel } from '../../functional-components/gux-form-field-label/gux-form-field-label';
21
- import { clearInput, hasErrorSlot, hasContent, getComputedLabelPosition, validateFormIds, setSlotAriaDescribedby } from '../../gux-form-field.service';
22
21
  /**
23
22
  * @slot input - Required slot for input tag
24
23
  * @slot label - Required slot for label tag
25
24
  * @slot prefix - Optional slot for prefix
26
25
  * @slot suffix - Optional slot for suffix
27
26
  * @slot error - Optional slot for error message
27
+ * @slot help - Optional slot for help message
28
28
  */
29
29
  export class GuxFormFieldTextLike {
30
30
  constructor() {
31
31
  this.computedLabelPosition = 'above';
32
32
  this.hasContent = false;
33
33
  this.hasError = false;
34
+ this.hasHelp = false;
34
35
  }
35
36
  onMutation() {
36
- this.hasError = hasErrorSlot(this.root);
37
+ this.hasError = hasSlot(this.root, 'error');
38
+ this.hasHelp = hasSlot(this.root, 'help');
37
39
  }
38
40
  // eslint-disable-next-line @typescript-eslint/require-await
39
41
  async guxForceUpdate() {
40
42
  this.hasContent = hasContent(this.input);
41
- this.hasError = hasErrorSlot(this.root);
43
+ this.hasError = hasSlot(this.root, 'error');
44
+ this.hasHelp = hasSlot(this.root, 'help');
42
45
  forceUpdate(this.root);
43
46
  }
44
47
  componentWillLoad() {
45
48
  this.setInput();
46
49
  this.setLabel();
47
- this.hasError = hasErrorSlot(this.root);
50
+ this.hasError = hasSlot(this.root, 'error');
51
+ this.hasHelp = hasSlot(this.root, 'help');
48
52
  this.hasPrefix = Boolean(this.root.querySelector('[slot="prefix"]'));
49
53
  this.hasSuffix = Boolean(this.root.querySelector('[slot="suffix"]'));
50
54
  if (this.hasPrefix) {
@@ -68,7 +72,7 @@ export class GuxFormFieldTextLike {
68
72
  'gux-disabled': this.disabled,
69
73
  'gux-has-prefix': this.hasPrefix,
70
74
  'gux-has-suffix': this.hasSuffix
71
- } }, h("slot", { name: "prefix" }), h("slot", { name: "input" }), h("slot", { name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
75
+ } }, h("slot", { name: "prefix" }), h("slot", { name: "input" }), h("slot", { name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
72
76
  }
73
77
  get variant() {
74
78
  const labelPositionVariant = this.labelPosition
@@ -162,7 +166,8 @@ export class GuxFormFieldTextLike {
162
166
  "disabled": {},
163
167
  "required": {},
164
168
  "hasContent": {},
165
- "hasError": {}
169
+ "hasError": {},
170
+ "hasHelp": {}
166
171
  };
167
172
  }
168
173
  static get methods() {
@@ -57,6 +57,27 @@
57
57
  height: 1px;
58
58
  overflow: hidden;
59
59
  }
60
+ .gux-form-field-help {
61
+ display: none;
62
+ flex-direction: row;
63
+ flex-wrap: nowrap;
64
+ align-content: stretch;
65
+ align-items: flex-start;
66
+ justify-content: flex-start;
67
+ margin: 4px 0;
68
+ font-size: 12px;
69
+ font-weight: 400;
70
+ line-height: 20px;
71
+ color: #6b7585;
72
+ }
73
+ .gux-form-field-help.gux-show {
74
+ display: flex;
75
+ }
76
+ .gux-form-field-help .gux-message {
77
+ flex: 0 1 auto;
78
+ align-self: none;
79
+ order: 0;
80
+ }
60
81
  :host {
61
82
  display: block;
62
83
  color: #2e394c;
@@ -9,34 +9,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
11
  import { h } from '@stencil/core';
12
- import { calculateInputDisabledState } from '../../../../../utils/dom/calculate-input-disabled-state';
13
- import { onInputDisabledStateChange } from '../../../../../utils/dom/on-input-disabled-state-change';
14
- import { OnMutation } from '../../../../../utils/decorator/on-mutation';
15
- import { onRequiredChange } from '../../../../../utils/dom/on-attribute-change';
16
- import { preventBrowserValidationStyling } from '../../../../../utils/dom/prevent-browser-validation-styling';
12
+ import { calculateInputDisabledState } from '@utils/dom/calculate-input-disabled-state';
13
+ import { onInputDisabledStateChange } from '@utils/dom/on-input-disabled-state-change';
14
+ import { OnMutation } from '@utils/decorator/on-mutation';
15
+ import { onRequiredChange } from '@utils/dom/on-attribute-change';
16
+ import { preventBrowserValidationStyling } from '@utils/dom/prevent-browser-validation-styling';
17
+ import { hasSlot } from '@utils/dom/has-slot';
18
+ import { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldLabel, GuxFormFieldContainer } from '../../functional-components/functional-components';
19
+ import { getComputedLabelPosition, validateFormIds } from '../../gux-form-field.service';
17
20
  import { trackComponent } from '../../../../../usage-tracking';
18
- import { GuxFormFieldContainer } from '../../functional-components/gux-form-field-container/gux-form-field-container';
19
- import { GuxFormFieldError } from '../../functional-components/gux-form-field-error/gux-form-field-error';
20
- import { GuxFormFieldLabel } from '../../functional-components/gux-form-field-label/gux-form-field-label';
21
- import { hasErrorSlot, getComputedLabelPosition, validateFormIds } from '../../gux-form-field.service';
22
21
  /**
23
22
  * @slot input - Required slot for input tag
24
23
  * @slot label - Required slot for label tag
25
24
  * @slot error - Optional slot for error message
25
+ * @slot help - Optional slot for help message
26
26
  */
27
27
  export class GuxFormFieldTextarea {
28
28
  constructor() {
29
29
  this.computedLabelPosition = 'above';
30
30
  this.required = true;
31
31
  this.hasError = false;
32
+ this.hasHelp = false;
32
33
  }
33
34
  onMutation() {
34
- this.hasError = hasErrorSlot(this.root);
35
+ this.hasError = hasSlot(this.root, 'error');
36
+ this.hasHelp = hasSlot(this.root, 'help');
35
37
  }
36
38
  componentWillLoad() {
37
39
  this.setInput();
38
40
  this.setLabel();
39
- this.hasError = hasErrorSlot(this.root);
41
+ this.hasError = hasSlot(this.root, 'error');
42
+ this.hasHelp = hasSlot(this.root, 'help');
40
43
  trackComponent(this.root, { variant: this.variant });
41
44
  }
42
45
  componentDidLoad() {
@@ -52,7 +55,7 @@ export class GuxFormFieldTextarea {
52
55
  [`gux-resize-${this.resize}`]: true,
53
56
  'gux-disabled': this.disabled,
54
57
  'gux-input-error': this.hasError
55
- } }, h("slot", { name: "input" })), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
58
+ } }, h("slot", { name: "input" })), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
56
59
  }
57
60
  get variant() {
58
61
  const labelPositionVariant = this.labelPosition
@@ -154,7 +157,8 @@ export class GuxFormFieldTextarea {
154
157
  "computedLabelPosition": {},
155
158
  "disabled": {},
156
159
  "required": {},
157
- "hasError": {}
160
+ "hasError": {},
161
+ "hasHelp": {}
158
162
  };
159
163
  }
160
164
  static get elementRef() { return "root"; }
@@ -60,6 +60,27 @@
60
60
  height: 1px;
61
61
  overflow: hidden;
62
62
  }
63
+ .gux-form-field-help {
64
+ display: none;
65
+ flex-direction: row;
66
+ flex-wrap: nowrap;
67
+ align-content: stretch;
68
+ align-items: flex-start;
69
+ justify-content: flex-start;
70
+ margin: 4px 0;
71
+ font-size: 12px;
72
+ font-weight: 400;
73
+ line-height: 20px;
74
+ color: #6b7585;
75
+ }
76
+ .gux-form-field-help.gux-show {
77
+ display: flex;
78
+ }
79
+ .gux-form-field-help .gux-message {
80
+ flex: 0 1 auto;
81
+ align-self: none;
82
+ order: 0;
83
+ }
63
84
  ::slotted(label) {
64
85
  font-family: Roboto, sans-serif;
65
86
  font-weight: 400;
@@ -10,23 +10,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
10
10
  };
11
11
  import { h } from '@stencil/core';
12
12
  import { buildI18nForComponent } from '../../../../../i18n';
13
- import { OnMutation } from '../../../../../utils/decorator/on-mutation';
14
- import { onDisabledChange, onRequiredChange } from '../../../../../utils/dom/on-attribute-change';
13
+ import { OnMutation } from '@utils/decorator/on-mutation';
14
+ import { onDisabledChange, onRequiredChange } from '@utils/dom/on-attribute-change';
15
+ import { hasSlot } from '@utils/dom/has-slot';
16
+ import { getSlotTextContent } from '@utils/dom/get-slot-text-content';
17
+ import { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldFieldsetContainer, GuxFormFieldLegendLabel } from '../../functional-components/functional-components';
18
+ import { getComputedLabelPosition, validateFormIds } from '../../gux-form-field.service';
15
19
  import { trackComponent } from '../../../../../usage-tracking';
16
- import { GuxFormFieldFieldsetContainer } from '../../functional-components/gux-form-field-fieldset-container/gux-form-field-fieldset-container';
17
- import { GuxFormFieldError } from '../../functional-components/gux-form-field-error/gux-form-field-error';
18
- import { GuxFormFieldLegendLabel } from '../../functional-components/gux-form-field-legend-label/gux-form-field-legend-label';
19
- import { hasErrorSlot, getComputedLabelPosition, getErrorSlotTextContent, validateFormIds } from '../../gux-form-field.service';
20
20
  import componentResources from './i18n/en.json';
21
21
  /**
22
- * @slot - Required slot for gux-time-picker-beta tag
22
+ * @slot Required slot for gux-time-picker-beta tag
23
23
  * @slot label - Required slot for label tag
24
24
  * @slot error - Optional slot for error message
25
+ * @slot help - Optional slot for help message
25
26
  */
26
27
  export class GuxFormFieldTimePicker {
27
28
  constructor() {
28
29
  this.computedLabelPosition = 'above';
29
30
  this.hasError = false;
31
+ this.hasHelp = false;
30
32
  }
31
33
  watchValue(hasError) {
32
34
  const timePickerSlot = this.root.querySelector('gux-time-picker-beta');
@@ -35,13 +37,15 @@ export class GuxFormFieldTimePicker {
35
37
  }
36
38
  }
37
39
  onMutation() {
38
- this.hasError = hasErrorSlot(this.root);
40
+ this.hasError = hasSlot(this.root, 'error');
41
+ this.hasHelp = hasSlot(this.root, 'help');
39
42
  }
40
43
  async componentWillLoad() {
41
44
  this.getI18nValue = await buildI18nForComponent(this.root, componentResources);
42
45
  this.setInput();
43
46
  this.setLabel();
44
- this.hasError = hasErrorSlot(this.root);
47
+ this.hasError = hasSlot(this.root, 'error');
48
+ this.hasHelp = hasSlot(this.root, 'help');
45
49
  trackComponent(this.root, { variant: this.variant });
46
50
  }
47
51
  disconnectedCallback() {
@@ -49,13 +53,13 @@ export class GuxFormFieldTimePicker {
49
53
  this.requiredObserver.disconnect();
50
54
  }
51
55
  render() {
52
- return (h(GuxFormFieldFieldsetContainer, { labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { position: this.computedLabelPosition, required: this.required }, h("slot", { name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getErrorSlotTextContent(this.root), this.hasError)), h("div", { class: "gux-input-and-error-container" }, h("div", { class: {
56
+ return (h(GuxFormFieldFieldsetContainer, { labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { position: this.computedLabelPosition, required: this.required }, h("slot", { name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { class: "gux-input-and-error-container" }, h("div", { class: {
53
57
  'gux-input': true,
54
58
  'gux-input-error': this.hasError
55
59
  } }, h("div", { class: {
56
60
  'gux-time-picker-container': true,
57
61
  'gux-disabled': this.disabled
58
- } }, h("slot", null))), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
62
+ } }, h("slot", null))), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
59
63
  }
60
64
  renderScreenReaderText(text, condition = true) {
61
65
  if (condition) {
@@ -128,7 +132,8 @@ export class GuxFormFieldTimePicker {
128
132
  "computedLabelPosition": {},
129
133
  "disabled": {},
130
134
  "required": {},
131
- "hasError": {}
135
+ "hasError": {},
136
+ "hasHelp": {}
132
137
  };
133
138
  }
134
139
  static get elementRef() { return "root"; }
@@ -0,0 +1,7 @@
1
+ import { GuxFormFieldHelp } from './gux-form-field-help/gux-form-field-help';
2
+ import { GuxFormFieldError } from './gux-form-field-error/gux-form-field-error';
3
+ import { GuxFormFieldLabel } from './gux-form-field-label/gux-form-field-label';
4
+ import { GuxFormFieldContainer } from './gux-form-field-container/gux-form-field-container';
5
+ import { GuxFormFieldLegendLabel } from './gux-form-field-legend-label/gux-form-field-legend-label';
6
+ import { GuxFormFieldFieldsetContainer } from './gux-form-field-fieldset-container/gux-form-field-fieldset-container';
7
+ export { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldLabel, GuxFormFieldContainer, GuxFormFieldLegendLabel, GuxFormFieldFieldsetContainer };
@@ -1,7 +1,7 @@
1
1
  import { h } from '@stencil/core';
2
- export const GuxFormFieldError = ({ hasError }, children) => {
2
+ export const GuxFormFieldError = ({ show }, children) => {
3
3
  return (h("div", { class: {
4
4
  'gux-form-field-error': true,
5
- 'gux-show': hasError
5
+ 'gux-show': show
6
6
  } }, h("gux-icon", { "icon-name": "alert-warning-octogon", decorative: true }), h("div", { class: "gux-message" }, children)));
7
7
  };
@@ -0,0 +1,7 @@
1
+ import { h } from '@stencil/core';
2
+ export const GuxFormFieldHelp = ({ show }, children) => {
3
+ return (h("div", { class: {
4
+ 'gux-form-field-help': true,
5
+ 'gux-show': show
6
+ } }, h("div", { class: "gux-message" }, children)));
7
+ };
@@ -1,16 +1,10 @@
1
1
  import { randomHTMLId } from '../../../utils/dom/random-html-id';
2
2
  import { logError } from '../../../utils/error/log-error';
3
3
  import setInputValue from '../../../utils/dom/set-input-value';
4
+ import { hasSlot } from '@utils/dom/has-slot';
4
5
  export function clearInput(input) {
5
6
  setInputValue(input, '', true);
6
7
  }
7
- export function hasErrorSlot(root) {
8
- return Boolean(root.querySelector('[slot="error"]'));
9
- }
10
- export function getErrorSlotTextContent(root) {
11
- var _a;
12
- return (_a = root.querySelector('[slot="error"]')) === null || _a === void 0 ? void 0 : _a.textContent;
13
- }
14
8
  export function hasContent(input) {
15
9
  return Boolean(input.value);
16
10
  }
@@ -28,7 +22,7 @@ export function getComputedLabelPosition(label, labelPosition) {
28
22
  }
29
23
  }
30
24
  export function validateFormIds(root, input) {
31
- var _a, _b;
25
+ var _a, _b, _c, _d;
32
26
  if (hasLabelSlot(root)) {
33
27
  const label = root.querySelector('label[slot="label"]');
34
28
  const inputHasId = Boolean(input.hasAttribute('id'));
@@ -54,7 +48,7 @@ export function validateFormIds(root, input) {
54
48
  else {
55
49
  logError(root.tagName.toLowerCase(), 'A label is required for this component. If a visual label is not needed for this use case, please add localized text for a screenreader and set the label-position attribute to "screenreader" to visually hide the label.');
56
50
  }
57
- if (hasErrorSlot(root)) {
51
+ if (hasSlot(root, 'error')) {
58
52
  const error = root.querySelector('[slot="error"]');
59
53
  const errorId = randomHTMLId('gux-form-field-error');
60
54
  const describedByIds = ((_a = input
@@ -69,6 +63,21 @@ export function validateFormIds(root, input) {
69
63
  .getAttribute('aria-describedby')) === null || _b === void 0 ? void 0 : _b.split(' ').filter(id => !id.startsWith(`gux-form-field-error`))) || [];
70
64
  input.setAttribute('aria-describedby', describedByIds.join(' '));
71
65
  }
66
+ if (hasSlot(root, 'help')) {
67
+ const help = root.querySelector('[slot="help"]');
68
+ const helpId = randomHTMLId('gux-form-field-help');
69
+ const describedByIds = ((_c = input
70
+ .getAttribute('aria-describedby')) === null || _c === void 0 ? void 0 : _c.split(' ').filter(id => !id.startsWith(`gux-form-field-help`))) || [];
71
+ help.setAttribute('id', helpId);
72
+ describedByIds.push(helpId);
73
+ describedByIds &&
74
+ input.setAttribute('aria-describedby', describedByIds.join(' '));
75
+ }
76
+ else if (input.getAttribute('aria-describedby')) {
77
+ const describedByIds = ((_d = input
78
+ .getAttribute('aria-describedby')) === null || _d === void 0 ? void 0 : _d.split(' ').filter(id => !id.startsWith(`gux-form-field-help`))) || [];
79
+ input.setAttribute('aria-describedby', describedByIds.join(' '));
80
+ }
72
81
  }
73
82
  export function setSlotAriaDescribedby(root, input, slotName) {
74
83
  var _a;
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from '@stencil/core';
2
- import { actOnActiveOption, clearActiveOptions, goToOption, hasPreviousOption, hasNextOption, onClickedOption, setFirstOptionActive, setInitialActiveOption, setLastOptionActive, setNextOptionActive, setPreviousOptionActive } from './gux-listbox.service';
2
+ import { actOnActiveOption, clearActiveOptions, goToOption, hasPreviousOption, hasNextOption, onClickedOption, setFirstOptionActive, setInitialActiveOption, setLastOptionActive, setNextOptionActive, setPreviousOptionActive, matchOption } from './gux-listbox.service';
3
3
  import { buildI18nForComponent } from '../../../i18n';
4
4
  import { whenEventIsFrom } from '../../../utils/dom/when-event-is-from';
5
5
  import simulateNativeEvent from '../../../utils/dom/simulate-native-event';
@@ -108,9 +108,7 @@ export class GuxListbox {
108
108
  componentWillRender() {
109
109
  this.listboxOptions.forEach(listboxOption => {
110
110
  listboxOption.selected = listboxOption.value === this.value;
111
- listboxOption.filtered = !listboxOption.textContent
112
- .toLowerCase()
113
- .startsWith(this.filter.toLowerCase());
111
+ listboxOption.filtered = !matchOption(listboxOption, this.filter);
114
112
  });
115
113
  this.allListboxOptionsFiltered =
116
114
  this.listboxOptions.filter(listboxOption => !listboxOption.filtered)
@@ -67,7 +67,7 @@ function hasActiveOption(list) {
67
67
  export function getSearchOption(list, searchString) {
68
68
  return getListOptions(list).find(option => {
69
69
  return ((!option.disabled || !option.filtered) &&
70
- option.textContent.toLowerCase().startsWith(searchString.toLowerCase()));
70
+ matchOption(option, searchString));
71
71
  });
72
72
  }
73
73
  function setSearchOptionActive(list, searchString) {
@@ -144,3 +144,10 @@ export function goToOption(list, letter) {
144
144
  searchStringState = '';
145
145
  }, searchDebounceInterval);
146
146
  }
147
+ export function matchOption(option, matchString) {
148
+ //The text content needs to be trimmed as white space can occur around the textContent if options are populated asynchronously.
149
+ return option.textContent
150
+ .trim()
151
+ .toLowerCase()
152
+ .startsWith(matchString.toLowerCase());
153
+ }
@@ -0,0 +1,4 @@
1
+ export function getSlotTextContent(root, slotName) {
2
+ var _a;
3
+ return (_a = root.querySelector(`[slot=${slotName}]`)) === null || _a === void 0 ? void 0 : _a.textContent;
4
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "spark-components",
3
- "version": "3.32.1",
3
+ "version": "3.32.3",
4
4
  "ecosystem": "pc",
5
5
  "team": "Core UI",
6
6
  "indexFiles": [],
7
- "build": "197",
8
- "buildDate": "2022-09-29T08:41:10.457602Z"
7
+ "build": "201",
8
+ "buildDate": "2022-09-30T13:42:00.994703Z"
9
9
  }