@scania/tegel 1.23.0-value-prop.beta.5 → 1.24.0-a11y-block-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +12 -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 -145
  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 +36 -7
  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 -219
  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-4030e9bc.js → p-1e110ab8.js} +3 -3
  160. package/dist/components/{p-0c3cab16.js → p-2ef329f1.js} +2 -2
  161. package/dist/components/{p-5e1a9abc.js → p-3351035f.js} +1 -1
  162. package/dist/components/{p-0676aa23.js → p-3a7f88ff.js} +3 -3
  163. package/dist/components/{p-09d36119.js → p-4bdaf254.js} +1 -1
  164. package/dist/components/{p-30de8ac4.js → p-707a562e.js} +1 -1
  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-98a2c82d.js → p-dd6ff1e2.js} +221 -153
  171. package/dist/components/{p-d921fe75.js → p-eac79032.js} +2 -2
  172. package/dist/components/{p-aea7fa6b.js → p-f0a50868.js} +3 -3
  173. package/dist/components/{p-8a2d7b2f.js → p-f1980746.js} +4 -4
  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 +14 -7
  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 +12 -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 +216 -145
  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-b4c7099f.entry.js → p-038c22ff.entry.js} +1 -1
  330. package/dist/tegel/{p-57f95a1b.entry.js → p-059a9499.entry.js} +1 -1
  331. package/dist/tegel/{p-9de400f4.entry.js → p-06968bd7.entry.js} +1 -1
  332. package/dist/tegel/{p-ede11de8.entry.js → p-0939b9fb.entry.js} +1 -1
  333. package/dist/tegel/p-0b773208.entry.js +1 -0
  334. package/dist/tegel/{p-7a83cf55.entry.js → p-0cb6c898.entry.js} +1 -1
  335. package/dist/tegel/{p-b9e37cf2.entry.js → p-1703f73a.entry.js} +1 -1
  336. package/dist/tegel/p-170ab61b.entry.js +1 -0
  337. package/dist/tegel/{p-ac46b0a4.entry.js → p-24ff5903.entry.js} +1 -1
  338. package/dist/tegel/{p-9bf7f5cd.entry.js → p-2795009a.entry.js} +1 -1
  339. package/dist/tegel/{p-4ab7461e.entry.js → p-2a38b053.entry.js} +1 -1
  340. package/dist/tegel/{p-6b405a0f.entry.js → p-2a96bd05.entry.js} +1 -1
  341. package/dist/tegel/{p-50fcdc56.entry.js → p-2f32991e.entry.js} +1 -1
  342. package/dist/tegel/p-32b7f431.entry.js +1 -0
  343. package/dist/tegel/p-39373227.entry.js +1 -0
  344. package/dist/tegel/{p-2557b79b.entry.js → p-3a32fe40.entry.js} +1 -1
  345. package/dist/tegel/p-3c22aef7.entry.js +1 -0
  346. package/dist/tegel/{p-bcae4d3a.entry.js → p-3d3ee51f.entry.js} +1 -1
  347. package/dist/tegel/p-3e144a83.entry.js +1 -0
  348. package/dist/tegel/p-3e1b1399.entry.js +1 -0
  349. package/dist/tegel/{p-2e44b4e9.entry.js → p-44c33b20.entry.js} +1 -1
  350. package/dist/tegel/p-48bbc11f.entry.js +1 -0
  351. package/dist/tegel/p-4a282c25.entry.js +1 -0
  352. package/dist/tegel/p-4b231bf9.entry.js +1 -0
  353. package/dist/tegel/{p-1634247e.entry.js → p-4b7c53a6.entry.js} +1 -1
  354. package/dist/tegel/{p-0df92ce7.entry.js → p-4c2f313d.entry.js} +1 -1
  355. package/dist/tegel/{p-ff5cd75f.entry.js → p-54154f09.entry.js} +1 -1
  356. package/dist/tegel/{p-ff7ae8a3.entry.js → p-59293f88.entry.js} +1 -1
  357. package/dist/tegel/p-5eaa23dc.entry.js +1 -0
  358. package/dist/tegel/{p-bb129d43.entry.js → p-5fea857b.entry.js} +1 -1
  359. package/dist/tegel/{p-088bfcd4.entry.js → p-68859ddc.entry.js} +1 -1
  360. package/dist/tegel/p-69b38504.entry.js +1 -0
  361. package/dist/tegel/{p-a5a67770.entry.js → p-6d022f47.entry.js} +1 -1
  362. package/dist/tegel/{p-868435cd.entry.js → p-6eeded00.entry.js} +1 -1
  363. package/dist/tegel/{p-0f38bea7.entry.js → p-708a8bab.entry.js} +1 -1
  364. package/dist/tegel/p-7090a95c.entry.js +1 -0
  365. package/dist/tegel/{p-4e3e2601.entry.js → p-72106a5c.entry.js} +1 -1
  366. package/dist/tegel/{p-ed02ad2b.entry.js → p-7929d22f.entry.js} +1 -1
  367. package/dist/tegel/p-85a9032e.entry.js +1 -0
  368. package/dist/tegel/{p-f9325536.entry.js → p-86b30f71.entry.js} +1 -1
  369. package/dist/tegel/p-88204e0a.entry.js +1 -0
  370. package/dist/tegel/{p-6a52ed63.entry.js → p-9016758e.entry.js} +1 -1
  371. package/dist/tegel/p-92f81cda.entry.js +1 -0
  372. package/dist/tegel/p-93930c03.entry.js +1 -0
  373. package/dist/tegel/{p-aed1c5cf.entry.js → p-96bdf035.entry.js} +1 -1
  374. package/dist/tegel/{p-7097a39a.entry.js → p-99da056d.entry.js} +1 -1
  375. package/dist/tegel/p-9c3f2c12.entry.js +1 -0
  376. package/dist/tegel/{p-9c2dfecc.entry.js → p-9eaaa2c0.entry.js} +1 -1
  377. package/dist/tegel/p-a38dda58.entry.js +1 -0
  378. package/dist/tegel/{p-de540cc0.entry.js → p-a392e6e7.entry.js} +1 -1
  379. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  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-26ae4a93.entry.js → p-ddd33cce.entry.js} +1 -1
  393. package/dist/tegel/{p-c917d8be.entry.js → p-e478953c.entry.js} +1 -1
  394. package/dist/tegel/p-e7300cca.entry.js +1 -0
  395. package/dist/tegel/{p-6c26e66f.entry.js → p-e9ac7a1a.entry.js} +1 -1
  396. package/dist/tegel/{p-dd060c11.entry.js → p-ea4a9a4f.entry.js} +1 -1
  397. package/dist/tegel/p-ee0e04ed.entry.js +1 -0
  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/block/block.d.ts +8 -1
  407. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  408. package/dist/types/components/dropdown/dropdown.d.ts +36 -26
  409. package/dist/types/components.d.ts +61 -21
  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
@@ -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,99 +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);
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();
250
+ /** Method that forces focus on the input element. */
251
+ async focusElement() {
252
+ this.focusInputElement();
253
+ this.handleFocus({});
258
254
  }
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`);
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);
265
288
  }
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
289
  }
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) => ({
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) => ({
294
297
  value: element.value,
295
298
  label: element.textContent.trim(),
296
299
  }));
300
+ // Update inputElement value and placeholder text
301
+ if (this.filter) {
302
+ this.inputElement.value = this.getValue();
303
+ }
304
+ return selection;
297
305
  }
298
- async reset() {
299
- 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
+ }
300
316
  }
317
+ /** Method for removing a selected value in the Dropdown. */
301
318
  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({});
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 }));
309
340
  }
310
341
  /** Method for closing the Dropdown. */
311
342
  async close() {
@@ -354,15 +385,12 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
354
385
  handleOpenState() {
355
386
  if (this.filter && this.multiselect) {
356
387
  if (!this.open) {
357
- this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
388
+ this.inputElement.value = this.getValue();
358
389
  }
359
390
  }
360
391
  }
361
392
  componentWillLoad() {
362
- if (this.defaultValue && !this.value) {
363
- const initialValue = this.multiselect ? this.defaultValue.split(',') : [this.defaultValue];
364
- this.updateDropdownState(initialValue);
365
- }
393
+ this.setDefaultOption();
366
394
  }
367
395
  /** Method to handle slot changes */
368
396
  handleSlotChange() {
@@ -372,13 +400,29 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
372
400
  normalizeString(text) {
373
401
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
374
402
  }
375
- async appendValue(value) {
376
- if (this.multiselect) {
377
- this.updateDropdownState([...this.selectedOptions, value]);
378
- }
379
- else {
380
- this.updateDropdownState([value]);
381
- }
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
+ });
382
426
  }
383
427
  componentDidRender() {
384
428
  const form = this.host.closest('form');
@@ -393,8 +437,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
393
437
  }
394
438
  }
395
439
  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: {
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: {
398
449
  filter: true,
399
450
  focus: this.filterFocus,
400
451
  disabled: this.disabled,
@@ -402,16 +453,26 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
402
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: `
403
454
  label-inside-as-placeholder
404
455
  ${this.size}
405
- ${this.selectedOptions.length ? 'selected' : ''}
456
+ ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
406
457
  ` }, this.label)), h("input", {
407
458
  // eslint-disable-next-line no-return-assign
408
- 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) => {
409
462
  this.filterFocus = false;
410
463
  if (this.multiselect) {
411
464
  this.inputElement.value = this.getValue();
412
465
  }
413
466
  this.handleBlur(event);
414
- }, 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) => {
415
476
  if (event.key === 'Escape') {
416
477
  this.open = false;
417
478
  }
@@ -420,7 +481,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
420
481
  if (event.key === 'Enter') {
421
482
  this.handleFilterReset();
422
483
  }
423
- }, 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) => {
424
488
  if (event.key === 'Enter') {
425
489
  this.handleToggleOpen();
426
490
  }
@@ -428,15 +492,19 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
428
492
  if (event.key === 'Escape') {
429
493
  this.open = false;
430
494
  }
431
- }, class: `
432
- ${this.selectedOptions.length ? 'value' : 'placeholder'}
433
- ${this.open ? 'open' : 'closed'}
434
- ${this.error ? 'error' : ''}
435
- `, 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
- label-inside-as-placeholder
437
- ${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: {
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: {
440
508
  'dropdown-list': true,
441
509
  [this.size]: true,
442
510
  [this.getOpenDirection()]: true,
@@ -445,11 +513,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
445
513
  'closed': !this.open,
446
514
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
447
515
  [`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))));
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))));
449
521
  }
450
522
  get host() { return this; }
451
523
  static get watchers() { return {
452
- "value": ["handleValueChange"],
453
524
  "open": ["handleOpenState"]
454
525
  }; }
455
526
  static get style() { return TdsDropdownStyle0; }
@@ -470,20 +541,17 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
470
541
  "normalizeText": [4, "normalize-text"],
471
542
  "noResultText": [1, "no-result-text"],
472
543
  "defaultValue": [1, "default-value"],
473
- "value": [1025],
474
544
  "open": [32],
475
- "internalValue": [32],
545
+ "value": [32],
476
546
  "filterResult": [32],
477
547
  "filterFocus": [32],
478
- "selectedOptions": [32],
479
- "setValue": [64],
480
548
  "reset": [64],
481
- "removeValue": [64],
482
549
  "focusElement": [64],
483
- "close": [64],
484
- "appendValue": [64]
550
+ "setValue": [64],
551
+ "appendValue": [64],
552
+ "removeValue": [64],
553
+ "close": [64]
485
554
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
486
- "value": ["handleValueChange"],
487
555
  "open": ["handleOpenState"]
488
556
  }]);
489
557
  function defineCustomElement() {
@@ -57,11 +57,11 @@ const TdsCheckbox = /*@__PURE__*/ proxyCustomElement(class TdsCheckbox extends H
57
57
  }
58
58
  }
59
59
  render() {
60
- return (h("div", { key: '068b73081ab2b1b24d58fd2afd70f2b0e4308745', class: "tds-checkbox" }, h("input", { key: '97bd225b10dea56b8166ce3d5c2e4569a7dc76f9',
60
+ return (h("div", { key: '1d0a8257cd1710277e076b4a277dff2c0c89b3d8', class: "tds-checkbox" }, h("input", { key: '689144e40c0be61db6b82aa6eaeb7ff3d09d7d72',
61
61
  // eslint-disable-next-line no-return-assign
62
62
  ref: (inputElement) => (this.inputElement = inputElement), indeterminate: this.indeterminate, "aria-checked": this.checked, "aria-required": this.required, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), required: this.required, type: "checkbox", name: this.name, value: this.value, id: this.checkboxId, checked: this.checked, disabled: this.disabled, onFocus: (event) => this.handleFocus(event), onBlur: (event) => this.handleBlur(event), onChange: () => {
63
63
  this.handleChange();
64
- } }), h("label", { key: '9cfe0411c9b26d12229de7fdb9421b333da0199c', htmlFor: this.checkboxId }, h("slot", { key: '17d2e45ddf05aa409926f3df82caab7a4f110b72', name: "label" }))));
64
+ } }), h("label", { key: '534eed7aa114861c528be0b776879484a35348bf', htmlFor: this.checkboxId }, h("slot", { key: 'db59bcc78f7f2be94037651b880a5ef149b90747', name: "label" }))));
65
65
  }
66
66
  get host() { return this; }
67
67
  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 { i as inheritAttributes } from './p-3fe9cbbf.js';
3
- import { d as defineCustomElement$1 } from './p-5e1a9abc.js';
3
+ import { d as defineCustomElement$1 } from './p-3351035f.js';
4
4
 
5
5
  const popoverCanvasCss = ".tds-popover-canvas.sc-tds-popover-canvas{box-sizing:border-box;display:inline-block;color:var(--tds-popover-canvas-color);background-color:var(--tds-popover-canvas-background);box-shadow:0 3px 3px rgba(0, 0, 0, 0.15), 0 -1px 1px rgba(0, 0, 0, 0.1);border-radius:4px;z-index:900}.tds-popover-canvas.sc-tds-popover-canvas *.sc-tds-popover-canvas{box-sizing:border-box}";
6
6
  const TdsPopoverCanvasStyle0 = popoverCanvasCss;
@@ -31,12 +31,12 @@ const TdsPopoverCanvas = /*@__PURE__*/ proxyCustomElement(class TdsPopoverCanvas
31
31
  }
32
32
  render() {
33
33
  var _a;
34
- return (h(Host, { key: '13a6fe4800b9efc612ec21d20da5b2c2c9cdc2ce' }, h("tds-popover-core", Object.assign({ key: 'e3912733d09d6b7e5aa8bc2f5f6e87d828a2b07b' }, this.inheritedAttributes, { class: {
34
+ return (h(Host, { key: '6e23edc224b529194c9911295149528f284dd619' }, h("tds-popover-core", Object.assign({ key: '3a61648cb95b48a3972d8b953711254af918309a' }, this.inheritedAttributes, { class: {
35
35
  'tds-popover-canvas': true,
36
36
  [(_a = this.inheritedAttributes.class) !== null && _a !== void 0 ? _a : '']: true,
37
37
  }, selector: this.selector, referenceEl: this.referenceEl, show: this.show, placement: this.placement, offsetSkidding: this.offsetSkidding, offsetDistance: this.offsetDistance, modifiers: this.modifiers, trigger: 'click', ref: (el) => {
38
38
  this.childRef = el;
39
- }, defaultShow: this.defaultShow, animation: this.animation }), h("div", { key: '69bfa1b736a60777b578de6a0d4c4959c0a21781' }, h("slot", { key: '01776b37392ff7f23d35ff10fa647214d6567d1d' })))));
39
+ }, defaultShow: this.defaultShow, animation: this.animation }), h("div", { key: '6134b2a420449dd93c8fd14c6fc83b1e51e1922a' }, h("slot", { key: 'c805717c849fbc9c5933c4f7232c4edc22dc003d' })))));
40
40
  }
41
41
  get host() { return this; }
42
42
  static get style() { return TdsPopoverCanvasStyle0; }
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { i as inheritAriaAttributes } from './p-0bd4c19c.js';
3
- import { d as defineCustomElement$3 } from './p-30de8ac4.js';
4
- import { d as defineCustomElement$2 } from './p-0676aa23.js';
5
- import { d as defineCustomElement$1 } from './p-e323cd2a.js';
3
+ import { d as defineCustomElement$3 } from './p-707a562e.js';
4
+ import { d as defineCustomElement$2 } from './p-3a7f88ff.js';
5
+ import { d as defineCustomElement$1 } from './p-ad77fb02.js';
6
6
 
7
7
  const headerLauncherButtonCss = ":host{display:block}:host tds-header-item{display:block}:host .icon{position:relative;margin-left:-6px;left:3px;transition:all 0.2s ease-in-out}";
8
8
  const TdsHeaderLauncherButtonStyle0 = headerLauncherButtonCss;
@@ -17,7 +17,7 @@ const TdsHeaderLauncherButton = /*@__PURE__*/ proxyCustomElement(class TdsHeader
17
17
  render() {
18
18
  this.ariaAttributes = Object.assign(Object.assign({}, this.ariaAttributes), inheritAriaAttributes(this.host));
19
19
  const buttonProps = Object.assign({}, this.ariaAttributes);
20
- return (h(Host, { key: 'ee714e05a3585542850f433cd81ed25d95a14070' }, h("tds-header-item", { key: '0a7c7b20fa872c1ccd4e0760b9f68743ec6c761f', active: this.active }, h("button", Object.assign({ key: '1b0c93c04e5206dc47fe3df3a158e16ed624f8e1' }, buttonProps), h("tds-icon", { key: '11a961f7e11d741108a450ef1a2fa1b22f5520a8', class: "icon", name: "bento", size: "20px" })))));
20
+ return (h(Host, { key: 'ffe903179bae0b20240541dabc867ad291a88890' }, h("tds-header-item", { key: '4104afafab4e15d15e452e7d5b35bfa8b6911e4b', active: this.active }, h("button", Object.assign({ key: '1285f504631cb4606456beda892946bcd5da12c0' }, buttonProps), h("tds-icon", { key: '973233afc8d4e19df3cdcae48b770f8c5f46c7c7', class: "icon", name: "bento", size: "20px" })))));
21
21
  }
22
22
  get host() { return this; }
23
23
  static get style() { return TdsHeaderLauncherButtonStyle0; }