@scania/tegel 1.28.0 → 1.28.1-fix-textarea-label-click-focus-beta.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 (453) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-accordion-item.cjs.entry.js +3 -3
  3. package/dist/cjs/tds-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/tds-badge.cjs.entry.js +2 -2
  5. package/dist/cjs/tds-banner.cjs.entry.js +2 -2
  6. package/dist/cjs/tds-block.cjs.entry.js +1 -1
  7. package/dist/cjs/tds-body-cell.cjs.entry.js +2 -2
  8. package/dist/cjs/tds-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +1 -1
  10. package/dist/cjs/tds-button.cjs.entry.js +3 -3
  11. package/dist/cjs/tds-card.cjs.entry.js +1 -1
  12. package/dist/cjs/tds-checkbox.cjs.entry.js +2 -2
  13. package/dist/cjs/tds-chip.cjs.entry.js +1 -1
  14. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +3 -3
  15. package/dist/cjs/tds-datetime.cjs.entry.js +16 -2
  16. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  17. package/dist/cjs/tds-dropdown_2.cjs.entry.js +6 -6
  18. package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -2
  19. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  20. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  21. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  22. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  23. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  24. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  25. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  26. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  27. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  28. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  29. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  35. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  36. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  37. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  38. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  40. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  41. package/dist/cjs/tds-inline-tab.cjs.entry.js +2 -2
  42. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  43. package/dist/cjs/tds-link.cjs.entry.js +2 -2
  44. package/dist/cjs/tds-message.cjs.entry.js +2 -2
  45. package/dist/cjs/tds-modal.cjs.entry.js +2 -2
  46. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  47. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +4 -4
  48. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  49. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  50. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +2 -2
  51. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  52. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  53. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +11 -2
  54. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  55. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  56. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  57. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +9 -3
  58. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  59. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  60. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  61. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  62. package/dist/cjs/tds-side-menu.cjs.entry.js +85 -5
  63. package/dist/cjs/tds-slider.cjs.entry.js +80 -9
  64. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  65. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  66. package/dist/cjs/tds-stepper.cjs.entry.js +2 -2
  67. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  68. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  69. package/dist/cjs/tds-table-body-row.cjs.entry.js +2 -2
  70. package/dist/cjs/tds-table-body.cjs.entry.js +2 -2
  71. package/dist/cjs/tds-table-footer.cjs.entry.js +3 -3
  72. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  73. package/dist/cjs/tds-table-header.cjs.entry.js +2 -2
  74. package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
  75. package/dist/cjs/tds-table.cjs.entry.js +3 -3
  76. package/dist/cjs/tds-text-field.cjs.entry.js +5 -5
  77. package/dist/cjs/tds-textarea.cjs.entry.js +5 -3
  78. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  79. package/dist/cjs/tds-toggle.cjs.entry.js +2 -2
  80. package/dist/cjs/tds-tooltip.cjs.entry.js +2 -2
  81. package/dist/cjs/tegel.cjs.js +1 -1
  82. package/dist/collection/components/accordion/accordion-item/accordion-item.js +3 -3
  83. package/dist/collection/components/accordion/accordion.js +2 -2
  84. package/dist/collection/components/badge/badge.js +2 -2
  85. package/dist/collection/components/banner/banner.js +2 -2
  86. package/dist/collection/components/block/block.js +1 -1
  87. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +1 -1
  88. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  89. package/dist/collection/components/button/button.js +3 -3
  90. package/dist/collection/components/card/card.js +1 -1
  91. package/dist/collection/components/checkbox/checkbox.js +2 -2
  92. package/dist/collection/components/chip/chip.js +1 -1
  93. package/dist/collection/components/datetime/datetime.js +33 -2
  94. package/dist/collection/components/divider/divider.js +1 -1
  95. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +1 -1
  96. package/dist/collection/components/dropdown/dropdown.js +5 -5
  97. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  98. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  99. package/dist/collection/components/footer/footer.js +2 -2
  100. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  101. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  102. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  103. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  104. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  105. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  106. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  107. package/dist/collection/components/header/header-item/header-item.js +2 -2
  108. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  109. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  110. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  111. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  112. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  113. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  114. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  115. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  116. package/dist/collection/components/header/header-title/header-title.js +1 -1
  117. package/dist/collection/components/header/header.js +1 -1
  118. package/dist/collection/components/icon/icon.js +1 -1
  119. package/dist/collection/components/link/link.js +2 -2
  120. package/dist/collection/components/message/message.js +2 -2
  121. package/dist/collection/components/modal/modal.js +2 -2
  122. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  123. package/dist/collection/components/popover-core/popover-core.js +1 -1
  124. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  125. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  126. package/dist/collection/components/radio-button/radio-button.js +1 -1
  127. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +11 -2
  128. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  129. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +15 -3
  130. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  131. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  132. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  133. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  134. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  135. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  136. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  137. package/dist/collection/components/side-menu/side-menu.css +10 -0
  138. package/dist/collection/components/side-menu/side-menu.js +100 -5
  139. package/dist/collection/components/slider/slider.css +17 -0
  140. package/dist/collection/components/slider/slider.js +115 -8
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/stepper/step/step.js +1 -1
  143. package/dist/collection/components/stepper/stepper.js +4 -4
  144. package/dist/collection/components/table/table/table.js +3 -3
  145. package/dist/collection/components/table/table-body/table-body.js +2 -2
  146. package/dist/collection/components/table/table-body-cell/table-body-cell.js +2 -2
  147. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  148. package/dist/collection/components/table/table-body-row/table-body-row.js +2 -2
  149. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  150. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  151. package/dist/collection/components/table/table-header/table-header.js +2 -2
  152. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  153. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  154. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  155. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +2 -2
  156. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  157. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +2 -2
  158. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  159. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  160. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +4 -4
  161. package/dist/collection/components/text-field/text-field.js +5 -5
  162. package/dist/collection/components/textarea/textarea.js +5 -3
  163. package/dist/collection/components/toast/toast.js +3 -3
  164. package/dist/collection/components/toggle/toggle.js +2 -2
  165. package/dist/collection/components/tooltip/tooltip.js +2 -2
  166. package/dist/components/{p-14ab9663.js → p-1ef7423a.js} +2 -2
  167. package/dist/components/{p-265c3467.js → p-3f2187a4.js} +1 -1
  168. package/dist/components/{p-8c849aa2.js → p-74971a3e.js} +2 -2
  169. package/dist/components/{p-3dcfe1f4.js → p-76c8d381.js} +3 -3
  170. package/dist/components/{p-d61bd22e.js → p-7dbc1182.js} +3 -3
  171. package/dist/components/{p-0e6efec9.js → p-8a483a61.js} +2 -2
  172. package/dist/components/{p-34737ed9.js → p-9336db16.js} +1 -1
  173. package/dist/components/{p-92fb75a7.js → p-9b40a24d.js} +1 -1
  174. package/dist/components/{p-1c606f82.js → p-9ba3c16e.js} +3 -3
  175. package/dist/components/{p-252f3d4d.js → p-b0ca50a3.js} +1 -1
  176. package/dist/components/{p-3e93886d.js → p-bff614d5.js} +1 -1
  177. package/dist/components/{p-789bb453.js → p-cb52e59b.js} +3 -3
  178. package/dist/components/{p-c0b84c59.js → p-ce28efb8.js} +6 -6
  179. package/dist/components/{p-e8d2dbbf.js → p-da0800c1.js} +1 -1
  180. package/dist/components/{p-e49a0ceb.js → p-e1622f4a.js} +1 -1
  181. package/dist/components/{p-f8a36676.js → p-f4c6f29b.js} +4 -4
  182. package/dist/components/tds-accordion-item.js +4 -4
  183. package/dist/components/tds-accordion.js +2 -2
  184. package/dist/components/tds-badge.js +2 -2
  185. package/dist/components/tds-banner.js +3 -3
  186. package/dist/components/tds-block.js +1 -1
  187. package/dist/components/tds-body-cell.js +2 -2
  188. package/dist/components/tds-breadcrumb.js +1 -1
  189. package/dist/components/tds-breadcrumbs.js +1 -1
  190. package/dist/components/tds-button.js +3 -3
  191. package/dist/components/tds-card.js +2 -2
  192. package/dist/components/tds-checkbox.js +1 -1
  193. package/dist/components/tds-chip.js +1 -1
  194. package/dist/components/tds-core-header-item.js +1 -1
  195. package/dist/components/tds-datetime.js +18 -3
  196. package/dist/components/tds-divider.js +1 -1
  197. package/dist/components/tds-dropdown-option.js +1 -1
  198. package/dist/components/tds-dropdown.js +1 -1
  199. package/dist/components/tds-folder-tab.js +2 -2
  200. package/dist/components/tds-folder-tabs.js +3 -3
  201. package/dist/components/tds-footer-group.js +4 -4
  202. package/dist/components/tds-footer-item.js +1 -1
  203. package/dist/components/tds-footer.js +2 -2
  204. package/dist/components/tds-header-brand-symbol.js +3 -3
  205. package/dist/components/tds-header-cell.js +2 -2
  206. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  207. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  208. package/dist/components/tds-header-dropdown-list.js +1 -1
  209. package/dist/components/tds-header-dropdown.js +8 -8
  210. package/dist/components/tds-header-hamburger.js +4 -4
  211. package/dist/components/tds-header-item.js +1 -1
  212. package/dist/components/tds-header-launcher-button.js +1 -1
  213. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  214. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  215. package/dist/components/tds-header-launcher-grid.js +1 -1
  216. package/dist/components/tds-header-launcher-list-item.js +2 -2
  217. package/dist/components/tds-header-launcher-list-title.js +1 -1
  218. package/dist/components/tds-header-launcher-list.js +2 -2
  219. package/dist/components/tds-header-launcher.js +8 -8
  220. package/dist/components/tds-header-title.js +1 -1
  221. package/dist/components/tds-header.js +1 -1
  222. package/dist/components/tds-icon.js +1 -1
  223. package/dist/components/tds-inline-tab.js +2 -2
  224. package/dist/components/tds-inline-tabs.js +3 -3
  225. package/dist/components/tds-link.js +2 -2
  226. package/dist/components/tds-message.js +3 -3
  227. package/dist/components/tds-modal.js +3 -3
  228. package/dist/components/tds-navigation-tab.js +2 -2
  229. package/dist/components/tds-navigation-tabs.js +5 -5
  230. package/dist/components/tds-popover-canvas.js +1 -1
  231. package/dist/components/tds-popover-core.js +1 -1
  232. package/dist/components/tds-popover-menu-item.js +2 -2
  233. package/dist/components/tds-popover-menu.js +3 -3
  234. package/dist/components/tds-radio-button.js +1 -1
  235. package/dist/components/tds-side-menu-close-button.js +12 -3
  236. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  237. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  238. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  239. package/dist/components/tds-side-menu-dropdown.js +12 -6
  240. package/dist/components/tds-side-menu-item.js +1 -1
  241. package/dist/components/tds-side-menu-overlay.js +1 -1
  242. package/dist/components/tds-side-menu-user-image.js +1 -1
  243. package/dist/components/tds-side-menu-user-label.js +1 -1
  244. package/dist/components/tds-side-menu-user.js +3 -3
  245. package/dist/components/tds-side-menu.js +91 -9
  246. package/dist/components/tds-slider.js +83 -10
  247. package/dist/components/tds-spinner.js +1 -1
  248. package/dist/components/tds-step.js +2 -2
  249. package/dist/components/tds-stepper.js +3 -3
  250. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  251. package/dist/components/tds-table-body-row-expandable.js +7 -7
  252. package/dist/components/tds-table-body-row.js +3 -3
  253. package/dist/components/tds-table-body.js +2 -2
  254. package/dist/components/tds-table-footer.js +7 -7
  255. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  256. package/dist/components/tds-table-header.js +3 -3
  257. package/dist/components/tds-table-toolbar.js +3 -3
  258. package/dist/components/tds-table.js +3 -3
  259. package/dist/components/tds-text-field.js +6 -6
  260. package/dist/components/tds-textarea.js +8 -6
  261. package/dist/components/tds-toast.js +4 -4
  262. package/dist/components/tds-toggle.js +2 -2
  263. package/dist/components/tds-tooltip.js +1 -1
  264. package/dist/esm/loader.js +1 -1
  265. package/dist/esm/tds-accordion-item.entry.js +3 -3
  266. package/dist/esm/tds-accordion.entry.js +2 -2
  267. package/dist/esm/tds-badge.entry.js +2 -2
  268. package/dist/esm/tds-banner.entry.js +2 -2
  269. package/dist/esm/tds-block.entry.js +1 -1
  270. package/dist/esm/tds-body-cell.entry.js +2 -2
  271. package/dist/esm/tds-breadcrumb.entry.js +1 -1
  272. package/dist/esm/tds-breadcrumbs.entry.js +1 -1
  273. package/dist/esm/tds-button.entry.js +3 -3
  274. package/dist/esm/tds-card.entry.js +1 -1
  275. package/dist/esm/tds-checkbox.entry.js +2 -2
  276. package/dist/esm/tds-chip.entry.js +1 -1
  277. package/dist/esm/tds-core-header-item_2.entry.js +3 -3
  278. package/dist/esm/tds-datetime.entry.js +16 -2
  279. package/dist/esm/tds-divider.entry.js +1 -1
  280. package/dist/esm/tds-dropdown_2.entry.js +6 -6
  281. package/dist/esm/tds-folder-tab.entry.js +2 -2
  282. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  283. package/dist/esm/tds-footer-group.entry.js +3 -3
  284. package/dist/esm/tds-footer-item.entry.js +1 -1
  285. package/dist/esm/tds-footer.entry.js +2 -2
  286. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  287. package/dist/esm/tds-header-cell.entry.js +1 -1
  288. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  289. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  290. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  291. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  292. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  293. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  294. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  295. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  296. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  297. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  298. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  299. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  300. package/dist/esm/tds-header-launcher.entry.js +2 -2
  301. package/dist/esm/tds-header-title.entry.js +1 -1
  302. package/dist/esm/tds-header.entry.js +1 -1
  303. package/dist/esm/tds-icon.entry.js +1 -1
  304. package/dist/esm/tds-inline-tab.entry.js +2 -2
  305. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  306. package/dist/esm/tds-link.entry.js +2 -2
  307. package/dist/esm/tds-message.entry.js +2 -2
  308. package/dist/esm/tds-modal.entry.js +2 -2
  309. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  310. package/dist/esm/tds-navigation-tabs.entry.js +4 -4
  311. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  312. package/dist/esm/tds-popover-core.entry.js +1 -1
  313. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  314. package/dist/esm/tds-popover-menu.entry.js +2 -2
  315. package/dist/esm/tds-radio-button.entry.js +1 -1
  316. package/dist/esm/tds-side-menu-close-button.entry.js +11 -2
  317. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  318. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  319. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  320. package/dist/esm/tds-side-menu-dropdown.entry.js +9 -3
  321. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  322. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  323. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  324. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  325. package/dist/esm/tds-side-menu.entry.js +85 -5
  326. package/dist/esm/tds-slider.entry.js +80 -9
  327. package/dist/esm/tds-spinner.entry.js +1 -1
  328. package/dist/esm/tds-step.entry.js +1 -1
  329. package/dist/esm/tds-stepper.entry.js +2 -2
  330. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  331. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  332. package/dist/esm/tds-table-body-row.entry.js +2 -2
  333. package/dist/esm/tds-table-body.entry.js +2 -2
  334. package/dist/esm/tds-table-footer.entry.js +3 -3
  335. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  336. package/dist/esm/tds-table-header.entry.js +2 -2
  337. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  338. package/dist/esm/tds-table.entry.js +3 -3
  339. package/dist/esm/tds-text-field.entry.js +5 -5
  340. package/dist/esm/tds-textarea.entry.js +5 -3
  341. package/dist/esm/tds-toast.entry.js +3 -3
  342. package/dist/esm/tds-toggle.entry.js +2 -2
  343. package/dist/esm/tds-tooltip.entry.js +2 -2
  344. package/dist/esm/tegel.js +1 -1
  345. package/dist/tegel/{p-d267665e.entry.js → p-003184ea.entry.js} +1 -1
  346. package/dist/tegel/p-05da560e.entry.js +1 -0
  347. package/dist/tegel/{p-aa9d281b.entry.js → p-08ad6a21.entry.js} +1 -1
  348. package/dist/tegel/{p-51e49417.entry.js → p-08f63e5d.entry.js} +1 -1
  349. package/dist/tegel/{p-c71acb02.entry.js → p-0bd4fd5c.entry.js} +1 -1
  350. package/dist/tegel/{p-b58f68f0.entry.js → p-0c421cde.entry.js} +1 -1
  351. package/dist/tegel/{p-f034fc0c.entry.js → p-0e37277e.entry.js} +1 -1
  352. package/dist/tegel/{p-e46744bc.entry.js → p-0e5c6384.entry.js} +1 -1
  353. package/dist/tegel/p-0fd8e378.entry.js +1 -0
  354. package/dist/tegel/p-1078b1b4.entry.js +1 -0
  355. package/dist/tegel/{p-4465f687.entry.js → p-1120575b.entry.js} +1 -1
  356. package/dist/tegel/{p-27a4a7d0.entry.js → p-1286da6a.entry.js} +1 -1
  357. package/dist/tegel/{p-ea9e7345.entry.js → p-135f2276.entry.js} +1 -1
  358. package/dist/tegel/p-177386d5.entry.js +1 -0
  359. package/dist/tegel/{p-47bf836e.entry.js → p-1978cb0d.entry.js} +1 -1
  360. package/dist/tegel/{p-60b38806.entry.js → p-1cda8fe6.entry.js} +1 -1
  361. package/dist/tegel/{p-8d7bf652.entry.js → p-2446dfb6.entry.js} +1 -1
  362. package/dist/tegel/{p-d47c744f.entry.js → p-2551fd5b.entry.js} +1 -1
  363. package/dist/tegel/{p-81111221.entry.js → p-27777c26.entry.js} +1 -1
  364. package/dist/tegel/{p-a21250b8.entry.js → p-27e64ae1.entry.js} +1 -1
  365. package/dist/tegel/{p-5a3ff0d3.entry.js → p-286f470e.entry.js} +1 -1
  366. package/dist/tegel/p-2deba066.entry.js +1 -0
  367. package/dist/tegel/{p-24db6b5b.entry.js → p-2faeb483.entry.js} +1 -1
  368. package/dist/tegel/{p-cde32bc6.entry.js → p-2fbf2fdb.entry.js} +1 -1
  369. package/dist/tegel/p-304f5a5c.entry.js +1 -0
  370. package/dist/tegel/{p-d853f8c2.entry.js → p-319e992d.entry.js} +1 -1
  371. package/dist/tegel/{p-aadb2553.entry.js → p-33f1f60e.entry.js} +1 -1
  372. package/dist/tegel/{p-ca93de01.entry.js → p-354d3986.entry.js} +1 -1
  373. package/dist/tegel/{p-033d991e.entry.js → p-37e979b3.entry.js} +1 -1
  374. package/dist/tegel/p-3c348fcb.entry.js +1 -0
  375. package/dist/tegel/{p-8c8b9908.entry.js → p-4241afd6.entry.js} +1 -1
  376. package/dist/tegel/{p-46205cfb.entry.js → p-4cafd755.entry.js} +1 -1
  377. package/dist/tegel/p-4de2807c.entry.js +1 -0
  378. package/dist/tegel/{p-e1abd593.entry.js → p-4e8e7bcd.entry.js} +1 -1
  379. package/dist/tegel/{p-0f2c9507.entry.js → p-54ac3ec2.entry.js} +1 -1
  380. package/dist/tegel/{p-fa07db58.entry.js → p-58b928e5.entry.js} +1 -1
  381. package/dist/tegel/p-5c8fd75e.entry.js +1 -0
  382. package/dist/tegel/{p-b5ced8e5.entry.js → p-618d6b4f.entry.js} +1 -1
  383. package/dist/tegel/{p-3e9ca19a.entry.js → p-63d2c1fe.entry.js} +1 -1
  384. package/dist/tegel/{p-34b793c9.entry.js → p-646d1df4.entry.js} +1 -1
  385. package/dist/tegel/{p-ed17283a.entry.js → p-6b675e89.entry.js} +1 -1
  386. package/dist/tegel/{p-54a20280.entry.js → p-6c8b40f7.entry.js} +1 -1
  387. package/dist/tegel/{p-01edebef.entry.js → p-710c42c5.entry.js} +1 -1
  388. package/dist/tegel/{p-a5e0f030.entry.js → p-72006dd7.entry.js} +1 -1
  389. package/dist/tegel/p-7486e9f9.entry.js +1 -0
  390. package/dist/tegel/p-7ef50e7f.entry.js +1 -0
  391. package/dist/tegel/{p-eec22b6b.entry.js → p-7f2228be.entry.js} +1 -1
  392. package/dist/tegel/{p-c3607f10.entry.js → p-87929060.entry.js} +1 -1
  393. package/dist/tegel/p-8a4837ae.entry.js +1 -0
  394. package/dist/tegel/{p-fa342278.entry.js → p-8afeb375.entry.js} +1 -1
  395. package/dist/tegel/{p-d1112915.entry.js → p-8e9c6ef4.entry.js} +1 -1
  396. package/dist/tegel/{p-e3c3bdac.entry.js → p-8f1aead7.entry.js} +1 -1
  397. package/dist/tegel/{p-f1b0211a.entry.js → p-918a3c1a.entry.js} +1 -1
  398. package/dist/tegel/{p-660176d6.entry.js → p-97e88e6e.entry.js} +1 -1
  399. package/dist/tegel/{p-3204ae8f.entry.js → p-981e6232.entry.js} +1 -1
  400. package/dist/tegel/p-9858b0fe.entry.js +1 -0
  401. package/dist/tegel/{p-74fc9c92.entry.js → p-9ef67795.entry.js} +1 -1
  402. package/dist/tegel/{p-78d5acd7.entry.js → p-9f187848.entry.js} +1 -1
  403. package/dist/tegel/{p-1b390acb.entry.js → p-a10b3a4a.entry.js} +1 -1
  404. package/dist/tegel/{p-44ac6a20.entry.js → p-a56ad3d8.entry.js} +1 -1
  405. package/dist/tegel/p-ab00e6e4.entry.js +1 -0
  406. package/dist/tegel/p-b210d23c.entry.js +1 -0
  407. package/dist/tegel/{p-d33cb2d1.entry.js → p-c0cbc9f5.entry.js} +1 -1
  408. package/dist/tegel/p-c163d44f.entry.js +1 -0
  409. package/dist/tegel/{p-2af57972.entry.js → p-c1b7d773.entry.js} +1 -1
  410. package/dist/tegel/{p-96635c10.entry.js → p-c23a3f12.entry.js} +1 -1
  411. package/dist/tegel/{p-d65dfe04.entry.js → p-c5e50096.entry.js} +1 -1
  412. package/dist/tegel/p-ca32a270.entry.js +1 -0
  413. package/dist/tegel/p-ccbafacd.entry.js +1 -0
  414. package/dist/tegel/{p-70795d6e.entry.js → p-d38039b3.entry.js} +1 -1
  415. package/dist/tegel/{p-77d457b8.entry.js → p-d515fcdb.entry.js} +1 -1
  416. package/dist/tegel/{p-ee960089.entry.js → p-d6d8cb7f.entry.js} +1 -1
  417. package/dist/tegel/p-dfe24bb1.entry.js +1 -0
  418. package/dist/tegel/{p-c10be10e.entry.js → p-dfe4bb23.entry.js} +1 -1
  419. package/dist/tegel/{p-5242a1f6.entry.js → p-e102ca15.entry.js} +1 -1
  420. package/dist/tegel/{p-7c4c65c9.entry.js → p-e5e9bd0c.entry.js} +1 -1
  421. package/dist/tegel/{p-ddda64eb.entry.js → p-e88b2128.entry.js} +1 -1
  422. package/dist/tegel/{p-31bc440c.entry.js → p-eff1d877.entry.js} +1 -1
  423. package/dist/tegel/p-faa512fd.entry.js +1 -0
  424. package/dist/tegel/tegel.esm.js +1 -1
  425. package/dist/types/components/datetime/datetime.d.ts +3 -0
  426. package/dist/types/components/side-menu/side-menu-close-button/side-menu-close-button.d.ts +1 -0
  427. package/dist/types/components/side-menu/side-menu-dropdown/side-menu-dropdown.d.ts +1 -0
  428. package/dist/types/components/side-menu/side-menu.d.ts +6 -0
  429. package/dist/types/components/slider/slider.d.ts +10 -1
  430. package/dist/types/components/stepper/stepper.d.ts +1 -1
  431. package/dist/types/components/textarea/textarea.d.ts +1 -0
  432. package/dist/types/components.d.ts +32 -8
  433. package/package.json +1 -1
  434. package/dist/tegel/p-28cf7204.entry.js +0 -1
  435. package/dist/tegel/p-302fea99.entry.js +0 -1
  436. package/dist/tegel/p-32be63ea.entry.js +0 -1
  437. package/dist/tegel/p-3c2f7033.entry.js +0 -1
  438. package/dist/tegel/p-4a7a977b.entry.js +0 -1
  439. package/dist/tegel/p-4d5963d0.entry.js +0 -1
  440. package/dist/tegel/p-4fe6512b.entry.js +0 -1
  441. package/dist/tegel/p-6f17d37f.entry.js +0 -1
  442. package/dist/tegel/p-77c79b91.entry.js +0 -1
  443. package/dist/tegel/p-848c2732.entry.js +0 -1
  444. package/dist/tegel/p-868757d9.entry.js +0 -1
  445. package/dist/tegel/p-ae46766a.entry.js +0 -1
  446. package/dist/tegel/p-b08886e3.entry.js +0 -1
  447. package/dist/tegel/p-b9576881.entry.js +0 -1
  448. package/dist/tegel/p-bee533b5.entry.js +0 -1
  449. package/dist/tegel/p-c8404432.entry.js +0 -1
  450. package/dist/tegel/p-cc6c06e3.entry.js +0 -1
  451. package/dist/tegel/p-ceab8f75.entry.js +0 -1
  452. package/dist/tegel/p-d9511720.entry.js +0 -1
  453. package/dist/tegel/p-fc6196c4.entry.js +0 -1
@@ -9,10 +9,10 @@ const TdsPopoverMenuItem = class {
9
9
  this.disabled = false;
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: 'e8b4cebbe7ddcda36aab323b783e506b9e3b0e68', role: "menuitem", "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: 'e963177a2784af572bdeaf6e1ac8e889e51a82ae', class: {
12
+ return (h(Host, { key: '189497fe898065e585b2bf342611716b7b44778b', role: "menuitem", "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: '5904e5da7c9f4cfe1a35df1b5b1549a8a4c501a9', class: {
13
13
  wrapper: true,
14
14
  disabled: this.disabled,
15
- } }, h("slot", { key: 'f56208065089cbc0d33ad101e760b2c4c51c2368' }))));
15
+ } }, h("slot", { key: 'ddacc7938ca455a8151b2e46449414146073b045' }))));
16
16
  }
17
17
  };
18
18
  TdsPopoverMenuItem.style = TdsPopoverMenuItemStyle0;
@@ -29,13 +29,13 @@ const TdsPopoverMenu = class {
29
29
  }
30
30
  render() {
31
31
  var _a;
32
- return (h(Host, { key: '23d3cab59b3fec06209d158932c3f7ad1dfd71d7' }, h("tds-popover-core", { key: '1d6f9bec1dfa2c811d69915f849467d8da8f0095', class: {
32
+ return (h(Host, { key: '060c32c47620cd2c157ef32011c4f3b00287fb1e' }, h("tds-popover-core", { key: 'a497fe186fdf591c1ceeb72baabf34e59acccff4', class: {
33
33
  'tds-popover-menu': true,
34
34
  [(_a = this.inheritedAttributes.class) !== null && _a !== void 0 ? _a : '']: true,
35
35
  'fluid-width': this.fluidWidth,
36
36
  }, selector: this.selector, referenceEl: this.referenceEl, show: this.show, placement: this.placement, offsetSkidding: this.offsetSkidding, offsetDistance: this.offsetDistance, ref: (el) => {
37
37
  this.childRef = el;
38
- }, defaultShow: this.defaultShow, animation: this.animation }, h("div", { key: '454814b16f594bec72be5cdc608c00109c71b0d1', role: "menu" }, h("slot", { key: 'c07aec34795f83fa2d0d18b63bac458ed7044f9a' })))));
38
+ }, defaultShow: this.defaultShow, animation: this.animation }, h("div", { key: 'bf01a37fa77f72d7fab85644892552a84c3170f8', role: "menu" }, h("slot", { key: 'a1c065153ecaf6b9828785bfac4366852142117d' })))));
39
39
  }
40
40
  get host() { return getElement(this); }
41
41
  };
@@ -24,7 +24,7 @@ const TdsRadioButton = class {
24
24
  this.tdsTabIndex = undefined;
25
25
  }
26
26
  render() {
27
- return (h("div", { key: '4fbbd82a09e16551774b0b81eefa4f8e54ea3650', class: "tds-radio-button" }, h("input", { key: 'c7da40a753c5c7116810918e6349076bd9fdbb53', "aria-label": this.tdsAriaLabel, class: "tds-form-input", type: "radio", role: "radio", name: this.name, id: this.radioId, value: this.value, checked: this.checked, "aria-checked": this.checked, required: this.required, disabled: this.disabled, onChange: () => this.handleChange(), tabIndex: this.tdsTabIndex }), h("label", { key: '869ccd92f5b77a5475d409ae6b2f6d20df37c72d', htmlFor: this.radioId }, h("slot", { key: 'bdeabd6fe808498a0b2b08edb4a7ec33e6953ffe', name: "label" }))));
27
+ return (h("div", { key: 'c0a495e27c2ed9950f291e3e34c4cc9a75f7265c', class: "tds-radio-button" }, h("input", { key: 'c475a6a22dbbac7badbb21ede05ec2dbfb61af1d', "aria-label": this.tdsAriaLabel, class: "tds-form-input", type: "radio", role: "radio", name: this.name, id: this.radioId, value: this.value, checked: this.checked, "aria-checked": this.checked, required: this.required, disabled: this.disabled, onChange: () => this.handleChange(), tabIndex: this.tdsTabIndex }), h("label", { key: '3e17eb0b58d37fe5c6fa5574e9884635a33dca12', htmlFor: this.radioId }, h("slot", { key: 'ef9537b996262e352c168bea6e5d51348bb7bf88', name: "label" }))));
28
28
  }
29
29
  get host() { return getElement(this); }
30
30
  };
@@ -9,9 +9,18 @@ const TdsSideMenuCloseButton = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
11
  }
12
+ static handleClick() {
13
+ const hamburgerButton = document.querySelector('tds-header-hamburger');
14
+ if (hamburgerButton) {
15
+ hamburgerButton.setAttribute('aria-expanded', 'false');
16
+ }
17
+ }
12
18
  render() {
13
- const buttonProps = Object.assign({ 'aria-label': 'Close' }, inheritAriaAttributes(this.host));
14
- return (h(Host, { key: '6c4db6a1d905c8d7d543f5722da9e069b131e20a' }, h("button", Object.assign({ key: '5f3ca6918e43ea48a92d2236c246e1463b90b9b8' }, buttonProps), h("tds-icon", { key: '901137cf1ab11a88edf37878af79e22e098e44d7', name: "cross", size: "20px" }))));
19
+ // Find the closest side menu to this close button
20
+ const sideMenuEl = this.host.closest('tds-side-menu');
21
+ const sideMenuId = sideMenuEl ? sideMenuEl.id : '';
22
+ const buttonProps = Object.assign(Object.assign(Object.assign({ 'aria-label': 'Close' }, (sideMenuId && { 'aria-controls': sideMenuId })), inheritAriaAttributes(this.host)), { 'onClick': TdsSideMenuCloseButton.handleClick });
23
+ return (h(Host, { key: 'de98375064e94f8bfc19a60db7464c6b1c20a46f' }, h("button", Object.assign({ key: '4b9284c8b220d5b9fb0d1e3b346a5dfc209e59e2' }, buttonProps), h("tds-icon", { key: '78a639c37f7a307f42ce68ec239b28c6da8a3221', name: "cross", size: "20px", svgTitle: "Cross" }))));
15
24
  }
16
25
  get host() { return getElement(this); }
17
26
  };
@@ -32,14 +32,14 @@ const TdsSideMenuCollapseButton = class {
32
32
  this.collapsed = this.sideMenuEl.collapsed;
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: '8f904a9975e844929bfae7227d2cae9115a7ec3a', role: "button", tabindex: "0", onClick: () => {
35
+ return (h(Host, { key: 'a4ee76e648caf4eb8fb893b66424c89b814184bd', role: "button", tabindex: "0", "aria-expanded": !this.collapsed ? 'true' : 'false', onClick: () => {
36
36
  this.handleClick();
37
- } }, h("div", { key: 'bde9dea007da8415ce2fa2f716630759d7576bb3', class: {
37
+ } }, h("div", { key: '8e828ca95162a91b3831a1b70513ebc553ff8f82', class: {
38
38
  'wrapper': true,
39
39
  'state-collapsed': this.collapsed,
40
- } }, h("tds-side-menu-item", { key: 'ebe63792b95a523483b68ccc762e0dbd9f325d23', class: {
40
+ } }, h("tds-side-menu-item", { key: '39097fc5e89662d5eeff1c090488aa899e085ee1', class: {
41
41
  button: true,
42
- } }, h("a", { key: '353ee11ff76a3a87ddf0602e65d8e072a2697d6b' }, h("svg", { key: 'e7c25fdd0b32d580e0aa19314864f65bd91c14c6', class: "icon", slot: "icon", fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { key: '007239f3e9e5478ba63fee6422f30c84e678b961', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16 1.975a1 1 0 0 1 1 1v20.3l9.311-9.312a1 1 0 0 1 1.415 1.414l-9.887 9.887a2.6 2.6 0 0 1-3.677 0l-9.887-9.887a1 1 0 1 1 1.414-1.414L15 23.274V2.975a1 1 0 0 1 1-1ZM5.188 28.001a1 1 0 0 0 0 2h21.62a1 1 0 1 0 0-2H5.188Z", fill: "currentColor" })), !this.collapsed && h("slot", { key: 'd3639c51f6185bf7a1144a346731fe25ac9d22c1' }))))));
42
+ } }, h("a", { key: '8e50dee96f2b4b48abfd9059c30d5f98b48c2c9f' }, h("svg", { key: '3328aeb12c095e5fe79abb9b64e6d0e1a218ad73', class: "icon", slot: "icon", fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { key: '44188ee11d944974022612677a88d357c0c2392d', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16 1.975a1 1 0 0 1 1 1v20.3l9.311-9.312a1 1 0 0 1 1.415 1.414l-9.887 9.887a2.6 2.6 0 0 1-3.677 0l-9.887-9.887a1 1 0 1 1 1.414-1.414L15 23.274V2.975a1 1 0 0 1 1-1ZM5.188 28.001a1 1 0 0 0 0 2h21.62a1 1 0 1 0 0-2H5.188Z", fill: "currentColor" })), !this.collapsed && h("slot", { key: '7666cefb4f60a813398bbd5acb797981f0f856de' }))))));
43
43
  }
44
44
  get host() { return getElement(this); }
45
45
  };
@@ -30,12 +30,12 @@ const TdsSideMenuDropdownListItem = class {
30
30
  }
31
31
  }
32
32
  render() {
33
- return (h(Host, { key: 'd3e238a1c5727f0b58e96883b0318fbeaf549e24', role: "listitem" }, h("div", { key: '4cbcc88749079ff1300c4182e68cecc69ce6bddf', class: {
33
+ return (h(Host, { key: '3cef6b5d19a0fbfe5df1d10addb1f3f53921040e', role: "listitem" }, h("div", { key: '34de00792e93179c489110027288043bf3262c6e', class: {
34
34
  'component': true,
35
35
  'component-selected': this.selected,
36
36
  'component-dropdown-has-icon': this.dropdownHasIcon,
37
37
  'component-collapsed': this.collapsed,
38
- } }, h("slot", { key: 'a2e2349fd9c1eb9fc34ebe77ed84b48878d649ea' }))));
38
+ } }, h("slot", { key: '70d607d2dcbe976273e58cbab79772b186d07a35' }))));
39
39
  }
40
40
  get host() { return getElement(this); }
41
41
  };
@@ -17,9 +17,9 @@ const TdsSideMenuDropdownList = class {
17
17
  this.collapsed = (_a = this.sideMenuEl) === null || _a === void 0 ? void 0 : _a.collapsed;
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: 'dbe0a35cff13d1eaa2eea5afd744084b75ab4dd7', role: "list" }, h("div", { key: 'a0e7e86f42d1f95df8fd8e123458e26da589d979', class: {
20
+ return (h(Host, { key: '38e9f561720b3a68528ae69878138ea8e9085e3c', role: "list", "aria-expanded": !this.collapsed ? 'true' : 'false' }, h("div", { key: '9f2e5ea13fe7f4483ae07d5a58208b27a64bbd1b', class: {
21
21
  'state-collapsed': this.collapsed,
22
- } }, h("slot", { key: 'e569d7bfbdcaeb80a00efe21ab52690733475574' }))));
22
+ } }, h("slot", { key: '10543e9547fc64683e4f96e0ecb72ff82e3ed3ad' }))));
23
23
  }
24
24
  get host() { return getElement(this); }
25
25
  };
@@ -28,6 +28,12 @@ const TdsSideMenuDropdown = class {
28
28
  onEventBlur() {
29
29
  this.setHoverStateClosed();
30
30
  }
31
+ handleKeyDown(event) {
32
+ if (event.key === 'Enter' || event.key === ' ') {
33
+ event.preventDefault();
34
+ this.open = !this.open;
35
+ }
36
+ }
31
37
  setHoverStateOpen() {
32
38
  this.hoverState = { isHovered: true, updatedAt: Date.now() };
33
39
  }
@@ -50,13 +56,13 @@ const TdsSideMenuDropdown = class {
50
56
  this.open = this.defaultOpen;
51
57
  }
52
58
  render() {
53
- return (h(Host, { key: 'f794fb5b7ed319fc513804df11b2f6122a38138c' }, h("div", { key: 'e451cc6decc88a314354f246c7c9a899473a5b0a', class: {
59
+ return (h(Host, { key: '2c3887fe8ec9334f7f3b3f46b3bce64712957ae3' }, h("div", { key: 'bedb9fc6f22d0c608b77c2d0d2fe7c8c17eadd59', class: {
54
60
  'wrapper': true,
55
61
  'state-open': this.getIsOpenState(),
56
62
  'state-collapsed': this.collapsed,
57
- } }, h("tds-side-menu-item", { key: '1cbb052c9a65d8a560447354342955b1de246c82', class: "button", active: this.getIsOpenState(), selected: this.selected, onClick: () => {
63
+ } }, h("tds-side-menu-item", { key: '83cb1486e99c0f699b02be91bf53df1249076902', class: "button", active: this.getIsOpenState(), selected: this.selected, onClick: () => {
58
64
  this.open = !this.open;
59
- } }, h("button", { key: '1b39ec0c0eba39609a3e263fe8a30d7529a1ba68' }, h("slot", { key: '61432ad1590e34b3f736f49a4b882aa52b8ccd1d', name: "icon" }), !this.collapsed && (h(Fragment, { key: '8d1b5f053c630c142926fc6853312728f4edaaa3' }, this.buttonLabel, h("slot", { key: '204b4e1426221221a2bff1267d20ee5ccc6808dc', name: "label" }), h("tds-icon", { key: 'f06e41abf9ea5f2c5c0609034ba67acebafdd6db', class: "dropdown-icon", name: "chevron_down", size: "16px" }))))), h("div", { key: 'bdb81ba6f524ed42def95629f647bcb051a09af2', class: "menu" }, this.collapsed && (h("h3", { key: '5ab3130f41e0ddcc6bc518d18ff884d877d6f6ec', class: "heading-collapsed" }, this.buttonLabel, h("slot", { key: '209d7c4b63fde57eeed388c4e74e9b95e92fc946', name: "label" }))), h("slot", { key: '0585ade48d3cedee0761b0afcbecf72d2203f72b' })))));
65
+ }, "aria-expanded": this.getIsOpenState() ? 'true' : 'false' }, h("button", { key: 'e21c03415c48022813b3289f8dd80f21486414f0' }, h("slot", { key: '4462d95bf8e7945741cb54d9f363b8d9cac158e0', name: "icon" }), !this.collapsed && (h(Fragment, { key: '1a65252df105ef6ad9bca35f873fe19e71289b80' }, this.buttonLabel, h("slot", { key: 'e35a184bae5c65fde366ed287062becbc6633cac', name: "label" }), h("tds-icon", { key: '7a4328715c67aaf91a3675574f5aadca9ce8ae3d', class: "dropdown-icon", name: "chevron_down", size: "16px", svgTitle: "Chevron Down" }))))), h("div", { key: '1e4e674c5e9b8901b5306bee36bf121aa37112e3', class: "menu", tabindex: this.collapsed ? '0' : null }, this.collapsed && (h("h3", { key: '54a5f5f89d595aeae6ac6e41ac553e96466fe4a1', class: "heading-collapsed" }, this.buttonLabel, h("slot", { key: '20477b6be2c477c48412d0f4bc34f1181bcb00d3', name: "label" }))), h("slot", { key: '9740e5c9cb493e52c104223ec62b47bffc8adc5d' })))));
60
66
  }
61
67
  get host() { return getElement(this); }
62
68
  };
@@ -56,12 +56,12 @@ const TdsSideMenuItem = class {
56
56
  this.updateSlottedElements();
57
57
  }
58
58
  render() {
59
- return (h(Host, { key: '47e9325f6606cb06ce21676b12b9123bb5147501' }, h("div", { key: 'b0309c6d2242d862a3c91fe0f8e94af73af915d5', class: {
59
+ return (h(Host, { key: '0c9290486534fe72176fd531e9c1946358984c3a' }, h("div", { key: 'e215756bc01214c4de39702eec972ccb84a58d2d', class: {
60
60
  'component': true,
61
61
  'component-selected': this.selected,
62
62
  'component-active': this.active,
63
63
  'component-collapsed': this.collapsed,
64
- } }, h("slot", { key: 'f96fa0078d9d2da5f76edb05d91cb5eb19dd01fb' }))));
64
+ } }, h("slot", { key: 'c461a28519b6632322b872b71407ee82ed82a950' }))));
65
65
  }
66
66
  get host() { return getElement(this); }
67
67
  };
@@ -8,7 +8,7 @@ const TdsSideMenuOverlay = class {
8
8
  registerInstance(this, hostRef);
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '8aca5ce28c04cf2a6d5862a60f33ad73ee39ace9' }, h("div", { key: '302378bd95a8e54049c42e033a82cd4b82c18a5a' })));
11
+ return (h(Host, { key: '15e4b102af83962079d9bc9104c3e4d243cea947' }, h("div", { key: '52ed88b0ccf8ae02c3d83849f610475b0ad55065' })));
12
12
  }
13
13
  };
14
14
  TdsSideMenuOverlay.style = TdsSideMenuOverlayStyle0;
@@ -10,7 +10,7 @@ const TdsSideMenuUserImage = class {
10
10
  this.alt = undefined;
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'ea8f9c51aefab60fd2c32cee1be0344ec3fc6751' }, h("slot", { key: 'ae8fb3c065544aeb6c4737789e1dfefd5eb3a947' }), this.src && h("img", { key: '7b0b888ccaef7e1f40e82eb46c3bc09b78c92d0f', src: this.src, alt: this.alt })));
13
+ return (h(Host, { key: '62b6a38f0705b052cb4d5b9379bc77662f66c505' }, h("slot", { key: '99aeba48272e512ce419a934cb4147052a5e0190' }), this.src && h("img", { key: '352e0a3f93558b298835afbfe72193cdbebcffa4', src: this.src, alt: this.alt })));
14
14
  }
15
15
  };
16
16
  TdsSideMenuUserImage.style = TdsSideMenuUserImageStyle0;
@@ -25,7 +25,7 @@ const TdsSideMenuUserLabel = class {
25
25
  this.subheading = undefined;
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '7bac8221992109403d3f0506b7f0125a0b77b6d4' }, this.heading, this.subheading && h("div", { key: 'b9137e36496fb7fc10da067ea61596da2a38fa9d', class: "subheading" }, this.subheading)));
28
+ return (h(Host, { key: '5b045eb527ee378f50f6a1bec3a383b9c0f352ef' }, this.heading, this.subheading && h("div", { key: '3e106d0bdbe62438e8d2edbf73f43324cb78ffdd', class: "subheading" }, this.subheading)));
29
29
  }
30
30
  };
31
31
  TdsSideMenuUserLabel.style = TdsSideMenuUserLabelStyle0;
@@ -12,7 +12,7 @@ const TdsSideMenuUser = class {
12
12
  this.imgAlt = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'a2e676265c9785f8a5b7b8a5215993e6e2e32920' }, h("tds-side-menu-user-image", { key: 'fb701c03e2eaa91219fc9cb73c6f4c74eb8283e8', src: this.imgSrc, alt: this.imgAlt }, h("slot", { key: '9843e8b1007289ff4195f72582c0999069d1dd39', name: "image" })), h("tds-side-menu-user-label", { key: 'e6f60cd03846a92e7174a08b1e6513f91e71f919', heading: this.heading, subheading: this.subheading })));
15
+ return (h(Host, { key: 'fe3a852379cfa0e6822cac54e84937b5c8365115' }, h("tds-side-menu-user-image", { key: 'd5c702b1f3dcc8d2d46d411c72e13becaab1062d', src: this.imgSrc, alt: this.imgAlt }, h("slot", { key: '4ded196cd1d6ab0e13488787bbb1d4aa5feb3ebd', name: "image" })), h("tds-side-menu-user-label", { key: 'efee803dbe911144f11660ff1529a2de8c3cca62', heading: this.heading, subheading: this.subheading })));
16
16
  }
17
17
  };
18
18
  TdsSideMenuUser.style = TdsSideMenuUserStyle0;
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-51d04e39.js';
2
2
 
3
- const sideMenuCss = ":host{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}:host{pointer-events:none;display:block;position:fixed;top:0;width:100%;height:100%;z-index:500}:host .wrapper{height:inherit;}:host .wrapper slot:not([name])::slotted(*){border-bottom:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host .wrapper ::slotted([slot=end]){border-top:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host .wrapper .tds-side-menu-list-end{margin-top:68px}:host .state-closed{display:none}:host .state-open slot[name=overlay]::slotted(tds-side-menu-overlay){opacity:0.4}:host .state-open slot[name=close-button]::slotted(tds-side-menu-close-button){opacity:1}:host .state-upper-slot-empty .tds-side-menu-list-upper{display:none}:host .state-upper-slot-empty .tds-side-menu-list-end{margin-top:0}:host .state-upper-slot-empty ::slotted([slot=end]){border-top:none;border-bottom:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}@media (max-width: 992px){:host(.menu-opened){pointer-events:auto;z-index:500}}@media (min-width: 992px){:host(.menu-persistent){pointer-events:auto;position:static;width:272px;height:auto;border-right:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host(.menu-persistent) .wrapper slot[name=overlay]::slotted(tds-side-menu-overlay){display:none}:host(.menu-persistent) .wrapper slot[name=close-button]::slotted(tds-side-menu-close-button){display:none}:host(.menu-persistent) .menu{width:272px}:host(.menu-persistent) .state-closed{display:block}:host(.menu-persistent):host(.menu-collapsed){width:69px;box-sizing:border-box}:host(.menu-persistent):host(.menu-collapsed) .menu{width:68px}:host(.menu-persistent) slot[name=end]::slotted(*){display:none}}.menu{width:80%;height:inherit;position:relative;left:0;display:flex;flex-direction:column;justify-content:space-between}.menu *{padding:0;margin:0;box-sizing:border-box}@media (max-width: 384px){.menu{width:100%}}aside .tds-side-menu-wrapper{display:flex;justify-content:space-between;flex-direction:column;flex-grow:1;background-color:var(--tds-sidebar-side-menu-background-cover);overflow-y:auto}aside .tds-side-menu-wrapper:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background:var(--tds-scrollbar-hover-thumb-color);background-clip:padding-box}aside .tds-side-menu-wrapper::-webkit-scrollbar{width:var(--tds-scrollbar-width)}aside .tds-side-menu-wrapper::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}aside .tds-side-menu-wrapper::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}aside .tds-side-menu-wrapper::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){aside .tds-side-menu-wrapper{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}";
3
+ const sideMenuCss = ":host{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}:host{pointer-events:none;display:block;position:fixed;top:0;width:100%;height:100%;z-index:500}:host .wrapper{height:inherit;}:host .wrapper slot:not([name])::slotted(*){border-bottom:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host .wrapper ::slotted([slot=end]){border-top:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host .wrapper .tds-side-menu-list-end{margin-top:68px}:host .state-closed{display:none}:host .state-open slot[name=overlay]::slotted(tds-side-menu-overlay){opacity:0.4}:host .state-open slot[name=close-button]::slotted(tds-side-menu-close-button){opacity:1}:host .state-upper-slot-empty .tds-side-menu-list-upper{display:none}:host .state-upper-slot-empty .tds-side-menu-list-end{margin-top:0}:host .state-upper-slot-empty ::slotted([slot=end]){border-top:none;border-bottom:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}@media (max-width: 992px){:host(.menu-opened){pointer-events:auto;z-index:500}}@media (min-width: 992px){:host(.menu-persistent){pointer-events:auto;position:static;width:272px;height:auto;border-right:1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top)}:host(.menu-persistent) .wrapper slot[name=overlay]::slotted(tds-side-menu-overlay){display:none}:host(.menu-persistent) .wrapper slot[name=close-button]::slotted(tds-side-menu-close-button){display:none}:host(.menu-persistent) .menu{width:272px}:host(.menu-persistent) .state-closed{display:block}:host(.menu-persistent):host(.menu-collapsed){width:69px;box-sizing:border-box}:host(.menu-persistent):host(.menu-collapsed) .menu{width:68px}:host(.menu-persistent) slot[name=end]::slotted(*){display:none}}.menu{width:80%;height:inherit;position:relative;left:0;display:flex;flex-direction:column;justify-content:space-between}.menu *{padding:0;margin:0;box-sizing:border-box}@media (max-width: 384px){.menu{width:100%}}aside .tds-side-menu-wrapper{display:flex;justify-content:space-between;flex-direction:column;flex-grow:1;background-color:var(--tds-sidebar-side-menu-background-cover);overflow-y:auto}aside .tds-side-menu-wrapper:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background:var(--tds-scrollbar-hover-thumb-color);background-clip:padding-box}aside .tds-side-menu-wrapper::-webkit-scrollbar{width:var(--tds-scrollbar-width)}aside .tds-side-menu-wrapper::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}aside .tds-side-menu-wrapper::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}aside .tds-side-menu-wrapper::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){aside .tds-side-menu-wrapper{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}aside [role=navigation]{height:100%;display:flex;flex-direction:column}aside li{list-style:none;padding:0;margin:0}";
4
4
  const TdsSideMenuStyle0 = sideMenuCss;
5
5
 
6
6
  const GRID_LG_BREAKPOINT = 992;
@@ -25,6 +25,12 @@ const TdsSideMenu = class {
25
25
  this.isUpperSlotEmpty = false;
26
26
  this.isCollapsed = false;
27
27
  this.initialCollapsedState = false;
28
+ this.activeElementIndex = 0;
29
+ }
30
+ handleKeyDown(event) {
31
+ if (event.key === 'Escape' && this.open) {
32
+ this.open = false;
33
+ }
28
34
  }
29
35
  connectedCallback() {
30
36
  this.matchesLgBreakpointMq = window.matchMedia(`(min-width: ${GRID_LG_BREAKPOINT}px)`);
@@ -54,24 +60,98 @@ const TdsSideMenu = class {
54
60
  });
55
61
  this.isCollapsed = newVal;
56
62
  }
63
+ onOpenChange(newVal) {
64
+ if (newVal) {
65
+ // When menu opens, focus the first interactive element
66
+ setTimeout(() => {
67
+ const focusableElements = this.getFocusableElements();
68
+ if (focusableElements.length > 0) {
69
+ this.activeElementIndex = 0;
70
+ focusableElements[0].focus();
71
+ }
72
+ }, 100);
73
+ }
74
+ else {
75
+ // When menu closes, focus the hamburger button
76
+ const hamburgerComponent = document.querySelector('tds-header-hamburger');
77
+ if (hamburgerComponent && hamburgerComponent.shadowRoot) {
78
+ const hamburgerButton = hamburgerComponent.shadowRoot.querySelector('button');
79
+ if (hamburgerButton) {
80
+ hamburgerButton.focus();
81
+ }
82
+ }
83
+ }
84
+ }
85
+ getFocusableElements() {
86
+ var _a;
87
+ const focusableSelectors = [
88
+ 'a[href]',
89
+ 'button:not([disabled])',
90
+ 'textarea:not([disabled])',
91
+ 'input:not([disabled])',
92
+ 'select:not([disabled])',
93
+ '[tabindex]:not([tabindex="-1"])',
94
+ ].join(',');
95
+ const focusableInShadowRoot = Array.from(this.host.shadowRoot.querySelectorAll(focusableSelectors));
96
+ const focusableInSlots = Array.from(this.host.querySelectorAll(focusableSelectors));
97
+ const closeBtn = (_a = this.host
98
+ .querySelector('[slot="close-button"]')) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector('button');
99
+ let focusableElements = [...focusableInShadowRoot, ...focusableInSlots];
100
+ if (closeBtn)
101
+ focusableElements.push(closeBtn);
102
+ /** Focusable elements */
103
+ return focusableElements;
104
+ }
105
+ handleFocusTrap(event) {
106
+ // Only trap focus if the menu is open
107
+ if (!this.open)
108
+ return;
109
+ // We care only about the Tab key
110
+ if (event.key !== 'Tab')
111
+ return;
112
+ const focusableElements = this.getFocusableElements();
113
+ // If there are no focusable elements
114
+ if (focusableElements.length === 0)
115
+ return;
116
+ // Prevent default tab behavior
117
+ event.preventDefault();
118
+ // Going backwards (Shift + Tab) on the first element => move to last
119
+ if (event.shiftKey) {
120
+ this.activeElementIndex -= 1;
121
+ if (this.activeElementIndex < 0) {
122
+ this.activeElementIndex = focusableElements.length - 1;
123
+ }
124
+ }
125
+ // Going forwards (Tab) on the last element => move to first
126
+ else {
127
+ this.activeElementIndex += 1;
128
+ if (this.activeElementIndex >= focusableElements.length) {
129
+ this.activeElementIndex = 0;
130
+ }
131
+ }
132
+ // Focus the next element
133
+ const nextElement = focusableElements[this.activeElementIndex];
134
+ nextElement.focus();
135
+ }
57
136
  collapsedSideMenuEventHandler(event) {
58
137
  this.collapsed = event.detail.collapsed;
59
138
  }
60
139
  render() {
61
- return (h(Host, { key: 'ed2a20dcd884744ac411ea9e51903f0fb8120c90', role: "navigation", class: {
140
+ return (h(Host, { key: '2c0eb423b3d2017d5872251ede6f72803e9ef801', class: {
62
141
  'menu-opened': this.open,
63
142
  'menu-persistent': this.persistent,
64
143
  'menu-collapsed': this.collapsed,
65
- } }, h("div", { key: 'bf4c5f42a4ee78f5e6af782bcf4382a5d5978f3c', class: {
144
+ }, "aria-expanded": !this.collapsed ? 'true' : 'false' }, h("div", { key: 'c97b41b370acad34053e859d5462bf0065df8c37', class: {
66
145
  'wrapper': true,
67
146
  'state-upper-slot-empty': this.isUpperSlotEmpty,
68
147
  'state-open': this.open,
69
148
  'state-closed': !this.open,
70
- } }, h("slot", { key: '7ba1a82ae21a7c2a22c2a470c67ed5acc0dfcad9', name: "overlay" }), h("aside", { key: 'c794132de394376c6b525cee5c1e58939c9159b5', class: `menu` }, h("slot", { key: 'ebd07545d79267ea3daa8a931eca6e46431a8993', name: "close-button" }), h("div", { key: '4d19ee85e6ae60ad4a745169e3690d022db26871', class: "tds-side-menu-wrapper" }, h("ul", { key: '055d5d0004aecbfa6abf5ff83025ce147b941ce0', class: `tds-side-menu-list tds-side-menu-list-upper` }, h("slot", { key: 'e8e8827959284214c469edd16b8b2ccb7e0f2daa' })), h("ul", { key: 'c1b4f82c9446e11c4d454336690c4b71998bdffd', class: `tds-side-menu-list tds-side-menu-list-end` }, h("slot", { key: 'ee1d129567b8c11b9355dfbfebffa76674f8d281', name: "end" }))), h("slot", { key: '3b320259f8ea48744d3698e7271931671810f1b9', name: "sticky-end" })))));
149
+ } }, h("slot", { key: 'fbeb52ca602ec7277c7f9f61e4b7888a9c061f54', name: "overlay" }), h("aside", { key: '80056ecb45a908d9df923b37f1cd08bd1c104845', class: `menu` }, h("div", { key: 'b5683b57e67bd3d87d9cbfb697d9efbd17971dcc', role: "navigation" }, h("slot", { key: '21906bb776f9e967fd9a3cd377862bfa80311436', name: "close-button" }), h("div", { key: '7f6f34765d5b2fb63200fac39cded13fbf8154bf', class: "tds-side-menu-wrapper" }, h("ul", { key: '4a84684539fafcdf1e0d547ff73b288122e2e59e', class: `tds-side-menu-list tds-side-menu-list-upper` }, h("li", { key: '1b059f2100a6d28c4663c7251d2403b6abec3bc9' }, h("slot", { key: '851db0c06001297a09ed8a3931d095fe16269c0b' }))), h("ul", { key: '653046a5df1ebedb34b3a3745ea147a7cde82e00', class: `tds-side-menu-list tds-side-menu-list-end` }, h("li", { key: '7f79b3852859db84455d9d0b706a7bda1e057c4f' }, h("slot", { key: 'fdc0d6cd8000bb665ddcf4e1330a418ae75b1d12', name: "end" })))), h("slot", { key: 'a23279772a62b667ac167aaec1bfc908420c809d', name: "sticky-end" }))))));
71
150
  }
72
151
  get host() { return getElement(this); }
73
152
  static get watchers() { return {
74
- "collapsed": ["onCollapsedChange"]
153
+ "collapsed": ["onCollapsedChange"],
154
+ "open": ["onOpenChange"]
75
155
  }; }
76
156
  };
77
157
  TdsSideMenu.style = TdsSideMenuStyle0;
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-51d04e39.js';
2
2
  import { g as generateUniqueId } from './generateUniqueId-7934d315.js';
3
3
 
4
- const sliderCss = "tds-slider{box-sizing:border-box;width:100%}tds-slider *{box-sizing:border-box}tds-slider input[type=range].tds-slider-native-element{display:none}.tds-slider-wrapper{width:100%}.tds-slider-wrapper.read-only{pointer-events:none}.tds-slider{width:100%;display:flex;flex-wrap:nowrap;padding-top:65px}.tds-slider .tds-slider-inner{width:100%;height:20px;position:relative}.tds-slider .tds-slider__controls{position:relative;top:-25px}.tds-slider .tds-slider__controls .tds-slider__control{cursor:pointer}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus{padding:18px 18px 18px 0}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus{padding:18px 0 18px 18px}.tds-slider .tds-slider__input-values{position:relative;top:-25px;display:flex;flex-wrap:nowrap;align-items:center}.tds-slider .tds-slider__input-values .tds-slider__input-value{user-select:none;padding:18px;color:var(--tds-grey-700);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls)}.tds-slider .tds-slider__input-values .tds-slider__input-value.min-value{padding-left:0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper{background-color:var(--tds-slider-inputfield-background);display:flex;align-items:center;justify-content:center;border-radius:4px 4px 0 0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field{font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);color:var(--tds-slider-input-inputfield-color);border:0;background-color:transparent;text-align:center;padding:12px;box-shadow:inset 0 -1px 0 var(--tds-slider-inputfield-box-shadow);border-radius:4px 4px 0 0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:hover{box-shadow:inset 0 -1px 0 var(--tds-grey-600)}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:focus{box-shadow:inset 0 -2px 0 var(--tds-blue-400);outline:0}.tds-slider label{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);user-select:none;position:absolute;color:var(--tds-slider-label-color);padding-bottom:16px;transform:translateY(-100%)}.tds-slider label.offset{padding-bottom:34px}.tds-slider .tds-slider__value{font:var(--tds-detail-01);letter-spacing:var(--tds-detail-01-ls);user-select:none;border-radius:4px;padding:8px;position:absolute;transform:translate(-50%, -100%);top:-24px;background-color:var(--tds-slider-value-tooltip-background);color:var(--tds-slider-value-tooltip-color)}.tds-slider .tds-slider__value svg{color:var(--tds-slider-value-tooltip-background);position:absolute;left:50%;transform:translateX(-50%);top:34px}.tds-slider .tds-slider__thumb{position:absolute}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner{width:20px;height:20px;border-radius:100%;background-color:var(--tds-slider-thumb-color);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);cursor:pointer}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner::before{content:\" \";display:none;width:48px;height:48px;background-color:var(--tds-slider-thumb-color);position:absolute;border-radius:100%;top:50%;left:50%;transform:translate(-50%, -50%)}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner:hover::before{display:block;opacity:0.08}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed{width:24px;height:24px}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed::before{display:block;opacity:0.16 !important}.tds-slider .tds-slider__value-dividers-wrapper{position:relative;width:100%;pointer-events:none}.tds-slider .tds-slider__value-dividers{pointer-events:none;position:absolute;display:flex;justify-content:space-between;width:100%}.tds-slider .tds-slider__value-dividers .tds-slider__value-divider{transform:translateY(-50%);height:16px;background-color:var(--tds-slider-divider-color);color:var(--tds-slider-divider-values-color);width:1px}.tds-slider .tds-slider__value-dividers .tds-slider__value-divider span{display:block;user-select:none;color:var(-tds-grey-700);font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);position:relative;top:-7px;left:50%;transform:translate(-50%, -100%);width:50px;text-align:center}.tds-slider .tds-slider__track{width:100%;height:2px;border-radius:1px;background-color:var(--tds-slider-track-color);position:relative;cursor:pointer}.tds-slider .tds-slider__track::after{content:\"\";position:absolute;left:0;right:0;top:-10px;bottom:-10px;cursor:pointer;z-index:0}.tds-slider .tds-slider__track:focus{outline:0}.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner{width:24px;height:24px}.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner::before{display:block;opacity:0.08}.tds-slider .tds-slider__track .tds-slider__track-fill{background-color:var(--tds-slider-track-fill-color);border-radius:2px;height:4px;position:absolute;left:0;top:-1px}.tds-slider .tds-slider__track .tds-slider__thumb{z-index:1}.tds-slider.disabled{cursor:not-allowed}.tds-slider.disabled>*{pointer-events:none}.tds-slider.disabled label{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-minus svg,.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-plus svg{fill:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-value{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper{pointer-events:none}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field{color:var(--tds-slider-disabled);pointer-events:none}.tds-slider.disabled .tds-slider__value{display:none}.tds-slider.disabled .tds-slider__track{cursor:not-allowed}.tds-slider.disabled .tds-slider__track .tds-slider__track-fill{background-color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__value-dividers .tds-slider__value-divider span{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__thumb{pointer-events:none}.tds-slider.disabled .tds-slider__thumb .tds-slider__thumb-inner{background-color:var(--tds-slider-disabled);cursor:default}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner{width:16px;height:16px}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner::before{width:40px;height:40px}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner.pressed{width:20px;height:20px}.tds-slider .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon,.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon{color:var(--tds-slider-controls-color)}.tds-slider.disabled .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon,.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon{color:var(--tds-slider-disabled)}";
4
+ const sliderCss = "tds-slider{box-sizing:border-box;width:100%}tds-slider *{box-sizing:border-box}tds-slider input[type=range].tds-slider-native-element{display:none}tds-slider .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.tds-slider-wrapper{width:100%}.tds-slider-wrapper.read-only{pointer-events:none}.tds-slider-wrapper:focus-within{outline:2px solid var(--tds-blue-400);outline-offset:2px;border-radius:var(--tds-spacing-element-4)}.tds-slider{width:100%;display:flex;flex-wrap:nowrap;padding-top:65px}.tds-slider .tds-slider-inner{width:100%;height:20px;position:relative}.tds-slider .tds-slider__controls{position:relative;top:-25px}.tds-slider .tds-slider__controls .tds-slider__control{cursor:pointer}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus{padding:18px 18px 18px 0}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus{padding:18px 0 18px 18px}.tds-slider .tds-slider__input-values{position:relative;top:-25px;display:flex;flex-wrap:nowrap;align-items:center}.tds-slider .tds-slider__input-values .tds-slider__input-value{user-select:none;padding:18px;color:var(--tds-grey-700);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls)}.tds-slider .tds-slider__input-values .tds-slider__input-value.min-value{padding-left:0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper{background-color:var(--tds-slider-inputfield-background);display:flex;align-items:center;justify-content:center;border-radius:4px 4px 0 0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field{font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);color:var(--tds-slider-input-inputfield-color);border:0;background-color:transparent;text-align:center;padding:12px;box-shadow:inset 0 -1px 0 var(--tds-slider-inputfield-box-shadow);border-radius:4px 4px 0 0}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:hover{box-shadow:inset 0 -1px 0 var(--tds-grey-600)}.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:focus{box-shadow:inset 0 -2px 0 var(--tds-blue-400);outline:0}.tds-slider label{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);user-select:none;position:absolute;color:var(--tds-slider-label-color);padding-bottom:16px;transform:translateY(-100%)}.tds-slider label.offset{padding-bottom:34px}.tds-slider .tds-slider__value{font:var(--tds-detail-01);letter-spacing:var(--tds-detail-01-ls);user-select:none;border-radius:4px;padding:8px;position:absolute;transform:translate(-50%, -100%);top:-24px;background-color:var(--tds-slider-value-tooltip-background);color:var(--tds-slider-value-tooltip-color)}.tds-slider .tds-slider__value svg{color:var(--tds-slider-value-tooltip-background);position:absolute;left:50%;transform:translateX(-50%);top:34px}.tds-slider .tds-slider__thumb{position:absolute}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner{width:20px;height:20px;border-radius:100%;background-color:var(--tds-slider-thumb-color);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);cursor:pointer}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner::before{content:\" \";display:none;width:48px;height:48px;background-color:var(--tds-slider-thumb-color);position:absolute;border-radius:100%;top:50%;left:50%;transform:translate(-50%, -50%)}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner:hover::before{display:block;opacity:0.08}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed{width:24px;height:24px}.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed::before{display:block;opacity:0.16 !important}.tds-slider .tds-slider__value-dividers-wrapper{position:relative;width:100%;pointer-events:none}.tds-slider .tds-slider__value-dividers{pointer-events:none;position:absolute;display:flex;justify-content:space-between;width:100%}.tds-slider .tds-slider__value-dividers .tds-slider__value-divider{transform:translateY(-50%);height:16px;background-color:var(--tds-slider-divider-color);color:var(--tds-slider-divider-values-color);width:1px}.tds-slider .tds-slider__value-dividers .tds-slider__value-divider span{display:block;user-select:none;color:var(-tds-grey-700);font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);position:relative;top:-7px;left:50%;transform:translate(-50%, -100%);width:50px;text-align:center}.tds-slider .tds-slider__track{width:100%;height:2px;border-radius:1px;background-color:var(--tds-slider-track-color);position:relative;cursor:pointer}.tds-slider .tds-slider__track::after{content:\"\";position:absolute;left:0;right:0;top:-10px;bottom:-10px;cursor:pointer;z-index:0}.tds-slider .tds-slider__track:focus{outline:0}.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner{width:24px;height:24px}.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner::before{display:block;opacity:0.08}.tds-slider .tds-slider__track .tds-slider__track-fill{background-color:var(--tds-slider-track-fill-color);border-radius:2px;height:4px;position:absolute;left:0;top:-1px}.tds-slider .tds-slider__track .tds-slider__thumb{z-index:1}.tds-slider.disabled{cursor:not-allowed}.tds-slider.disabled>*{pointer-events:none}.tds-slider.disabled label{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-minus svg,.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-plus svg{fill:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-value{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper{pointer-events:none}.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field{color:var(--tds-slider-disabled);pointer-events:none}.tds-slider.disabled .tds-slider__value{display:none}.tds-slider.disabled .tds-slider__track{cursor:not-allowed}.tds-slider.disabled .tds-slider__track .tds-slider__track-fill{background-color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__value-dividers .tds-slider__value-divider span{color:var(--tds-slider-disabled)}.tds-slider.disabled .tds-slider__thumb{pointer-events:none}.tds-slider.disabled .tds-slider__thumb .tds-slider__thumb-inner{background-color:var(--tds-slider-disabled);cursor:default}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner{width:16px;height:16px}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner::before{width:40px;height:40px}.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner.pressed{width:20px;height:20px}.tds-slider .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon,.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon{color:var(--tds-slider-controls-color)}.tds-slider.disabled .tds-slider__controls .tds-slider__control{cursor:default}.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon,.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon{color:var(--tds-slider-disabled)}";
5
5
  const TdsSliderStyle0 = sliderCss;
6
6
 
7
7
  const TdsSlider = class {
@@ -24,6 +24,8 @@ const TdsSlider = class {
24
24
  this.supposedValueSlot = -1;
25
25
  this.resizeObserverAdded = false;
26
26
  this.resetEventListenerAdded = false;
27
+ this.ariaLiveElement = null;
28
+ this.announcementDebounceTimeout = null;
27
29
  this.resetToInitialValue = () => {
28
30
  this.forceValueUpdate(this.initialValue);
29
31
  this.reset();
@@ -43,7 +45,9 @@ const TdsSlider = class {
43
45
  this.name = '';
44
46
  this.thumbSize = 'lg';
45
47
  this.snap = false;
48
+ this.tdsAriaLabel = '';
46
49
  this.sliderId = generateUniqueId();
50
+ this.tdsReadOnlyAriaLabel = '';
47
51
  }
48
52
  /** Public method to re-initialise the slider if some configuration props are changed */
49
53
  async reset() {
@@ -56,11 +60,21 @@ const TdsSlider = class {
56
60
  case 'ArrowDown':
57
61
  case '-':
58
62
  this.stepLeft(event);
63
+ this.announceValueChange();
59
64
  break;
60
65
  case 'ArrowRight':
61
66
  case 'ArrowUp':
62
67
  case '+':
63
68
  this.stepRight(event);
69
+ this.announceValueChange();
70
+ break;
71
+ case 'Home':
72
+ this.setToMinValue();
73
+ this.announceValueChange();
74
+ break;
75
+ case 'End':
76
+ this.setToMaxValue();
77
+ this.announceValueChange();
64
78
  break;
65
79
  }
66
80
  }
@@ -75,6 +89,9 @@ const TdsSlider = class {
75
89
  }
76
90
  this.thumbGrabbed = false;
77
91
  this.thumbInnerElement.classList.remove('pressed');
92
+ if (this.thumbElement) {
93
+ this.thumbElement.setAttribute('aria-grabbed', 'false');
94
+ }
78
95
  this.updateValue(event);
79
96
  this.trackElement.focus();
80
97
  }
@@ -89,6 +106,18 @@ const TdsSlider = class {
89
106
  this.value = newValue;
90
107
  this.updateTrack();
91
108
  }
109
+ setToMinValue() {
110
+ if (this.readOnly || this.disabled) {
111
+ return;
112
+ }
113
+ this.forceValueUpdate(this.min);
114
+ }
115
+ setToMaxValue() {
116
+ if (this.readOnly || this.disabled) {
117
+ return;
118
+ }
119
+ this.forceValueUpdate(this.max);
120
+ }
92
121
  updateSupposedValueSlot(localLeft) {
93
122
  const numTicks = parseInt(this.ticks);
94
123
  const trackWidth = this.getTrackWidth();
@@ -134,6 +163,15 @@ const TdsSlider = class {
134
163
  this.trackFillElement.style.width = `${percentageFilled}%`;
135
164
  }
136
165
  }
166
+ announceValueChange() {
167
+ if (!this.ariaLiveElement)
168
+ return;
169
+ // Debounce announcements to prevent too many rapid announcements
170
+ clearTimeout(this.announcementDebounceTimeout);
171
+ this.announcementDebounceTimeout = setTimeout(() => {
172
+ this.ariaLiveElement.textContent = `${this.label ? this.label + ' ' : ''}${this.value} of ${this.max}`;
173
+ }, 50);
174
+ }
137
175
  updateValue(event) {
138
176
  const trackWidth = this.getTrackWidth();
139
177
  const min = parseFloat(this.min);
@@ -152,17 +190,29 @@ const TdsSlider = class {
152
190
  this.value = Math.round(calculatedValue).toString();
153
191
  }
154
192
  this.updateTrack();
193
+ // Update ARIA attributes
194
+ if (this.thumbElement) {
195
+ this.thumbElement.setAttribute('aria-valuenow', this.value);
196
+ this.thumbElement.setAttribute('aria-valuetext', `${this.value} of ${this.max}`);
197
+ }
155
198
  this.tdsInput.emit({ value: this.value });
156
199
  /* Emit event after user has finished dragging the thumb */
157
200
  if (event.type === 'touchend' || event.type === 'mouseup') {
158
201
  this.tdsChange.emit({ value: this.value });
202
+ this.announceValueChange();
159
203
  }
160
204
  }
161
205
  forceValueUpdate(newValue) {
162
206
  this.calculateThumbLeftFromValue(newValue);
163
207
  this.value = newValue;
208
+ // Update ARIA attributes
209
+ if (this.thumbElement) {
210
+ this.thumbElement.setAttribute('aria-valuenow', this.value);
211
+ this.thumbElement.setAttribute('aria-valuetext', `${this.value} of ${this.max}`);
212
+ }
164
213
  this.tdsChange.emit({ value: this.value });
165
214
  this.updateTrack();
215
+ this.announceValueChange();
166
216
  }
167
217
  constrainThumb(x) {
168
218
  const width = this.getTrackWidth();
@@ -191,6 +241,7 @@ const TdsSlider = class {
191
241
  this.updateSupposedValueSlot(this.thumbLeft);
192
242
  if (this.thumbElement) {
193
243
  this.thumbElement.style.left = `${this.thumbLeft}px`;
244
+ this.thumbElement.setAttribute('aria-valuenow', this.value);
194
245
  }
195
246
  }
196
247
  /** Updates the slider value based on the current input value */
@@ -224,6 +275,9 @@ const TdsSlider = class {
224
275
  }
225
276
  this.thumbGrabbed = true;
226
277
  this.thumbInnerElement.classList.add('pressed');
278
+ if (this.thumbElement) {
279
+ this.thumbElement.setAttribute('aria-grabbed', 'true');
280
+ }
227
281
  }
228
282
  calculateInputSizeFromMax() {
229
283
  return this.max.length;
@@ -309,6 +363,13 @@ const TdsSlider = class {
309
363
  if (!this.initialValue) {
310
364
  this.initialValue = this.value;
311
365
  }
366
+ // Set initial aria attributes
367
+ if (this.thumbElement) {
368
+ this.thumbElement.setAttribute('aria-valuenow', this.value);
369
+ this.thumbElement.setAttribute('aria-valuetext', `${this.value} of ${this.max}`);
370
+ // Ensure the thumb can receive focus via keyboard
371
+ this.thumbElement.tabIndex = this.disabled ? -1 : 0;
372
+ }
312
373
  }
313
374
  componentDidRender() {
314
375
  // Only add the event listener once:
@@ -320,31 +381,41 @@ const TdsSlider = class {
320
381
  }
321
382
  }
322
383
  }
323
- disconnectedCallback() {
384
+ connectedCallback() {
385
+ if (this.readOnly && !this.tdsReadOnlyAriaLabel) {
386
+ console.warn('tds-slider: tdsAriaLabel is reccomended when readonly is true');
387
+ }
324
388
  if (this.resetEventListenerAdded && this.formElement) {
325
389
  this.formElement.removeEventListener('reset', this.resetToInitialValue);
326
390
  this.resetEventListenerAdded = false;
327
391
  }
328
392
  }
329
393
  render() {
330
- return (h("div", { key: '0bc25504b575817a7fb374dcedf021bca0c31e1d', class: {
394
+ const ariaLabel = this.readOnly ? this.tdsReadOnlyAriaLabel : this.label || this.tdsAriaLabel;
395
+ return (h("div", { key: 'ae3c809f6515fd13d7a793093bbae92f58f5564f', class: {
331
396
  'tds-slider-wrapper': true,
332
397
  'read-only': this.readOnly,
333
- } }, h("input", { key: '5d415abddae83b6faea5c1c7fc7a7fedbc2484aa', class: "tds-slider-native-element", type: "range", name: this.name, min: this.min, max: this.max, value: this.value, disabled: this.disabled }), h("div", { key: '55d2251ecc7ff0cc30ff39be15cb065932976c2a', class: {
398
+ } }, h("input", { key: 'da5c23da29030150199cb0ecf0831ea37bdee587', class: "tds-slider-native-element", type: "range", name: this.name, min: this.min, max: this.max, value: this.value, disabled: this.disabled }), h("div", { key: '1f772fd989ae370bb3324814514b85ce4c1b9b76', class: "sr-only", "aria-live": "assertive", ref: (el) => {
399
+ this.ariaLiveElement = el;
400
+ } }), h("div", { key: '1fa7632ba2f333ff9465a4c0e191b913e07c4151', class: {
334
401
  'tds-slider': true,
335
402
  'disabled': this.disabled,
336
403
  'tds-slider-small': this.useSmall,
337
404
  }, ref: (el) => {
338
405
  this.wrapperElement = el;
339
- } }, h("label", { key: 'b43f34bbc7cbd7f8082ce17ef0f2b115fb5b41aa', class: this.showTickNumbers && 'offset' }, this.label), this.useInput && (h("div", { key: '30fcbd13672af1648cc74f48c6df7a1378f9f538', class: "tds-slider__input-values" }, h("div", { key: '5d41657b4ad6d062beba9fd0db6b709056245ec4', class: "tds-slider__input-value min-value" }, this.min))), this.useControls && (h("div", { key: '2ccc0bf2341ade649edfc24212ac5b2b59b21385', class: "tds-slider__controls" }, h("div", { key: 'ce7dcfd5686aadb18115926142e82f313951eb2f', class: "tds-slider__control tds-slider__control-minus", onClick: (event) => this.stepLeft(event) }, h("tds-icon", { key: '6e6e6e990cac821b21b7f23690bf26d1a973525a', name: "minus", size: "16px" })))), h("div", { key: 'e64d393d7fe8abf33aa7a75ce7db93ab64f5fcab', class: "tds-slider-inner" }, this.tickValues.length > 0 && (h("div", { key: '85d36d8b772609e6cf72de94bf28ad0342d3558a', class: "tds-slider__value-dividers-wrapper" }, h("div", { key: '057feca60e9d4f5ba96f8ad83e937955c48b9ca4', class: "tds-slider__value-dividers" }, this.tickValues.map((value) => (h("div", { class: "tds-slider__value-divider" }, this.showTickNumbers && h("span", null, value))))))), h("div", { key: 'de922947c8ec868eb652bebd508237f085a2b78a', class: "tds-slider__track", ref: (el) => {
406
+ }, "aria-disabled": this.disabled ? 'true' : 'false' }, h("label", { key: '7c5a0db184f8cb084ee8f6a3c6f55d657a07c001', id: `${this.sliderId}-label`, class: this.showTickNumbers && 'offset' }, this.label), this.useInput && (h("div", { key: 'dc3ff32d52c287383abcb697d8986759b5b36cda', class: "tds-slider__input-values" }, h("div", { key: '5fd2e123dcd760a3b51a14d73b8659e3fbf119c0', class: "tds-slider__input-value min-value" }, this.min))), this.useControls && (h("div", { key: '36e64d4a59ee41db8bca2b8ca4a230089a31c720', class: "tds-slider__controls" }, h("div", { key: '8c6d28a4fbce3e4182380c107c82807cb723857a', class: "tds-slider__control tds-slider__control-minus", onClick: (event) => this.stepLeft(event), role: "button", "aria-label": "Decrease value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: '9eed66d33d28e9347c29b168f749762505673bf3', name: "minus", size: "16px" })))), h("div", { key: '79811abd81171a7ebc1ccae29fe44680c397bbe6', class: "tds-slider-inner", tabIndex: -1 }, this.tickValues.length > 0 && (h("div", { key: 'fd6fd8c10e31396fdfab4b84cd9c5776273472b2', class: "tds-slider__value-dividers-wrapper" }, h("div", { key: '458184b314a2b335aac32d6b7cf06bf8589c0724', class: "tds-slider__value-dividers" }, this.tickValues.map((value) => (h("div", { class: "tds-slider__value-divider" }, this.showTickNumbers && h("span", null, value))))))), h("div", { key: 'a335e4acbf68e5da66d9933b49ae004832ba7c52', class: "tds-slider__track", ref: (el) => {
340
407
  this.trackElement = el;
341
- }, tabindex: this.disabled ? '-1' : '0' }, h("div", { key: '0318d2221c4b2c5ce460113111d18f63113ac4ec', class: "tds-slider__track-fill", ref: (el) => {
408
+ }, tabindex: this.disabled ? '-1' : '0', role: "presentation", onFocus: () => {
409
+ if (this.thumbElement) {
410
+ this.thumbElement.focus();
411
+ }
412
+ } }, h("div", { key: 'c6b2f77f3e2292e9a5d8fa8e04b5e7b86a96660c', class: "tds-slider__track-fill", ref: (el) => {
342
413
  this.trackFillElement = el;
343
- } }), h("div", { key: 'ad87dc2827bb7ccd306d87f675654ae40a74aeb0', class: "tds-slider__thumb", ref: (el) => {
414
+ } }), h("div", { key: '37eb10d60292ee19ef938055e088867cb7bddb0a', class: "tds-slider__thumb", ref: (el) => {
344
415
  this.thumbElement = el;
345
- }, onMouseDown: () => this.grabThumb(), onTouchStart: () => this.grabThumb() }, this.tooltip && (h("div", { key: 'a25f6c8f4f79a4395bf3f0e380546089407dde98', class: "tds-slider__value" }, this.value, h("svg", { key: 'eca8aa480f914cb7984efef83ccec4dde9a907b8', width: "18", height: "14", viewBox: "0 0 18 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '64dded325632c7178df7ca035cfbd61403d6b7d0', d: "M8.15882 12.6915L0.990487 1.54076C0.562658 0.875246 1.0405 0 1.83167 0H16.1683C16.9595 0 17.4373 0.875246 17.0095 1.54076L9.84118 12.6915C9.44754 13.3038 8.55246 13.3038 8.15882 12.6915Z", fill: "currentColor" })))), h("div", { key: '19e520735e16de7defc900e836c3303668a6a68b', class: "tds-slider__thumb-inner", ref: (el) => {
416
+ }, onMouseDown: () => this.grabThumb(), onTouchStart: () => this.grabThumb(), role: "slider", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} of ${this.max}`, "aria-labelledby": `${this.sliderId}-label`, "aria-grabbed": this.thumbGrabbed ? 'true' : 'false', "aria-label": ariaLabel, tabindex: this.disabled ? '-1' : '0' }, this.tooltip && (h("div", { key: 'e5a39e8a3ec0b9acb8afa685f6c29385c78683a4', class: "tds-slider__value" }, this.value, h("svg", { key: '93606eddab33f49a3efb0dd646f974ddba6a4bc3', width: "18", height: "14", viewBox: "0 0 18 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '3c6ca10c001f16da9a7e1f1bef893e4814984914', d: "M8.15882 12.6915L0.990487 1.54076C0.562658 0.875246 1.0405 0 1.83167 0H16.1683C16.9595 0 17.4373 0.875246 17.0095 1.54076L9.84118 12.6915C9.44754 13.3038 8.55246 13.3038 8.15882 12.6915Z", fill: "currentColor" })))), h("div", { key: '249ffe32d90c760c507c6b32bd5a658eeab8dc71', class: "tds-slider__thumb-inner", ref: (el) => {
346
417
  this.thumbInnerElement = el;
347
- } })))), this.useInput && (h("div", { key: '1ec5dab77cbe54a237cb5e951043378b18b25fe3', class: "tds-slider__input-values" }, h("div", { key: '8ce027db6a886c2aa2308b7f189cc9da69406146', class: "tds-slider__input-value", onClick: (event) => this.stepLeft(event) }, this.max), h("div", { key: 'a71a82d159456a59c2c92136d6b6c83faba5fdbf', class: "tds-slider__input-field-wrapper" }, h("input", { key: 'c6ef62b23580b1b6b41b7a35f9e1e7d98267b42d', size: this.calculateInputSizeFromMax(), class: "tds-slider__input-field", value: this.value, readOnly: this.readOnly, onBlur: (event) => this.updateSliderValueOnInputChange(event), onKeyDown: (event) => this.handleInputFieldEnterPress(event), type: "number", min: this.min, max: this.max })))), this.useControls && (h("div", { key: '61acb8a3bd20557d89adcdb58eb08b0692be20ac', class: "tds-slider__controls" }, h("div", { key: '74d3353d1edc9406e51f29038e737d0558d983a7', class: "tds-slider__control tds-slider__control-plus", onClick: (event) => this.stepRight(event) }, h("tds-icon", { key: '44ba3b91c185b97b7f5aeedf48155a24eb0f721f', name: "plus", size: "16px" })))))));
418
+ } })))), this.useInput && (h("div", { key: 'a0687a2bfbc33fd5670b2aaa1e84c9bce67936cd', class: "tds-slider__input-values" }, h("div", { key: '9525015fb94d886ea4047e9af88f3030fb1c7647', class: "tds-slider__input-value", onClick: (event) => this.stepLeft(event) }, this.max), h("div", { key: '7b8c7970d0e9e8ce8a061ddc17d09fa4acf9d9ae', class: "tds-slider__input-field-wrapper" }, h("input", { key: '84f1a30c962e0db6143fa6066fa525e00c0d7a7b', size: this.calculateInputSizeFromMax(), class: "tds-slider__input-field", value: this.value, "aria-label": this.readOnly ? this.tdsReadOnlyAriaLabel : undefined, onBlur: (event) => this.updateSliderValueOnInputChange(event), onKeyDown: (event) => this.handleInputFieldEnterPress(event), type: "number", min: this.min, max: this.max })))), this.useControls && (h("div", { key: 'ab1e745fffc531b52cf2e50a279a9efb31ec2b9d', class: "tds-slider__controls" }, h("div", { key: '4f80f207d1f15e67c7e56319cd543ee9869ecc36', class: "tds-slider__control tds-slider__control-plus", onClick: (event) => this.stepRight(event), role: "button", "aria-label": "Increase value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: 'cf33d13ccce6d7c6cbda844e0dfac431bb429ce0', name: "plus", size: "16px" })))))));
348
419
  }
349
420
  get host() { return getElement(this); }
350
421
  static get watchers() { return {
@@ -10,7 +10,7 @@ const TdsSpinner = class {
10
10
  this.variant = 'standard';
11
11
  }
12
12
  render() {
13
- return (h("div", { key: '95f9c4ff6ad75e990e037debeb13b20f4f9d0b81', "aria-live": "assertive", role: "status", "aria-label": "loading" }, h("svg", { key: '901c96e841db8498d6fe5f0ec42d10afabd02a84', class: `tds-spinner-svg tds-spinner-svg-${this.size}`, "aria-hidden": "true" }, h("circle", { key: 'a71da609265f82835d116bf7836521948355d2fd', class: `tds-spinner-circle tds-spinner-circle-${this.variant}` }))));
13
+ return (h("div", { key: '2d27b4a94cd9dc205e11f18ecc6b249572912eac', "aria-live": "assertive", role: "status", "aria-label": "loading" }, h("svg", { key: 'a372dada808ed13b8c2c6ef4de9c559f59d9e9f2', class: `tds-spinner-svg tds-spinner-svg-${this.size}`, "aria-hidden": "true" }, h("circle", { key: '153f00da5e87ba55dc569b511cd184f93c1740c7', class: `tds-spinner-circle tds-spinner-circle-${this.variant}` }))));
14
14
  }
15
15
  };
16
16
  TdsSpinner.style = TdsSpinnerStyle0;