@scania/tegel 1.25.0 → 1.26.0-onTdsChange-gets-triggered-unexpectedly-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 (463) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-badge.cjs.entry.js +5 -9
  3. package/dist/cjs/tds-banner.cjs.entry.js +3 -4
  4. package/dist/cjs/tds-block.cjs.entry.js +3 -1
  5. package/dist/cjs/tds-body-cell.cjs.entry.js +9 -6
  6. package/dist/cjs/tds-breadcrumb.cjs.entry.js +2 -2
  7. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +7 -1
  8. package/dist/cjs/tds-button.cjs.entry.js +12 -4
  9. package/dist/cjs/tds-card.cjs.entry.js +5 -5
  10. package/dist/cjs/tds-checkbox.cjs.entry.js +10 -3
  11. package/dist/cjs/tds-chip.cjs.entry.js +12 -2
  12. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +40 -3
  13. package/dist/cjs/tds-datetime.cjs.entry.js +20 -13
  14. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  15. package/dist/cjs/tds-dropdown_2.cjs.entry.js +258 -208
  16. package/dist/cjs/tds-folder-tab.cjs.entry.js +21 -2
  17. package/dist/cjs/tds-folder-tabs.cjs.entry.js +4 -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 +2 -2
  39. package/dist/cjs/tds-inline-tab.cjs.entry.js +21 -2
  40. package/dist/cjs/tds-inline-tabs.cjs.entry.js +4 -2
  41. package/dist/cjs/tds-link.cjs.entry.js +17 -3
  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 +21 -2
  45. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +6 -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 +9 -6
  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 +6 -6
  72. package/dist/cjs/tds-textarea.cjs.entry.js +3 -3
  73. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  74. package/dist/cjs/tds-toggle.cjs.entry.js +11 -2
  75. package/dist/cjs/tds-tooltip.cjs.entry.js +2 -2
  76. package/dist/cjs/tegel.cjs.js +1 -1
  77. package/dist/collection/components/badge/badge.js +24 -9
  78. package/dist/collection/components/banner/banner.js +22 -5
  79. package/dist/collection/components/block/block.js +27 -2
  80. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.css +9 -10
  81. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +2 -2
  82. package/dist/collection/components/breadcrumbs/breadcrumbs.js +30 -1
  83. package/dist/collection/components/button/button.css +3 -3
  84. package/dist/collection/components/button/button.js +28 -3
  85. package/dist/collection/components/card/card.js +5 -5
  86. package/dist/collection/components/checkbox/checkbox.js +44 -3
  87. package/dist/collection/components/chip/chip.js +30 -3
  88. package/dist/collection/components/datetime/datetime.css +20 -0
  89. package/dist/collection/components/datetime/datetime.js +22 -15
  90. package/dist/collection/components/divider/divider.js +1 -1
  91. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +41 -16
  92. package/dist/collection/components/dropdown/dropdown.js +282 -250
  93. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  94. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  95. package/dist/collection/components/footer/footer.js +2 -2
  96. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  97. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  98. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  99. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  100. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  101. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  102. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  103. package/dist/collection/components/header/header-item/header-item.js +39 -2
  104. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  105. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  106. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  107. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  108. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  109. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  110. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  111. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  112. package/dist/collection/components/header/header-title/header-title.js +1 -1
  113. package/dist/collection/components/header/header.js +1 -1
  114. package/dist/collection/components/icon/icon.js +2 -2
  115. package/dist/collection/components/icon/iconsArray.js +96 -1
  116. package/dist/collection/components/link/link.js +17 -3
  117. package/dist/collection/components/message/message.js +2 -2
  118. package/dist/collection/components/modal/modal.js +2 -2
  119. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  120. package/dist/collection/components/popover-core/popover-core.js +1 -1
  121. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  122. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  123. package/dist/collection/components/radio-button/radio-button.js +1 -1
  124. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  125. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  126. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  127. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  128. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  129. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  130. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  131. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  132. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  133. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  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 +9 -6
  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 +9 -6
  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 +21 -2
  148. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +40 -2
  149. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +21 -2
  150. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +40 -2
  151. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +21 -2
  152. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +42 -4
  153. package/dist/collection/components/text-field/text-field.js +6 -6
  154. package/dist/collection/components/textarea/textarea.js +3 -3
  155. package/dist/collection/components/toast/toast.js +3 -3
  156. package/dist/collection/components/toggle/toggle.js +28 -2
  157. package/dist/collection/components/tooltip/tooltip.js +2 -2
  158. package/dist/collection/utils/axeHelpers.js +1 -1
  159. package/dist/collection/utils/convertToString.js +14 -0
  160. package/dist/components/{p-2ef329f1.js → p-0e6efec9.js} +2 -2
  161. package/dist/components/{p-eac79032.js → p-14ab9663.js} +12 -3
  162. package/dist/components/{p-4bdaf254.js → p-265c3467.js} +1 -1
  163. package/dist/components/{p-1e110ab8.js → p-2681d914.js} +39 -15
  164. package/dist/components/{p-f0a50868.js → p-29d19dc8.js} +3 -3
  165. package/dist/components/{p-75437dea.js → p-34737ed9.js} +1 -1
  166. package/dist/components/{p-f1980746.js → p-363184d0.js} +4 -4
  167. package/dist/components/{p-d1ace0be.js → p-3e93886d.js} +1 -1
  168. package/dist/components/{p-3351035f.js → p-4764a1d5.js} +1 -1
  169. package/dist/components/p-64019792.js +65 -0
  170. package/dist/components/{p-dd6ff1e2.js → p-6f1a74d0.js} +225 -204
  171. package/dist/components/{p-9d7232d0.js → p-8c849aa2.js} +2 -2
  172. package/dist/components/p-a1181b1f.js +16 -0
  173. package/dist/components/{p-3a7f88ff.js → p-d61bd22e.js} +40 -3
  174. package/dist/components/{p-707a562e.js → p-e49a0ceb.js} +1 -1
  175. package/dist/components/{p-8f8b0827.js → p-e8d2dbbf.js} +1 -1
  176. package/dist/components/tds-accordion-item.js +1 -1
  177. package/dist/components/tds-badge.js +7 -9
  178. package/dist/components/tds-banner.js +5 -5
  179. package/dist/components/tds-block.js +5 -2
  180. package/dist/components/tds-body-cell.js +9 -6
  181. package/dist/components/tds-breadcrumb.js +3 -3
  182. package/dist/components/tds-breadcrumbs.js +10 -2
  183. package/dist/components/tds-button.js +13 -4
  184. package/dist/components/tds-card.js +6 -6
  185. package/dist/components/tds-checkbox.js +1 -1
  186. package/dist/components/tds-chip.js +14 -3
  187. package/dist/components/tds-core-header-item.js +1 -1
  188. package/dist/components/tds-datetime.js +21 -14
  189. package/dist/components/tds-divider.js +1 -1
  190. package/dist/components/tds-dropdown-option.js +1 -1
  191. package/dist/components/tds-dropdown.js +1 -1
  192. package/dist/components/tds-folder-tab.js +21 -2
  193. package/dist/components/tds-folder-tabs.js +7 -3
  194. package/dist/components/tds-footer-group.js +4 -4
  195. package/dist/components/tds-footer-item.js +1 -1
  196. package/dist/components/tds-footer.js +2 -2
  197. package/dist/components/tds-header-brand-symbol.js +3 -3
  198. package/dist/components/tds-header-cell.js +2 -2
  199. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  200. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  201. package/dist/components/tds-header-dropdown-list.js +1 -1
  202. package/dist/components/tds-header-dropdown.js +8 -8
  203. package/dist/components/tds-header-hamburger.js +4 -4
  204. package/dist/components/tds-header-item.js +1 -1
  205. package/dist/components/tds-header-launcher-button.js +1 -1
  206. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  207. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  208. package/dist/components/tds-header-launcher-grid.js +1 -1
  209. package/dist/components/tds-header-launcher-list-item.js +2 -2
  210. package/dist/components/tds-header-launcher-list-title.js +1 -1
  211. package/dist/components/tds-header-launcher-list.js +2 -2
  212. package/dist/components/tds-header-launcher.js +8 -8
  213. package/dist/components/tds-header-title.js +1 -1
  214. package/dist/components/tds-header.js +1 -1
  215. package/dist/components/tds-icon.js +1 -1
  216. package/dist/components/tds-inline-tab.js +21 -2
  217. package/dist/components/tds-inline-tabs.js +7 -3
  218. package/dist/components/tds-link.js +17 -3
  219. package/dist/components/tds-message.js +3 -3
  220. package/dist/components/tds-modal.js +3 -3
  221. package/dist/components/tds-navigation-tab.js +21 -2
  222. package/dist/components/tds-navigation-tabs.js +9 -5
  223. package/dist/components/tds-popover-canvas.js +1 -1
  224. package/dist/components/tds-popover-core.js +1 -1
  225. package/dist/components/tds-popover-menu-item.js +2 -2
  226. package/dist/components/tds-popover-menu.js +3 -3
  227. package/dist/components/tds-radio-button.js +1 -1
  228. package/dist/components/tds-side-menu-close-button.js +2 -2
  229. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  230. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  231. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  232. package/dist/components/tds-side-menu-dropdown.js +5 -5
  233. package/dist/components/tds-side-menu-item.js +1 -1
  234. package/dist/components/tds-side-menu-overlay.js +1 -1
  235. package/dist/components/tds-side-menu-user-image.js +1 -1
  236. package/dist/components/tds-side-menu-user-label.js +1 -1
  237. package/dist/components/tds-side-menu-user.js +3 -3
  238. package/dist/components/tds-slider.js +8 -8
  239. package/dist/components/tds-spinner.js +1 -1
  240. package/dist/components/tds-step.js +2 -2
  241. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  242. package/dist/components/tds-table-body-row-expandable.js +7 -7
  243. package/dist/components/tds-table-body-row.js +10 -7
  244. package/dist/components/tds-table-body.js +2 -2
  245. package/dist/components/tds-table-footer.js +7 -7
  246. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  247. package/dist/components/tds-table-header.js +3 -3
  248. package/dist/components/tds-table-toolbar.js +3 -3
  249. package/dist/components/tds-text-field.js +7 -7
  250. package/dist/components/tds-textarea.js +4 -4
  251. package/dist/components/tds-toast.js +4 -4
  252. package/dist/components/tds-toggle.js +12 -2
  253. package/dist/components/tds-tooltip.js +3 -3
  254. package/dist/esm/loader.js +1 -1
  255. package/dist/esm/tds-badge.entry.js +5 -9
  256. package/dist/esm/tds-banner.entry.js +3 -4
  257. package/dist/esm/tds-block.entry.js +3 -1
  258. package/dist/esm/tds-body-cell.entry.js +9 -6
  259. package/dist/esm/tds-breadcrumb.entry.js +3 -3
  260. package/dist/esm/tds-breadcrumbs.entry.js +7 -1
  261. package/dist/esm/tds-button.entry.js +12 -4
  262. package/dist/esm/tds-card.entry.js +5 -5
  263. package/dist/esm/tds-checkbox.entry.js +10 -3
  264. package/dist/esm/tds-chip.entry.js +12 -2
  265. package/dist/esm/tds-core-header-item_2.entry.js +40 -3
  266. package/dist/esm/tds-datetime.entry.js +20 -13
  267. package/dist/esm/tds-divider.entry.js +1 -1
  268. package/dist/esm/tds-dropdown_2.entry.js +258 -208
  269. package/dist/esm/tds-folder-tab.entry.js +22 -3
  270. package/dist/esm/tds-folder-tabs.entry.js +4 -2
  271. package/dist/esm/tds-footer-group.entry.js +3 -3
  272. package/dist/esm/tds-footer-item.entry.js +1 -1
  273. package/dist/esm/tds-footer.entry.js +2 -2
  274. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  275. package/dist/esm/tds-header-cell.entry.js +1 -1
  276. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  277. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  278. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  279. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  280. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  281. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  282. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  283. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  284. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  285. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  286. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  287. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  288. package/dist/esm/tds-header-launcher.entry.js +2 -2
  289. package/dist/esm/tds-header-title.entry.js +1 -1
  290. package/dist/esm/tds-header.entry.js +1 -1
  291. package/dist/esm/tds-icon.entry.js +2 -2
  292. package/dist/esm/tds-inline-tab.entry.js +22 -3
  293. package/dist/esm/tds-inline-tabs.entry.js +4 -2
  294. package/dist/esm/tds-link.entry.js +17 -3
  295. package/dist/esm/tds-message.entry.js +2 -2
  296. package/dist/esm/tds-modal.entry.js +2 -2
  297. package/dist/esm/tds-navigation-tab.entry.js +22 -3
  298. package/dist/esm/tds-navigation-tabs.entry.js +6 -4
  299. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  300. package/dist/esm/tds-popover-core.entry.js +1 -1
  301. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  302. package/dist/esm/tds-popover-menu.entry.js +2 -2
  303. package/dist/esm/tds-radio-button.entry.js +1 -1
  304. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  305. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  306. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  307. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  308. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  309. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  310. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  311. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  312. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  313. package/dist/esm/tds-slider.entry.js +7 -7
  314. package/dist/esm/tds-spinner.entry.js +1 -1
  315. package/dist/esm/tds-step.entry.js +1 -1
  316. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  317. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  318. package/dist/esm/tds-table-body-row.entry.js +9 -6
  319. package/dist/esm/tds-table-body.entry.js +2 -2
  320. package/dist/esm/tds-table-footer.entry.js +3 -3
  321. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  322. package/dist/esm/tds-table-header.entry.js +2 -2
  323. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  324. package/dist/esm/tds-text-field.entry.js +6 -6
  325. package/dist/esm/tds-textarea.entry.js +3 -3
  326. package/dist/esm/tds-toast.entry.js +3 -3
  327. package/dist/esm/tds-toggle.entry.js +11 -2
  328. package/dist/esm/tds-tooltip.entry.js +2 -2
  329. package/dist/esm/tegel.js +1 -1
  330. package/dist/tegel/p-01edebef.entry.js +1 -0
  331. package/dist/tegel/{p-3e144a83.entry.js → p-035e58e6.entry.js} +1 -1
  332. package/dist/tegel/{p-170ab61b.entry.js → p-065d6f83.entry.js} +1 -1
  333. package/dist/tegel/p-0f2c9507.entry.js +1 -0
  334. package/dist/tegel/{p-72106a5c.entry.js → p-168122a7.entry.js} +1 -1
  335. package/dist/tegel/p-1b390acb.entry.js +1 -0
  336. package/dist/tegel/{p-059a9499.entry.js → p-288a09ef.entry.js} +1 -1
  337. package/dist/tegel/{p-b2018a5b.entry.js → p-3204ae8f.entry.js} +1 -1
  338. package/dist/tegel/p-32be63ea.entry.js +1 -0
  339. package/dist/tegel/{p-cc2730d8.entry.js → p-34b793c9.entry.js} +1 -1
  340. package/dist/tegel/p-3c2f7033.entry.js +1 -0
  341. package/dist/tegel/p-46205cfb.entry.js +1 -0
  342. package/dist/tegel/p-4d5963d0.entry.js +1 -0
  343. package/dist/tegel/{p-68859ddc.entry.js → p-4e298888.entry.js} +1 -1
  344. package/dist/tegel/p-4f5f152a.entry.js +1 -0
  345. package/dist/tegel/p-4fe6512b.entry.js +1 -0
  346. package/dist/tegel/p-5242a1f6.entry.js +1 -0
  347. package/dist/tegel/{p-038c22ff.entry.js → p-542d7b3e.entry.js} +1 -1
  348. package/dist/tegel/{p-5eaa23dc.entry.js → p-5a7110b8.entry.js} +1 -1
  349. package/dist/tegel/{p-93930c03.entry.js → p-5ba254ee.entry.js} +1 -1
  350. package/dist/tegel/{p-06968bd7.entry.js → p-60b38806.entry.js} +1 -1
  351. package/dist/tegel/{p-7929d22f.entry.js → p-654785d2.entry.js} +1 -1
  352. package/dist/tegel/p-668b7662.entry.js +1 -0
  353. package/dist/tegel/p-6998c39e.entry.js +1 -0
  354. package/dist/tegel/p-6f17d37f.entry.js +1 -0
  355. package/dist/tegel/p-70795d6e.entry.js +1 -0
  356. package/dist/tegel/{p-3d3ee51f.entry.js → p-74fc9c92.entry.js} +1 -1
  357. package/dist/tegel/p-77c79b91.entry.js +1 -0
  358. package/dist/tegel/{p-54154f09.entry.js → p-77d457b8.entry.js} +1 -1
  359. package/dist/tegel/{p-4b7c53a6.entry.js → p-78d5acd7.entry.js} +1 -1
  360. package/dist/tegel/{p-44c33b20.entry.js → p-7c4c65c9.entry.js} +1 -1
  361. package/dist/tegel/{p-3a32fe40.entry.js → p-848c2732.entry.js} +1 -1
  362. package/dist/tegel/p-868757d9.entry.js +1 -0
  363. package/dist/tegel/p-8c8b9908.entry.js +1 -0
  364. package/dist/tegel/{p-2f32991e.entry.js → p-96635c10.entry.js} +1 -1
  365. package/dist/tegel/p-a21250b8.entry.js +1 -0
  366. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  367. package/dist/tegel/{p-96bdf035.entry.js → p-aa9d281b.entry.js} +1 -1
  368. package/dist/tegel/p-aadb2553.entry.js +1 -0
  369. package/dist/tegel/p-ae46766a.entry.js +1 -0
  370. package/dist/tegel/{p-86b30f71.entry.js → p-aef6b130.entry.js} +1 -1
  371. package/dist/tegel/p-b08886e3.entry.js +1 -0
  372. package/dist/tegel/{p-f67b4047.entry.js → p-b35e7208.entry.js} +1 -1
  373. package/dist/tegel/{p-a86fe122.entry.js → p-b39ffad4.entry.js} +1 -1
  374. package/dist/tegel/p-b5ced8e5.entry.js +1 -0
  375. package/dist/tegel/{p-e7300cca.entry.js → p-b686f1ad.entry.js} +1 -1
  376. package/dist/tegel/{p-b96cd80d.entry.js → p-b9576881.entry.js} +1 -1
  377. package/dist/tegel/p-b9f81e53.entry.js +1 -0
  378. package/dist/tegel/p-be1d1345.entry.js +1 -0
  379. package/dist/tegel/{p-708a8bab.entry.js → p-bee533b5.entry.js} +1 -1
  380. package/dist/tegel/p-c3607f10.entry.js +1 -0
  381. package/dist/tegel/{p-99da056d.entry.js → p-c56be8d1.entry.js} +1 -1
  382. package/dist/tegel/{p-2a38b053.entry.js → p-c8404432.entry.js} +1 -1
  383. package/dist/tegel/{p-24ff5903.entry.js → p-ca93de01.entry.js} +1 -1
  384. package/dist/tegel/p-cc6c06e3.entry.js +1 -0
  385. package/dist/tegel/{p-b19ce79c.entry.js → p-cca85da0.entry.js} +1 -1
  386. package/dist/tegel/p-cde32bc6.entry.js +1 -0
  387. package/dist/tegel/p-cf302187.entry.js +1 -0
  388. package/dist/tegel/p-d0abf078.entry.js +1 -0
  389. package/dist/tegel/{p-6d022f47.entry.js → p-d267665e.entry.js} +1 -1
  390. package/dist/tegel/{p-e9ac7a1a.entry.js → p-d33cb2d1.entry.js} +1 -1
  391. package/dist/tegel/{p-5fea857b.entry.js → p-d47c744f.entry.js} +1 -1
  392. package/dist/tegel/p-d65dfe04.entry.js +1 -0
  393. package/dist/tegel/{p-2a96bd05.entry.js → p-d853f8c2.entry.js} +1 -1
  394. package/dist/tegel/p-d9511720.entry.js +1 -0
  395. package/dist/tegel/p-ddda64eb.entry.js +1 -0
  396. package/dist/tegel/{p-fd432c54.entry.js → p-dfbbaefd.entry.js} +1 -1
  397. package/dist/tegel/{p-88204e0a.entry.js → p-ea3e071f.entry.js} +1 -1
  398. package/dist/tegel/p-eaa279dd.entry.js +1 -0
  399. package/dist/tegel/{p-2795009a.entry.js → p-ed17283a.entry.js} +1 -1
  400. package/dist/tegel/{p-e478953c.entry.js → p-ee7f07ae.entry.js} +1 -1
  401. package/dist/tegel/p-ee960089.entry.js +1 -0
  402. package/dist/tegel/{p-b9b63210.entry.js → p-f1b0211a.entry.js} +1 -1
  403. package/dist/tegel/{p-a392e6e7.entry.js → p-fa07db58.entry.js} +1 -1
  404. package/dist/tegel/tegel.esm.js +1 -1
  405. package/dist/types/components/badge/badge.d.ts +3 -0
  406. package/dist/types/components/banner/banner.d.ts +4 -0
  407. package/dist/types/components/block/block.d.ts +8 -1
  408. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  409. package/dist/types/components/button/button.d.ts +3 -0
  410. package/dist/types/components/checkbox/checkbox.d.ts +5 -0
  411. package/dist/types/components/chip/chip.d.ts +3 -0
  412. package/dist/types/components/datetime/datetime.d.ts +2 -2
  413. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +6 -2
  414. package/dist/types/components/dropdown/dropdown.d.ts +29 -24
  415. package/dist/types/components/header/header-item/header-item.d.ts +7 -0
  416. package/dist/types/components/tabs/folder-tabs/folder-tab/folder-tab.d.ts +2 -0
  417. package/dist/types/components/tabs/folder-tabs/folder-tabs.d.ts +4 -0
  418. package/dist/types/components/tabs/inline-tabs/inline-tab/inline-tab.d.ts +2 -0
  419. package/dist/types/components/tabs/inline-tabs/inline-tabs.d.ts +4 -0
  420. package/dist/types/components/tabs/navigation-tabs/navigation-tab/navigation-tab.d.ts +2 -0
  421. package/dist/types/components/tabs/navigation-tabs/navigation-tabs.d.ts +4 -0
  422. package/dist/types/components/toggle/toggle.d.ts +5 -0
  423. package/dist/types/components.d.ts +176 -23
  424. package/dist/types/types/Icons.d.ts +1 -1
  425. package/dist/types/utils/axeHelpers.d.ts +1 -2
  426. package/dist/types/utils/convertToString.d.ts +7 -0
  427. package/package.json +1 -1
  428. package/dist/components/p-ad77fb02.js +0 -65
  429. package/dist/tegel/p-0939b9fb.entry.js +0 -1
  430. package/dist/tegel/p-0b773208.entry.js +0 -1
  431. package/dist/tegel/p-0cb6c898.entry.js +0 -1
  432. package/dist/tegel/p-1703f73a.entry.js +0 -1
  433. package/dist/tegel/p-32b7f431.entry.js +0 -1
  434. package/dist/tegel/p-39373227.entry.js +0 -1
  435. package/dist/tegel/p-3c22aef7.entry.js +0 -1
  436. package/dist/tegel/p-3e1b1399.entry.js +0 -1
  437. package/dist/tegel/p-48bbc11f.entry.js +0 -1
  438. package/dist/tegel/p-4a282c25.entry.js +0 -1
  439. package/dist/tegel/p-4b231bf9.entry.js +0 -1
  440. package/dist/tegel/p-4c2f313d.entry.js +0 -1
  441. package/dist/tegel/p-59293f88.entry.js +0 -1
  442. package/dist/tegel/p-69b38504.entry.js +0 -1
  443. package/dist/tegel/p-6eeded00.entry.js +0 -1
  444. package/dist/tegel/p-7090a95c.entry.js +0 -1
  445. package/dist/tegel/p-85a9032e.entry.js +0 -1
  446. package/dist/tegel/p-9016758e.entry.js +0 -1
  447. package/dist/tegel/p-92f81cda.entry.js +0 -1
  448. package/dist/tegel/p-9c3f2c12.entry.js +0 -1
  449. package/dist/tegel/p-9eaaa2c0.entry.js +0 -1
  450. package/dist/tegel/p-a38dda58.entry.js +0 -1
  451. package/dist/tegel/p-b425b2f4.entry.js +0 -1
  452. package/dist/tegel/p-b647d20e.entry.js +0 -1
  453. package/dist/tegel/p-be88c5ab.entry.js +0 -1
  454. package/dist/tegel/p-c289dfb9.entry.js +0 -1
  455. package/dist/tegel/p-d7f48112.entry.js +0 -1
  456. package/dist/tegel/p-d926d075.entry.js +0 -1
  457. package/dist/tegel/p-ddd33cce.entry.js +0 -1
  458. package/dist/tegel/p-ea4a9a4f.entry.js +0 -1
  459. package/dist/tegel/p-ee0e04ed.entry.js +0 -1
  460. package/dist/tegel/p-f050aad8.entry.js +0 -1
  461. package/dist/tegel/p-f4db0231.entry.js +0 -1
  462. package/dist/tegel/p-fd3d56aa.entry.js +0 -1
  463. package/dist/tegel/p-ffd827ef.entry.js +0 -1
@@ -1,5 +1,6 @@
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-ad77fb02.js';
2
+ import { c as convertToString, a as convertArrayToStrings } from './p-a1181b1f.js';
3
+ import { d as defineCustomElement$1 } from './p-64019792.js';
3
4
 
4
5
  /**
5
6
  * Find the next focusable element index in a list of focusable elements.
@@ -72,41 +73,50 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
72
73
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
73
74
  this.tdsInput = createEvent(this, "tdsInput", 6);
74
75
  this.setDefaultOption = () => {
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
- }
76
+ if (this.internalDefaultValue) {
77
+ // Convert the internal default value to an array if it's not already
81
78
  const defaultValues = this.multiselect
82
- ? new Set(this.defaultValue.split(','))
83
- : [this.defaultValue];
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
- }
79
+ ? this.internalDefaultValue.split(',')
80
+ : [this.internalDefaultValue];
81
+ this.updateDropdownStateInternal(defaultValues);
100
82
  }
101
83
  };
102
- /* Returns a list of all children that are tds-dropdown-option elements */
103
84
  this.getChildren = () => {
104
85
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
105
86
  if (tdsDropdownOptions.length === 0) {
106
- console.warn('TDS DROPDOWN: Data missing. Disregard if loading data asynchronously.');
87
+ console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
88
+ }
89
+ return tdsDropdownOptions;
90
+ };
91
+ this.getSelectedChildren = () => {
92
+ if (this.selectedOptions.length === 0)
93
+ return [];
94
+ return this.selectedOptions
95
+ .map((stringValue) => {
96
+ var _a;
97
+ const matchingElement = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.find((element) => element.value === stringValue);
98
+ return matchingElement;
99
+ })
100
+ .filter(Boolean);
101
+ };
102
+ this.getSelectedChildrenLabels = () => {
103
+ var _a;
104
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
105
+ };
106
+ this.getValue = () => {
107
+ const labels = this.getSelectedChildrenLabels();
108
+ if (!labels) {
109
+ return '';
110
+ }
111
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
112
+ };
113
+ this.setValueAttribute = () => {
114
+ if (this.selectedOptions.length === 0) {
115
+ this.host.removeAttribute('value');
116
+ }
117
+ else {
118
+ this.host.setAttribute('value', this.selectedOptions.join(','));
107
119
  }
108
- else
109
- return tdsDropdownOptions;
110
120
  };
111
121
  this.getOpenDirection = () => {
112
122
  var _a, _b, _c, _d, _e;
@@ -121,7 +131,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
121
131
  }
122
132
  return this.openDirection;
123
133
  };
124
- /* Toggles the open state of the Dropdown and sets focus to the input element */
125
134
  this.handleToggleOpen = () => {
126
135
  if (!this.disabled) {
127
136
  this.open = !this.open;
@@ -130,38 +139,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
130
139
  }
131
140
  }
132
141
  };
133
- /* Focuses the input element in the Dropdown, if the reference is present. */
134
142
  this.focusInputElement = () => {
135
143
  if (this.inputElement)
136
144
  this.inputElement.focus();
137
145
  };
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
- };
165
146
  this.handleFilter = (event) => {
166
147
  this.tdsInput.emit(event);
167
148
  const query = event.target.value.toLowerCase();
@@ -192,8 +173,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
192
173
  this.handleFilterReset = () => {
193
174
  this.reset();
194
175
  this.inputElement.value = '';
195
- this.handleFilter({ target: { value: this.inputElement.value } });
176
+ this.handleFilter({ target: { value: '' } });
196
177
  this.inputElement.focus();
178
+ // Add this line to ensure internal value is cleared
179
+ this.internalValue = '';
197
180
  };
198
181
  this.handleFocus = (event) => {
199
182
  this.open = true;
@@ -207,13 +190,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
207
190
  this.handleBlur = (event) => {
208
191
  this.tdsBlur.emit(event);
209
192
  };
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
- };
217
193
  this.resetInput = () => {
218
194
  const inputEl = this.host.querySelector('input');
219
195
  if (inputEl) {
@@ -236,16 +212,132 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
236
212
  this.normalizeText = true;
237
213
  this.noResultText = 'No result';
238
214
  this.defaultValue = undefined;
215
+ this.value = null;
239
216
  this.open = false;
240
- this.value = undefined;
217
+ this.internalValue = undefined;
241
218
  this.filterResult = undefined;
242
219
  this.filterFocus = undefined;
220
+ this.internalDefaultValue = 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.updateDropdownStateFromUser(normalizedValue);
229
+ }
230
+ }
231
+ normalizeValue(value) {
232
+ if (!value || value === '')
233
+ return [];
234
+ // For single select, ensure we handle both string and array inputs
235
+ if (!this.multiselect) {
236
+ // If array is passed to single select, take first value
237
+ if (Array.isArray(value)) {
238
+ return [convertToString(value[0])];
239
+ }
240
+ return [convertToString(value)];
241
+ }
242
+ // For multiselect
243
+ if (Array.isArray(value)) {
244
+ return convertArrayToStrings(value);
245
+ }
246
+ // Handle comma-separated string for multiselect
247
+ return value
248
+ .toString()
249
+ .split(',')
250
+ .filter((v) => v !== '');
251
+ }
252
+ hasValueChanged(newValue, currentValue) {
253
+ if (newValue.length !== currentValue.length)
254
+ return true;
255
+ return newValue.some((val) => !currentValue.includes(val));
256
+ }
257
+ updateDropdownStateInternal(values) {
258
+ this.updateDropdownState(values, false);
259
+ }
260
+ updateDropdownStateFromUser(values) {
261
+ this.updateDropdownState(values, true);
262
+ }
263
+ updateDropdownState(values, userEmitted = false) {
264
+ // Validate the values first
265
+ const validValues = this.validateValues(values);
266
+ // Update internal state
267
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
268
+ // Update internal state
269
+ this.selectedOptions = [...validValues];
270
+ // Update the value prop
271
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
272
+ // Update internal value for display
273
+ this.internalValue = this.getValue();
274
+ // Update DOM
275
+ this.updateOptionElements();
276
+ // Update display value
277
+ this.updateDisplayValue();
278
+ // Update value attribute
279
+ this.setValueAttribute();
280
+ // Only emit change if it is an user emitted event
281
+ if (userEmitted)
282
+ this.emitChange();
283
+ }
284
+ validateValues(values) {
285
+ // Make sure we have children before validation
286
+ const children = this.getChildren();
287
+ if (!children || children.length === 0) {
288
+ console.warn('No dropdown options found');
289
+ return values; // Return original values if no children yet
290
+ }
291
+ return values.filter((val) => {
292
+ const isValid = children.some((element) => convertToString(element.value) === convertToString(val));
293
+ if (!isValid) {
294
+ console.warn(`Option with value "${val}" does not exist`);
295
+ }
296
+ return isValid;
297
+ });
298
+ }
299
+ updateOptionElements() {
300
+ var _a;
301
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
302
+ // Convert element.value to string for comparison
303
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
304
+ });
305
+ }
306
+ updateDisplayValue() {
307
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
308
+ if (this.filter && this.inputElement) {
309
+ this.inputElement.value = this.internalValue;
310
+ }
311
+ }
312
+ emitChange() {
313
+ const value = this.multiselect
314
+ ? this.selectedOptions.join(',')
315
+ : this.selectedOptions[0] || null;
316
+ this.tdsChange.emit({
317
+ name: this.name,
318
+ value: value !== null && value !== void 0 ? value : null,
319
+ });
320
+ }
321
+ async setValue(value) {
322
+ let normalizedValue;
323
+ if (Array.isArray(value)) {
324
+ normalizedValue = convertArrayToStrings(value);
325
+ }
326
+ else {
327
+ normalizedValue = [convertToString(value)];
328
+ }
329
+ this.updateDropdownStateFromUser(normalizedValue);
330
+ return this.getSelectedChildren().map((element) => ({
331
+ value: element.value,
332
+ label: element.textContent.trim(),
333
+ }));
243
334
  }
244
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
245
335
  async reset() {
246
- this.dropdownList.scrollTop = 0;
247
- this.internalReset();
248
- this.handleChange();
336
+ this.updateDropdownStateFromUser([]);
337
+ }
338
+ async removeValue(oldValue) {
339
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
340
+ this.updateDropdownStateFromUser(newValues);
249
341
  }
250
342
  /** Method that forces focus on the input element. */
251
343
  async focusElement() {
@@ -266,79 +358,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
266
358
  * dropdown.setValue(['option-1', 'option-2']);
267
359
  * </code>
268
360
  */
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);
288
- }
289
- }
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) => ({
297
- value: element.value,
298
- label: element.textContent.trim(),
299
- }));
300
- // Update inputElement value and placeholder text
301
- if (this.filter) {
302
- this.inputElement.value = this.getValue();
303
- }
304
- return selection;
305
- }
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
- }
316
- }
317
- /** Method for removing a selected value in the Dropdown. */
318
- async removeValue(oldValue) {
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 }));
340
- }
341
- /** Method for closing the Dropdown. */
342
361
  async close() {
343
362
  this.open = false;
344
363
  }
@@ -385,12 +404,31 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
385
404
  handleOpenState() {
386
405
  if (this.filter && this.multiselect) {
387
406
  if (!this.open) {
388
- this.inputElement.value = this.getValue();
407
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
389
408
  }
390
409
  }
391
410
  }
411
+ handleDefaultValueChange(newValue) {
412
+ if (newValue !== undefined && newValue !== null) {
413
+ this.internalDefaultValue = convertToString(newValue);
414
+ this.setDefaultOption();
415
+ }
416
+ }
392
417
  componentWillLoad() {
393
- this.setDefaultOption();
418
+ // First handle the value prop if it exists
419
+ if (this.value !== null && this.value !== undefined) {
420
+ const normalizedValue = this.normalizeValue(this.value);
421
+ this.updateDropdownStateInternal(normalizedValue);
422
+ return; // Exit early if we handled the value prop
423
+ }
424
+ // Only use defaultValue if no value prop was provided
425
+ if (this.defaultValue !== null && this.defaultValue !== undefined) {
426
+ const defaultValueStr = convertToString(this.defaultValue);
427
+ const initialValue = this.multiselect
428
+ ? defaultValueStr.split(',').map(convertToString)
429
+ : [convertToString(this.defaultValue)];
430
+ this.updateDropdownStateInternal(initialValue);
431
+ }
394
432
  }
395
433
  /** Method to handle slot changes */
396
434
  handleSlotChange() {
@@ -400,29 +438,16 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
400
438
  normalizeString(text) {
401
439
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
402
440
  }
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
- });
441
+ /**
442
+ * @internal
443
+ */
444
+ async appendValue(value) {
445
+ if (this.multiselect) {
446
+ this.updateDropdownStateFromUser([...this.selectedOptions, value]);
447
+ }
448
+ else {
449
+ this.updateDropdownStateFromUser([value]);
450
+ }
426
451
  }
427
452
  componentDidRender() {
428
453
  const form = this.host.closest('form');
@@ -437,11 +462,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
437
462
  }
438
463
  }
439
464
  render() {
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: {
465
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
466
+ return (h(Host, { key: '48d15709a3b7b34ab898823c9494410d96c36519', role: "select", class: {
443
467
  [`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: {
468
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '94fe586eaa258a771a70d1e7d9f2db5327bb663c', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '02780cf7cbc43d3f3eb416b2bd8c0af6562be756', class: {
445
469
  'dropdown-select': true,
446
470
  [this.size]: true,
447
471
  'disabled': this.disabled,
@@ -453,7 +477,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
453
477
  } }, 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: `
454
478
  label-inside-as-placeholder
455
479
  ${this.size}
456
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
480
+ ${this.selectedOptions.length ? 'selected' : ''}
457
481
  ` }, this.label)), h("input", {
458
482
  // eslint-disable-next-line no-return-assign
459
483
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -464,15 +488,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
464
488
  this.inputElement.value = this.getValue();
465
489
  }
466
490
  this.handleBlur(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) => {
491
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
476
492
  if (event.key === 'Escape') {
477
493
  this.open = false;
478
494
  }
@@ -492,17 +508,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
492
508
  if (event.key === 'Escape') {
493
509
  this.open = false;
494
510
  }
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) => {
511
+ }, class: `
512
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
513
+ ${this.open ? 'open' : 'closed'}
514
+ ${this.error ? 'error' : ''}
515
+ `, 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: `
516
+ label-inside-as-placeholder
517
+ ${this.size}
518
+ ${this.selectedOptions.length ? 'selected' : ''}
519
+ ` }, 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: 'c4ddfd66a21019a1ab9922971541a3e51d22b488', ref: (element) => {
506
520
  this.dropdownList = element;
507
521
  }, class: {
508
522
  'dropdown-list': true,
@@ -513,15 +527,17 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
513
527
  'closed': !this.open,
514
528
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
515
529
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
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: {
530
+ } }, h("slot", { key: '7ed90314e2f5fd2bac731fa6b31142a7f1d51870', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: 'ed2af7d051080dbf8eaec837f429e98695dec4ee', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'acb696e82a61966fe978ea9cd0f7c2a85583da42', class: {
517
531
  helper: true,
518
532
  error: this.error,
519
533
  disabled: this.disabled,
520
- } }, this.error && h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
534
+ } }, this.error && h("tds-icon", { key: '94b4a119db6ef6e44b3c8d2adec3955cec132708', name: "error", size: "16px" }), this.helper))));
521
535
  }
522
536
  get host() { return this; }
523
537
  static get watchers() { return {
524
- "open": ["handleOpenState"]
538
+ "value": ["handleValueChange"],
539
+ "open": ["handleOpenState"],
540
+ "defaultValue": ["handleDefaultValueChange"]
525
541
  }; }
526
542
  static get style() { return TdsDropdownStyle0; }
527
543
  }, [1, "tds-dropdown", {
@@ -540,19 +556,24 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
540
556
  "filter": [4],
541
557
  "normalizeText": [4, "normalize-text"],
542
558
  "noResultText": [1, "no-result-text"],
543
- "defaultValue": [1, "default-value"],
559
+ "defaultValue": [8, "default-value"],
560
+ "value": [1032],
544
561
  "open": [32],
545
- "value": [32],
562
+ "internalValue": [32],
546
563
  "filterResult": [32],
547
564
  "filterFocus": [32],
548
- "reset": [64],
549
- "focusElement": [64],
565
+ "internalDefaultValue": [32],
566
+ "selectedOptions": [32],
550
567
  "setValue": [64],
551
- "appendValue": [64],
568
+ "reset": [64],
552
569
  "removeValue": [64],
553
- "close": [64]
570
+ "focusElement": [64],
571
+ "close": [64],
572
+ "appendValue": [64]
554
573
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
555
- "open": ["handleOpenState"]
574
+ "value": ["handleValueChange"],
575
+ "open": ["handleOpenState"],
576
+ "defaultValue": ["handleDefaultValueChange"]
556
577
  }]);
557
578
  function defineCustomElement() {
558
579
  if (typeof customElements === "undefined") {
@@ -12,10 +12,10 @@ const TdsHeaderDropdownListItem = /*@__PURE__*/ proxyCustomElement(class TdsHead
12
12
  this.size = 'md';
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'e907df68566401506c20283daeeeabf1ebcaa7c8' }, h("div", { key: '5a784414662a0da44aeada1496801146606852df', class: {
15
+ return (h(Host, { key: 'ca37bc294a28794d8bcd7aea18464665b5e8edad' }, h("div", { key: '640cee1fd256dbbc046f8564808ea45ed838d2c5', class: {
16
16
  'component': true,
17
17
  'component-selected': this.selected,
18
- } }, h("slot", { key: 'a1027ad30124faea7cadbf48c07d3e5e021426f2' }))));
18
+ } }, h("slot", { key: 'e5cf6d2af513224921c836206f16d6c44879369c' }))));
19
19
  }
20
20
  get host() { return this; }
21
21
  static get style() { return TdsHeaderDropdownListItemStyle0; }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Converts a value (string or number) to string
3
+ * @param value - The value to convert
4
+ * @returns The string representation of the value, or empty string if null/undefined
5
+ */
6
+ const convertToString = (value) => {
7
+ if (value === null || value === undefined)
8
+ return '';
9
+ return value.toString();
10
+ };
11
+ // Optional: If we need array conversion often
12
+ const convertArrayToStrings = (values) => {
13
+ return values.map((value) => convertToString(value));
14
+ };
15
+
16
+ export { convertArrayToStrings as a, convertToString as c };
@@ -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-707a562e.js';
3
+ import { d as defineCustomElement$1 } from './p-e49a0ceb.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,16 +36,53 @@ 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
+ }
39
56
  componentDidLoad() {
40
57
  this.slotEl = this.host.shadowRoot.querySelector('slot');
41
58
  this.updateSlottedElements();
42
59
  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
+ }
43
80
  }
44
81
  render() {
45
- return (h(Host, { key: '7317ab5668685390e2671908dd41855715267b1c' }, h("tds-core-header-item", { key: 'befc861a437912245c22413bbf774617fa84b289', class: {
82
+ return (h(Host, { key: '04494c94f296aeaed5dc491c2ebf31450e15efc1' }, h("tds-core-header-item", { key: '8a699bc7134795ca9670a0f21a688dc3efadd51a', class: {
46
83
  'component-active': this.active,
47
84
  'component-selected': this.selected,
48
- } }, h("slot", { key: 'f4405b3881dc0d6e4b86f96aa90d0b045c7bf2d8' }))));
85
+ } }, h("slot", { key: 'd0c443c281df9015bbdbffd1b56035d2c7e0cca2' }))));
49
86
  }
50
87
  get host() { return this; }
51
88
  static get style() { return TdsHeaderItemStyle0; }