@scania/tegel 1.24.0 → 1.25.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/cjs/index-ca8040ad.js +4 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/tds-accordion-item.cjs.entry.js +7 -4
  4. package/dist/cjs/tds-badge.cjs.entry.js +9 -8
  5. package/dist/cjs/tds-banner.cjs.entry.js +6 -3
  6. package/dist/cjs/tds-block.cjs.entry.js +12 -6
  7. package/dist/cjs/tds-body-cell.cjs.entry.js +9 -6
  8. package/dist/cjs/tds-breadcrumb.cjs.entry.js +2 -2
  9. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +7 -1
  10. package/dist/cjs/tds-button.cjs.entry.js +13 -3
  11. package/dist/cjs/tds-card.cjs.entry.js +11 -7
  12. package/dist/cjs/tds-checkbox.cjs.entry.js +2 -2
  13. package/dist/cjs/tds-chip.cjs.entry.js +7 -2
  14. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +40 -3
  15. package/dist/cjs/tds-datetime.cjs.entry.js +20 -13
  16. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  17. package/dist/cjs/tds-dropdown_2.cjs.entry.js +240 -197
  18. package/dist/cjs/tds-folder-tab.cjs.entry.js +4 -2
  19. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  20. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  21. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  22. package/dist/cjs/tds-footer.cjs.entry.js +3 -1
  23. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  24. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  25. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  26. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  27. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  28. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  29. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  35. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  36. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  37. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  38. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  40. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  41. package/dist/cjs/tds-inline-tab.cjs.entry.js +5 -2
  42. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  43. package/dist/cjs/tds-link.cjs.entry.js +5 -5
  44. package/dist/cjs/tds-message.cjs.entry.js +6 -4
  45. package/dist/cjs/tds-modal.cjs.entry.js +4 -1
  46. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  47. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +8 -2
  48. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  49. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  50. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +3 -3
  51. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  52. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  53. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  54. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  55. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  56. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  57. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +3 -3
  58. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  59. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  60. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  61. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  62. package/dist/cjs/tds-slider.cjs.entry.js +8 -8
  63. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  64. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  65. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  66. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  67. package/dist/cjs/tds-table-body-row.cjs.entry.js +9 -6
  68. package/dist/cjs/tds-table-body.cjs.entry.js +2 -2
  69. package/dist/cjs/tds-table-footer.cjs.entry.js +3 -3
  70. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  71. package/dist/cjs/tds-table-header.cjs.entry.js +2 -2
  72. package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
  73. package/dist/cjs/tds-text-field.cjs.entry.js +8 -6
  74. package/dist/cjs/tds-textarea.cjs.entry.js +14 -12
  75. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  76. package/dist/cjs/tds-toggle.cjs.entry.js +13 -1
  77. package/dist/cjs/tds-tooltip-beta.cjs.entry.js +123 -0
  78. package/dist/cjs/tds-tooltip.cjs.entry.js +2 -2
  79. package/dist/cjs/tegel.cjs.js +1 -1
  80. package/dist/collection/collection-manifest.json +2 -1
  81. package/dist/collection/components/accordion/accordion-item/accordion-item.js +25 -4
  82. package/dist/collection/components/badge/badge.js +28 -8
  83. package/dist/collection/components/banner/banner.js +24 -3
  84. package/dist/collection/components/block/block.js +36 -7
  85. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.css +9 -10
  86. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +2 -2
  87. package/dist/collection/components/breadcrumbs/breadcrumbs.js +30 -1
  88. package/dist/collection/components/button/button.css +3 -3
  89. package/dist/collection/components/button/button.js +29 -2
  90. package/dist/collection/components/card/card.js +11 -7
  91. package/dist/collection/components/checkbox/checkbox.js +2 -2
  92. package/dist/collection/components/chip/chip.js +8 -3
  93. package/dist/collection/components/datetime/datetime.css +20 -0
  94. package/dist/collection/components/datetime/datetime.js +22 -15
  95. package/dist/collection/components/divider/divider.js +1 -1
  96. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +41 -16
  97. package/dist/collection/components/dropdown/dropdown.js +264 -239
  98. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  99. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  100. package/dist/collection/components/footer/footer.js +3 -1
  101. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  102. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  103. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  104. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  105. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  106. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  107. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  108. package/dist/collection/components/header/header-item/header-item.js +39 -2
  109. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  110. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  111. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  112. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  113. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  114. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  115. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  116. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  117. package/dist/collection/components/header/header-title/header-title.js +1 -1
  118. package/dist/collection/components/header/header.js +1 -1
  119. package/dist/collection/components/icon/icon.js +1 -1
  120. package/dist/collection/components/link/link.js +5 -5
  121. package/dist/collection/components/message/message.js +6 -4
  122. package/dist/collection/components/modal/modal.js +4 -1
  123. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  124. package/dist/collection/components/popover-core/popover-core.js +1 -1
  125. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.css +7 -1
  126. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  127. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  128. package/dist/collection/components/radio-button/radio-button.js +1 -1
  129. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  130. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  131. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  132. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  133. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  134. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  135. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  136. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  137. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  138. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  139. package/dist/collection/components/slider/slider.css +13 -0
  140. package/dist/collection/components/slider/slider.js +7 -7
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/stepper/step/step.js +1 -1
  143. package/dist/collection/components/table/table-body/table-body.js +2 -2
  144. package/dist/collection/components/table/table-body-cell/table-body-cell.js +9 -6
  145. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  146. package/dist/collection/components/table/table-body-row/table-body-row.js +9 -6
  147. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  148. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  149. package/dist/collection/components/table/table-header/table-header.js +2 -2
  150. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  151. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  152. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  153. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +4 -2
  154. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  155. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +5 -2
  156. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  157. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  158. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +8 -2
  159. package/dist/collection/components/text-field/text-field.js +9 -7
  160. package/dist/collection/components/textarea/textarea.js +14 -12
  161. package/dist/collection/components/toast/toast.js +3 -3
  162. package/dist/collection/components/toggle/toggle.js +30 -1
  163. package/dist/collection/components/tooltip/tooltip.js +2 -2
  164. package/dist/collection/components/tooltip-beta/tooltip-beta.css +40 -0
  165. package/dist/collection/components/tooltip-beta/tooltip-beta.js +319 -0
  166. package/dist/collection/types/Tooltip.js +1 -0
  167. package/dist/collection/utils/axeHelpers.js +3 -0
  168. package/dist/collection/utils/convertToString.js +14 -0
  169. package/dist/components/{p-0c3cab16.js → p-0e6efec9.js} +2 -2
  170. package/dist/components/{p-09d36119.js → p-265c3467.js} +1 -1
  171. package/dist/components/{p-aea7fa6b.js → p-29d19dc8.js} +3 -3
  172. package/dist/components/{p-4030e9bc.js → p-2a43e410.js} +39 -15
  173. package/dist/components/{p-fcec766c.js → p-34737ed9.js} +1 -1
  174. package/dist/components/{p-dddaa520.js → p-3e93886d.js} +1 -1
  175. package/dist/components/{p-5e1a9abc.js → p-4764a1d5.js} +1 -1
  176. package/dist/components/{p-8a2d7b2f.js → p-4c1e3344.js} +4 -4
  177. package/dist/components/{p-cfb1b588.js → p-8c849aa2.js} +2 -2
  178. package/dist/components/{p-e323cd2a.js → p-a2b7bdef.js} +1 -1
  179. package/dist/components/{p-4f1aa84f.js → p-a64dc22e.js} +207 -193
  180. package/dist/components/p-b1d21573.js +16 -0
  181. package/dist/components/{p-d921fe75.js → p-c65351ab.js} +2 -2
  182. package/dist/components/{p-0676aa23.js → p-d61bd22e.js} +40 -3
  183. package/dist/components/{p-30de8ac4.js → p-e49a0ceb.js} +1 -1
  184. package/dist/components/{p-e46088d9.js → p-e8d2dbbf.js} +1 -1
  185. package/dist/components/tds-accordion-item.js +9 -5
  186. package/dist/components/tds-badge.js +11 -8
  187. package/dist/components/tds-banner.js +8 -4
  188. package/dist/components/tds-block.js +14 -7
  189. package/dist/components/tds-body-cell.js +9 -6
  190. package/dist/components/tds-breadcrumb.js +3 -3
  191. package/dist/components/tds-breadcrumbs.js +10 -2
  192. package/dist/components/tds-button.js +14 -3
  193. package/dist/components/tds-card.js +12 -8
  194. package/dist/components/tds-checkbox.js +1 -1
  195. package/dist/components/tds-chip.js +7 -2
  196. package/dist/components/tds-core-header-item.js +1 -1
  197. package/dist/components/tds-datetime.js +21 -14
  198. package/dist/components/tds-divider.js +1 -1
  199. package/dist/components/tds-dropdown-option.js +1 -1
  200. package/dist/components/tds-dropdown.js +1 -1
  201. package/dist/components/tds-folder-tab.js +4 -2
  202. package/dist/components/tds-folder-tabs.js +3 -3
  203. package/dist/components/tds-footer-group.js +4 -4
  204. package/dist/components/tds-footer-item.js +1 -1
  205. package/dist/components/tds-footer.js +3 -1
  206. package/dist/components/tds-header-brand-symbol.js +3 -3
  207. package/dist/components/tds-header-cell.js +2 -2
  208. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  209. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  210. package/dist/components/tds-header-dropdown-list.js +1 -1
  211. package/dist/components/tds-header-dropdown.js +8 -8
  212. package/dist/components/tds-header-hamburger.js +4 -4
  213. package/dist/components/tds-header-item.js +1 -1
  214. package/dist/components/tds-header-launcher-button.js +1 -1
  215. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  216. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  217. package/dist/components/tds-header-launcher-grid.js +1 -1
  218. package/dist/components/tds-header-launcher-list-item.js +2 -2
  219. package/dist/components/tds-header-launcher-list-title.js +1 -1
  220. package/dist/components/tds-header-launcher-list.js +2 -2
  221. package/dist/components/tds-header-launcher.js +8 -8
  222. package/dist/components/tds-header-title.js +1 -1
  223. package/dist/components/tds-header.js +1 -1
  224. package/dist/components/tds-icon.js +1 -1
  225. package/dist/components/tds-inline-tab.js +5 -2
  226. package/dist/components/tds-inline-tabs.js +3 -3
  227. package/dist/components/tds-link.js +5 -5
  228. package/dist/components/tds-message.js +7 -5
  229. package/dist/components/tds-modal.js +5 -2
  230. package/dist/components/tds-navigation-tab.js +2 -2
  231. package/dist/components/tds-navigation-tabs.js +9 -3
  232. package/dist/components/tds-popover-canvas.js +1 -1
  233. package/dist/components/tds-popover-core.js +1 -1
  234. package/dist/components/tds-popover-menu-item.js +3 -3
  235. package/dist/components/tds-popover-menu.js +3 -3
  236. package/dist/components/tds-radio-button.js +1 -1
  237. package/dist/components/tds-side-menu-close-button.js +2 -2
  238. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  239. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  240. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  241. package/dist/components/tds-side-menu-dropdown.js +5 -5
  242. package/dist/components/tds-side-menu-item.js +1 -1
  243. package/dist/components/tds-side-menu-overlay.js +1 -1
  244. package/dist/components/tds-side-menu-user-image.js +1 -1
  245. package/dist/components/tds-side-menu-user-label.js +1 -1
  246. package/dist/components/tds-side-menu-user.js +3 -3
  247. package/dist/components/tds-slider.js +9 -9
  248. package/dist/components/tds-spinner.js +1 -1
  249. package/dist/components/tds-step.js +2 -2
  250. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  251. package/dist/components/tds-table-body-row-expandable.js +7 -7
  252. package/dist/components/tds-table-body-row.js +10 -7
  253. package/dist/components/tds-table-body.js +2 -2
  254. package/dist/components/tds-table-footer.js +7 -7
  255. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  256. package/dist/components/tds-table-header.js +3 -3
  257. package/dist/components/tds-table-toolbar.js +3 -3
  258. package/dist/components/tds-text-field.js +9 -7
  259. package/dist/components/tds-textarea.js +15 -13
  260. package/dist/components/tds-toast.js +4 -4
  261. package/dist/components/tds-toggle.js +14 -1
  262. package/dist/components/tds-tooltip-beta.d.ts +11 -0
  263. package/dist/components/tds-tooltip-beta.js +149 -0
  264. package/dist/components/tds-tooltip.js +3 -3
  265. package/dist/esm/index-51d04e39.js +4 -0
  266. package/dist/esm/loader.js +1 -1
  267. package/dist/esm/tds-accordion-item.entry.js +7 -4
  268. package/dist/esm/tds-badge.entry.js +9 -8
  269. package/dist/esm/tds-banner.entry.js +6 -3
  270. package/dist/esm/tds-block.entry.js +12 -6
  271. package/dist/esm/tds-body-cell.entry.js +9 -6
  272. package/dist/esm/tds-breadcrumb.entry.js +3 -3
  273. package/dist/esm/tds-breadcrumbs.entry.js +7 -1
  274. package/dist/esm/tds-button.entry.js +13 -3
  275. package/dist/esm/tds-card.entry.js +11 -7
  276. package/dist/esm/tds-checkbox.entry.js +2 -2
  277. package/dist/esm/tds-chip.entry.js +7 -2
  278. package/dist/esm/tds-core-header-item_2.entry.js +40 -3
  279. package/dist/esm/tds-datetime.entry.js +20 -13
  280. package/dist/esm/tds-divider.entry.js +1 -1
  281. package/dist/esm/tds-dropdown_2.entry.js +240 -197
  282. package/dist/esm/tds-folder-tab.entry.js +4 -2
  283. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  284. package/dist/esm/tds-footer-group.entry.js +3 -3
  285. package/dist/esm/tds-footer-item.entry.js +1 -1
  286. package/dist/esm/tds-footer.entry.js +3 -1
  287. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  288. package/dist/esm/tds-header-cell.entry.js +1 -1
  289. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  290. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  291. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  292. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  293. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  294. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  295. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  296. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  297. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  298. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  299. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  300. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  301. package/dist/esm/tds-header-launcher.entry.js +2 -2
  302. package/dist/esm/tds-header-title.entry.js +1 -1
  303. package/dist/esm/tds-header.entry.js +1 -1
  304. package/dist/esm/tds-icon.entry.js +1 -1
  305. package/dist/esm/tds-inline-tab.entry.js +5 -2
  306. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  307. package/dist/esm/tds-link.entry.js +5 -5
  308. package/dist/esm/tds-message.entry.js +6 -4
  309. package/dist/esm/tds-modal.entry.js +4 -1
  310. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  311. package/dist/esm/tds-navigation-tabs.entry.js +8 -2
  312. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  313. package/dist/esm/tds-popover-core.entry.js +1 -1
  314. package/dist/esm/tds-popover-menu-item.entry.js +3 -3
  315. package/dist/esm/tds-popover-menu.entry.js +2 -2
  316. package/dist/esm/tds-radio-button.entry.js +1 -1
  317. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  318. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  319. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  320. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  321. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  322. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  323. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  324. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  325. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  326. package/dist/esm/tds-slider.entry.js +8 -8
  327. package/dist/esm/tds-spinner.entry.js +1 -1
  328. package/dist/esm/tds-step.entry.js +1 -1
  329. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  330. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  331. package/dist/esm/tds-table-body-row.entry.js +9 -6
  332. package/dist/esm/tds-table-body.entry.js +2 -2
  333. package/dist/esm/tds-table-footer.entry.js +3 -3
  334. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  335. package/dist/esm/tds-table-header.entry.js +2 -2
  336. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  337. package/dist/esm/tds-text-field.entry.js +8 -6
  338. package/dist/esm/tds-textarea.entry.js +14 -12
  339. package/dist/esm/tds-toast.entry.js +3 -3
  340. package/dist/esm/tds-toggle.entry.js +13 -1
  341. package/dist/esm/tds-tooltip-beta.entry.js +119 -0
  342. package/dist/esm/tds-tooltip.entry.js +2 -2
  343. package/dist/esm/tegel.js +1 -1
  344. package/dist/tegel/p-01edebef.entry.js +1 -0
  345. package/dist/tegel/p-035e58e6.entry.js +1 -0
  346. package/dist/tegel/p-065d6f83.entry.js +1 -0
  347. package/dist/tegel/p-0c1e632d.entry.js +1 -0
  348. package/dist/tegel/{p-4e3e2601.entry.js → p-168122a7.entry.js} +1 -1
  349. package/dist/tegel/{p-868435cd.entry.js → p-19eb4ae1.entry.js} +1 -1
  350. package/dist/tegel/p-1b390acb.entry.js +1 -0
  351. package/dist/tegel/{p-57f95a1b.entry.js → p-288a09ef.entry.js} +1 -1
  352. package/dist/tegel/{p-987084a5.entry.js → p-3204ae8f.entry.js} +1 -1
  353. package/dist/tegel/p-32be63ea.entry.js +1 -0
  354. package/dist/tegel/p-34b793c9.entry.js +1 -0
  355. package/dist/tegel/p-3c2f7033.entry.js +1 -0
  356. package/dist/tegel/p-46205cfb.entry.js +1 -0
  357. package/dist/tegel/p-4d5963d0.entry.js +1 -0
  358. package/dist/tegel/{p-088bfcd4.entry.js → p-4e298888.entry.js} +1 -1
  359. package/dist/tegel/p-4e33cbda.entry.js +1 -0
  360. package/dist/tegel/{p-c790ef93.entry.js → p-4ee344e5.entry.js} +1 -1
  361. package/dist/tegel/p-4f5f152a.entry.js +1 -0
  362. package/dist/tegel/p-4fe6512b.entry.js +1 -0
  363. package/dist/tegel/p-5242a1f6.entry.js +1 -0
  364. package/dist/tegel/{p-b4c7099f.entry.js → p-542d7b3e.entry.js} +1 -1
  365. package/dist/tegel/p-5a7110b8.entry.js +1 -0
  366. package/dist/tegel/p-5ba254ee.entry.js +1 -0
  367. package/dist/tegel/{p-9de400f4.entry.js → p-60b38806.entry.js} +1 -1
  368. package/dist/tegel/{p-6a52ed63.entry.js → p-64c80f14.entry.js} +1 -1
  369. package/dist/tegel/{p-ed02ad2b.entry.js → p-654785d2.entry.js} +1 -1
  370. package/dist/tegel/p-6f17d37f.entry.js +1 -0
  371. package/dist/tegel/p-70795d6e.entry.js +1 -0
  372. package/dist/tegel/p-72fd0083.entry.js +1 -0
  373. package/dist/tegel/{p-bcae4d3a.entry.js → p-74fc9c92.entry.js} +1 -1
  374. package/dist/tegel/p-77c79b91.entry.js +1 -0
  375. package/dist/tegel/{p-ff5cd75f.entry.js → p-77d457b8.entry.js} +1 -1
  376. package/dist/tegel/{p-1634247e.entry.js → p-78d5acd7.entry.js} +1 -1
  377. package/dist/tegel/{p-2e44b4e9.entry.js → p-7c4c65c9.entry.js} +1 -1
  378. package/dist/tegel/{p-2557b79b.entry.js → p-848c2732.entry.js} +1 -1
  379. package/dist/tegel/p-868757d9.entry.js +1 -0
  380. package/dist/tegel/p-8c8b9908.entry.js +1 -0
  381. package/dist/tegel/{p-ff7ae8a3.entry.js → p-93a4bd11.entry.js} +1 -1
  382. package/dist/tegel/{p-50fcdc56.entry.js → p-96635c10.entry.js} +1 -1
  383. package/dist/tegel/p-9e0b31a1.entry.js +1 -0
  384. package/dist/tegel/{p-91dcddd5.entry.js → p-a0fc0cc2.entry.js} +1 -1
  385. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  386. package/dist/tegel/{p-aed1c5cf.entry.js → p-aa9d281b.entry.js} +1 -1
  387. package/dist/tegel/p-ae46766a.entry.js +1 -0
  388. package/dist/tegel/{p-f9325536.entry.js → p-aef6b130.entry.js} +1 -1
  389. package/dist/tegel/p-b35e7208.entry.js +1 -0
  390. package/dist/tegel/p-b39ffad4.entry.js +1 -0
  391. package/dist/tegel/p-b5ced8e5.entry.js +1 -0
  392. package/dist/tegel/{p-a642c800.entry.js → p-b6526302.entry.js} +1 -1
  393. package/dist/tegel/p-b686f1ad.entry.js +1 -0
  394. package/dist/tegel/{p-c18b2746.entry.js → p-b9576881.entry.js} +1 -1
  395. package/dist/tegel/p-b9f81e53.entry.js +1 -0
  396. package/dist/tegel/p-be1d1345.entry.js +1 -0
  397. package/dist/tegel/{p-0f38bea7.entry.js → p-bee533b5.entry.js} +1 -1
  398. package/dist/tegel/{p-7097a39a.entry.js → p-c56be8d1.entry.js} +1 -1
  399. package/dist/tegel/{p-4ab7461e.entry.js → p-c8404432.entry.js} +1 -1
  400. package/dist/tegel/{p-ac46b0a4.entry.js → p-ca93de01.entry.js} +1 -1
  401. package/dist/tegel/p-cc6c06e3.entry.js +1 -0
  402. package/dist/tegel/{p-220affa9.entry.js → p-cca85da0.entry.js} +1 -1
  403. package/dist/tegel/p-cde32bc6.entry.js +1 -0
  404. package/dist/tegel/p-d0abf078.entry.js +1 -0
  405. package/dist/tegel/p-d1112915.entry.js +1 -0
  406. package/dist/tegel/{p-a5a67770.entry.js → p-d267665e.entry.js} +1 -1
  407. package/dist/tegel/{p-6c26e66f.entry.js → p-d33cb2d1.entry.js} +1 -1
  408. package/dist/tegel/{p-bb129d43.entry.js → p-d47c744f.entry.js} +1 -1
  409. package/dist/tegel/p-d65dfe04.entry.js +1 -0
  410. package/dist/tegel/{p-6b405a0f.entry.js → p-d853f8c2.entry.js} +1 -1
  411. package/dist/tegel/p-d9511720.entry.js +1 -0
  412. package/dist/tegel/p-dcbc35af.entry.js +1 -0
  413. package/dist/tegel/{p-06d2fa56.entry.js → p-dfbbaefd.entry.js} +1 -1
  414. package/dist/tegel/p-ea3e071f.entry.js +1 -0
  415. package/dist/tegel/{p-9bf7f5cd.entry.js → p-ed17283a.entry.js} +1 -1
  416. package/dist/tegel/{p-c917d8be.entry.js → p-ee7f07ae.entry.js} +1 -1
  417. package/dist/tegel/p-ef3671d8.entry.js +1 -0
  418. package/dist/tegel/{p-f1c172a4.entry.js → p-f1b0211a.entry.js} +1 -1
  419. package/dist/tegel/{p-de540cc0.entry.js → p-fa07db58.entry.js} +1 -1
  420. package/dist/tegel/tegel.esm.js +1 -1
  421. package/dist/types/components/accordion/accordion-item/accordion-item.d.ts +2 -0
  422. package/dist/types/components/badge/badge.d.ts +3 -0
  423. package/dist/types/components/banner/banner.d.ts +4 -0
  424. package/dist/types/components/block/block.d.ts +8 -1
  425. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  426. package/dist/types/components/button/button.d.ts +3 -0
  427. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  428. package/dist/types/components/datetime/datetime.d.ts +2 -2
  429. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +6 -2
  430. package/dist/types/components/dropdown/dropdown.d.ts +27 -24
  431. package/dist/types/components/header/header-item/header-item.d.ts +7 -0
  432. package/dist/types/components/toggle/toggle.d.ts +5 -0
  433. package/dist/types/components/tooltip-beta/tooltip-beta.d.ts +28 -0
  434. package/dist/types/components.d.ts +147 -23
  435. package/dist/types/types/Tooltip.d.ts +4 -0
  436. package/dist/types/utils/axeHelpers.d.ts +2 -0
  437. package/dist/types/utils/convertToString.d.ts +7 -0
  438. package/package.json +5 -5
  439. package/dist/tegel/p-062adc6d.entry.js +0 -1
  440. package/dist/tegel/p-0df92ce7.entry.js +0 -1
  441. package/dist/tegel/p-12303135.entry.js +0 -1
  442. package/dist/tegel/p-14f12f43.entry.js +0 -1
  443. package/dist/tegel/p-1a2f3852.entry.js +0 -1
  444. package/dist/tegel/p-1bc2c73c.entry.js +0 -1
  445. package/dist/tegel/p-26ae4a93.entry.js +0 -1
  446. package/dist/tegel/p-54a105a4.entry.js +0 -1
  447. package/dist/tegel/p-5a891dd2.entry.js +0 -1
  448. package/dist/tegel/p-5d0e8f1e.entry.js +0 -1
  449. package/dist/tegel/p-6938329a.entry.js +0 -1
  450. package/dist/tegel/p-6aabf7e1.entry.js +0 -1
  451. package/dist/tegel/p-7a83cf55.entry.js +0 -1
  452. package/dist/tegel/p-7d39487c.entry.js +0 -1
  453. package/dist/tegel/p-7d83ba98.entry.js +0 -1
  454. package/dist/tegel/p-845e1fca.entry.js +0 -1
  455. package/dist/tegel/p-930e767e.entry.js +0 -1
  456. package/dist/tegel/p-959a6780.entry.js +0 -1
  457. package/dist/tegel/p-9aefb942.entry.js +0 -1
  458. package/dist/tegel/p-9c2dfecc.entry.js +0 -1
  459. package/dist/tegel/p-a9654cd4.entry.js +0 -1
  460. package/dist/tegel/p-ad434031.entry.js +0 -1
  461. package/dist/tegel/p-b00bcf39.entry.js +0 -1
  462. package/dist/tegel/p-b9ac3122.entry.js +0 -1
  463. package/dist/tegel/p-b9e37cf2.entry.js +0 -1
  464. package/dist/tegel/p-bda3d846.entry.js +0 -1
  465. package/dist/tegel/p-cd5219ac.entry.js +0 -1
  466. package/dist/tegel/p-d1cbe5be.entry.js +0 -1
  467. package/dist/tegel/p-dcbd977f.entry.js +0 -1
  468. package/dist/tegel/p-dd060c11.entry.js +0 -1
  469. package/dist/tegel/p-e13935b6.entry.js +0 -1
  470. package/dist/tegel/p-e65dba91.entry.js +0 -1
  471. package/dist/tegel/p-e7108828.entry.js +0 -1
  472. package/dist/tegel/p-e86f2d31.entry.js +0 -1
  473. package/dist/tegel/p-e97a2700.entry.js +0 -1
  474. package/dist/tegel/p-ede11de8.entry.js +0 -1
  475. package/dist/tegel/p-f45d905c.entry.js +0 -1
  476. package/dist/tegel/p-f841f094.entry.js +0 -1
  477. package/dist/tegel/p-fc0079d2.entry.js +0 -1
@@ -75,7 +75,7 @@ const TdsHeaderDropdownList = /*@__PURE__*/ proxyCustomElement(class TdsHeaderDr
75
75
  'role': 'list',
76
76
  'aria-labelledby': (_a = this.headingElement) === null || _a === void 0 ? void 0 : _a.id,
77
77
  };
78
- return (h(Host, Object.assign({ key: '2ebed45f0b4d3b872378a1246180fc34f8ea46de' }, attributes), h("slot", { key: '5b72e5cab5c21fdaa55ca8641c729393ade09f75' })));
78
+ return (h(Host, Object.assign({ key: 'ed227a94a244fcb78cef53b5f0253e5df9a41c31' }, attributes), h("slot", { key: '39e541672f4ab52a308a9cb5856c9d2535afbfea' })));
79
79
  }
80
80
  get host() { return this; }
81
81
  static get style() { return TdsHeaderDropdownListStyle0; }
@@ -12,7 +12,7 @@ const TdsSideMenuUserImage = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuU
12
12
  this.alt = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'cd4bcc9ba4ce93b20e39ab0782136518a99899a3' }, h("slot", { key: '09bf0b847a54c03474e9d5dcaad8d0a5a347dbfc' }), this.src && h("img", { key: '8d74e3733d69ac50f4fe07557b91aec07aa74605', src: this.src, alt: this.alt })));
15
+ return (h(Host, { key: 'ea8f9c51aefab60fd2c32cee1be0344ec3fc6751' }, h("slot", { key: 'ae8fb3c065544aeb6c4737789e1dfefd5eb3a947' }), this.src && h("img", { key: '7b0b888ccaef7e1f40e82eb46c3bc09b78c92d0f', src: this.src, alt: this.alt })));
16
16
  }
17
17
  static get style() { return TdsSideMenuUserImageStyle0; }
18
18
  }, [1, "tds-side-menu-user-image", {
@@ -2001,7 +2001,7 @@ const TdsPopoverCore = /*@__PURE__*/ proxyCustomElement(class TdsPopoverCore ext
2001
2001
  'tds-animation-exit-fade': !this.isShown && this.animation === 'fade',
2002
2002
  };
2003
2003
  const classList = generateClassList(classes);
2004
- return (h(Host, { key: '8893e2cca1fedd09a8dfff8ceeb12b47cbf07e09', class: classList, id: `tds-popover-core-${this.uuid}` }, h("slot", { key: '7e075900d43b4f6d3009ef37f11059fd646e708e' })));
2004
+ return (h(Host, { key: '75bd399d3dc2904ef4e1f92eea7caca40d7de09c', class: classList, id: `tds-popover-core-${this.uuid}` }, h("slot", { key: '67f6f36ec1ff26e413f797160dd493cd5703f73a' })));
2005
2005
  }
2006
2006
  get host() { return this; }
2007
2007
  static get watchers() { return {
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { i as inheritAriaAttributes } from './p-0bd4c19c.js';
3
- import { d as defineCustomElement$3 } from './p-30de8ac4.js';
4
- import { d as defineCustomElement$2 } from './p-0676aa23.js';
5
- import { d as defineCustomElement$1 } from './p-e323cd2a.js';
3
+ import { d as defineCustomElement$3 } from './p-e49a0ceb.js';
4
+ import { d as defineCustomElement$2 } from './p-d61bd22e.js';
5
+ import { d as defineCustomElement$1 } from './p-a2b7bdef.js';
6
6
 
7
7
  const headerLauncherButtonCss = ":host{display:block}:host tds-header-item{display:block}:host .icon{position:relative;margin-left:-6px;left:3px;transition:all 0.2s ease-in-out}";
8
8
  const TdsHeaderLauncherButtonStyle0 = headerLauncherButtonCss;
@@ -17,7 +17,7 @@ const TdsHeaderLauncherButton = /*@__PURE__*/ proxyCustomElement(class TdsHeader
17
17
  render() {
18
18
  this.ariaAttributes = Object.assign(Object.assign({}, this.ariaAttributes), inheritAriaAttributes(this.host));
19
19
  const buttonProps = Object.assign({}, this.ariaAttributes);
20
- return (h(Host, { key: 'ee714e05a3585542850f433cd81ed25d95a14070' }, h("tds-header-item", { key: '0a7c7b20fa872c1ccd4e0760b9f68743ec6c761f', active: this.active }, h("button", Object.assign({ key: '1b0c93c04e5206dc47fe3df3a158e16ed624f8e1' }, buttonProps), h("tds-icon", { key: '11a961f7e11d741108a450ef1a2fa1b22f5520a8', class: "icon", name: "bento", size: "20px" })))));
20
+ return (h(Host, { key: '335cfea4d8b36b95639985dc4a67f6ccc891d122' }, h("tds-header-item", { key: '0b497a3b369d43dd3c43f4471e9e9d825f2b5bd1', active: this.active }, h("button", Object.assign({ key: '84aaba13ed00d3515f98d81b419ab2898bca4910' }, buttonProps), h("tds-icon", { key: 'f65b047f5c36222b20c73ffd2340eebca0f47d33', class: "icon", name: "bento", size: "20px" })))));
21
21
  }
22
22
  get host() { return this; }
23
23
  static get style() { return TdsHeaderLauncherButtonStyle0; }
@@ -12,10 +12,10 @@ const TdsHeaderDropdownListItem = /*@__PURE__*/ proxyCustomElement(class TdsHead
12
12
  this.size = 'md';
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'e884013f09151c5ba323ac69c34c88e8aba9d132' }, h("div", { key: 'e4babaebaac5f661b2ef365a120e9953d6535c73', class: {
15
+ return (h(Host, { key: 'ca37bc294a28794d8bcd7aea18464665b5e8edad' }, h("div", { key: '640cee1fd256dbbc046f8564808ea45ed838d2c5', class: {
16
16
  'component': true,
17
17
  'component-selected': this.selected,
18
- } }, h("slot", { key: 'b58b6c84093c4edd303ee3ed202703f316cfcaa2' }))));
18
+ } }, h("slot", { key: 'e5cf6d2af513224921c836206f16d6c44879369c' }))));
19
19
  }
20
20
  get host() { return this; }
21
21
  static get style() { return TdsHeaderDropdownListItemStyle0; }
@@ -36,7 +36,7 @@ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends H {
36
36
  this.arrayOfIcons = [...this.arrayOfIcons];
37
37
  }
38
38
  render() {
39
- return h(Host, { key: '905914904d2afac05280f9daf9834b89aa3ec14f' }, this.setIcons());
39
+ return h(Host, { key: '7501bac4e182e5b44030b140b4c2c68e0fd2522b' }, this.setIcons());
40
40
  }
41
41
  static get style() { return TdsIconStyle0; }
42
42
  }, [1, "tds-icon", {
@@ -1,5 +1,6 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
2
- import { d as defineCustomElement$1 } from './p-e323cd2a.js';
2
+ import { c as convertArrayToStrings, a as convertToString } from './p-b1d21573.js';
3
+ import { d as defineCustomElement$1 } from './p-a2b7bdef.js';
3
4
 
4
5
  /**
5
6
  * Find the next focusable element index in a list of focusable elements.
@@ -72,34 +73,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
72
73
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
73
74
  this.tdsInput = createEvent(this, "tdsInput", 6);
74
75
  this.setDefaultOption = () => {
75
- if (this.defaultValue) {
76
- const children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
77
- if (children.length === 0) {
78
- console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
79
- return;
80
- }
76
+ if (this.internalDefaultValue) {
77
+ // Convert the internal default value to an array if it's not already
81
78
  const defaultValues = this.multiselect
82
- ? new Set(this.defaultValue.split(','))
83
- : [this.defaultValue];
84
- const childrenMap = new Map(children.map((element) => [element.value, element]));
85
- const matchedValues = Array.from(defaultValues).filter((value) => {
86
- const element = childrenMap.get(value);
87
- if (element) {
88
- element.setSelected(true);
89
- return true;
90
- }
91
- return false;
92
- });
93
- if (matchedValues.length > 0) {
94
- this.value = [...new Set(this.value ? [...this.value, ...matchedValues] : matchedValues)];
95
- this.setValueAttribute();
96
- }
97
- else {
98
- console.warn(`TDS DROPDOWN: No matching option found for defaultValue "${this.defaultValue}"`);
99
- }
79
+ ? this.internalDefaultValue.split(',')
80
+ : [this.internalDefaultValue];
81
+ this.updateDropdownState(defaultValues);
100
82
  }
101
83
  };
102
- /* Returns a list of all children that are tds-dropdown-option elements */
103
84
  this.getChildren = () => {
104
85
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
105
86
  if (tdsDropdownOptions.length === 0) {
@@ -108,6 +89,36 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
108
89
  else
109
90
  return tdsDropdownOptions;
110
91
  };
92
+ this.getSelectedChildren = () => {
93
+ if (this.selectedOptions.length === 0)
94
+ return [];
95
+ return this.selectedOptions
96
+ .map((stringValue) => {
97
+ var _a;
98
+ const matchingElement = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.find((element) => element.value === stringValue);
99
+ return matchingElement;
100
+ })
101
+ .filter(Boolean);
102
+ };
103
+ this.getSelectedChildrenLabels = () => {
104
+ var _a;
105
+ return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
106
+ };
107
+ this.getValue = () => {
108
+ const labels = this.getSelectedChildrenLabels();
109
+ if (!labels) {
110
+ return '';
111
+ }
112
+ return labels === null || labels === void 0 ? void 0 : labels.join(', ');
113
+ };
114
+ this.setValueAttribute = () => {
115
+ if (this.selectedOptions.length === 0) {
116
+ this.host.removeAttribute('value');
117
+ }
118
+ else {
119
+ this.host.setAttribute('value', this.selectedOptions.join(','));
120
+ }
121
+ };
111
122
  this.getOpenDirection = () => {
112
123
  var _a, _b, _c, _d, _e;
113
124
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -121,7 +132,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
121
132
  }
122
133
  return this.openDirection;
123
134
  };
124
- /* Toggles the open state of the Dropdown and sets focus to the input element */
125
135
  this.handleToggleOpen = () => {
126
136
  if (!this.disabled) {
127
137
  this.open = !this.open;
@@ -130,38 +140,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
130
140
  }
131
141
  }
132
142
  };
133
- /* Focuses the input element in the Dropdown, if the reference is present. */
134
143
  this.focusInputElement = () => {
135
144
  if (this.inputElement)
136
145
  this.inputElement.focus();
137
146
  };
138
- this.getSelectedChildren = () => {
139
- var _a;
140
- return (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((stringValue) => {
141
- const matchingElement = this.getChildren().find((element) => element.value === stringValue);
142
- return matchingElement;
143
- }).filter(Boolean);
144
- };
145
- this.getSelectedChildrenLabels = () => {
146
- var _a;
147
- return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
148
- };
149
- this.getValue = () => {
150
- const labels = this.getSelectedChildrenLabels();
151
- if (!labels) {
152
- return '';
153
- }
154
- return labels === null || labels === void 0 ? void 0 : labels.join(', ');
155
- };
156
- this.setValueAttribute = () => {
157
- var _a;
158
- if (!this.value || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) === '') {
159
- this.host.removeAttribute('value');
160
- }
161
- else {
162
- this.host.setAttribute('value', this.value.map((val) => val).toString());
163
- }
164
- };
165
147
  this.handleFilter = (event) => {
166
148
  this.tdsInput.emit(event);
167
149
  const query = event.target.value.toLowerCase();
@@ -192,8 +174,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
192
174
  this.handleFilterReset = () => {
193
175
  this.reset();
194
176
  this.inputElement.value = '';
195
- this.handleFilter({ target: { value: this.inputElement.value } });
177
+ this.handleFilter({ target: { value: '' } });
196
178
  this.inputElement.focus();
179
+ // Add this line to ensure internal value is cleared
180
+ this.internalValue = '';
197
181
  };
198
182
  this.handleFocus = (event) => {
199
183
  this.open = true;
@@ -207,13 +191,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
207
191
  this.handleBlur = (event) => {
208
192
  this.tdsBlur.emit(event);
209
193
  };
210
- this.handleChange = () => {
211
- var _a, _b;
212
- this.tdsChange.emit({
213
- name: this.name,
214
- value: (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString()) !== null && _b !== void 0 ? _b : null,
215
- });
216
- };
217
194
  this.resetInput = () => {
218
195
  const inputEl = this.host.querySelector('input');
219
196
  if (inputEl) {
@@ -236,16 +213,111 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
236
213
  this.normalizeText = true;
237
214
  this.noResultText = 'No result';
238
215
  this.defaultValue = undefined;
216
+ this.value = null;
239
217
  this.open = false;
240
- this.value = undefined;
218
+ this.internalValue = undefined;
241
219
  this.filterResult = undefined;
242
220
  this.filterFocus = undefined;
221
+ this.internalDefaultValue = undefined;
222
+ this.selectedOptions = [];
223
+ }
224
+ handleValueChange(newValue) {
225
+ // Normalize to array
226
+ const normalizedValue = this.normalizeValue(newValue);
227
+ // Only update if actually changed
228
+ if (this.hasValueChanged(normalizedValue, this.selectedOptions)) {
229
+ this.updateDropdownState(normalizedValue);
230
+ }
231
+ }
232
+ normalizeValue(value) {
233
+ if (!value || value === '')
234
+ return []; // Handle both null and empty string
235
+ // For multiselect, keep array. For single select, wrap in array
236
+ if (this.multiselect) {
237
+ if (Array.isArray(value)) {
238
+ return convertArrayToStrings(value);
239
+ }
240
+ return value
241
+ .toString()
242
+ .split(',')
243
+ .filter((v) => v !== '');
244
+ }
245
+ // Single select - convert to string array
246
+ return Array.isArray(value) ? convertArrayToStrings(value) : [convertToString(value)];
247
+ }
248
+ hasValueChanged(newValue, currentValue) {
249
+ if (newValue.length !== currentValue.length)
250
+ return true;
251
+ return newValue.some((val) => !currentValue.includes(val));
252
+ }
253
+ updateDropdownState(values) {
254
+ // Update internal state
255
+ this.selectedOptions = [...this.validateValues(values)]; // Force new array reference
256
+ // Then update the value prop to match
257
+ this.value = this.multiselect ? this.selectedOptions : this.selectedOptions[0] || null;
258
+ // Force update of internal value
259
+ this.internalValue = this.getValue();
260
+ // Update DOM
261
+ this.updateOptionElements();
262
+ // Update display value
263
+ this.updateDisplayValue();
264
+ // Emit change event
265
+ this.emitChange();
266
+ // Update value attribute
267
+ this.setValueAttribute();
268
+ }
269
+ validateValues(values) {
270
+ return values.filter((val) => {
271
+ var _a;
272
+ const isValid = (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.some((element) => element.value === val);
273
+ if (!isValid) {
274
+ console.warn(`Option with value "${val}" does not exist`);
275
+ }
276
+ return isValid;
277
+ });
278
+ }
279
+ updateOptionElements() {
280
+ var _a;
281
+ (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
282
+ // Convert element.value to string for comparison
283
+ element.setSelected(this.selectedOptions.includes(convertToString(element.value)));
284
+ });
285
+ }
286
+ updateDisplayValue() {
287
+ this.internalValue = this.getSelectedChildrenLabels().join(', ');
288
+ if (this.filter && this.inputElement) {
289
+ this.inputElement.value = this.internalValue;
290
+ }
291
+ }
292
+ emitChange() {
293
+ const value = this.multiselect
294
+ ? this.selectedOptions.join(',')
295
+ : this.selectedOptions[0] || null;
296
+ this.tdsChange.emit({
297
+ name: this.name,
298
+ value: value !== null && value !== void 0 ? value : null,
299
+ });
300
+ }
301
+ async setValue(value) {
302
+ let normalizedValue;
303
+ if (Array.isArray(value)) {
304
+ normalizedValue = convertArrayToStrings(value);
305
+ }
306
+ else {
307
+ normalizedValue = [convertToString(value)];
308
+ }
309
+ this.updateDropdownState(normalizedValue);
310
+ return this.getSelectedChildren().map((element) => ({
311
+ value: element.value,
312
+ label: element.textContent.trim(),
313
+ }));
243
314
  }
244
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
245
315
  async reset() {
246
- this.dropdownList.scrollTop = 0;
247
- this.internalReset();
248
- this.handleChange();
316
+ this.updateDropdownState([]);
317
+ }
318
+ async removeValue(oldValue) {
319
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
320
+ this.updateDropdownState(newValues);
249
321
  }
250
322
  /** Method that forces focus on the input element. */
251
323
  async focusElement() {
@@ -266,79 +338,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
266
338
  * dropdown.setValue(['option-1', 'option-2']);
267
339
  * </code>
268
340
  */
269
- // The label is optional here ONLY to not break the API. Should be removed for 2.0.
270
- // @ts-ignore
271
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
272
- async setValue(value, label) {
273
- let nextValue;
274
- if (typeof value === 'string')
275
- nextValue = [value];
276
- else
277
- nextValue = value;
278
- if (!this.multiselect && nextValue.length > 1) {
279
- console.warn('Tried to select multiple items, but multiselect is not enabled.');
280
- nextValue = [nextValue[0]];
281
- }
282
- nextValue = [...new Set(nextValue)];
283
- this.internalReset();
284
- for (let i = 0; i < nextValue.length; i++) {
285
- const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
286
- if (!optionExist) {
287
- nextValue.splice(i, 1);
288
- }
289
- }
290
- this.value = nextValue;
291
- this.setValueAttribute();
292
- this.selectChildrenAsSelectedBasedOnSelectionProp();
293
- this.handleChange();
294
- /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
295
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
296
- const selection = this.getSelectedChildren().map((element) => ({
297
- value: element.value,
298
- label: element.textContent.trim(),
299
- }));
300
- // Update inputElement value and placeholder text
301
- if (this.filter) {
302
- this.inputElement.value = this.getValue();
303
- }
304
- return selection;
305
- }
306
- /**
307
- * @internal
308
- */
309
- async appendValue(value) {
310
- if (this.multiselect && this.value) {
311
- this.setValue([...this.value, value]);
312
- }
313
- else {
314
- this.setValue(value);
315
- }
316
- }
317
- /** Method for removing a selected value in the Dropdown. */
318
- async removeValue(oldValue) {
319
- var _a, _b;
320
- let label;
321
- if (this.multiselect) {
322
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
323
- var _a;
324
- if (element.value === oldValue) {
325
- this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
326
- label = element.textContent.trim();
327
- element.setSelected(false);
328
- }
329
- return element;
330
- });
331
- }
332
- else {
333
- this.reset();
334
- }
335
- this.handleChange();
336
- this.setValueAttribute();
337
- /* This returns an array of object with a value and label pair. This is ONLY to not break the API. Should be removed for 2.0. */
338
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
339
- return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
340
- }
341
- /** Method for closing the Dropdown. */
342
341
  async close() {
343
342
  this.open = false;
344
343
  }
@@ -385,12 +384,25 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
385
384
  handleOpenState() {
386
385
  if (this.filter && this.multiselect) {
387
386
  if (!this.open) {
388
- this.inputElement.value = this.getValue();
387
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
389
388
  }
390
389
  }
391
390
  }
391
+ handleDefaultValueChange(newValue) {
392
+ if (newValue !== undefined && newValue !== null) {
393
+ this.internalDefaultValue = convertToString(newValue);
394
+ this.setDefaultOption();
395
+ }
396
+ }
392
397
  componentWillLoad() {
393
- this.setDefaultOption();
398
+ if (this.defaultValue && !this.value) {
399
+ // Convert defaultValue to string before splitting
400
+ const defaultValueStr = convertToString(this.defaultValue);
401
+ const initialValue = this.multiselect
402
+ ? defaultValueStr.split(',').map(convertToString)
403
+ : [convertToString(this.defaultValue)];
404
+ this.updateDropdownState(initialValue);
405
+ }
394
406
  }
395
407
  /** Method to handle slot changes */
396
408
  handleSlotChange() {
@@ -400,29 +412,16 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
400
412
  normalizeString(text) {
401
413
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
402
414
  }
403
- /** Method that resets the dropdown without emitting an event. */
404
- internalReset() {
405
- this.getChildren().forEach((element) => {
406
- element.setSelected(false);
407
- return element;
408
- });
409
- this.value = null;
410
- this.setValueAttribute();
411
- }
412
- selectChildrenAsSelectedBasedOnSelectionProp() {
413
- this.getChildren().forEach((element) => {
414
- this.value.forEach((selection) => {
415
- if (element.value !== selection) {
416
- // If not multiselect, we need to unselect all other options.
417
- if (!this.multiselect) {
418
- element.setSelected(false);
419
- }
420
- }
421
- else {
422
- element.setSelected(true);
423
- }
424
- });
425
- });
415
+ /**
416
+ * @internal
417
+ */
418
+ async appendValue(value) {
419
+ if (this.multiselect) {
420
+ this.updateDropdownState([...this.selectedOptions, value]);
421
+ }
422
+ else {
423
+ this.updateDropdownState([value]);
424
+ }
426
425
  }
427
426
  componentDidRender() {
428
427
  const form = this.host.closest('form');
@@ -437,9 +436,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
437
436
  }
438
437
  }
439
438
  render() {
440
- var _a, _b, _c, _d;
441
- appendHiddenInput(this.host, this.name, (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((value) => value).toString(), this.disabled);
442
- return (h(Host, { key: 'b452aebe0997ce114fff5c7527d7305e97bf6462', role: "select", class: `${this.modeVariant ? `tds-mode-variant-${this.modeVariant}` : ''}` }, this.label && this.labelPosition === 'outside' && (h("div", { key: '356273d3065daebba4d72a7f30f745dab1eb803e', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: 'c8b617da62a01e0432fee90c243723edde5fecca', class: `dropdown-select ${this.size} ${this.disabled ? 'disabled' : ''}` }, this.filter ? (h("div", { class: {
439
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
440
+ return (h(Host, { key: '490d34545b3a09c3b4342fa09d38f6bf9c782498', role: "select", class: {
441
+ [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
442
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '7eb96c0134032654df98a3b68ffb692a2cd91d2b', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '439fddb188ad65239e9d5451a82ab3bbe8f47fb7', class: {
443
+ 'dropdown-select': true,
444
+ [this.size]: true,
445
+ 'disabled': this.disabled,
446
+ } }, this.filter ? (h("div", { class: {
443
447
  filter: true,
444
448
  focus: this.filterFocus,
445
449
  disabled: this.disabled,
@@ -447,24 +451,18 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
447
451
  } }, 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: `
448
452
  label-inside-as-placeholder
449
453
  ${this.size}
450
- ${((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
454
+ ${this.selectedOptions.length ? 'selected' : ''}
451
455
  ` }, this.label)), h("input", {
452
456
  // eslint-disable-next-line no-return-assign
453
- ref: (inputEl) => (this.inputElement = inputEl), class: `${this.labelPosition === 'inside' ? 'placeholder' : ''}`, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
457
+ ref: (inputEl) => (this.inputElement = inputEl), class: {
458
+ placeholder: this.labelPosition === 'inside',
459
+ }, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
454
460
  this.filterFocus = false;
455
461
  if (this.multiselect) {
456
462
  this.inputElement.value = this.getValue();
457
463
  }
458
464
  this.handleBlur(event);
459
- }, onFocus: (event) => {
460
- this.open = true;
461
- this.filterFocus = true;
462
- if (this.multiselect) {
463
- this.inputElement.value = '';
464
- }
465
- this.handleFocus(event);
466
- this.handleFilter({ target: { value: '' } });
467
- }, onKeyDown: (event) => {
465
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
468
466
  if (event.key === 'Escape') {
469
467
  this.open = false;
470
468
  }
@@ -473,7 +471,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
473
471
  if (event.key === 'Enter') {
474
472
  this.handleFilterReset();
475
473
  }
476
- }, class: `clear-icon ${this.open && this.inputElement.value !== '' ? '' : 'hide'}`, name: "cross", size: "16px" }), h("tds-icon", { tabIndex: 0, role: "button", "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", onClick: this.handleToggleOpen, onKeyDown: (event) => {
474
+ }, class: {
475
+ 'clear-icon': true,
476
+ 'hide': !(this.open && this.inputElement.value !== ''),
477
+ }, name: "cross", size: "16px" }), h("tds-icon", { tabIndex: 0, role: "button", "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", onClick: this.handleToggleOpen, onKeyDown: (event) => {
477
478
  if (event.key === 'Enter') {
478
479
  this.handleToggleOpen();
479
480
  }
@@ -482,14 +483,16 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
482
483
  this.open = false;
483
484
  }
484
485
  }, class: `
485
- ${this.value ? 'value' : 'placeholder'}
486
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
486
487
  ${this.open ? 'open' : 'closed'}
487
488
  ${this.error ? 'error' : ''}
488
489
  `, 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: `
489
490
  label-inside-as-placeholder
490
491
  ${this.size}
491
- ${((_c = this.value) === null || _c === void 0 ? void 0 : _c.length) ? 'selected' : ''}
492
- ` }, 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: 'bd702f67929bfd42350b11a9680e007dd74e4bad', ref: (element) => (this.dropdownList = element), class: {
492
+ ${this.selectedOptions.length ? 'selected' : ''}
493
+ ` }, 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) => {
494
+ this.dropdownList = element;
495
+ }, class: {
493
496
  'dropdown-list': true,
494
497
  [this.size]: true,
495
498
  [this.getOpenDirection()]: true,
@@ -498,11 +501,17 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
498
501
  'closed': !this.open,
499
502
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
500
503
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
501
- } }, h("slot", { key: '64c67c8aa6aa68089c59de1fdedb915ea4beb3af', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '2152a99732579e2c2f7e82d450743e67d8b9f263', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'fbc4ebc39a4ca4fc49a77ea1160042ad1de005ec', class: `helper ${this.error ? 'error' : ''} ${this.disabled ? 'disabled' : ''}` }, this.error && h("tds-icon", { key: '318107cbe939b82250bb97bfbceae4017e438ba1', name: "error", size: "16px" }), this.helper))));
504
+ } }, 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: {
505
+ helper: true,
506
+ error: this.error,
507
+ disabled: this.disabled,
508
+ } }, this.error && h("tds-icon", { key: 'c0eb10dfeaa5236f5ac02dabf44329e85d52dcda', name: "error", size: "16px" }), this.helper))));
502
509
  }
503
510
  get host() { return this; }
504
511
  static get watchers() { return {
505
- "open": ["handleOpenState"]
512
+ "value": ["handleValueChange"],
513
+ "open": ["handleOpenState"],
514
+ "defaultValue": ["handleDefaultValueChange"]
506
515
  }; }
507
516
  static get style() { return TdsDropdownStyle0; }
508
517
  }, [1, "tds-dropdown", {
@@ -521,19 +530,24 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
521
530
  "filter": [4],
522
531
  "normalizeText": [4, "normalize-text"],
523
532
  "noResultText": [1, "no-result-text"],
524
- "defaultValue": [1, "default-value"],
533
+ "defaultValue": [8, "default-value"],
534
+ "value": [1032],
525
535
  "open": [32],
526
- "value": [32],
536
+ "internalValue": [32],
527
537
  "filterResult": [32],
528
538
  "filterFocus": [32],
529
- "reset": [64],
530
- "focusElement": [64],
539
+ "internalDefaultValue": [32],
540
+ "selectedOptions": [32],
531
541
  "setValue": [64],
532
- "appendValue": [64],
542
+ "reset": [64],
533
543
  "removeValue": [64],
534
- "close": [64]
544
+ "focusElement": [64],
545
+ "close": [64],
546
+ "appendValue": [64]
535
547
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
536
- "open": ["handleOpenState"]
548
+ "value": ["handleValueChange"],
549
+ "open": ["handleOpenState"],
550
+ "defaultValue": ["handleDefaultValueChange"]
537
551
  }]);
538
552
  function defineCustomElement() {
539
553
  if (typeof customElements === "undefined") {
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Converts a value (string or number) to string
3
+ * @param value - The value to convert
4
+ * @returns The string representation of the value, or empty string if null/undefined
5
+ */
6
+ const convertToString = (value) => {
7
+ if (value === null || value === undefined)
8
+ return '';
9
+ return value.toString();
10
+ };
11
+ // Optional: If we need array conversion often
12
+ const convertArrayToStrings = (values) => {
13
+ return values.map((value) => convertToString(value));
14
+ };
15
+
16
+ export { convertToString as a, convertArrayToStrings as c };