@scania/tegel 1.25.0 → 1.26.0-onTdsChange-gets-triggered-unexpectedly-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 (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 +236 -205
  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 +260 -247
  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-f0a50868.js → p-29d19dc8.js} +3 -3
  164. package/dist/components/{p-75437dea.js → p-34737ed9.js} +1 -1
  165. package/dist/components/{p-f1980746.js → p-363184d0.js} +4 -4
  166. package/dist/components/{p-d1ace0be.js → p-3e93886d.js} +1 -1
  167. package/dist/components/{p-3351035f.js → p-4764a1d5.js} +1 -1
  168. package/dist/components/{p-1e110ab8.js → p-5028a7ae.js} +39 -15
  169. package/dist/components/p-64019792.js +65 -0
  170. package/dist/components/{p-9d7232d0.js → p-8c849aa2.js} +2 -2
  171. package/dist/components/p-b1d21573.js +16 -0
  172. package/dist/components/{p-dd6ff1e2.js → p-bac1d6b1.js} +203 -201
  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 +236 -205
  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-6f17d37f.entry.js +1 -0
  354. package/dist/tegel/p-70795d6e.entry.js +1 -0
  355. package/dist/tegel/{p-3d3ee51f.entry.js → p-74fc9c92.entry.js} +1 -1
  356. package/dist/tegel/p-77c79b91.entry.js +1 -0
  357. package/dist/tegel/{p-54154f09.entry.js → p-77d457b8.entry.js} +1 -1
  358. package/dist/tegel/{p-4b7c53a6.entry.js → p-78d5acd7.entry.js} +1 -1
  359. package/dist/tegel/{p-44c33b20.entry.js → p-7c4c65c9.entry.js} +1 -1
  360. package/dist/tegel/{p-3a32fe40.entry.js → p-848c2732.entry.js} +1 -1
  361. package/dist/tegel/p-868757d9.entry.js +1 -0
  362. package/dist/tegel/p-8c8b9908.entry.js +1 -0
  363. package/dist/tegel/{p-2f32991e.entry.js → p-96635c10.entry.js} +1 -1
  364. package/dist/tegel/p-a21250b8.entry.js +1 -0
  365. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  366. package/dist/tegel/{p-96bdf035.entry.js → p-aa9d281b.entry.js} +1 -1
  367. package/dist/tegel/p-aadb2553.entry.js +1 -0
  368. package/dist/tegel/p-ab8beb0f.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
@@ -62,6 +62,21 @@ const appendHiddenInput = (element, name, value, disabled, additionalAttributes)
62
62
  input.value = value || '';
63
63
  };
64
64
 
65
+ /**
66
+ * Converts a value (string or number) to string
67
+ * @param value - The value to convert
68
+ * @returns The string representation of the value, or empty string if null/undefined
69
+ */
70
+ const convertToString = (value) => {
71
+ if (value === null || value === undefined)
72
+ return '';
73
+ return value.toString();
74
+ };
75
+ // Optional: If we need array conversion often
76
+ const convertArrayToStrings = (values) => {
77
+ return values.map((value) => convertToString(value));
78
+ };
79
+
65
80
  const dropdownCss = "@charset \"UTF-8\";:host button{all:unset;height:100%;width:100%;background-color:var(--tds-dropdown-bg);border-bottom:1px solid var(--tds-dropdown-border-bottom);border-radius:var(--tds-dropdown-border-radius)}:host button:hover{border-bottom:1px solid var(--tds-dropdown-border-bottom-hover)}:host button .value-wrapper{padding:0 16px;display:flex;align-items:center;justify-content:space-between}:host button.placeholder{color:var(--tds-dropdown-placeholder-color);line-height:1.3}:host button.value{color:var(--tds-dropdown-value-color);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);line-height:1.3}:host button:focus{border-bottom-color:var(--tds-dropdown-border-bottom-open)}:host button:focus::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--tds-dropdown-border-bottom-open)}:host button.error{border-bottom:1px solid var(--tds-negative)}:host button.error:focus{border-bottom-color:transparent}:host button.error:focus::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--tds-negative)}:host button:disabled{color:var(--tds-dropdown-disabled-color);border-bottom:1px solid transparent}:host button .menu-icon{margin-right:0}:host .filter{display:flex;align-items:center;justify-content:space-between;height:100%;background-color:var(--tds-dropdown-bg);border-bottom:1px solid var(--tds-dropdown-border-bottom);padding-left:16px;border-radius:4px 4px 0 0}:host .filter:hover{border-bottom:1px solid var(--tds-dropdown-border-bottom-hover)}:host .filter.disabled{color:var(--tds-dropdown-disabled-color);border-bottom:1px solid transparent}:host .filter .value-wrapper{display:flex;width:100%;height:100%}:host .filter .value-wrapper input{color:var(--tds-dropdown-filter-input-color)}:host .filter .label-inside-as-placeholder{position:absolute;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);line-height:1.3;color:var(--tds-dropdown-placeholder-color)}:host .filter .label-inside-as-placeholder.lg{top:20px}:host .filter .label-inside-as-placeholder.md{top:16px}:host .filter .label-inside-as-placeholder.sm{display:none}:host .filter .label-inside-as-placeholder.selected{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:all 0.2s ease-in-out}:host .filter .label-inside-as-placeholder.selected.lg{top:12px}:host .filter .label-inside-as-placeholder.selected.md{top:8px}:host .filter .label-inside-as-placeholder.selected.sm{display:none}:host .filter .label-inside-as-placeholder.selected+.placeholder:not(.sm){margin-top:8px}:host .filter.focus{border-bottom-color:transparent}:host .filter.focus::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--tds-dropdown-border-bottom-open)}:host .filter.error{border-bottom:1px solid var(--tds-negative)}:host .filter.error.focus{border-bottom-color:transparent}:host .filter.error.focus::before{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--tds-negative)}:host .filter input{flex:1;all:unset;width:100%}:host .filter input::placeholder{color:var(--tds-dropdown-placeholder-color)}:host .filter input:disabled::placeholder{color:var(--tds-dropdown-disabled-color)}:host .filter tds-icon{cursor:pointer}:host .filter .menu-icon{margin-right:16px}:host .filter .clear-icon{margin:0 8px;color:var(--tds-dropdown-clear-icon-color);padding-right:8px;border-right:1px solid var(--tds-dropdown-clear-icon-color)}:host .filter .clear-icon:hover{color:var(--tds-dropdown-clear-icon-hover-color)}:host .filter .clear-icon.hide{display:none;visibility:hidden}:host{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}:host{display:block;position:relative;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls)}:host .label-outside{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);color:var(--tds-dropdown-label-color);margin-bottom:8px}:host .label-outside.disabled{color:var(--tds-dropdown-disabled-color)}:host .dropdown-select{position:relative}:host .dropdown-select button{transition:border-bottom-color var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania)}:host .dropdown-select button:focus{border-bottom-color:var(--tds-dropdown-border-bottom)}:host .dropdown-select button:hover{border-bottom-color:var(--tds-dropdown-border-bottom-hover)}:host .dropdown-select button{border-bottom-color:var(--tds-dropdown-border-bottom)}:host .dropdown-select button.error{border-bottom-color:var(--tds-negative)}:host .dropdown-select button.error:focus{border-bottom-color:transparent}:host .dropdown-select.disabled .label-inside,:host .dropdown-select.disabled .placeholder,:host .dropdown-select.disabled .label-inside-as-placeholder,:host .dropdown-select.disabled .value-wrapper{color:var(--tds-dropdown-disabled-color)}:host .dropdown-select.disabled button{border:none}:host .dropdown-select .label-inside{position:absolute;font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);color:var(--tds-dropdown-label-inside-color)}:host .dropdown-select .label-inside.lg{top:12px;left:16px}:host .dropdown-select .label-inside.md{top:8px;left:16px}:host .dropdown-select .label-inside.sm{display:none}:host .dropdown-select .label-inside.xs{display:none}:host .dropdown-select .label-inside+.placeholder:not(.sm){margin-top:8px}:host .dropdown-select .placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--tds-placeholder-margin);}:host .dropdown-select .placeholder.xs{line-height:1}:host .dropdown-select .label-inside-as-placeholder{color:var(--tds-dropdown-placeholder-color)}:host .dropdown-select .label-inside-as-placeholder.selected{position:absolute;font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:all 0.2s ease-in-out}:host .dropdown-select .label-inside-as-placeholder.selected.lg{top:12px}:host .dropdown-select .label-inside-as-placeholder.selected.md{top:8px}:host .dropdown-select .label-inside-as-placeholder.selected.sm{display:none}:host .dropdown-select .label-inside-as-placeholder.selected+.placeholder:not(.sm){margin-top:8px}:host .dropdown-select.lg{height:55px}:host .dropdown-select.md{height:47px}:host .dropdown-select.sm{height:39px}:host .dropdown-select.xs{height:29px}:host .helper{margin-top:4px;color:var(--tds-dropdown-helper-color);font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);display:flex;align-items:center;gap:8px}:host .helper.error{color:var(--tds-negative)}:host .helper.disabled{color:var(--tds-dropdown-disabled-color)}:host .dropdown-list{z-index:100;position:absolute;margin-top:1px;width:100%;transform-origin:top;box-shadow:rgba(0, 0, 0, 0.1) 0 2px 3px 0;border-radius:var(--tds-dropdown-list-border-radius-down);overflow-y:auto;transform:scaleY(0);pointer-events:none}:host .dropdown-list:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background:var(--tds-scrollbar-hover-thumb-color);background-clip:padding-box}:host .dropdown-list::-webkit-scrollbar{width:var(--tds-scrollbar-width)}:host .dropdown-list::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}:host .dropdown-list::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}:host .dropdown-list::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){:host .dropdown-list{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}:host .dropdown-list.lg{max-height:312px}:host .dropdown-list.md{max-height:312px}:host .dropdown-list.sm{max-height:260px}:host .dropdown-list.xs{max-height:260px}:host .dropdown-list.up{bottom:100%;margin-top:0;margin-bottom:1px;transform-origin:bottom;display:flex;flex-direction:column-reverse;box-shadow:rgba(0, 0, 0, 0.1) 0 -1px 3px 0;border-radius:var(--tds-dropdown-list-border-radius-up)}:host .dropdown-list.up.label-outside{bottom:calc(100% - 24px)}:host .dropdown-list.closed{transform:scaleY(0);pointer-events:none}:host .dropdown-list.open{transform:scaleY(1);visibility:visible;opacity:1;pointer-events:auto}:host .dropdown-list.animation-enter-slide{transition:transform var(--tds-motion-duration-moderate-01) var(--tds-motion-easing-enter)}:host .dropdown-list.animation-exit-slide{transition:transform var(--tds-motion-duration-moderate-01) var(--tds-motion-easing-exit)}:host .dropdown-list .no-result{font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);display:flex;align-items:center;padding:0 16px;background-color:var(--tds-dropdown-bg)}:host .dropdown-list .no-result.lg{height:56px}:host .dropdown-list .no-result.md{height:48px}:host .dropdown-list .no-result.sm{height:40px}:host .dropdown-list .no-result.xs{height:40px}:host .menu-icon{color:var(--tds-dropdown-menu-icon-color)}:host tds-icon{transition:transform var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania)}:host tds-icon.open{transform:rotateZ(180deg)}";
66
81
  const TdsDropdownStyle0 = dropdownCss;
67
82
 
@@ -73,34 +88,14 @@ const TdsDropdown = class {
73
88
  this.tdsBlur = index.createEvent(this, "tdsBlur", 6);
74
89
  this.tdsInput = index.createEvent(this, "tdsInput", 6);
75
90
  this.setDefaultOption = () => {
76
- if (this.defaultValue) {
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
- }
91
+ if (this.internalDefaultValue) {
92
+ // Convert the internal default value to an array if it's not already
82
93
  const defaultValues = this.multiselect
83
- ? new Set(this.defaultValue.split(','))
84
- : [this.defaultValue];
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.defaultValue}"`);
100
- }
94
+ ? this.internalDefaultValue.split(',')
95
+ : [this.internalDefaultValue];
96
+ this.updateDropdownStateInternal(defaultValues);
101
97
  }
102
98
  };
103
- /* Returns a list of all children that are tds-dropdown-option elements */
104
99
  this.getChildren = () => {
105
100
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
106
101
  if (tdsDropdownOptions.length === 0) {
@@ -109,6 +104,36 @@ const TdsDropdown = class {
109
104
  else
110
105
  return tdsDropdownOptions;
111
106
  };
107
+ this.getSelectedChildren = () => {
108
+ if (this.selectedOptions.length === 0)
109
+ return [];
110
+ return this.selectedOptions
111
+ .map((stringValue) => {
112
+ var _a;
113
+ const matchingElement = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.find((element) => element.value === stringValue);
114
+ return matchingElement;
115
+ })
116
+ .filter(Boolean);
117
+ };
118
+ this.getSelectedChildrenLabels = () => {
119
+ var _a;
120
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
121
+ };
122
+ this.getValue = () => {
123
+ const labels = this.getSelectedChildrenLabels();
124
+ if (!labels) {
125
+ return '';
126
+ }
127
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
128
+ };
129
+ this.setValueAttribute = () => {
130
+ if (this.selectedOptions.length === 0) {
131
+ this.host.removeAttribute('value');
132
+ }
133
+ else {
134
+ this.host.setAttribute('value', this.selectedOptions.join(','));
135
+ }
136
+ };
112
137
  this.getOpenDirection = () => {
113
138
  var _a, _b, _c, _d, _e;
114
139
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -122,7 +147,6 @@ const TdsDropdown = class {
122
147
  }
123
148
  return this.openDirection;
124
149
  };
125
- /* Toggles the open state of the Dropdown and sets focus to the input element */
126
150
  this.handleToggleOpen = () => {
127
151
  if (!this.disabled) {
128
152
  this.open = !this.open;
@@ -131,38 +155,10 @@ const TdsDropdown = class {
131
155
  }
132
156
  }
133
157
  };
134
- /* Focuses the input element in the Dropdown, if the reference is present. */
135
158
  this.focusInputElement = () => {
136
159
  if (this.inputElement)
137
160
  this.inputElement.focus();
138
161
  };
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', this.value.map((val) => val).toString());
164
- }
165
- };
166
162
  this.handleFilter = (event) => {
167
163
  this.tdsInput.emit(event);
168
164
  const query = event.target.value.toLowerCase();
@@ -193,8 +189,10 @@ const TdsDropdown = class {
193
189
  this.handleFilterReset = () => {
194
190
  this.reset();
195
191
  this.inputElement.value = '';
196
- this.handleFilter({ target: { value: this.inputElement.value } });
192
+ this.handleFilter({ target: { value: '' } });
197
193
  this.inputElement.focus();
194
+ // Add this line to ensure internal value is cleared
195
+ this.internalValue = '';
198
196
  };
199
197
  this.handleFocus = (event) => {
200
198
  this.open = true;
@@ -208,13 +206,6 @@ const TdsDropdown = class {
208
206
  this.handleBlur = (event) => {
209
207
  this.tdsBlur.emit(event);
210
208
  };
211
- this.handleChange = () => {
212
- var _a, _b;
213
- this.tdsChange.emit({
214
- name: this.name,
215
- value: (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString()) !== null && _b !== void 0 ? _b : null,
216
- });
217
- };
218
209
  this.resetInput = () => {
219
210
  const inputEl = this.host.querySelector('input');
220
211
  if (inputEl) {
@@ -237,16 +228,118 @@ const TdsDropdown = class {
237
228
  this.normalizeText = true;
238
229
  this.noResultText = 'No result';
239
230
  this.defaultValue = undefined;
231
+ this.value = null;
240
232
  this.open = false;
241
- this.value = undefined;
233
+ this.internalValue = undefined;
242
234
  this.filterResult = undefined;
243
235
  this.filterFocus = undefined;
236
+ this.internalDefaultValue = undefined;
237
+ this.selectedOptions = [];
238
+ }
239
+ handleValueChange(newValue) {
240
+ // Normalize to array
241
+ const normalizedValue = this.normalizeValue(newValue);
242
+ // Only update if actually changed
243
+ if (this.hasValueChanged(normalizedValue, this.selectedOptions)) {
244
+ this.updateDropdownStateFromUser(normalizedValue);
245
+ }
246
+ }
247
+ normalizeValue(value) {
248
+ if (!value || value === '')
249
+ return []; // Handle both null and empty string
250
+ // For multiselect, keep array. For single select, wrap in array
251
+ if (this.multiselect) {
252
+ if (Array.isArray(value)) {
253
+ return convertArrayToStrings(value);
254
+ }
255
+ return value
256
+ .toString()
257
+ .split(',')
258
+ .filter((v) => v !== '');
259
+ }
260
+ // Single select - convert to string array
261
+ return Array.isArray(value) ? convertArrayToStrings(value) : [convertToString(value)];
262
+ }
263
+ hasValueChanged(newValue, currentValue) {
264
+ if (newValue.length !== currentValue.length)
265
+ return true;
266
+ return newValue.some((val) => !currentValue.includes(val));
267
+ }
268
+ updateDropdownStateInternal(values) {
269
+ this.updateDropdownState(values, false);
270
+ }
271
+ updateDropdownStateFromUser(values) {
272
+ this.updateDropdownState(values, true);
273
+ }
274
+ updateDropdownState(values, userEmitted = false) {
275
+ // Update internal state
276
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
277
+ // Then update the value prop to match
278
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
279
+ // Force update of internal value
280
+ this.internalValue = this.getValue();
281
+ // Update DOM
282
+ this.updateOptionElements();
283
+ // Update display value
284
+ this.updateDisplayValue();
285
+ // Update value attribute
286
+ this.setValueAttribute();
287
+ // Only emit change if it is an user emitted event
288
+ if (userEmitted)
289
+ this.emitChange();
290
+ }
291
+ validateValues(values) {
292
+ return values.filter((val) => {
293
+ var _a;
294
+ const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
295
+ if (!isValid) {
296
+ console.warn(`Option with value "${val}" does not exist`);
297
+ }
298
+ return isValid;
299
+ });
300
+ }
301
+ updateOptionElements() {
302
+ var _a;
303
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
304
+ // Convert element.value to string for comparison
305
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
306
+ });
307
+ }
308
+ updateDisplayValue() {
309
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
310
+ if (this.filter && this.inputElement) {
311
+ this.inputElement.value = this.internalValue;
312
+ }
313
+ }
314
+ emitChange() {
315
+ const value = this.multiselect
316
+ ? this.selectedOptions.join(',')
317
+ : this.selectedOptions[0] || null;
318
+ this.tdsChange.emit({
319
+ name: this.name,
320
+ value: value !== null && value !== void 0 ? value : null,
321
+ });
322
+ }
323
+ async setValue(value) {
324
+ let normalizedValue;
325
+ if (Array.isArray(value)) {
326
+ normalizedValue = convertArrayToStrings(value);
327
+ }
328
+ else {
329
+ normalizedValue = [convertToString(value)];
330
+ }
331
+ this.updateDropdownStateFromUser(normalizedValue);
332
+ return this.getSelectedChildren().map((element) => ({
333
+ value: element.value,
334
+ label: element.textContent.trim(),
335
+ }));
244
336
  }
245
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
246
337
  async reset() {
247
- this.dropdownList.scrollTop = 0;
248
- this.internalReset();
249
- this.handleChange();
338
+ this.updateDropdownStateFromUser([]);
339
+ }
340
+ async removeValue(oldValue) {
341
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
342
+ this.updateDropdownStateFromUser(newValues);
250
343
  }
251
344
  /** Method that forces focus on the input element. */
252
345
  async focusElement() {
@@ -267,79 +360,6 @@ const TdsDropdown = class {
267
360
  * dropdown.setValue(['option-1', 'option-2']);
268
361
  * </code>
269
362
  */
270
- // The label is optional here ONLY to not break the API. Should be removed for 2.0.
271
- // @ts-ignore
272
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
273
- async setValue(value, label) {
274
- let nextValue;
275
- if (typeof value === 'string')
276
- nextValue = [value];
277
- else
278
- nextValue = value;
279
- if (!this.multiselect && nextValue.length > 1) {
280
- console.warn('Tried to select multiple items, but multiselect is not enabled.');
281
- nextValue = [nextValue[0]];
282
- }
283
- nextValue = [...new Set(nextValue)];
284
- this.internalReset();
285
- for (let i = 0; i < nextValue.length; i++) {
286
- const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
287
- if (!optionExist) {
288
- nextValue.splice(i, 1);
289
- }
290
- }
291
- this.value = nextValue;
292
- this.setValueAttribute();
293
- this.selectChildrenAsSelectedBasedOnSelectionProp();
294
- this.handleChange();
295
- /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
296
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
297
- const selection = this.getSelectedChildren().map((element) => ({
298
- value: element.value,
299
- label: element.textContent.trim(),
300
- }));
301
- // Update inputElement value and placeholder text
302
- if (this.filter) {
303
- this.inputElement.value = this.getValue();
304
- }
305
- return selection;
306
- }
307
- /**
308
- * @internal
309
- */
310
- async appendValue(value) {
311
- if (this.multiselect && this.value) {
312
- this.setValue([...this.value, value]);
313
- }
314
- else {
315
- this.setValue(value);
316
- }
317
- }
318
- /** Method for removing a selected value in the Dropdown. */
319
- async removeValue(oldValue) {
320
- var _a, _b;
321
- let label;
322
- if (this.multiselect) {
323
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
324
- var _a;
325
- if (element.value === oldValue) {
326
- this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
327
- label = element.textContent.trim();
328
- element.setSelected(false);
329
- }
330
- return element;
331
- });
332
- }
333
- else {
334
- this.reset();
335
- }
336
- this.handleChange();
337
- this.setValueAttribute();
338
- /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
339
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
340
- return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
341
- }
342
- /** Method for closing the Dropdown. */
343
363
  async close() {
344
364
  this.open = false;
345
365
  }
@@ -386,12 +406,25 @@ const TdsDropdown = class {
386
406
  handleOpenState() {
387
407
  if (this.filter && this.multiselect) {
388
408
  if (!this.open) {
389
- this.inputElement.value = this.getValue();
409
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
390
410
  }
391
411
  }
392
412
  }
413
+ handleDefaultValueChange(newValue) {
414
+ if (newValue !== undefined && newValue !== null) {
415
+ this.internalDefaultValue = convertToString(newValue);
416
+ this.setDefaultOption();
417
+ }
418
+ }
393
419
  componentWillLoad() {
394
- this.setDefaultOption();
420
+ if (this.defaultValue && !this.value) {
421
+ // Convert defaultValue to string before splitting
422
+ const defaultValueStr = convertToString(this.defaultValue);
423
+ const initialValue = this.multiselect
424
+ ? defaultValueStr.split(',').map(convertToString)
425
+ : [convertToString(this.defaultValue)];
426
+ this.updateDropdownStateInternal(initialValue);
427
+ }
395
428
  }
396
429
  /** Method to handle slot changes */
397
430
  handleSlotChange() {
@@ -401,29 +434,16 @@ const TdsDropdown = class {
401
434
  normalizeString(text) {
402
435
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
403
436
  }
404
- /** Method that resets the dropdown without emitting an event. */
405
- internalReset() {
406
- this.getChildren().forEach((element) => {
407
- element.setSelected(false);
408
- return element;
409
- });
410
- this.value = null;
411
- this.setValueAttribute();
412
- }
413
- selectChildrenAsSelectedBasedOnSelectionProp() {
414
- this.getChildren().forEach((element) => {
415
- this.value.forEach((selection) => {
416
- if (element.value !== selection) {
417
- // If not multiselect, we need to unselect all other options.
418
- if (!this.multiselect) {
419
- element.setSelected(false);
420
- }
421
- }
422
- else {
423
- element.setSelected(true);
424
- }
425
- });
426
- });
437
+ /**
438
+ * @internal
439
+ */
440
+ async appendValue(value) {
441
+ if (this.multiselect) {
442
+ this.updateDropdownStateFromUser([...this.selectedOptions, value]);
443
+ }
444
+ else {
445
+ this.updateDropdownStateFromUser([value]);
446
+ }
427
447
  }
428
448
  componentDidRender() {
429
449
  const form = this.host.closest('form');
@@ -438,11 +458,10 @@ const TdsDropdown = class {
438
458
  }
439
459
  }
440
460
  render() {
441
- var _a, _b, _c, _d;
442
- appendHiddenInput(this.host, this.name, (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString(), this.disabled);
443
- return (index.h(index.Host, { key: '3b547dda7bede0ae8e020d976d08ed9d8bf50356', role: "select", class: {
461
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
462
+ return (index.h(index.Host, { key: 'd15afb12233aaa419a7a6b5591d6ea1dc7663218', role: "select", class: {
444
463
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
445
- } }, this.label && this.labelPosition === 'outside' && (index.h("div", { key: 'ca3c45bce793171f4af249b4c007d4279599f2b4', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), index.h("div", { key: 'fb12d8b69a4430977b3269f44f9b5e5600965cc1', class: {
464
+ } }, this.label && this.labelPosition === 'outside' && (index.h("div", { key: '9562a26de18136dc53c23baeeb0ae210356adac7', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), index.h("div", { key: '0945af4d097f042da54c50da1858380c0b1dbfeb', class: {
446
465
  'dropdown-select': true,
447
466
  [this.size]: true,
448
467
  'disabled': this.disabled,
@@ -454,7 +473,7 @@ const TdsDropdown = class {
454
473
  } }, index.h("div", { class: "value-wrapper" }, this.label && this.labelPosition === 'inside' && this.placeholder && (index.h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (index.h("div", { class: `
455
474
  label-inside-as-placeholder
456
475
  ${this.size}
457
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
476
+ ${this.selectedOptions.length ? 'selected' : ''}
458
477
  ` }, this.label)), index.h("input", {
459
478
  // eslint-disable-next-line no-return-assign
460
479
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -465,15 +484,7 @@ const TdsDropdown = class {
465
484
  this.inputElement.value = this.getValue();
466
485
  }
467
486
  this.handleBlur(event);
468
- }, onFocus: (event) => {
469
- this.open = true;
470
- this.filterFocus = true;
471
- if (this.multiselect) {
472
- this.inputElement.value = '';
473
- }
474
- this.handleFocus(event);
475
- this.handleFilter({ target: { value: '' } });
476
- }, onKeyDown: (event) => {
487
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
477
488
  if (event.key === 'Escape') {
478
489
  this.open = false;
479
490
  }
@@ -493,17 +504,15 @@ const TdsDropdown = class {
493
504
  if (event.key === 'Escape') {
494
505
  this.open = false;
495
506
  }
496
- }, class: {
497
- value: Boolean(this.value),
498
- placeholder: Boolean(!this.value),
499
- open: this.open,
500
- closed: !this.open,
501
- error: this.error,
502
- }, disabled: this.disabled }, index.h("div", { class: `value-wrapper ${this.size}` }, this.label && this.labelPosition === 'inside' && this.placeholder && (index.h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (index.h("div", { class: {
503
- 'label-inside-as-placeholder': true,
504
- [this.size]: true,
505
- 'selected': Boolean((_c = this.value) === null || _c === void 0 ? void 0 : _c.length),
506
- } }, this.label)), index.h("div", { class: `placeholder ${this.size}` }, ((_d = this.value) === null || _d === void 0 ? void 0 : _d.length) ? this.getValue() : this.placeholder), index.h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), index.h("div", { key: 'b734958a92e331bc6fcd07a0cf716219cec235c1', ref: (element) => {
507
+ }, class: `
508
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
509
+ ${this.open ? 'open' : 'closed'}
510
+ ${this.error ? 'error' : ''}
511
+ `, disabled: this.disabled }, index.h("div", { class: `value-wrapper ${this.size}` }, this.label && this.labelPosition === 'inside' && this.placeholder && (index.h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (index.h("div", { class: `
512
+ label-inside-as-placeholder
513
+ ${this.size}
514
+ ${this.selectedOptions.length ? 'selected' : ''}
515
+ ` }, this.label)), index.h("div", { class: `placeholder ${this.size}` }, this.selectedOptions.length ? this.getValue() : this.placeholder), index.h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), index.h("div", { key: 'e3db331ef53896c16822478e56568c1c89c34d8c', ref: (element) => {
507
516
  this.dropdownList = element;
508
517
  }, class: {
509
518
  'dropdown-list': true,
@@ -514,15 +523,17 @@ const TdsDropdown = class {
514
523
  'closed': !this.open,
515
524
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
516
525
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
517
- } }, index.h("slot", { key: '85d5f7599b21df148a34416fb271c894ff6a2e3e', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (index.h("div", { key: '5009c99ade06605dd2605e28f59b82e78e3f3bec', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (index.h("div", { key: '88d55d60aac26a3c5af04bfa74b6649d5d893fce', class: {
526
+ } }, index.h("slot", { key: '9c41b3495fdb0745dbf6bb33cede9b7cc13f551e', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (index.h("div", { key: '9de44942495f2246e6696c18d54d9af6f7c24f71', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (index.h("div", { key: '5164de6dc06ca1d4cd8a9f296660b9c260ccd878', class: {
518
527
  helper: true,
519
528
  error: this.error,
520
529
  disabled: this.disabled,
521
- } }, this.error && index.h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
530
+ } }, this.error && index.h("tds-icon", { key: '27056711de2079206b1b09a849aed911bf1efb9a', name: "error", size: "16px" }), this.helper))));
522
531
  }
523
532
  get host() { return index.getElement(this); }
524
533
  static get watchers() { return {
525
- "open": ["handleOpenState"]
534
+ "value": ["handleValueChange"],
535
+ "open": ["handleOpenState"],
536
+ "defaultValue": ["handleDefaultValueChange"]
526
537
  }; }
527
538
  };
528
539
  TdsDropdown.style = TdsDropdownStyle0;
@@ -536,22 +547,32 @@ const TdsDropdownOption = class {
536
547
  this.tdsSelect = index.createEvent(this, "tdsSelect", 6);
537
548
  this.tdsFocus = index.createEvent(this, "tdsFocus", 6);
538
549
  this.tdsBlur = index.createEvent(this, "tdsBlur", 6);
550
+ this.parentElement = null;
551
+ // @ts-ignore
552
+ // eslint-disable-next-line no-unused-vars,
553
+ this.label = '';
539
554
  this.componentWillRender = () => {
555
+ var _a, _b, _c;
556
+ if (!this.host.parentElement) {
557
+ return;
558
+ }
540
559
  this.parentElement =
541
- this.host.parentElement.tagName === 'TDS-DROPDOWN'
560
+ ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'TDS-DROPDOWN'
542
561
  ? this.host.parentElement
543
562
  : this.host.getRootNode().host;
544
- this.multiselect = this.parentElement.multiselect;
545
- this.size = this.parentElement.size;
546
- this.label = this.host.textContent.trim();
563
+ if (this.parentElement) {
564
+ this.multiselect = (_b = this.parentElement.multiselect) !== null && _b !== void 0 ? _b : false;
565
+ this.size = this.parentElement.size || 'lg';
566
+ }
567
+ this.label = ((_c = this.host.textContent) === null || _c === void 0 ? void 0 : _c.trim()) || '';
547
568
  };
548
569
  this.handleSingleSelect = () => {
549
570
  if (!this.disabled) {
550
571
  this.selected = true;
551
- this.parentElement.appendValue(this.value);
572
+ this.parentElement.appendValue(this.internalValue);
552
573
  this.parentElement.close();
553
574
  this.tdsSelect.emit({
554
- value: this.value,
575
+ value: this.internalValue,
555
576
  selected: this.selected,
556
577
  });
557
578
  }
@@ -559,18 +580,18 @@ const TdsDropdownOption = class {
559
580
  this.handleMultiselect = (event) => {
560
581
  if (!this.disabled) {
561
582
  if (event.detail.checked) {
562
- this.parentElement.appendValue(this.value);
583
+ this.parentElement.appendValue(this.internalValue);
563
584
  this.selected = true;
564
585
  this.tdsSelect.emit({
565
- value: this.value,
586
+ value: this.internalValue,
566
587
  selected: this.selected,
567
588
  });
568
589
  }
569
590
  else {
570
- this.parentElement.removeValue(this.value);
591
+ this.parentElement.removeValue(this.internalValue);
571
592
  this.selected = false;
572
593
  this.tdsSelect.emit({
573
- value: this.value,
594
+ value: this.internalValue,
574
595
  selected: this.selected,
575
596
  });
576
597
  }
@@ -584,17 +605,24 @@ const TdsDropdownOption = class {
584
605
  this.tdsBlur.emit(event);
585
606
  };
586
607
  this.value = undefined;
608
+ this.internalValue = undefined;
587
609
  this.disabled = false;
588
610
  this.selected = false;
589
- this.multiselect = undefined;
611
+ this.multiselect = false;
590
612
  this.size = 'lg';
591
613
  }
592
614
  /** Method to select/deselect an option. */
593
615
  async setSelected(selected) {
594
616
  this.selected = selected;
595
617
  }
618
+ valueWatcher(newValue) {
619
+ this.internalValue = convertToString(newValue);
620
+ }
621
+ componentWillLoad() {
622
+ this.internalValue = convertToString(this.value);
623
+ }
596
624
  render() {
597
- return (index.h(index.Host, { key: '0dedcd94148bf61ee8b154c00eca73759f366dd4', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, index.h("div", { key: 'da3b6d37132d48502599145f85f05072a996d6dc', class: `dropdown-option
625
+ return (index.h(index.Host, { key: 'af1229553e89c02aca1d7c11bbc80acd25ce44b5', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, index.h("div", { key: 'c93eb33d1864028690ab981c0f676f03993265c4', class: `dropdown-option
598
626
  ${this.size}
599
627
  ${this.selected ? 'selected' : ''}
600
628
  ${this.disabled ? 'disabled' : ''}
@@ -612,6 +640,9 @@ const TdsDropdownOption = class {
612
640
  }
613
641
  static get delegatesFocus() { return true; }
614
642
  get host() { return index.getElement(this); }
643
+ static get watchers() { return {
644
+ "value": ["valueWatcher"]
645
+ }; }
615
646
  };
616
647
  TdsDropdownOption.style = TdsDropdownOptionStyle0;
617
648