@scania/tegel 1.24.0-value-prop.beta.6 → 1.25.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 (437) 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 +216 -147
  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 +2 -2
  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 +1 -1
  91. package/dist/collection/components/dropdown/dropdown.js +266 -221
  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.js +2 -2
  120. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  121. package/dist/collection/components/radio-button/radio-button.js +1 -1
  122. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  123. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  124. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  125. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  126. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  127. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  128. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  129. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  130. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  131. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  132. package/dist/collection/components/slider/slider.css +13 -0
  133. package/dist/collection/components/slider/slider.js +7 -7
  134. package/dist/collection/components/spinner/spinner.js +1 -1
  135. package/dist/collection/components/stepper/step/step.js +1 -1
  136. package/dist/collection/components/table/table-body/table-body.js +2 -2
  137. package/dist/collection/components/table/table-body-cell/table-body-cell.js +2 -2
  138. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  139. package/dist/collection/components/table/table-body-row/table-body-row.js +2 -2
  140. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  141. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  142. package/dist/collection/components/table/table-header/table-header.js +2 -2
  143. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  144. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  145. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  146. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +4 -2
  147. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  148. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +5 -2
  149. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  150. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  151. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +8 -2
  152. package/dist/collection/components/text-field/text-field.js +9 -7
  153. package/dist/collection/components/textarea/textarea.js +14 -12
  154. package/dist/collection/components/toast/toast.js +3 -3
  155. package/dist/collection/components/toggle/toggle.js +4 -1
  156. package/dist/collection/components/tooltip/tooltip.js +2 -2
  157. package/dist/collection/utils/axeHelpers.js +3 -0
  158. package/dist/components/{p-4030e9bc.js → p-1e110ab8.js} +3 -3
  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-fcec766c.js → p-75437dea.js} +1 -1
  165. package/dist/components/{p-e46088d9.js → p-8f8b0827.js} +1 -1
  166. package/dist/components/{p-cfb1b588.js → p-9d7232d0.js} +2 -2
  167. package/dist/components/{p-e323cd2a.js → p-ad77fb02.js} +1 -1
  168. package/dist/components/{p-dddaa520.js → p-d1ace0be.js} +1 -1
  169. package/dist/components/{p-1aae42d5.js → p-dd6ff1e2.js} +221 -155
  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/tds-accordion-item.js +9 -5
  174. package/dist/components/tds-badge.js +6 -1
  175. package/dist/components/tds-banner.js +7 -3
  176. package/dist/components/tds-block.js +10 -6
  177. package/dist/components/tds-body-cell.js +2 -2
  178. package/dist/components/tds-breadcrumb.js +1 -1
  179. package/dist/components/tds-breadcrumbs.js +1 -1
  180. package/dist/components/tds-button.js +4 -2
  181. package/dist/components/tds-card.js +10 -6
  182. package/dist/components/tds-checkbox.js +1 -1
  183. package/dist/components/tds-chip.js +1 -1
  184. package/dist/components/tds-core-header-item.js +1 -1
  185. package/dist/components/tds-datetime.js +3 -3
  186. package/dist/components/tds-divider.js +1 -1
  187. package/dist/components/tds-dropdown-option.js +1 -1
  188. package/dist/components/tds-dropdown.js +1 -1
  189. package/dist/components/tds-folder-tab.js +4 -2
  190. package/dist/components/tds-folder-tabs.js +3 -3
  191. package/dist/components/tds-footer-group.js +4 -4
  192. package/dist/components/tds-footer-item.js +1 -1
  193. package/dist/components/tds-footer.js +3 -1
  194. package/dist/components/tds-header-brand-symbol.js +3 -3
  195. package/dist/components/tds-header-cell.js +2 -2
  196. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  197. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  198. package/dist/components/tds-header-dropdown-list.js +1 -1
  199. package/dist/components/tds-header-dropdown.js +8 -8
  200. package/dist/components/tds-header-hamburger.js +4 -4
  201. package/dist/components/tds-header-item.js +1 -1
  202. package/dist/components/tds-header-launcher-button.js +1 -1
  203. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  204. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  205. package/dist/components/tds-header-launcher-grid.js +1 -1
  206. package/dist/components/tds-header-launcher-list-item.js +2 -2
  207. package/dist/components/tds-header-launcher-list-title.js +1 -1
  208. package/dist/components/tds-header-launcher-list.js +2 -2
  209. package/dist/components/tds-header-launcher.js +8 -8
  210. package/dist/components/tds-header-title.js +1 -1
  211. package/dist/components/tds-header.js +1 -1
  212. package/dist/components/tds-icon.js +1 -1
  213. package/dist/components/tds-inline-tab.js +5 -2
  214. package/dist/components/tds-inline-tabs.js +3 -3
  215. package/dist/components/tds-link.js +5 -5
  216. package/dist/components/tds-message.js +7 -5
  217. package/dist/components/tds-modal.js +5 -2
  218. package/dist/components/tds-navigation-tab.js +2 -2
  219. package/dist/components/tds-navigation-tabs.js +9 -3
  220. package/dist/components/tds-popover-canvas.js +1 -1
  221. package/dist/components/tds-popover-core.js +1 -1
  222. package/dist/components/tds-popover-menu-item.js +2 -2
  223. package/dist/components/tds-popover-menu.js +3 -3
  224. package/dist/components/tds-radio-button.js +1 -1
  225. package/dist/components/tds-side-menu-close-button.js +2 -2
  226. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  227. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  228. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  229. package/dist/components/tds-side-menu-dropdown.js +5 -5
  230. package/dist/components/tds-side-menu-item.js +1 -1
  231. package/dist/components/tds-side-menu-overlay.js +1 -1
  232. package/dist/components/tds-side-menu-user-image.js +1 -1
  233. package/dist/components/tds-side-menu-user-label.js +1 -1
  234. package/dist/components/tds-side-menu-user.js +3 -3
  235. package/dist/components/tds-slider.js +9 -9
  236. package/dist/components/tds-spinner.js +1 -1
  237. package/dist/components/tds-step.js +2 -2
  238. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  239. package/dist/components/tds-table-body-row-expandable.js +7 -7
  240. package/dist/components/tds-table-body-row.js +3 -3
  241. package/dist/components/tds-table-body.js +2 -2
  242. package/dist/components/tds-table-footer.js +7 -7
  243. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  244. package/dist/components/tds-table-header.js +3 -3
  245. package/dist/components/tds-table-toolbar.js +3 -3
  246. package/dist/components/tds-text-field.js +9 -7
  247. package/dist/components/tds-textarea.js +15 -13
  248. package/dist/components/tds-toast.js +4 -4
  249. package/dist/components/tds-toggle.js +4 -1
  250. package/dist/components/tds-tooltip.js +3 -3
  251. package/dist/esm/loader.js +1 -1
  252. package/dist/esm/tds-accordion-item.entry.js +7 -4
  253. package/dist/esm/tds-badge.entry.js +6 -1
  254. package/dist/esm/tds-banner.entry.js +6 -2
  255. package/dist/esm/tds-block.entry.js +10 -6
  256. package/dist/esm/tds-body-cell.entry.js +2 -2
  257. package/dist/esm/tds-breadcrumb.entry.js +1 -1
  258. package/dist/esm/tds-breadcrumbs.entry.js +1 -1
  259. package/dist/esm/tds-button.entry.js +4 -2
  260. package/dist/esm/tds-card.entry.js +9 -5
  261. package/dist/esm/tds-checkbox.entry.js +2 -2
  262. package/dist/esm/tds-chip.entry.js +1 -1
  263. package/dist/esm/tds-core-header-item_2.entry.js +3 -3
  264. package/dist/esm/tds-datetime.entry.js +2 -2
  265. package/dist/esm/tds-divider.entry.js +1 -1
  266. package/dist/esm/tds-dropdown_2.entry.js +216 -147
  267. package/dist/esm/tds-folder-tab.entry.js +4 -2
  268. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  269. package/dist/esm/tds-footer-group.entry.js +3 -3
  270. package/dist/esm/tds-footer-item.entry.js +1 -1
  271. package/dist/esm/tds-footer.entry.js +3 -1
  272. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  273. package/dist/esm/tds-header-cell.entry.js +1 -1
  274. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  275. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  276. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  277. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  278. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  279. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  280. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  281. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  282. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  283. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  284. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  285. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  286. package/dist/esm/tds-header-launcher.entry.js +2 -2
  287. package/dist/esm/tds-header-title.entry.js +1 -1
  288. package/dist/esm/tds-header.entry.js +1 -1
  289. package/dist/esm/tds-icon.entry.js +1 -1
  290. package/dist/esm/tds-inline-tab.entry.js +5 -2
  291. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  292. package/dist/esm/tds-link.entry.js +5 -5
  293. package/dist/esm/tds-message.entry.js +6 -4
  294. package/dist/esm/tds-modal.entry.js +4 -1
  295. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  296. package/dist/esm/tds-navigation-tabs.entry.js +8 -2
  297. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  298. package/dist/esm/tds-popover-core.entry.js +1 -1
  299. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  300. package/dist/esm/tds-popover-menu.entry.js +2 -2
  301. package/dist/esm/tds-radio-button.entry.js +1 -1
  302. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  303. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  304. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  305. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  306. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  307. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  308. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  309. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  310. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  311. package/dist/esm/tds-slider.entry.js +8 -8
  312. package/dist/esm/tds-spinner.entry.js +1 -1
  313. package/dist/esm/tds-step.entry.js +1 -1
  314. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  315. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  316. package/dist/esm/tds-table-body-row.entry.js +2 -2
  317. package/dist/esm/tds-table-body.entry.js +2 -2
  318. package/dist/esm/tds-table-footer.entry.js +3 -3
  319. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  320. package/dist/esm/tds-table-header.entry.js +2 -2
  321. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  322. package/dist/esm/tds-text-field.entry.js +8 -6
  323. package/dist/esm/tds-textarea.entry.js +14 -12
  324. package/dist/esm/tds-toast.entry.js +3 -3
  325. package/dist/esm/tds-toggle.entry.js +4 -1
  326. package/dist/esm/tds-tooltip.entry.js +2 -2
  327. package/dist/esm/tegel.js +1 -1
  328. package/dist/tegel/{p-b4c7099f.entry.js → p-038c22ff.entry.js} +1 -1
  329. package/dist/tegel/{p-57f95a1b.entry.js → p-059a9499.entry.js} +1 -1
  330. package/dist/tegel/{p-9de400f4.entry.js → p-06968bd7.entry.js} +1 -1
  331. package/dist/tegel/{p-ede11de8.entry.js → p-0939b9fb.entry.js} +1 -1
  332. package/dist/tegel/p-0b773208.entry.js +1 -0
  333. package/dist/tegel/{p-7a83cf55.entry.js → p-0cb6c898.entry.js} +1 -1
  334. package/dist/tegel/{p-b9e37cf2.entry.js → p-1703f73a.entry.js} +1 -1
  335. package/dist/tegel/p-170ab61b.entry.js +1 -0
  336. package/dist/tegel/{p-ac46b0a4.entry.js → p-24ff5903.entry.js} +1 -1
  337. package/dist/tegel/{p-9bf7f5cd.entry.js → p-2795009a.entry.js} +1 -1
  338. package/dist/tegel/{p-4ab7461e.entry.js → p-2a38b053.entry.js} +1 -1
  339. package/dist/tegel/{p-6b405a0f.entry.js → p-2a96bd05.entry.js} +1 -1
  340. package/dist/tegel/{p-50fcdc56.entry.js → p-2f32991e.entry.js} +1 -1
  341. package/dist/tegel/p-32b7f431.entry.js +1 -0
  342. package/dist/tegel/p-39373227.entry.js +1 -0
  343. package/dist/tegel/{p-2557b79b.entry.js → p-3a32fe40.entry.js} +1 -1
  344. package/dist/tegel/p-3c22aef7.entry.js +1 -0
  345. package/dist/tegel/{p-bcae4d3a.entry.js → p-3d3ee51f.entry.js} +1 -1
  346. package/dist/tegel/p-3e144a83.entry.js +1 -0
  347. package/dist/tegel/p-3e1b1399.entry.js +1 -0
  348. package/dist/tegel/{p-2e44b4e9.entry.js → p-44c33b20.entry.js} +1 -1
  349. package/dist/tegel/p-48bbc11f.entry.js +1 -0
  350. package/dist/tegel/p-4a282c25.entry.js +1 -0
  351. package/dist/tegel/p-4b231bf9.entry.js +1 -0
  352. package/dist/tegel/{p-1634247e.entry.js → p-4b7c53a6.entry.js} +1 -1
  353. package/dist/tegel/{p-0df92ce7.entry.js → p-4c2f313d.entry.js} +1 -1
  354. package/dist/tegel/{p-ff5cd75f.entry.js → p-54154f09.entry.js} +1 -1
  355. package/dist/tegel/{p-ff7ae8a3.entry.js → p-59293f88.entry.js} +1 -1
  356. package/dist/tegel/{p-e63f827f.entry.js → p-5eaa23dc.entry.js} +1 -1
  357. package/dist/tegel/{p-bb129d43.entry.js → p-5fea857b.entry.js} +1 -1
  358. package/dist/tegel/{p-088bfcd4.entry.js → p-68859ddc.entry.js} +1 -1
  359. package/dist/tegel/p-69b38504.entry.js +1 -0
  360. package/dist/tegel/{p-a5a67770.entry.js → p-6d022f47.entry.js} +1 -1
  361. package/dist/tegel/{p-868435cd.entry.js → p-6eeded00.entry.js} +1 -1
  362. package/dist/tegel/{p-0f38bea7.entry.js → p-708a8bab.entry.js} +1 -1
  363. package/dist/tegel/p-7090a95c.entry.js +1 -0
  364. package/dist/tegel/{p-4e3e2601.entry.js → p-72106a5c.entry.js} +1 -1
  365. package/dist/tegel/{p-ed02ad2b.entry.js → p-7929d22f.entry.js} +1 -1
  366. package/dist/tegel/p-85a9032e.entry.js +1 -0
  367. package/dist/tegel/{p-f9325536.entry.js → p-86b30f71.entry.js} +1 -1
  368. package/dist/tegel/p-88204e0a.entry.js +1 -0
  369. package/dist/tegel/{p-6a52ed63.entry.js → p-9016758e.entry.js} +1 -1
  370. package/dist/tegel/p-92f81cda.entry.js +1 -0
  371. package/dist/tegel/p-93930c03.entry.js +1 -0
  372. package/dist/tegel/{p-aed1c5cf.entry.js → p-96bdf035.entry.js} +1 -1
  373. package/dist/tegel/{p-7097a39a.entry.js → p-99da056d.entry.js} +1 -1
  374. package/dist/tegel/p-9c3f2c12.entry.js +1 -0
  375. package/dist/tegel/{p-9c2dfecc.entry.js → p-9eaaa2c0.entry.js} +1 -1
  376. package/dist/tegel/p-a38dda58.entry.js +1 -0
  377. package/dist/tegel/{p-de540cc0.entry.js → p-a392e6e7.entry.js} +1 -1
  378. package/dist/tegel/p-a86fe122.entry.js +1 -0
  379. package/dist/tegel/{p-220affa9.entry.js → p-b19ce79c.entry.js} +1 -1
  380. package/dist/tegel/{p-987084a5.entry.js → p-b2018a5b.entry.js} +1 -1
  381. package/dist/tegel/{p-c790ef93.entry.js → p-b425b2f4.entry.js} +1 -1
  382. package/dist/tegel/p-b647d20e.entry.js +1 -0
  383. package/dist/tegel/{p-c18b2746.entry.js → p-b96cd80d.entry.js} +1 -1
  384. package/dist/tegel/{p-f1c172a4.entry.js → p-b9b63210.entry.js} +1 -1
  385. package/dist/tegel/p-be88c5ab.entry.js +1 -0
  386. package/dist/tegel/{p-91dcddd5.entry.js → p-c289dfb9.entry.js} +1 -1
  387. package/dist/tegel/p-cc2730d8.entry.js +1 -0
  388. package/dist/tegel/p-d1112915.entry.js +1 -0
  389. package/dist/tegel/{p-e65dba91.entry.js → p-d7f48112.entry.js} +1 -1
  390. package/dist/tegel/p-d926d075.entry.js +1 -0
  391. package/dist/tegel/{p-26ae4a93.entry.js → p-ddd33cce.entry.js} +1 -1
  392. package/dist/tegel/{p-c917d8be.entry.js → p-e478953c.entry.js} +1 -1
  393. package/dist/tegel/p-e7300cca.entry.js +1 -0
  394. package/dist/tegel/{p-6c26e66f.entry.js → p-e9ac7a1a.entry.js} +1 -1
  395. package/dist/tegel/{p-dd060c11.entry.js → p-ea4a9a4f.entry.js} +1 -1
  396. package/dist/tegel/p-ee0e04ed.entry.js +1 -0
  397. package/dist/tegel/p-f050aad8.entry.js +1 -0
  398. package/dist/tegel/{p-e7108828.entry.js → p-f4db0231.entry.js} +1 -1
  399. package/dist/tegel/p-f67b4047.entry.js +1 -0
  400. package/dist/tegel/{p-a642c800.entry.js → p-fd3d56aa.entry.js} +1 -1
  401. package/dist/tegel/{p-06d2fa56.entry.js → p-fd432c54.entry.js} +1 -1
  402. package/dist/tegel/{p-ad434031.entry.js → p-ffd827ef.entry.js} +1 -1
  403. package/dist/tegel/tegel.esm.js +1 -1
  404. package/dist/types/components/accordion/accordion-item/accordion-item.d.ts +2 -0
  405. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  406. package/dist/types/components/dropdown/dropdown.d.ts +36 -26
  407. package/dist/types/components.d.ts +19 -21
  408. package/dist/types/utils/axeHelpers.d.ts +2 -0
  409. package/package.json +5 -5
  410. package/dist/tegel/p-12303135.entry.js +0 -1
  411. package/dist/tegel/p-1a2f3852.entry.js +0 -1
  412. package/dist/tegel/p-1bc2c73c.entry.js +0 -1
  413. package/dist/tegel/p-54a105a4.entry.js +0 -1
  414. package/dist/tegel/p-5a891dd2.entry.js +0 -1
  415. package/dist/tegel/p-5d0e8f1e.entry.js +0 -1
  416. package/dist/tegel/p-6938329a.entry.js +0 -1
  417. package/dist/tegel/p-693e48cf.entry.js +0 -1
  418. package/dist/tegel/p-6aabf7e1.entry.js +0 -1
  419. package/dist/tegel/p-7d39487c.entry.js +0 -1
  420. package/dist/tegel/p-7d83ba98.entry.js +0 -1
  421. package/dist/tegel/p-845e1fca.entry.js +0 -1
  422. package/dist/tegel/p-930e767e.entry.js +0 -1
  423. package/dist/tegel/p-959a6780.entry.js +0 -1
  424. package/dist/tegel/p-9aefb942.entry.js +0 -1
  425. package/dist/tegel/p-a9654cd4.entry.js +0 -1
  426. package/dist/tegel/p-b00bcf39.entry.js +0 -1
  427. package/dist/tegel/p-b9ac3122.entry.js +0 -1
  428. package/dist/tegel/p-bda3d846.entry.js +0 -1
  429. package/dist/tegel/p-cd5219ac.entry.js +0 -1
  430. package/dist/tegel/p-d1cbe5be.entry.js +0 -1
  431. package/dist/tegel/p-dcbd977f.entry.js +0 -1
  432. package/dist/tegel/p-e13935b6.entry.js +0 -1
  433. package/dist/tegel/p-e86f2d31.entry.js +0 -1
  434. package/dist/tegel/p-e97a2700.entry.js +0 -1
  435. package/dist/tegel/p-f45d905c.entry.js +0 -1
  436. package/dist/tegel/p-f841f094.entry.js +0 -1
  437. package/dist/tegel/p-fc0079d2.entry.js +0 -1
@@ -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"]);
@@ -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", {
@@ -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
75
  if (this.defaultValue) {
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
82
  ? new Set(this.defaultValue.split(','))
79
83
  : [this.defaultValue];
80
- const normalizedValues = Array.from(defaultValues);
81
- this.updateDropdownState(normalizedValues);
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.defaultValue}"`);
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,101 +236,107 @@ 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
- }
230
243
  }
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));
244
+ /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
245
+ async reset() {
246
+ this.dropdownList.scrollTop = 0;
247
+ this.internalReset();
248
+ this.handleChange();
244
249
  }
245
- updateDropdownState(values) {
246
- // Update internal state
247
- this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
248
- // Then update the value prop to match
249
- this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
250
- // Force update of internal value
251
- this.internalValue = this.getValue();
252
- // Update DOM
253
- this.updateOptionElements();
254
- // Update display value
255
- this.updateDisplayValue();
256
- // Emit change event
257
- this.emitChange();
258
- // Update value attribute
259
- this.setValueAttribute();
250
+ /** Method that forces focus on the input element. */
251
+ async focusElement() {
252
+ this.focusInputElement();
253
+ this.handleFocus({});
260
254
  }
261
- validateValues(values) {
262
- return values.filter((val) => {
263
- var _a;
264
- const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
265
- if (!isValid) {
266
- console.warn(`Option with value "${val}" does not exist`);
255
+ /** Method for setting the value of the Dropdown.
256
+ *
257
+ * Single selection example:
258
+ *
259
+ * <code>
260
+ * dropdown.setValue('option-1', 'Option 1');
261
+ * </code>
262
+ *
263
+ * Multiselect example:
264
+ *
265
+ * <code>
266
+ * dropdown.setValue(['option-1', 'option-2']);
267
+ * </code>
268
+ */
269
+ // The label is optional here ONLY to not break the API. Should be removed for 2.0.
270
+ // @ts-ignore
271
+ // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
272
+ async setValue(value, label) {
273
+ let nextValue;
274
+ if (typeof value === 'string')
275
+ nextValue = [value];
276
+ else
277
+ nextValue = value;
278
+ if (!this.multiselect && nextValue.length > 1) {
279
+ console.warn('Tried to select multiple items, but multiselect is not enabled.');
280
+ nextValue = [nextValue[0]];
281
+ }
282
+ nextValue = [...new Set(nextValue)];
283
+ this.internalReset();
284
+ for (let i = 0; i < nextValue.length; i++) {
285
+ const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
286
+ if (!optionExist) {
287
+ nextValue.splice(i, 1);
267
288
  }
268
- return isValid;
269
- });
270
- }
271
- updateOptionElements() {
272
- var _a;
273
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
274
- element.setSelected(this.selectedOptions.includes(element.value));
275
- });
276
- }
277
- updateDisplayValue() {
278
- this.internalValue = this.getSelectedChildrenLabels().join(', ');
279
- if (this.filter && this.inputElement) {
280
- this.inputElement.value = this.internalValue;
281
289
  }
282
- }
283
- emitChange() {
284
- const value = this.multiselect
285
- ? this.selectedOptions.join(',')
286
- : this.selectedOptions[0] || null;
287
- this.tdsChange.emit({
288
- name: this.name,
289
- value: value !== null && value !== void 0 ? value : null,
290
- });
291
- }
292
- async setValue(value) {
293
- const normalizedValue = this.normalizeValue(value);
294
- this.updateDropdownState(normalizedValue);
295
- return this.getSelectedChildren().map((element) => ({
290
+ this.value = nextValue;
291
+ this.setValueAttribute();
292
+ this.selectChildrenAsSelectedBasedOnSelectionProp();
293
+ this.handleChange();
294
+ /* 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. */
295
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
296
+ const selection = this.getSelectedChildren().map((element) => ({
296
297
  value: element.value,
297
298
  label: element.textContent.trim(),
298
299
  }));
300
+ // Update inputElement value and placeholder text
301
+ if (this.filter) {
302
+ this.inputElement.value = this.getValue();
303
+ }
304
+ return selection;
299
305
  }
300
- async reset() {
301
- this.updateDropdownState([]);
306
+ /**
307
+ * @internal
308
+ */
309
+ async appendValue(value) {
310
+ if (this.multiselect && this.value) {
311
+ this.setValue([...this.value, value]);
312
+ }
313
+ else {
314
+ this.setValue(value);
315
+ }
302
316
  }
317
+ /** Method for removing a selected value in the Dropdown. */
303
318
  async removeValue(oldValue) {
304
- const newValues = this.selectedOptions.filter((v) => v !== oldValue);
305
- this.updateDropdownState(newValues);
306
- }
307
- /** Method that forces focus on the input element. */
308
- async focusElement() {
309
- this.focusInputElement();
310
- this.handleFocus({});
319
+ var _a, _b;
320
+ let label;
321
+ if (this.multiselect) {
322
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
323
+ var _a;
324
+ if (element.value === oldValue) {
325
+ this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
326
+ label = element.textContent.trim();
327
+ element.setSelected(false);
328
+ }
329
+ return element;
330
+ });
331
+ }
332
+ else {
333
+ this.reset();
334
+ }
335
+ this.handleChange();
336
+ this.setValueAttribute();
337
+ /* 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. */
338
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
339
+ return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
311
340
  }
312
341
  /** Method for closing the Dropdown. */
313
342
  async close() {
@@ -356,15 +385,12 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
356
385
  handleOpenState() {
357
386
  if (this.filter && this.multiselect) {
358
387
  if (!this.open) {
359
- this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
388
+ this.inputElement.value = this.getValue();
360
389
  }
361
390
  }
362
391
  }
363
392
  componentWillLoad() {
364
- if (this.defaultValue && !this.value) {
365
- const initialValue = this.multiselect ? this.defaultValue.split(',') : [this.defaultValue];
366
- this.updateDropdownState(initialValue);
367
- }
393
+ this.setDefaultOption();
368
394
  }
369
395
  /** Method to handle slot changes */
370
396
  handleSlotChange() {
@@ -374,13 +400,29 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
374
400
  normalizeString(text) {
375
401
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
376
402
  }
377
- async appendValue(value) {
378
- if (this.multiselect) {
379
- this.updateDropdownState([...this.selectedOptions, value]);
380
- }
381
- else {
382
- this.updateDropdownState([value]);
383
- }
403
+ /** Method that resets the dropdown without emitting an event. */
404
+ internalReset() {
405
+ this.getChildren().forEach((element) => {
406
+ element.setSelected(false);
407
+ return element;
408
+ });
409
+ this.value = null;
410
+ this.setValueAttribute();
411
+ }
412
+ selectChildrenAsSelectedBasedOnSelectionProp() {
413
+ this.getChildren().forEach((element) => {
414
+ this.value.forEach((selection) => {
415
+ if (element.value !== selection) {
416
+ // If not multiselect, we need to unselect all other options.
417
+ if (!this.multiselect) {
418
+ element.setSelected(false);
419
+ }
420
+ }
421
+ else {
422
+ element.setSelected(true);
423
+ }
424
+ });
425
+ });
384
426
  }
385
427
  componentDidRender() {
386
428
  const form = this.host.closest('form');
@@ -395,8 +437,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
395
437
  }
396
438
  }
397
439
  render() {
398
- appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
399
- return (h(Host, { key: 'e61969b03dc211a0007166d7319285cc50207910', role: "select", class: `${this.modeVariant ? `tds-mode-variant-${this.modeVariant}` : ''}` }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'd97ce5d02635b30698564226be8c55b477f42de5', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '29099efd6d106a5c6013ac83a545c290bb1d0af7', class: `dropdown-select ${this.size} ${this.disabled ? 'disabled' : ''}` }, this.filter ? (h("div", { class: {
440
+ var _a, _b, _c, _d;
441
+ appendHiddenInput(this.host, this.name, (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString(), this.disabled);
442
+ return (h(Host, { key: '3b547dda7bede0ae8e020d976d08ed9d8bf50356', role: "select", class: {
443
+ [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
444
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'ca3c45bce793171f4af249b4c007d4279599f2b4', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: 'fb12d8b69a4430977b3269f44f9b5e5600965cc1', class: {
445
+ 'dropdown-select': true,
446
+ [this.size]: true,
447
+ 'disabled': this.disabled,
448
+ } }, this.filter ? (h("div", { class: {
400
449
  filter: true,
401
450
  focus: this.filterFocus,
402
451
  disabled: this.disabled,
@@ -404,16 +453,26 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
404
453
  } }, 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: `
405
454
  label-inside-as-placeholder
406
455
  ${this.size}
407
- ${this.selectedOptions.length ? 'selected' : ''}
456
+ ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
408
457
  ` }, this.label)), h("input", {
409
458
  // eslint-disable-next-line no-return-assign
410
- 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) => {
459
+ ref: (inputEl) => (this.inputElement = inputEl), class: {
460
+ placeholder: this.labelPosition === 'inside',
461
+ }, 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
462
  this.filterFocus = false;
412
463
  if (this.multiselect) {
413
464
  this.inputElement.value = this.getValue();
414
465
  }
415
466
  this.handleBlur(event);
416
- }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
467
+ }, onFocus: (event) => {
468
+ this.open = true;
469
+ this.filterFocus = true;
470
+ if (this.multiselect) {
471
+ this.inputElement.value = '';
472
+ }
473
+ this.handleFocus(event);
474
+ this.handleFilter({ target: { value: '' } });
475
+ }, onKeyDown: (event) => {
417
476
  if (event.key === 'Escape') {
418
477
  this.open = false;
419
478
  }
@@ -422,7 +481,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
422
481
  if (event.key === 'Enter') {
423
482
  this.handleFilterReset();
424
483
  }
425
- }, class: `clear-icon ${this.open && this.inputElement.value !== '' ? '' : 'hide'}`, name: "cross", size: "16px" }), h("tds-icon", { tabIndex: 0, role: "button", "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", onClick: this.handleToggleOpen, onKeyDown: (event) => {
484
+ }, class: {
485
+ 'clear-icon': true,
486
+ 'hide': !(this.open && this.inputElement.value !== ''),
487
+ }, name: "cross", size: "16px" }), h("tds-icon", { tabIndex: 0, role: "button", "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", onClick: this.handleToggleOpen, onKeyDown: (event) => {
426
488
  if (event.key === 'Enter') {
427
489
  this.handleToggleOpen();
428
490
  }
@@ -430,15 +492,19 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
430
492
  if (event.key === 'Escape') {
431
493
  this.open = false;
432
494
  }
433
- }, class: `
434
- ${this.selectedOptions.length ? 'value' : 'placeholder'}
435
- ${this.open ? 'open' : 'closed'}
436
- ${this.error ? 'error' : ''}
437
- `, 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: `
438
- label-inside-as-placeholder
439
- ${this.size}
440
- ${this.selectedOptions.length ? 'selected' : ''}
441
- ` }, 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: '04cf1b3b829f482b189a59fb5fd8f9c3932b4982', ref: (element) => (this.dropdownList = element), class: {
495
+ }, class: {
496
+ value: Boolean(this.value),
497
+ placeholder: Boolean(!this.value),
498
+ open: this.open,
499
+ closed: !this.open,
500
+ error: this.error,
501
+ }, 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: {
502
+ 'label-inside-as-placeholder': true,
503
+ [this.size]: true,
504
+ 'selected': Boolean((_c = this.value) === null || _c === void 0 ? void 0 : _c.length),
505
+ } }, 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: 'b734958a92e331bc6fcd07a0cf716219cec235c1', ref: (element) => {
506
+ this.dropdownList = element;
507
+ }, class: {
442
508
  'dropdown-list': true,
443
509
  [this.size]: true,
444
510
  [this.getOpenDirection()]: true,
@@ -447,11 +513,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
447
513
  'closed': !this.open,
448
514
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
449
515
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
450
- } }, h("slot", { key: '3dce31c592336d9b5c2e8e5fa25a0a8ff23694d3', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '7f1e8b0d7fff2f09412f389507ff7c2f2430a70b', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: '0c728acc0d233f674ad7bc394176aa89b01ee66d', class: `helper ${this.error ? 'error' : ''} ${this.disabled ? 'disabled' : ''}` }, this.error && h("tds-icon", { key: '65691c3c11f4b6c908028475c03d1f4b6f35ce74', name: "error", size: "16px" }), this.helper))));
516
+ } }, h("slot", { key: '85d5f7599b21df148a34416fb271c894ff6a2e3e', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '5009c99ade06605dd2605e28f59b82e78e3f3bec', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: '88d55d60aac26a3c5af04bfa74b6649d5d893fce', class: {
517
+ helper: true,
518
+ error: this.error,
519
+ disabled: this.disabled,
520
+ } }, this.error && h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
451
521
  }
452
522
  get host() { return this; }
453
523
  static get watchers() { return {
454
- "value": ["handleValueChange"],
455
524
  "open": ["handleOpenState"]
456
525
  }; }
457
526
  static get style() { return TdsDropdownStyle0; }
@@ -472,20 +541,17 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
472
541
  "normalizeText": [4, "normalize-text"],
473
542
  "noResultText": [1, "no-result-text"],
474
543
  "defaultValue": [1, "default-value"],
475
- "value": [1025],
476
544
  "open": [32],
477
- "internalValue": [32],
545
+ "value": [32],
478
546
  "filterResult": [32],
479
547
  "filterFocus": [32],
480
- "selectedOptions": [32],
481
- "setValue": [64],
482
548
  "reset": [64],
483
- "removeValue": [64],
484
549
  "focusElement": [64],
485
- "close": [64],
486
- "appendValue": [64]
550
+ "setValue": [64],
551
+ "appendValue": [64],
552
+ "removeValue": [64],
553
+ "close": [64]
487
554
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
488
- "value": ["handleValueChange"],
489
555
  "open": ["handleOpenState"]
490
556
  }]);
491
557
  function defineCustomElement() {