@scania/tegel 1.25.0 → 1.26.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 (442) 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 +2 -2
  11. package/dist/cjs/tds-chip.cjs.entry.js +7 -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 +229 -205
  16. package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -2
  17. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  18. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  19. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  20. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  21. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  22. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  23. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  24. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  25. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  26. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  27. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  28. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  29. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  35. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  36. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  37. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  38. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-inline-tab.cjs.entry.js +2 -2
  40. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  41. package/dist/cjs/tds-link.cjs.entry.js +2 -2
  42. package/dist/cjs/tds-message.cjs.entry.js +2 -2
  43. package/dist/cjs/tds-modal.cjs.entry.js +2 -2
  44. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  45. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +4 -4
  46. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  47. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  48. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +2 -2
  49. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  50. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  51. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  52. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  53. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  54. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  55. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +3 -3
  56. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  57. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  58. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  59. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  60. package/dist/cjs/tds-slider.cjs.entry.js +7 -7
  61. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  62. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  63. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  64. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  65. package/dist/cjs/tds-table-body-row.cjs.entry.js +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 +21 -4
  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 +2 -2
  87. package/dist/collection/components/chip/chip.js +8 -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 +253 -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 +1 -1
  115. package/dist/collection/components/link/link.js +2 -2
  116. package/dist/collection/components/message/message.js +2 -2
  117. package/dist/collection/components/modal/modal.js +2 -2
  118. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  119. package/dist/collection/components/popover-core/popover-core.js +1 -1
  120. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  121. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  122. package/dist/collection/components/radio-button/radio-button.js +1 -1
  123. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  124. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  125. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  126. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  127. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  128. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  129. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  130. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  131. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  132. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  133. package/dist/collection/components/slider/slider.js +7 -7
  134. package/dist/collection/components/spinner/spinner.js +1 -1
  135. package/dist/collection/components/stepper/step/step.js +1 -1
  136. package/dist/collection/components/table/table-body/table-body.js +2 -2
  137. package/dist/collection/components/table/table-body-cell/table-body-cell.js +9 -6
  138. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  139. package/dist/collection/components/table/table-body-row/table-body-row.js +9 -6
  140. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  141. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  142. package/dist/collection/components/table/table-header/table-header.js +2 -2
  143. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  144. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  145. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  146. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +2 -2
  147. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  148. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +2 -2
  149. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  150. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  151. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +4 -4
  152. package/dist/collection/components/text-field/text-field.js +6 -6
  153. package/dist/collection/components/textarea/textarea.js +3 -3
  154. package/dist/collection/components/toast/toast.js +3 -3
  155. package/dist/collection/components/toggle/toggle.js +28 -2
  156. package/dist/collection/components/tooltip/tooltip.js +2 -2
  157. package/dist/collection/utils/axeHelpers.js +1 -1
  158. package/dist/collection/utils/convertToString.js +14 -0
  159. package/dist/components/{p-2ef329f1.js → p-0e6efec9.js} +2 -2
  160. package/dist/components/{p-4bdaf254.js → p-265c3467.js} +1 -1
  161. package/dist/components/{p-f0a50868.js → p-29d19dc8.js} +3 -3
  162. package/dist/components/{p-1e110ab8.js → p-2a43e410.js} +39 -15
  163. package/dist/components/{p-75437dea.js → p-34737ed9.js} +1 -1
  164. package/dist/components/{p-d1ace0be.js → p-3e93886d.js} +1 -1
  165. package/dist/components/{p-3351035f.js → p-4764a1d5.js} +1 -1
  166. package/dist/components/{p-f1980746.js → p-4c1e3344.js} +4 -4
  167. package/dist/components/{p-9d7232d0.js → p-8c849aa2.js} +2 -2
  168. package/dist/components/{p-ad77fb02.js → p-a2b7bdef.js} +1 -1
  169. package/dist/components/{p-dd6ff1e2.js → p-a64dc22e.js} +196 -201
  170. package/dist/components/p-b1d21573.js +16 -0
  171. package/dist/components/{p-eac79032.js → p-c65351ab.js} +2 -2
  172. package/dist/components/{p-3a7f88ff.js → p-d61bd22e.js} +40 -3
  173. package/dist/components/{p-707a562e.js → p-e49a0ceb.js} +1 -1
  174. package/dist/components/{p-8f8b0827.js → p-e8d2dbbf.js} +1 -1
  175. package/dist/components/tds-accordion-item.js +1 -1
  176. package/dist/components/tds-badge.js +7 -9
  177. package/dist/components/tds-banner.js +5 -5
  178. package/dist/components/tds-block.js +5 -2
  179. package/dist/components/tds-body-cell.js +9 -6
  180. package/dist/components/tds-breadcrumb.js +3 -3
  181. package/dist/components/tds-breadcrumbs.js +10 -2
  182. package/dist/components/tds-button.js +13 -4
  183. package/dist/components/tds-card.js +6 -6
  184. package/dist/components/tds-checkbox.js +1 -1
  185. package/dist/components/tds-chip.js +7 -2
  186. package/dist/components/tds-core-header-item.js +1 -1
  187. package/dist/components/tds-datetime.js +21 -14
  188. package/dist/components/tds-divider.js +1 -1
  189. package/dist/components/tds-dropdown-option.js +1 -1
  190. package/dist/components/tds-dropdown.js +1 -1
  191. package/dist/components/tds-folder-tab.js +2 -2
  192. package/dist/components/tds-folder-tabs.js +3 -3
  193. package/dist/components/tds-footer-group.js +4 -4
  194. package/dist/components/tds-footer-item.js +1 -1
  195. package/dist/components/tds-footer.js +2 -2
  196. package/dist/components/tds-header-brand-symbol.js +3 -3
  197. package/dist/components/tds-header-cell.js +2 -2
  198. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  199. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  200. package/dist/components/tds-header-dropdown-list.js +1 -1
  201. package/dist/components/tds-header-dropdown.js +8 -8
  202. package/dist/components/tds-header-hamburger.js +4 -4
  203. package/dist/components/tds-header-item.js +1 -1
  204. package/dist/components/tds-header-launcher-button.js +1 -1
  205. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  206. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  207. package/dist/components/tds-header-launcher-grid.js +1 -1
  208. package/dist/components/tds-header-launcher-list-item.js +2 -2
  209. package/dist/components/tds-header-launcher-list-title.js +1 -1
  210. package/dist/components/tds-header-launcher-list.js +2 -2
  211. package/dist/components/tds-header-launcher.js +8 -8
  212. package/dist/components/tds-header-title.js +1 -1
  213. package/dist/components/tds-header.js +1 -1
  214. package/dist/components/tds-icon.js +1 -1
  215. package/dist/components/tds-inline-tab.js +2 -2
  216. package/dist/components/tds-inline-tabs.js +3 -3
  217. package/dist/components/tds-link.js +2 -2
  218. package/dist/components/tds-message.js +3 -3
  219. package/dist/components/tds-modal.js +3 -3
  220. package/dist/components/tds-navigation-tab.js +2 -2
  221. package/dist/components/tds-navigation-tabs.js +5 -5
  222. package/dist/components/tds-popover-canvas.js +1 -1
  223. package/dist/components/tds-popover-core.js +1 -1
  224. package/dist/components/tds-popover-menu-item.js +2 -2
  225. package/dist/components/tds-popover-menu.js +3 -3
  226. package/dist/components/tds-radio-button.js +1 -1
  227. package/dist/components/tds-side-menu-close-button.js +2 -2
  228. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  229. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  230. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  231. package/dist/components/tds-side-menu-dropdown.js +5 -5
  232. package/dist/components/tds-side-menu-item.js +1 -1
  233. package/dist/components/tds-side-menu-overlay.js +1 -1
  234. package/dist/components/tds-side-menu-user-image.js +1 -1
  235. package/dist/components/tds-side-menu-user-label.js +1 -1
  236. package/dist/components/tds-side-menu-user.js +3 -3
  237. package/dist/components/tds-slider.js +8 -8
  238. package/dist/components/tds-spinner.js +1 -1
  239. package/dist/components/tds-step.js +2 -2
  240. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  241. package/dist/components/tds-table-body-row-expandable.js +7 -7
  242. package/dist/components/tds-table-body-row.js +10 -7
  243. package/dist/components/tds-table-body.js +2 -2
  244. package/dist/components/tds-table-footer.js +7 -7
  245. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  246. package/dist/components/tds-table-header.js +3 -3
  247. package/dist/components/tds-table-toolbar.js +3 -3
  248. package/dist/components/tds-text-field.js +7 -7
  249. package/dist/components/tds-textarea.js +4 -4
  250. package/dist/components/tds-toast.js +4 -4
  251. package/dist/components/tds-toggle.js +12 -2
  252. package/dist/components/tds-tooltip.js +3 -3
  253. package/dist/esm/loader.js +1 -1
  254. package/dist/esm/tds-badge.entry.js +5 -9
  255. package/dist/esm/tds-banner.entry.js +3 -4
  256. package/dist/esm/tds-block.entry.js +3 -1
  257. package/dist/esm/tds-body-cell.entry.js +9 -6
  258. package/dist/esm/tds-breadcrumb.entry.js +3 -3
  259. package/dist/esm/tds-breadcrumbs.entry.js +7 -1
  260. package/dist/esm/tds-button.entry.js +12 -4
  261. package/dist/esm/tds-card.entry.js +5 -5
  262. package/dist/esm/tds-checkbox.entry.js +2 -2
  263. package/dist/esm/tds-chip.entry.js +7 -2
  264. package/dist/esm/tds-core-header-item_2.entry.js +40 -3
  265. package/dist/esm/tds-datetime.entry.js +20 -13
  266. package/dist/esm/tds-divider.entry.js +1 -1
  267. package/dist/esm/tds-dropdown_2.entry.js +229 -205
  268. package/dist/esm/tds-folder-tab.entry.js +2 -2
  269. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  270. package/dist/esm/tds-footer-group.entry.js +3 -3
  271. package/dist/esm/tds-footer-item.entry.js +1 -1
  272. package/dist/esm/tds-footer.entry.js +2 -2
  273. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  274. package/dist/esm/tds-header-cell.entry.js +1 -1
  275. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  276. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  277. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  278. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  279. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  280. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  281. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  282. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  283. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  284. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  285. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  286. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  287. package/dist/esm/tds-header-launcher.entry.js +2 -2
  288. package/dist/esm/tds-header-title.entry.js +1 -1
  289. package/dist/esm/tds-header.entry.js +1 -1
  290. package/dist/esm/tds-icon.entry.js +1 -1
  291. package/dist/esm/tds-inline-tab.entry.js +2 -2
  292. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  293. package/dist/esm/tds-link.entry.js +2 -2
  294. package/dist/esm/tds-message.entry.js +2 -2
  295. package/dist/esm/tds-modal.entry.js +2 -2
  296. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  297. package/dist/esm/tds-navigation-tabs.entry.js +4 -4
  298. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  299. package/dist/esm/tds-popover-core.entry.js +1 -1
  300. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  301. package/dist/esm/tds-popover-menu.entry.js +2 -2
  302. package/dist/esm/tds-radio-button.entry.js +1 -1
  303. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  304. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  305. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  306. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  307. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  308. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  309. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  310. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  311. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  312. package/dist/esm/tds-slider.entry.js +7 -7
  313. package/dist/esm/tds-spinner.entry.js +1 -1
  314. package/dist/esm/tds-step.entry.js +1 -1
  315. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  316. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  317. package/dist/esm/tds-table-body-row.entry.js +9 -6
  318. package/dist/esm/tds-table-body.entry.js +2 -2
  319. package/dist/esm/tds-table-footer.entry.js +3 -3
  320. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  321. package/dist/esm/tds-table-header.entry.js +2 -2
  322. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  323. package/dist/esm/tds-text-field.entry.js +6 -6
  324. package/dist/esm/tds-textarea.entry.js +3 -3
  325. package/dist/esm/tds-toast.entry.js +3 -3
  326. package/dist/esm/tds-toggle.entry.js +11 -2
  327. package/dist/esm/tds-tooltip.entry.js +2 -2
  328. package/dist/esm/tegel.js +1 -1
  329. package/dist/tegel/p-01edebef.entry.js +1 -0
  330. package/dist/tegel/{p-3e144a83.entry.js → p-035e58e6.entry.js} +1 -1
  331. package/dist/tegel/{p-170ab61b.entry.js → p-065d6f83.entry.js} +1 -1
  332. package/dist/tegel/p-0c1e632d.entry.js +1 -0
  333. package/dist/tegel/{p-72106a5c.entry.js → p-168122a7.entry.js} +1 -1
  334. package/dist/tegel/{p-6eeded00.entry.js → p-19eb4ae1.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-9c3f2c12.entry.js → p-4e33cbda.entry.js} +1 -1
  345. package/dist/tegel/{p-b425b2f4.entry.js → p-4ee344e5.entry.js} +1 -1
  346. package/dist/tegel/p-4f5f152a.entry.js +1 -0
  347. package/dist/tegel/p-4fe6512b.entry.js +1 -0
  348. package/dist/tegel/p-5242a1f6.entry.js +1 -0
  349. package/dist/tegel/{p-038c22ff.entry.js → p-542d7b3e.entry.js} +1 -1
  350. package/dist/tegel/{p-5eaa23dc.entry.js → p-5a7110b8.entry.js} +1 -1
  351. package/dist/tegel/{p-93930c03.entry.js → p-5ba254ee.entry.js} +1 -1
  352. package/dist/tegel/{p-06968bd7.entry.js → p-60b38806.entry.js} +1 -1
  353. package/dist/tegel/{p-9016758e.entry.js → p-64c80f14.entry.js} +1 -1
  354. package/dist/tegel/{p-7929d22f.entry.js → p-654785d2.entry.js} +1 -1
  355. package/dist/tegel/p-6f17d37f.entry.js +1 -0
  356. package/dist/tegel/p-70795d6e.entry.js +1 -0
  357. package/dist/tegel/{p-4a282c25.entry.js → p-72fd0083.entry.js} +1 -1
  358. package/dist/tegel/{p-3d3ee51f.entry.js → p-74fc9c92.entry.js} +1 -1
  359. package/dist/tegel/p-77c79b91.entry.js +1 -0
  360. package/dist/tegel/{p-54154f09.entry.js → p-77d457b8.entry.js} +1 -1
  361. package/dist/tegel/{p-4b7c53a6.entry.js → p-78d5acd7.entry.js} +1 -1
  362. package/dist/tegel/{p-44c33b20.entry.js → p-7c4c65c9.entry.js} +1 -1
  363. package/dist/tegel/{p-3a32fe40.entry.js → p-848c2732.entry.js} +1 -1
  364. package/dist/tegel/p-868757d9.entry.js +1 -0
  365. package/dist/tegel/p-8c8b9908.entry.js +1 -0
  366. package/dist/tegel/{p-59293f88.entry.js → p-93a4bd11.entry.js} +1 -1
  367. package/dist/tegel/{p-2f32991e.entry.js → p-96635c10.entry.js} +1 -1
  368. package/dist/tegel/p-9e0b31a1.entry.js +1 -0
  369. package/dist/tegel/{p-c289dfb9.entry.js → p-a0fc0cc2.entry.js} +1 -1
  370. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  371. package/dist/tegel/{p-96bdf035.entry.js → p-aa9d281b.entry.js} +1 -1
  372. package/dist/tegel/p-ae46766a.entry.js +1 -0
  373. package/dist/tegel/{p-86b30f71.entry.js → p-aef6b130.entry.js} +1 -1
  374. package/dist/tegel/{p-f67b4047.entry.js → p-b35e7208.entry.js} +1 -1
  375. package/dist/tegel/{p-a86fe122.entry.js → p-b39ffad4.entry.js} +1 -1
  376. package/dist/tegel/p-b5ced8e5.entry.js +1 -0
  377. package/dist/tegel/{p-fd3d56aa.entry.js → p-b6526302.entry.js} +1 -1
  378. package/dist/tegel/{p-e7300cca.entry.js → p-b686f1ad.entry.js} +1 -1
  379. package/dist/tegel/{p-b96cd80d.entry.js → p-b9576881.entry.js} +1 -1
  380. package/dist/tegel/p-b9f81e53.entry.js +1 -0
  381. package/dist/tegel/p-be1d1345.entry.js +1 -0
  382. package/dist/tegel/{p-708a8bab.entry.js → p-bee533b5.entry.js} +1 -1
  383. package/dist/tegel/{p-99da056d.entry.js → p-c56be8d1.entry.js} +1 -1
  384. package/dist/tegel/{p-2a38b053.entry.js → p-c8404432.entry.js} +1 -1
  385. package/dist/tegel/{p-24ff5903.entry.js → p-ca93de01.entry.js} +1 -1
  386. package/dist/tegel/p-cc6c06e3.entry.js +1 -0
  387. package/dist/tegel/{p-b19ce79c.entry.js → p-cca85da0.entry.js} +1 -1
  388. package/dist/tegel/p-cde32bc6.entry.js +1 -0
  389. package/dist/tegel/p-d0abf078.entry.js +1 -0
  390. package/dist/tegel/{p-6d022f47.entry.js → p-d267665e.entry.js} +1 -1
  391. package/dist/tegel/{p-e9ac7a1a.entry.js → p-d33cb2d1.entry.js} +1 -1
  392. package/dist/tegel/{p-5fea857b.entry.js → p-d47c744f.entry.js} +1 -1
  393. package/dist/tegel/p-d65dfe04.entry.js +1 -0
  394. package/dist/tegel/{p-2a96bd05.entry.js → p-d853f8c2.entry.js} +1 -1
  395. package/dist/tegel/p-d9511720.entry.js +1 -0
  396. package/dist/tegel/{p-0b773208.entry.js → p-dcbc35af.entry.js} +1 -1
  397. package/dist/tegel/{p-fd432c54.entry.js → p-dfbbaefd.entry.js} +1 -1
  398. package/dist/tegel/{p-88204e0a.entry.js → p-ea3e071f.entry.js} +1 -1
  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-b9b63210.entry.js → p-f1b0211a.entry.js} +1 -1
  402. package/dist/tegel/{p-a392e6e7.entry.js → p-fa07db58.entry.js} +1 -1
  403. package/dist/tegel/tegel.esm.js +1 -1
  404. package/dist/types/components/badge/badge.d.ts +3 -0
  405. package/dist/types/components/banner/banner.d.ts +4 -0
  406. package/dist/types/components/block/block.d.ts +8 -1
  407. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  408. package/dist/types/components/button/button.d.ts +3 -0
  409. package/dist/types/components/datetime/datetime.d.ts +2 -2
  410. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +6 -2
  411. package/dist/types/components/dropdown/dropdown.d.ts +27 -24
  412. package/dist/types/components/header/header-item/header-item.d.ts +7 -0
  413. package/dist/types/components/toggle/toggle.d.ts +5 -0
  414. package/dist/types/components.d.ts +104 -23
  415. package/dist/types/utils/convertToString.d.ts +7 -0
  416. package/package.json +1 -1
  417. package/dist/tegel/p-0939b9fb.entry.js +0 -1
  418. package/dist/tegel/p-0cb6c898.entry.js +0 -1
  419. package/dist/tegel/p-1703f73a.entry.js +0 -1
  420. package/dist/tegel/p-32b7f431.entry.js +0 -1
  421. package/dist/tegel/p-39373227.entry.js +0 -1
  422. package/dist/tegel/p-3c22aef7.entry.js +0 -1
  423. package/dist/tegel/p-3e1b1399.entry.js +0 -1
  424. package/dist/tegel/p-48bbc11f.entry.js +0 -1
  425. package/dist/tegel/p-4b231bf9.entry.js +0 -1
  426. package/dist/tegel/p-4c2f313d.entry.js +0 -1
  427. package/dist/tegel/p-69b38504.entry.js +0 -1
  428. package/dist/tegel/p-7090a95c.entry.js +0 -1
  429. package/dist/tegel/p-85a9032e.entry.js +0 -1
  430. package/dist/tegel/p-92f81cda.entry.js +0 -1
  431. package/dist/tegel/p-9eaaa2c0.entry.js +0 -1
  432. package/dist/tegel/p-a38dda58.entry.js +0 -1
  433. package/dist/tegel/p-b647d20e.entry.js +0 -1
  434. package/dist/tegel/p-be88c5ab.entry.js +0 -1
  435. package/dist/tegel/p-d7f48112.entry.js +0 -1
  436. package/dist/tegel/p-d926d075.entry.js +0 -1
  437. package/dist/tegel/p-ddd33cce.entry.js +0 -1
  438. package/dist/tegel/p-ea4a9a4f.entry.js +0 -1
  439. package/dist/tegel/p-ee0e04ed.entry.js +0 -1
  440. package/dist/tegel/p-f050aad8.entry.js +0 -1
  441. package/dist/tegel/p-f4db0231.entry.js +0 -1
  442. 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.updateDropdownState(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,111 @@ 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.updateDropdownState(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
+ updateDropdownState(values) {
269
+ // Update internal state
270
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
271
+ // Then update the value prop to match
272
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
273
+ // Force update of internal value
274
+ this.internalValue = this.getValue();
275
+ // Update DOM
276
+ this.updateOptionElements();
277
+ // Update display value
278
+ this.updateDisplayValue();
279
+ // Emit change event
280
+ this.emitChange();
281
+ // Update value attribute
282
+ this.setValueAttribute();
283
+ }
284
+ validateValues(values) {
285
+ return values.filter((val) => {
286
+ var _a;
287
+ const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
288
+ if (!isValid) {
289
+ console.warn(`Option with value "${val}" does not exist`);
290
+ }
291
+ return isValid;
292
+ });
293
+ }
294
+ updateOptionElements() {
295
+ var _a;
296
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
297
+ // Convert element.value to string for comparison
298
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
299
+ });
300
+ }
301
+ updateDisplayValue() {
302
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
303
+ if (this.filter && this.inputElement) {
304
+ this.inputElement.value = this.internalValue;
305
+ }
306
+ }
307
+ emitChange() {
308
+ const value = this.multiselect
309
+ ? this.selectedOptions.join(',')
310
+ : this.selectedOptions[0] || null;
311
+ this.tdsChange.emit({
312
+ name: this.name,
313
+ value: value !== null && value !== void 0 ? value : null,
314
+ });
315
+ }
316
+ async setValue(value) {
317
+ let normalizedValue;
318
+ if (Array.isArray(value)) {
319
+ normalizedValue = convertArrayToStrings(value);
320
+ }
321
+ else {
322
+ normalizedValue = [convertToString(value)];
323
+ }
324
+ this.updateDropdownState(normalizedValue);
325
+ return this.getSelectedChildren().map((element) => ({
326
+ value: element.value,
327
+ label: element.textContent.trim(),
328
+ }));
244
329
  }
245
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
246
330
  async reset() {
247
- this.dropdownList.scrollTop = 0;
248
- this.internalReset();
249
- this.handleChange();
331
+ this.updateDropdownState([]);
332
+ }
333
+ async removeValue(oldValue) {
334
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
335
+ this.updateDropdownState(newValues);
250
336
  }
251
337
  /** Method that forces focus on the input element. */
252
338
  async focusElement() {
@@ -267,79 +353,6 @@ const TdsDropdown = class {
267
353
  * dropdown.setValue(['option-1', 'option-2']);
268
354
  * </code>
269
355
  */
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
356
  async close() {
344
357
  this.open = false;
345
358
  }
@@ -386,12 +399,25 @@ const TdsDropdown = class {
386
399
  handleOpenState() {
387
400
  if (this.filter && this.multiselect) {
388
401
  if (!this.open) {
389
- this.inputElement.value = this.getValue();
402
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
390
403
  }
391
404
  }
392
405
  }
406
+ handleDefaultValueChange(newValue) {
407
+ if (newValue !== undefined && newValue !== null) {
408
+ this.internalDefaultValue = convertToString(newValue);
409
+ this.setDefaultOption();
410
+ }
411
+ }
393
412
  componentWillLoad() {
394
- this.setDefaultOption();
413
+ if (this.defaultValue && !this.value) {
414
+ // Convert defaultValue to string before splitting
415
+ const defaultValueStr = convertToString(this.defaultValue);
416
+ const initialValue = this.multiselect
417
+ ? defaultValueStr.split(',').map(convertToString)
418
+ : [convertToString(this.defaultValue)];
419
+ this.updateDropdownState(initialValue);
420
+ }
395
421
  }
396
422
  /** Method to handle slot changes */
397
423
  handleSlotChange() {
@@ -401,29 +427,16 @@ const TdsDropdown = class {
401
427
  normalizeString(text) {
402
428
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
403
429
  }
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
- });
430
+ /**
431
+ * @internal
432
+ */
433
+ async appendValue(value) {
434
+ if (this.multiselect) {
435
+ this.updateDropdownState([...this.selectedOptions, value]);
436
+ }
437
+ else {
438
+ this.updateDropdownState([value]);
439
+ }
427
440
  }
428
441
  componentDidRender() {
429
442
  const form = this.host.closest('form');
@@ -438,11 +451,10 @@ const TdsDropdown = class {
438
451
  }
439
452
  }
440
453
  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: {
454
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
455
+ return (index.h(index.Host, { key: '490d34545b3a09c3b4342fa09d38f6bf9c782498', role: "select", class: {
444
456
  [`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: {
457
+ } }, this.label && this.labelPosition === 'outside' && (index.h("div", { key: '7eb96c0134032654df98a3b68ffb692a2cd91d2b', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), index.h("div", { key: '439fddb188ad65239e9d5451a82ab3bbe8f47fb7', class: {
446
458
  'dropdown-select': true,
447
459
  [this.size]: true,
448
460
  'disabled': this.disabled,
@@ -454,7 +466,7 @@ const TdsDropdown = class {
454
466
  } }, 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
467
  label-inside-as-placeholder
456
468
  ${this.size}
457
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
469
+ ${this.selectedOptions.length ? 'selected' : ''}
458
470
  ` }, this.label)), index.h("input", {
459
471
  // eslint-disable-next-line no-return-assign
460
472
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -465,15 +477,7 @@ const TdsDropdown = class {
465
477
  this.inputElement.value = this.getValue();
466
478
  }
467
479
  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) => {
480
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
477
481
  if (event.key === 'Escape') {
478
482
  this.open = false;
479
483
  }
@@ -493,17 +497,15 @@ const TdsDropdown = class {
493
497
  if (event.key === 'Escape') {
494
498
  this.open = false;
495
499
  }
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) => {
500
+ }, class: `
501
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
502
+ ${this.open ? 'open' : 'closed'}
503
+ ${this.error ? 'error' : ''}
504
+ `, 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: `
505
+ label-inside-as-placeholder
506
+ ${this.size}
507
+ ${this.selectedOptions.length ? 'selected' : ''}
508
+ ` }, 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: 'd6381f78466994f05415cf8981b3cedaaf4df6a9', ref: (element) => {
507
509
  this.dropdownList = element;
508
510
  }, class: {
509
511
  'dropdown-list': true,
@@ -514,15 +516,17 @@ const TdsDropdown = class {
514
516
  'closed': !this.open,
515
517
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
516
518
  [`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: {
519
+ } }, index.h("slot", { key: 'c36a9cb5398a7d290f11576431982e869986e4a0', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (index.h("div", { key: '5ec07552d105f8a4addc46da0172f67cf9233817', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (index.h("div", { key: 'b3e240c31060f2d2bce6e3647f903f9ff1250ed5', class: {
518
520
  helper: true,
519
521
  error: this.error,
520
522
  disabled: this.disabled,
521
- } }, this.error && index.h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
523
+ } }, this.error && index.h("tds-icon", { key: 'c0eb10dfeaa5236f5ac02dabf44329e85d52dcda', name: "error", size: "16px" }), this.helper))));
522
524
  }
523
525
  get host() { return index.getElement(this); }
524
526
  static get watchers() { return {
525
- "open": ["handleOpenState"]
527
+ "value": ["handleValueChange"],
528
+ "open": ["handleOpenState"],
529
+ "defaultValue": ["handleDefaultValueChange"]
526
530
  }; }
527
531
  };
528
532
  TdsDropdown.style = TdsDropdownStyle0;
@@ -536,22 +540,32 @@ const TdsDropdownOption = class {
536
540
  this.tdsSelect = index.createEvent(this, "tdsSelect", 6);
537
541
  this.tdsFocus = index.createEvent(this, "tdsFocus", 6);
538
542
  this.tdsBlur = index.createEvent(this, "tdsBlur", 6);
543
+ this.parentElement = null;
544
+ // @ts-ignore
545
+ // eslint-disable-next-line no-unused-vars,
546
+ this.label = '';
539
547
  this.componentWillRender = () => {
548
+ var _a, _b, _c;
549
+ if (!this.host.parentElement) {
550
+ return;
551
+ }
540
552
  this.parentElement =
541
- this.host.parentElement.tagName === 'TDS-DROPDOWN'
553
+ ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'TDS-DROPDOWN'
542
554
  ? this.host.parentElement
543
555
  : this.host.getRootNode().host;
544
- this.multiselect = this.parentElement.multiselect;
545
- this.size = this.parentElement.size;
546
- this.label = this.host.textContent.trim();
556
+ if (this.parentElement) {
557
+ this.multiselect = (_b = this.parentElement.multiselect) !== null && _b !== void 0 ? _b : false;
558
+ this.size = this.parentElement.size || 'lg';
559
+ }
560
+ this.label = ((_c = this.host.textContent) === null || _c === void 0 ? void 0 : _c.trim()) || '';
547
561
  };
548
562
  this.handleSingleSelect = () => {
549
563
  if (!this.disabled) {
550
564
  this.selected = true;
551
- this.parentElement.appendValue(this.value);
565
+ this.parentElement.appendValue(this.internalValue);
552
566
  this.parentElement.close();
553
567
  this.tdsSelect.emit({
554
- value: this.value,
568
+ value: this.internalValue,
555
569
  selected: this.selected,
556
570
  });
557
571
  }
@@ -559,18 +573,18 @@ const TdsDropdownOption = class {
559
573
  this.handleMultiselect = (event) => {
560
574
  if (!this.disabled) {
561
575
  if (event.detail.checked) {
562
- this.parentElement.appendValue(this.value);
576
+ this.parentElement.appendValue(this.internalValue);
563
577
  this.selected = true;
564
578
  this.tdsSelect.emit({
565
- value: this.value,
579
+ value: this.internalValue,
566
580
  selected: this.selected,
567
581
  });
568
582
  }
569
583
  else {
570
- this.parentElement.removeValue(this.value);
584
+ this.parentElement.removeValue(this.internalValue);
571
585
  this.selected = false;
572
586
  this.tdsSelect.emit({
573
- value: this.value,
587
+ value: this.internalValue,
574
588
  selected: this.selected,
575
589
  });
576
590
  }
@@ -584,17 +598,24 @@ const TdsDropdownOption = class {
584
598
  this.tdsBlur.emit(event);
585
599
  };
586
600
  this.value = undefined;
601
+ this.internalValue = undefined;
587
602
  this.disabled = false;
588
603
  this.selected = false;
589
- this.multiselect = undefined;
604
+ this.multiselect = false;
590
605
  this.size = 'lg';
591
606
  }
592
607
  /** Method to select/deselect an option. */
593
608
  async setSelected(selected) {
594
609
  this.selected = selected;
595
610
  }
611
+ valueWatcher(newValue) {
612
+ this.internalValue = convertToString(newValue);
613
+ }
614
+ componentWillLoad() {
615
+ this.internalValue = convertToString(this.value);
616
+ }
596
617
  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
618
+ 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
619
  ${this.size}
599
620
  ${this.selected ? 'selected' : ''}
600
621
  ${this.disabled ? 'disabled' : ''}
@@ -612,6 +633,9 @@ const TdsDropdownOption = class {
612
633
  }
613
634
  static get delegatesFocus() { return true; }
614
635
  get host() { return index.getElement(this); }
636
+ static get watchers() { return {
637
+ "value": ["valueWatcher"]
638
+ }; }
615
639
  };
616
640
  TdsDropdownOption.style = TdsDropdownOptionStyle0;
617
641
 
@@ -23,10 +23,10 @@ const TdsFolderTab = class {
23
23
  this.selected = selected;
24
24
  }
25
25
  render() {
26
- return (index.h(index.Host, { key: '3ebe8719ec0bae1d4de2f698b032d9914f01fc65', role: "listitem" }, index.h("div", { key: '26e4df6a7c2c3ec3cc9b391004b0ecc2e08886ce', class: {
26
+ return (index.h(index.Host, { key: '919cd453da1e3649fb5da8783ab8fabc47322d47', role: "listitem" }, index.h("div", { key: 'f00bf3eea1ee0d670d8989e23e27d6c54fbe7c17', class: {
27
27
  selected: this.selected,
28
28
  disabled: this.disabled,
29
- }, style: { width: `${this.tabWidth}px` } }, index.h("slot", { key: '78549272532f6fa272660fde77c61464dbede36c' }))));
29
+ }, style: { width: `${this.tabWidth}px` } }, index.h("slot", { key: '3e3bd62fd02c922fa0592dc0f2dae5a8b49d6c4c' }))));
30
30
  }
31
31
  };
32
32
  TdsFolderTab.style = TdsFolderTabStyle0;