@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
@@ -58,6 +58,21 @@ const appendHiddenInput = (element, name, value, disabled, additionalAttributes)
58
58
  input.value = value || '';
59
59
  };
60
60
 
61
+ /**
62
+ * Converts a value (string or number) to string
63
+ * @param value - The value to convert
64
+ * @returns The string representation of the value, or empty string if null/undefined
65
+ */
66
+ const convertToString = (value) => {
67
+ if (value === null || value === undefined)
68
+ return '';
69
+ return value.toString();
70
+ };
71
+ // Optional: If we need array conversion often
72
+ const convertArrayToStrings = (values) => {
73
+ return values.map((value) => convertToString(value));
74
+ };
75
+
61
76
  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)}";
62
77
  const TdsDropdownStyle0 = dropdownCss;
63
78
 
@@ -69,34 +84,14 @@ const TdsDropdown = class {
69
84
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
70
85
  this.tdsInput = createEvent(this, "tdsInput", 6);
71
86
  this.setDefaultOption = () => {
72
- if (this.defaultValue) {
73
- const children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
74
- if (children.length === 0) {
75
- console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
76
- return;
77
- }
87
+ if (this.internalDefaultValue) {
88
+ // Convert the internal default value to an array if it's not already
78
89
  const defaultValues = this.multiselect
79
- ? new Set(this.defaultValue.split(','))
80
- : [this.defaultValue];
81
- const childrenMap = new Map(children.map((element) => [element.value, element]));
82
- const matchedValues = Array.from(defaultValues).filter((value) => {
83
- const element = childrenMap.get(value);
84
- if (element) {
85
- element.setSelected(true);
86
- return true;
87
- }
88
- return false;
89
- });
90
- if (matchedValues.length > 0) {
91
- this.value = [...new Set(this.value ? [...this.value, ...matchedValues] : matchedValues)];
92
- this.setValueAttribute();
93
- }
94
- else {
95
- console.warn(`TDS DROPDOWN: No matching option found for defaultValue "${this.defaultValue}"`);
96
- }
90
+ ? this.internalDefaultValue.split(',')
91
+ : [this.internalDefaultValue];
92
+ this.updateDropdownStateInternal(defaultValues);
97
93
  }
98
94
  };
99
- /* Returns a list of all children that are tds-dropdown-option elements */
100
95
  this.getChildren = () => {
101
96
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
102
97
  if (tdsDropdownOptions.length === 0) {
@@ -105,6 +100,36 @@ const TdsDropdown = class {
105
100
  else
106
101
  return tdsDropdownOptions;
107
102
  };
103
+ this.getSelectedChildren = () => {
104
+ if (this.selectedOptions.length === 0)
105
+ return [];
106
+ return this.selectedOptions
107
+ .map((stringValue) => {
108
+ var _a;
109
+ const matchingElement = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.find((element) => element.value === stringValue);
110
+ return matchingElement;
111
+ })
112
+ .filter(Boolean);
113
+ };
114
+ this.getSelectedChildrenLabels = () => {
115
+ var _a;
116
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
117
+ };
118
+ this.getValue = () => {
119
+ const labels = this.getSelectedChildrenLabels();
120
+ if (!labels) {
121
+ return '';
122
+ }
123
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
124
+ };
125
+ this.setValueAttribute = () => {
126
+ if (this.selectedOptions.length === 0) {
127
+ this.host.removeAttribute('value');
128
+ }
129
+ else {
130
+ this.host.setAttribute('value', this.selectedOptions.join(','));
131
+ }
132
+ };
108
133
  this.getOpenDirection = () => {
109
134
  var _a, _b, _c, _d, _e;
110
135
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -118,7 +143,6 @@ const TdsDropdown = class {
118
143
  }
119
144
  return this.openDirection;
120
145
  };
121
- /* Toggles the open state of the Dropdown and sets focus to the input element */
122
146
  this.handleToggleOpen = () => {
123
147
  if (!this.disabled) {
124
148
  this.open = !this.open;
@@ -127,38 +151,10 @@ const TdsDropdown = class {
127
151
  }
128
152
  }
129
153
  };
130
- /* Focuses the input element in the Dropdown, if the reference is present. */
131
154
  this.focusInputElement = () => {
132
155
  if (this.inputElement)
133
156
  this.inputElement.focus();
134
157
  };
135
- this.getSelectedChildren = () => {
136
- var _a;
137
- return (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((stringValue) => {
138
- const matchingElement = this.getChildren().find((element) => element.value === stringValue);
139
- return matchingElement;
140
- }).filter(Boolean);
141
- };
142
- this.getSelectedChildrenLabels = () => {
143
- var _a;
144
- return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
145
- };
146
- this.getValue = () => {
147
- const labels = this.getSelectedChildrenLabels();
148
- if (!labels) {
149
- return '';
150
- }
151
- return labels === null || labels === void 0 ? void 0 : labels.join(', ');
152
- };
153
- this.setValueAttribute = () => {
154
- var _a;
155
- if (!this.value || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) === '') {
156
- this.host.removeAttribute('value');
157
- }
158
- else {
159
- this.host.setAttribute('value', this.value.map((val) => val).toString());
160
- }
161
- };
162
158
  this.handleFilter = (event) => {
163
159
  this.tdsInput.emit(event);
164
160
  const query = event.target.value.toLowerCase();
@@ -189,8 +185,10 @@ const TdsDropdown = class {
189
185
  this.handleFilterReset = () => {
190
186
  this.reset();
191
187
  this.inputElement.value = '';
192
- this.handleFilter({ target: { value: this.inputElement.value } });
188
+ this.handleFilter({ target: { value: '' } });
193
189
  this.inputElement.focus();
190
+ // Add this line to ensure internal value is cleared
191
+ this.internalValue = '';
194
192
  };
195
193
  this.handleFocus = (event) => {
196
194
  this.open = true;
@@ -204,13 +202,6 @@ const TdsDropdown = class {
204
202
  this.handleBlur = (event) => {
205
203
  this.tdsBlur.emit(event);
206
204
  };
207
- this.handleChange = () => {
208
- var _a, _b;
209
- this.tdsChange.emit({
210
- name: this.name,
211
- value: (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString()) !== null && _b !== void 0 ? _b : null,
212
- });
213
- };
214
205
  this.resetInput = () => {
215
206
  const inputEl = this.host.querySelector('input');
216
207
  if (inputEl) {
@@ -233,16 +224,118 @@ const TdsDropdown = class {
233
224
  this.normalizeText = true;
234
225
  this.noResultText = 'No result';
235
226
  this.defaultValue = undefined;
227
+ this.value = null;
236
228
  this.open = false;
237
- this.value = undefined;
229
+ this.internalValue = undefined;
238
230
  this.filterResult = undefined;
239
231
  this.filterFocus = undefined;
232
+ this.internalDefaultValue = undefined;
233
+ this.selectedOptions = [];
234
+ }
235
+ handleValueChange(newValue) {
236
+ // Normalize to array
237
+ const normalizedValue = this.normalizeValue(newValue);
238
+ // Only update if actually changed
239
+ if (this.hasValueChanged(normalizedValue, this.selectedOptions)) {
240
+ this.updateDropdownStateFromUser(normalizedValue);
241
+ }
242
+ }
243
+ normalizeValue(value) {
244
+ if (!value || value === '')
245
+ return []; // Handle both null and empty string
246
+ // For multiselect, keep array. For single select, wrap in array
247
+ if (this.multiselect) {
248
+ if (Array.isArray(value)) {
249
+ return convertArrayToStrings(value);
250
+ }
251
+ return value
252
+ .toString()
253
+ .split(',')
254
+ .filter((v) => v !== '');
255
+ }
256
+ // Single select - convert to string array
257
+ return Array.isArray(value) ? convertArrayToStrings(value) : [convertToString(value)];
258
+ }
259
+ hasValueChanged(newValue, currentValue) {
260
+ if (newValue.length !== currentValue.length)
261
+ return true;
262
+ return newValue.some((val) => !currentValue.includes(val));
263
+ }
264
+ updateDropdownStateInternal(values) {
265
+ this.updateDropdownState(values, false);
266
+ }
267
+ updateDropdownStateFromUser(values) {
268
+ this.updateDropdownState(values, true);
269
+ }
270
+ updateDropdownState(values, userEmitted = false) {
271
+ // Update internal state
272
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
273
+ // Then update the value prop to match
274
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
275
+ // Force update of internal value
276
+ this.internalValue = this.getValue();
277
+ // Update DOM
278
+ this.updateOptionElements();
279
+ // Update display value
280
+ this.updateDisplayValue();
281
+ // Update value attribute
282
+ this.setValueAttribute();
283
+ // Only emit change if it is an user emitted event
284
+ if (userEmitted)
285
+ this.emitChange();
286
+ }
287
+ validateValues(values) {
288
+ return values.filter((val) => {
289
+ var _a;
290
+ const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
291
+ if (!isValid) {
292
+ console.warn(`Option with value "${val}" does not exist`);
293
+ }
294
+ return isValid;
295
+ });
296
+ }
297
+ updateOptionElements() {
298
+ var _a;
299
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
300
+ // Convert element.value to string for comparison
301
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
302
+ });
303
+ }
304
+ updateDisplayValue() {
305
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
306
+ if (this.filter && this.inputElement) {
307
+ this.inputElement.value = this.internalValue;
308
+ }
309
+ }
310
+ emitChange() {
311
+ const value = this.multiselect
312
+ ? this.selectedOptions.join(',')
313
+ : this.selectedOptions[0] || null;
314
+ this.tdsChange.emit({
315
+ name: this.name,
316
+ value: value !== null && value !== void 0 ? value : null,
317
+ });
318
+ }
319
+ async setValue(value) {
320
+ let normalizedValue;
321
+ if (Array.isArray(value)) {
322
+ normalizedValue = convertArrayToStrings(value);
323
+ }
324
+ else {
325
+ normalizedValue = [convertToString(value)];
326
+ }
327
+ this.updateDropdownStateFromUser(normalizedValue);
328
+ return this.getSelectedChildren().map((element) => ({
329
+ value: element.value,
330
+ label: element.textContent.trim(),
331
+ }));
240
332
  }
241
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
242
333
  async reset() {
243
- this.dropdownList.scrollTop = 0;
244
- this.internalReset();
245
- this.handleChange();
334
+ this.updateDropdownStateFromUser([]);
335
+ }
336
+ async removeValue(oldValue) {
337
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
338
+ this.updateDropdownStateFromUser(newValues);
246
339
  }
247
340
  /** Method that forces focus on the input element. */
248
341
  async focusElement() {
@@ -263,79 +356,6 @@ const TdsDropdown = class {
263
356
  * dropdown.setValue(['option-1', 'option-2']);
264
357
  * </code>
265
358
  */
266
- // The label is optional here ONLY to not break the API. Should be removed for 2.0.
267
- // @ts-ignore
268
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
269
- async setValue(value, label) {
270
- let nextValue;
271
- if (typeof value === 'string')
272
- nextValue = [value];
273
- else
274
- nextValue = value;
275
- if (!this.multiselect && nextValue.length > 1) {
276
- console.warn('Tried to select multiple items, but multiselect is not enabled.');
277
- nextValue = [nextValue[0]];
278
- }
279
- nextValue = [...new Set(nextValue)];
280
- this.internalReset();
281
- for (let i = 0; i < nextValue.length; i++) {
282
- const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
283
- if (!optionExist) {
284
- nextValue.splice(i, 1);
285
- }
286
- }
287
- this.value = nextValue;
288
- this.setValueAttribute();
289
- this.selectChildrenAsSelectedBasedOnSelectionProp();
290
- this.handleChange();
291
- /* 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. */
292
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
293
- const selection = this.getSelectedChildren().map((element) => ({
294
- value: element.value,
295
- label: element.textContent.trim(),
296
- }));
297
- // Update inputElement value and placeholder text
298
- if (this.filter) {
299
- this.inputElement.value = this.getValue();
300
- }
301
- return selection;
302
- }
303
- /**
304
- * @internal
305
- */
306
- async appendValue(value) {
307
- if (this.multiselect && this.value) {
308
- this.setValue([...this.value, value]);
309
- }
310
- else {
311
- this.setValue(value);
312
- }
313
- }
314
- /** Method for removing a selected value in the Dropdown. */
315
- async removeValue(oldValue) {
316
- var _a, _b;
317
- let label;
318
- if (this.multiselect) {
319
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
320
- var _a;
321
- if (element.value === oldValue) {
322
- this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
323
- label = element.textContent.trim();
324
- element.setSelected(false);
325
- }
326
- return element;
327
- });
328
- }
329
- else {
330
- this.reset();
331
- }
332
- this.handleChange();
333
- this.setValueAttribute();
334
- /* 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. */
335
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
336
- return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
337
- }
338
- /** Method for closing the Dropdown. */
339
359
  async close() {
340
360
  this.open = false;
341
361
  }
@@ -382,12 +402,25 @@ const TdsDropdown = class {
382
402
  handleOpenState() {
383
403
  if (this.filter && this.multiselect) {
384
404
  if (!this.open) {
385
- this.inputElement.value = this.getValue();
405
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
386
406
  }
387
407
  }
388
408
  }
409
+ handleDefaultValueChange(newValue) {
410
+ if (newValue !== undefined && newValue !== null) {
411
+ this.internalDefaultValue = convertToString(newValue);
412
+ this.setDefaultOption();
413
+ }
414
+ }
389
415
  componentWillLoad() {
390
- this.setDefaultOption();
416
+ if (this.defaultValue && !this.value) {
417
+ // Convert defaultValue to string before splitting
418
+ const defaultValueStr = convertToString(this.defaultValue);
419
+ const initialValue = this.multiselect
420
+ ? defaultValueStr.split(',').map(convertToString)
421
+ : [convertToString(this.defaultValue)];
422
+ this.updateDropdownStateInternal(initialValue);
423
+ }
391
424
  }
392
425
  /** Method to handle slot changes */
393
426
  handleSlotChange() {
@@ -397,29 +430,16 @@ const TdsDropdown = class {
397
430
  normalizeString(text) {
398
431
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
399
432
  }
400
- /** Method that resets the dropdown without emitting an event. */
401
- internalReset() {
402
- this.getChildren().forEach((element) => {
403
- element.setSelected(false);
404
- return element;
405
- });
406
- this.value = null;
407
- this.setValueAttribute();
408
- }
409
- selectChildrenAsSelectedBasedOnSelectionProp() {
410
- this.getChildren().forEach((element) => {
411
- this.value.forEach((selection) => {
412
- if (element.value !== selection) {
413
- // If not multiselect, we need to unselect all other options.
414
- if (!this.multiselect) {
415
- element.setSelected(false);
416
- }
417
- }
418
- else {
419
- element.setSelected(true);
420
- }
421
- });
422
- });
433
+ /**
434
+ * @internal
435
+ */
436
+ async appendValue(value) {
437
+ if (this.multiselect) {
438
+ this.updateDropdownStateFromUser([...this.selectedOptions, value]);
439
+ }
440
+ else {
441
+ this.updateDropdownStateFromUser([value]);
442
+ }
423
443
  }
424
444
  componentDidRender() {
425
445
  const form = this.host.closest('form');
@@ -434,11 +454,10 @@ const TdsDropdown = class {
434
454
  }
435
455
  }
436
456
  render() {
437
- var _a, _b, _c, _d;
438
- appendHiddenInput(this.host, this.name, (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString(), this.disabled);
439
- return (h(Host, { key: '3b547dda7bede0ae8e020d976d08ed9d8bf50356', role: "select", class: {
457
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
458
+ return (h(Host, { key: 'd15afb12233aaa419a7a6b5591d6ea1dc7663218', role: "select", class: {
440
459
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
441
- } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'ca3c45bce793171f4af249b4c007d4279599f2b4', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: 'fb12d8b69a4430977b3269f44f9b5e5600965cc1', class: {
460
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '9562a26de18136dc53c23baeeb0ae210356adac7', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '0945af4d097f042da54c50da1858380c0b1dbfeb', class: {
442
461
  'dropdown-select': true,
443
462
  [this.size]: true,
444
463
  'disabled': this.disabled,
@@ -450,7 +469,7 @@ const TdsDropdown = class {
450
469
  } }, 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: `
451
470
  label-inside-as-placeholder
452
471
  ${this.size}
453
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
472
+ ${this.selectedOptions.length ? 'selected' : ''}
454
473
  ` }, this.label)), h("input", {
455
474
  // eslint-disable-next-line no-return-assign
456
475
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -461,15 +480,7 @@ const TdsDropdown = class {
461
480
  this.inputElement.value = this.getValue();
462
481
  }
463
482
  this.handleBlur(event);
464
- }, onFocus: (event) => {
465
- this.open = true;
466
- this.filterFocus = true;
467
- if (this.multiselect) {
468
- this.inputElement.value = '';
469
- }
470
- this.handleFocus(event);
471
- this.handleFilter({ target: { value: '' } });
472
- }, onKeyDown: (event) => {
483
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
473
484
  if (event.key === 'Escape') {
474
485
  this.open = false;
475
486
  }
@@ -489,17 +500,15 @@ const TdsDropdown = class {
489
500
  if (event.key === 'Escape') {
490
501
  this.open = false;
491
502
  }
492
- }, class: {
493
- value: Boolean(this.value),
494
- placeholder: Boolean(!this.value),
495
- open: this.open,
496
- closed: !this.open,
497
- error: this.error,
498
- }, 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: {
499
- 'label-inside-as-placeholder': true,
500
- [this.size]: true,
501
- 'selected': Boolean((_c = this.value) === null || _c === void 0 ? void 0 : _c.length),
502
- } }, 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) => {
503
+ }, class: `
504
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
505
+ ${this.open ? 'open' : 'closed'}
506
+ ${this.error ? 'error' : ''}
507
+ `, 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: `
508
+ label-inside-as-placeholder
509
+ ${this.size}
510
+ ${this.selectedOptions.length ? 'selected' : ''}
511
+ ` }, 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: 'e3db331ef53896c16822478e56568c1c89c34d8c', ref: (element) => {
503
512
  this.dropdownList = element;
504
513
  }, class: {
505
514
  'dropdown-list': true,
@@ -510,15 +519,17 @@ const TdsDropdown = class {
510
519
  'closed': !this.open,
511
520
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
512
521
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
513
- } }, 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: {
522
+ } }, h("slot", { key: '9c41b3495fdb0745dbf6bb33cede9b7cc13f551e', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '9de44942495f2246e6696c18d54d9af6f7c24f71', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: '5164de6dc06ca1d4cd8a9f296660b9c260ccd878', class: {
514
523
  helper: true,
515
524
  error: this.error,
516
525
  disabled: this.disabled,
517
- } }, this.error && h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
526
+ } }, this.error && h("tds-icon", { key: '27056711de2079206b1b09a849aed911bf1efb9a', name: "error", size: "16px" }), this.helper))));
518
527
  }
519
528
  get host() { return getElement(this); }
520
529
  static get watchers() { return {
521
- "open": ["handleOpenState"]
530
+ "value": ["handleValueChange"],
531
+ "open": ["handleOpenState"],
532
+ "defaultValue": ["handleDefaultValueChange"]
522
533
  }; }
523
534
  };
524
535
  TdsDropdown.style = TdsDropdownStyle0;
@@ -532,22 +543,32 @@ const TdsDropdownOption = class {
532
543
  this.tdsSelect = createEvent(this, "tdsSelect", 6);
533
544
  this.tdsFocus = createEvent(this, "tdsFocus", 6);
534
545
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
546
+ this.parentElement = null;
547
+ // @ts-ignore
548
+ // eslint-disable-next-line no-unused-vars,
549
+ this.label = '';
535
550
  this.componentWillRender = () => {
551
+ var _a, _b, _c;
552
+ if (!this.host.parentElement) {
553
+ return;
554
+ }
536
555
  this.parentElement =
537
- this.host.parentElement.tagName === 'TDS-DROPDOWN'
556
+ ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'TDS-DROPDOWN'
538
557
  ? this.host.parentElement
539
558
  : this.host.getRootNode().host;
540
- this.multiselect = this.parentElement.multiselect;
541
- this.size = this.parentElement.size;
542
- this.label = this.host.textContent.trim();
559
+ if (this.parentElement) {
560
+ this.multiselect = (_b = this.parentElement.multiselect) !== null && _b !== void 0 ? _b : false;
561
+ this.size = this.parentElement.size || 'lg';
562
+ }
563
+ this.label = ((_c = this.host.textContent) === null || _c === void 0 ? void 0 : _c.trim()) || '';
543
564
  };
544
565
  this.handleSingleSelect = () => {
545
566
  if (!this.disabled) {
546
567
  this.selected = true;
547
- this.parentElement.appendValue(this.value);
568
+ this.parentElement.appendValue(this.internalValue);
548
569
  this.parentElement.close();
549
570
  this.tdsSelect.emit({
550
- value: this.value,
571
+ value: this.internalValue,
551
572
  selected: this.selected,
552
573
  });
553
574
  }
@@ -555,18 +576,18 @@ const TdsDropdownOption = class {
555
576
  this.handleMultiselect = (event) => {
556
577
  if (!this.disabled) {
557
578
  if (event.detail.checked) {
558
- this.parentElement.appendValue(this.value);
579
+ this.parentElement.appendValue(this.internalValue);
559
580
  this.selected = true;
560
581
  this.tdsSelect.emit({
561
- value: this.value,
582
+ value: this.internalValue,
562
583
  selected: this.selected,
563
584
  });
564
585
  }
565
586
  else {
566
- this.parentElement.removeValue(this.value);
587
+ this.parentElement.removeValue(this.internalValue);
567
588
  this.selected = false;
568
589
  this.tdsSelect.emit({
569
- value: this.value,
590
+ value: this.internalValue,
570
591
  selected: this.selected,
571
592
  });
572
593
  }
@@ -580,17 +601,24 @@ const TdsDropdownOption = class {
580
601
  this.tdsBlur.emit(event);
581
602
  };
582
603
  this.value = undefined;
604
+ this.internalValue = undefined;
583
605
  this.disabled = false;
584
606
  this.selected = false;
585
- this.multiselect = undefined;
607
+ this.multiselect = false;
586
608
  this.size = 'lg';
587
609
  }
588
610
  /** Method to select/deselect an option. */
589
611
  async setSelected(selected) {
590
612
  this.selected = selected;
591
613
  }
614
+ valueWatcher(newValue) {
615
+ this.internalValue = convertToString(newValue);
616
+ }
617
+ componentWillLoad() {
618
+ this.internalValue = convertToString(this.value);
619
+ }
592
620
  render() {
593
- return (h(Host, { key: '0dedcd94148bf61ee8b154c00eca73759f366dd4', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'da3b6d37132d48502599145f85f05072a996d6dc', class: `dropdown-option
621
+ return (h(Host, { key: 'af1229553e89c02aca1d7c11bbc80acd25ce44b5', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'c93eb33d1864028690ab981c0f676f03993265c4', class: `dropdown-option
594
622
  ${this.size}
595
623
  ${this.selected ? 'selected' : ''}
596
624
  ${this.disabled ? 'disabled' : ''}
@@ -608,6 +636,9 @@ const TdsDropdownOption = class {
608
636
  }
609
637
  static get delegatesFocus() { return true; }
610
638
  get host() { return getElement(this); }
639
+ static get watchers() { return {
640
+ "value": ["valueWatcher"]
641
+ }; }
611
642
  };
612
643
  TdsDropdownOption.style = TdsDropdownOptionStyle0;
613
644