genesys-spark-components 3.32.3 → 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 (331) hide show
  1. package/CHANGELOG.md +7 -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 +1 -1
  35. package/dist/cjs/gux-dropdown_3.cjs.entry.js +1 -1
  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 +1 -1
  57. package/dist/cjs/gux-loading-message-beta.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +3 -6
  66. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-popover.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-skip-navigation-list-beta.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-switch.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-table-beta.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-tabs-legacy.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-tag-beta.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-time-picker-beta.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-visualization-beta.cjs.entry.js +1 -1
  89. package/dist/cjs/has-slot-2e73d6e7.js +7 -0
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/cjs/{usage-tracking-aa9da6aa.js → usage-tracking-c0879d4b.js} +1 -1
  92. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.css +21 -0
  93. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.js +16 -10
  94. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.css +21 -0
  95. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.js +17 -13
  96. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.css +21 -0
  97. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.js +16 -12
  98. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.css +21 -0
  99. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +21 -16
  100. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.css +21 -0
  101. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.js +16 -10
  102. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.css +21 -0
  103. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.js +16 -12
  104. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.css +21 -0
  105. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.js +17 -13
  106. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.css +21 -0
  107. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.js +17 -13
  108. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.css +23 -1
  109. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.js +19 -14
  110. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.css +21 -0
  111. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +17 -13
  112. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.css +21 -0
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.js +17 -12
  114. package/dist/collection/components/stable/gux-form-field/functional-components/functional-components.js +7 -0
  115. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-error/gux-form-field-error.js +2 -2
  116. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-help/gux-form-field-help.js +7 -0
  117. package/dist/collection/components/stable/gux-form-field/gux-form-field.service.js +18 -9
  118. package/dist/collection/utils/dom/get-slot-text-content.js +4 -0
  119. package/dist/deploy-info.json +3 -3
  120. package/dist/esm/genesys-webcomponents.js +1 -1
  121. package/dist/esm/gux-accordion-legacy.entry.js +1 -1
  122. package/dist/esm/gux-accordion.entry.js +1 -1
  123. package/dist/esm/gux-action-button-legacy.entry.js +1 -1
  124. package/dist/esm/gux-action-button.entry.js +1 -1
  125. package/dist/esm/gux-action-list-legacy.entry.js +1 -1
  126. package/dist/esm/gux-action-toast.entry.js +1 -1
  127. package/dist/esm/gux-advanced-dropdown.entry.js +1 -1
  128. package/dist/esm/gux-announce-beta.entry.js +1 -1
  129. package/dist/esm/gux-badge-beta.entry.js +1 -1
  130. package/dist/esm/gux-blank-state-beta.entry.js +1 -1
  131. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  132. package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
  133. package/dist/esm/gux-button-multi.entry.js +1 -1
  134. package/dist/esm/gux-button-slot-beta.entry.js +1 -1
  135. package/dist/esm/gux-button.entry.js +1 -1
  136. package/dist/esm/gux-calendar.entry.js +1 -1
  137. package/dist/esm/gux-card-beta.entry.js +1 -1
  138. package/dist/esm/gux-chart-column-beta.entry.js +1 -1
  139. package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
  140. package/dist/esm/gux-chart-line-beta.entry.js +1 -1
  141. package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
  142. package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
  143. package/dist/esm/gux-command-palette-legacy.entry.js +1 -1
  144. package/dist/esm/gux-content-search.entry.js +1 -1
  145. package/dist/esm/gux-copy-to-clipboard-beta.entry.js +1 -1
  146. package/dist/esm/gux-date-beta.entry.js +1 -1
  147. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  148. package/dist/esm/gux-datepicker.entry.js +1 -1
  149. package/dist/esm/gux-disclosure-button.entry.js +1 -1
  150. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  151. package/dist/esm/gux-dropdown-legacy.entry.js +1 -1
  152. package/dist/esm/gux-dropdown-multi-beta.entry.js +1 -1
  153. package/dist/esm/gux-dropdown_3.entry.js +1 -1
  154. package/dist/esm/gux-error-message-beta.entry.js +1 -1
  155. package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
  156. package/dist/esm/gux-form-field-checkbox.entry.js +10 -6
  157. package/dist/esm/gux-form-field-color.entry.js +11 -7
  158. package/dist/esm/{gux-form-field-label-9c6f4df6.js → gux-form-field-container-2d8e8d4e.js} +7 -7
  159. package/dist/esm/gux-form-field-dropdown.entry.js +11 -7
  160. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  161. package/dist/esm/gux-form-field-legacy.entry.js +1 -1
  162. package/dist/esm/gux-form-field-number.entry.js +13 -8
  163. package/dist/esm/gux-form-field-radio.entry.js +10 -6
  164. package/dist/esm/gux-form-field-range.entry.js +11 -7
  165. package/dist/esm/gux-form-field-search.entry.js +11 -7
  166. package/dist/esm/gux-form-field-select.entry.js +11 -7
  167. package/dist/esm/gux-form-field-text-like.entry.js +13 -8
  168. package/dist/esm/gux-form-field-textarea.entry.js +11 -7
  169. package/dist/esm/gux-form-field-time-picker.entry.js +23 -14
  170. package/dist/esm/{gux-form-field.service-25a9237e.js → gux-form-field.service-e046de13.js} +29 -12
  171. package/dist/esm/gux-icon.entry.js +1 -1
  172. package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
  173. package/dist/esm/gux-list.entry.js +1 -1
  174. package/dist/esm/gux-listbox-multi.entry.js +1 -1
  175. package/dist/esm/gux-loading-message-beta.entry.js +1 -1
  176. package/dist/esm/gux-modal.entry.js +1 -1
  177. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  178. package/dist/esm/gux-notification-toast.entry.js +1 -1
  179. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  180. package/dist/esm/gux-pagination-beta.entry.js +1 -1
  181. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  182. package/dist/esm/gux-pagination.entry.js +1 -1
  183. package/dist/esm/gux-panel-frame-legacy.entry.js +2 -5
  184. package/dist/esm/gux-popover-list.entry.js +1 -1
  185. package/dist/esm/gux-popover.entry.js +1 -1
  186. package/dist/esm/gux-radial-loading.entry.js +1 -1
  187. package/dist/esm/gux-radial-progress.entry.js +1 -1
  188. package/dist/esm/gux-rating.entry.js +1 -1
  189. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  190. package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
  191. package/dist/esm/gux-simple-toast.entry.js +1 -1
  192. package/dist/esm/gux-skip-navigation-list-beta.entry.js +1 -1
  193. package/dist/esm/gux-sort-control.entry.js +1 -1
  194. package/dist/esm/gux-switch.entry.js +1 -1
  195. package/dist/esm/gux-table-beta.entry.js +1 -1
  196. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  197. package/dist/esm/gux-tabs-legacy.entry.js +1 -1
  198. package/dist/esm/gux-tabs.entry.js +1 -1
  199. package/dist/esm/gux-tag-beta.entry.js +1 -1
  200. package/dist/esm/gux-text-highlight.entry.js +1 -1
  201. package/dist/esm/gux-text-label-legacy.entry.js +1 -1
  202. package/dist/esm/gux-time-beta.entry.js +1 -1
  203. package/dist/esm/gux-time-picker-beta.entry.js +1 -1
  204. package/dist/esm/gux-toggle.entry.js +1 -1
  205. package/dist/esm/gux-tooltip.entry.js +1 -1
  206. package/dist/esm/gux-visualization-beta.entry.js +1 -1
  207. package/dist/esm/has-slot-062ae63a.js +5 -0
  208. package/dist/esm/loader.js +1 -1
  209. package/dist/esm/{usage-tracking-208cef9e.js → usage-tracking-2c66c99e.js} +1 -1
  210. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  211. package/dist/genesys-webcomponents/{p-34873c24.entry.js → p-0250ec38.entry.js} +1 -1
  212. package/dist/genesys-webcomponents/{p-9b4f4a6e.entry.js → p-06b66c03.entry.js} +1 -1
  213. package/dist/genesys-webcomponents/{p-b3bbc23b.entry.js → p-073ec56a.entry.js} +1 -1
  214. package/dist/genesys-webcomponents/p-08bc2e6b.js +1 -0
  215. package/dist/genesys-webcomponents/p-0cd75697.entry.js +1 -0
  216. package/dist/genesys-webcomponents/{p-338324cc.entry.js → p-11f0edea.entry.js} +1 -1
  217. package/dist/genesys-webcomponents/{p-b4f80688.entry.js → p-147bc1a3.entry.js} +1 -1
  218. package/dist/genesys-webcomponents/{p-4c733037.entry.js → p-156b6426.entry.js} +1 -1
  219. package/dist/genesys-webcomponents/{p-5ae53925.entry.js → p-1abfd383.entry.js} +1 -1
  220. package/dist/genesys-webcomponents/p-1f6b2594.js +1 -0
  221. package/dist/genesys-webcomponents/{p-f57a152d.entry.js → p-21ba9a7f.entry.js} +1 -1
  222. package/dist/genesys-webcomponents/{p-4afebf77.entry.js → p-23ffa72d.entry.js} +1 -1
  223. package/dist/genesys-webcomponents/{p-a51ff810.entry.js → p-2662a67f.entry.js} +1 -1
  224. package/dist/genesys-webcomponents/{p-1bd6dbe4.entry.js → p-273bc1c6.entry.js} +1 -1
  225. package/dist/genesys-webcomponents/{p-695049b5.entry.js → p-317446e2.entry.js} +1 -1
  226. package/dist/genesys-webcomponents/{p-47ff4961.entry.js → p-329d378d.entry.js} +1 -1
  227. package/dist/genesys-webcomponents/{p-78a09deb.entry.js → p-3762f90f.entry.js} +1 -1
  228. package/dist/genesys-webcomponents/{p-d402352c.entry.js → p-380e061c.entry.js} +1 -1
  229. package/dist/genesys-webcomponents/{p-4645a835.entry.js → p-3b4eac0f.entry.js} +1 -1
  230. package/dist/genesys-webcomponents/{p-f8471417.entry.js → p-3b7a1197.entry.js} +1 -1
  231. package/dist/genesys-webcomponents/{p-dca6993e.entry.js → p-46e9f1e5.entry.js} +1 -1
  232. package/dist/genesys-webcomponents/{p-6660bb1c.entry.js → p-48d4a2d9.entry.js} +1 -1
  233. package/dist/genesys-webcomponents/{p-5912c734.entry.js → p-49e31361.entry.js} +1 -1
  234. package/dist/genesys-webcomponents/{p-afe37461.entry.js → p-51e573c3.entry.js} +1 -1
  235. package/dist/genesys-webcomponents/p-53e27b9d.entry.js +1 -0
  236. package/dist/genesys-webcomponents/{p-a9d5a8c4.entry.js → p-589aa3f1.entry.js} +1 -1
  237. package/dist/genesys-webcomponents/{p-1563c1b6.entry.js → p-5aef7971.entry.js} +1 -1
  238. package/dist/genesys-webcomponents/{p-0afb6281.entry.js → p-5d44df27.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-27a4972a.entry.js → p-5d6f997d.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/p-62bfaa30.entry.js +1 -0
  241. package/dist/genesys-webcomponents/{p-c15ad970.entry.js → p-6b65e824.entry.js} +1 -1
  242. package/dist/genesys-webcomponents/{p-26c01f0c.entry.js → p-6decf853.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-3fb2cd78.entry.js → p-718b3059.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/p-737b4bc7.entry.js +1 -0
  245. package/dist/genesys-webcomponents/{p-9dd70ee6.entry.js → p-74ae8934.entry.js} +1 -1
  246. package/dist/genesys-webcomponents/{p-ae596c2f.entry.js → p-75818f24.entry.js} +1 -1
  247. package/dist/genesys-webcomponents/{p-3cca4425.entry.js → p-75b48160.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/{p-4c13791d.entry.js → p-792f377c.entry.js} +1 -1
  249. package/dist/genesys-webcomponents/{p-7bf15d70.entry.js → p-79bbdf77.entry.js} +1 -1
  250. package/dist/genesys-webcomponents/{p-c4e6d6d9.entry.js → p-7c7f4d09.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-56a53028.entry.js → p-7cde4e52.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/{p-80046670.entry.js → p-85a4b799.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/{p-279e3d0c.entry.js → p-86fff4bd.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-4ebe7f33.entry.js → p-897fd715.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/p-8a19fe97.entry.js +1 -0
  256. package/dist/genesys-webcomponents/{p-fb4b4db3.entry.js → p-8b1849db.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/p-8b3fb85e.entry.js +1 -0
  258. package/dist/genesys-webcomponents/p-8e01a80b.entry.js +1 -0
  259. package/dist/genesys-webcomponents/p-905cd42a.entry.js +1 -0
  260. package/dist/genesys-webcomponents/{p-97065fec.entry.js → p-9728b179.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-b48c542d.js → p-98612f86.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-750e70ef.entry.js → p-99b16838.entry.js} +1 -1
  263. package/dist/genesys-webcomponents/{p-c3d32494.entry.js → p-9cb4524e.entry.js} +1 -1
  264. package/dist/genesys-webcomponents/{p-532d9004.entry.js → p-9edad064.entry.js} +1 -1
  265. package/dist/genesys-webcomponents/{p-1e174f48.entry.js → p-a07ee1c8.entry.js} +1 -1
  266. package/dist/genesys-webcomponents/p-a1f5922b.entry.js +1 -0
  267. package/dist/genesys-webcomponents/{p-b2282e96.entry.js → p-a8dfe31f.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-b57a1503.entry.js → p-ab0bb650.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/{p-411ce526.entry.js → p-ad7388a9.entry.js} +1 -1
  270. package/dist/genesys-webcomponents/{p-90b8aa76.entry.js → p-ae06a9ca.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/{p-fbe5ce4b.entry.js → p-b0618ec3.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-6753b85e.entry.js → p-b1d58def.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-53b4cfe2.entry.js → p-b37f98b0.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-dec1b34f.entry.js → p-b4e5e3e9.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/{p-eef4a31e.entry.js → p-b5f53c3f.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/p-b6edc0a4.entry.js +1 -0
  277. package/dist/genesys-webcomponents/{p-f8c11029.entry.js → p-b6f31665.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-faff15ba.entry.js → p-b788fd37.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-e5de66fd.entry.js → p-b871ee68.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/p-b8b8e461.entry.js +1 -0
  281. package/dist/genesys-webcomponents/{p-738fada9.entry.js → p-be169210.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/p-c168bf7e.entry.js +1 -0
  283. package/dist/genesys-webcomponents/{p-f7c7986b.entry.js → p-c2bcd13d.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-5748b8ba.entry.js → p-c7f7920e.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/p-c9576487.js +1 -0
  286. package/dist/genesys-webcomponents/{p-6d8ed01d.entry.js → p-cd21c84b.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/{p-b5eafce9.entry.js → p-cf7ea922.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-1493f317.entry.js → p-d0e5d051.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-5872b921.entry.js → p-d41c9537.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-8cbf669c.entry.js → p-d745cd1d.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/{p-236760ad.entry.js → p-de28eed0.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/{p-b1ee8a37.entry.js → p-e19395aa.entry.js} +1 -1
  293. package/dist/genesys-webcomponents/{p-cbb743e4.entry.js → p-e1b41b8d.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-5d176c52.entry.js → p-e2e26bb3.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/p-e6cc6ee9.entry.js +1 -0
  296. package/dist/genesys-webcomponents/{p-cb4b6d73.entry.js → p-ebd1565a.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-f6bd4dd4.entry.js → p-ece30459.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-cbcd5fde.entry.js → p-f73e5bc3.entry.js} +1 -1
  299. package/dist/stencil-wrapper.js +1 -1
  300. package/dist/types/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.d.ts +2 -0
  301. package/dist/types/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.d.ts +2 -0
  302. package/dist/types/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.d.ts +2 -0
  303. package/dist/types/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.d.ts +2 -0
  304. package/dist/types/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.d.ts +2 -0
  305. package/dist/types/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.d.ts +2 -0
  306. package/dist/types/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.d.ts +2 -0
  307. package/dist/types/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.d.ts +2 -0
  308. package/dist/types/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.d.ts +2 -0
  309. package/dist/types/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.d.ts +2 -0
  310. package/dist/types/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.d.ts +3 -1
  311. package/dist/types/components/stable/gux-form-field/functional-components/functional-components.d.ts +7 -0
  312. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-error/gux-form-field-error.d.ts +1 -1
  313. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-help/gux-form-field-help.d.ts +6 -0
  314. package/dist/types/components/stable/gux-form-field/gux-form-field.service.d.ts +0 -2
  315. package/dist/types/utils/dom/get-slot-text-content.d.ts +1 -0
  316. package/package.json +1 -1
  317. package/dist/genesys-webcomponents/p-061af639.js +0 -1
  318. package/dist/genesys-webcomponents/p-1716b59b.entry.js +0 -1
  319. package/dist/genesys-webcomponents/p-2b82af25.entry.js +0 -1
  320. package/dist/genesys-webcomponents/p-2f6f5ecf.entry.js +0 -1
  321. package/dist/genesys-webcomponents/p-37d8c707.entry.js +0 -1
  322. package/dist/genesys-webcomponents/p-4d7be638.entry.js +0 -1
  323. package/dist/genesys-webcomponents/p-51252166.entry.js +0 -1
  324. package/dist/genesys-webcomponents/p-57587e93.entry.js +0 -1
  325. package/dist/genesys-webcomponents/p-669585de.entry.js +0 -1
  326. package/dist/genesys-webcomponents/p-7dcb5f01.entry.js +0 -1
  327. package/dist/genesys-webcomponents/p-9377abe2.entry.js +0 -1
  328. package/dist/genesys-webcomponents/p-b5c4192d.entry.js +0 -1
  329. package/dist/genesys-webcomponents/p-c079a476.js +0 -1
  330. package/dist/genesys-webcomponents/p-ee538d18.entry.js +0 -1
  331. package/dist/genesys-webcomponents/p-f76765f7.entry.js +0 -1
@@ -4,11 +4,12 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
4
4
  import { O as OnMutation } from './on-mutation-70eb931c.js';
5
5
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
6
6
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
7
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
8
7
  import { s as setInputValue } from './set-input-value-5adeaccc.js';
9
8
  import { s as simulateNativeEvent } from './simulate-native-event-ac69961f.js';
10
- import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-label-9c6f4df6.js';
11
- import { h as hasErrorSlot, a as hasContent, c as clearInput, G as GuxFormFieldError, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
9
+ import { h as hasSlot } from './has-slot-062ae63a.js';
10
+ import { h as hasContent, c as clearInput, G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
11
+ import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-container-2d8e8d4e.js';
12
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
12
13
  import './get-closest-element-1597503c.js';
13
14
  import './random-html-id-8e3f658c.js';
14
15
  import './log-error-b1a1a086.js';
@@ -20,7 +21,7 @@ const componentResources = {
20
21
  decrement: decrement
21
22
  };
22
23
 
23
- const guxFormFieldNumberCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-align:right;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;width:100%}.gux-input-and-error-container .gux-input .gux-input-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;align-self:auto;justify-content:center;order:0;width:100%;height:32px;padding:4px 12px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container.gux-clear{padding-right:0}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}.gux-step-buttons-container{flex:0 1 16px;align-self:auto;order:0;margin:0 4px}.gux-step-buttons-container .gux-step-button{flex:0 1 auto;align-self:auto;order:0;padding:2px;color:#596373;background:transparent;border:none}.gux-step-buttons-container .gux-step-button:not(:disabled):focus,.gux-step-buttons-container .gux-step-button:not(:disabled):hover{color:#2a60c8;cursor:pointer}.gux-step-buttons-container .gux-step-button gux-icon{width:10px;height:10px}";
24
+ const guxFormFieldNumberCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-align:right;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;width:100%}.gux-input-and-error-container .gux-input .gux-input-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;align-self:auto;justify-content:center;order:0;width:100%;height:32px;padding:4px 12px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container.gux-clear{padding-right:0}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}.gux-step-buttons-container{flex:0 1 16px;align-self:auto;order:0;margin:0 4px}.gux-step-buttons-container .gux-step-button{flex:0 1 auto;align-self:auto;order:0;padding:2px;color:#596373;background:transparent;border:none}.gux-step-buttons-container .gux-step-button:not(:disabled):focus,.gux-step-buttons-container .gux-step-button:not(:disabled):hover{color:#2a60c8;cursor:pointer}.gux-step-buttons-container .gux-step-button gux-icon{width:10px;height:10px}";
24
25
 
25
26
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
26
27
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -38,21 +39,25 @@ const GuxFormFieldNumber = class {
38
39
  this.computedLabelPosition = 'above';
39
40
  this.hasContent = false;
40
41
  this.hasError = false;
42
+ this.hasHelp = false;
41
43
  }
42
44
  onMutation() {
43
- this.hasError = hasErrorSlot(this.root);
45
+ this.hasError = hasSlot(this.root, 'error');
46
+ this.hasHelp = hasSlot(this.root, 'help');
44
47
  }
45
48
  // eslint-disable-next-line @typescript-eslint/require-await
46
49
  async guxForceUpdate() {
47
50
  this.hasContent = hasContent(this.input);
48
- this.hasError = hasErrorSlot(this.root);
51
+ this.hasError = hasSlot(this.root, 'error');
52
+ this.hasHelp = hasSlot(this.root, 'help');
49
53
  forceUpdate(this.root);
50
54
  }
51
55
  async componentWillLoad() {
52
56
  this.getI18nValue = await buildI18nForComponent(this.root, componentResources);
53
57
  this.setInput();
54
58
  this.setLabel();
55
- this.hasError = hasErrorSlot(this.root);
59
+ this.hasError = hasSlot(this.root, 'error');
60
+ this.hasHelp = hasSlot(this.root, 'help');
56
61
  trackComponent(this.root, { variant: this.variant });
57
62
  }
58
63
  disconnectedCallback() {
@@ -68,7 +73,7 @@ const GuxFormFieldNumber = class {
68
73
  'gux-input-container': true,
69
74
  'gux-disabled': this.disabled,
70
75
  'gux-clear': showClearButton
71
- } }, h("slot", { name: "input", onSlotchange: () => this.setInput() }), showClearButton && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) }))), this.renderStepButtons(this.input, this.getI18nValue, this.disabled)), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
76
+ } }, h("slot", { name: "input", onSlotchange: () => this.setInput() }), showClearButton && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) }))), this.renderStepButtons(this.input, this.getI18nValue, this.disabled)), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
72
77
  }
73
78
  get variant() {
74
79
  const labelPositionVariant = this.labelPosition
@@ -2,14 +2,15 @@ import { r as registerInstance, h, H as Host, g as getElement } from './index-73
2
2
  import { c as calculateInputDisabledState, o as onInputDisabledStateChange } from './on-input-disabled-state-change-3ea76372.js';
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
5
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
6
- import { h as hasErrorSlot, G as GuxFormFieldError, v as validateFormIds } from './gux-form-field.service-25a9237e.js';
5
+ import { h as hasSlot } from './has-slot-062ae63a.js';
6
+ import { G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds } from './gux-form-field.service-e046de13.js';
7
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
7
8
  import './random-html-id-8e3f658c.js';
8
9
  import './log-error-b1a1a086.js';
9
10
  import './set-input-value-5adeaccc.js';
10
11
  import './simulate-native-event-ac69961f.js';
11
12
 
12
- const guxFormFieldRadioCss = ".gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}:host{display:block;color:#2e394c}:host(.gux-disabled){cursor:not-allowed;opacity:0.5}:host(.gux-disabled) ::slotted(label){cursor:not-allowed}.gux-input-label{display:flex;flex-direction:row}.gux-input-label .gux-label{display:flex;flex-direction:column}::slotted(input[type='radio']){display:inline-grid;width:16px;height:16px;margin:4px;text-align:center;vertical-align:middle;cursor:pointer;border:0;-webkit-appearance:none;appearance:none;outline:none}::slotted(input[type='radio'])::before{grid-area:1;content:'';border-radius:50%}::slotted(input[type='radio']:focus-within)::before{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}::slotted(input[type='radio']:not(:checked))::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.062C5.239 3.062 3 5.273 3 8s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill-rule='evenodd' clip-rule='evenodd' fill='%2377828f'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:not(:checked):not(:disabled):hover)::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.062C5.239 3.062 3 5.273 3 8s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill-rule='evenodd' clip-rule='evenodd' fill='%232a60c8'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:checked)::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.026 5.262a2.8 2.8 0 1 0 .001 5.601 2.8 2.8 0 0 0-.001-5.601zm0-2.2c-2.761 0-5 2.211-5 4.938s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill='%232a60c8'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:disabled)::before{cursor:not-allowed;opacity:0.5}::slotted(label){display:inline-block;font-size:12px;line-height:24px;vertical-align:middle}";
13
+ const guxFormFieldRadioCss = ".gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}:host(.gux-disabled){cursor:not-allowed;opacity:0.5}:host(.gux-disabled) ::slotted(label){cursor:not-allowed}.gux-input-label{display:flex;flex-direction:row}.gux-input-label .gux-label{display:flex;flex-direction:column}::slotted(input[type='radio']){display:inline-grid;width:16px;height:16px;margin:4px;text-align:center;vertical-align:middle;cursor:pointer;border:0;-webkit-appearance:none;appearance:none;outline:none}::slotted(input[type='radio'])::before{grid-area:1;content:'';border-radius:50%}::slotted(input[type='radio']:focus-within)::before{outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}::slotted(input[type='radio']:not(:checked))::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.062C5.239 3.062 3 5.273 3 8s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill-rule='evenodd' clip-rule='evenodd' fill='%2377828f'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:not(:checked):not(:disabled):hover)::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.062C5.239 3.062 3 5.273 3 8s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill-rule='evenodd' clip-rule='evenodd' fill='%232a60c8'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:checked)::before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.026 5.262a2.8 2.8 0 1 0 .001 5.601 2.8 2.8 0 0 0-.001-5.601zm0-2.2c-2.761 0-5 2.211-5 4.938s2.239 4.938 5 4.938c2.762 0 5-2.211 5-4.938s-2.238-4.938-5-4.938zm0 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z' fill='%232a60c8'/%3E%3C/svg%3E\")}::slotted(input[type='radio']:disabled)::before{cursor:not-allowed;opacity:0.5}::slotted(label){display:inline-block;font-size:12px;line-height:24px;vertical-align:middle}";
13
14
 
14
15
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
15
16
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -25,13 +26,16 @@ const GuxFormFieldRadio = class {
25
26
  constructor(hostRef) {
26
27
  registerInstance(this, hostRef);
27
28
  this.hasError = false;
29
+ this.hasHelp = false;
28
30
  }
29
31
  onMutation() {
30
- this.hasError = hasErrorSlot(this.root);
32
+ this.hasError = hasSlot(this.root, 'error');
33
+ this.hasHelp = hasSlot(this.root, 'help');
31
34
  }
32
35
  componentWillLoad() {
33
36
  this.setInput();
34
- this.hasError = hasErrorSlot(this.root);
37
+ this.hasError = hasSlot(this.root, 'error');
38
+ this.hasHelp = hasSlot(this.root, 'help');
35
39
  trackComponent(this.root);
36
40
  }
37
41
  disconnectedCallback() {
@@ -41,7 +45,7 @@ const GuxFormFieldRadio = class {
41
45
  return (h(Host, { class: {
42
46
  'gux-input-error': this.hasError,
43
47
  'gux-disabled': this.disabled
44
- } }, h("div", { class: "gux-form-field-container" }, h("div", { class: "gux-input-label" }, h("div", { class: "gux-input" }, h("slot", { name: "input", onSlotchange: () => this.setInput() })), h("div", { class: "gux-label" }, h("slot", { name: "label" }), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))))));
48
+ } }, h("div", { class: "gux-form-field-container" }, h("div", { class: "gux-input-label" }, h("div", { class: "gux-input" }, h("slot", { name: "input", onSlotchange: () => this.setInput() })), h("div", { class: "gux-label" }, h("slot", { name: "label" }), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))))));
45
49
  }
46
50
  setInput() {
47
51
  this.input = this.root.querySelector('input[type="radio"][slot="input"]');
@@ -3,15 +3,16 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
5
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
6
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
7
- import { a as GuxFormFieldContainer, G as GuxFormFieldLabel } from './gux-form-field-label-9c6f4df6.js';
8
- import { h as hasErrorSlot, G as GuxFormFieldError, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
6
+ import { h as hasSlot } from './has-slot-062ae63a.js';
7
+ import { G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
8
+ import { a as GuxFormFieldContainer, G as GuxFormFieldLabel } from './gux-form-field-container-2d8e8d4e.js';
9
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
9
10
  import './random-html-id-8e3f658c.js';
10
11
  import './log-error-b1a1a086.js';
11
12
  import './set-input-value-5adeaccc.js';
12
13
  import './simulate-native-event-ac69961f.js';
13
14
 
14
- const guxFormFieldRangeCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input[type='range']){position:absolute;width:100%;height:2px;margin:6px 0;margin-top:calc(-1 * (12px / 2 + 2px));background:transparent;-webkit-appearance:none}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-range-input-container{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:flex-start;height:32px;font-size:12px}.gux-input-and-error-container .gux-range-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-range-input-container .gux-range{position:relative;flex:1 1 auto;align-self:center;order:0}.gux-input-and-error-container .gux-range-input-container .gux-range:hover .gux-range-tooltip,.gux-input-and-error-container .gux-range-input-container .gux-range:focus-within .gux-range-tooltip{visibility:visible}.gux-input-and-error-container .gux-range-input-container .gux-range .gux-track{width:100%;height:2px;margin:6px 0;background-color:#8a97ad}.gux-input-and-error-container .gux-range-input-container .gux-range .gux-track .gux-progress{height:2px;background-color:#2a60c8}.gux-input-and-error-container .gux-range-input-container .gux-display{flex:0 1 auto;align-self:auto;order:0;height:32px;margin:0 0 0 16px;line-height:32px;text-align:right}.gux-input-and-error-container .gux-range-input-container .gux-display.gux-hidden{display:none}.gux-input-and-error-container .gux-range-tooltip-container{position:absolute;top:-50px;width:100%;height:32px;pointer-events:none}.gux-input-and-error-container .gux-range-tooltip-container.gux-hidden{display:none}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip{font-family:Roboto, sans-serif;font-weight:400;font-size:11px;line-height:16px;position:absolute;z-index:var(--gux-zindex-tooltip, 1);display:flex;align-items:center;justify-content:center;width:50px;height:32px;margin-left:-20px;visibility:hidden;background-color:#fdfdfd;border:1px solid #b4bccb;border-radius:4px;box-shadow:0 2px 4px rgba(32, 41, 55, 0.24)}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::after,.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::before{position:absolute;top:100%;left:50%;width:0;height:0;pointer-events:none;content:' ';border:solid transparent}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::after{margin-left:-4px;border-width:4px;border-top-color:#fdfdfd}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::before{margin-left:-6px;border-width:6px;border-top-color:#b4bccb}";
15
+ const guxFormFieldRangeCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input[type='range']){position:absolute;width:100%;height:2px;margin:6px 0;margin-top:calc(-1 * (12px / 2 + 2px));background:transparent;-webkit-appearance:none}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-range-input-container{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:flex-start;height:32px;font-size:12px}.gux-input-and-error-container .gux-range-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-range-input-container .gux-range{position:relative;flex:1 1 auto;align-self:center;order:0}.gux-input-and-error-container .gux-range-input-container .gux-range:hover .gux-range-tooltip,.gux-input-and-error-container .gux-range-input-container .gux-range:focus-within .gux-range-tooltip{visibility:visible}.gux-input-and-error-container .gux-range-input-container .gux-range .gux-track{width:100%;height:2px;margin:6px 0;background-color:#8a97ad}.gux-input-and-error-container .gux-range-input-container .gux-range .gux-track .gux-progress{height:2px;background-color:#2a60c8}.gux-input-and-error-container .gux-range-input-container .gux-display{flex:0 1 auto;align-self:auto;order:0;height:32px;margin:0 0 0 16px;line-height:32px;text-align:right}.gux-input-and-error-container .gux-range-input-container .gux-display.gux-hidden{display:none}.gux-input-and-error-container .gux-range-tooltip-container{position:absolute;top:-50px;width:100%;height:32px;pointer-events:none}.gux-input-and-error-container .gux-range-tooltip-container.gux-hidden{display:none}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip{font-family:Roboto, sans-serif;font-weight:400;font-size:11px;line-height:16px;position:absolute;z-index:var(--gux-zindex-tooltip, 1);display:flex;align-items:center;justify-content:center;width:50px;height:32px;margin-left:-20px;visibility:hidden;background-color:#fdfdfd;border:1px solid #b4bccb;border-radius:4px;box-shadow:0 2px 4px rgba(32, 41, 55, 0.24)}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::after,.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::before{position:absolute;top:100%;left:50%;width:0;height:0;pointer-events:none;content:' ';border:solid transparent}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::after{margin-left:-4px;border-width:4px;border-top-color:#fdfdfd}.gux-input-and-error-container .gux-range-tooltip-container .gux-range-tooltip::before{margin-left:-6px;border-width:6px;border-top-color:#b4bccb}";
15
16
 
16
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -28,6 +29,7 @@ const GuxFormField = class {
28
29
  registerInstance(this, hostRef);
29
30
  this.computedLabelPosition = 'above';
30
31
  this.hasError = false;
32
+ this.hasHelp = false;
31
33
  }
32
34
  onInput(e) {
33
35
  const input = e.target;
@@ -42,12 +44,14 @@ const GuxFormField = class {
42
44
  this.active = false;
43
45
  }
44
46
  onMutation() {
45
- this.hasError = hasErrorSlot(this.root);
47
+ this.hasError = hasSlot(this.root, 'error');
48
+ this.hasHelp = hasSlot(this.root, 'help');
46
49
  }
47
50
  componentWillLoad() {
48
51
  this.setInput();
49
52
  this.setLabel();
50
- this.hasError = hasErrorSlot(this.root);
53
+ this.hasError = hasSlot(this.root, 'error');
54
+ this.hasHelp = hasSlot(this.root, 'help');
51
55
  trackComponent(this.root, { variant: this.variant });
52
56
  }
53
57
  componentDidLoad() {
@@ -61,7 +65,7 @@ const GuxFormField = class {
61
65
  render() {
62
66
  return (h(Host, { class: {
63
67
  'gux-active': this.active
64
- } }, h(GuxFormFieldContainer, { labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { position: this.computedLabelPosition, required: this.required }, h("slot", { name: "label", onSlotchange: () => this.setLabel() })), h("div", { class: "gux-input-and-error-container" }, this.renderRangeInput(), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" }))))));
68
+ } }, h(GuxFormFieldContainer, { labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { position: this.computedLabelPosition, required: this.required }, h("slot", { name: "label", onSlotchange: () => this.setLabel() })), h("div", { class: "gux-input-and-error-container" }, this.renderRangeInput(), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" }))))));
65
69
  }
66
70
  get variant() {
67
71
  return this.labelPosition ? this.labelPosition.toLowerCase() : 'none';
@@ -3,15 +3,16 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
5
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
6
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
7
- import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-label-9c6f4df6.js';
8
- import { h as hasErrorSlot, c as clearInput, G as GuxFormFieldError, a as hasContent, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
6
+ import { h as hasSlot } from './has-slot-062ae63a.js';
7
+ import { c as clearInput, G as GuxFormFieldError, a as GuxFormFieldHelp, h as hasContent, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
8
+ import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-container-2d8e8d4e.js';
9
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
9
10
  import './random-html-id-8e3f658c.js';
10
11
  import './log-error-b1a1a086.js';
11
12
  import './set-input-value-5adeaccc.js';
12
13
  import './simulate-native-event-ac69961f.js';
13
14
 
14
- const guxFormFieldSearchCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center}.gux-input-and-error-container .gux-input .gux-input-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;align-self:auto;justify-content:center;order:0;width:100%;height:32px;padding:4px 8px;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container gux-icon[icon-name='search']{flex:0 0 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#596373}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
+ const guxFormFieldSearchCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center}.gux-input-and-error-container .gux-input .gux-input-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;align-self:auto;justify-content:center;order:0;width:100%;height:32px;padding:4px 8px;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container gux-icon[icon-name='search']{flex:0 0 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#596373}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
16
 
16
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -30,14 +31,17 @@ const GuxFormFieldSearch = class {
30
31
  this.clearable = true;
31
32
  this.hasContent = false;
32
33
  this.hasError = false;
34
+ this.hasHelp = false;
33
35
  }
34
36
  onMutation() {
35
- this.hasError = hasErrorSlot(this.root);
37
+ this.hasError = hasSlot(this.root, 'error');
38
+ this.hasHelp = hasSlot(this.root, 'help');
36
39
  }
37
40
  componentWillLoad() {
38
41
  this.setInput();
39
42
  this.setLabel();
40
- this.hasError = hasErrorSlot(this.root);
43
+ this.hasError = hasSlot(this.root, 'error');
44
+ this.hasHelp = hasSlot(this.root, 'help');
41
45
  trackComponent(this.root, { variant: this.variant });
42
46
  }
43
47
  disconnectedCallback() {
@@ -51,7 +55,7 @@ const GuxFormFieldSearch = class {
51
55
  } }, h("div", { class: {
52
56
  'gux-input-container': true,
53
57
  'gux-disabled': this.disabled
54
- } }, h("gux-icon", { "icon-name": "search", decorative: true }), h("slot", { name: "input" }), 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" })))));
58
+ } }, h("gux-icon", { "icon-name": "search", decorative: true }), h("slot", { name: "input" }), 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" })))));
55
59
  }
56
60
  get variant() {
57
61
  const labelPositionVariant = this.labelPosition
@@ -3,15 +3,16 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
5
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
6
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
7
- import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-label-9c6f4df6.js';
8
- import { h as hasErrorSlot, G as GuxFormFieldError, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
6
+ import { h as hasSlot } from './has-slot-062ae63a.js';
7
+ import { G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
8
+ import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-container-2d8e8d4e.js';
9
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
9
10
  import './random-html-id-8e3f658c.js';
10
11
  import './log-error-b1a1a086.js';
11
12
  import './set-input-value-5adeaccc.js';
12
13
  import './simulate-native-event-ac69961f.js';
13
14
 
14
- const guxFormFieldSelectCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(select){flex:1 1 auto;align-self:auto;order:0;height:30px;padding:0 32px 0 12px;margin:0;color:#2e394c;background-color:#f6f7f9;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted(select)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input .gux-input-container{position:relative;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:center;width:100%;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{pointer-events:none;opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container:hover gux-icon{color:#2a60c8}.gux-input-and-error-container .gux-input .gux-input-container select{flex:1 1 auto;align-self:auto;order:0;height:32px;padding:0 32px 0 12px;margin:0;color:#2e394c;background-color:#f6f7f9;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);-moz-appearance:none;-webkit-appearance:none;appearance:none}.gux-input-and-error-container .gux-input .gux-input-container gux-icon{position:absolute;top:0;right:0;width:16px;height:16px;margin:8px;pointer-events:none}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
+ const guxFormFieldSelectCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(select){flex:1 1 auto;align-self:auto;order:0;height:30px;padding:0 32px 0 12px;margin:0;color:#2e394c;background-color:#f6f7f9;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);-moz-appearance:none;-webkit-appearance:none;appearance:none}::slotted(select)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input .gux-input-container{position:relative;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:center;width:100%;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{pointer-events:none;opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container:hover gux-icon{color:#2a60c8}.gux-input-and-error-container .gux-input .gux-input-container select{flex:1 1 auto;align-self:auto;order:0;height:32px;padding:0 32px 0 12px;margin:0;color:#2e394c;background-color:#f6f7f9;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);-moz-appearance:none;-webkit-appearance:none;appearance:none}.gux-input-and-error-container .gux-input .gux-input-container gux-icon{position:absolute;top:0;right:0;width:16px;height:16px;margin:8px;pointer-events:none}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
16
 
16
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -28,14 +29,17 @@ const GuxFormFieldSelect = class {
28
29
  registerInstance(this, hostRef);
29
30
  this.computedLabelPosition = 'above';
30
31
  this.hasError = false;
32
+ this.hasHelp = false;
31
33
  }
32
34
  onMutation() {
33
- this.hasError = hasErrorSlot(this.root);
35
+ this.hasError = hasSlot(this.root, 'error');
36
+ this.hasHelp = hasSlot(this.root, 'help');
34
37
  }
35
38
  componentWillLoad() {
36
39
  this.setInput();
37
40
  this.setLabel();
38
- this.hasError = hasErrorSlot(this.root);
41
+ this.hasError = hasSlot(this.root, 'error');
42
+ this.hasHelp = hasSlot(this.root, 'help');
39
43
  trackComponent(this.root, { variant: this.variant });
40
44
  }
41
45
  disconnectedCallback() {
@@ -49,7 +53,7 @@ const GuxFormFieldSelect = class {
49
53
  } }, h("div", { class: {
50
54
  'gux-input-container': true,
51
55
  '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" })))));
56
+ } }, 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
57
  }
54
58
  get variant() {
55
59
  const labelPositionVariant = this.labelPosition
@@ -3,15 +3,16 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
5
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
6
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
7
- import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-label-9c6f4df6.js';
8
- import { h as hasErrorSlot, a as hasContent, s as setSlotAriaDescribedby, c as clearInput, G as GuxFormFieldError, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
6
+ import { h as hasSlot } from './has-slot-062ae63a.js';
7
+ import { h as hasContent, s as setSlotAriaDescribedby, c as clearInput, G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
8
+ import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-container-2d8e8d4e.js';
9
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
9
10
  import './random-html-id-8e3f658c.js';
10
11
  import './log-error-b1a1a086.js';
11
12
  import './set-input-value-5adeaccc.js';
12
13
  import './simulate-native-event-ac69961f.js';
13
14
 
14
- const guxFormFieldTextLikeCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}::slotted(span){color:#2e394c;white-space:nowrap}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input .gux-input-container{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:4px 8px 4px 12px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-has-suffix:not(.gux-input-and-error-container .gux-input .gux-input-container.gux-has-prefix) ::slotted(input){text-align:right}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
+ const guxFormFieldTextLikeCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(input){flex:1 1 auto;align-self:auto;order:0;width:100%;overflow:hidden;font-size:12px;color:#2e394c;text-overflow:ellipsis;background-color:#f6f7f9;border:none;outline:none}::slotted(input)::placeholder{color:#596373;opacity:1}slot[name='prefix'],slot[name='suffix']{color:#2e394c;white-space:nowrap}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input .gux-input-container{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:4px 8px 4px 12px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-input-and-error-container .gux-input .gux-input-container.gux-has-suffix:not(.gux-input-and-error-container .gux-input .gux-input-container.gux-has-prefix) ::slotted(input){text-align:right}.gux-input-and-error-container .gux-input .gux-input-container.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input .gux-input-container:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error .gux-input-container{border-color:#ea0b0b}";
15
16
 
16
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -29,20 +30,24 @@ const GuxFormFieldTextLike = class {
29
30
  this.computedLabelPosition = 'above';
30
31
  this.hasContent = false;
31
32
  this.hasError = false;
33
+ this.hasHelp = false;
32
34
  }
33
35
  onMutation() {
34
- this.hasError = hasErrorSlot(this.root);
36
+ this.hasError = hasSlot(this.root, 'error');
37
+ this.hasHelp = hasSlot(this.root, 'help');
35
38
  }
36
39
  // eslint-disable-next-line @typescript-eslint/require-await
37
40
  async guxForceUpdate() {
38
41
  this.hasContent = hasContent(this.input);
39
- this.hasError = hasErrorSlot(this.root);
42
+ this.hasError = hasSlot(this.root, 'error');
43
+ this.hasHelp = hasSlot(this.root, 'help');
40
44
  forceUpdate(this.root);
41
45
  }
42
46
  componentWillLoad() {
43
47
  this.setInput();
44
48
  this.setLabel();
45
- this.hasError = hasErrorSlot(this.root);
49
+ this.hasError = hasSlot(this.root, 'error');
50
+ this.hasHelp = hasSlot(this.root, 'help');
46
51
  this.hasPrefix = Boolean(this.root.querySelector('[slot="prefix"]'));
47
52
  this.hasSuffix = Boolean(this.root.querySelector('[slot="suffix"]'));
48
53
  if (this.hasPrefix) {
@@ -66,7 +71,7 @@ const GuxFormFieldTextLike = class {
66
71
  'gux-disabled': this.disabled,
67
72
  'gux-has-prefix': this.hasPrefix,
68
73
  'gux-has-suffix': this.hasSuffix
69
- } }, 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" })))));
74
+ } }, 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" })))));
70
75
  }
71
76
  get variant() {
72
77
  const labelPositionVariant = this.labelPosition
@@ -3,15 +3,16 @@ import { c as calculateInputDisabledState, o as onInputDisabledStateChange } fro
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
5
  import { p as preventBrowserValidationStyling } from './prevent-browser-validation-styling-d16c3f4c.js';
6
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
7
- import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-label-9c6f4df6.js';
8
- import { h as hasErrorSlot, G as GuxFormFieldError, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
6
+ import { h as hasSlot } from './has-slot-062ae63a.js';
7
+ import { G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
8
+ import { G as GuxFormFieldLabel, a as GuxFormFieldContainer } from './gux-form-field-container-2d8e8d4e.js';
9
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
9
10
  import './random-html-id-8e3f658c.js';
10
11
  import './log-error-b1a1a086.js';
11
12
  import './set-input-value-5adeaccc.js';
12
13
  import './simulate-native-event-ac69961f.js';
13
14
 
14
- const guxFormFieldTextareaCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(textarea){flex:1 1 auto;align-self:auto;order:0;font-family:inherit;color:#2e394c;resize:vertical;background-color:#f6f7f9;background-image:none;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);font-family:Roboto, sans-serif;font-weight:400;font-size:12px;line-height:20px;min-width:100%;max-width:100%;min-height:90px;padding:4px 12px;margin:0}::slotted(textarea)::placeholder{color:#596373;opacity:1}::slotted(textarea)[disabled]{opacity:0.5}::slotted(textarea)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{position:relative;display:block;border:1px solid #6b7585;border-radius:4px;outline:none}.gux-input-and-error-container .gux-input:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error{border-color:#ea0b0b}.gux-input-and-error-container .gux-input.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input.gux-resize-none ::slotted(textarea){resize:none}.gux-input-and-error-container .gux-input.gux-resize-auto{display:grid;overflow:hidden;word-break:normal;word-break:break-word;overflow-wrap:anywhere}.gux-input-and-error-container .gux-input.gux-resize-auto::after{grid-row-start:1;grid-row-end:2;grid-column-start:1;grid-column-end:2;white-space:pre-wrap;visibility:hidden;content:attr(data-replicated-value) ' ';min-width:100%;max-width:100%;min-height:90px;padding:4px 12px;margin:0}.gux-input-and-error-container .gux-input.gux-resize-auto ::slotted(textarea){grid-row-start:1;grid-row-end:2;grid-column-start:1;grid-column-end:2;overflow-x:hidden;resize:none}";
15
+ const guxFormFieldTextareaCss = ".gux-form-field-container{margin:var(--gux-form-field-container-margin-top, 16px) 0 var(--gux-form-field-container-margin-bottom, 16px) 0}.gux-form-field-container.gux-beside{display:flex;flex-direction:row}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-label.gux-beside{position:relative;top:8px;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-label.gux-above{margin-bottom:8px}.gux-form-field-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}:host{display:block;color:#2e394c}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}::slotted(textarea){flex:1 1 auto;align-self:auto;order:0;font-family:inherit;color:#2e394c;resize:vertical;background-color:#f6f7f9;background-image:none;border:none;border-radius:4px;outline:none;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16);font-family:Roboto, sans-serif;font-weight:400;font-size:12px;line-height:20px;min-width:100%;max-width:100%;min-height:90px;padding:4px 12px;margin:0}::slotted(textarea)::placeholder{color:#596373;opacity:1}::slotted(textarea)[disabled]{opacity:0.5}::slotted(textarea)::placeholder{color:#596373;opacity:1}.gux-input-and-error-container{flex-grow:1}.gux-input-and-error-container .gux-input{position:relative;display:block;border:1px solid #6b7585;border-radius:4px;outline:none}.gux-input-and-error-container .gux-input:focus-within{border-color:#2a60c8;outline:none;box-shadow:0 0 0 1px #fdfdfd, 0 0 0 4px #aac9ff}.gux-input-and-error-container .gux-input.gux-input-error{border-color:#ea0b0b}.gux-input-and-error-container .gux-input.gux-disabled{opacity:0.5}.gux-input-and-error-container .gux-input.gux-resize-none ::slotted(textarea){resize:none}.gux-input-and-error-container .gux-input.gux-resize-auto{display:grid;overflow:hidden;word-break:normal;word-break:break-word;overflow-wrap:anywhere}.gux-input-and-error-container .gux-input.gux-resize-auto::after{grid-row-start:1;grid-row-end:2;grid-column-start:1;grid-column-end:2;white-space:pre-wrap;visibility:hidden;content:attr(data-replicated-value) ' ';min-width:100%;max-width:100%;min-height:90px;padding:4px 12px;margin:0}.gux-input-and-error-container .gux-input.gux-resize-auto ::slotted(textarea){grid-row-start:1;grid-row-end:2;grid-column-start:1;grid-column-end:2;overflow-x:hidden;resize:none}";
15
16
 
16
17
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -29,14 +30,17 @@ const GuxFormFieldTextarea = class {
29
30
  this.computedLabelPosition = 'above';
30
31
  this.required = true;
31
32
  this.hasError = false;
33
+ this.hasHelp = false;
32
34
  }
33
35
  onMutation() {
34
- this.hasError = hasErrorSlot(this.root);
36
+ this.hasError = hasSlot(this.root, 'error');
37
+ this.hasHelp = hasSlot(this.root, 'help');
35
38
  }
36
39
  componentWillLoad() {
37
40
  this.setInput();
38
41
  this.setLabel();
39
- this.hasError = hasErrorSlot(this.root);
42
+ this.hasError = hasSlot(this.root, 'error');
43
+ this.hasHelp = hasSlot(this.root, 'help');
40
44
  trackComponent(this.root, { variant: this.variant });
41
45
  }
42
46
  componentDidLoad() {
@@ -52,7 +56,7 @@ const GuxFormFieldTextarea = class {
52
56
  [`gux-resize-${this.resize}`]: true,
53
57
  'gux-disabled': this.disabled,
54
58
  'gux-input-error': this.hasError
55
- } }, h("slot", { name: "input" })), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
59
+ } }, 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
60
  }
57
61
  get variant() {
58
62
  const labelPositionVariant = this.labelPosition
@@ -2,21 +2,15 @@ import { h, r as registerInstance, g as getElement } from './index-738480cf.js';
2
2
  import { b as buildI18nForComponent } from './index-5b4bc0a0.js';
3
3
  import { O as OnMutation } from './on-mutation-70eb931c.js';
4
4
  import { o as onDisabledChange, a as onRequiredChange } from './on-attribute-change-2b01c315.js';
5
- import { t as trackComponent } from './usage-tracking-208cef9e.js';
6
- import { h as hasErrorSlot, G as GuxFormFieldError, b as getErrorSlotTextContent, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-25a9237e.js';
5
+ import { h as hasSlot } from './has-slot-062ae63a.js';
6
+ import { G as GuxFormFieldError, a as GuxFormFieldHelp, v as validateFormIds, g as getComputedLabelPosition } from './gux-form-field.service-e046de13.js';
7
+ import { t as trackComponent } from './usage-tracking-2c66c99e.js';
7
8
  import './get-closest-element-1597503c.js';
8
9
  import './random-html-id-8e3f658c.js';
9
10
  import './log-error-b1a1a086.js';
10
11
  import './set-input-value-5adeaccc.js';
11
12
  import './simulate-native-event-ac69961f.js';
12
13
 
13
- const GuxFormFieldFieldsetContainer = ({ labelPosition }, children) => {
14
- return (h("fieldset", { class: {
15
- 'gux-form-field-fieldset-container': true,
16
- [`gux-${labelPosition}`]: true
17
- } }, children));
18
- };
19
-
20
14
  const GuxFormFieldLegendLabel = ({ position, required }, children) => {
21
15
  return (h("legend", { class: {
22
16
  'gux-form-field-legend-label': true,
@@ -25,12 +19,24 @@ const GuxFormFieldLegendLabel = ({ position, required }, children) => {
25
19
  } }, children));
26
20
  };
27
21
 
22
+ const GuxFormFieldFieldsetContainer = ({ labelPosition }, children) => {
23
+ return (h("fieldset", { class: {
24
+ 'gux-form-field-fieldset-container': true,
25
+ [`gux-${labelPosition}`]: true
26
+ } }, children));
27
+ };
28
+
29
+ function getSlotTextContent(root, slotName) {
30
+ var _a;
31
+ return (_a = root.querySelector(`[slot=${slotName}]`)) === null || _a === void 0 ? void 0 : _a.textContent;
32
+ }
33
+
28
34
  const required = "Required";
29
35
  const componentResources = {
30
36
  required: required
31
37
  };
32
38
 
33
- const guxFormFieldTimePickerCss = ".gux-form-field-fieldset-container{min-width:0;padding:0;margin:16px 0;border:none}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-legend-label{padding:0}.gux-form-field-legend-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-legend-label.gux-beside{position:relative;top:8px;float:left;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-legend-label.gux-above{margin-bottom:8px}.gux-form-field-legend-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}.gux-input-and-error-container{flex-grow:1}";
39
+ const guxFormFieldTimePickerCss = ".gux-form-field-fieldset-container{min-width:0;padding:0;margin:16px 0;border:none}.gux-form-field-error{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:11px;line-height:16px;color:#2e394c}.gux-form-field-error.gux-show{display:flex}.gux-form-field-error gux-icon{flex:0 1 auto;align-self:auto;order:0;width:16px;height:16px;margin-right:4px;color:#ea0b0b}.gux-form-field-error .gux-message{flex:0 1 auto;align-self:auto;order:0}.gux-form-field-legend-label{padding:0}.gux-form-field-legend-label.gux-required::after{font-size:12px;color:#ea0b0b;content:' *'}.gux-form-field-legend-label.gux-beside{position:relative;top:8px;float:left;width:fit-content;min-width:45px;margin-right:8px}.gux-form-field-legend-label.gux-above{margin-bottom:8px}.gux-form-field-legend-label.gux-screenreader{position:absolute;top:auto;left:-10000px;width:1px;height:1px;overflow:hidden}.gux-form-field-help{display:none;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:flex-start;justify-content:flex-start;margin:4px 0;font-size:12px;font-weight:400;line-height:20px;color:#6b7585}.gux-form-field-help.gux-show{display:flex}.gux-form-field-help .gux-message{flex:0 1 auto;align-self:none;order:0}::slotted(label){font-family:Roboto, sans-serif;font-weight:400;font-weight:700;font-size:12px;line-height:16px}.gux-input-and-error-container{flex-grow:1}";
34
40
 
35
41
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
36
42
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -47,6 +53,7 @@ const GuxFormFieldTimePicker = class {
47
53
  registerInstance(this, hostRef);
48
54
  this.computedLabelPosition = 'above';
49
55
  this.hasError = false;
56
+ this.hasHelp = false;
50
57
  }
51
58
  watchValue(hasError) {
52
59
  const timePickerSlot = this.root.querySelector('gux-time-picker-beta');
@@ -55,13 +62,15 @@ const GuxFormFieldTimePicker = class {
55
62
  }
56
63
  }
57
64
  onMutation() {
58
- this.hasError = hasErrorSlot(this.root);
65
+ this.hasError = hasSlot(this.root, 'error');
66
+ this.hasHelp = hasSlot(this.root, 'help');
59
67
  }
60
68
  async componentWillLoad() {
61
69
  this.getI18nValue = await buildI18nForComponent(this.root, componentResources);
62
70
  this.setInput();
63
71
  this.setLabel();
64
- this.hasError = hasErrorSlot(this.root);
72
+ this.hasError = hasSlot(this.root, 'error');
73
+ this.hasHelp = hasSlot(this.root, 'help');
65
74
  trackComponent(this.root, { variant: this.variant });
66
75
  }
67
76
  disconnectedCallback() {
@@ -69,13 +78,13 @@ const GuxFormFieldTimePicker = class {
69
78
  this.requiredObserver.disconnect();
70
79
  }
71
80
  render() {
72
- 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: {
81
+ 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: {
73
82
  'gux-input': true,
74
83
  'gux-input-error': this.hasError
75
84
  } }, h("div", { class: {
76
85
  'gux-time-picker-container': true,
77
86
  'gux-disabled': this.disabled
78
- } }, h("slot", null))), h(GuxFormFieldError, { hasError: this.hasError }, h("slot", { name: "error" })))));
87
+ } }, h("slot", null))), h(GuxFormFieldError, { show: this.hasError }, h("slot", { name: "error" })), h(GuxFormFieldHelp, { show: !this.hasError && this.hasHelp }, h("slot", { name: "help" })))));
79
88
  }
80
89
  renderScreenReaderText(text, condition = true) {
81
90
  if (condition) {