@scania/tegel 1.25.0-fix-a11y-checkbox-testing-previous-version-beta.0 → 1.25.0-fix-a11y-chip-more-improvements-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 (431) 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-block.cjs.entry.js +3 -1
  4. package/dist/cjs/tds-body-cell.cjs.entry.js +2 -2
  5. package/dist/cjs/tds-breadcrumb.cjs.entry.js +2 -2
  6. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +7 -1
  7. package/dist/cjs/tds-button.cjs.entry.js +9 -3
  8. package/dist/cjs/tds-card.cjs.entry.js +1 -1
  9. package/dist/cjs/tds-checkbox.cjs.entry.js +3 -11
  10. package/dist/cjs/tds-chip.cjs.entry.js +12 -2
  11. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +40 -3
  12. package/dist/cjs/tds-datetime.cjs.entry.js +20 -13
  13. package/dist/cjs/tds-divider.cjs.entry.js +1 -1
  14. package/dist/cjs/tds-dropdown_2.cjs.entry.js +186 -199
  15. package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -2
  16. package/dist/cjs/tds-folder-tabs.cjs.entry.js +2 -2
  17. package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
  18. package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
  19. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  20. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +1 -1
  21. package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
  22. package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
  23. package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +1 -1
  24. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +1 -1
  25. package/dist/cjs/tds-header-dropdown.cjs.entry.js +3 -3
  26. package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
  27. package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
  28. package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +1 -1
  29. package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
  31. package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  33. package/dist/cjs/tds-header-launcher-list.cjs.entry.js +1 -1
  34. package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
  35. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  36. package/dist/cjs/tds-header.cjs.entry.js +1 -1
  37. package/dist/cjs/tds-icon.cjs.entry.js +1 -1
  38. package/dist/cjs/tds-inline-tab.cjs.entry.js +2 -2
  39. package/dist/cjs/tds-inline-tabs.cjs.entry.js +2 -2
  40. package/dist/cjs/tds-link.cjs.entry.js +2 -2
  41. package/dist/cjs/tds-message.cjs.entry.js +2 -2
  42. package/dist/cjs/tds-modal.cjs.entry.js +2 -2
  43. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  44. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +4 -4
  45. package/dist/cjs/tds-popover-canvas.cjs.entry.js +2 -2
  46. package/dist/cjs/tds-popover-core.cjs.entry.js +1 -1
  47. package/dist/cjs/tds-popover-menu-item.cjs.entry.js +2 -2
  48. package/dist/cjs/tds-popover-menu.cjs.entry.js +2 -2
  49. package/dist/cjs/tds-radio-button.cjs.entry.js +1 -1
  50. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  51. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -4
  52. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +2 -2
  53. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +2 -2
  54. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +3 -3
  55. package/dist/cjs/tds-side-menu-item.cjs.entry.js +2 -2
  56. package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +1 -1
  57. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  58. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  59. package/dist/cjs/tds-slider.cjs.entry.js +7 -7
  60. package/dist/cjs/tds-spinner.cjs.entry.js +1 -1
  61. package/dist/cjs/tds-step.cjs.entry.js +1 -1
  62. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  63. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +7 -7
  64. package/dist/cjs/tds-table-body-row.cjs.entry.js +2 -2
  65. package/dist/cjs/tds-table-body.cjs.entry.js +2 -2
  66. package/dist/cjs/tds-table-footer.cjs.entry.js +3 -3
  67. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  68. package/dist/cjs/tds-table-header.cjs.entry.js +2 -2
  69. package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
  70. package/dist/cjs/tds-text-field.cjs.entry.js +6 -6
  71. package/dist/cjs/tds-textarea.cjs.entry.js +3 -3
  72. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  73. package/dist/cjs/tds-toggle.cjs.entry.js +11 -2
  74. package/dist/cjs/tds-tooltip.cjs.entry.js +2 -2
  75. package/dist/cjs/tegel.cjs.js +1 -1
  76. package/dist/collection/components/badge/badge.js +24 -9
  77. package/dist/collection/components/block/block.js +27 -2
  78. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.css +9 -10
  79. package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +2 -2
  80. package/dist/collection/components/breadcrumbs/breadcrumbs.js +30 -1
  81. package/dist/collection/components/button/button.js +26 -3
  82. package/dist/collection/components/card/card.js +1 -1
  83. package/dist/collection/components/checkbox/checkbox.js +3 -28
  84. package/dist/collection/components/chip/chip.js +30 -3
  85. package/dist/collection/components/datetime/datetime.css +20 -0
  86. package/dist/collection/components/datetime/datetime.js +22 -15
  87. package/dist/collection/components/divider/divider.js +1 -1
  88. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +16 -6
  89. package/dist/collection/components/dropdown/dropdown.js +236 -242
  90. package/dist/collection/components/footer/footer-group/footer-group.js +3 -3
  91. package/dist/collection/components/footer/footer-item/footer-item.js +1 -1
  92. package/dist/collection/components/footer/footer.js +2 -2
  93. package/dist/collection/components/header/core-header-item/core-header-item.js +1 -1
  94. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +1 -1
  95. package/dist/collection/components/header/header-dropdown/header-dropdown.js +3 -3
  96. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +1 -1
  97. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  98. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +1 -1
  99. package/dist/collection/components/header/header-hamburger/header-hamburger.js +1 -1
  100. package/dist/collection/components/header/header-item/header-item.js +39 -2
  101. package/dist/collection/components/header/header-launcher/header-launcher.js +2 -2
  102. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +1 -1
  103. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  104. package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +1 -1
  105. package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +1 -1
  106. package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +1 -1
  107. package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +1 -1
  108. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  109. package/dist/collection/components/header/header-title/header-title.js +1 -1
  110. package/dist/collection/components/header/header.js +1 -1
  111. package/dist/collection/components/icon/icon.js +1 -1
  112. package/dist/collection/components/link/link.js +2 -2
  113. package/dist/collection/components/message/message.js +2 -2
  114. package/dist/collection/components/modal/modal.js +2 -2
  115. package/dist/collection/components/popover-canvas/popover-canvas.js +2 -2
  116. package/dist/collection/components/popover-core/popover-core.js +1 -1
  117. package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +2 -2
  118. package/dist/collection/components/popover-menu/popover-menu.js +2 -2
  119. package/dist/collection/components/radio-button/radio-button.js +1 -1
  120. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  121. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -4
  122. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +3 -3
  123. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +2 -2
  124. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +2 -2
  125. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +2 -2
  126. package/dist/collection/components/side-menu/side-menu-overlay/side-menu-overlay.js +1 -1
  127. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +1 -1
  128. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +1 -1
  129. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +1 -1
  130. package/dist/collection/components/slider/slider.js +7 -7
  131. package/dist/collection/components/spinner/spinner.js +1 -1
  132. package/dist/collection/components/stepper/step/step.js +1 -1
  133. package/dist/collection/components/table/table-body/table-body.js +2 -2
  134. package/dist/collection/components/table/table-body-cell/table-body-cell.js +2 -2
  135. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  136. package/dist/collection/components/table/table-body-row/table-body-row.js +2 -2
  137. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +7 -7
  138. package/dist/collection/components/table/table-footer/table-footer.js +3 -3
  139. package/dist/collection/components/table/table-header/table-header.js +2 -2
  140. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  141. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  142. package/dist/collection/components/table/table-toolbar/table-toolbar.js +2 -2
  143. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +2 -2
  144. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +2 -2
  145. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +2 -2
  146. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +2 -2
  147. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  148. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +4 -4
  149. package/dist/collection/components/text-field/text-field.js +6 -6
  150. package/dist/collection/components/textarea/textarea.js +3 -3
  151. package/dist/collection/components/toast/toast.js +3 -3
  152. package/dist/collection/components/toggle/toggle.js +28 -2
  153. package/dist/collection/components/tooltip/tooltip.js +2 -2
  154. package/dist/collection/utils/axeHelpers.js +1 -1
  155. package/dist/components/{p-2ef329f1.js → p-0e6efec9.js} +2 -2
  156. package/dist/components/{p-4bdaf254.js → p-265c3467.js} +1 -1
  157. package/dist/components/{p-f0a50868.js → p-29d19dc8.js} +3 -3
  158. package/dist/components/{p-2fe6672d.js → p-2a43e410.js} +18 -8
  159. package/dist/components/{p-75437dea.js → p-34737ed9.js} +1 -1
  160. package/dist/components/{p-d1ace0be.js → p-3e93886d.js} +1 -1
  161. package/dist/components/{p-3351035f.js → p-4764a1d5.js} +1 -1
  162. package/dist/components/{p-f1980746.js → p-4c1e3344.js} +4 -4
  163. package/dist/components/{p-9d7232d0.js → p-8c849aa2.js} +2 -2
  164. package/dist/components/{p-ad77fb02.js → p-a2b7bdef.js} +1 -1
  165. package/dist/components/{p-467fe701.js → p-a64dc22e.js} +179 -199
  166. package/dist/components/{p-3ff2a23b.js → p-c65351ab.js} +3 -12
  167. package/dist/components/{p-3a7f88ff.js → p-d61bd22e.js} +40 -3
  168. package/dist/components/{p-707a562e.js → p-e49a0ceb.js} +1 -1
  169. package/dist/components/{p-8f8b0827.js → p-e8d2dbbf.js} +1 -1
  170. package/dist/components/tds-accordion-item.js +1 -1
  171. package/dist/components/tds-badge.js +7 -9
  172. package/dist/components/tds-banner.js +1 -1
  173. package/dist/components/tds-block.js +5 -2
  174. package/dist/components/tds-body-cell.js +2 -2
  175. package/dist/components/tds-breadcrumb.js +3 -3
  176. package/dist/components/tds-breadcrumbs.js +10 -2
  177. package/dist/components/tds-button.js +10 -3
  178. package/dist/components/tds-card.js +2 -2
  179. package/dist/components/tds-checkbox.js +1 -1
  180. package/dist/components/tds-chip.js +14 -3
  181. package/dist/components/tds-core-header-item.js +1 -1
  182. package/dist/components/tds-datetime.js +21 -14
  183. package/dist/components/tds-divider.js +1 -1
  184. package/dist/components/tds-dropdown-option.js +1 -1
  185. package/dist/components/tds-dropdown.js +1 -1
  186. package/dist/components/tds-folder-tab.js +2 -2
  187. package/dist/components/tds-folder-tabs.js +3 -3
  188. package/dist/components/tds-footer-group.js +4 -4
  189. package/dist/components/tds-footer-item.js +1 -1
  190. package/dist/components/tds-footer.js +2 -2
  191. package/dist/components/tds-header-brand-symbol.js +3 -3
  192. package/dist/components/tds-header-cell.js +2 -2
  193. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  194. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  195. package/dist/components/tds-header-dropdown-list.js +1 -1
  196. package/dist/components/tds-header-dropdown.js +8 -8
  197. package/dist/components/tds-header-hamburger.js +4 -4
  198. package/dist/components/tds-header-item.js +1 -1
  199. package/dist/components/tds-header-launcher-button.js +1 -1
  200. package/dist/components/tds-header-launcher-grid-item.js +1 -1
  201. package/dist/components/tds-header-launcher-grid-title.js +1 -1
  202. package/dist/components/tds-header-launcher-grid.js +1 -1
  203. package/dist/components/tds-header-launcher-list-item.js +2 -2
  204. package/dist/components/tds-header-launcher-list-title.js +1 -1
  205. package/dist/components/tds-header-launcher-list.js +2 -2
  206. package/dist/components/tds-header-launcher.js +8 -8
  207. package/dist/components/tds-header-title.js +1 -1
  208. package/dist/components/tds-header.js +1 -1
  209. package/dist/components/tds-icon.js +1 -1
  210. package/dist/components/tds-inline-tab.js +2 -2
  211. package/dist/components/tds-inline-tabs.js +3 -3
  212. package/dist/components/tds-link.js +2 -2
  213. package/dist/components/tds-message.js +3 -3
  214. package/dist/components/tds-modal.js +3 -3
  215. package/dist/components/tds-navigation-tab.js +2 -2
  216. package/dist/components/tds-navigation-tabs.js +5 -5
  217. package/dist/components/tds-popover-canvas.js +1 -1
  218. package/dist/components/tds-popover-core.js +1 -1
  219. package/dist/components/tds-popover-menu-item.js +2 -2
  220. package/dist/components/tds-popover-menu.js +3 -3
  221. package/dist/components/tds-radio-button.js +1 -1
  222. package/dist/components/tds-side-menu-close-button.js +2 -2
  223. package/dist/components/tds-side-menu-collapse-button.js +5 -5
  224. package/dist/components/tds-side-menu-dropdown-list-item.js +2 -2
  225. package/dist/components/tds-side-menu-dropdown-list.js +2 -2
  226. package/dist/components/tds-side-menu-dropdown.js +5 -5
  227. package/dist/components/tds-side-menu-item.js +1 -1
  228. package/dist/components/tds-side-menu-overlay.js +1 -1
  229. package/dist/components/tds-side-menu-user-image.js +1 -1
  230. package/dist/components/tds-side-menu-user-label.js +1 -1
  231. package/dist/components/tds-side-menu-user.js +3 -3
  232. package/dist/components/tds-slider.js +8 -8
  233. package/dist/components/tds-spinner.js +1 -1
  234. package/dist/components/tds-step.js +2 -2
  235. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  236. package/dist/components/tds-table-body-row-expandable.js +7 -7
  237. package/dist/components/tds-table-body-row.js +3 -3
  238. package/dist/components/tds-table-body.js +2 -2
  239. package/dist/components/tds-table-footer.js +7 -7
  240. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  241. package/dist/components/tds-table-header.js +3 -3
  242. package/dist/components/tds-table-toolbar.js +3 -3
  243. package/dist/components/tds-text-field.js +7 -7
  244. package/dist/components/tds-textarea.js +4 -4
  245. package/dist/components/tds-toast.js +4 -4
  246. package/dist/components/tds-toggle.js +12 -2
  247. package/dist/components/tds-tooltip.js +3 -3
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/tds-badge.entry.js +5 -9
  250. package/dist/esm/tds-block.entry.js +3 -1
  251. package/dist/esm/tds-body-cell.entry.js +2 -2
  252. package/dist/esm/tds-breadcrumb.entry.js +3 -3
  253. package/dist/esm/tds-breadcrumbs.entry.js +7 -1
  254. package/dist/esm/tds-button.entry.js +9 -3
  255. package/dist/esm/tds-card.entry.js +1 -1
  256. package/dist/esm/tds-checkbox.entry.js +3 -11
  257. package/dist/esm/tds-chip.entry.js +12 -2
  258. package/dist/esm/tds-core-header-item_2.entry.js +40 -3
  259. package/dist/esm/tds-datetime.entry.js +20 -13
  260. package/dist/esm/tds-divider.entry.js +1 -1
  261. package/dist/esm/tds-dropdown_2.entry.js +186 -199
  262. package/dist/esm/tds-folder-tab.entry.js +2 -2
  263. package/dist/esm/tds-folder-tabs.entry.js +2 -2
  264. package/dist/esm/tds-footer-group.entry.js +3 -3
  265. package/dist/esm/tds-footer-item.entry.js +1 -1
  266. package/dist/esm/tds-footer.entry.js +2 -2
  267. package/dist/esm/tds-header-brand-symbol.entry.js +1 -1
  268. package/dist/esm/tds-header-cell.entry.js +1 -1
  269. package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
  270. package/dist/esm/tds-header-dropdown-list-user.entry.js +1 -1
  271. package/dist/esm/tds-header-dropdown-list.entry.js +1 -1
  272. package/dist/esm/tds-header-dropdown.entry.js +3 -3
  273. package/dist/esm/tds-header-hamburger.entry.js +1 -1
  274. package/dist/esm/tds-header-launcher-button.entry.js +1 -1
  275. package/dist/esm/tds-header-launcher-grid-item.entry.js +1 -1
  276. package/dist/esm/tds-header-launcher-grid-title.entry.js +1 -1
  277. package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
  278. package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
  279. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  280. package/dist/esm/tds-header-launcher-list.entry.js +1 -1
  281. package/dist/esm/tds-header-launcher.entry.js +2 -2
  282. package/dist/esm/tds-header-title.entry.js +1 -1
  283. package/dist/esm/tds-header.entry.js +1 -1
  284. package/dist/esm/tds-icon.entry.js +1 -1
  285. package/dist/esm/tds-inline-tab.entry.js +2 -2
  286. package/dist/esm/tds-inline-tabs.entry.js +2 -2
  287. package/dist/esm/tds-link.entry.js +2 -2
  288. package/dist/esm/tds-message.entry.js +2 -2
  289. package/dist/esm/tds-modal.entry.js +2 -2
  290. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  291. package/dist/esm/tds-navigation-tabs.entry.js +4 -4
  292. package/dist/esm/tds-popover-canvas.entry.js +2 -2
  293. package/dist/esm/tds-popover-core.entry.js +1 -1
  294. package/dist/esm/tds-popover-menu-item.entry.js +2 -2
  295. package/dist/esm/tds-popover-menu.entry.js +2 -2
  296. package/dist/esm/tds-radio-button.entry.js +1 -1
  297. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  298. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -4
  299. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +2 -2
  300. package/dist/esm/tds-side-menu-dropdown-list.entry.js +2 -2
  301. package/dist/esm/tds-side-menu-dropdown.entry.js +3 -3
  302. package/dist/esm/tds-side-menu-item.entry.js +2 -2
  303. package/dist/esm/tds-side-menu-overlay.entry.js +1 -1
  304. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  305. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  306. package/dist/esm/tds-slider.entry.js +7 -7
  307. package/dist/esm/tds-spinner.entry.js +1 -1
  308. package/dist/esm/tds-step.entry.js +1 -1
  309. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  310. package/dist/esm/tds-table-body-row-expandable.entry.js +7 -7
  311. package/dist/esm/tds-table-body-row.entry.js +2 -2
  312. package/dist/esm/tds-table-body.entry.js +2 -2
  313. package/dist/esm/tds-table-footer.entry.js +3 -3
  314. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  315. package/dist/esm/tds-table-header.entry.js +2 -2
  316. package/dist/esm/tds-table-toolbar.entry.js +2 -2
  317. package/dist/esm/tds-text-field.entry.js +6 -6
  318. package/dist/esm/tds-textarea.entry.js +3 -3
  319. package/dist/esm/tds-toast.entry.js +3 -3
  320. package/dist/esm/tds-toggle.entry.js +11 -2
  321. package/dist/esm/tds-tooltip.entry.js +2 -2
  322. package/dist/esm/tegel.js +1 -1
  323. package/dist/tegel/{p-d027f6b9.entry.js → p-01edebef.entry.js} +1 -1
  324. package/dist/tegel/{p-3e144a83.entry.js → p-035e58e6.entry.js} +1 -1
  325. package/dist/tegel/{p-170ab61b.entry.js → p-065d6f83.entry.js} +1 -1
  326. package/dist/tegel/{p-72106a5c.entry.js → p-168122a7.entry.js} +1 -1
  327. package/dist/tegel/{p-6eeded00.entry.js → p-19eb4ae1.entry.js} +1 -1
  328. package/dist/tegel/{p-b0a5eba7.entry.js → p-1b390acb.entry.js} +1 -1
  329. package/dist/tegel/{p-059a9499.entry.js → p-288a09ef.entry.js} +1 -1
  330. package/dist/tegel/{p-b2018a5b.entry.js → p-3204ae8f.entry.js} +1 -1
  331. package/dist/tegel/p-32be63ea.entry.js +1 -0
  332. package/dist/tegel/{p-cc2730d8.entry.js → p-34b793c9.entry.js} +1 -1
  333. package/dist/tegel/p-3c2f7033.entry.js +1 -0
  334. package/dist/tegel/p-46205cfb.entry.js +1 -0
  335. package/dist/tegel/p-4d5963d0.entry.js +1 -0
  336. package/dist/tegel/{p-68859ddc.entry.js → p-4e298888.entry.js} +1 -1
  337. package/dist/tegel/{p-9c3f2c12.entry.js → p-4e33cbda.entry.js} +1 -1
  338. package/dist/tegel/{p-b425b2f4.entry.js → p-4ee344e5.entry.js} +1 -1
  339. package/dist/tegel/p-4f5f152a.entry.js +1 -0
  340. package/dist/tegel/p-4fe6512b.entry.js +1 -0
  341. package/dist/tegel/p-5242a1f6.entry.js +1 -0
  342. package/dist/tegel/{p-038c22ff.entry.js → p-542d7b3e.entry.js} +1 -1
  343. package/dist/tegel/{p-5eaa23dc.entry.js → p-5a7110b8.entry.js} +1 -1
  344. package/dist/tegel/{p-93930c03.entry.js → p-5ba254ee.entry.js} +1 -1
  345. package/dist/tegel/{p-06968bd7.entry.js → p-60b38806.entry.js} +1 -1
  346. package/dist/tegel/p-64c80f14.entry.js +1 -0
  347. package/dist/tegel/{p-7929d22f.entry.js → p-654785d2.entry.js} +1 -1
  348. package/dist/tegel/p-6f17d37f.entry.js +1 -0
  349. package/dist/tegel/p-70795d6e.entry.js +1 -0
  350. package/dist/tegel/{p-4a282c25.entry.js → p-72fd0083.entry.js} +1 -1
  351. package/dist/tegel/{p-3d3ee51f.entry.js → p-74fc9c92.entry.js} +1 -1
  352. package/dist/tegel/p-77c79b91.entry.js +1 -0
  353. package/dist/tegel/{p-54154f09.entry.js → p-77d457b8.entry.js} +1 -1
  354. package/dist/tegel/{p-4b7c53a6.entry.js → p-78d5acd7.entry.js} +1 -1
  355. package/dist/tegel/{p-44c33b20.entry.js → p-7c4c65c9.entry.js} +1 -1
  356. package/dist/tegel/{p-3a32fe40.entry.js → p-848c2732.entry.js} +1 -1
  357. package/dist/tegel/p-868757d9.entry.js +1 -0
  358. package/dist/tegel/p-8c8b9908.entry.js +1 -0
  359. package/dist/tegel/{p-59293f88.entry.js → p-93a4bd11.entry.js} +1 -1
  360. package/dist/tegel/{p-2f32991e.entry.js → p-96635c10.entry.js} +1 -1
  361. package/dist/tegel/p-9e0b31a1.entry.js +1 -0
  362. package/dist/tegel/{p-c289dfb9.entry.js → p-a0fc0cc2.entry.js} +1 -1
  363. package/dist/tegel/p-a5e0f030.entry.js +1 -0
  364. package/dist/tegel/{p-96bdf035.entry.js → p-aa9d281b.entry.js} +1 -1
  365. package/dist/tegel/p-ae46766a.entry.js +1 -0
  366. package/dist/tegel/{p-86b30f71.entry.js → p-aef6b130.entry.js} +1 -1
  367. package/dist/tegel/p-b08886e3.entry.js +1 -0
  368. package/dist/tegel/{p-f67b4047.entry.js → p-b35e7208.entry.js} +1 -1
  369. package/dist/tegel/{p-a86fe122.entry.js → p-b39ffad4.entry.js} +1 -1
  370. package/dist/tegel/p-b5ced8e5.entry.js +1 -0
  371. package/dist/tegel/{p-fd3d56aa.entry.js → p-b6526302.entry.js} +1 -1
  372. package/dist/tegel/{p-e7300cca.entry.js → p-b686f1ad.entry.js} +1 -1
  373. package/dist/tegel/{p-b96cd80d.entry.js → p-b9576881.entry.js} +1 -1
  374. package/dist/tegel/p-b9f81e53.entry.js +1 -0
  375. package/dist/tegel/{p-708a8bab.entry.js → p-bee533b5.entry.js} +1 -1
  376. package/dist/tegel/{p-99da056d.entry.js → p-c56be8d1.entry.js} +1 -1
  377. package/dist/tegel/{p-2a38b053.entry.js → p-c8404432.entry.js} +1 -1
  378. package/dist/tegel/{p-24ff5903.entry.js → p-ca93de01.entry.js} +1 -1
  379. package/dist/tegel/p-cc6c06e3.entry.js +1 -0
  380. package/dist/tegel/{p-b19ce79c.entry.js → p-cca85da0.entry.js} +1 -1
  381. package/dist/tegel/{p-ab0528bf.entry.js → p-cde32bc6.entry.js} +1 -1
  382. package/dist/tegel/p-d0abf078.entry.js +1 -0
  383. package/dist/tegel/{p-6d022f47.entry.js → p-d267665e.entry.js} +1 -1
  384. package/dist/tegel/{p-e9ac7a1a.entry.js → p-d33cb2d1.entry.js} +1 -1
  385. package/dist/tegel/{p-5fea857b.entry.js → p-d47c744f.entry.js} +1 -1
  386. package/dist/tegel/p-d65dfe04.entry.js +1 -0
  387. package/dist/tegel/{p-2a96bd05.entry.js → p-d853f8c2.entry.js} +1 -1
  388. package/dist/tegel/p-d9511720.entry.js +1 -0
  389. package/dist/tegel/{p-0b773208.entry.js → p-dcbc35af.entry.js} +1 -1
  390. package/dist/tegel/{p-fd432c54.entry.js → p-dfbbaefd.entry.js} +1 -1
  391. package/dist/tegel/{p-88204e0a.entry.js → p-ea3e071f.entry.js} +1 -1
  392. package/dist/tegel/{p-2795009a.entry.js → p-ed17283a.entry.js} +1 -1
  393. package/dist/tegel/{p-e478953c.entry.js → p-ee7f07ae.entry.js} +1 -1
  394. package/dist/tegel/{p-b9b63210.entry.js → p-f1b0211a.entry.js} +1 -1
  395. package/dist/tegel/{p-a392e6e7.entry.js → p-fa07db58.entry.js} +1 -1
  396. package/dist/tegel/tegel.esm.js +1 -1
  397. package/dist/types/components/badge/badge.d.ts +3 -0
  398. package/dist/types/components/block/block.d.ts +8 -1
  399. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  400. package/dist/types/components/button/button.d.ts +3 -0
  401. package/dist/types/components/checkbox/checkbox.d.ts +0 -2
  402. package/dist/types/components/chip/chip.d.ts +3 -0
  403. package/dist/types/components/datetime/datetime.d.ts +2 -2
  404. package/dist/types/components/dropdown/dropdown.d.ts +24 -23
  405. package/dist/types/components/header/header-item/header-item.d.ts +7 -0
  406. package/dist/types/components/toggle/toggle.d.ts +5 -0
  407. package/dist/types/components.d.ts +98 -25
  408. package/package.json +1 -1
  409. package/dist/tegel/p-0939b9fb.entry.js +0 -1
  410. package/dist/tegel/p-1703f73a.entry.js +0 -1
  411. package/dist/tegel/p-1aecae56.entry.js +0 -1
  412. package/dist/tegel/p-32b7f431.entry.js +0 -1
  413. package/dist/tegel/p-3c22aef7.entry.js +0 -1
  414. package/dist/tegel/p-3e1b1399.entry.js +0 -1
  415. package/dist/tegel/p-48bbc11f.entry.js +0 -1
  416. package/dist/tegel/p-4b231bf9.entry.js +0 -1
  417. package/dist/tegel/p-4c2f313d.entry.js +0 -1
  418. package/dist/tegel/p-5e0fc86c.entry.js +0 -1
  419. package/dist/tegel/p-7090a95c.entry.js +0 -1
  420. package/dist/tegel/p-85a9032e.entry.js +0 -1
  421. package/dist/tegel/p-92f81cda.entry.js +0 -1
  422. package/dist/tegel/p-9f06c6fa.entry.js +0 -1
  423. package/dist/tegel/p-a38dda58.entry.js +0 -1
  424. package/dist/tegel/p-b647d20e.entry.js +0 -1
  425. package/dist/tegel/p-be88c5ab.entry.js +0 -1
  426. package/dist/tegel/p-d7f48112.entry.js +0 -1
  427. package/dist/tegel/p-d926d075.entry.js +0 -1
  428. package/dist/tegel/p-ddd33cce.entry.js +0 -1
  429. package/dist/tegel/p-ea4a9a4f.entry.js +0 -1
  430. package/dist/tegel/p-f4db0231.entry.js +0 -1
  431. package/dist/tegel/p-ffd827ef.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
2
2
  import { c as convertArrayToStrings, a as convertToString } from './p-b1d21573.js';
3
- import { d as defineCustomElement$1 } from './p-ad77fb02.js';
3
+ import { d as defineCustomElement$1 } from './p-a2b7bdef.js';
4
4
 
5
5
  /**
6
6
  * Find the next focusable element index in a list of focusable elements.
@@ -74,33 +74,13 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
74
74
  this.tdsInput = createEvent(this, "tdsInput", 6);
75
75
  this.setDefaultOption = () => {
76
76
  if (this.internalDefaultValue) {
77
- const children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
78
- if (children.length === 0) {
79
- console.warn('TDS DROPDOWN: No options found. Disregard if loading data asynchronously.');
80
- return;
81
- }
77
+ // Convert the internal default value to an array if it's not already
82
78
  const defaultValues = this.multiselect
83
- ? new Set(this.internalDefaultValue.split(','))
79
+ ? this.internalDefaultValue.split(',')
84
80
  : [this.internalDefaultValue];
85
- const childrenMap = new Map(children.map((element) => [element.value, element]));
86
- const matchedValues = Array.from(defaultValues).filter((value) => {
87
- const element = childrenMap.get(value);
88
- if (element) {
89
- element.setSelected(true);
90
- return true;
91
- }
92
- return false;
93
- });
94
- if (matchedValues.length > 0) {
95
- this.value = [...new Set(this.value ? [...this.value, ...matchedValues] : matchedValues)];
96
- this.setValueAttribute();
97
- }
98
- else {
99
- console.warn(`TDS DROPDOWN: No matching option found for defaultValue "${this.internalDefaultValue}"`);
100
- }
81
+ this.updateDropdownState(defaultValues);
101
82
  }
102
83
  };
103
- /* Returns a list of all children that are tds-dropdown-option elements */
104
84
  this.getChildren = () => {
105
85
  const tdsDropdownOptions = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
106
86
  if (tdsDropdownOptions.length === 0) {
@@ -109,6 +89,36 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
109
89
  else
110
90
  return tdsDropdownOptions;
111
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
+ };
112
122
  this.getOpenDirection = () => {
113
123
  var _a, _b, _c, _d, _e;
114
124
  if (this.openDirection === 'auto' || !this.openDirection) {
@@ -122,7 +132,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
122
132
  }
123
133
  return this.openDirection;
124
134
  };
125
- /* Toggles the open state of the Dropdown and sets focus to the input element */
126
135
  this.handleToggleOpen = () => {
127
136
  if (!this.disabled) {
128
137
  this.open = !this.open;
@@ -131,38 +140,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
131
140
  }
132
141
  }
133
142
  };
134
- /* Focuses the input element in the Dropdown, if the reference is present. */
135
143
  this.focusInputElement = () => {
136
144
  if (this.inputElement)
137
145
  this.inputElement.focus();
138
146
  };
139
- this.getSelectedChildren = () => {
140
- var _a;
141
- return (_a = this.value) === null || _a === void 0 ? void 0 : _a.map((stringValue) => {
142
- const matchingElement = this.getChildren().find((element) => element.value === stringValue);
143
- return matchingElement;
144
- }).filter(Boolean);
145
- };
146
- this.getSelectedChildrenLabels = () => {
147
- var _a;
148
- return (_a = this.getSelectedChildren()) === null || _a === void 0 ? void 0 : _a.map((element) => element.textContent.trim());
149
- };
150
- this.getValue = () => {
151
- const labels = this.getSelectedChildrenLabels();
152
- if (!labels) {
153
- return '';
154
- }
155
- return labels === null || labels === void 0 ? void 0 : labels.join(', ');
156
- };
157
- this.setValueAttribute = () => {
158
- var _a;
159
- if (!this.value || ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) === '') {
160
- this.host.removeAttribute('value');
161
- }
162
- else {
163
- this.host.setAttribute('value', convertArrayToStrings(this.value).join(','));
164
- }
165
- };
166
147
  this.handleFilter = (event) => {
167
148
  this.tdsInput.emit(event);
168
149
  const query = event.target.value.toLowerCase();
@@ -193,8 +174,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
193
174
  this.handleFilterReset = () => {
194
175
  this.reset();
195
176
  this.inputElement.value = '';
196
- this.handleFilter({ target: { value: this.inputElement.value } });
177
+ this.handleFilter({ target: { value: '' } });
197
178
  this.inputElement.focus();
179
+ // Add this line to ensure internal value is cleared
180
+ this.internalValue = '';
198
181
  };
199
182
  this.handleFocus = (event) => {
200
183
  this.open = true;
@@ -208,12 +191,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
208
191
  this.handleBlur = (event) => {
209
192
  this.tdsBlur.emit(event);
210
193
  };
211
- this.handleChange = () => {
212
- this.tdsChange.emit({
213
- name: this.name,
214
- value: this.value ? convertArrayToStrings(this.value).join(',') : null,
215
- });
216
- };
217
194
  this.resetInput = () => {
218
195
  const inputEl = this.host.querySelector('input');
219
196
  if (inputEl) {
@@ -236,17 +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;
243
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
+ }));
244
314
  }
245
- /** Method that resets the Dropdown, marks all children as non-selected and resets the value to null. */
246
315
  async reset() {
247
- this.dropdownList.scrollTop = 0;
248
- this.internalReset();
249
- this.handleChange();
316
+ this.updateDropdownState([]);
317
+ }
318
+ async removeValue(oldValue) {
319
+ const newValues = this.selectedOptions.filter((v) => v !== oldValue);
320
+ this.updateDropdownState(newValues);
250
321
  }
251
322
  /** Method that forces focus on the input element. */
252
323
  async focusElement() {
@@ -267,81 +338,6 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
267
338
  * dropdown.setValue(['option-1', 'option-2']);
268
339
  * </code>
269
340
  */
270
- // The label is optional here ONLY to not break the API. Should be removed for 2.0.
271
- // @ts-ignore
272
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
273
- async setValue(value) {
274
- let nextValue;
275
- if (Array.isArray(value)) {
276
- nextValue = convertArrayToStrings(value);
277
- }
278
- else {
279
- nextValue = [convertToString(value)];
280
- }
281
- if (!this.multiselect && nextValue.length > 1) {
282
- console.warn('Tried to select multiple items, but multiselect is not enabled.');
283
- nextValue = [nextValue[0]];
284
- }
285
- nextValue = [...new Set(nextValue)];
286
- this.internalReset();
287
- for (let i = 0; i < nextValue.length; i++) {
288
- const optionExist = this.getChildren().some((element) => element.value === nextValue[i]);
289
- if (!optionExist) {
290
- nextValue.splice(i, 1);
291
- }
292
- }
293
- this.value = nextValue;
294
- this.setValueAttribute();
295
- this.selectChildrenAsSelectedBasedOnSelectionProp();
296
- this.handleChange();
297
- /* 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. */
298
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
299
- const selection = this.getSelectedChildren().map((element) => ({
300
- value: element.value,
301
- label: element.textContent.trim(),
302
- }));
303
- // Update inputElement value and placeholder text
304
- if (this.filter) {
305
- this.inputElement.value = this.getValue();
306
- }
307
- return selection;
308
- }
309
- /**
310
- * @internal
311
- */
312
- async appendValue(value) {
313
- if (this.multiselect && this.value) {
314
- this.setValue([...this.value, value]);
315
- }
316
- else {
317
- this.setValue(value);
318
- }
319
- }
320
- /** Method for removing a selected value in the Dropdown. */
321
- async removeValue(oldValue) {
322
- var _a, _b;
323
- let label;
324
- if (this.multiselect) {
325
- (_a = this.getChildren()) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
326
- var _a;
327
- if (element.value === oldValue) {
328
- this.value = (_a = this.value) === null || _a === void 0 ? void 0 : _a.filter((value) => value !== element.value);
329
- label = element.textContent.trim();
330
- element.setSelected(false);
331
- }
332
- return element;
333
- });
334
- }
335
- else {
336
- this.reset();
337
- }
338
- this.handleChange();
339
- this.setValueAttribute();
340
- /* 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. */
341
- /* https://tegel.atlassian.net/browse/CDEP-2703 */
342
- return (_b = this.value) === null || _b === void 0 ? void 0 : _b.map((value) => ({ value, label }));
343
- }
344
- /** Method for closing the Dropdown. */
345
341
  async close() {
346
342
  this.open = false;
347
343
  }
@@ -388,7 +384,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
388
384
  handleOpenState() {
389
385
  if (this.filter && this.multiselect) {
390
386
  if (!this.open) {
391
- this.inputElement.value = this.getValue();
387
+ this.inputElement.value = this.selectedOptions.length ? this.getValue() : '';
392
388
  }
393
389
  }
394
390
  }
@@ -399,10 +395,14 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
399
395
  }
400
396
  }
401
397
  componentWillLoad() {
402
- if (this.defaultValue !== undefined && this.defaultValue !== null) {
403
- this.internalDefaultValue = convertToString(this.defaultValue);
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);
404
405
  }
405
- this.setDefaultOption();
406
406
  }
407
407
  /** Method to handle slot changes */
408
408
  handleSlotChange() {
@@ -412,29 +412,16 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
412
412
  normalizeString(text) {
413
413
  return this.normalizeText ? text.normalize('NFD').replace(/\p{Diacritic}/gu, '') : text;
414
414
  }
415
- /** Method that resets the dropdown without emitting an event. */
416
- internalReset() {
417
- this.getChildren().forEach((element) => {
418
- element.setSelected(false);
419
- return element;
420
- });
421
- this.value = null;
422
- this.setValueAttribute();
423
- }
424
- selectChildrenAsSelectedBasedOnSelectionProp() {
425
- this.getChildren().forEach((element) => {
426
- this.value.forEach((selection) => {
427
- if (element.value !== selection) {
428
- // If not multiselect, we need to unselect all other options.
429
- if (!this.multiselect) {
430
- element.setSelected(false);
431
- }
432
- }
433
- else {
434
- element.setSelected(true);
435
- }
436
- });
437
- });
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
+ }
438
425
  }
439
426
  componentDidRender() {
440
427
  const form = this.host.closest('form');
@@ -449,11 +436,10 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
449
436
  }
450
437
  }
451
438
  render() {
452
- var _a, _b, _c;
453
- appendHiddenInput(this.host, this.name, this.value ? convertArrayToStrings(this.value).join(',') : null, this.disabled);
454
- return (h(Host, { key: '0bb6532a6a87ba128f556022792fe5afb3e3e482', role: "select", class: {
439
+ appendHiddenInput(this.host, this.name, this.selectedOptions.join(','), this.disabled);
440
+ return (h(Host, { key: '490d34545b3a09c3b4342fa09d38f6bf9c782498', role: "select", class: {
455
441
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
456
- } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'c65377474abaae962436d53b42e19eeda2bcdda6', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '80d21a17eef6a3d8ff7f73e5a52a744ae4aa08b6', class: {
442
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '7eb96c0134032654df98a3b68ffb692a2cd91d2b', class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '439fddb188ad65239e9d5451a82ab3bbe8f47fb7', class: {
457
443
  'dropdown-select': true,
458
444
  [this.size]: true,
459
445
  'disabled': this.disabled,
@@ -465,7 +451,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
465
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: `
466
452
  label-inside-as-placeholder
467
453
  ${this.size}
468
- ${((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) ? 'selected' : ''}
454
+ ${this.selectedOptions.length ? 'selected' : ''}
469
455
  ` }, this.label)), h("input", {
470
456
  // eslint-disable-next-line no-return-assign
471
457
  ref: (inputEl) => (this.inputElement = inputEl), class: {
@@ -476,15 +462,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
476
462
  this.inputElement.value = this.getValue();
477
463
  }
478
464
  this.handleBlur(event);
479
- }, onFocus: (event) => {
480
- this.open = true;
481
- this.filterFocus = true;
482
- if (this.multiselect) {
483
- this.inputElement.value = '';
484
- }
485
- this.handleFocus(event);
486
- this.handleFilter({ target: { value: '' } });
487
- }, onKeyDown: (event) => {
465
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
488
466
  if (event.key === 'Escape') {
489
467
  this.open = false;
490
468
  }
@@ -504,17 +482,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
504
482
  if (event.key === 'Escape') {
505
483
  this.open = false;
506
484
  }
507
- }, class: {
508
- value: Boolean(this.value),
509
- placeholder: Boolean(!this.value),
510
- open: this.open,
511
- closed: !this.open,
512
- error: this.error,
513
- }, 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: {
514
- 'label-inside-as-placeholder': true,
515
- [this.size]: true,
516
- 'selected': Boolean((_b = this.value) === null || _b === void 0 ? void 0 : _b.length),
517
- } }, this.label)), h("div", { class: `placeholder ${this.size}` }, ((_c = this.value) === null || _c === void 0 ? void 0 : _c.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: '1f1c87b17a78c2a65add834208f487c6e9a4f77e', ref: (element) => {
485
+ }, class: `
486
+ ${this.selectedOptions.length ? 'value' : 'placeholder'}
487
+ ${this.open ? 'open' : 'closed'}
488
+ ${this.error ? 'error' : ''}
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: `
490
+ label-inside-as-placeholder
491
+ ${this.size}
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) => {
518
494
  this.dropdownList = element;
519
495
  }, class: {
520
496
  'dropdown-list': true,
@@ -525,14 +501,15 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
525
501
  'closed': !this.open,
526
502
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
527
503
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
528
- } }, h("slot", { key: '6eb6b21f865702aa56af12b9e54bdb2c6c7c8cc2', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '58c15bd69f38c001e0d6c74466ddfe97d6d77a79', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'cc7e1a7f988e6bc61f3bacb7dd9a564b6c1f738d', class: {
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: {
529
505
  helper: true,
530
506
  error: this.error,
531
507
  disabled: this.disabled,
532
- } }, this.error && h("tds-icon", { key: 'ffd574d493f3bbaa37ddc7b14a8372ba4b23bd70', name: "error", size: "16px" }), this.helper))));
508
+ } }, this.error && h("tds-icon", { key: 'c0eb10dfeaa5236f5ac02dabf44329e85d52dcda', name: "error", size: "16px" }), this.helper))));
533
509
  }
534
510
  get host() { return this; }
535
511
  static get watchers() { return {
512
+ "value": ["handleValueChange"],
536
513
  "open": ["handleOpenState"],
537
514
  "defaultValue": ["handleDefaultValueChange"]
538
515
  }; }
@@ -554,18 +531,21 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
554
531
  "normalizeText": [4, "normalize-text"],
555
532
  "noResultText": [1, "no-result-text"],
556
533
  "defaultValue": [8, "default-value"],
534
+ "value": [1032],
557
535
  "open": [32],
558
- "value": [32],
536
+ "internalValue": [32],
559
537
  "filterResult": [32],
560
538
  "filterFocus": [32],
561
539
  "internalDefaultValue": [32],
562
- "reset": [64],
563
- "focusElement": [64],
540
+ "selectedOptions": [32],
564
541
  "setValue": [64],
565
- "appendValue": [64],
542
+ "reset": [64],
566
543
  "removeValue": [64],
567
- "close": [64]
544
+ "focusElement": [64],
545
+ "close": [64],
546
+ "appendValue": [64]
568
547
  }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
548
+ "value": ["handleValueChange"],
569
549
  "open": ["handleOpenState"],
570
550
  "defaultValue": ["handleDefaultValueChange"]
571
551
  }]);
@@ -28,7 +28,6 @@ const TdsCheckbox = /*@__PURE__*/ proxyCustomElement(class TdsCheckbox extends H
28
28
  this.checked = false;
29
29
  this.indeterminate = false;
30
30
  this.value = undefined;
31
- this.tdsAriaLabel = undefined;
32
31
  }
33
32
  /** Toggles the checked value of the component. */
34
33
  async toggleCheckbox() {
@@ -58,18 +57,11 @@ const TdsCheckbox = /*@__PURE__*/ proxyCustomElement(class TdsCheckbox extends H
58
57
  }
59
58
  }
60
59
  render() {
61
- const hasLabeledAndDescribedBy = this.host.getAttribute('aria-describedby') && this.host.getAttribute('aria-labelledby');
62
- if (!hasLabeledAndDescribedBy) {
63
- console.warn('Tegel Checkbox component: aria-describedby or aria-labelledby attributes are missing');
64
- }
65
- if (!this.tdsAriaLabel) {
66
- console.warn('Tegel Checkbox component: tdsAriaLabel prop is missing');
67
- }
68
- return (h("div", { key: 'f1c340b184303bc6491e5acc59871fe9299b9cbd', class: "tds-checkbox" }, h("input", { key: 'ba26505ae4562a3b8ffe81345c0b55813b78e922',
60
+ return (h("div", { key: '7362e4e69df24e5615f9f23fe8bc9b72b29cf525', class: "tds-checkbox" }, h("input", { key: '43f2b6070677645ad7bc9c47e2bd65df43735eff',
69
61
  // eslint-disable-next-line no-return-assign
70
- ref: (inputElement) => (this.inputElement = inputElement), indeterminate: this.indeterminate, "aria-checked": this.checked, "aria-required": this.required, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), "aria-label": this.tdsAriaLabel, required: this.required, type: "checkbox", name: this.name, value: this.value, id: this.checkboxId, checked: this.checked, disabled: this.disabled, onFocus: (event) => this.handleFocus(event), onBlur: (event) => this.handleBlur(event), onChange: () => {
62
+ ref: (inputElement) => (this.inputElement = inputElement), indeterminate: this.indeterminate, "aria-checked": this.checked, "aria-required": this.required, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), required: this.required, type: "checkbox", name: this.name, value: this.value, id: this.checkboxId, checked: this.checked, disabled: this.disabled, onFocus: (event) => this.handleFocus(event), onBlur: (event) => this.handleBlur(event), onChange: () => {
71
63
  this.handleChange();
72
- } }), h("label", { key: '9a9aaa5fe978b03a801f84d78fbb96e8c66197c9', htmlFor: this.checkboxId }, h("slot", { key: 'd2a162c770ad0c43ae680012e0699154019f3c1c', name: "label" }))));
64
+ } }), h("label", { key: 'caaa642c85a0d2913441c0e7baa3ca28e9b3a7a8', htmlFor: this.checkboxId }, h("slot", { key: '12d411bbcd3baa9ed43cec5d4d25a1ad4c982ce5', name: "label" }))));
73
65
  }
74
66
  get host() { return this; }
75
67
  static get watchers() { return {
@@ -84,7 +76,6 @@ const TdsCheckbox = /*@__PURE__*/ proxyCustomElement(class TdsCheckbox extends H
84
76
  "checked": [1540],
85
77
  "indeterminate": [1028],
86
78
  "value": [1],
87
- "tdsAriaLabel": [1, "tds-aria-label"],
88
79
  "toggleCheckbox": [64]
89
80
  }, [[4, "reset", "handleFormReset"]], {
90
81
  "indeterminate": ["handleIndeterminateState"]
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { d as dfs } from './p-52bf0fdf.js';
3
- import { d as defineCustomElement$1 } from './p-707a562e.js';
3
+ import { d as defineCustomElement$1 } from './p-e49a0ceb.js';
4
4
 
5
5
  const headerItemCss = ":host ::slotted(button),:host ::slotted(a){all:unset;box-sizing:border-box;background-color:var(--tds-header-background);border-right:1px solid var(--tds-header--basic-element-border);width:100%;height:100%;cursor:pointer;padding:0 24px;display:flex;align-items:center;gap:8px}:host ::slotted(button) *,:host ::slotted(a) *{box-sizing:border-box}:host ::slotted(button:hover),:host ::slotted(a:hover){background-color:var(--tds-header-item-hover)}:host ::slotted(button:focus-visible),:host ::slotted(a:focus-visible){outline:2px solid var(--tds-blue-400);outline-offset:-2px}:host .component-active ::slotted(button),:host .component-active ::slotted(a){background-color:var(--tds-header--basic-element-background-open);color:var(--tds-header-nav-item-dropdown-opened-color);border-color:var(--tds-header--basic-element-border-open)}:host .component-selected:not(.component-active) ::slotted(button),:host .component-selected:not(.component-active) ::slotted(a){background-color:var(--tds-header--basic-element-background-selected);padding-top:4px;border-bottom-style:solid;border-bottom-width:4px;border-bottom-color:var(--tds-nav-item-border-color-active)}";
6
6
  const TdsHeaderItemStyle0 = headerItemCss;
@@ -36,16 +36,53 @@ const TdsHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsHeaderItem exten
36
36
  this.updateSlotted(isImage, addImageClass);
37
37
  }
38
38
  }
39
+ /**
40
+ * Read the native "order" attribute on the host and update the CSS order accordingly.
41
+ * If the attribute "order" has the value "end", the order is set to 1. Otherwise, 0.
42
+ */
43
+ updateOrder() {
44
+ const orderValue = this.host.getAttribute('order');
45
+ switch (orderValue) {
46
+ case 'end':
47
+ this.host.style.order = '1';
48
+ break;
49
+ case 'start':
50
+ case null:
51
+ default:
52
+ this.host.style.order = '0';
53
+ break;
54
+ }
55
+ }
39
56
  componentDidLoad() {
40
57
  this.slotEl = this.host.shadowRoot.querySelector('slot');
41
58
  this.updateSlottedElements();
42
59
  this.slotEl.addEventListener('slotchange', this.updateSlottedElements);
60
+ // Set the order on initial load.
61
+ this.updateOrder();
62
+ // Create a MutationObserver to listen for changes on the "order" attribute.
63
+ this.mutationObserver = new MutationObserver((mutations) => {
64
+ mutations.forEach((mutation) => {
65
+ if (mutation.type === 'attributes' && mutation.attributeName === 'order') {
66
+ this.updateOrder();
67
+ }
68
+ });
69
+ });
70
+ // Start observing the host element for attribute changes (specifically "order").
71
+ this.mutationObserver.observe(this.host, {
72
+ attributes: true,
73
+ attributeFilter: ['order'],
74
+ });
75
+ }
76
+ disconnectedCallback() {
77
+ if (this.mutationObserver) {
78
+ this.mutationObserver.disconnect();
79
+ }
43
80
  }
44
81
  render() {
45
- return (h(Host, { key: '7317ab5668685390e2671908dd41855715267b1c' }, h("tds-core-header-item", { key: 'befc861a437912245c22413bbf774617fa84b289', class: {
82
+ return (h(Host, { key: '04494c94f296aeaed5dc491c2ebf31450e15efc1' }, h("tds-core-header-item", { key: '8a699bc7134795ca9670a0f21a688dc3efadd51a', class: {
46
83
  'component-active': this.active,
47
84
  'component-selected': this.selected,
48
- } }, h("slot", { key: 'f4405b3881dc0d6e4b86f96aa90d0b045c7bf2d8' }))));
85
+ } }, h("slot", { key: 'd0c443c281df9015bbdbffd1b56035d2c7e0cca2' }))));
49
86
  }
50
87
  get host() { return this; }
51
88
  static get style() { return TdsHeaderItemStyle0; }
@@ -10,7 +10,7 @@ const TdsCoreHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsCoreHeaderIt
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'a97f1ad7ef0398e2414f62374e69a738f8af8e18' }, h("div", { key: '3fd840c4cd4a7bd5bf27c3039c246f2faa085d51', class: "item" }, h("slot", { key: '5d521057588befd7509318ba5f053c6204e7344b' }))));
13
+ return (h(Host, { key: '6d8190cb3f2b389127bef36f6fa72da8d9486e5a' }, h("div", { key: 'f254e9b56d7cd61d0e9ee0d63de39cbaa9d63935', class: "item" }, h("slot", { key: '4c4dcb455f9964ad3310e269b5d00098e8d8cea9' }))));
14
14
  }
15
15
  static get style() { return TdsCoreHeaderItemStyle0; }
16
16
  }, [1, "tds-core-header-item"]);
@@ -11,7 +11,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends H {
11
11
  this.orientation = 'horizontal';
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: 'a6195d6461fc6727d9e83c4152f446179160963f', role: "separator", "aria-orientation": this.orientation === 'vertical' ? 'vertical' : undefined }, h("div", { key: 'f1cf2f97534adfe809f8ddda734cfdbcecd7989a', class: `divider ${this.orientation}` })));
14
+ return (h(Host, { key: 'da07834ddc86e611803422b2a756c76109034fbf', role: "separator", "aria-orientation": this.orientation === 'vertical' ? 'vertical' : undefined }, h("div", { key: '90671868ed03281cfbd821cdb7057d4e79d790c3', class: `divider ${this.orientation}` })));
15
15
  }
16
16
  static get style() { return TdsDividerStyle0; }
17
17
  }, [1, "tds-divider", {