@scania/tegel 1.23.0-value-prop.beta.5 → 1.24.0-dropdown-numer-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 (440) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-accordion-item.cjs.entry.js +7 -4
  3. package/dist/cjs/tds-badge.cjs.entry.js +6 -1
  4. package/dist/cjs/tds-banner.cjs.entry.js +6 -2
  5. package/dist/cjs/tds-block.cjs.entry.js +10 -6
  6. package/dist/cjs/tds-body-cell.cjs.entry.js +2 -2
  7. package/dist/cjs/tds-breadcrumb.cjs.entry.js +1 -1
  8. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +1 -1
  9. package/dist/cjs/tds-button.cjs.entry.js +4 -2
  10. package/dist/cjs/tds-card.cjs.entry.js +9 -5
  11. package/dist/cjs/tds-checkbox.cjs.entry.js +2 -2
  12. package/dist/cjs/tds-chip.cjs.entry.js +1 -1
  13. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +3 -3
  14. package/dist/cjs/tds-datetime.cjs.entry.js +2 -2
  15. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  16. package/dist/cjs/tds-dropdown_2.cjs.entry.js +220 -146
  17. package/dist/cjs/tds-folder-tab.cjs.entry.js +4 -2
  18. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  19. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  20. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  21. package/dist/cjs/tds-footer.cjs.entry.js +3 -1
  22. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  23. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  24. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  25. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  26. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  27. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  28. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  29. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  35. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  36. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  37. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  38. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  40. package/dist/cjs/tds-inline-tab.cjs.entry.js +5 -2
  41. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  42. package/dist/cjs/tds-link.cjs.entry.js +5 -5
  43. package/dist/cjs/tds-message.cjs.entry.js +6 -4
  44. package/dist/cjs/tds-modal.cjs.entry.js +4 -1
  45. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  46. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +8 -2
  47. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  48. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  49. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +3 -3
  50. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  51. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  52. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  53. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  54. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  55. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  56. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +3 -3
  57. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  58. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  59. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  60. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  61. package/dist/cjs/tds-slider.cjs.entry.js +8 -8
  62. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  63. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  64. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  65. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  66. package/dist/cjs/tds-table-body-row.cjs.entry.js +2 -2
  67. package/dist/cjs/tds-table-body.cjs.entry.js +2 -2
  68. package/dist/cjs/tds-table-footer.cjs.entry.js +3 -3
  69. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  70. package/dist/cjs/tds-table-header.cjs.entry.js +2 -2
  71. package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
  72. package/dist/cjs/tds-text-field.cjs.entry.js +8 -6
  73. package/dist/cjs/tds-textarea.cjs.entry.js +14 -12
  74. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  75. package/dist/cjs/tds-toggle.cjs.entry.js +4 -1
  76. package/dist/cjs/tds-tooltip.cjs.entry.js +2 -2
  77. package/dist/cjs/tegel.cjs.js +1 -1
  78. package/dist/collection/components/accordion/accordion-item/accordion-item.js +25 -4
  79. package/dist/collection/components/badge/badge.js +6 -1
  80. package/dist/collection/components/banner/banner.js +6 -2
  81. package/dist/collection/components/block/block.js +10 -6
  82. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +1 -1
  83. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  84. package/dist/collection/components/button/button.js +4 -2
  85. package/dist/collection/components/card/card.js +9 -5
  86. package/dist/collection/components/checkbox/checkbox.js +2 -2
  87. package/dist/collection/components/chip/chip.js +1 -1
  88. package/dist/collection/components/datetime/datetime.js +2 -2
  89. package/dist/collection/components/divider/divider.js +1 -1
  90. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +26 -11
  91. package/dist/collection/components/dropdown/dropdown.js +257 -215
  92. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  93. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  94. package/dist/collection/components/footer/footer.js +3 -1
  95. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  96. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  97. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  98. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  99. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  100. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  101. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  102. package/dist/collection/components/header/header-item/header-item.js +2 -2
  103. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  104. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  105. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  106. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  107. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  108. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  109. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  110. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  111. package/dist/collection/components/header/header-title/header-title.js +1 -1
  112. package/dist/collection/components/header/header.js +1 -1
  113. package/dist/collection/components/icon/icon.js +1 -1
  114. package/dist/collection/components/link/link.js +5 -5
  115. package/dist/collection/components/message/message.js +6 -4
  116. package/dist/collection/components/modal/modal.js +4 -1
  117. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  118. package/dist/collection/components/popover-core/popover-core.js +1 -1
  119. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.css +7 -1
  120. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  121. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  122. package/dist/collection/components/radio-button/radio-button.js +1 -1
  123. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  124. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  125. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  126. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  127. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  128. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  129. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  130. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  131. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  132. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  133. package/dist/collection/components/slider/slider.css +13 -0
  134. package/dist/collection/components/slider/slider.js +7 -7
  135. package/dist/collection/components/spinner/spinner.js +1 -1
  136. package/dist/collection/components/stepper/step/step.js +1 -1
  137. package/dist/collection/components/table/table-body/table-body.js +2 -2
  138. package/dist/collection/components/table/table-body-cell/table-body-cell.js +2 -2
  139. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  140. package/dist/collection/components/table/table-body-row/table-body-row.js +2 -2
  141. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  142. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  143. package/dist/collection/components/table/table-header/table-header.js +2 -2
  144. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  145. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  146. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  147. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +4 -2
  148. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  149. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +5 -2
  150. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  151. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  152. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +8 -2
  153. package/dist/collection/components/text-field/text-field.js +9 -7
  154. package/dist/collection/components/textarea/textarea.js +14 -12
  155. package/dist/collection/components/toast/toast.js +3 -3
  156. package/dist/collection/components/toggle/toggle.js +4 -1
  157. package/dist/collection/components/tooltip/tooltip.js +2 -2
  158. package/dist/collection/utils/axeHelpers.js +3 -0
  159. package/dist/components/{p-0c3cab16.js → p-2ef329f1.js} +2 -2
  160. package/dist/components/{p-5e1a9abc.js → p-3351035f.js} +1 -1
  161. package/dist/components/{p-0676aa23.js → p-3a7f88ff.js} +3 -3
  162. package/dist/components/{p-09d36119.js → p-4bdaf254.js} +1 -1
  163. package/dist/components/{p-30de8ac4.js → p-707a562e.js} +1 -1
  164. package/dist/components/{p-98a2c82d.js → p-70f3d385.js} +212 -150
  165. package/dist/components/{p-fcec766c.js → p-75437dea.js} +1 -1
  166. package/dist/components/{p-e46088d9.js → p-8f8b0827.js} +1 -1
  167. package/dist/components/{p-cfb1b588.js → p-9d7232d0.js} +2 -2
  168. package/dist/components/{p-e323cd2a.js → p-ad77fb02.js} +1 -1
  169. package/dist/components/{p-dddaa520.js → p-d1ace0be.js} +1 -1
  170. package/dist/components/{p-d921fe75.js → p-eac79032.js} +2 -2
  171. package/dist/components/{p-aea7fa6b.js → p-f0a50868.js} +3 -3
  172. package/dist/components/{p-8a2d7b2f.js → p-f1980746.js} +4 -4
  173. package/dist/components/{p-4030e9bc.js → p-fcf87b68.js} +24 -10
  174. package/dist/components/tds-accordion-item.js +9 -5
  175. package/dist/components/tds-badge.js +6 -1
  176. package/dist/components/tds-banner.js +7 -3
  177. package/dist/components/tds-block.js +10 -6
  178. package/dist/components/tds-body-cell.js +2 -2
  179. package/dist/components/tds-breadcrumb.js +1 -1
  180. package/dist/components/tds-breadcrumbs.js +1 -1
  181. package/dist/components/tds-button.js +4 -2
  182. package/dist/components/tds-card.js +10 -6
  183. package/dist/components/tds-checkbox.js +1 -1
  184. package/dist/components/tds-chip.js +1 -1
  185. package/dist/components/tds-core-header-item.js +1 -1
  186. package/dist/components/tds-datetime.js +3 -3
  187. package/dist/components/tds-divider.js +1 -1
  188. package/dist/components/tds-dropdown-option.js +1 -1
  189. package/dist/components/tds-dropdown.js +1 -1
  190. package/dist/components/tds-folder-tab.js +4 -2
  191. package/dist/components/tds-folder-tabs.js +3 -3
  192. package/dist/components/tds-footer-group.js +4 -4
  193. package/dist/components/tds-footer-item.js +1 -1
  194. package/dist/components/tds-footer.js +3 -1
  195. package/dist/components/tds-header-brand-symbol.js +3 -3
  196. package/dist/components/tds-header-cell.js +2 -2
  197. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  198. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  199. package/dist/components/tds-header-dropdown-list.js +1 -1
  200. package/dist/components/tds-header-dropdown.js +8 -8
  201. package/dist/components/tds-header-hamburger.js +4 -4
  202. package/dist/components/tds-header-item.js +1 -1
  203. package/dist/components/tds-header-launcher-button.js +1 -1
  204. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  205. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  206. package/dist/components/tds-header-launcher-grid.js +1 -1
  207. package/dist/components/tds-header-launcher-list-item.js +2 -2
  208. package/dist/components/tds-header-launcher-list-title.js +1 -1
  209. package/dist/components/tds-header-launcher-list.js +2 -2
  210. package/dist/components/tds-header-launcher.js +8 -8
  211. package/dist/components/tds-header-title.js +1 -1
  212. package/dist/components/tds-header.js +1 -1
  213. package/dist/components/tds-icon.js +1 -1
  214. package/dist/components/tds-inline-tab.js +5 -2
  215. package/dist/components/tds-inline-tabs.js +3 -3
  216. package/dist/components/tds-link.js +5 -5
  217. package/dist/components/tds-message.js +7 -5
  218. package/dist/components/tds-modal.js +5 -2
  219. package/dist/components/tds-navigation-tab.js +2 -2
  220. package/dist/components/tds-navigation-tabs.js +9 -3
  221. package/dist/components/tds-popover-canvas.js +1 -1
  222. package/dist/components/tds-popover-core.js +1 -1
  223. package/dist/components/tds-popover-menu-item.js +3 -3
  224. package/dist/components/tds-popover-menu.js +3 -3
  225. package/dist/components/tds-radio-button.js +1 -1
  226. package/dist/components/tds-side-menu-close-button.js +2 -2
  227. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  228. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  229. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  230. package/dist/components/tds-side-menu-dropdown.js +5 -5
  231. package/dist/components/tds-side-menu-item.js +1 -1
  232. package/dist/components/tds-side-menu-overlay.js +1 -1
  233. package/dist/components/tds-side-menu-user-image.js +1 -1
  234. package/dist/components/tds-side-menu-user-label.js +1 -1
  235. package/dist/components/tds-side-menu-user.js +3 -3
  236. package/dist/components/tds-slider.js +9 -9
  237. package/dist/components/tds-spinner.js +1 -1
  238. package/dist/components/tds-step.js +2 -2
  239. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  240. package/dist/components/tds-table-body-row-expandable.js +7 -7
  241. package/dist/components/tds-table-body-row.js +3 -3
  242. package/dist/components/tds-table-body.js +2 -2
  243. package/dist/components/tds-table-footer.js +7 -7
  244. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  245. package/dist/components/tds-table-header.js +3 -3
  246. package/dist/components/tds-table-toolbar.js +3 -3
  247. package/dist/components/tds-text-field.js +9 -7
  248. package/dist/components/tds-textarea.js +15 -13
  249. package/dist/components/tds-toast.js +4 -4
  250. package/dist/components/tds-toggle.js +4 -1
  251. package/dist/components/tds-tooltip.js +3 -3
  252. package/dist/esm/loader.js +1 -1
  253. package/dist/esm/tds-accordion-item.entry.js +7 -4
  254. package/dist/esm/tds-badge.entry.js +6 -1
  255. package/dist/esm/tds-banner.entry.js +6 -2
  256. package/dist/esm/tds-block.entry.js +10 -6
  257. package/dist/esm/tds-body-cell.entry.js +2 -2
  258. package/dist/esm/tds-breadcrumb.entry.js +1 -1
  259. package/dist/esm/tds-breadcrumbs.entry.js +1 -1
  260. package/dist/esm/tds-button.entry.js +4 -2
  261. package/dist/esm/tds-card.entry.js +9 -5
  262. package/dist/esm/tds-checkbox.entry.js +2 -2
  263. package/dist/esm/tds-chip.entry.js +1 -1
  264. package/dist/esm/tds-core-header-item_2.entry.js +3 -3
  265. package/dist/esm/tds-datetime.entry.js +2 -2
  266. package/dist/esm/tds-divider.entry.js +1 -1
  267. package/dist/esm/tds-dropdown_2.entry.js +220 -146
  268. package/dist/esm/tds-folder-tab.entry.js +4 -2
  269. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  270. package/dist/esm/tds-footer-group.entry.js +3 -3
  271. package/dist/esm/tds-footer-item.entry.js +1 -1
  272. package/dist/esm/tds-footer.entry.js +3 -1
  273. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  274. package/dist/esm/tds-header-cell.entry.js +1 -1
  275. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  276. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  277. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  278. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  279. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  280. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  281. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  282. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  283. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  284. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  285. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  286. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  287. package/dist/esm/tds-header-launcher.entry.js +2 -2
  288. package/dist/esm/tds-header-title.entry.js +1 -1
  289. package/dist/esm/tds-header.entry.js +1 -1
  290. package/dist/esm/tds-icon.entry.js +1 -1
  291. package/dist/esm/tds-inline-tab.entry.js +5 -2
  292. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  293. package/dist/esm/tds-link.entry.js +5 -5
  294. package/dist/esm/tds-message.entry.js +6 -4
  295. package/dist/esm/tds-modal.entry.js +4 -1
  296. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  297. package/dist/esm/tds-navigation-tabs.entry.js +8 -2
  298. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  299. package/dist/esm/tds-popover-core.entry.js +1 -1
  300. package/dist/esm/tds-popover-menu-item.entry.js +3 -3
  301. package/dist/esm/tds-popover-menu.entry.js +2 -2
  302. package/dist/esm/tds-radio-button.entry.js +1 -1
  303. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  304. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  305. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  306. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  307. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  308. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  309. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  310. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  311. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  312. package/dist/esm/tds-slider.entry.js +8 -8
  313. package/dist/esm/tds-spinner.entry.js +1 -1
  314. package/dist/esm/tds-step.entry.js +1 -1
  315. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  316. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  317. package/dist/esm/tds-table-body-row.entry.js +2 -2
  318. package/dist/esm/tds-table-body.entry.js +2 -2
  319. package/dist/esm/tds-table-footer.entry.js +3 -3
  320. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  321. package/dist/esm/tds-table-header.entry.js +2 -2
  322. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  323. package/dist/esm/tds-text-field.entry.js +8 -6
  324. package/dist/esm/tds-textarea.entry.js +14 -12
  325. package/dist/esm/tds-toast.entry.js +3 -3
  326. package/dist/esm/tds-toggle.entry.js +4 -1
  327. package/dist/esm/tds-tooltip.entry.js +2 -2
  328. package/dist/esm/tegel.js +1 -1
  329. package/dist/tegel/p-0286a074.entry.js +1 -0
  330. package/dist/tegel/{p-b4c7099f.entry.js → p-038c22ff.entry.js} +1 -1
  331. package/dist/tegel/{p-57f95a1b.entry.js → p-059a9499.entry.js} +1 -1
  332. package/dist/tegel/{p-9de400f4.entry.js → p-06968bd7.entry.js} +1 -1
  333. package/dist/tegel/{p-ede11de8.entry.js → p-0939b9fb.entry.js} +1 -1
  334. package/dist/tegel/p-0b773208.entry.js +1 -0
  335. package/dist/tegel/{p-7a83cf55.entry.js → p-0cb6c898.entry.js} +1 -1
  336. package/dist/tegel/{p-b9e37cf2.entry.js → p-1703f73a.entry.js} +1 -1
  337. package/dist/tegel/p-170ab61b.entry.js +1 -0
  338. package/dist/tegel/{p-ac46b0a4.entry.js → p-24ff5903.entry.js} +1 -1
  339. package/dist/tegel/{p-9bf7f5cd.entry.js → p-2795009a.entry.js} +1 -1
  340. package/dist/tegel/{p-4ab7461e.entry.js → p-2a38b053.entry.js} +1 -1
  341. package/dist/tegel/{p-6b405a0f.entry.js → p-2a96bd05.entry.js} +1 -1
  342. package/dist/tegel/{p-50fcdc56.entry.js → p-2f32991e.entry.js} +1 -1
  343. package/dist/tegel/p-32b7f431.entry.js +1 -0
  344. package/dist/tegel/p-39373227.entry.js +1 -0
  345. package/dist/tegel/{p-2557b79b.entry.js → p-3a32fe40.entry.js} +1 -1
  346. package/dist/tegel/p-3c22aef7.entry.js +1 -0
  347. package/dist/tegel/{p-bcae4d3a.entry.js → p-3d3ee51f.entry.js} +1 -1
  348. package/dist/tegel/p-3e144a83.entry.js +1 -0
  349. package/dist/tegel/p-3e1b1399.entry.js +1 -0
  350. package/dist/tegel/{p-2e44b4e9.entry.js → p-44c33b20.entry.js} +1 -1
  351. package/dist/tegel/p-48bbc11f.entry.js +1 -0
  352. package/dist/tegel/p-4a282c25.entry.js +1 -0
  353. package/dist/tegel/p-4b231bf9.entry.js +1 -0
  354. package/dist/tegel/{p-1634247e.entry.js → p-4b7c53a6.entry.js} +1 -1
  355. package/dist/tegel/{p-0df92ce7.entry.js → p-4c2f313d.entry.js} +1 -1
  356. package/dist/tegel/{p-ff5cd75f.entry.js → p-54154f09.entry.js} +1 -1
  357. package/dist/tegel/{p-ff7ae8a3.entry.js → p-59293f88.entry.js} +1 -1
  358. package/dist/tegel/p-5eaa23dc.entry.js +1 -0
  359. package/dist/tegel/{p-bb129d43.entry.js → p-5fea857b.entry.js} +1 -1
  360. package/dist/tegel/{p-088bfcd4.entry.js → p-68859ddc.entry.js} +1 -1
  361. package/dist/tegel/p-69b38504.entry.js +1 -0
  362. package/dist/tegel/{p-a5a67770.entry.js → p-6d022f47.entry.js} +1 -1
  363. package/dist/tegel/{p-868435cd.entry.js → p-6eeded00.entry.js} +1 -1
  364. package/dist/tegel/{p-0f38bea7.entry.js → p-708a8bab.entry.js} +1 -1
  365. package/dist/tegel/p-7090a95c.entry.js +1 -0
  366. package/dist/tegel/{p-4e3e2601.entry.js → p-72106a5c.entry.js} +1 -1
  367. package/dist/tegel/{p-ed02ad2b.entry.js → p-7929d22f.entry.js} +1 -1
  368. package/dist/tegel/p-85a9032e.entry.js +1 -0
  369. package/dist/tegel/{p-f9325536.entry.js → p-86b30f71.entry.js} +1 -1
  370. package/dist/tegel/p-88204e0a.entry.js +1 -0
  371. package/dist/tegel/{p-6a52ed63.entry.js → p-9016758e.entry.js} +1 -1
  372. package/dist/tegel/p-92f81cda.entry.js +1 -0
  373. package/dist/tegel/p-93930c03.entry.js +1 -0
  374. package/dist/tegel/{p-aed1c5cf.entry.js → p-96bdf035.entry.js} +1 -1
  375. package/dist/tegel/{p-7097a39a.entry.js → p-99da056d.entry.js} +1 -1
  376. package/dist/tegel/p-9c3f2c12.entry.js +1 -0
  377. package/dist/tegel/{p-9c2dfecc.entry.js → p-9eaaa2c0.entry.js} +1 -1
  378. package/dist/tegel/p-a38dda58.entry.js +1 -0
  379. package/dist/tegel/{p-de540cc0.entry.js → p-a392e6e7.entry.js} +1 -1
  380. package/dist/tegel/p-a86fe122.entry.js +1 -0
  381. package/dist/tegel/{p-220affa9.entry.js → p-b19ce79c.entry.js} +1 -1
  382. package/dist/tegel/{p-987084a5.entry.js → p-b2018a5b.entry.js} +1 -1
  383. package/dist/tegel/{p-c790ef93.entry.js → p-b425b2f4.entry.js} +1 -1
  384. package/dist/tegel/p-b647d20e.entry.js +1 -0
  385. package/dist/tegel/{p-c18b2746.entry.js → p-b96cd80d.entry.js} +1 -1
  386. package/dist/tegel/{p-f1c172a4.entry.js → p-b9b63210.entry.js} +1 -1
  387. package/dist/tegel/p-be88c5ab.entry.js +1 -0
  388. package/dist/tegel/{p-91dcddd5.entry.js → p-c289dfb9.entry.js} +1 -1
  389. package/dist/tegel/p-cc2730d8.entry.js +1 -0
  390. package/dist/tegel/p-d1112915.entry.js +1 -0
  391. package/dist/tegel/{p-e65dba91.entry.js → p-d7f48112.entry.js} +1 -1
  392. package/dist/tegel/p-d926d075.entry.js +1 -0
  393. package/dist/tegel/{p-26ae4a93.entry.js → p-ddd33cce.entry.js} +1 -1
  394. package/dist/tegel/{p-c917d8be.entry.js → p-e478953c.entry.js} +1 -1
  395. package/dist/tegel/p-e7300cca.entry.js +1 -0
  396. package/dist/tegel/{p-6c26e66f.entry.js → p-e9ac7a1a.entry.js} +1 -1
  397. package/dist/tegel/{p-dd060c11.entry.js → p-ea4a9a4f.entry.js} +1 -1
  398. package/dist/tegel/p-f050aad8.entry.js +1 -0
  399. package/dist/tegel/{p-e7108828.entry.js → p-f4db0231.entry.js} +1 -1
  400. package/dist/tegel/p-f67b4047.entry.js +1 -0
  401. package/dist/tegel/{p-a642c800.entry.js → p-fd3d56aa.entry.js} +1 -1
  402. package/dist/tegel/{p-06d2fa56.entry.js → p-fd432c54.entry.js} +1 -1
  403. package/dist/tegel/{p-ad434031.entry.js → p-ffd827ef.entry.js} +1 -1
  404. package/dist/tegel/tegel.esm.js +1 -1
  405. package/dist/types/components/accordion/accordion-item/accordion-item.d.ts +2 -0
  406. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  407. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +6 -2
  408. package/dist/types/components/dropdown/dropdown.d.ts +39 -27
  409. package/dist/types/components.d.ts +25 -27
  410. package/dist/types/utils/axeHelpers.d.ts +2 -0
  411. package/package.json +5 -5
  412. package/dist/tegel/p-062adc6d.entry.js +0 -1
  413. package/dist/tegel/p-12303135.entry.js +0 -1
  414. package/dist/tegel/p-1a2f3852.entry.js +0 -1
  415. package/dist/tegel/p-1bc2c73c.entry.js +0 -1
  416. package/dist/tegel/p-2dd309cb.entry.js +0 -1
  417. package/dist/tegel/p-54a105a4.entry.js +0 -1
  418. package/dist/tegel/p-5a891dd2.entry.js +0 -1
  419. package/dist/tegel/p-5d0e8f1e.entry.js +0 -1
  420. package/dist/tegel/p-6938329a.entry.js +0 -1
  421. package/dist/tegel/p-6aabf7e1.entry.js +0 -1
  422. package/dist/tegel/p-7d39487c.entry.js +0 -1
  423. package/dist/tegel/p-7d83ba98.entry.js +0 -1
  424. package/dist/tegel/p-845e1fca.entry.js +0 -1
  425. package/dist/tegel/p-930e767e.entry.js +0 -1
  426. package/dist/tegel/p-959a6780.entry.js +0 -1
  427. package/dist/tegel/p-9aefb942.entry.js +0 -1
  428. package/dist/tegel/p-a9654cd4.entry.js +0 -1
  429. package/dist/tegel/p-b00bcf39.entry.js +0 -1
  430. package/dist/tegel/p-b9ac3122.entry.js +0 -1
  431. package/dist/tegel/p-bda3d846.entry.js +0 -1
  432. package/dist/tegel/p-cd5219ac.entry.js +0 -1
  433. package/dist/tegel/p-d1cbe5be.entry.js +0 -1
  434. package/dist/tegel/p-dcbd977f.entry.js +0 -1
  435. package/dist/tegel/p-e13935b6.entry.js +0 -1
  436. package/dist/tegel/p-e86f2d31.entry.js +0 -1
  437. package/dist/tegel/p-e97a2700.entry.js +0 -1
  438. package/dist/tegel/p-f45d905c.entry.js +0 -1
  439. package/dist/tegel/p-f841f094.entry.js +0 -1
  440. package/dist/tegel/p-fc0079d2.entry.js +0 -1
@@ -58,12 +58,12 @@ const TdsSideMenuItem = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuItem e
58
58
  this.updateSlottedElements();
59
59
  }
60
60
  render() {
61
- return (h(Host, { key: '13d5211709dbda15ce0e398dab7e2677e15d074c' }, h("div", { key: '99cd16c7817451dfbc3e30c59fcb95ebf84c72af', class: {
61
+ return (h(Host, { key: 'f6d3cc999d431fb73ac49c7e51fa63ea56bf1130' }, h("div", { key: '7b0d9eb30d571bf2ec2c9dca91d5d0481b1306b5', class: {
62
62
  'component': true,
63
63
  'component-selected': this.selected,
64
64
  'component-active': this.active,
65
65
  'component-collapsed': this.collapsed,
66
- } }, h("slot", { key: '564c191d1bf54f63fa75c32309cd32392a22dc3a' }))));
66
+ } }, h("slot", { key: '74815b1ae22bb4d6981a2441e0048ee2e9bacf2d' }))));
67
67
  }
68
68
  get host() { return this; }
69
69
  static get style() { return TdsSideMenuItemStyle0; }
@@ -2001,7 +2001,7 @@ const TdsPopoverCore = /*@__PURE__*/ proxyCustomElement(class TdsPopoverCore ext
2001
2001
  'tds-animation-exit-fade': !this.isShown && this.animation === 'fade',
2002
2002
  };
2003
2003
  const classList = generateClassList(classes);
2004
- return (h(Host, { key: '8893e2cca1fedd09a8dfff8ceeb12b47cbf07e09', class: classList, id: `tds-popover-core-${this.uuid}` }, h("slot", { key: '7e075900d43b4f6d3009ef37f11059fd646e708e' })));
2004
+ return (h(Host, { key: 'cec7a3eddcdc7cfe4175bc6174b52f8b24a43837', class: classList, id: `tds-popover-core-${this.uuid}` }, h("slot", { key: 'ae91738a3607de7bebe9e092aa7d7b6761e3e44b' })));
2005
2005
  }
2006
2006
  get host() { return this; }
2007
2007
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { d as dfs } from './p-52bf0fdf.js';
3
- import { d as defineCustomElement$1 } from './p-30de8ac4.js';
3
+ import { d as defineCustomElement$1 } from './p-707a562e.js';
4
4
 
5
5
  const headerItemCss = ":host ::slotted(button),:host ::slotted(a){all:unset;box-sizing:border-box;background-color:var(--tds-header-background);border-right:1px solid var(--tds-header--basic-element-border);width:100%;height:100%;cursor:pointer;padding:0 24px;display:flex;align-items:center;gap:8px}:host ::slotted(button) *,:host ::slotted(a) *{box-sizing:border-box}:host ::slotted(button:hover),:host ::slotted(a:hover){background-color:var(--tds-header-item-hover)}:host ::slotted(button:focus-visible),:host ::slotted(a:focus-visible){outline:2px solid var(--tds-blue-400);outline-offset:-2px}:host .component-active ::slotted(button),:host .component-active ::slotted(a){background-color:var(--tds-header--basic-element-background-open);color:var(--tds-header-nav-item-dropdown-opened-color);border-color:var(--tds-header--basic-element-border-open)}:host .component-selected:not(.component-active) ::slotted(button),:host .component-selected:not(.component-active) ::slotted(a){background-color:var(--tds-header--basic-element-background-selected);padding-top:4px;border-bottom-style:solid;border-bottom-width:4px;border-bottom-color:var(--tds-nav-item-border-color-active)}";
6
6
  const TdsHeaderItemStyle0 = headerItemCss;
@@ -42,10 +42,10 @@ const TdsHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsHeaderItem exten
42
42
  this.slotEl.addEventListener('slotchange', this.updateSlottedElements);
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: 'd5f256a30d131817e23f428b87a3604e2a299ad6' }, h("tds-core-header-item", { key: 'd2dc6486839af96bbd10938bf9e03ff50123da4f', class: {
45
+ return (h(Host, { key: '7317ab5668685390e2671908dd41855715267b1c' }, h("tds-core-header-item", { key: 'befc861a437912245c22413bbf774617fa84b289', class: {
46
46
  'component-active': this.active,
47
47
  'component-selected': this.selected,
48
- } }, h("slot", { key: 'a89a44221fe947e4075e6889ed3e3cf8478f6e96' }))));
48
+ } }, h("slot", { key: 'f4405b3881dc0d6e4b86f96aa90d0b045c7bf2d8' }))));
49
49
  }
50
50
  get host() { return this; }
51
51
  static get style() { return TdsHeaderItemStyle0; }
@@ -12,7 +12,7 @@ const TdsSideMenuUserLabel = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuU
12
12
  this.subheading = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: '5b26493d17e356fa885a7b615ed4bda03e751eb6' }, this.heading, this.subheading && h("div", { key: '2dc511289427ef2ea490fec0308119c42956113c', class: "subheading" }, this.subheading)));
15
+ return (h(Host, { key: '361c1868777c78a539e7c36a0acb9963f57fde3c' }, this.heading, this.subheading && h("div", { key: 'a1e15c671dcd77841051c52c3e17ef66bbf7730f', class: "subheading" }, this.subheading)));
16
16
  }
17
17
  static get style() { return TdsSideMenuUserLabelStyle0; }
18
18
  }, [1, "tds-side-menu-user-label", {
@@ -10,7 +10,7 @@ const TdsCoreHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsCoreHeaderIt
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'ef3825bce10e5d23e01b4be557014a5c90b8e7de' }, h("div", { key: '134696c5345b16dc15dc1940d7d42066597b3a4e', class: "item" }, h("slot", { key: '9e8fbe10a25cb6005d2ff03ce00adc5c6cdad495' }))));
13
+ return (h(Host, { key: 'a97f1ad7ef0398e2414f62374e69a738f8af8e18' }, h("div", { key: '3fd840c4cd4a7bd5bf27c3039c246f2faa085d51', class: "item" }, h("slot", { key: '5d521057588befd7509318ba5f053c6204e7344b' }))));
14
14
  }
15
15
  static get style() { return TdsCoreHeaderItemStyle0; }
16
16
  }, [1, "tds-core-header-item"]);
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
2
- import { d as defineCustomElement$1 } from './p-e323cd2a.js';
2
+ import { d as defineCustomElement$1 } from './p-ad77fb02.js';
3
3
 
4
4
  /**
5
5
  * Find the next focusable element index in a list of focusable elements.
@@ -71,16 +71,35 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
71
71
  this.tdsFocus = createEvent(this, "tdsFocus", 6);
72
72
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
73
73
  this.tdsInput = createEvent(this, "tdsInput", 6);
74
- this.tdsValueChange = createEvent(this, "tdsValueChange", 6);
75
74
  this.setDefaultOption = () => {
76
- if (this.defaultValue) {
75
+ if (this.internalDefaultValue) {
76
+ const children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
77
+ if (children.length === 0) {
78
+ console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
79
+ return;
80
+ }
77
81
  const defaultValues = this.multiselect
78
- ? new Set(this.defaultValue.split(','))
79
- : [this.defaultValue];
80
- const normalizedValues = Array.from(defaultValues);
81
- this.updateDropdownState(normalizedValues);
82
+ ? new Set(this.internalDefaultValue.split(','))
83
+ : [this.internalDefaultValue];
84
+ const childrenMap = new Map(children.map((element) => [element.value, element]));
85
+ const matchedValues = Array.from(defaultValues).filter((value) => {
86
+ const element = childrenMap.get(value);
87
+ if (element) {
88
+ element.setSelected(true);
89
+ return true;
90
+ }
91
+ return false;
92
+ });
93
+ if (matchedValues.length > 0) {
94
+ this.value = [...new Set(this.value ? [...this.value, ...matchedValues] : matchedValues)];
95
+ this.setValueAttribute();
96
+ }
97
+ else {
98
+ console.warn(`TDS DROPDOWN: No matching option found for defaultValue "${this.internalDefaultValue}"`);
99
+ }
82
100
  }
83
101
  };
102
+ /* Returns a list of all children that are tds-dropdown-option elements */
84
103
  this.getChildren = () => {
85
104
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
86
105
  if (tdsDropdownOptions.length === 0) {
@@ -89,36 +108,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
89
108
  else
90
109
  return tdsDropdownOptions;
91
110
  };
92
- this.getSelectedChildren = () => {
93
- if (this.selectedOptions.length === 0)
94
- return [];
95
- return this.selectedOptions
96
- .map((stringValue) => {
97
- var _a;
98
- const matchingElement = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.find((element) => element.value === stringValue);
99
- return matchingElement;
100
- })
101
- .filter(Boolean);
102
- };
103
- this.getSelectedChildrenLabels = () => {
104
- var _a;
105
- return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
106
- };
107
- this.getValue = () => {
108
- const labels = this.getSelectedChildrenLabels();
109
- if (!labels) {
110
- return '';
111
- }
112
- return labels === null || labels === void 0 ? void 0 : labels.join(', ');
113
- };
114
- this.setValueAttribute = () => {
115
- if (this.selectedOptions.length === 0) {
116
- this.host.removeAttribute('value');
117
- }
118
- else {
119
- this.host.setAttribute('value', this.selectedOptions.join(','));
120
- }
121
- };
122
111
  this.getOpenDirection = () => {
123
112
  var _a, _b, _c, _d, _e;
124
113
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -132,6 +121,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
132
121
  }
133
122
  return this.openDirection;
134
123
  };
124
+ /* Toggles the open state of the Dropdown and sets focus to the input element */
135
125
  this.handleToggleOpen = () => {
136
126
  if (!this.disabled) {
137
127
  this.open = !this.open;
@@ -140,10 +130,38 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
140
130
  }
141
131
  }
142
132
  };
133
+ /* Focuses the input element in the Dropdown, if the reference is present. */
143
134
  this.focusInputElement = () => {
144
135
  if (this.inputElement)
145
136
  this.inputElement.focus();
146
137
  };
138
+ this.getSelectedChildren = () => {
139
+ var _a;
140
+ return (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((stringValue) => {
141
+ const matchingElement = this.getChildren().find((element) => element.value === stringValue);
142
+ return matchingElement;
143
+ }).filter(Boolean);
144
+ };
145
+ this.getSelectedChildrenLabels = () => {
146
+ var _a;
147
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
148
+ };
149
+ this.getValue = () => {
150
+ const labels = this.getSelectedChildrenLabels();
151
+ if (!labels) {
152
+ return '';
153
+ }
154
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
155
+ };
156
+ this.setValueAttribute = () => {
157
+ var _a;
158
+ if (!this.value || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) === '') {
159
+ this.host.removeAttribute('value');
160
+ }
161
+ else {
162
+ this.host.setAttribute('value', this.value.map((val) => val).toString());
163
+ }
164
+ };
147
165
  this.handleFilter = (event) => {
148
166
  this.tdsInput.emit(event);
149
167
  const query = event.target.value.toLowerCase();
@@ -174,10 +192,8 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
174
192
  this.handleFilterReset = () => {
175
193
  this.reset();
176
194
  this.inputElement.value = '';
177
- this.handleFilter({ target: { value: '' } });
195
+ this.handleFilter({ target: { value: this.inputElement.value } });
178
196
  this.inputElement.focus();
179
- // Add this line to ensure internal value is cleared
180
- this.internalValue = '';
181
197
  };
182
198
  this.handleFocus = (event) => {
183
199
  this.open = true;
@@ -191,6 +207,13 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
191
207
  this.handleBlur = (event) => {
192
208
  this.tdsBlur.emit(event);
193
209
  };
210
+ this.handleChange = () => {
211
+ var _a, _b;
212
+ this.tdsChange.emit({
213
+ name: this.name,
214
+ value: (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString()) !== null && _b !== void 0 ? _b : null,
215
+ });
216
+ };
194
217
  this.resetInput = () => {
195
218
  const inputEl = this.host.querySelector('input');
196
219
  if (inputEl) {
@@ -213,99 +236,108 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
213
236
  this.normalizeText = true;
214
237
  this.noResultText = 'No result';
215
238
  this.defaultValue = undefined;
216
- this.value = null;
217
239
  this.open = false;
218
- this.internalValue = undefined;
240
+ this.value = undefined;
219
241
  this.filterResult = undefined;
220
242
  this.filterFocus = undefined;
221
- this.selectedOptions = [];
222
- }
223
- handleValueChange(newValue) {
224
- // Normalize to array
225
- const normalizedValue = this.normalizeValue(newValue);
226
- // Only update if actually changed
227
- if (this.hasValueChanged(normalizedValue, this.selectedOptions)) {
228
- this.updateDropdownState(normalizedValue);
229
- }
243
+ this.internalDefaultValue = undefined;
230
244
  }
231
- normalizeValue(value) {
232
- if (!value || value === '')
233
- return []; // Handle both null and empty string
234
- // For multiselect, keep array. For single select, wrap in array
235
- if (this.multiselect) {
236
- return Array.isArray(value) ? value : value.split(',').filter((v) => v !== '');
237
- }
238
- return Array.isArray(value) ? value : [value];
239
- }
240
- hasValueChanged(newValue, currentValue) {
241
- if (newValue.length !== currentValue.length)
242
- return true;
243
- return newValue.some((val) => !currentValue.includes(val));
245
+ /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
246
+ async reset() {
247
+ this.dropdownList.scrollTop = 0;
248
+ this.internalReset();
249
+ this.handleChange();
244
250
  }
245
- updateDropdownState(values) {
246
- // Update internal state
247
- this.selectedOptions = this.validateValues(values);
248
- // Then update the value prop to match
249
- this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
250
- // Update DOM
251
- this.updateOptionElements();
252
- // Update display value
253
- this.updateDisplayValue();
254
- // Emit change event
255
- this.emitChange();
256
- // Update value attribute
257
- this.setValueAttribute();
251
+ /** Method that forces focus on the input element. */
252
+ async focusElement() {
253
+ this.focusInputElement();
254
+ this.handleFocus({});
258
255
  }
259
- validateValues(values) {
260
- return values.filter((val) => {
261
- var _a;
262
- const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
263
- if (!isValid) {
264
- console.warn(`Option with value "${val}" does not exist`);
256
+ /** Method for setting the value of the Dropdown.
257
+ *
258
+ * Single selection example:
259
+ *
260
+ * <code>
261
+ * dropdown.setValue('option-1', 'Option 1');
262
+ * </code>
263
+ *
264
+ * Multiselect example:
265
+ *
266
+ * <code>
267
+ * dropdown.setValue(['option-1', 'option-2']);
268
+ * </code>
269
+ */
270
+ // The label is optional here ONLY to not break the API. Should be removed for 2.0.
271
+ // @ts-ignore
272
+ // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
273
+ async setValue(value, label) {
274
+ let nextValue;
275
+ if (typeof value === 'string')
276
+ nextValue = [value];
277
+ else
278
+ nextValue = value;
279
+ if (!this.multiselect && nextValue.length > 1) {
280
+ console.warn('Tried to select multiple items, but multiselect is not enabled.');
281
+ nextValue = [nextValue[0]];
282
+ }
283
+ nextValue = [...new Set(nextValue)];
284
+ this.internalReset();
285
+ for (let i = 0; i < nextValue.length; i++) {
286
+ const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
287
+ if (!optionExist) {
288
+ nextValue.splice(i, 1);
265
289
  }
266
- return isValid;
267
- });
268
- }
269
- updateOptionElements() {
270
- var _a;
271
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
272
- element.setSelected(this.selectedOptions.includes(element.value));
273
- });
274
- }
275
- updateDisplayValue() {
276
- this.internalValue = this.getSelectedChildrenLabels().join(', ');
277
- if (this.filter && this.inputElement) {
278
- this.inputElement.value = this.internalValue;
279
290
  }
280
- }
281
- emitChange() {
282
- const value = this.multiselect
283
- ? this.selectedOptions.join(',')
284
- : this.selectedOptions[0] || null;
285
- this.tdsChange.emit({
286
- name: this.name,
287
- value: value !== null && value !== void 0 ? value : null,
288
- });
289
- }
290
- async setValue(value) {
291
- const normalizedValue = this.normalizeValue(value);
292
- this.updateDropdownState(normalizedValue);
293
- return this.getSelectedChildren().map((element) => ({
291
+ this.value = nextValue;
292
+ this.setValueAttribute();
293
+ this.selectChildrenAsSelectedBasedOnSelectionProp();
294
+ this.handleChange();
295
+ /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
296
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
297
+ const selection = this.getSelectedChildren().map((element) => ({
294
298
  value: element.value,
295
299
  label: element.textContent.trim(),
296
300
  }));
301
+ // Update inputElement value and placeholder text
302
+ if (this.filter) {
303
+ this.inputElement.value = this.getValue();
304
+ }
305
+ return selection;
297
306
  }
298
- async reset() {
299
- this.updateDropdownState([]);
307
+ /**
308
+ * @internal
309
+ */
310
+ async appendValue(value) {
311
+ if (this.multiselect && this.value) {
312
+ this.setValue([...this.value, value]);
313
+ }
314
+ else {
315
+ this.setValue(value);
316
+ }
300
317
  }
318
+ /** Method for removing a selected value in the Dropdown. */
301
319
  async removeValue(oldValue) {
302
- const newValues = this.selectedOptions.filter((v) => v !== oldValue);
303
- this.updateDropdownState(newValues);
304
- }
305
- /** Method that forces focus on the input element. */
306
- async focusElement() {
307
- this.focusInputElement();
308
- this.handleFocus({});
320
+ var _a, _b;
321
+ let label;
322
+ if (this.multiselect) {
323
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
324
+ var _a;
325
+ if (element.value === oldValue) {
326
+ this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
327
+ label = element.textContent.trim();
328
+ element.setSelected(false);
329
+ }
330
+ return element;
331
+ });
332
+ }
333
+ else {
334
+ this.reset();
335
+ }
336
+ this.handleChange();
337
+ this.setValueAttribute();
338
+ /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
339
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
340
+ return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
309
341
  }
310
342
  /** Method for closing the Dropdown. */
311
343
  async close() {
@@ -354,15 +386,21 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
354
386
  handleOpenState() {
355
387
  if (this.filter && this.multiselect) {
356
388
  if (!this.open) {
357
- this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
389
+ this.inputElement.value = this.getValue();
358
390
  }
359
391
  }
360
392
  }
393
+ handleDefaultValueChange(newValue) {
394
+ if (newValue !== undefined && newValue !== null) {
395
+ this.internalDefaultValue = newValue.toString();
396
+ this.setDefaultOption();
397
+ }
398
+ }
361
399
  componentWillLoad() {
362
- if (this.defaultValue && !this.value) {
363
- const initialValue = this.multiselect ? this.defaultValue.split(',') : [this.defaultValue];
364
- this.updateDropdownState(initialValue);
400
+ if (this.defaultValue !== undefined && this.defaultValue !== null) {
401
+ this.internalDefaultValue = this.defaultValue.toString();
365
402
  }
403
+ this.setDefaultOption();
366
404
  }
367
405
  /** Method to handle slot changes */
368
406
  handleSlotChange() {
@@ -372,13 +410,29 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
372
410
  normalizeString(text) {
373
411
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
374
412
  }
375
- async appendValue(value) {
376
- if (this.multiselect) {
377
- this.updateDropdownState([...this.selectedOptions, value]);
378
- }
379
- else {
380
- this.updateDropdownState([value]);
381
- }
413
+ /** Method that resets the dropdown without emitting an event. */
414
+ internalReset() {
415
+ this.getChildren().forEach((element) => {
416
+ element.setSelected(false);
417
+ return element;
418
+ });
419
+ this.value = null;
420
+ this.setValueAttribute();
421
+ }
422
+ selectChildrenAsSelectedBasedOnSelectionProp() {
423
+ this.getChildren().forEach((element) => {
424
+ this.value.forEach((selection) => {
425
+ if (element.value !== selection) {
426
+ // If not multiselect, we need to unselect all other options.
427
+ if (!this.multiselect) {
428
+ element.setSelected(false);
429
+ }
430
+ }
431
+ else {
432
+ element.setSelected(true);
433
+ }
434
+ });
435
+ });
382
436
  }
383
437
  componentDidRender() {
384
438
  const form = this.host.closest('form');
@@ -393,8 +447,9 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
393
447
  }
394
448
  }
395
449
  render() {
396
- appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
397
- return (h(Host, { key: 'b084be887c56fbce2c51c70c6c5e29d2dbff0555', role: "select", class: `${this.modeVariant ? `tds-mode-variant-${this.modeVariant}` : ''}` }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'b24fadee61a85c008cff52fe1e47570f7b3db29e', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '01ba50787cfdb187f5fa602ac6d21283a1fcd98b', class: `dropdown-select ${this.size} ${this.disabled ? 'disabled' : ''}` }, this.filter ? (h("div", { class: {
450
+ var _a, _b, _c, _d;
451
+ appendHiddenInput(this.host, this.name, (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString(), this.disabled);
452
+ return (h(Host, { key: '59198c21800c375dde1f2429ec9ab83caea26a15', role: "select", class: `${this.modeVariant ? `tds-mode-variant-${this.modeVariant}` : ''}` }, this.label && this.labelPosition === 'outside' && (h("div", { key: '51ec664e6d72a7dfaaaf4c3420d0ec726d9c165a', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: 'cfb1b64bc1ec3c09edc7a4157be01159a56a737a', class: `dropdown-select ${this.size} ${this.disabled ? 'disabled' : ''}` }, this.filter ? (h("div", { class: {
398
453
  filter: true,
399
454
  focus: this.filterFocus,
400
455
  disabled: this.disabled,
@@ -402,7 +457,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
402
457
  } }, h("div", { class: "value-wrapper" }, this.label && this.labelPosition === 'inside' && this.placeholder && (h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (h("div", { class: `
403
458
  label-inside-as-placeholder
404
459
  ${this.size}
405
- ${this.selectedOptions.length ? 'selected' : ''}
460
+ ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
406
461
  ` }, this.label)), h("input", {
407
462
  // eslint-disable-next-line no-return-assign
408
463
  ref: (inputEl) => (this.inputElement = inputEl), class: `${this.labelPosition === 'inside' ? 'placeholder' : ''}`, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
@@ -411,7 +466,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
411
466
  this.inputElement.value = this.getValue();
412
467
  }
413
468
  this.handleBlur(event);
414
- }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
469
+ }, onFocus: (event) => {
470
+ this.open = true;
471
+ this.filterFocus = true;
472
+ if (this.multiselect) {
473
+ this.inputElement.value = '';
474
+ }
475
+ this.handleFocus(event);
476
+ this.handleFilter({ target: { value: '' } });
477
+ }, onKeyDown: (event) => {
415
478
  if (event.key === 'Escape') {
416
479
  this.open = false;
417
480
  }
@@ -429,14 +492,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
429
492
  this.open = false;
430
493
  }
431
494
  }, class: `
432
- ${this.selectedOptions.length ? 'value' : 'placeholder'}
495
+ ${this.value ? 'value' : 'placeholder'}
433
496
  ${this.open ? 'open' : 'closed'}
434
497
  ${this.error ? 'error' : ''}
435
498
  `, disabled: this.disabled }, h("div", { class: `value-wrapper ${this.size}` }, this.label && this.labelPosition === 'inside' && this.placeholder && (h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (h("div", { class: `
436
499
  label-inside-as-placeholder
437
500
  ${this.size}
438
- ${this.selectedOptions.length ? 'selected' : ''}
439
- ` }, this.label)), h("div", { class: `placeholder ${this.size}` }, this.selectedOptions.length ? this.getValue() : this.placeholder), h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { key: '849ff954ec4ae3fc46e1de5dd236d409e9796adb', ref: (element) => (this.dropdownList = element), class: {
501
+ ${((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) ? 'selected' : ''}
502
+ ` }, this.label)), h("div", { class: `placeholder ${this.size}` }, ((_d = this.value) === null || _d === void 0 ? void 0 : _d.length) ? this.getValue() : this.placeholder), h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { key: 'a585073f41bf1cbf6855050fd45506892ac84e7a', ref: (element) => (this.dropdownList = element), class: {
440
503
  'dropdown-list': true,
441
504
  [this.size]: true,
442
505
  [this.getOpenDirection()]: true,
@@ -445,12 +508,12 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
445
508
  'closed': !this.open,
446
509
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
447
510
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
448
- } }, h("slot", { key: 'bae1fc6a37421363f0f104a5b1637dad11b13722', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: 'b8c57fb7c25949a603734eaff7ccae28aa01b787', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'c06e8e79f8ecaf3abc7fa97ea520b0e81ea48b33', class: `helper ${this.error ? 'error' : ''} ${this.disabled ? 'disabled' : ''}` }, this.error && h("tds-icon", { key: '7793cdff81b04b20111083c9ad288773339c570d', name: "error", size: "16px" }), this.helper))));
511
+ } }, h("slot", { key: '7047e1daff3ac9a7b5d85bd94885ac108eae2b68', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: 'c21388cbde54350252c0e6edcb6c16808cfc7a55', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: '2ddf6a329c52025a50a0e6519af68b6f67c8d08b', class: `helper ${this.error ? 'error' : ''} ${this.disabled ? 'disabled' : ''}` }, this.error && h("tds-icon", { key: '3527c56932fab328ee1d06d403e7931e19fe8b8a', name: "error", size: "16px" }), this.helper))));
449
512
  }
450
513
  get host() { return this; }
451
514
  static get watchers() { return {
452
- "value": ["handleValueChange"],
453
- "open": ["handleOpenState"]
515
+ "open": ["handleOpenState"],
516
+ "defaultValue": ["handleDefaultValueChange"]
454
517
  }; }
455
518
  static get style() { return TdsDropdownStyle0; }
456
519
  }, [1, "tds-dropdown", {
@@ -469,22 +532,21 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
469
532
  "filter": [4],
470
533
  "normalizeText": [4, "normalize-text"],
471
534
  "noResultText": [1, "no-result-text"],
472
- "defaultValue": [1, "default-value"],
473
- "value": [1025],
535
+ "defaultValue": [8, "default-value"],
474
536
  "open": [32],
475
- "internalValue": [32],
537
+ "value": [32],
476
538
  "filterResult": [32],
477
539
  "filterFocus": [32],
478
- "selectedOptions": [32],
479
- "setValue": [64],
540
+ "internalDefaultValue": [32],
480
541
  "reset": [64],
481
- "removeValue": [64],
482
542
  "focusElement": [64],
483
- "close": [64],
484
- "appendValue": [64]
543
+ "setValue": [64],
544
+ "appendValue": [64],
545
+ "removeValue": [64],
546
+ "close": [64]
485
547
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
486
- "value": ["handleValueChange"],
487
- "open": ["handleOpenState"]
548
+ "open": ["handleOpenState"],
549
+ "defaultValue": ["handleDefaultValueChange"]
488
550
  }]);
489
551
  function defineCustomElement() {
490
552
  if (typeof customElements === "undefined") {
@@ -75,7 +75,7 @@ const TdsHeaderDropdownList = /*@__PURE__*/ proxyCustomElement(class TdsHeaderDr
75
75
  'role': 'list',
76
76
  'aria-labelledby': (_a = this.headingElement) === null || _a === void 0 ? void 0 : _a.id,
77
77
  };
78
- return (h(Host, Object.assign({ key: '2ebed45f0b4d3b872378a1246180fc34f8ea46de' }, attributes), h("slot", { key: '5b72e5cab5c21fdaa55ca8641c729393ade09f75' })));
78
+ return (h(Host, Object.assign({ key: 'a5dd28fda0bbec3b9fdfa94b2170723ea93e646b' }, attributes), h("slot", { key: '8e196622a25da4f35e3dbcef8abf385d5723353c' })));
79
79
  }
80
80
  get host() { return this; }
81
81
  static get style() { return TdsHeaderDropdownListStyle0; }
@@ -11,7 +11,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends H {
11
11
  this.orientation = 'horizontal';
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '52a57f6bab64f6329412bbab154f213864382e98', role: "separator", "aria-orientation": this.orientation === 'vertical' ? 'vertical' : undefined }, h("div", { key: '5ba2a5d20d84748b4b76e7ec24155f29cab69bc5', class: `divider ${this.orientation}` })));
14
+ return (h(Host, { key: 'a6195d6461fc6727d9e83c4152f446179160963f', role: "separator", "aria-orientation": this.orientation === 'vertical' ? 'vertical' : undefined }, h("div", { key: 'f1cf2f97534adfe809f8ddda734cfdbcecd7989a', class: `divider ${this.orientation}` })));
15
15
  }
16
16
  static get style() { return TdsDividerStyle0; }
17
17
  }, [1, "tds-divider", {
@@ -12,10 +12,10 @@ const TdsHeaderDropdownListItem = /*@__PURE__*/ proxyCustomElement(class TdsHead
12
12
  this.size = 'md';
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'e884013f09151c5ba323ac69c34c88e8aba9d132' }, h("div", { key: 'e4babaebaac5f661b2ef365a120e9953d6535c73', class: {
15
+ return (h(Host, { key: 'e907df68566401506c20283daeeeabf1ebcaa7c8' }, h("div", { key: '5a784414662a0da44aeada1496801146606852df', class: {
16
16
  'component': true,
17
17
  'component-selected': this.selected,
18
- } }, h("slot", { key: 'b58b6c84093c4edd303ee3ed202703f316cfcaa2' }))));
18
+ } }, h("slot", { key: 'a1027ad30124faea7cadbf48c07d3e5e021426f2' }))));
19
19
  }
20
20
  get host() { return this; }
21
21
  static get style() { return TdsHeaderDropdownListItemStyle0; }
@@ -36,7 +36,7 @@ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends H {
36
36
  this.arrayOfIcons = [...this.arrayOfIcons];
37
37
  }
38
38
  render() {
39
- return h(Host, { key: '905914904d2afac05280f9daf9834b89aa3ec14f' }, this.setIcons());
39
+ return h(Host, { key: '06edf681e29edcaa43a7a276344f500bae1f9b71' }, this.setIcons());
40
40
  }
41
41
  static get style() { return TdsIconStyle0; }
42
42
  }, [1, "tds-icon", {
@@ -12,7 +12,7 @@ const TdsSideMenuUserImage = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuU
12
12
  this.alt = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'cd4bcc9ba4ce93b20e39ab0782136518a99899a3' }, h("slot", { key: '09bf0b847a54c03474e9d5dcaad8d0a5a347dbfc' }), this.src && h("img", { key: '8d74e3733d69ac50f4fe07557b91aec07aa74605', src: this.src, alt: this.alt })));
15
+ return (h(Host, { key: 'f52d600d147e4422c99883473c5453018135edc5' }, h("slot", { key: '1ecdae7d2a9d8a42a93c9b4e77ebf885c2308925' }), this.src && h("img", { key: 'c2efe65b3cb9102db3019d15ed54a8cbaecef877', src: this.src, alt: this.alt })));
16
16
  }
17
17
  static get style() { return TdsSideMenuUserImageStyle0; }
18
18
  }, [1, "tds-side-menu-user-image", {