genesys-spark-components 4.232.2 → 4.233.1

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 (465) hide show
  1. package/dist/cjs/en-CEsbEfLT.js +22 -0
  2. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  3. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  4. package/dist/cjs/gux-action-button.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-action-toast-legacy.cjs.entry.js +1 -1
  6. package/dist/cjs/gux-actionable-inline-alert-beta.cjs.entry.js +1 -1
  7. package/dist/cjs/gux-advanced-dropdown-legacy.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-ai-indicator-beta.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-ai-powered-badge-beta.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-ai-spinner-loader-beta.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-avatar-beta.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-avatar-change-photo-beta.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-avatar-group-add-item-beta_3.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-avatar-group-beta.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-avatar-group-item-beta.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-badge.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-blank-state-beta.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-blank-state.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-button-slot.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-button_2.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-calendar.cjs.entry.js +12 -3
  25. package/dist/cjs/gux-card.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-cloud-logo-beta.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-cloud-logomark-beta.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-column-manager.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-context-menu.cjs.entry.js +1 -1
  31. package/dist/cjs/gux-copy-to-clipboard.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
  34. package/dist/cjs/gux-datepicker.cjs.entry.js +17 -4
  35. package/dist/cjs/gux-disclosure-button-legacy.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  37. package/dist/cjs/gux-dropdown-multi.cjs.entry.js +2 -10
  38. package/dist/cjs/gux-dropdown_3.cjs.entry.js +3 -8
  39. package/dist/cjs/gux-file-list-item.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-flag-icon-beta.cjs.entry.js +1 -1
  41. package/dist/cjs/gux-flyout-menu.cjs.entry.js +1 -1
  42. package/dist/cjs/gux-form-field-checkbox-group-beta.cjs.entry.js +1 -1
  43. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +1 -1
  44. package/dist/cjs/gux-form-field-color.cjs.entry.js +1 -1
  45. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +1 -1
  46. package/dist/cjs/gux-form-field-file-beta.cjs.entry.js +1 -1
  47. package/dist/cjs/gux-form-field-file.cjs.entry.js +1 -1
  48. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  49. package/dist/cjs/gux-form-field-label-indicator.cjs.entry.js +1 -1
  50. package/dist/cjs/gux-form-field-number_2.cjs.entry.js +20 -8
  51. package/dist/cjs/gux-form-field-phone.cjs.entry.js +1 -1
  52. package/dist/cjs/gux-form-field-radio-group-beta.cjs.entry.js +1 -1
  53. package/dist/cjs/gux-form-field-radio.cjs.entry.js +1 -1
  54. package/dist/cjs/gux-form-field-range.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-form-field-search.cjs.entry.js +1 -1
  56. package/dist/cjs/gux-form-field-select.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +23 -27
  58. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +57 -6
  59. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-form-field-time-zone-picker.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-form-footer.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-icon-tooltip-beta.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-illustration-beta.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-inline-alert.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-inline-dropdown-beta.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-label-info-beta.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-link-beta.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-listbox-multi.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-loading-message.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-logo-beta.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-logomark-beta.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-modal-legacy.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-modal-side-panel-beta.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-notification-indicator-beta.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-notification-toast-legacy.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-pagination-legacy.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-pagination.cjs.entry.js +6 -2
  84. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-popover-beta.cjs.entry.js +18 -3
  86. package/dist/cjs/gux-popover-list-beta.cjs.entry.js +18 -3
  87. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-prompt-input-beta.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  90. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  91. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  92. package/dist/cjs/gux-rich-highlight-list-item.cjs.entry.js +1 -1
  93. package/dist/cjs/gux-rich-style-list-item_3.cjs.entry.js +1 -1
  94. package/dist/cjs/gux-rich-text-editor-action-link.cjs.entry.js +1 -1
  95. package/dist/cjs/gux-rich-text-editor-action-rich-style.cjs.entry.js +1 -1
  96. package/dist/cjs/gux-rich-text-editor-action-text-highlight.cjs.entry.js +1 -1
  97. package/dist/cjs/gux-rich-text-editor-action.cjs.entry.js +1 -1
  98. package/dist/cjs/gux-rich-text-editor-beta.cjs.entry.js +1 -1
  99. package/dist/cjs/gux-rich-text-editor-list.cjs.entry.js +1 -1
  100. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  101. package/dist/cjs/gux-segmented-control-beta.cjs.entry.js +1 -1
  102. package/dist/cjs/gux-selector-card-beta.cjs.entry.js +1 -1
  103. package/dist/cjs/gux-selector-cards-beta.cjs.entry.js +1 -1
  104. package/dist/cjs/gux-side-panel-beta.cjs.entry.js +1 -1
  105. package/dist/cjs/gux-side-panel-header-mini.cjs.entry.js +1 -1
  106. package/dist/cjs/gux-side-panel-header.cjs.entry.js +1 -1
  107. package/dist/cjs/gux-side-panel-heading.cjs.entry.js +1 -1
  108. package/dist/cjs/gux-simple-toast-legacy.cjs.entry.js +1 -1
  109. package/dist/cjs/gux-skip-navigation-list.cjs.entry.js +1 -1
  110. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  111. package/dist/cjs/gux-status-indicator-beta.cjs.entry.js +1 -1
  112. package/dist/cjs/gux-step-title.cjs.entry.js +1 -1
  113. package/dist/cjs/gux-step.cjs.entry.js +1 -1
  114. package/dist/cjs/gux-stepper-beta.cjs.entry.js +1 -1
  115. package/dist/cjs/gux-switch-legacy.cjs.entry.js +1 -1
  116. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +1 -1
  117. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +1 -1
  118. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +1 -1
  119. package/dist/cjs/gux-table-toolbar.cjs.entry.js +9 -3
  120. package/dist/cjs/gux-table.cjs.entry.js +1 -1
  121. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  122. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  123. package/dist/cjs/gux-tag.cjs.entry.js +1 -1
  124. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  125. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  126. package/dist/cjs/gux-time-picker.cjs.entry.js +1 -1
  127. package/dist/cjs/gux-time-zone-beta.cjs.entry.js +1 -1
  128. package/dist/cjs/gux-time-zone-picker-beta.cjs.entry.js +1 -1
  129. package/dist/cjs/gux-toast.cjs.entry.js +1 -1
  130. package/dist/cjs/gux-toggle.cjs.entry.js +10 -3
  131. package/dist/cjs/gux-tooltip-base-beta_2.cjs.entry.js +1 -1
  132. package/dist/cjs/gux-tooltip-pointer-beta.cjs.entry.js +1 -1
  133. package/dist/cjs/gux-tooltip-title.cjs.entry.js +5 -6
  134. package/dist/cjs/gux-tooltip_2.cjs.entry.js +1 -1
  135. package/dist/cjs/gux-tree-beta.cjs.entry.js +25 -3
  136. package/dist/cjs/gux-tree-multi-beta.cjs.entry.js +24 -6
  137. package/dist/cjs/index-npRUdf7N.js +4 -4
  138. package/dist/cjs/loader.cjs.js +1 -1
  139. package/dist/cjs/{usage-DMoI1xj1.js → usage-BbRm9v_K.js} +1 -1
  140. package/dist/collection/components/beta/gux-cta-group/tests/gux-cta-group.common.js +28 -6
  141. package/dist/collection/components/beta/gux-popover-beta/gux-popover.js +17 -2
  142. package/dist/collection/components/beta/gux-popover-list-beta/gux-popover-list.js +17 -2
  143. package/dist/collection/components/beta/gux-tree/gux-tree.js +30 -2
  144. package/dist/collection/components/beta/gux-tree-multi/gux-tree-multi.js +29 -5
  145. package/dist/collection/components/stable/gux-calendar/gux-calendar.js +11 -2
  146. package/dist/collection/components/stable/gux-datepicker/gux-datepicker.js +22 -3
  147. package/dist/collection/components/stable/gux-dropdown/gux-dropdown.js +2 -7
  148. package/dist/collection/components/stable/gux-dropdown-multi/gux-dropdown-multi.js +1 -9
  149. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.js +22 -10
  150. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.css +14 -0
  151. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +97 -7
  152. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/tests/gux-form-field-textarea.common.js +50 -1
  153. package/dist/collection/components/stable/gux-modal/tests/gux-modal.common.js +13 -0
  154. package/dist/collection/components/stable/gux-pagination/gux-pagination-buttons/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.js +19 -7
  155. package/dist/collection/components/stable/gux-pagination/gux-pagination.js +5 -1
  156. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar.js +8 -2
  157. package/dist/collection/components/stable/gux-toggle/gux-toggle.js +9 -2
  158. package/dist/collection/components/stable/gux-tooltip-title/gux-tooltip-title.js +5 -6
  159. package/dist/esm/en-DdUnetf3.js +19 -0
  160. package/dist/esm/genesys-webcomponents.js +1 -1
  161. package/dist/esm/gux-accordion.entry.js +1 -1
  162. package/dist/esm/gux-action-button.entry.js +1 -1
  163. package/dist/esm/gux-action-toast-legacy.entry.js +1 -1
  164. package/dist/esm/gux-actionable-inline-alert-beta.entry.js +1 -1
  165. package/dist/esm/gux-advanced-dropdown-legacy.entry.js +1 -1
  166. package/dist/esm/gux-ai-indicator-beta.entry.js +1 -1
  167. package/dist/esm/gux-ai-powered-badge-beta.entry.js +1 -1
  168. package/dist/esm/gux-ai-spinner-loader-beta.entry.js +1 -1
  169. package/dist/esm/gux-announce-beta.entry.js +1 -1
  170. package/dist/esm/gux-avatar-beta.entry.js +1 -1
  171. package/dist/esm/gux-avatar-change-photo-beta.entry.js +1 -1
  172. package/dist/esm/gux-avatar-group-add-item-beta_3.entry.js +1 -1
  173. package/dist/esm/gux-avatar-group-beta.entry.js +1 -1
  174. package/dist/esm/gux-avatar-group-item-beta.entry.js +1 -1
  175. package/dist/esm/gux-badge.entry.js +1 -1
  176. package/dist/esm/gux-blank-state-beta.entry.js +1 -1
  177. package/dist/esm/gux-blank-state.entry.js +1 -1
  178. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  179. package/dist/esm/gux-button-multi.entry.js +1 -1
  180. package/dist/esm/gux-button-slot.entry.js +1 -1
  181. package/dist/esm/gux-button_2.entry.js +1 -1
  182. package/dist/esm/gux-calendar.entry.js +12 -3
  183. package/dist/esm/gux-card.entry.js +1 -1
  184. package/dist/esm/gux-cloud-logo-beta.entry.js +1 -1
  185. package/dist/esm/gux-cloud-logomark-beta.entry.js +1 -1
  186. package/dist/esm/gux-column-manager.entry.js +1 -1
  187. package/dist/esm/gux-content-search.entry.js +1 -1
  188. package/dist/esm/gux-context-menu.entry.js +1 -1
  189. package/dist/esm/gux-copy-to-clipboard.entry.js +1 -1
  190. package/dist/esm/gux-date-beta.entry.js +1 -1
  191. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  192. package/dist/esm/gux-datepicker.entry.js +17 -4
  193. package/dist/esm/gux-disclosure-button-legacy.entry.js +1 -1
  194. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  195. package/dist/esm/gux-dropdown-multi.entry.js +2 -10
  196. package/dist/esm/gux-dropdown_3.entry.js +3 -8
  197. package/dist/esm/gux-file-list-item.entry.js +1 -1
  198. package/dist/esm/gux-flag-icon-beta.entry.js +1 -1
  199. package/dist/esm/gux-flyout-menu.entry.js +1 -1
  200. package/dist/esm/gux-form-field-checkbox-group-beta.entry.js +1 -1
  201. package/dist/esm/gux-form-field-checkbox.entry.js +2 -2
  202. package/dist/esm/gux-form-field-color.entry.js +2 -2
  203. package/dist/esm/gux-form-field-dropdown.entry.js +2 -2
  204. package/dist/esm/gux-form-field-file-beta.entry.js +2 -2
  205. package/dist/esm/gux-form-field-file.entry.js +2 -2
  206. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  207. package/dist/esm/gux-form-field-label-indicator.entry.js +1 -1
  208. package/dist/esm/gux-form-field-number_2.entry.js +21 -9
  209. package/dist/esm/gux-form-field-phone.entry.js +2 -2
  210. package/dist/esm/gux-form-field-radio-group-beta.entry.js +1 -1
  211. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  212. package/dist/esm/gux-form-field-range.entry.js +2 -2
  213. package/dist/esm/gux-form-field-search.entry.js +2 -2
  214. package/dist/esm/gux-form-field-select.entry.js +2 -2
  215. package/dist/esm/gux-form-field-text-like.entry.js +24 -28
  216. package/dist/esm/gux-form-field-textarea.entry.js +59 -8
  217. package/dist/esm/gux-form-field-time-picker.entry.js +2 -2
  218. package/dist/esm/gux-form-field-time-zone-picker.entry.js +2 -2
  219. package/dist/esm/{gux-form-field.service-C8ZnDb1J.js → gux-form-field.service-sLFedBTg.js} +1 -1
  220. package/dist/esm/gux-form-footer.entry.js +1 -1
  221. package/dist/esm/gux-icon-tooltip-beta.entry.js +1 -1
  222. package/dist/esm/gux-icon.entry.js +1 -1
  223. package/dist/esm/gux-illustration-beta.entry.js +1 -1
  224. package/dist/esm/gux-inline-alert.entry.js +1 -1
  225. package/dist/esm/gux-inline-dropdown-beta.entry.js +1 -1
  226. package/dist/esm/gux-label-info-beta.entry.js +1 -1
  227. package/dist/esm/gux-link-beta.entry.js +1 -1
  228. package/dist/esm/gux-list.entry.js +1 -1
  229. package/dist/esm/gux-listbox-multi.entry.js +1 -1
  230. package/dist/esm/gux-loading-message.entry.js +1 -1
  231. package/dist/esm/gux-logo-beta.entry.js +1 -1
  232. package/dist/esm/gux-logomark-beta.entry.js +1 -1
  233. package/dist/esm/gux-modal-legacy.entry.js +1 -1
  234. package/dist/esm/gux-modal-side-panel-beta.entry.js +1 -1
  235. package/dist/esm/gux-modal.entry.js +1 -1
  236. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  237. package/dist/esm/gux-notification-indicator-beta.entry.js +1 -1
  238. package/dist/esm/gux-notification-toast-legacy.entry.js +1 -1
  239. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  240. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  241. package/dist/esm/gux-pagination-legacy.entry.js +1 -1
  242. package/dist/esm/gux-pagination.entry.js +6 -2
  243. package/dist/esm/gux-phone-input-beta.entry.js +1 -1
  244. package/dist/esm/gux-popover-beta.entry.js +18 -3
  245. package/dist/esm/gux-popover-list-beta.entry.js +18 -3
  246. package/dist/esm/gux-popover-list.entry.js +1 -1
  247. package/dist/esm/gux-prompt-input-beta.entry.js +1 -1
  248. package/dist/esm/gux-radial-loading.entry.js +1 -1
  249. package/dist/esm/gux-radial-progress.entry.js +1 -1
  250. package/dist/esm/gux-rating.entry.js +1 -1
  251. package/dist/esm/gux-rich-highlight-list-item.entry.js +1 -1
  252. package/dist/esm/gux-rich-style-list-item_3.entry.js +1 -1
  253. package/dist/esm/gux-rich-text-editor-action-link.entry.js +1 -1
  254. package/dist/esm/gux-rich-text-editor-action-rich-style.entry.js +1 -1
  255. package/dist/esm/gux-rich-text-editor-action-text-highlight.entry.js +1 -1
  256. package/dist/esm/gux-rich-text-editor-action.entry.js +1 -1
  257. package/dist/esm/gux-rich-text-editor-beta.entry.js +1 -1
  258. package/dist/esm/gux-rich-text-editor-list.entry.js +1 -1
  259. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  260. package/dist/esm/gux-segmented-control-beta.entry.js +1 -1
  261. package/dist/esm/gux-selector-card-beta.entry.js +2 -2
  262. package/dist/esm/gux-selector-cards-beta.entry.js +1 -1
  263. package/dist/esm/gux-side-panel-beta.entry.js +1 -1
  264. package/dist/esm/gux-side-panel-header-mini.entry.js +1 -1
  265. package/dist/esm/gux-side-panel-header.entry.js +1 -1
  266. package/dist/esm/gux-side-panel-heading.entry.js +1 -1
  267. package/dist/esm/gux-simple-toast-legacy.entry.js +1 -1
  268. package/dist/esm/gux-skip-navigation-list.entry.js +1 -1
  269. package/dist/esm/gux-sort-control.entry.js +1 -1
  270. package/dist/esm/gux-status-indicator-beta.entry.js +1 -1
  271. package/dist/esm/gux-step-title.entry.js +1 -1
  272. package/dist/esm/gux-step.entry.js +1 -1
  273. package/dist/esm/gux-stepper-beta.entry.js +1 -1
  274. package/dist/esm/gux-switch-legacy.entry.js +1 -1
  275. package/dist/esm/gux-table-toolbar-action.entry.js +1 -1
  276. package/dist/esm/gux-table-toolbar-custom-action.entry.js +1 -1
  277. package/dist/esm/gux-table-toolbar-menu-button.entry.js +1 -1
  278. package/dist/esm/gux-table-toolbar.entry.js +9 -3
  279. package/dist/esm/gux-table.entry.js +1 -1
  280. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  281. package/dist/esm/gux-tabs.entry.js +1 -1
  282. package/dist/esm/gux-tag.entry.js +1 -1
  283. package/dist/esm/gux-text-highlight.entry.js +1 -1
  284. package/dist/esm/gux-time-beta.entry.js +1 -1
  285. package/dist/esm/gux-time-picker.entry.js +1 -1
  286. package/dist/esm/gux-time-zone-beta.entry.js +1 -1
  287. package/dist/esm/gux-time-zone-picker-beta.entry.js +1 -1
  288. package/dist/esm/gux-toast.entry.js +1 -1
  289. package/dist/esm/gux-toggle.entry.js +10 -3
  290. package/dist/esm/gux-tooltip-base-beta_2.entry.js +1 -1
  291. package/dist/esm/gux-tooltip-pointer-beta.entry.js +1 -1
  292. package/dist/esm/gux-tooltip-title.entry.js +5 -6
  293. package/dist/esm/gux-tooltip_2.entry.js +1 -1
  294. package/dist/esm/gux-tree-beta.entry.js +25 -3
  295. package/dist/esm/gux-tree-multi-beta.entry.js +24 -6
  296. package/dist/esm/index-CW7z6RPd.js +4 -4
  297. package/dist/esm/loader.js +1 -1
  298. package/dist/esm/{usage-ByN57IpV.js → usage-DfUlhgkE.js} +1 -1
  299. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  300. package/dist/genesys-webcomponents/{p-02361c47.entry.js → p-04719870.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/{p-c6c4817d.entry.js → p-0645b675.entry.js} +1 -1
  302. package/dist/genesys-webcomponents/{p-098ef6f2.entry.js → p-06b7430f.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-b4460d5e.entry.js → p-071cb03d.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-78222786.entry.js → p-0a7bb229.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-0f1ce7e9.entry.js → p-0a8eca3d.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-c5bab871.entry.js → p-0acf6f8f.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-9d38465d.entry.js → p-0adc907c.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/{p-a7b17ea8.entry.js → p-0cbe8afe.entry.js} +1 -1
  309. package/dist/genesys-webcomponents/p-0ea578d5.entry.js +1 -0
  310. package/dist/genesys-webcomponents/{p-0985c326.entry.js → p-0edc4350.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/p-0f03a32d.entry.js +1 -0
  312. package/dist/genesys-webcomponents/{p-d15a411d.entry.js → p-128f200c.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/{p-3458dbee.entry.js → p-12aa75e1.entry.js} +1 -1
  314. package/dist/genesys-webcomponents/{p-8e6d5dc4.entry.js → p-145773b2.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-6d6f8894.entry.js → p-1862b6af.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/{p-ca887f39.entry.js → p-1b293906.entry.js} +1 -1
  317. package/dist/genesys-webcomponents/{p-1f238f4c.entry.js → p-1fee393a.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/{p-7d526c31.entry.js → p-2315121f.entry.js} +1 -1
  319. package/dist/genesys-webcomponents/{p-b51e47a7.entry.js → p-234a9f8d.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-8ffdea10.entry.js → p-278bb520.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-15c8dc7f.entry.js → p-29d296e1.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/{p-dd23c685.entry.js → p-2a77bfb2.entry.js} +1 -1
  323. package/dist/genesys-webcomponents/{p-727d6414.entry.js → p-2b534d4b.entry.js} +1 -1
  324. package/dist/genesys-webcomponents/p-2b63d4dc.entry.js +1 -0
  325. package/dist/genesys-webcomponents/{p-fa5c6a09.entry.js → p-2d7baec9.entry.js} +1 -1
  326. package/dist/genesys-webcomponents/{p-d1356762.entry.js → p-2e495996.entry.js} +1 -1
  327. package/dist/genesys-webcomponents/{p-9f323ef9.entry.js → p-2e4bd740.entry.js} +1 -1
  328. package/dist/genesys-webcomponents/p-2f50c518.entry.js +1 -0
  329. package/dist/genesys-webcomponents/{p-f46a4e3a.entry.js → p-3109ac8e.entry.js} +1 -1
  330. package/dist/genesys-webcomponents/{p-ca599774.entry.js → p-32c9be2f.entry.js} +1 -1
  331. package/dist/genesys-webcomponents/{p-099ec737.entry.js → p-33fba8c4.entry.js} +1 -1
  332. package/dist/genesys-webcomponents/{p-0cb9662e.entry.js → p-3680f954.entry.js} +1 -1
  333. package/dist/genesys-webcomponents/{p-61a2db98.entry.js → p-3a18b5a7.entry.js} +1 -1
  334. package/dist/genesys-webcomponents/{p-2a8b7889.entry.js → p-3b02aacf.entry.js} +1 -1
  335. package/dist/genesys-webcomponents/{p-5a084778.entry.js → p-3d4133f9.entry.js} +1 -1
  336. package/dist/genesys-webcomponents/{p-45a0d6fd.entry.js → p-3e63fd30.entry.js} +1 -1
  337. package/dist/genesys-webcomponents/{p-6c539ed9.entry.js → p-430662f3.entry.js} +1 -1
  338. package/dist/genesys-webcomponents/{p-d1eff229.entry.js → p-453f3d12.entry.js} +1 -1
  339. package/dist/genesys-webcomponents/{p-d205ce35.entry.js → p-4bc2bd7f.entry.js} +1 -1
  340. package/dist/genesys-webcomponents/p-4d51bf14.entry.js +1 -0
  341. package/dist/genesys-webcomponents/{p-691b1bcc.entry.js → p-4e693326.entry.js} +1 -1
  342. package/dist/genesys-webcomponents/{p-4314a614.entry.js → p-51d25e14.entry.js} +1 -1
  343. package/dist/genesys-webcomponents/{p-436bd268.entry.js → p-5584e7f7.entry.js} +1 -1
  344. package/dist/genesys-webcomponents/{p-3a5d27f2.entry.js → p-5b6b5f7b.entry.js} +1 -1
  345. package/dist/genesys-webcomponents/{p-7bb67ae0.entry.js → p-5c7e39d7.entry.js} +1 -1
  346. package/dist/genesys-webcomponents/p-5da46ea3.entry.js +1 -0
  347. package/dist/genesys-webcomponents/{p-4e8e836c.entry.js → p-5e84d30c.entry.js} +1 -1
  348. package/dist/genesys-webcomponents/{p-88b388da.entry.js → p-5eac08d5.entry.js} +1 -1
  349. package/dist/genesys-webcomponents/{p-728062f3.entry.js → p-5eea5813.entry.js} +1 -1
  350. package/dist/genesys-webcomponents/{p-14b86086.entry.js → p-6121c82a.entry.js} +1 -1
  351. package/dist/genesys-webcomponents/{p-5bb51834.entry.js → p-64912f7e.entry.js} +1 -1
  352. package/dist/genesys-webcomponents/{p-4faf66b2.entry.js → p-690ecf83.entry.js} +1 -1
  353. package/dist/genesys-webcomponents/{p-dce99245.entry.js → p-6a9b2eda.entry.js} +1 -1
  354. package/dist/genesys-webcomponents/{p-b81ac826.entry.js → p-713fdb58.entry.js} +1 -1
  355. package/dist/genesys-webcomponents/{p-c55e7c55.entry.js → p-7362a8e7.entry.js} +1 -1
  356. package/dist/genesys-webcomponents/{p-29ba38ff.entry.js → p-77228b58.entry.js} +1 -1
  357. package/dist/genesys-webcomponents/{p-7ba6948a.entry.js → p-7832b9e5.entry.js} +1 -1
  358. package/dist/genesys-webcomponents/{p-2a482fc0.entry.js → p-79e95ae2.entry.js} +1 -1
  359. package/dist/genesys-webcomponents/{p-66dfc0c6.entry.js → p-7c15e19c.entry.js} +1 -1
  360. package/dist/genesys-webcomponents/{p-6b2618f0.entry.js → p-7c812071.entry.js} +1 -1
  361. package/dist/genesys-webcomponents/{p-b975fbf2.entry.js → p-7d0aa64b.entry.js} +1 -1
  362. package/dist/genesys-webcomponents/{p-34e45384.entry.js → p-7eb65071.entry.js} +1 -1
  363. package/dist/genesys-webcomponents/{p-57a92ea6.entry.js → p-85b501d7.entry.js} +1 -1
  364. package/dist/genesys-webcomponents/p-8a0997f8.entry.js +1 -0
  365. package/dist/genesys-webcomponents/{p-1c680637.entry.js → p-8a72aa5b.entry.js} +1 -1
  366. package/dist/genesys-webcomponents/{p-553c836b.entry.js → p-8accd068.entry.js} +1 -1
  367. package/dist/genesys-webcomponents/{p-8afe553b.entry.js → p-90e5840f.entry.js} +1 -1
  368. package/dist/genesys-webcomponents/{p-cadd5957.entry.js → p-9726df01.entry.js} +1 -1
  369. package/dist/genesys-webcomponents/{p-7a1153b2.entry.js → p-9b02cb1b.entry.js} +1 -1
  370. package/dist/genesys-webcomponents/{p-2532d0cc.entry.js → p-9b587053.entry.js} +1 -1
  371. package/dist/genesys-webcomponents/{p-4f01f159.entry.js → p-9d6fb7ad.entry.js} +1 -1
  372. package/dist/genesys-webcomponents/{p-3296a04b.entry.js → p-9eaf0ef2.entry.js} +1 -1
  373. package/dist/genesys-webcomponents/p-B6WAsigp.js +1 -0
  374. package/dist/genesys-webcomponents/{p-ByN57IpV.js → p-DfUlhgkE.js} +1 -1
  375. package/dist/genesys-webcomponents/{p-7Jfa0k54.js → p-KdigjDpl.js} +1 -1
  376. package/dist/genesys-webcomponents/p-a229a1c4.entry.js +1 -0
  377. package/dist/genesys-webcomponents/{p-d927d275.entry.js → p-a26d2174.entry.js} +1 -1
  378. package/dist/genesys-webcomponents/{p-fea3d9b0.entry.js → p-a7535c62.entry.js} +1 -1
  379. package/dist/genesys-webcomponents/{p-c07befcc.entry.js → p-a7e1cba1.entry.js} +1 -1
  380. package/dist/genesys-webcomponents/{p-151aec2a.entry.js → p-a962614c.entry.js} +1 -1
  381. package/dist/genesys-webcomponents/{p-54ee0950.entry.js → p-ab4d6751.entry.js} +1 -1
  382. package/dist/genesys-webcomponents/p-aca1eaac.entry.js +1 -0
  383. package/dist/genesys-webcomponents/{p-8805d2c8.entry.js → p-acab9968.entry.js} +1 -1
  384. package/dist/genesys-webcomponents/{p-98058e58.entry.js → p-acae1f81.entry.js} +1 -1
  385. package/dist/genesys-webcomponents/{p-62dbf47f.entry.js → p-acc0348a.entry.js} +1 -1
  386. package/dist/genesys-webcomponents/{p-514e4a53.entry.js → p-ae4440e6.entry.js} +1 -1
  387. package/dist/genesys-webcomponents/{p-7ad79502.entry.js → p-b1830d23.entry.js} +1 -1
  388. package/dist/genesys-webcomponents/{p-1394376a.entry.js → p-b1d1e33c.entry.js} +1 -1
  389. package/dist/genesys-webcomponents/{p-504318a5.entry.js → p-b2e06812.entry.js} +1 -1
  390. package/dist/genesys-webcomponents/{p-ef07ae93.entry.js → p-b4ed9f43.entry.js} +1 -1
  391. package/dist/genesys-webcomponents/{p-5c13316b.entry.js → p-b6fcb406.entry.js} +1 -1
  392. package/dist/genesys-webcomponents/{p-754ed872.entry.js → p-be2b897c.entry.js} +1 -1
  393. package/dist/genesys-webcomponents/{p-95ccb5f4.entry.js → p-be3a4f6c.entry.js} +1 -1
  394. package/dist/genesys-webcomponents/{p-141b1067.entry.js → p-be3bd92f.entry.js} +1 -1
  395. package/dist/genesys-webcomponents/p-bea830d6.entry.js +1 -0
  396. package/dist/genesys-webcomponents/{p-4bdfbbc5.entry.js → p-bed807b2.entry.js} +1 -1
  397. package/dist/genesys-webcomponents/{p-134d85be.entry.js → p-c1ab3609.entry.js} +1 -1
  398. package/dist/genesys-webcomponents/{p-5f9e9a05.entry.js → p-c5b410ba.entry.js} +1 -1
  399. package/dist/genesys-webcomponents/{p-cf58f1a2.entry.js → p-c9c1a672.entry.js} +1 -1
  400. package/dist/genesys-webcomponents/{p-85b1bccf.entry.js → p-cb40033a.entry.js} +1 -1
  401. package/dist/genesys-webcomponents/{p-e41d9a44.entry.js → p-cbf24588.entry.js} +1 -1
  402. package/dist/genesys-webcomponents/{p-30de22f9.entry.js → p-d2c076d9.entry.js} +1 -1
  403. package/dist/genesys-webcomponents/{p-c150b385.entry.js → p-d3aeb84f.entry.js} +1 -1
  404. package/dist/genesys-webcomponents/{p-0ef0fd78.entry.js → p-d559de47.entry.js} +1 -1
  405. package/dist/genesys-webcomponents/{p-a65a5796.entry.js → p-d5dd075c.entry.js} +1 -1
  406. package/dist/genesys-webcomponents/{p-95c3f74b.entry.js → p-d5f3c933.entry.js} +1 -1
  407. package/dist/genesys-webcomponents/p-d75e0dbc.entry.js +1 -0
  408. package/dist/genesys-webcomponents/{p-fc151df5.entry.js → p-d94d4094.entry.js} +1 -1
  409. package/dist/genesys-webcomponents/{p-543d6f42.entry.js → p-daeb237c.entry.js} +1 -1
  410. package/dist/genesys-webcomponents/{p-0606fd6f.entry.js → p-ddac1570.entry.js} +1 -1
  411. package/dist/genesys-webcomponents/{p-8156ce05.entry.js → p-de9525b7.entry.js} +1 -1
  412. package/dist/genesys-webcomponents/{p-f71af6a1.entry.js → p-df046c41.entry.js} +1 -1
  413. package/dist/genesys-webcomponents/{p-5c6af619.entry.js → p-df557e1e.entry.js} +1 -1
  414. package/dist/genesys-webcomponents/{p-c1b3009c.entry.js → p-dfc98dab.entry.js} +1 -1
  415. package/dist/genesys-webcomponents/{p-06e90b84.entry.js → p-e113ae45.entry.js} +1 -1
  416. package/dist/genesys-webcomponents/{p-fb83d98c.entry.js → p-e18bf7b6.entry.js} +1 -1
  417. package/dist/genesys-webcomponents/{p-0cf04166.entry.js → p-e1b689a1.entry.js} +1 -1
  418. package/dist/genesys-webcomponents/{p-c0ab40d8.entry.js → p-e34f3916.entry.js} +1 -1
  419. package/dist/genesys-webcomponents/{p-26233913.entry.js → p-e3c08e4d.entry.js} +1 -1
  420. package/dist/genesys-webcomponents/p-e42233ec.entry.js +1 -0
  421. package/dist/genesys-webcomponents/p-e498bb5f.entry.js +1 -0
  422. package/dist/genesys-webcomponents/{p-c43c986e.entry.js → p-e5c4bf56.entry.js} +1 -1
  423. package/dist/genesys-webcomponents/{p-56b52d65.entry.js → p-e9c68dfd.entry.js} +1 -1
  424. package/dist/genesys-webcomponents/{p-4e5f58bf.entry.js → p-ebb20d18.entry.js} +1 -1
  425. package/dist/genesys-webcomponents/{p-54eb410a.entry.js → p-ed557eda.entry.js} +1 -1
  426. package/dist/genesys-webcomponents/{p-5c4ac516.entry.js → p-eef6f265.entry.js} +1 -1
  427. package/dist/genesys-webcomponents/p-ef2f0321.entry.js +1 -0
  428. package/dist/genesys-webcomponents/{p-d14fdcd1.entry.js → p-f5e9f927.entry.js} +1 -1
  429. package/dist/genesys-webcomponents/{p-cf60c394.entry.js → p-f776ab65.entry.js} +1 -1
  430. package/dist/genesys-webcomponents/{p-39700ceb.entry.js → p-f9b9c46a.entry.js} +1 -1
  431. package/dist/genesys-webcomponents/{p-f29231bc.entry.js → p-fa0ca677.entry.js} +1 -1
  432. package/dist/genesys-webcomponents/{p-69408f1a.entry.js → p-fc404b1d.entry.js} +1 -1
  433. package/dist/genesys-webcomponents/{p-17c19bce.entry.js → p-fd5703b0.entry.js} +1 -1
  434. package/dist/genesys-webcomponents/p-fe780836.entry.js +1 -0
  435. package/dist/genesys-webcomponents/{p-9670baf9.entry.js → p-ff339015.entry.js} +1 -1
  436. package/dist/genesys-webcomponents/{p-d28b084e.entry.js → p-ff661751.entry.js} +1 -1
  437. package/dist/stencil-wrapper.js +1 -1
  438. package/dist/types/components/beta/gux-popover-beta/gux-popover.d.ts +1 -0
  439. package/dist/types/components/beta/gux-popover-list-beta/gux-popover-list.d.ts +1 -0
  440. package/dist/types/components/beta/gux-tree/gux-tree.d.ts +1 -0
  441. package/dist/types/components/beta/gux-tree-multi/gux-tree-multi.d.ts +1 -0
  442. package/dist/types/components/stable/gux-calendar/gux-calendar.d.ts +1 -0
  443. package/dist/types/components/stable/gux-datepicker/gux-datepicker.d.ts +1 -0
  444. package/dist/types/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.d.ts +4 -2
  445. package/dist/types/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.d.ts +13 -2
  446. package/dist/types/components/stable/gux-toggle/gux-toggle.d.ts +1 -0
  447. package/dist/types/components/stable/gux-tooltip-title/gux-tooltip-title.d.ts +0 -1
  448. package/dist/types/components.d.ts +29 -2
  449. package/dist/types/stencil-wrapper.d.ts +1 -1
  450. package/package.json +1 -1
  451. package/dist/genesys-webcomponents/p-071a69ab.entry.js +0 -1
  452. package/dist/genesys-webcomponents/p-1381c88f.entry.js +0 -1
  453. package/dist/genesys-webcomponents/p-1c3289c2.entry.js +0 -1
  454. package/dist/genesys-webcomponents/p-26655b22.entry.js +0 -1
  455. package/dist/genesys-webcomponents/p-384917c5.entry.js +0 -1
  456. package/dist/genesys-webcomponents/p-4b81700e.entry.js +0 -1
  457. package/dist/genesys-webcomponents/p-5a985eb1.entry.js +0 -1
  458. package/dist/genesys-webcomponents/p-5bdf4479.entry.js +0 -1
  459. package/dist/genesys-webcomponents/p-847e9218.entry.js +0 -1
  460. package/dist/genesys-webcomponents/p-97260bce.entry.js +0 -1
  461. package/dist/genesys-webcomponents/p-98ab0940.entry.js +0 -1
  462. package/dist/genesys-webcomponents/p-b55819db.entry.js +0 -1
  463. package/dist/genesys-webcomponents/p-c5a10f6f.entry.js +0 -1
  464. package/dist/genesys-webcomponents/p-db503cad.entry.js +0 -1
  465. package/dist/genesys-webcomponents/p-f0383931.entry.js +0 -1
@@ -258,6 +258,8 @@ export class GuxCalendar {
258
258
  async onKeyDown(event) {
259
259
  switch (event.key) {
260
260
  case ' ':
261
+ event.preventDefault();
262
+ break;
261
263
  case 'Enter':
262
264
  event.preventDefault();
263
265
  await this.onDateClick(this.previewValue);
@@ -314,6 +316,13 @@ export class GuxCalendar {
314
316
  break;
315
317
  }
316
318
  }
319
+ async onKeyUp(event) {
320
+ switch (event.key) {
321
+ case ' ':
322
+ await this.onDateClick(this.previewValue);
323
+ break;
324
+ }
325
+ }
317
326
  async componentWillLoad() {
318
327
  trackComponent(this.root, { variant: this.mode });
319
328
  this.i18n = await buildI18nForComponent(this.root, translationResources);
@@ -341,10 +350,10 @@ export class GuxCalendar {
341
350
  })));
342
351
  }
343
352
  renderCalendarTable(index) {
344
- return (h("table", null, h("tr", null, getWeekdays(this.locale, this.startDayOfWeek).map(day => (h("th", null, day)))), this.getMonthDays(index).map(week => (h("tr", null, week.map(day => (h("td", { tabindex: this.isFocusableDate(day) ? '0' : '-1', class: day.class, "aria-hidden": day.hidden ? 'true' : 'false', "aria-disabled": day.disabled ? 'true' : 'false', "data-date": day.date.getTime(), onClick: () => void this.onDateClick(day.date), onMouseEnter: () => this.onDateMouseEnter(day.date), onKeyDown: e => void this.onKeyDown(e) }, h("div", { class: "gux-date" }, day.date.getDate(), h("gux-screen-reader-beta", null, getDateMonthAndYearString(day.date, this.locale)))))))))));
353
+ return (h("table", null, h("tr", null, getWeekdays(this.locale, this.startDayOfWeek).map(day => (h("th", null, day)))), this.getMonthDays(index).map(week => (h("tr", null, week.map(day => (h("td", { tabindex: this.isFocusableDate(day) ? '0' : '-1', class: day.class, "aria-hidden": day.hidden ? 'true' : 'false', "aria-disabled": day.disabled ? 'true' : 'false', "data-date": day.date.getTime(), onClick: () => void this.onDateClick(day.date), onMouseEnter: () => this.onDateMouseEnter(day.date), onKeyDown: e => void this.onKeyDown(e), onKeyUp: e => void this.onKeyUp(e) }, h("div", { class: "gux-date" }, day.date.getDate(), h("gux-screen-reader-beta", null, getDateMonthAndYearString(day.date, this.locale)))))))))));
345
354
  }
346
355
  render() {
347
- return (h("div", { key: 'ecb01e2825c556c8452007d537131ca352583705', class: "gux-calendar" }, h("div", { key: '7d4cfa2b4aa4e1a3299150b104f017221741f402', class: "gux-header" }, h("button", { key: 'c4d8974ea4be39048f51ddaa053e22390c685770', type: "button", class: "gux-left", "aria-label": this.i18n('previousMonth'), onClick: () => this.incrementPreviewDateByMonth(-1) }, h("gux-icon", { key: '31d234e14c57567aeaf52e1700ec5598dc626a4b', size: "small", decorative: true, "icon-name": "custom/chevron-left-small-regular" })), this.renderMonthHeader(), h("button", { key: '5335f29f046387ccbd3d4e0b464868f576d1fb21', type: "button", class: "gux-right", "aria-label": this.i18n('nextMonth'), onClick: () => this.incrementPreviewDateByMonth(1) }, h("gux-icon", { key: '95219ca612e3f73a14ac8593a3c92f64ebcc8a91', size: "small", decorative: true, "icon-name": "custom/chevron-right-small-regular" }))), h("div", { key: '13e1fa1158eb1ba160842cc084b54df69fffe2bf', class: "gux-content" }, Array.from(Array(this.numberOfMonths).keys()).map(index => this.renderCalendarTable(index)))));
356
+ return (h("div", { key: '99b9cbae49cda8b12095262936aaf771584deedb', class: "gux-calendar" }, h("div", { key: '880293b814d68fcf502de7492eb50ae791e9979b', class: "gux-header" }, h("button", { key: 'a022434e3785e83dda88d686add6c689ab99dab9', type: "button", class: "gux-left", "aria-label": this.i18n('previousMonth'), onClick: () => this.incrementPreviewDateByMonth(-1) }, h("gux-icon", { key: '062da9e8f65bb32d3314b1da4040d1ab8cc6f1d9', size: "small", decorative: true, "icon-name": "custom/chevron-left-small-regular" })), this.renderMonthHeader(), h("button", { key: '9452372be93bbf116fed3b353eb7b553e886166c', type: "button", class: "gux-right", "aria-label": this.i18n('nextMonth'), onClick: () => this.incrementPreviewDateByMonth(1) }, h("gux-icon", { key: 'd701501f7c195f40464bee99c2bf7dc913d06f88', size: "small", decorative: true, "icon-name": "custom/chevron-right-small-regular" }))), h("div", { key: 'fcecfdc89455c2aac68bcb507e421b99f4cab562', class: "gux-content" }, Array.from(Array(this.numberOfMonths).keys()).map(index => this.renderCalendarTable(index)))));
348
357
  }
349
358
  static get is() { return "gux-calendar"; }
350
359
  static get encapsulation() { return "shadow"; }
@@ -168,8 +168,7 @@ export class GuxDatepicker {
168
168
  else {
169
169
  switch (event.key) {
170
170
  case 'Enter':
171
- case 'Escape':
172
- case ' ': {
171
+ case 'Escape': {
173
172
  this.active = false;
174
173
  const button = this.root.shadowRoot.querySelector('.gux-calendar-toggle-button');
175
174
  afterNextRenderTimeout(() => {
@@ -185,6 +184,20 @@ export class GuxDatepicker {
185
184
  }
186
185
  }
187
186
  }
187
+ onKeyUp(event) {
188
+ if (!this.isInputFieldEvent(event)) {
189
+ switch (event.key) {
190
+ case ' ': {
191
+ this.active = false;
192
+ const button = this.root.shadowRoot.querySelector('.gux-calendar-toggle-button');
193
+ afterNextRenderTimeout(() => {
194
+ button.focus();
195
+ });
196
+ break;
197
+ }
198
+ }
199
+ }
200
+ }
188
201
  onMouseDown(event) {
189
202
  if (this.isInputFieldEvent(event)) {
190
203
  this.isSelectingRangeWithMouse = true;
@@ -573,7 +586,7 @@ export class GuxDatepicker {
573
586
  } }, this.getCalendarLabels()[1]), h("div", { class: "gux-datepicker-field-input" }, h("div", { class: "gux-datepicker-field-text-input" }, h("input", { id: this.endInputId, type: "text", ref: (el) => (this.toInputElement = el), onMouseUp: e => this.onInputMouseUp(e), onFocusin: e => this.onInputFocusIn(e), onFocusout: () => this.onInputFocusOut(), value: this.toFormattedValue, disabled: this.disabled }), this.renderCalendarToggleButton()))));
574
587
  }
575
588
  render() {
576
- return (h("div", { key: 'd9a0fa114334489ab841a6ea49c0c6516c780ed7', class: {
589
+ return (h("div", { key: 'f7a5a09df3bf8fae6b76de91040e6c2c09b6328a', class: {
577
590
  'gux-datepicker': true,
578
591
  'gux-active': this.active,
579
592
  'gux-disabled': this.disabled
@@ -861,6 +874,12 @@ export class GuxDatepicker {
861
874
  "target": undefined,
862
875
  "capture": false,
863
876
  "passive": false
877
+ }, {
878
+ "name": "keyup",
879
+ "method": "onKeyUp",
880
+ "target": undefined,
881
+ "capture": false,
882
+ "passive": false
864
883
  }, {
865
884
  "name": "mousedown",
866
885
  "method": "onMouseDown",
@@ -65,6 +65,7 @@ export class GuxDropdown {
65
65
  switch (event.key) {
66
66
  case 'Escape':
67
67
  if (this.expanded) {
68
+ event.preventDefault();
68
69
  event.stopPropagation();
69
70
  }
70
71
  if (this.isFilterable()) {
@@ -94,12 +95,6 @@ export class GuxDropdown {
94
95
  setInitialActiveOption(this.listboxElement);
95
96
  }
96
97
  return;
97
- case 'Enter':
98
- case ' ':
99
- if (!this.expanded && !this.isFilterable()) {
100
- setInitialActiveOption(this.listboxElement);
101
- }
102
- return;
103
98
  }
104
99
  }
105
100
  onInternallistboxoptionsupdated(event) {
@@ -374,7 +369,7 @@ export class GuxDropdown {
374
369
  }
375
370
  }
376
371
  render() {
377
- return (h("gux-popup", { key: 'cde100c4f62afffb5f98c24d007820479fdb1b5c', expanded: this.expanded && (!this.loading || this.isFilterable()), disabled: this.disabled || (this.loading && !this.isFilterable()), exceedTargetWidth: this.exceedTargetWidth }, this.renderTarget(), this.renderPopup()));
372
+ return (h("gux-popup", { key: '9403f04e1ff6553daa9e2ad499a3ec1b95da893f', expanded: this.expanded && (!this.loading || this.isFilterable()), disabled: this.disabled || (this.loading && !this.isFilterable()), exceedTargetWidth: this.exceedTargetWidth }, this.renderTarget(), this.renderPopup()));
378
373
  }
379
374
  static get is() { return "gux-dropdown"; }
380
375
  static get encapsulation() { return "shadow"; }
@@ -133,14 +133,6 @@ export class GuxDropdownMulti {
133
133
  if (this.canCreateNewOption() && this.isActiveElement()) {
134
134
  this.emitCreateOption();
135
135
  }
136
- if (!this.expanded && !this.isFilterable()) {
137
- setInitialActiveOption(this.listboxElement);
138
- }
139
- return;
140
- case ' ':
141
- if (!this.expanded && !this.isFilterable()) {
142
- setInitialActiveOption(this.listboxElement);
143
- }
144
136
  return;
145
137
  }
146
138
  }
@@ -423,7 +415,7 @@ export class GuxDropdownMulti {
423
415
  }
424
416
  render() {
425
417
  return [
426
- h("div", { key: '8218431fc220e7712c78a3149a1411f580a0bafc', class: "gux-dropdown-container" }, h("gux-popup", { key: '4cc022881fff6f407fce2f92d5cdf7b086077a29', expanded: this.expanded && (!this.loading || this.isFilterable()), disabled: this.disabled || (this.loading && !this.isFilterable()), exceedTargetWidth: this.exceedTargetWidth }, this.renderTarget(), this.renderPopup()))
418
+ h("div", { key: '37ab468fc107c07366ee5de94eb6e6bb20319a39', class: "gux-dropdown-container" }, h("gux-popup", { key: 'b6d3f364b061b25d0a57a9da9ec0c91f1eb8b155', expanded: this.expanded && (!this.loading || this.isFilterable()), disabled: this.disabled || (this.loading && !this.isFilterable()), exceedTargetWidth: this.exceedTargetWidth }, this.renderTarget(), this.renderPopup()))
427
419
  ];
428
420
  }
429
421
  static get is() { return "gux-dropdown-multi"; }
@@ -85,6 +85,11 @@ export class GuxFormFieldTextLike {
85
85
  void ((_a = this.labelInfo) === null || _a === void 0 ? void 0 : _a.hideTooltip());
86
86
  clearTimeout(this.hideLabelInfoTimeout);
87
87
  }
88
+ handleCharacterLimitChange(newValue) {
89
+ if (newValue > 0) {
90
+ setCharacterCountAriaDescribedBy(this.root, this.input);
91
+ }
92
+ }
88
93
  // eslint-disable-next-line @typescript-eslint/require-await
89
94
  async guxForceUpdate() {
90
95
  this.hasContent = hasContent(this.input);
@@ -114,13 +119,15 @@ export class GuxFormFieldTextLike {
114
119
  if (this.hasSuffix) {
115
120
  setSlotAriaDescribedby(this.root, this.input, 'suffix');
116
121
  }
117
- if (this.characterLimit > 0) {
118
- setCharacterCountAriaDescribedBy(this.root, this.input);
119
- }
120
122
  this.checkCharacterLimitExceeded();
121
123
  this.i18n = await buildI18nForComponent(this.root, translationResources);
122
124
  trackComponent(this.root, { variant: this.variant });
123
125
  }
126
+ componentDidLoad() {
127
+ if (this.characterLimit > 0) {
128
+ setCharacterCountAriaDescribedBy(this.root, this.input);
129
+ }
130
+ }
124
131
  connectedCallback() {
125
132
  this.hasError = hasSlot(this.root, 'error');
126
133
  this.hasHelp = hasSlot(this.root, 'help');
@@ -149,15 +156,15 @@ export class GuxFormFieldTextLike {
149
156
  }
150
157
  }
151
158
  render() {
152
- return (h(GuxFormFieldContainer, { key: '54f478dab0e45dc3efb156e9dad965823d697142', labelPosition: this.computedLabelPosition, characterLimit: this.characterLimit }, this.renderCharacterCount(), h(GuxFormFieldLabel, { key: 'e35eb1052c0d557eee144ba38b1816fa604b44d7', required: this.required, position: this.computedLabelPosition }, h("slot", { key: 'ed1e4e6d559032736dc33e4b892aaf940eb9b92c', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '7a8fd45e5ceea884025f99f7db466a05a02187e1', variant: this.indicatorMark, required: this.required }), h("slot", { key: '67c39e022a9da3a8f75ccfa15249ea5c8cd8873b', name: "label-info" })), h("div", { key: '9228ae0c610a42cee8023248086ba93991ea70e6', class: "gux-input-and-error-container" }, h("div", { key: 'b16ef72f6d37515dd75d8d105b23ad51eb3fcb56', class: {
159
+ return (h(GuxFormFieldContainer, { key: 'b2ed2e7d4c7fff9893d6dee379080ca52d031ef1', labelPosition: this.computedLabelPosition, characterLimit: this.characterLimit }, this.renderCharacterCount(), h(GuxFormFieldLabel, { key: '122783f3db7cd87ccb0d2f80980a430585a671a4', required: this.required, position: this.computedLabelPosition }, h("slot", { key: 'f76fe506ce23fc3122d15c407d82157052c409d8', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '94f07e7a96d9fcdee42392b5752a93ceeac7c9f8', variant: this.indicatorMark, required: this.required }), h("slot", { key: '895956e8428af1323048ea607a87c4473c8f2420', name: "label-info" })), h("div", { key: '3cf5758f17af06b5153f8ea1a6c664780d0836b4', class: "gux-input-and-error-container" }, h("div", { key: '0680bba11cd441fe0cd0d07843c78b4513e5729b', class: {
153
160
  'gux-input': true,
154
161
  'gux-input-error': this.hasError || this.charactersExceeding
155
- } }, h("div", { key: '5b35de154169a5156e250368fb59e04dcfbe6d52', class: {
162
+ } }, h("div", { key: 'fb969700f0ed4b2142624f87192c343d1b913f3e', class: {
156
163
  'gux-input-container': true,
157
164
  'gux-disabled': this.disabled,
158
165
  'gux-has-prefix': this.hasPrefix,
159
166
  'gux-has-suffix': this.hasSuffix
160
- }, onClick: () => focusInputElement(this.input) }, h("slot", { key: '414d14434e78f53c60ed6a848ff480cc1a68ceeb', name: "prefix" }), h("slot", { key: '02439dc0de64d46424f3ca9f6204907068880ef4', name: "input" }), this.renderRadialLoading(), h("slot", { key: '764b47c1c92236f2ed9202fd1a1366c7c65a47cf', name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { key: '498b9980be2675ed774e9f8b522d0bbebe772127', onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: 'e7f599a692bb32129e4d0f928792145825ec148f', show: this.hasError }, h("slot", { key: '0793fd2e095d43d3ee735c9a862acfc0a03567f9', name: "error" })), h(GuxFormFieldHelp, { key: '0730b3990836f489372a6eb56d600d1542b2220a', show: !this.hasError && this.hasHelp }, h("slot", { key: 'f04d4b50de99a1e0ed9ebae1f63116907f32a986', name: "help" })))));
167
+ }, onClick: () => focusInputElement(this.input) }, h("slot", { key: '4350d6a1831572318816f3c0c6a7b2142737a6f9', name: "prefix" }), h("slot", { key: 'ba4a8b2e0b36baced2c3f2e98fb12a6a633af9de', name: "input" }), this.renderRadialLoading(), h("slot", { key: '88171a8cc0200335928f8c541a149ff194d29b5b', name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { key: 'cf7723e5f7aca860cb410ea83967846a9b122fbc', onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: 'bdf9693fb9636c8c8a9957b579eca0ad9a4a6144', show: this.hasError }, h("slot", { key: '4cb5a1a5e0957119cee638e1536243bf4bc8bc16', name: "error" })), h(GuxFormFieldHelp, { key: '473f71b6d52d7b777d8d13877fca55cc1c6dd14b', show: !this.hasError && this.hasHelp }, h("slot", { key: 'fcbfc494952b6fd1b1438e723e2c743880d0fa23', name: "help" })))));
161
168
  }
162
169
  get variant() {
163
170
  const labelPositionVariant = this.labelPosition
@@ -176,12 +183,11 @@ export class GuxFormFieldTextLike {
176
183
  if (isExceeding !== this.charactersExceeding) {
177
184
  if (isExceeding) {
178
185
  this.input.setAttribute('aria-invalid', 'true');
179
- this.characterLimitChange.emit(isExceeding);
180
186
  }
181
187
  else {
182
188
  this.input.removeAttribute('aria-invalid');
183
- this.characterLimitChange.emit(isExceeding);
184
189
  }
190
+ this.guxcharacterlimitexceeded.emit(isExceeding);
185
191
  this.charactersExceeding = isExceeding;
186
192
  }
187
193
  }
@@ -351,8 +357,8 @@ export class GuxFormFieldTextLike {
351
357
  }
352
358
  static get events() {
353
359
  return [{
354
- "method": "characterLimitChange",
355
- "name": "characterLimitChange",
360
+ "method": "guxcharacterlimitexceeded",
361
+ "name": "guxcharacterlimitexceeded",
356
362
  "bubbles": true,
357
363
  "cancelable": true,
358
364
  "composed": true,
@@ -389,6 +395,12 @@ export class GuxFormFieldTextLike {
389
395
  };
390
396
  }
391
397
  static get elementRef() { return "root"; }
398
+ static get watchers() {
399
+ return [{
400
+ "propName": "characterLimit",
401
+ "methodName": "handleCharacterLimitChange"
402
+ }];
403
+ }
392
404
  static get listeners() {
393
405
  return [{
394
406
  "name": "keyup",
@@ -129,6 +129,20 @@
129
129
  order: 0;
130
130
  }
131
131
 
132
+ .gux-form-field-character-count {
133
+ display: flex;
134
+ justify-content: flex-end;
135
+ padding-block-end: var(--gse-ui-formControl-formField-gap);
136
+ font-family: var(--gse-ui-formControl-helper-helperText-fontFamily);
137
+ font-size: var(--gse-ui-formControl-helper-helperText-fontSize);
138
+ font-weight: var(--gse-ui-formControl-helper-helperText-fontWeight);
139
+ line-height: var(--gse-ui-formControl-helper-helperText-lineHeight);
140
+ color: var(--gse-ui-formControl-helper-defaultColor);
141
+ }
142
+ .gux-form-field-character-count.gux-exceeded {
143
+ color: var(--gse-ui-formControl-helper-errorColor);
144
+ }
145
+
132
146
  :host {
133
147
  display: block;
134
148
  }
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
- import { h } from "@stencil/core";
11
+ import { forceUpdate, h } from "@stencil/core";
12
12
  import { calculateInputDisabledState } from "../../../../../utils/dom/calculate-input-disabled-state";
13
13
  import { onInputDisabledStateChange } from "../../../../../utils/dom/on-input-disabled-state-change";
14
14
  import { OnMutation } from "../../../../../utils/decorator/on-mutation";
@@ -16,8 +16,11 @@ import { onRequiredChange } from "../../../../../utils/dom/on-attribute-change";
16
16
  import { preventBrowserValidationStyling } from "../../../../../utils/dom/prevent-browser-validation-styling";
17
17
  import { hasSlot } from "../../../../../utils/dom/has-slot";
18
18
  import { GuxFormFieldHelp, GuxFormFieldError, GuxFormFieldLabel, GuxFormFieldContainer } from "../../functional-components/functional-components";
19
- import { getComputedLabelPosition, validateFormIds } from "../../gux-form-field.service";
19
+ import { getComputedLabelPosition, validateFormIds, setCharacterCountAriaDescribedBy } from "../../gux-form-field.service";
20
20
  import { trackComponent } from "../../../../../utils/tracking/usage";
21
+ import { GuxFormFieldCharacterCount } from "../../functional-components/gux-form-field-character-count/gux-form-field-character-count";
22
+ import { buildI18nForComponent } from "../../../../../i18n";
23
+ import translationResources from "../../functional-components/gux-form-field-character-count/i18n/en.json";
21
24
  /**
22
25
  * @slot input - Required slot for input tag
23
26
  * @slot label - Required slot for label tag
@@ -33,10 +36,15 @@ export class GuxFormFieldTextarea {
33
36
  * When set to optional, the component will display (optional) for optional and blank for required.
34
37
  */
35
38
  this.indicatorMark = 'required';
39
+ /**
40
+ * The characterLimit property defines the max character limit for the textarea.
41
+ */
42
+ this.characterLimit = 0;
36
43
  this.computedLabelPosition = 'above';
37
44
  this.required = true;
38
45
  this.hasError = false;
39
46
  this.hasHelp = false;
47
+ this.charactersExceeding = false;
40
48
  }
41
49
  onMutation() {
42
50
  this.labelInfo = this.root.querySelector('[slot=label-info]');
@@ -73,16 +81,26 @@ export class GuxFormFieldTextarea {
73
81
  void ((_a = this.labelInfo) === null || _a === void 0 ? void 0 : _a.hideTooltip());
74
82
  clearTimeout(this.hideLabelInfoTimeout);
75
83
  }
76
- componentWillLoad() {
84
+ handleCharacterLimitChange(newValue) {
85
+ if (newValue > 0) {
86
+ setCharacterCountAriaDescribedBy(this.root, this.input);
87
+ }
88
+ }
89
+ async componentWillLoad() {
77
90
  this.setInput();
78
91
  this.setLabel();
79
92
  this.labelInfo = this.root.querySelector('[slot=label-info]');
80
93
  this.hasError = hasSlot(this.root, 'error');
81
94
  this.hasHelp = hasSlot(this.root, 'help');
95
+ this.checkCharacterLimitExceeded();
96
+ this.i18n = await buildI18nForComponent(this.root, translationResources);
82
97
  trackComponent(this.root, { variant: this.variant });
83
98
  }
84
99
  componentDidLoad() {
85
100
  this.updateHeight(this.textareaContainerElement, this.input, this.resize);
101
+ if (this.characterLimit > 0) {
102
+ setCharacterCountAriaDescribedBy(this.root, this.input);
103
+ }
86
104
  }
87
105
  connectedCallback() {
88
106
  this.hasError = hasSlot(this.root, 'error');
@@ -97,12 +115,12 @@ export class GuxFormFieldTextarea {
97
115
  }
98
116
  }
99
117
  render() {
100
- return (h(GuxFormFieldContainer, { key: '722954a835efdce0c0c011633cd01b07e36299d4', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '9bdb9adec4c6b5f36866cd55c3ba6df8e9ca322f', required: this.required, position: this.computedLabelPosition }, h("slot", { key: '65412b24ea0257da33ef92f38bf85dcf0e9d4761', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '1e17a44042e29484818e39eeff38ff35dc35bad6', variant: this.indicatorMark, required: this.required }), h("slot", { key: '172571cb3b79326bc4772c88ac91a945ddf252e6', name: "label-info" })), h("div", { key: 'c69b8d80fa6e1c1fa6d1baf365bb9a91ee3e6214', class: "gux-input-and-error-container" }, h("div", { key: '27c69e1bdba6cf73eccdef0ee90f432f74e79252', ref: el => (this.textareaContainerElement = el), class: {
118
+ return (h(GuxFormFieldContainer, { key: '966d5f51f4a532fa66595c58c849bb376c182561', labelPosition: this.computedLabelPosition, characterLimit: this.characterLimit }, this.renderCharacterCount(), h(GuxFormFieldLabel, { key: 'ef89834d796dc504a4c4bd33c10e07530fcd3a52', required: this.required, position: this.computedLabelPosition }, h("slot", { key: '7138084d4eaa129dfa43e9cf921118d47fda9349', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: 'fb4573bb813fcb0561c4101d929ab556c0e84405', variant: this.indicatorMark, required: this.required }), h("slot", { key: '47ee46d298e0a78c9d727c6259c4d3986de2a172', name: "label-info" })), h("div", { key: '641c6eda7d57fdb238f5d1051251f7478fc608bb', class: "gux-input-and-error-container" }, h("div", { key: 'c8cef431082346b5baa14045bca7610ec07ac0ee', ref: el => (this.textareaContainerElement = el), class: {
101
119
  'gux-input': true,
102
120
  [`gux-resize-${this.resize}`]: true,
103
121
  'gux-disabled': this.disabled,
104
- 'gux-input-error': this.hasError
105
- } }, h("slot", { key: '3354320b3579ad47ed30155a179ab00e649b46a7', name: "input" })), h(GuxFormFieldError, { key: '3aae26fec5a70756720875fbd60a492a3ba5ef90', show: this.hasError }, h("slot", { key: '1ccfe7af52ab155d94b12f22dc712e8ed82fc6d6', name: "error" })), h(GuxFormFieldHelp, { key: '59c6e92d0ac2e49855543291cdd0fd0ee43fb742', show: !this.hasError && this.hasHelp }, h("slot", { key: '98bea039d5bc0c32e36aef4f508927c95ae45dc7', name: "help" })))));
122
+ 'gux-input-error': this.hasError || this.charactersExceeding
123
+ } }, h("slot", { key: 'e248eb1d2d6ae1b247a79f0e6459592bc6f274f9', name: "input" })), h(GuxFormFieldError, { key: '23d512884a5eb6c3219fb61675cf473725e9fa3b', show: this.hasError }, h("slot", { key: 'a7288182fef55fe7fe90e65069c9755e67ae3600', name: "error" })), h(GuxFormFieldHelp, { key: '3613542fb4ecd45db886a0d8fa9cde94198e5cdb', show: !this.hasError && this.hasHelp }, h("slot", { key: 'f65391fd86031e21b9c93b711507aafda1254c73', name: "help" })))));
106
124
  }
107
125
  get variant() {
108
126
  const labelPositionVariant = this.labelPosition
@@ -110,12 +128,39 @@ export class GuxFormFieldTextarea {
110
128
  : 'none';
111
129
  return `${this.resize}-${labelPositionVariant}`;
112
130
  }
131
+ get characterCount() {
132
+ var _a, _b;
133
+ return (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length;
134
+ }
135
+ renderCharacterCount() {
136
+ if (this.characterLimit > 0) {
137
+ return (h(GuxFormFieldCharacterCount, { i18n: this.i18n, characterCount: this.characterCount, characterLimit: this.characterLimit, labelPosition: this.computedLabelPosition }));
138
+ }
139
+ }
140
+ checkCharacterLimitExceeded() {
141
+ if (this.characterLimit <= 0) {
142
+ return;
143
+ }
144
+ const isExceeding = this.characterCount > this.characterLimit;
145
+ if (isExceeding !== this.charactersExceeding) {
146
+ if (isExceeding) {
147
+ this.input.setAttribute('aria-invalid', 'true');
148
+ }
149
+ else {
150
+ this.input.removeAttribute('aria-invalid');
151
+ }
152
+ this.guxcharacterlimitexceeded.emit(isExceeding);
153
+ this.charactersExceeding = isExceeding;
154
+ }
155
+ }
113
156
  setInput() {
114
157
  this.input = this.root.querySelector('textarea[slot="input"]');
115
158
  preventBrowserValidationStyling(this.input);
116
159
  this.updateHeight(this.textareaContainerElement, this.input, this.resize);
117
160
  this.input.addEventListener('input', () => {
118
161
  this.updateHeight(this.textareaContainerElement, this.input, this.resize);
162
+ this.checkCharacterLimitExceeded();
163
+ forceUpdate(this.root);
119
164
  });
120
165
  this.disabled = calculateInputDisabledState(this.input);
121
166
  this.required = this.input.required;
@@ -231,6 +276,26 @@ export class GuxFormFieldTextarea {
231
276
  "reflect": false,
232
277
  "attribute": "indicator-mark",
233
278
  "defaultValue": "'required'"
279
+ },
280
+ "characterLimit": {
281
+ "type": "number",
282
+ "mutable": false,
283
+ "complexType": {
284
+ "original": "number",
285
+ "resolved": "number",
286
+ "references": {}
287
+ },
288
+ "required": false,
289
+ "optional": false,
290
+ "docs": {
291
+ "tags": [],
292
+ "text": "The characterLimit property defines the max character limit for the textarea."
293
+ },
294
+ "getter": false,
295
+ "setter": false,
296
+ "reflect": false,
297
+ "attribute": "character-limit",
298
+ "defaultValue": "0"
234
299
  }
235
300
  };
236
301
  }
@@ -240,10 +305,35 @@ export class GuxFormFieldTextarea {
240
305
  "disabled": {},
241
306
  "required": {},
242
307
  "hasError": {},
243
- "hasHelp": {}
308
+ "hasHelp": {},
309
+ "charactersExceeding": {}
244
310
  };
245
311
  }
312
+ static get events() {
313
+ return [{
314
+ "method": "guxcharacterlimitexceeded",
315
+ "name": "guxcharacterlimitexceeded",
316
+ "bubbles": true,
317
+ "cancelable": true,
318
+ "composed": true,
319
+ "docs": {
320
+ "tags": [],
321
+ "text": ""
322
+ },
323
+ "complexType": {
324
+ "original": "boolean",
325
+ "resolved": "boolean",
326
+ "references": {}
327
+ }
328
+ }];
329
+ }
246
330
  static get elementRef() { return "root"; }
331
+ static get watchers() {
332
+ return [{
333
+ "propName": "characterLimit",
334
+ "methodName": "handleCharacterLimitChange"
335
+ }];
336
+ }
247
337
  static get listeners() {
248
338
  return [{
249
339
  "name": "keyup",
@@ -34,6 +34,54 @@ const indicatorMarkRenderConfigs = ['optional', 'required'].map(indicatorMark =>
34
34
  </gux-form-field-textarea>
35
35
  `
36
36
  }));
37
+ const characterLimitRenderConfigs = [
38
+ {
39
+ description: 'should render component with character count when character-limit is set',
40
+ html: `
41
+ <gux-form-field-textarea character-limit="100">
42
+ <textarea slot="input">Sample text</textarea>
43
+ <label slot="label">Label</label>
44
+ </gux-form-field-textarea>
45
+ `
46
+ },
47
+ {
48
+ description: 'should render component with exceeded character count',
49
+ html: `
50
+ <gux-form-field-textarea character-limit="5">
51
+ <textarea slot="input">Sample text</textarea>
52
+ <label slot="label">Label</label>
53
+ </gux-form-field-textarea>
54
+ `
55
+ },
56
+ {
57
+ description: 'should render component with character count and label-position beside',
58
+ html: `
59
+ <gux-form-field-textarea character-limit="100" label-position="beside">
60
+ <textarea slot="input">Sample text</textarea>
61
+ <label slot="label">Label</label>
62
+ </gux-form-field-textarea>
63
+ `
64
+ },
65
+ {
66
+ description: 'should render component with character count and label-position screenreader',
67
+ html: `
68
+ <gux-form-field-textarea character-limit="100" label-position="screenreader">
69
+ <textarea slot="input"></textarea>
70
+ <label slot="label">Label</label>
71
+ </gux-form-field-textarea>
72
+ `
73
+ },
74
+ {
75
+ description: 'should render component with character count and error message',
76
+ html: `
77
+ <gux-form-field-textarea character-limit="2">
78
+ <textarea slot="input">Sample text</textarea>
79
+ <label slot="label">Label</label>
80
+ <span slot="error">This is an error message</span>
81
+ </gux-form-field-textarea>
82
+ `
83
+ }
84
+ ];
37
85
  const optionalSlotRenderConfigs = [
38
86
  { name: 'help', html: `<span slot="help">This is a help message</span>` },
39
87
  { name: 'error', html: `<span slot="error">This is an error message</span>` },
@@ -58,5 +106,6 @@ export const renderConfigs = [
58
106
  ...labelPositionRenderConfigs,
59
107
  ...inputAttributeRenderConfigs,
60
108
  ...indicatorMarkRenderConfigs,
61
- ...optionalSlotRenderConfigs
109
+ ...optionalSlotRenderConfigs,
110
+ ...characterLimitRenderConfigs
62
111
  ];
@@ -109,5 +109,18 @@ export const renderConfigs = [
109
109
  </gux-cta-group>
110
110
  </gux-modal>
111
111
  `
112
+ },
113
+ {
114
+ description: 'should render small modal with RTL direction',
115
+ html: `
116
+ <gux-modal lang="ar" dir="rtl" size="small" open>
117
+ <div slot="title">عنوان النافذة</div>
118
+ <div slot="content">هذا يحتوي على محتوى النافذة.</div>
119
+ <gux-cta-group slot="footer" align="end">
120
+ <gux-button slot="primary">قبول</gux-button>
121
+ <gux-button slot="dismiss">إلغاء</gux-button>
122
+ </gux-cta-group>
123
+ </gux-modal>
124
+ `
112
125
  }
113
126
  ];
@@ -60,10 +60,10 @@ export class GuxPaginationEllipsisButton {
60
60
  });
61
61
  }
62
62
  applyInputListener() {
63
- var _a;
63
+ var _a, _b;
64
64
  (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener('keydown', (event) => {
65
- const inputValue = event.target.value.trim();
66
- if (event.key == 'Enter' || event.key == ' ') {
65
+ if (event.key == 'Enter') {
66
+ const inputValue = event.target.value.trim();
67
67
  if (inputValue == '') {
68
68
  event.preventDefault();
69
69
  }
@@ -73,6 +73,18 @@ export class GuxPaginationEllipsisButton {
73
73
  this.isOpen = false;
74
74
  }
75
75
  }
76
+ if (event.key == ' ') {
77
+ event.preventDefault();
78
+ }
79
+ });
80
+ (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.addEventListener('keyup', (event) => {
81
+ if (event.key == ' ') {
82
+ const inputValue = event.target.value.trim();
83
+ if (inputValue !== '') {
84
+ this.goToPage.emit(event.target.value);
85
+ this.isOpen = false;
86
+ }
87
+ }
76
88
  });
77
89
  }
78
90
  async componentWillLoad() {
@@ -84,10 +96,10 @@ export class GuxPaginationEllipsisButton {
84
96
  }
85
97
  render() {
86
98
  return [
87
- h("gux-button", { key: 'ff6dcd0bae24038f98cc27378ba1bef960e60e05', accent: "ghost", id: "popover-target", type: "button", disabled: this.disabled, ref: el => (this.ellipsisButton = el), onClick: () => this.toggle(), "aria-haspopup": "true", "aria-expanded": this.isOpen.toString() }, h("gux-icon", { key: '055829d5888c36475f37059908094f22af6a25c4', screenreaderText: this.i18n('goToPage'), "icon-name": "fa/ellipsis-regular", size: "small" })),
88
- h("gux-tooltip", { key: '5f1df57f1cff0666f733dccc8130535cf4fd40ce', for: "popover-target", contrast: this.tooltipContrast }, h("div", { key: 'f4ed00cb8451c0146ba5d9d7be341e7c93f671e6', slot: "content" }, this.i18n('goToPage'))),
89
- h("gux-popover", { key: 'ed915ce2be82fd556b386a95f88b20fb54a34ea0', "is-open": this.isOpen, for: "popover-target" }, h("span", { key: '30db7911d089beaaabdfb0b07b52bdd771ed1afd', slot: "title" }, this.i18n('goToPage')), h("gux-form-field-number", { key: 'cc22605c48e7d5c6cde99b3a3143b64cc2eac5d8' }, h("input", { key: 'dc268d752b9e60bc394785b689fb8a3c04f59b50', slot: "input", type: "number", ref: el => (this.inputElement = el), min: "1", max: this.totalPages, value: "1", onKeyDown: evt => ['e', 'E', '+', '-', '.'].includes(evt.key) &&
90
- evt.preventDefault() }), h("label", { key: '27f5a09573883f22a8ecdb689dd7964aeb0923f9', slot: "label" })))
99
+ h("gux-button", { key: 'b631a4246b19b84fc191b9b5c6f7fae670255e43', accent: "ghost", id: "popover-target", type: "button", disabled: this.disabled, ref: el => (this.ellipsisButton = el), onClick: () => this.toggle(), "aria-haspopup": "true", "aria-expanded": this.isOpen.toString() }, h("gux-icon", { key: '3ffdcb461da9348f92d7908263911ba4535b378b', screenreaderText: this.i18n('goToPage'), "icon-name": "fa/ellipsis-regular", size: "small" })),
100
+ h("gux-tooltip", { key: 'a856c74d80b5668a9c49d975d661089c808d17ba', for: "popover-target", contrast: this.tooltipContrast }, h("div", { key: 'b4d55e585ecbda4ce9f103e5f7038548a218b24a', slot: "content" }, this.i18n('goToPage'))),
101
+ h("gux-popover", { key: '53f5da420aab2eeddea8ed7865d6b9f7dce153ef', "is-open": this.isOpen, for: "popover-target" }, h("span", { key: 'bd21532e024e2d364ea3cfb2b7354f7f5fc8112a', slot: "title" }, this.i18n('goToPage')), h("gux-form-field-number", { key: 'ab04f822948994eec49d6defe9474e3bde38e333' }, h("input", { key: '3db719f9308bc1233966d4db61a251bc7872383b', slot: "input", type: "number", ref: el => (this.inputElement = el), min: "1", max: this.totalPages, value: "1", onKeyDown: evt => ['e', 'E', '+', '-', '.'].includes(evt.key) &&
102
+ evt.preventDefault() }), h("label", { key: '487bf2a035afe6c078256849d7be4388167e72fd', slot: "label" })))
91
103
  ];
92
104
  }
93
105
  static get is() { return "gux-pagination-ellipsis-button"; }
@@ -62,6 +62,9 @@ export class GuxPagination {
62
62
  const container = this.root.shadowRoot.querySelector('.gux-pagination-container');
63
63
  const spacer = this.root.shadowRoot.querySelector('.gux-pagination-spacer');
64
64
  const containerWidth = container.clientWidth;
65
+ if (containerWidth === 0) {
66
+ return;
67
+ }
65
68
  const spacerWidth = spacer.clientWidth;
66
69
  if (spacerWidth < minAdvancedSpacerWidth &&
67
70
  this.displayedLayout !== 'simple') {
@@ -76,6 +79,7 @@ export class GuxPagination {
76
79
  }
77
80
  componentWillLoad() {
78
81
  trackComponent(this.root, { variant: this.layout });
82
+ this.displayedLayout = this.layout;
79
83
  }
80
84
  componentWillRender() {
81
85
  this.totalPages = this.calculateTotalPages(this.totalItems, this.itemsPerPage);
@@ -99,7 +103,7 @@ export class GuxPagination {
99
103
  }
100
104
  render() {
101
105
  var _a;
102
- return (h("div", { key: 'aff73521b29fcafc73ce87cb7798fc0745164b5d', class: "gux-pagination-container" }, h("div", { key: 'adfd12ec2a6687b657d92c22bbb3ef74ea8b2e27', class: "gux-pagination-info" }, h("gux-pagination-item-counts", { key: 'aab1f413cde27415a851f633bc7df7ecc412a9a2', "total-items": this.totalItems, "current-page": this.currentPage, "items-per-page": this.itemsPerPage }), ((_a = this.showItemsPerPage) !== null && _a !== void 0 ? _a : this.displayedLayout === 'advanced') && (h("gux-pagination-items-per-page", { key: '716cb8efda374652ed163f5c40e854c35ce590ee', disabled: this.disabled, "items-per-page": this.itemsPerPage, onInternalitemsperpagechange: this.handleInternalitemsperpagechange.bind(this) }))), h("div", { key: '454345dfe4901a179fd3faaa1ac92d8de36d32e5', class: "gux-pagination-spacer" }), h("div", { key: 'df9ad6137910cd1f21561404fa498b57848b515c', class: "gux-pagination-change" }, h("gux-pagination-buttons", { key: '562987cec97742412059eac5fe764876277eff37', disabled: this.disabled, layout: this.displayedLayout, "current-page": this.currentPage, "total-pages": this.totalPages, onInternalcurrentpagechange: this.handleInternalcurrentpagechange.bind(this) }))));
106
+ return (h("div", { key: '30d2f3a4ed3a123f75839bc90a9ad011b2eb2207', class: "gux-pagination-container" }, h("div", { key: '22f2e6125c1b94f0dcc4cc1c9c7c4e2aae43d40f', class: "gux-pagination-info" }, h("gux-pagination-item-counts", { key: 'b05725a5a36217f084a8fbf6e3940a0539656d44', "total-items": this.totalItems, "current-page": this.currentPage, "items-per-page": this.itemsPerPage }), ((_a = this.showItemsPerPage) !== null && _a !== void 0 ? _a : this.displayedLayout === 'advanced') && (h("gux-pagination-items-per-page", { key: 'd72fce79e0c28c92510e0ad32125058b10c414c8', disabled: this.disabled, "items-per-page": this.itemsPerPage, onInternalitemsperpagechange: this.handleInternalitemsperpagechange.bind(this) }))), h("div", { key: '05ae76ba80ed31a0e0fab5021f8d0c5e3b49bfdb', class: "gux-pagination-spacer" }), h("div", { key: 'f42ad091086a6a7901f95b8db638663b541da04f', class: "gux-pagination-change" }, h("gux-pagination-buttons", { key: 'ec0e33949371442d7f885d2fc3092e4dcc1d2ac9', disabled: this.disabled, layout: this.displayedLayout, "current-page": this.currentPage, "total-pages": this.totalPages, onInternalcurrentpagechange: this.handleInternalcurrentpagechange.bind(this) }))));
103
107
  }
104
108
  static get is() { return "gux-pagination"; }
105
109
  static get encapsulation() { return "shadow"; }