@scania/tegel 1.25.0-fix-a11y-chip-more-improvements-beta.0 → 1.25.0-fix-a11y-text-field-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-badge.cjs.entry.js +9 -5
  3. package/dist/cjs/tds-banner.cjs.entry.js +4 -3
  4. package/dist/cjs/tds-block.cjs.entry.js +1 -3
  5. package/dist/cjs/tds-body-cell.cjs.entry.js +2 -2
  6. package/dist/cjs/tds-breadcrumb.cjs.entry.js +2 -2
  7. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +1 -7
  8. package/dist/cjs/tds-button.cjs.entry.js +4 -12
  9. package/dist/cjs/tds-card.cjs.entry.js +5 -5
  10. package/dist/cjs/tds-checkbox.cjs.entry.js +2 -2
  11. package/dist/cjs/tds-chip.cjs.entry.js +2 -12
  12. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +3 -40
  13. package/dist/cjs/tds-datetime.cjs.entry.js +13 -20
  14. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  15. package/dist/cjs/tds-dropdown_2.cjs.entry.js +199 -186
  16. package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -2
  17. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  18. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  19. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  20. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  21. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  22. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  23. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  24. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  25. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  26. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  27. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  28. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  29. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  35. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  36. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  37. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  38. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-inline-tab.cjs.entry.js +2 -2
  40. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  41. package/dist/cjs/tds-link.cjs.entry.js +2 -2
  42. package/dist/cjs/tds-message.cjs.entry.js +2 -2
  43. package/dist/cjs/tds-modal.cjs.entry.js +2 -2
  44. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  45. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +4 -4
  46. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  47. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  48. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +2 -2
  49. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  50. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  51. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  52. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  53. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  54. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  55. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +3 -3
  56. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  57. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  58. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  59. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  60. package/dist/cjs/tds-slider.cjs.entry.js +7 -7
  61. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  62. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  63. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  64. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  65. package/dist/cjs/tds-table-body-row.cjs.entry.js +2 -2
  66. package/dist/cjs/tds-table-body.cjs.entry.js +2 -2
  67. package/dist/cjs/tds-table-footer.cjs.entry.js +3 -3
  68. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  69. package/dist/cjs/tds-table-header.cjs.entry.js +2 -2
  70. package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
  71. package/dist/cjs/tds-text-field.cjs.entry.js +13 -7
  72. package/dist/cjs/tds-toggle.cjs.entry.js +2 -11
  73. package/dist/cjs/tegel.cjs.js +1 -1
  74. package/dist/collection/components/badge/badge.js +9 -24
  75. package/dist/collection/components/banner/banner.js +4 -21
  76. package/dist/collection/components/block/block.js +2 -27
  77. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.css +10 -9
  78. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +2 -2
  79. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -30
  80. package/dist/collection/components/button/button.css +3 -3
  81. package/dist/collection/components/button/button.js +3 -28
  82. package/dist/collection/components/card/card.js +5 -5
  83. package/dist/collection/components/checkbox/checkbox.js +2 -2
  84. package/dist/collection/components/chip/chip.js +3 -30
  85. package/dist/collection/components/datetime/datetime.css +0 -20
  86. package/dist/collection/components/datetime/datetime.js +15 -22
  87. package/dist/collection/components/divider/divider.js +1 -1
  88. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +6 -16
  89. package/dist/collection/components/dropdown/dropdown.js +242 -236
  90. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  91. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  92. package/dist/collection/components/footer/footer.js +2 -2
  93. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  94. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  95. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  96. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  97. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  98. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  99. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  100. package/dist/collection/components/header/header-item/header-item.js +2 -39
  101. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  102. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  103. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  104. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  105. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  106. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  107. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  108. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  109. package/dist/collection/components/header/header-title/header-title.js +1 -1
  110. package/dist/collection/components/header/header.js +1 -1
  111. package/dist/collection/components/icon/icon.js +1 -1
  112. package/dist/collection/components/link/link.js +2 -2
  113. package/dist/collection/components/message/message.js +2 -2
  114. package/dist/collection/components/modal/modal.js +2 -2
  115. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  116. package/dist/collection/components/popover-core/popover-core.js +1 -1
  117. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  118. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  119. package/dist/collection/components/radio-button/radio-button.js +1 -1
  120. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  121. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  122. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  123. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  124. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  125. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  126. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  127. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  128. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  129. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  130. package/dist/collection/components/slider/slider.js +7 -7
  131. package/dist/collection/components/spinner/spinner.js +1 -1
  132. package/dist/collection/components/stepper/step/step.js +1 -1
  133. package/dist/collection/components/table/table-body/table-body.js +2 -2
  134. package/dist/collection/components/table/table-body-cell/table-body-cell.js +2 -2
  135. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  136. package/dist/collection/components/table/table-body-row/table-body-row.js +2 -2
  137. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  138. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  139. package/dist/collection/components/table/table-header/table-header.js +2 -2
  140. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  141. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  142. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  143. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +2 -2
  144. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  145. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +2 -2
  146. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  147. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  148. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +4 -4
  149. package/dist/collection/components/text-field/text-field.js +31 -8
  150. package/dist/collection/components/toggle/toggle.js +2 -28
  151. package/dist/collection/utils/axeHelpers.js +1 -1
  152. package/dist/components/{p-0e6efec9.js → p-2ef329f1.js} +2 -2
  153. package/dist/components/{p-4764a1d5.js → p-3351035f.js} +1 -1
  154. package/dist/components/{p-d61bd22e.js → p-3a7f88ff.js} +3 -40
  155. package/dist/components/{p-a64dc22e.js → p-467fe701.js} +199 -179
  156. package/dist/components/{p-265c3467.js → p-4bdaf254.js} +1 -1
  157. package/dist/components/{p-2a43e410.js → p-6c2d5c85.js} +8 -18
  158. package/dist/components/{p-e49a0ceb.js → p-707a562e.js} +1 -1
  159. package/dist/components/{p-34737ed9.js → p-75437dea.js} +1 -1
  160. package/dist/components/{p-e8d2dbbf.js → p-8f8b0827.js} +1 -1
  161. package/dist/components/{p-8c849aa2.js → p-9d7232d0.js} +2 -2
  162. package/dist/components/{p-a2b7bdef.js → p-ad77fb02.js} +1 -1
  163. package/dist/components/{p-3e93886d.js → p-d1ace0be.js} +1 -1
  164. package/dist/components/{p-c65351ab.js → p-eac79032.js} +2 -2
  165. package/dist/components/{p-29d19dc8.js → p-f0a50868.js} +3 -3
  166. package/dist/components/{p-4c1e3344.js → p-f1980746.js} +4 -4
  167. package/dist/components/tds-accordion-item.js +1 -1
  168. package/dist/components/tds-badge.js +9 -7
  169. package/dist/components/tds-banner.js +5 -5
  170. package/dist/components/tds-block.js +2 -5
  171. package/dist/components/tds-body-cell.js +2 -2
  172. package/dist/components/tds-breadcrumb.js +3 -3
  173. package/dist/components/tds-breadcrumbs.js +2 -10
  174. package/dist/components/tds-button.js +4 -13
  175. package/dist/components/tds-card.js +6 -6
  176. package/dist/components/tds-checkbox.js +1 -1
  177. package/dist/components/tds-chip.js +3 -14
  178. package/dist/components/tds-core-header-item.js +1 -1
  179. package/dist/components/tds-datetime.js +14 -21
  180. package/dist/components/tds-divider.js +1 -1
  181. package/dist/components/tds-dropdown-option.js +1 -1
  182. package/dist/components/tds-dropdown.js +1 -1
  183. package/dist/components/tds-folder-tab.js +2 -2
  184. package/dist/components/tds-folder-tabs.js +3 -3
  185. package/dist/components/tds-footer-group.js +4 -4
  186. package/dist/components/tds-footer-item.js +1 -1
  187. package/dist/components/tds-footer.js +2 -2
  188. package/dist/components/tds-header-brand-symbol.js +3 -3
  189. package/dist/components/tds-header-cell.js +2 -2
  190. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  191. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  192. package/dist/components/tds-header-dropdown-list.js +1 -1
  193. package/dist/components/tds-header-dropdown.js +8 -8
  194. package/dist/components/tds-header-hamburger.js +4 -4
  195. package/dist/components/tds-header-item.js +1 -1
  196. package/dist/components/tds-header-launcher-button.js +1 -1
  197. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  198. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  199. package/dist/components/tds-header-launcher-grid.js +1 -1
  200. package/dist/components/tds-header-launcher-list-item.js +2 -2
  201. package/dist/components/tds-header-launcher-list-title.js +1 -1
  202. package/dist/components/tds-header-launcher-list.js +2 -2
  203. package/dist/components/tds-header-launcher.js +8 -8
  204. package/dist/components/tds-header-title.js +1 -1
  205. package/dist/components/tds-header.js +1 -1
  206. package/dist/components/tds-icon.js +1 -1
  207. package/dist/components/tds-inline-tab.js +2 -2
  208. package/dist/components/tds-inline-tabs.js +3 -3
  209. package/dist/components/tds-link.js +2 -2
  210. package/dist/components/tds-message.js +3 -3
  211. package/dist/components/tds-modal.js +3 -3
  212. package/dist/components/tds-navigation-tab.js +2 -2
  213. package/dist/components/tds-navigation-tabs.js +5 -5
  214. package/dist/components/tds-popover-canvas.js +1 -1
  215. package/dist/components/tds-popover-core.js +1 -1
  216. package/dist/components/tds-popover-menu-item.js +2 -2
  217. package/dist/components/tds-popover-menu.js +3 -3
  218. package/dist/components/tds-radio-button.js +1 -1
  219. package/dist/components/tds-side-menu-close-button.js +2 -2
  220. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  221. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  222. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  223. package/dist/components/tds-side-menu-dropdown.js +5 -5
  224. package/dist/components/tds-side-menu-item.js +1 -1
  225. package/dist/components/tds-side-menu-overlay.js +1 -1
  226. package/dist/components/tds-side-menu-user-image.js +1 -1
  227. package/dist/components/tds-side-menu-user-label.js +1 -1
  228. package/dist/components/tds-side-menu-user.js +3 -3
  229. package/dist/components/tds-slider.js +8 -8
  230. package/dist/components/tds-spinner.js +1 -1
  231. package/dist/components/tds-step.js +2 -2
  232. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  233. package/dist/components/tds-table-body-row-expandable.js +7 -7
  234. package/dist/components/tds-table-body-row.js +3 -3
  235. package/dist/components/tds-table-body.js +2 -2
  236. package/dist/components/tds-table-footer.js +7 -7
  237. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  238. package/dist/components/tds-table-header.js +3 -3
  239. package/dist/components/tds-table-toolbar.js +3 -3
  240. package/dist/components/tds-text-field.js +15 -8
  241. package/dist/components/tds-textarea.js +1 -1
  242. package/dist/components/tds-toast.js +1 -1
  243. package/dist/components/tds-toggle.js +2 -12
  244. package/dist/components/tds-tooltip.js +1 -1
  245. package/dist/esm/loader.js +1 -1
  246. package/dist/esm/tds-badge.entry.js +9 -5
  247. package/dist/esm/tds-banner.entry.js +4 -3
  248. package/dist/esm/tds-block.entry.js +1 -3
  249. package/dist/esm/tds-body-cell.entry.js +2 -2
  250. package/dist/esm/tds-breadcrumb.entry.js +3 -3
  251. package/dist/esm/tds-breadcrumbs.entry.js +1 -7
  252. package/dist/esm/tds-button.entry.js +4 -12
  253. package/dist/esm/tds-card.entry.js +5 -5
  254. package/dist/esm/tds-checkbox.entry.js +2 -2
  255. package/dist/esm/tds-chip.entry.js +2 -12
  256. package/dist/esm/tds-core-header-item_2.entry.js +3 -40
  257. package/dist/esm/tds-datetime.entry.js +13 -20
  258. package/dist/esm/tds-divider.entry.js +1 -1
  259. package/dist/esm/tds-dropdown_2.entry.js +199 -186
  260. package/dist/esm/tds-folder-tab.entry.js +2 -2
  261. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  262. package/dist/esm/tds-footer-group.entry.js +3 -3
  263. package/dist/esm/tds-footer-item.entry.js +1 -1
  264. package/dist/esm/tds-footer.entry.js +2 -2
  265. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  266. package/dist/esm/tds-header-cell.entry.js +1 -1
  267. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  268. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  269. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  270. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  271. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  272. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  273. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  274. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  275. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  276. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  277. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  278. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  279. package/dist/esm/tds-header-launcher.entry.js +2 -2
  280. package/dist/esm/tds-header-title.entry.js +1 -1
  281. package/dist/esm/tds-header.entry.js +1 -1
  282. package/dist/esm/tds-icon.entry.js +1 -1
  283. package/dist/esm/tds-inline-tab.entry.js +2 -2
  284. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  285. package/dist/esm/tds-link.entry.js +2 -2
  286. package/dist/esm/tds-message.entry.js +2 -2
  287. package/dist/esm/tds-modal.entry.js +2 -2
  288. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  289. package/dist/esm/tds-navigation-tabs.entry.js +4 -4
  290. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  291. package/dist/esm/tds-popover-core.entry.js +1 -1
  292. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  293. package/dist/esm/tds-popover-menu.entry.js +2 -2
  294. package/dist/esm/tds-radio-button.entry.js +1 -1
  295. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  296. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  297. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  298. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  299. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  300. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  301. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  302. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  303. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  304. package/dist/esm/tds-slider.entry.js +7 -7
  305. package/dist/esm/tds-spinner.entry.js +1 -1
  306. package/dist/esm/tds-step.entry.js +1 -1
  307. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  308. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  309. package/dist/esm/tds-table-body-row.entry.js +2 -2
  310. package/dist/esm/tds-table-body.entry.js +2 -2
  311. package/dist/esm/tds-table-footer.entry.js +3 -3
  312. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  313. package/dist/esm/tds-table-header.entry.js +2 -2
  314. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  315. package/dist/esm/tds-text-field.entry.js +13 -7
  316. package/dist/esm/tds-toggle.entry.js +2 -11
  317. package/dist/esm/tegel.js +1 -1
  318. package/dist/tegel/{p-542d7b3e.entry.js → p-038c22ff.entry.js} +1 -1
  319. package/dist/tegel/{p-288a09ef.entry.js → p-059a9499.entry.js} +1 -1
  320. package/dist/tegel/{p-60b38806.entry.js → p-06968bd7.entry.js} +1 -1
  321. package/dist/tegel/p-0939b9fb.entry.js +1 -0
  322. package/dist/tegel/{p-dcbc35af.entry.js → p-0b773208.entry.js} +1 -1
  323. package/dist/tegel/p-0ca2ff52.entry.js +1 -0
  324. package/dist/tegel/p-1703f73a.entry.js +1 -0
  325. package/dist/tegel/p-1aecae56.entry.js +1 -0
  326. package/dist/tegel/{p-ca93de01.entry.js → p-24ff5903.entry.js} +1 -1
  327. package/dist/tegel/{p-ed17283a.entry.js → p-2795009a.entry.js} +1 -1
  328. package/dist/tegel/{p-c8404432.entry.js → p-2a38b053.entry.js} +1 -1
  329. package/dist/tegel/{p-d853f8c2.entry.js → p-2a96bd05.entry.js} +1 -1
  330. package/dist/tegel/{p-96635c10.entry.js → p-2f32991e.entry.js} +1 -1
  331. package/dist/tegel/p-32b7f431.entry.js +1 -0
  332. package/dist/tegel/p-39373227.entry.js +1 -0
  333. package/dist/tegel/{p-848c2732.entry.js → p-3a32fe40.entry.js} +1 -1
  334. package/dist/tegel/p-3c22aef7.entry.js +1 -0
  335. package/dist/tegel/{p-74fc9c92.entry.js → p-3d3ee51f.entry.js} +1 -1
  336. package/dist/tegel/{p-035e58e6.entry.js → p-3e144a83.entry.js} +1 -1
  337. package/dist/tegel/p-3e1b1399.entry.js +1 -0
  338. package/dist/tegel/{p-7c4c65c9.entry.js → p-44c33b20.entry.js} +1 -1
  339. package/dist/tegel/p-48bbc11f.entry.js +1 -0
  340. package/dist/tegel/{p-72fd0083.entry.js → p-4a282c25.entry.js} +1 -1
  341. package/dist/tegel/p-4b231bf9.entry.js +1 -0
  342. package/dist/tegel/{p-78d5acd7.entry.js → p-4b7c53a6.entry.js} +1 -1
  343. package/dist/tegel/p-4c2f313d.entry.js +1 -0
  344. package/dist/tegel/{p-77d457b8.entry.js → p-54154f09.entry.js} +1 -1
  345. package/dist/tegel/{p-93a4bd11.entry.js → p-59293f88.entry.js} +1 -1
  346. package/dist/tegel/{p-5a7110b8.entry.js → p-5eaa23dc.entry.js} +1 -1
  347. package/dist/tegel/{p-d47c744f.entry.js → p-5fea857b.entry.js} +1 -1
  348. package/dist/tegel/p-69b38504.entry.js +1 -0
  349. package/dist/tegel/{p-d267665e.entry.js → p-6d022f47.entry.js} +1 -1
  350. package/dist/tegel/{p-19eb4ae1.entry.js → p-6eeded00.entry.js} +1 -1
  351. package/dist/tegel/{p-bee533b5.entry.js → p-708a8bab.entry.js} +1 -1
  352. package/dist/tegel/p-7090a95c.entry.js +1 -0
  353. package/dist/tegel/{p-168122a7.entry.js → p-72106a5c.entry.js} +1 -1
  354. package/dist/tegel/p-7276921b.entry.js +1 -0
  355. package/dist/tegel/{p-654785d2.entry.js → p-7929d22f.entry.js} +1 -1
  356. package/dist/tegel/p-85a9032e.entry.js +1 -0
  357. package/dist/tegel/{p-aef6b130.entry.js → p-86b30f71.entry.js} +1 -1
  358. package/dist/tegel/{p-ea3e071f.entry.js → p-88204e0a.entry.js} +1 -1
  359. package/dist/tegel/{p-64c80f14.entry.js → p-9016758e.entry.js} +1 -1
  360. package/dist/tegel/p-92f81cda.entry.js +1 -0
  361. package/dist/tegel/{p-5ba254ee.entry.js → p-93930c03.entry.js} +1 -1
  362. package/dist/tegel/{p-aa9d281b.entry.js → p-96bdf035.entry.js} +1 -1
  363. package/dist/tegel/{p-c56be8d1.entry.js → p-99da056d.entry.js} +1 -1
  364. package/dist/tegel/{p-4e33cbda.entry.js → p-9c3f2c12.entry.js} +1 -1
  365. package/dist/tegel/p-a38dda58.entry.js +1 -0
  366. package/dist/tegel/{p-fa07db58.entry.js → p-a392e6e7.entry.js} +1 -1
  367. package/dist/tegel/{p-b39ffad4.entry.js → p-a86fe122.entry.js} +1 -1
  368. package/dist/tegel/{p-cde32bc6.entry.js → p-ab0528bf.entry.js} +1 -1
  369. package/dist/tegel/{p-1b390acb.entry.js → p-b0a5eba7.entry.js} +1 -1
  370. package/dist/tegel/{p-3204ae8f.entry.js → p-b2018a5b.entry.js} +1 -1
  371. package/dist/tegel/{p-4ee344e5.entry.js → p-b425b2f4.entry.js} +1 -1
  372. package/dist/tegel/p-b647d20e.entry.js +1 -0
  373. package/dist/tegel/{p-b9576881.entry.js → p-b96cd80d.entry.js} +1 -1
  374. package/dist/tegel/{p-f1b0211a.entry.js → p-b9b63210.entry.js} +1 -1
  375. package/dist/tegel/{p-a0fc0cc2.entry.js → p-c289dfb9.entry.js} +1 -1
  376. package/dist/tegel/{p-34b793c9.entry.js → p-cc2730d8.entry.js} +1 -1
  377. package/dist/tegel/p-d7f48112.entry.js +1 -0
  378. package/dist/tegel/p-d926d075.entry.js +1 -0
  379. package/dist/tegel/p-ddd33cce.entry.js +1 -0
  380. package/dist/tegel/{p-ee7f07ae.entry.js → p-e478953c.entry.js} +1 -1
  381. package/dist/tegel/{p-b686f1ad.entry.js → p-e7300cca.entry.js} +1 -1
  382. package/dist/tegel/{p-d33cb2d1.entry.js → p-e9ac7a1a.entry.js} +1 -1
  383. package/dist/tegel/p-ea4a9a4f.entry.js +1 -0
  384. package/dist/tegel/p-f050aad8.entry.js +1 -0
  385. package/dist/tegel/p-f4db0231.entry.js +1 -0
  386. package/dist/tegel/{p-b6526302.entry.js → p-fd3d56aa.entry.js} +1 -1
  387. package/dist/tegel/{p-dfbbaefd.entry.js → p-fd432c54.entry.js} +1 -1
  388. package/dist/tegel/p-ffd827ef.entry.js +1 -0
  389. package/dist/tegel/tegel.esm.js +1 -1
  390. package/dist/types/components/badge/badge.d.ts +0 -3
  391. package/dist/types/components/banner/banner.d.ts +0 -4
  392. package/dist/types/components/block/block.d.ts +1 -8
  393. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +0 -3
  394. package/dist/types/components/button/button.d.ts +0 -3
  395. package/dist/types/components/chip/chip.d.ts +0 -3
  396. package/dist/types/components/datetime/datetime.d.ts +2 -2
  397. package/dist/types/components/dropdown/dropdown.d.ts +23 -24
  398. package/dist/types/components/header/header-item/header-item.d.ts +0 -7
  399. package/dist/types/components/text-field/text-field.d.ts +4 -1
  400. package/dist/types/components/toggle/toggle.d.ts +0 -5
  401. package/dist/types/components.d.ts +27 -108
  402. package/package.json +1 -1
  403. package/dist/tegel/p-01edebef.entry.js +0 -1
  404. package/dist/tegel/p-065d6f83.entry.js +0 -1
  405. package/dist/tegel/p-32be63ea.entry.js +0 -1
  406. package/dist/tegel/p-3c2f7033.entry.js +0 -1
  407. package/dist/tegel/p-46205cfb.entry.js +0 -1
  408. package/dist/tegel/p-4d5963d0.entry.js +0 -1
  409. package/dist/tegel/p-4f5f152a.entry.js +0 -1
  410. package/dist/tegel/p-4fe6512b.entry.js +0 -1
  411. package/dist/tegel/p-5242a1f6.entry.js +0 -1
  412. package/dist/tegel/p-6f17d37f.entry.js +0 -1
  413. package/dist/tegel/p-70795d6e.entry.js +0 -1
  414. package/dist/tegel/p-77c79b91.entry.js +0 -1
  415. package/dist/tegel/p-868757d9.entry.js +0 -1
  416. package/dist/tegel/p-8c8b9908.entry.js +0 -1
  417. package/dist/tegel/p-9e0b31a1.entry.js +0 -1
  418. package/dist/tegel/p-a5e0f030.entry.js +0 -1
  419. package/dist/tegel/p-ae46766a.entry.js +0 -1
  420. package/dist/tegel/p-b08886e3.entry.js +0 -1
  421. package/dist/tegel/p-b5ced8e5.entry.js +0 -1
  422. package/dist/tegel/p-b9f81e53.entry.js +0 -1
  423. package/dist/tegel/p-be1d1345.entry.js +0 -1
  424. package/dist/tegel/p-cc6c06e3.entry.js +0 -1
  425. package/dist/tegel/p-d0abf078.entry.js +0 -1
  426. package/dist/tegel/p-d65dfe04.entry.js +0 -1
  427. package/dist/tegel/p-d9511720.entry.js +0 -1
@@ -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-e49a0ceb.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;
@@ -36,53 +36,16 @@ const TdsHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsHeaderItem exten
36
36
  this.updateSlotted(isImage, addImageClass);
37
37
  }
38
38
  }
39
- /**
40
- * Read the native "order" attribute on the host and update the CSS order accordingly.
41
- * If the attribute "order" has the value "end", the order is set to 1. Otherwise, 0.
42
- */
43
- updateOrder() {
44
- const orderValue = this.host.getAttribute('order');
45
- switch (orderValue) {
46
- case 'end':
47
- this.host.style.order = '1';
48
- break;
49
- case 'start':
50
- case null:
51
- default:
52
- this.host.style.order = '0';
53
- break;
54
- }
55
- }
56
39
  componentDidLoad() {
57
40
  this.slotEl = this.host.shadowRoot.querySelector('slot');
58
41
  this.updateSlottedElements();
59
42
  this.slotEl.addEventListener('slotchange', this.updateSlottedElements);
60
- // Set the order on initial load.
61
- this.updateOrder();
62
- // Create a MutationObserver to listen for changes on the "order" attribute.
63
- this.mutationObserver = new MutationObserver((mutations) => {
64
- mutations.forEach((mutation) => {
65
- if (mutation.type === 'attributes' && mutation.attributeName === 'order') {
66
- this.updateOrder();
67
- }
68
- });
69
- });
70
- // Start observing the host element for attribute changes (specifically "order").
71
- this.mutationObserver.observe(this.host, {
72
- attributes: true,
73
- attributeFilter: ['order'],
74
- });
75
- }
76
- disconnectedCallback() {
77
- if (this.mutationObserver) {
78
- this.mutationObserver.disconnect();
79
- }
80
43
  }
81
44
  render() {
82
- return (h(Host, { key: '04494c94f296aeaed5dc491c2ebf31450e15efc1' }, h("tds-core-header-item", { key: '8a699bc7134795ca9670a0f21a688dc3efadd51a', class: {
45
+ return (h(Host, { key: '7317ab5668685390e2671908dd41855715267b1c' }, h("tds-core-header-item", { key: 'befc861a437912245c22413bbf774617fa84b289', class: {
83
46
  'component-active': this.active,
84
47
  'component-selected': this.selected,
85
- } }, h("slot", { key: 'd0c443c281df9015bbdbffd1b56035d2c7e0cca2' }))));
48
+ } }, h("slot", { key: 'f4405b3881dc0d6e4b86f96aa90d0b045c7bf2d8' }))));
86
49
  }
87
50
  get host() { return this; }
88
51
  static get style() { return TdsHeaderItemStyle0; }
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
2
2
  import { c as convertArrayToStrings, a as convertToString } from './p-b1d21573.js';
3
- import { d as defineCustomElement$1 } from './p-a2b7bdef.js';
3
+ import { d as defineCustomElement$1 } from './p-ad77fb02.js';
4
4
 
5
5
  /**
6
6
  * Find the next focusable element index in a list of focusable elements.
@@ -74,13 +74,33 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
74
74
  this.tdsInput = createEvent(this, "tdsInput", 6);
75
75
  this.setDefaultOption = () => {
76
76
  if (this.internalDefaultValue) {
77
- // Convert the internal default value to an array if it's not already
77
+ const children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
78
+ if (children.length === 0) {
79
+ console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
80
+ return;
81
+ }
78
82
  const defaultValues = this.multiselect
79
- ? this.internalDefaultValue.split(',')
83
+ ? new Set(this.internalDefaultValue.split(','))
80
84
  : [this.internalDefaultValue];
81
- this.updateDropdownState(defaultValues);
85
+ const childrenMap = new Map(children.map((element) => [element.value, element]));
86
+ const matchedValues = Array.from(defaultValues).filter((value) => {
87
+ const element = childrenMap.get(value);
88
+ if (element) {
89
+ element.setSelected(true);
90
+ return true;
91
+ }
92
+ return false;
93
+ });
94
+ if (matchedValues.length > 0) {
95
+ this.value = [...new Set(this.value ? [...this.value, ...matchedValues] : matchedValues)];
96
+ this.setValueAttribute();
97
+ }
98
+ else {
99
+ console.warn(`TDS DROPDOWN: No matching option found for defaultValue "${this.internalDefaultValue}"`);
100
+ }
82
101
  }
83
102
  };
103
+ /* Returns a list of all children that are tds-dropdown-option elements */
84
104
  this.getChildren = () => {
85
105
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
86
106
  if (tdsDropdownOptions.length === 0) {
@@ -89,36 +109,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
89
109
  else
90
110
  return tdsDropdownOptions;
91
111
  };
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
112
  this.getOpenDirection = () => {
123
113
  var _a, _b, _c, _d, _e;
124
114
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -132,6 +122,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
132
122
  }
133
123
  return this.openDirection;
134
124
  };
125
+ /* Toggles the open state of the Dropdown and sets focus to the input element */
135
126
  this.handleToggleOpen = () => {
136
127
  if (!this.disabled) {
137
128
  this.open = !this.open;
@@ -140,10 +131,38 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
140
131
  }
141
132
  }
142
133
  };
134
+ /* Focuses the input element in the Dropdown, if the reference is present. */
143
135
  this.focusInputElement = () => {
144
136
  if (this.inputElement)
145
137
  this.inputElement.focus();
146
138
  };
139
+ this.getSelectedChildren = () => {
140
+ var _a;
141
+ return (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((stringValue) => {
142
+ const matchingElement = this.getChildren().find((element) => element.value === stringValue);
143
+ return matchingElement;
144
+ }).filter(Boolean);
145
+ };
146
+ this.getSelectedChildrenLabels = () => {
147
+ var _a;
148
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
149
+ };
150
+ this.getValue = () => {
151
+ const labels = this.getSelectedChildrenLabels();
152
+ if (!labels) {
153
+ return '';
154
+ }
155
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
156
+ };
157
+ this.setValueAttribute = () => {
158
+ var _a;
159
+ if (!this.value || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) === '') {
160
+ this.host.removeAttribute('value');
161
+ }
162
+ else {
163
+ this.host.setAttribute('value', convertArrayToStrings(this.value).join(','));
164
+ }
165
+ };
147
166
  this.handleFilter = (event) => {
148
167
  this.tdsInput.emit(event);
149
168
  const query = event.target.value.toLowerCase();
@@ -174,10 +193,8 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
174
193
  this.handleFilterReset = () => {
175
194
  this.reset();
176
195
  this.inputElement.value = '';
177
- this.handleFilter({ target: { value: '' } });
196
+ this.handleFilter({ target: { value: this.inputElement.value } });
178
197
  this.inputElement.focus();
179
- // Add this line to ensure internal value is cleared
180
- this.internalValue = '';
181
198
  };
182
199
  this.handleFocus = (event) => {
183
200
  this.open = true;
@@ -191,6 +208,12 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
191
208
  this.handleBlur = (event) => {
192
209
  this.tdsBlur.emit(event);
193
210
  };
211
+ this.handleChange = () => {
212
+ this.tdsChange.emit({
213
+ name: this.name,
214
+ value: this.value ? convertArrayToStrings(this.value).join(',') : null,
215
+ });
216
+ };
194
217
  this.resetInput = () => {
195
218
  const inputEl = this.host.querySelector('input');
196
219
  if (inputEl) {
@@ -213,111 +236,17 @@ 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
243
  this.internalDefaultValue = undefined;
222
- this.selectedOptions = [];
223
- }
224
- handleValueChange(newValue) {
225
- // Normalize to array
226
- const normalizedValue = this.normalizeValue(newValue);
227
- // Only update if actually changed
228
- if (this.hasValueChanged(normalizedValue, this.selectedOptions)) {
229
- this.updateDropdownState(normalizedValue);
230
- }
231
- }
232
- normalizeValue(value) {
233
- if (!value || value === '')
234
- return []; // Handle both null and empty string
235
- // For multiselect, keep array. For single select, wrap in array
236
- if (this.multiselect) {
237
- if (Array.isArray(value)) {
238
- return convertArrayToStrings(value);
239
- }
240
- return value
241
- .toString()
242
- .split(',')
243
- .filter((v) => v !== '');
244
- }
245
- // Single select - convert to string array
246
- return Array.isArray(value) ? convertArrayToStrings(value) : [convertToString(value)];
247
- }
248
- hasValueChanged(newValue, currentValue) {
249
- if (newValue.length !== currentValue.length)
250
- return true;
251
- return newValue.some((val) => !currentValue.includes(val));
252
- }
253
- updateDropdownState(values) {
254
- // Update internal state
255
- this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
256
- // Then update the value prop to match
257
- this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
258
- // Force update of internal value
259
- this.internalValue = this.getValue();
260
- // Update DOM
261
- this.updateOptionElements();
262
- // Update display value
263
- this.updateDisplayValue();
264
- // Emit change event
265
- this.emitChange();
266
- // Update value attribute
267
- this.setValueAttribute();
268
- }
269
- validateValues(values) {
270
- return values.filter((val) => {
271
- var _a;
272
- const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
273
- if (!isValid) {
274
- console.warn(`Option with value "${val}" does not exist`);
275
- }
276
- return isValid;
277
- });
278
- }
279
- updateOptionElements() {
280
- var _a;
281
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
282
- // Convert element.value to string for comparison
283
- element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
284
- });
285
- }
286
- updateDisplayValue() {
287
- this.internalValue = this.getSelectedChildrenLabels().join(', ');
288
- if (this.filter && this.inputElement) {
289
- this.inputElement.value = this.internalValue;
290
- }
291
- }
292
- emitChange() {
293
- const value = this.multiselect
294
- ? this.selectedOptions.join(',')
295
- : this.selectedOptions[0] || null;
296
- this.tdsChange.emit({
297
- name: this.name,
298
- value: value !== null && value !== void 0 ? value : null,
299
- });
300
- }
301
- async setValue(value) {
302
- let normalizedValue;
303
- if (Array.isArray(value)) {
304
- normalizedValue = convertArrayToStrings(value);
305
- }
306
- else {
307
- normalizedValue = [convertToString(value)];
308
- }
309
- this.updateDropdownState(normalizedValue);
310
- return this.getSelectedChildren().map((element) => ({
311
- value: element.value,
312
- label: element.textContent.trim(),
313
- }));
314
244
  }
245
+ /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
315
246
  async reset() {
316
- this.updateDropdownState([]);
317
- }
318
- async removeValue(oldValue) {
319
- const newValues = this.selectedOptions.filter((v) => v !== oldValue);
320
- this.updateDropdownState(newValues);
247
+ this.dropdownList.scrollTop = 0;
248
+ this.internalReset();
249
+ this.handleChange();
321
250
  }
322
251
  /** Method that forces focus on the input element. */
323
252
  async focusElement() {
@@ -338,6 +267,81 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
338
267
  * dropdown.setValue(['option-1', 'option-2']);
339
268
  * </code>
340
269
  */
270
+ // The label is optional here ONLY to not break the API. Should be removed for 2.0.
271
+ // @ts-ignore
272
+ // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
273
+ async setValue(value) {
274
+ let nextValue;
275
+ if (Array.isArray(value)) {
276
+ nextValue = convertArrayToStrings(value);
277
+ }
278
+ else {
279
+ nextValue = [convertToString(value)];
280
+ }
281
+ if (!this.multiselect && nextValue.length > 1) {
282
+ console.warn('Tried to select multiple items, but multiselect is not enabled.');
283
+ nextValue = [nextValue[0]];
284
+ }
285
+ nextValue = [...new Set(nextValue)];
286
+ this.internalReset();
287
+ for (let i = 0; i < nextValue.length; i++) {
288
+ const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
289
+ if (!optionExist) {
290
+ nextValue.splice(i, 1);
291
+ }
292
+ }
293
+ this.value = nextValue;
294
+ this.setValueAttribute();
295
+ this.selectChildrenAsSelectedBasedOnSelectionProp();
296
+ this.handleChange();
297
+ /* 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. */
298
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
299
+ const selection = this.getSelectedChildren().map((element) => ({
300
+ value: element.value,
301
+ label: element.textContent.trim(),
302
+ }));
303
+ // Update inputElement value and placeholder text
304
+ if (this.filter) {
305
+ this.inputElement.value = this.getValue();
306
+ }
307
+ return selection;
308
+ }
309
+ /**
310
+ * @internal
311
+ */
312
+ async appendValue(value) {
313
+ if (this.multiselect && this.value) {
314
+ this.setValue([...this.value, value]);
315
+ }
316
+ else {
317
+ this.setValue(value);
318
+ }
319
+ }
320
+ /** Method for removing a selected value in the Dropdown. */
321
+ async removeValue(oldValue) {
322
+ var _a, _b;
323
+ let label;
324
+ if (this.multiselect) {
325
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
326
+ var _a;
327
+ if (element.value === oldValue) {
328
+ this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
329
+ label = element.textContent.trim();
330
+ element.setSelected(false);
331
+ }
332
+ return element;
333
+ });
334
+ }
335
+ else {
336
+ this.reset();
337
+ }
338
+ this.handleChange();
339
+ this.setValueAttribute();
340
+ /* 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. */
341
+ /* https://tegel.atlassian.net/browse/CDEP-2703 */
342
+ return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
343
+ }
344
+ /** Method for closing the Dropdown. */
341
345
  async close() {
342
346
  this.open = false;
343
347
  }
@@ -384,7 +388,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
384
388
  handleOpenState() {
385
389
  if (this.filter && this.multiselect) {
386
390
  if (!this.open) {
387
- this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
391
+ this.inputElement.value = this.getValue();
388
392
  }
389
393
  }
390
394
  }
@@ -395,14 +399,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
395
399
  }
396
400
  }
397
401
  componentWillLoad() {
398
- if (this.defaultValue && !this.value) {
399
- // Convert defaultValue to string before splitting
400
- const defaultValueStr = convertToString(this.defaultValue);
401
- const initialValue = this.multiselect
402
- ? defaultValueStr.split(',').map(convertToString)
403
- : [convertToString(this.defaultValue)];
404
- this.updateDropdownState(initialValue);
402
+ if (this.defaultValue !== undefined && this.defaultValue !== null) {
403
+ this.internalDefaultValue = convertToString(this.defaultValue);
405
404
  }
405
+ this.setDefaultOption();
406
406
  }
407
407
  /** Method to handle slot changes */
408
408
  handleSlotChange() {
@@ -412,16 +412,29 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
412
412
  normalizeString(text) {
413
413
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
414
414
  }
415
- /**
416
- * @internal
417
- */
418
- async appendValue(value) {
419
- if (this.multiselect) {
420
- this.updateDropdownState([...this.selectedOptions, value]);
421
- }
422
- else {
423
- this.updateDropdownState([value]);
424
- }
415
+ /** Method that resets the dropdown without emitting an event. */
416
+ internalReset() {
417
+ this.getChildren().forEach((element) => {
418
+ element.setSelected(false);
419
+ return element;
420
+ });
421
+ this.value = null;
422
+ this.setValueAttribute();
423
+ }
424
+ selectChildrenAsSelectedBasedOnSelectionProp() {
425
+ this.getChildren().forEach((element) => {
426
+ this.value.forEach((selection) => {
427
+ if (element.value !== selection) {
428
+ // If not multiselect, we need to unselect all other options.
429
+ if (!this.multiselect) {
430
+ element.setSelected(false);
431
+ }
432
+ }
433
+ else {
434
+ element.setSelected(true);
435
+ }
436
+ });
437
+ });
425
438
  }
426
439
  componentDidRender() {
427
440
  const form = this.host.closest('form');
@@ -436,10 +449,11 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
436
449
  }
437
450
  }
438
451
  render() {
439
- appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
440
- return (h(Host, { key: '490d34545b3a09c3b4342fa09d38f6bf9c782498', role: "select", class: {
452
+ var _a, _b, _c;
453
+ appendHiddenInput(this.host, this.name, this.value ? convertArrayToStrings(this.value).join(',') : null, this.disabled);
454
+ return (h(Host, { key: '0bb6532a6a87ba128f556022792fe5afb3e3e482', role: "select", class: {
441
455
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
442
- } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '7eb96c0134032654df98a3b68ffb692a2cd91d2b', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '439fddb188ad65239e9d5451a82ab3bbe8f47fb7', class: {
456
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'c65377474abaae962436d53b42e19eeda2bcdda6', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '80d21a17eef6a3d8ff7f73e5a52a744ae4aa08b6', class: {
443
457
  'dropdown-select': true,
444
458
  [this.size]: true,
445
459
  'disabled': this.disabled,
@@ -451,7 +465,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
451
465
  } }, 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: `
452
466
  label-inside-as-placeholder
453
467
  ${this.size}
454
- ${this.selectedOptions.length ? 'selected' : ''}
468
+ ${((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) ? 'selected' : ''}
455
469
  ` }, this.label)), h("input", {
456
470
  // eslint-disable-next-line no-return-assign
457
471
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -462,7 +476,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
462
476
  this.inputElement.value = this.getValue();
463
477
  }
464
478
  this.handleBlur(event);
465
- }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
479
+ }, onFocus: (event) => {
480
+ this.open = true;
481
+ this.filterFocus = true;
482
+ if (this.multiselect) {
483
+ this.inputElement.value = '';
484
+ }
485
+ this.handleFocus(event);
486
+ this.handleFilter({ target: { value: '' } });
487
+ }, onKeyDown: (event) => {
466
488
  if (event.key === 'Escape') {
467
489
  this.open = false;
468
490
  }
@@ -482,15 +504,17 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
482
504
  if (event.key === 'Escape') {
483
505
  this.open = false;
484
506
  }
485
- }, class: `
486
- ${this.selectedOptions.length ? 'value' : 'placeholder'}
487
- ${this.open ? 'open' : 'closed'}
488
- ${this.error ? 'error' : ''}
489
- `, 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: `
490
- label-inside-as-placeholder
491
- ${this.size}
492
- ${this.selectedOptions.length ? 'selected' : ''}
493
- ` }, 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: 'd6381f78466994f05415cf8981b3cedaaf4df6a9', ref: (element) => {
507
+ }, class: {
508
+ value: Boolean(this.value),
509
+ placeholder: Boolean(!this.value),
510
+ open: this.open,
511
+ closed: !this.open,
512
+ error: this.error,
513
+ }, 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: {
514
+ 'label-inside-as-placeholder': true,
515
+ [this.size]: true,
516
+ 'selected': Boolean((_b = this.value) === null || _b === void 0 ? void 0 : _b.length),
517
+ } }, this.label)), h("div", { class: `placeholder ${this.size}` }, ((_c = this.value) === null || _c === void 0 ? void 0 : _c.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: '1f1c87b17a78c2a65add834208f487c6e9a4f77e', ref: (element) => {
494
518
  this.dropdownList = element;
495
519
  }, class: {
496
520
  'dropdown-list': true,
@@ -501,15 +525,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
501
525
  'closed': !this.open,
502
526
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
503
527
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
504
- } }, h("slot", { key: 'c36a9cb5398a7d290f11576431982e869986e4a0', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '5ec07552d105f8a4addc46da0172f67cf9233817', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'b3e240c31060f2d2bce6e3647f903f9ff1250ed5', class: {
528
+ } }, h("slot", { key: '6eb6b21f865702aa56af12b9e54bdb2c6c7c8cc2', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '58c15bd69f38c001e0d6c74466ddfe97d6d77a79', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'cc7e1a7f988e6bc61f3bacb7dd9a564b6c1f738d', class: {
505
529
  helper: true,
506
530
  error: this.error,
507
531
  disabled: this.disabled,
508
- } }, this.error && h("tds-icon", { key: 'c0eb10dfeaa5236f5ac02dabf44329e85d52dcda', name: "error", size: "16px" }), this.helper))));
532
+ } }, this.error && h("tds-icon", { key: 'ffd574d493f3bbaa37ddc7b14a8372ba4b23bd70', name: "error", size: "16px" }), this.helper))));
509
533
  }
510
534
  get host() { return this; }
511
535
  static get watchers() { return {
512
- "value": ["handleValueChange"],
513
536
  "open": ["handleOpenState"],
514
537
  "defaultValue": ["handleDefaultValueChange"]
515
538
  }; }
@@ -531,21 +554,18 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
531
554
  "normalizeText": [4, "normalize-text"],
532
555
  "noResultText": [1, "no-result-text"],
533
556
  "defaultValue": [8, "default-value"],
534
- "value": [1032],
535
557
  "open": [32],
536
- "internalValue": [32],
558
+ "value": [32],
537
559
  "filterResult": [32],
538
560
  "filterFocus": [32],
539
561
  "internalDefaultValue": [32],
540
- "selectedOptions": [32],
541
- "setValue": [64],
542
562
  "reset": [64],
543
- "removeValue": [64],
544
563
  "focusElement": [64],
545
- "close": [64],
546
- "appendValue": [64]
564
+ "setValue": [64],
565
+ "appendValue": [64],
566
+ "removeValue": [64],
567
+ "close": [64]
547
568
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
548
- "value": ["handleValueChange"],
549
569
  "open": ["handleOpenState"],
550
570
  "defaultValue": ["handleDefaultValueChange"]
551
571
  }]);
@@ -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: '7bac8221992109403d3f0506b7f0125a0b77b6d4' }, this.heading, this.subheading && h("div", { key: 'b9137e36496fb7fc10da067ea61596da2a38fa9d', 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", {
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
2
2
  import { a as convertToString } from './p-b1d21573.js';
3
- import { d as defineCustomElement$2 } from './p-c65351ab.js';
4
- import { d as defineCustomElement$1 } from './p-a2b7bdef.js';
3
+ import { d as defineCustomElement$2 } from './p-eac79032.js';
4
+ import { d as defineCustomElement$1 } from './p-ad77fb02.js';
5
5
 
6
6
  const dropdownOptionCss = ":host{box-sizing:border-box;display:block;background-color:var(--tds-dropdown-option-background)}:host *{box-sizing:border-box}:host .dropdown-option{color:var(--tds-dropdown-option-color);border-bottom:1px solid var(--tds-dropdown-option-border);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);overflow-wrap:anywhere;transition:background-color var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania)}:host .dropdown-option.selected{background-color:var(--tds-dropdown-option-background-selected)}:host .dropdown-option.disabled{color:var(--tds-dropdown-option-color-disabled)}:host .dropdown-option button:focus{outline:2px solid var(--tds-blue-400);outline-offset:-2px}:host .dropdown-option button{all:unset;width:100%}:host .dropdown-option button.lg{padding:19px 0 20px}:host .dropdown-option button.md{padding:15px 0 16px}:host .dropdown-option button.sm{padding:11px 0 12px}:host .dropdown-option button.xs{padding:7px 0 8px}:host .dropdown-option button .single-select{display:flex;align-items:center;justify-content:space-between;padding:0 16px}:host .dropdown-option .multiselect{width:100%;height:100%}:host .dropdown-option .multiselect tds-checkbox{display:flex;height:100%;width:100%}:host .dropdown-option .multiselect tds-checkbox.lg{padding:15px 16px 16px}:host .dropdown-option .multiselect tds-checkbox.md{padding:11px 16px 12px}:host .dropdown-option .multiselect tds-checkbox.sm{padding:7px 16px 8px}:host .dropdown-option .multiselect tds-checkbox.xs{padding:7px 16px 8px}:host .dropdown-option:hover{background-color:var(--tds-dropdown-option-background-hover);cursor:pointer}:host .dropdown-option:hover.disabled{background-color:var(--tds-dropdown-option-background);cursor:not-allowed}:host([hidden]){display:none}";
7
7
  const TdsDropdownOptionStyle0 = dropdownOptionCss;
@@ -14,24 +14,14 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
14
14
  this.tdsSelect = createEvent(this, "tdsSelect", 6);
15
15
  this.tdsFocus = createEvent(this, "tdsFocus", 6);
16
16
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
17
- this.parentElement = null;
18
- // @ts-ignore
19
- // eslint-disable-next-line no-unused-vars,
20
- this.label = '';
21
17
  this.componentWillRender = () => {
22
- var _a, _b, _c;
23
- if (!this.host.parentElement) {
24
- return;
25
- }
26
18
  this.parentElement =
27
- ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'TDS-DROPDOWN'
19
+ this.host.parentElement.tagName === 'TDS-DROPDOWN'
28
20
  ? this.host.parentElement
29
21
  : this.host.getRootNode().host;
30
- if (this.parentElement) {
31
- this.multiselect = (_b = this.parentElement.multiselect) !== null && _b !== void 0 ? _b : false;
32
- this.size = this.parentElement.size || 'lg';
33
- }
34
- this.label = ((_c = this.host.textContent) === null || _c === void 0 ? void 0 : _c.trim()) || '';
22
+ this.multiselect = this.parentElement.multiselect;
23
+ this.size = this.parentElement.size;
24
+ this.label = this.host.textContent.trim();
35
25
  };
36
26
  this.handleSingleSelect = () => {
37
27
  if (!this.disabled) {
@@ -75,7 +65,7 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
75
65
  this.internalValue = undefined;
76
66
  this.disabled = false;
77
67
  this.selected = false;
78
- this.multiselect = false;
68
+ this.multiselect = undefined;
79
69
  this.size = 'lg';
80
70
  }
81
71
  /** Method to select/deselect an option. */
@@ -89,7 +79,7 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
89
79
  this.internalValue = convertToString(this.value);
90
80
  }
91
81
  render() {
92
- return (h(Host, { key: 'af1229553e89c02aca1d7c11bbc80acd25ce44b5', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'c93eb33d1864028690ab981c0f676f03993265c4', class: `dropdown-option
82
+ return (h(Host, { key: '5d13306d202a3c488fdd75daa3aa8cfc15e4b9cf', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'df8b33467c49913853b2d86dff7115b6cea37f55', class: `dropdown-option
93
83
  ${this.size}
94
84
  ${this.selected ? 'selected' : ''}
95
85
  ${this.disabled ? 'disabled' : ''}