@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
@@ -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.updateDropdownState(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,111 @@ 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.updateDropdownState(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
+ updateDropdownState(values) {
265
+ // Update internal state
266
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
267
+ // Then update the value prop to match
268
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
269
+ // Force update of internal value
270
+ this.internalValue = this.getValue();
271
+ // Update DOM
272
+ this.updateOptionElements();
273
+ // Update display value
274
+ this.updateDisplayValue();
275
+ // Emit change event
276
+ this.emitChange();
277
+ // Update value attribute
278
+ this.setValueAttribute();
279
+ }
280
+ validateValues(values) {
281
+ return values.filter((val) => {
282
+ var _a;
283
+ const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
284
+ if (!isValid) {
285
+ console.warn(`Option with value "${val}" does not exist`);
286
+ }
287
+ return isValid;
288
+ });
289
+ }
290
+ updateOptionElements() {
291
+ var _a;
292
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
293
+ // Convert element.value to string for comparison
294
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
295
+ });
296
+ }
297
+ updateDisplayValue() {
298
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
299
+ if (this.filter && this.inputElement) {
300
+ this.inputElement.value = this.internalValue;
301
+ }
302
+ }
303
+ emitChange() {
304
+ const value = this.multiselect
305
+ ? this.selectedOptions.join(',')
306
+ : this.selectedOptions[0] || null;
307
+ this.tdsChange.emit({
308
+ name: this.name,
309
+ value: value !== null && value !== void 0 ? value : null,
310
+ });
311
+ }
312
+ async setValue(value) {
313
+ let normalizedValue;
314
+ if (Array.isArray(value)) {
315
+ normalizedValue = convertArrayToStrings(value);
316
+ }
317
+ else {
318
+ normalizedValue = [convertToString(value)];
319
+ }
320
+ this.updateDropdownState(normalizedValue);
321
+ return this.getSelectedChildren().map((element) => ({
322
+ value: element.value,
323
+ label: element.textContent.trim(),
324
+ }));
240
325
  }
241
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
242
326
  async reset() {
243
- this.dropdownList.scrollTop = 0;
244
- this.internalReset();
245
- this.handleChange();
327
+ this.updateDropdownState([]);
328
+ }
329
+ async removeValue(oldValue) {
330
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
331
+ this.updateDropdownState(newValues);
246
332
  }
247
333
  /** Method that forces focus on the input element. */
248
334
  async focusElement() {
@@ -263,79 +349,6 @@ const TdsDropdown = class {
263
349
  * dropdown.setValue(['option-1', 'option-2']);
264
350
  * </code>
265
351
  */
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
352
  async close() {
340
353
  this.open = false;
341
354
  }
@@ -382,12 +395,25 @@ const TdsDropdown = class {
382
395
  handleOpenState() {
383
396
  if (this.filter && this.multiselect) {
384
397
  if (!this.open) {
385
- this.inputElement.value = this.getValue();
398
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
386
399
  }
387
400
  }
388
401
  }
402
+ handleDefaultValueChange(newValue) {
403
+ if (newValue !== undefined && newValue !== null) {
404
+ this.internalDefaultValue = convertToString(newValue);
405
+ this.setDefaultOption();
406
+ }
407
+ }
389
408
  componentWillLoad() {
390
- this.setDefaultOption();
409
+ if (this.defaultValue && !this.value) {
410
+ // Convert defaultValue to string before splitting
411
+ const defaultValueStr = convertToString(this.defaultValue);
412
+ const initialValue = this.multiselect
413
+ ? defaultValueStr.split(',').map(convertToString)
414
+ : [convertToString(this.defaultValue)];
415
+ this.updateDropdownState(initialValue);
416
+ }
391
417
  }
392
418
  /** Method to handle slot changes */
393
419
  handleSlotChange() {
@@ -397,29 +423,16 @@ const TdsDropdown = class {
397
423
  normalizeString(text) {
398
424
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
399
425
  }
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
- });
426
+ /**
427
+ * @internal
428
+ */
429
+ async appendValue(value) {
430
+ if (this.multiselect) {
431
+ this.updateDropdownState([...this.selectedOptions, value]);
432
+ }
433
+ else {
434
+ this.updateDropdownState([value]);
435
+ }
423
436
  }
424
437
  componentDidRender() {
425
438
  const form = this.host.closest('form');
@@ -434,11 +447,10 @@ const TdsDropdown = class {
434
447
  }
435
448
  }
436
449
  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: {
450
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
451
+ return (h(Host, { key: '490d34545b3a09c3b4342fa09d38f6bf9c782498', role: "select", class: {
440
452
  [`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: {
453
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '7eb96c0134032654df98a3b68ffb692a2cd91d2b', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '439fddb188ad65239e9d5451a82ab3bbe8f47fb7', class: {
442
454
  'dropdown-select': true,
443
455
  [this.size]: true,
444
456
  'disabled': this.disabled,
@@ -450,7 +462,7 @@ const TdsDropdown = class {
450
462
  } }, 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
463
  label-inside-as-placeholder
452
464
  ${this.size}
453
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
465
+ ${this.selectedOptions.length ? 'selected' : ''}
454
466
  ` }, this.label)), h("input", {
455
467
  // eslint-disable-next-line no-return-assign
456
468
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -461,15 +473,7 @@ const TdsDropdown = class {
461
473
  this.inputElement.value = this.getValue();
462
474
  }
463
475
  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) => {
476
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
473
477
  if (event.key === 'Escape') {
474
478
  this.open = false;
475
479
  }
@@ -489,17 +493,15 @@ const TdsDropdown = class {
489
493
  if (event.key === 'Escape') {
490
494
  this.open = false;
491
495
  }
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) => {
496
+ }, class: `
497
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
498
+ ${this.open ? 'open' : 'closed'}
499
+ ${this.error ? 'error' : ''}
500
+ `, 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: `
501
+ label-inside-as-placeholder
502
+ ${this.size}
503
+ ${this.selectedOptions.length ? 'selected' : ''}
504
+ ` }, this.label)), h("div", { class: `placeholder ${this.size}` }, this.selectedOptions.length ? this.getValue() : this.placeholder), h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { key: 'd6381f78466994f05415cf8981b3cedaaf4df6a9', ref: (element) => {
503
505
  this.dropdownList = element;
504
506
  }, class: {
505
507
  'dropdown-list': true,
@@ -510,15 +512,17 @@ const TdsDropdown = class {
510
512
  'closed': !this.open,
511
513
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
512
514
  [`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: {
515
+ } }, h("slot", { key: 'c36a9cb5398a7d290f11576431982e869986e4a0', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '5ec07552d105f8a4addc46da0172f67cf9233817', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'b3e240c31060f2d2bce6e3647f903f9ff1250ed5', class: {
514
516
  helper: true,
515
517
  error: this.error,
516
518
  disabled: this.disabled,
517
- } }, this.error && h("tds-icon", { key: '1f6f2b7272f35501bf684816b4bc1cd746910fe9', name: "error", size: "16px" }), this.helper))));
519
+ } }, this.error && h("tds-icon", { key: 'c0eb10dfeaa5236f5ac02dabf44329e85d52dcda', name: "error", size: "16px" }), this.helper))));
518
520
  }
519
521
  get host() { return getElement(this); }
520
522
  static get watchers() { return {
521
- "open": ["handleOpenState"]
523
+ "value": ["handleValueChange"],
524
+ "open": ["handleOpenState"],
525
+ "defaultValue": ["handleDefaultValueChange"]
522
526
  }; }
523
527
  };
524
528
  TdsDropdown.style = TdsDropdownStyle0;
@@ -532,22 +536,32 @@ const TdsDropdownOption = class {
532
536
  this.tdsSelect = createEvent(this, "tdsSelect", 6);
533
537
  this.tdsFocus = createEvent(this, "tdsFocus", 6);
534
538
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
539
+ this.parentElement = null;
540
+ // @ts-ignore
541
+ // eslint-disable-next-line no-unused-vars,
542
+ this.label = '';
535
543
  this.componentWillRender = () => {
544
+ var _a, _b, _c;
545
+ if (!this.host.parentElement) {
546
+ return;
547
+ }
536
548
  this.parentElement =
537
- this.host.parentElement.tagName === 'TDS-DROPDOWN'
549
+ ((_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'TDS-DROPDOWN'
538
550
  ? this.host.parentElement
539
551
  : this.host.getRootNode().host;
540
- this.multiselect = this.parentElement.multiselect;
541
- this.size = this.parentElement.size;
542
- this.label = this.host.textContent.trim();
552
+ if (this.parentElement) {
553
+ this.multiselect = (_b = this.parentElement.multiselect) !== null && _b !== void 0 ? _b : false;
554
+ this.size = this.parentElement.size || 'lg';
555
+ }
556
+ this.label = ((_c = this.host.textContent) === null || _c === void 0 ? void 0 : _c.trim()) || '';
543
557
  };
544
558
  this.handleSingleSelect = () => {
545
559
  if (!this.disabled) {
546
560
  this.selected = true;
547
- this.parentElement.appendValue(this.value);
561
+ this.parentElement.appendValue(this.internalValue);
548
562
  this.parentElement.close();
549
563
  this.tdsSelect.emit({
550
- value: this.value,
564
+ value: this.internalValue,
551
565
  selected: this.selected,
552
566
  });
553
567
  }
@@ -555,18 +569,18 @@ const TdsDropdownOption = class {
555
569
  this.handleMultiselect = (event) => {
556
570
  if (!this.disabled) {
557
571
  if (event.detail.checked) {
558
- this.parentElement.appendValue(this.value);
572
+ this.parentElement.appendValue(this.internalValue);
559
573
  this.selected = true;
560
574
  this.tdsSelect.emit({
561
- value: this.value,
575
+ value: this.internalValue,
562
576
  selected: this.selected,
563
577
  });
564
578
  }
565
579
  else {
566
- this.parentElement.removeValue(this.value);
580
+ this.parentElement.removeValue(this.internalValue);
567
581
  this.selected = false;
568
582
  this.tdsSelect.emit({
569
- value: this.value,
583
+ value: this.internalValue,
570
584
  selected: this.selected,
571
585
  });
572
586
  }
@@ -580,17 +594,24 @@ const TdsDropdownOption = class {
580
594
  this.tdsBlur.emit(event);
581
595
  };
582
596
  this.value = undefined;
597
+ this.internalValue = undefined;
583
598
  this.disabled = false;
584
599
  this.selected = false;
585
- this.multiselect = undefined;
600
+ this.multiselect = false;
586
601
  this.size = 'lg';
587
602
  }
588
603
  /** Method to select/deselect an option. */
589
604
  async setSelected(selected) {
590
605
  this.selected = selected;
591
606
  }
607
+ valueWatcher(newValue) {
608
+ this.internalValue = convertToString(newValue);
609
+ }
610
+ componentWillLoad() {
611
+ this.internalValue = convertToString(this.value);
612
+ }
592
613
  render() {
593
- return (h(Host, { key: '0dedcd94148bf61ee8b154c00eca73759f366dd4', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'da3b6d37132d48502599145f85f05072a996d6dc', class: `dropdown-option
614
+ return (h(Host, { key: 'af1229553e89c02aca1d7c11bbc80acd25ce44b5', role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected }, h("div", { key: 'c93eb33d1864028690ab981c0f676f03993265c4', class: `dropdown-option
594
615
  ${this.size}
595
616
  ${this.selected ? 'selected' : ''}
596
617
  ${this.disabled ? 'disabled' : ''}
@@ -608,6 +629,9 @@ const TdsDropdownOption = class {
608
629
  }
609
630
  static get delegatesFocus() { return true; }
610
631
  get host() { return getElement(this); }
632
+ static get watchers() { return {
633
+ "value": ["valueWatcher"]
634
+ }; }
611
635
  };
612
636
  TdsDropdownOption.style = TdsDropdownOptionStyle0;
613
637
 
@@ -19,10 +19,10 @@ const TdsFolderTab = class {
19
19
  this.selected = selected;
20
20
  }
21
21
  render() {
22
- return (h(Host, { key: '3ebe8719ec0bae1d4de2f698b032d9914f01fc65', role: "listitem" }, h("div", { key: '26e4df6a7c2c3ec3cc9b391004b0ecc2e08886ce', class: {
22
+ return (h(Host, { key: '919cd453da1e3649fb5da8783ab8fabc47322d47', role: "listitem" }, h("div", { key: 'f00bf3eea1ee0d670d8989e23e27d6c54fbe7c17', class: {
23
23
  selected: this.selected,
24
24
  disabled: this.disabled,
25
- }, style: { width: `${this.tabWidth}px` } }, h("slot", { key: '78549272532f6fa272660fde77c61464dbede36c' }))));
25
+ }, style: { width: `${this.tabWidth}px` } }, h("slot", { key: '3e3bd62fd02c922fa0592dc0f2dae5a8b49d6c4c' }))));
26
26
  }
27
27
  };
28
28
  TdsFolderTab.style = TdsFolderTabStyle0;