@scania/tegel 1.42.0 → 1.44.0-sonarcloud-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 (499) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-accordion-item.cjs.entry.js +3 -3
  3. package/dist/cjs/tds-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/tds-banner.cjs.entry.js +2 -2
  5. package/dist/cjs/tds-block.cjs.entry.js +1 -1
  6. package/dist/cjs/tds-body-cell.cjs.entry.js +6 -5
  7. package/dist/cjs/tds-breadcrumbs.cjs.entry.js +1 -1
  8. package/dist/cjs/tds-button_2.cjs.entry.js +7 -5
  9. package/dist/cjs/tds-card.cjs.entry.js +2 -2
  10. package/dist/cjs/tds-checkbox.cjs.entry.js +5 -4
  11. package/dist/cjs/tds-chip.cjs.entry.js +1 -1
  12. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +9 -5
  13. package/dist/cjs/tds-datetime.cjs.entry.js +10 -7
  14. package/dist/cjs/tds-dropdown_2.cjs.entry.js +55 -37
  15. package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -2
  16. package/dist/cjs/tds-folder-tabs.cjs.entry.js +16 -5
  17. package/dist/cjs/tds-footer-group.cjs.entry.js +7 -6
  18. package/dist/cjs/tds-footer-item.cjs.entry.js +6 -2
  19. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  20. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +2 -2
  21. package/dist/cjs/tds-header-cell.cjs.entry.js +11 -6
  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 +5 -3
  25. package/dist/cjs/tds-header-dropdown.cjs.entry.js +8 -6
  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.cjs.entry.js +1 -1
  29. package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +1 -1
  30. package/dist/cjs/tds-header-launcher.cjs.entry.js +9 -5
  31. package/dist/cjs/tds-header-title.cjs.entry.js +1 -1
  32. package/dist/cjs/tds-header.cjs.entry.js +9 -7
  33. package/dist/cjs/tds-icon.cjs.entry.js +2 -3
  34. package/dist/cjs/tds-inline-tab.cjs.entry.js +2 -2
  35. package/dist/cjs/tds-inline-tabs.cjs.entry.js +14 -4
  36. package/dist/cjs/tds-link.cjs.entry.js +2 -2
  37. package/dist/cjs/tds-message.cjs.entry.js +3 -3
  38. package/dist/cjs/tds-modal.cjs.entry.js +8 -7
  39. package/dist/cjs/tds-navigation-tab.cjs.entry.js +2 -2
  40. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +16 -6
  41. package/dist/cjs/tds-popover-canvas.cjs.entry.js +4 -4
  42. package/dist/cjs/tds-popover-core.cjs.entry.js +19 -17
  43. package/dist/cjs/tds-popover-menu.cjs.entry.js +4 -4
  44. package/dist/cjs/tds-radio-button.cjs.entry.js +4 -1
  45. package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
  46. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +5 -4
  47. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +13 -9
  48. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +3 -3
  49. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +9 -5
  50. package/dist/cjs/tds-side-menu-item.cjs.entry.js +15 -9
  51. package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +2 -2
  52. package/dist/cjs/tds-side-menu-user.cjs.entry.js +1 -1
  53. package/dist/cjs/tds-side-menu.cjs.entry.js +13 -10
  54. package/dist/cjs/tds-slider.cjs.entry.js +27 -16
  55. package/dist/cjs/tds-step.cjs.entry.js +3 -1
  56. package/dist/cjs/tds-stepper.cjs.entry.js +1 -1
  57. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  58. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +17 -10
  59. package/dist/cjs/tds-table-body-row.cjs.entry.js +8 -5
  60. package/dist/cjs/tds-table-body.cjs.entry.js +10 -6
  61. package/dist/cjs/tds-table-footer.cjs.entry.js +16 -9
  62. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  63. package/dist/cjs/tds-table-header.cjs.entry.js +24 -18
  64. package/dist/cjs/tds-table-toolbar.cjs.entry.js +6 -4
  65. package/dist/cjs/tds-table.cjs.entry.js +17 -15
  66. package/dist/cjs/tds-tag.cjs.entry.js +1 -1
  67. package/dist/cjs/tds-text-field.cjs.entry.js +49 -23
  68. package/dist/cjs/tds-textarea.cjs.entry.js +7 -6
  69. package/dist/cjs/tds-toast.cjs.entry.js +3 -3
  70. package/dist/cjs/tds-toggle.cjs.entry.js +5 -4
  71. package/dist/cjs/tds-tooltip.cjs.entry.js +7 -10
  72. package/dist/cjs/tegel.cjs.js +1 -1
  73. package/dist/collection/collection-manifest.json +1 -1
  74. package/dist/collection/components/accordion/accordion-item/accordion-item.js +3 -3
  75. package/dist/collection/components/accordion/accordion.js +4 -4
  76. package/dist/collection/components/banner/banner.js +8 -8
  77. package/dist/collection/components/block/block.js +3 -3
  78. package/dist/collection/components/breadcrumbs/breadcrumbs.js +3 -3
  79. package/dist/collection/components/button/button.js +17 -15
  80. package/dist/collection/components/card/card.js +12 -12
  81. package/dist/collection/components/checkbox/checkbox.js +14 -13
  82. package/dist/collection/components/chip/chip.js +11 -11
  83. package/dist/collection/components/datetime/datetime.js +20 -17
  84. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +14 -11
  85. package/dist/collection/components/dropdown/dropdown.css +2 -1
  86. package/dist/collection/components/dropdown/dropdown.js +62 -49
  87. package/dist/collection/components/footer/footer-group/footer-group.js +11 -10
  88. package/dist/collection/components/footer/footer-item/footer-item.js +6 -2
  89. package/dist/collection/components/footer/footer.js +4 -4
  90. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +2 -2
  91. package/dist/collection/components/header/header-dropdown/header-dropdown.css +2 -1
  92. package/dist/collection/components/header/header-dropdown/header-dropdown.js +11 -9
  93. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +5 -3
  94. package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +2 -2
  95. package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +9 -9
  96. package/dist/collection/components/header/header-hamburger/header-hamburger.js +3 -3
  97. package/dist/collection/components/header/header-item/header-item.js +9 -5
  98. package/dist/collection/components/header/header-launcher/header-launcher.css +2 -1
  99. package/dist/collection/components/header/header-launcher/header-launcher.js +10 -6
  100. package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +3 -3
  101. package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +1 -1
  102. package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +1 -1
  103. package/dist/collection/components/header/header-title/header-title.css +1 -1
  104. package/dist/collection/components/header/header.css +2 -1
  105. package/dist/collection/components/header/header.js +8 -6
  106. package/dist/collection/components/icon/icon.js +4 -5
  107. package/dist/collection/components/link/link.js +2 -2
  108. package/dist/collection/components/message/message.css +3 -2
  109. package/dist/collection/components/message/message.js +8 -8
  110. package/dist/collection/components/modal/modal.css +2 -3
  111. package/dist/collection/components/modal/modal.js +20 -15
  112. package/dist/collection/components/popover-canvas/popover-canvas.js +11 -11
  113. package/dist/collection/components/popover-core/popover-core.js +31 -34
  114. package/dist/collection/components/popover-menu/popover-menu.js +11 -11
  115. package/dist/collection/components/radio-button/radio-button.js +14 -11
  116. package/dist/collection/components/side-menu/side-menu-close-button/side-menu-close-button.js +1 -1
  117. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +5 -4
  118. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +11 -7
  119. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +3 -3
  120. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +13 -9
  121. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +15 -9
  122. package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +7 -7
  123. package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +5 -5
  124. package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +3 -3
  125. package/dist/collection/components/side-menu/side-menu.css +2 -1
  126. package/dist/collection/components/side-menu/side-menu.js +12 -9
  127. package/dist/collection/components/slider/slider.js +27 -16
  128. package/dist/collection/components/stepper/step/step.js +7 -5
  129. package/dist/collection/components/stepper/stepper.js +1 -1
  130. package/dist/collection/components/table/table/table.css +2 -1
  131. package/dist/collection/components/table/table/table.js +40 -22
  132. package/dist/collection/components/table/table-body/table-body.js +10 -6
  133. package/dist/collection/components/table/table-body-cell/table-body-cell.js +22 -15
  134. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  135. package/dist/collection/components/table/table-body-row/table-body-row.js +13 -10
  136. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +25 -18
  137. package/dist/collection/components/table/table-footer/table-footer.js +21 -14
  138. package/dist/collection/components/table/table-header/table-header.js +29 -23
  139. package/dist/collection/components/table/table-header-cell/table-header-cell.js +31 -20
  140. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  141. package/dist/collection/components/table/table-toolbar/table-toolbar.js +8 -6
  142. package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +2 -2
  143. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +22 -11
  144. package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +2 -2
  145. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +18 -8
  146. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +2 -2
  147. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +20 -10
  148. package/dist/collection/components/tag/tag.js +1 -1
  149. package/dist/collection/components/text-field/text-field.css +8 -0
  150. package/dist/collection/components/text-field/text-field.js +109 -34
  151. package/dist/collection/components/textarea/textarea.js +19 -18
  152. package/dist/collection/components/toast/toast.js +9 -9
  153. package/dist/collection/components/toggle/toggle.js +11 -10
  154. package/dist/collection/components/tooltip/tooltip.js +14 -17
  155. package/dist/collection/tegel-lite/components/tl-dropdown/_dropdownKeyboard.js +190 -0
  156. package/dist/collection/tegel-lite/components/tl-dropdown/_dropdownScripts.js +304 -0
  157. package/dist/collection/utils/appendHiddenInput.js +6 -4
  158. package/dist/components/{p-3f2187a4.js → p-0f9ce30b.js} +1 -1
  159. package/dist/components/{p-3a7e4d0d.js → p-122f8027.js} +54 -26
  160. package/dist/components/{p-f7d94947.js → p-2d8f385e.js} +2 -3
  161. package/dist/components/{p-bff614d5.js → p-32351d04.js} +1 -1
  162. package/dist/components/{p-63552d0e.js → p-49b20476.js} +5 -5
  163. package/dist/components/{p-7c3348eb.js → p-4c0aa33f.js} +9 -5
  164. package/dist/components/{p-04a014cf.js → p-4f672d4f.js} +8 -11
  165. package/dist/components/{p-44f5b5e1.js → p-542226b2.js} +5 -4
  166. package/dist/components/{p-1dafdc8c.js → p-5725d7a2.js} +15 -9
  167. package/dist/components/{p-5ea0ae00.js → p-6fa6de6f.js} +46 -31
  168. package/dist/components/{p-6ef207b2.js → p-b6a99457.js} +12 -9
  169. package/dist/components/{p-de86852a.js → p-e0997ae2.js} +2 -2
  170. package/dist/components/{p-3308d5fa.js → p-e62ed985.js} +19 -17
  171. package/dist/components/{p-d10d21bd.js → p-f2a10fa2.js} +3 -3
  172. package/dist/components/{p-c62b61fe.js → p-f6685f1b.js} +7 -5
  173. package/dist/components/{p-9336db16.js → p-f8db4031.js} +5 -3
  174. package/dist/components/tds-accordion-item.js +4 -4
  175. package/dist/components/tds-accordion.js +2 -2
  176. package/dist/components/tds-banner.js +3 -3
  177. package/dist/components/tds-block.js +1 -1
  178. package/dist/components/tds-body-cell.js +7 -6
  179. package/dist/components/tds-breadcrumbs.js +1 -1
  180. package/dist/components/tds-button.js +1 -1
  181. package/dist/components/tds-card.js +4 -4
  182. package/dist/components/tds-checkbox.js +1 -1
  183. package/dist/components/tds-chip.js +1 -1
  184. package/dist/components/tds-datetime.js +11 -8
  185. package/dist/components/tds-dropdown-option.js +1 -1
  186. package/dist/components/tds-dropdown.js +1 -1
  187. package/dist/components/tds-folder-tab.js +2 -2
  188. package/dist/components/tds-folder-tabs.js +17 -6
  189. package/dist/components/tds-footer-group.js +8 -7
  190. package/dist/components/tds-footer-item.js +6 -2
  191. package/dist/components/tds-footer.js +2 -2
  192. package/dist/components/tds-header-brand-symbol.js +3 -3
  193. package/dist/components/tds-header-cell.js +12 -7
  194. package/dist/components/tds-header-dropdown-list-item.js +1 -1
  195. package/dist/components/tds-header-dropdown-list-user.js +1 -1
  196. package/dist/components/tds-header-dropdown-list.js +1 -1
  197. package/dist/components/tds-header-dropdown.js +12 -10
  198. package/dist/components/tds-header-hamburger.js +3 -3
  199. package/dist/components/tds-header-item.js +1 -1
  200. package/dist/components/tds-header-launcher-button.js +1 -1
  201. package/dist/components/tds-header-launcher-grid.js +1 -1
  202. package/dist/components/tds-header-launcher-list-item.js +1 -1
  203. package/dist/components/tds-header-launcher-list-title.js +1 -1
  204. package/dist/components/tds-header-launcher-list.js +1 -1
  205. package/dist/components/tds-header-launcher.js +14 -10
  206. package/dist/components/tds-header-title.js +1 -1
  207. package/dist/components/tds-header.js +9 -7
  208. package/dist/components/tds-icon.js +1 -1
  209. package/dist/components/tds-inline-tab.js +2 -2
  210. package/dist/components/tds-inline-tabs.js +15 -5
  211. package/dist/components/tds-link.js +2 -2
  212. package/dist/components/tds-message.js +4 -4
  213. package/dist/components/tds-modal.js +9 -8
  214. package/dist/components/tds-navigation-tab.js +2 -2
  215. package/dist/components/tds-navigation-tabs.js +17 -7
  216. package/dist/components/tds-popover-canvas.js +1 -1
  217. package/dist/components/tds-popover-core.js +1 -1
  218. package/dist/components/tds-popover-menu.js +5 -5
  219. package/dist/components/tds-radio-button.js +4 -1
  220. package/dist/components/tds-side-menu-close-button.js +2 -2
  221. package/dist/components/tds-side-menu-collapse-button.js +6 -5
  222. package/dist/components/tds-side-menu-dropdown-list-item.js +13 -9
  223. package/dist/components/tds-side-menu-dropdown-list.js +3 -3
  224. package/dist/components/tds-side-menu-dropdown.js +11 -7
  225. package/dist/components/tds-side-menu-item.js +1 -1
  226. package/dist/components/tds-side-menu-user-image.js +1 -1
  227. package/dist/components/tds-side-menu-user-label.js +1 -1
  228. package/dist/components/tds-side-menu-user.js +3 -3
  229. package/dist/components/tds-side-menu.js +13 -10
  230. package/dist/components/tds-slider.js +31 -20
  231. package/dist/components/tds-step.js +4 -2
  232. package/dist/components/tds-stepper.js +1 -1
  233. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  234. package/dist/components/tds-table-body-row-expandable.js +17 -10
  235. package/dist/components/tds-table-body-row.js +9 -6
  236. package/dist/components/tds-table-body.js +10 -6
  237. package/dist/components/tds-table-footer.js +20 -13
  238. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  239. package/dist/components/tds-table-header.js +25 -19
  240. package/dist/components/tds-table-toolbar.js +7 -5
  241. package/dist/components/tds-table.js +17 -15
  242. package/dist/components/tds-tag.js +1 -1
  243. package/dist/components/tds-text-field.js +1 -1
  244. package/dist/components/tds-textarea.js +10 -9
  245. package/dist/components/tds-toast.js +4 -4
  246. package/dist/components/tds-toggle.js +5 -4
  247. package/dist/components/tds-tooltip.js +1 -1
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/tds-accordion-item.entry.js +3 -3
  250. package/dist/esm/tds-accordion.entry.js +2 -2
  251. package/dist/esm/tds-banner.entry.js +2 -2
  252. package/dist/esm/tds-block.entry.js +1 -1
  253. package/dist/esm/tds-body-cell.entry.js +6 -5
  254. package/dist/esm/tds-breadcrumbs.entry.js +1 -1
  255. package/dist/esm/tds-button_2.entry.js +7 -5
  256. package/dist/esm/tds-card.entry.js +2 -2
  257. package/dist/esm/tds-checkbox.entry.js +5 -4
  258. package/dist/esm/tds-chip.entry.js +1 -1
  259. package/dist/esm/tds-core-header-item_2.entry.js +9 -5
  260. package/dist/esm/tds-datetime.entry.js +10 -7
  261. package/dist/esm/tds-dropdown_2.entry.js +55 -37
  262. package/dist/esm/tds-folder-tab.entry.js +2 -2
  263. package/dist/esm/tds-folder-tabs.entry.js +16 -5
  264. package/dist/esm/tds-footer-group.entry.js +7 -6
  265. package/dist/esm/tds-footer-item.entry.js +6 -2
  266. package/dist/esm/tds-footer.entry.js +2 -2
  267. package/dist/esm/tds-header-brand-symbol.entry.js +2 -2
  268. package/dist/esm/tds-header-cell.entry.js +11 -6
  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 +5 -3
  272. package/dist/esm/tds-header-dropdown.entry.js +8 -6
  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.entry.js +1 -1
  276. package/dist/esm/tds-header-launcher-list-title.entry.js +1 -1
  277. package/dist/esm/tds-header-launcher.entry.js +9 -5
  278. package/dist/esm/tds-header-title.entry.js +1 -1
  279. package/dist/esm/tds-header.entry.js +9 -7
  280. package/dist/esm/tds-icon.entry.js +2 -3
  281. package/dist/esm/tds-inline-tab.entry.js +2 -2
  282. package/dist/esm/tds-inline-tabs.entry.js +14 -4
  283. package/dist/esm/tds-link.entry.js +2 -2
  284. package/dist/esm/tds-message.entry.js +3 -3
  285. package/dist/esm/tds-modal.entry.js +8 -7
  286. package/dist/esm/tds-navigation-tab.entry.js +2 -2
  287. package/dist/esm/tds-navigation-tabs.entry.js +16 -6
  288. package/dist/esm/tds-popover-canvas.entry.js +4 -4
  289. package/dist/esm/tds-popover-core.entry.js +19 -17
  290. package/dist/esm/tds-popover-menu.entry.js +4 -4
  291. package/dist/esm/tds-radio-button.entry.js +4 -1
  292. package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
  293. package/dist/esm/tds-side-menu-collapse-button.entry.js +5 -4
  294. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +13 -9
  295. package/dist/esm/tds-side-menu-dropdown-list.entry.js +3 -3
  296. package/dist/esm/tds-side-menu-dropdown.entry.js +9 -5
  297. package/dist/esm/tds-side-menu-item.entry.js +15 -9
  298. package/dist/esm/tds-side-menu-user-image_2.entry.js +2 -2
  299. package/dist/esm/tds-side-menu-user.entry.js +1 -1
  300. package/dist/esm/tds-side-menu.entry.js +13 -10
  301. package/dist/esm/tds-slider.entry.js +27 -16
  302. package/dist/esm/tds-step.entry.js +3 -1
  303. package/dist/esm/tds-stepper.entry.js +1 -1
  304. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  305. package/dist/esm/tds-table-body-row-expandable.entry.js +17 -10
  306. package/dist/esm/tds-table-body-row.entry.js +8 -5
  307. package/dist/esm/tds-table-body.entry.js +10 -6
  308. package/dist/esm/tds-table-footer.entry.js +16 -9
  309. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  310. package/dist/esm/tds-table-header.entry.js +24 -18
  311. package/dist/esm/tds-table-toolbar.entry.js +6 -4
  312. package/dist/esm/tds-table.entry.js +17 -15
  313. package/dist/esm/tds-tag.entry.js +1 -1
  314. package/dist/esm/tds-text-field.entry.js +49 -23
  315. package/dist/esm/tds-textarea.entry.js +7 -6
  316. package/dist/esm/tds-toast.entry.js +3 -3
  317. package/dist/esm/tds-toggle.entry.js +5 -4
  318. package/dist/esm/tds-tooltip.entry.js +7 -10
  319. package/dist/esm/tegel.js +1 -1
  320. package/dist/tegel/p-066e9613.entry.js +1 -0
  321. package/dist/tegel/p-0684b6d3.entry.js +1 -0
  322. package/dist/tegel/p-078217d1.entry.js +1 -0
  323. package/dist/tegel/{p-7887bdbb.entry.js → p-07d16763.entry.js} +1 -1
  324. package/dist/tegel/{p-c2e514b4.entry.js → p-08c993f3.entry.js} +1 -1
  325. package/dist/tegel/p-08f5a526.entry.js +1 -0
  326. package/dist/tegel/p-0e3fcc9f.entry.js +1 -0
  327. package/dist/tegel/{p-646d1df4.entry.js → p-10340b85.entry.js} +1 -1
  328. package/dist/tegel/{p-f2318c88.entry.js → p-106dd3e9.entry.js} +1 -1
  329. package/dist/tegel/p-1073fb33.entry.js +1 -0
  330. package/dist/tegel/p-15ae9443.entry.js +1 -0
  331. package/dist/tegel/p-15b9a73b.entry.js +1 -0
  332. package/dist/tegel/p-17893043.entry.js +1 -0
  333. package/dist/tegel/p-25928640.entry.js +1 -0
  334. package/dist/tegel/p-25c4e6f6.entry.js +1 -0
  335. package/dist/tegel/{p-650b98bf.entry.js → p-27369d6a.entry.js} +1 -1
  336. package/dist/tegel/{p-f31f56fe.entry.js → p-300af79f.entry.js} +1 -1
  337. package/dist/tegel/p-336abf3f.entry.js +1 -0
  338. package/dist/tegel/p-38725623.entry.js +1 -0
  339. package/dist/tegel/{p-72006dd7.entry.js → p-3ba2e575.entry.js} +1 -1
  340. package/dist/tegel/p-419212b5.entry.js +1 -0
  341. package/dist/tegel/p-4909249c.entry.js +1 -0
  342. package/dist/tegel/p-4a10393b.entry.js +1 -0
  343. package/dist/tegel/{p-c6968db1.entry.js → p-4a32a7f8.entry.js} +1 -1
  344. package/dist/tegel/{p-987f8f0f.entry.js → p-4a7c213f.entry.js} +1 -1
  345. package/dist/tegel/p-4abe96b6.entry.js +1 -0
  346. package/dist/tegel/p-508a55c0.entry.js +1 -0
  347. package/dist/tegel/p-576a60ff.entry.js +1 -0
  348. package/dist/tegel/{p-ca32a270.entry.js → p-57a2d4de.entry.js} +1 -1
  349. package/dist/tegel/p-5b80467f.entry.js +1 -0
  350. package/dist/tegel/{p-ca16f1ed.entry.js → p-5bab691f.entry.js} +1 -1
  351. package/dist/tegel/{p-655051b6.entry.js → p-608997fa.entry.js} +1 -1
  352. package/dist/tegel/p-63f77d7c.entry.js +1 -0
  353. package/dist/tegel/p-6bb6425c.entry.js +1 -0
  354. package/dist/tegel/{p-e6e9d11f.entry.js → p-739068bf.entry.js} +1 -1
  355. package/dist/tegel/{p-88bb1059.entry.js → p-79fb0088.entry.js} +1 -1
  356. package/dist/tegel/p-8e930da5.entry.js +1 -0
  357. package/dist/tegel/p-947ec2b0.entry.js +1 -0
  358. package/dist/tegel/p-9ec850a5.entry.js +1 -0
  359. package/dist/tegel/p-9f154997.entry.js +1 -0
  360. package/dist/tegel/p-a00ad341.entry.js +1 -0
  361. package/dist/tegel/p-a15280db.entry.js +1 -0
  362. package/dist/tegel/p-a2aaf61c.entry.js +1 -0
  363. package/dist/tegel/p-aa795666.entry.js +1 -0
  364. package/dist/tegel/{p-f8a37d39.entry.js → p-bc697ea7.entry.js} +1 -1
  365. package/dist/tegel/p-bf40233e.entry.js +1 -0
  366. package/dist/tegel/{p-177386d5.entry.js → p-c05f61d6.entry.js} +1 -1
  367. package/dist/tegel/{p-b7abb81f.entry.js → p-c2ab817d.entry.js} +1 -1
  368. package/dist/tegel/p-c4719b10.entry.js +1 -0
  369. package/dist/tegel/p-c66b99a8.entry.js +1 -0
  370. package/dist/tegel/p-c7be09fc.entry.js +1 -0
  371. package/dist/tegel/p-c8fd6b3b.entry.js +1 -0
  372. package/dist/tegel/p-caadaf33.entry.js +1 -0
  373. package/dist/tegel/p-ce6faf0e.entry.js +1 -0
  374. package/dist/tegel/p-d031a7ca.entry.js +1 -0
  375. package/dist/tegel/{p-57a28f62.entry.js → p-da72f897.entry.js} +1 -1
  376. package/dist/tegel/{p-ceed0476.entry.js → p-dc93c6e5.entry.js} +1 -1
  377. package/dist/tegel/p-ded1191e.entry.js +1 -0
  378. package/dist/tegel/p-e2a6c30c.entry.js +1 -0
  379. package/dist/tegel/p-e2db17a5.entry.js +1 -0
  380. package/dist/tegel/{p-bcd5e06d.entry.js → p-e40d454d.entry.js} +1 -1
  381. package/dist/tegel/p-e53da1e5.entry.js +1 -0
  382. package/dist/tegel/{p-e8b58680.entry.js → p-e64c36a3.entry.js} +1 -1
  383. package/dist/tegel/p-e71f56c7.entry.js +1 -0
  384. package/dist/tegel/p-ebf13d81.entry.js +1 -0
  385. package/dist/tegel/{p-28f85555.entry.js → p-ede87410.entry.js} +1 -1
  386. package/dist/tegel/{p-4b5e15cc.entry.js → p-f1d58cbf.entry.js} +1 -1
  387. package/dist/tegel/p-f3cf4eba.entry.js +1 -0
  388. package/dist/tegel/{p-771f53c2.entry.js → p-fc26fb72.entry.js} +1 -1
  389. package/dist/tegel/p-fd077a19.entry.js +1 -0
  390. package/dist/tegel/tegel.css +1 -1
  391. package/dist/tegel/tegel.esm.js +1 -1
  392. package/dist/types/components/accordion/accordion.d.ts +1 -1
  393. package/dist/types/components/banner/banner.d.ts +3 -3
  394. package/dist/types/components/block/block.d.ts +1 -1
  395. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +1 -1
  396. package/dist/types/components/button/button.d.ts +5 -5
  397. package/dist/types/components/card/card.d.ts +5 -5
  398. package/dist/types/components/checkbox/checkbox.d.ts +4 -4
  399. package/dist/types/components/chip/chip.d.ts +5 -5
  400. package/dist/types/components/datetime/datetime.d.ts +6 -6
  401. package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +2 -2
  402. package/dist/types/components/dropdown/dropdown.d.ts +14 -14
  403. package/dist/types/components/footer/footer-group/footer-group.d.ts +2 -2
  404. package/dist/types/components/footer/footer.d.ts +1 -1
  405. package/dist/types/components/header/header-dropdown/header-dropdown.d.ts +2 -2
  406. package/dist/types/components/header/header-dropdown-list-user/header-dropdown-list-user.d.ts +4 -4
  407. package/dist/types/components/header/header-hamburger/header-hamburger.d.ts +1 -1
  408. package/dist/types/components/header/header-launcher/header-launcher.d.ts +1 -1
  409. package/dist/types/components/header/header-launcher-button/header-launcher-button.d.ts +1 -1
  410. package/dist/types/components/header/header-launcher-grid/header-launcher-grid.d.ts +1 -1
  411. package/dist/types/components/icon/icon.d.ts +1 -1
  412. package/dist/types/components/message/message.d.ts +3 -3
  413. package/dist/types/components/modal/modal.d.ts +4 -4
  414. package/dist/types/components/popover-canvas/popover-canvas.d.ts +3 -3
  415. package/dist/types/components/popover-core/popover-core.d.ts +5 -5
  416. package/dist/types/components/popover-menu/popover-menu.d.ts +3 -3
  417. package/dist/types/components/radio-button/radio-button.d.ts +5 -5
  418. package/dist/types/components/side-menu/side-menu-dropdown/side-menu-dropdown.d.ts +1 -1
  419. package/dist/types/components/side-menu/side-menu-user/side-menu-user.d.ts +3 -3
  420. package/dist/types/components/side-menu/side-menu-user-image/side-menu-user-image.d.ts +2 -2
  421. package/dist/types/components/side-menu/side-menu-user-label/side-menu-user-label.d.ts +1 -1
  422. package/dist/types/components/slider/slider-stories-setup.d.ts +1 -1
  423. package/dist/types/components/stepper/step/step.d.ts +6 -6
  424. package/dist/types/components/table/table/table.d.ts +8 -4
  425. package/dist/types/components/table/table-body/table-body.d.ts +3 -3
  426. package/dist/types/components/table/table-body-cell/table-body-cell.d.ts +12 -9
  427. package/dist/types/components/table/table-body-input-wrapper/table-body-input-wrapper.d.ts +1 -1
  428. package/dist/types/components/table/table-body-row/table-body-row.d.ts +5 -5
  429. package/dist/types/components/table/table-body-row-expandable/table-body-row-expandable.d.ts +8 -8
  430. package/dist/types/components/table/table-footer/table-footer.d.ts +4 -4
  431. package/dist/types/components/table/table-header/table-header.d.ts +6 -6
  432. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +11 -11
  433. package/dist/types/components/table/table-header-input-wrapper/table-header-input-wrapper.d.ts +1 -1
  434. package/dist/types/components/table/table-toolbar/table-toolbar.d.ts +4 -4
  435. package/dist/types/components/tabs/folder-tabs/folder-tab/folder-tab.d.ts +1 -1
  436. package/dist/types/components/tabs/folder-tabs/folder-tabs.d.ts +3 -3
  437. package/dist/types/components/tabs/inline-tabs/inline-tabs.d.ts +2 -2
  438. package/dist/types/components/tabs/navigation-tabs/navigation-tabs.d.ts +2 -2
  439. package/dist/types/components/text-field/text-field.d.ts +18 -7
  440. package/dist/types/components/textarea/textarea.d.ts +7 -7
  441. package/dist/types/components/toast/toast.d.ts +3 -3
  442. package/dist/types/components/toggle/toggle.d.ts +3 -3
  443. package/dist/types/components/tooltip/tooltip.d.ts +3 -3
  444. package/dist/types/components.d.ts +207 -184
  445. package/dist/types/tegel-lite/components/tl-dropdown/_dropdownKeyboard.d.ts +1 -0
  446. package/dist/types/tegel-lite/components/tl-dropdown/_dropdownScripts.d.ts +4 -0
  447. package/dist/types/types/Attributes.d.ts +1 -1
  448. package/dist/types/utils/appendHiddenInput.d.ts +1 -1
  449. package/dist/types/utils/findNextFocusableElement.d.ts +1 -1
  450. package/dist/types/utils/findPreviousFocusableElement.d.ts +1 -1
  451. package/dist/types/utils/getNextNestedChildOfSiblingsMatching.d.ts +1 -1
  452. package/dist/types/utils/getPreviousNestedChildOfSiblingsMatching.d.ts +1 -1
  453. package/package.json +14 -20
  454. package/dist/tegel/p-0672ddfc.entry.js +0 -1
  455. package/dist/tegel/p-08ad6a21.entry.js +0 -1
  456. package/dist/tegel/p-08f63e5d.entry.js +0 -1
  457. package/dist/tegel/p-09cd056c.entry.js +0 -1
  458. package/dist/tegel/p-0c9a51d9.entry.js +0 -1
  459. package/dist/tegel/p-0cfe8671.entry.js +0 -1
  460. package/dist/tegel/p-0e772ad7.entry.js +0 -1
  461. package/dist/tegel/p-17bc1e49.entry.js +0 -1
  462. package/dist/tegel/p-1859156f.entry.js +0 -1
  463. package/dist/tegel/p-1b471db7.entry.js +0 -1
  464. package/dist/tegel/p-1f4267a8.entry.js +0 -1
  465. package/dist/tegel/p-24a76927.entry.js +0 -1
  466. package/dist/tegel/p-354d3986.entry.js +0 -1
  467. package/dist/tegel/p-379df59b.entry.js +0 -1
  468. package/dist/tegel/p-3c97cb45.entry.js +0 -1
  469. package/dist/tegel/p-3e6d65ee.entry.js +0 -1
  470. package/dist/tegel/p-445fa788.entry.js +0 -1
  471. package/dist/tegel/p-464469fe.entry.js +0 -1
  472. package/dist/tegel/p-4de2807c.entry.js +0 -1
  473. package/dist/tegel/p-51a17707.entry.js +0 -1
  474. package/dist/tegel/p-52689019.entry.js +0 -1
  475. package/dist/tegel/p-5c8fd75e.entry.js +0 -1
  476. package/dist/tegel/p-6b340718.entry.js +0 -1
  477. package/dist/tegel/p-743d4f07.entry.js +0 -1
  478. package/dist/tegel/p-77cfb0ef.entry.js +0 -1
  479. package/dist/tegel/p-7b598e60.entry.js +0 -1
  480. package/dist/tegel/p-7ef50e7f.entry.js +0 -1
  481. package/dist/tegel/p-8c2695af.entry.js +0 -1
  482. package/dist/tegel/p-9b635e01.entry.js +0 -1
  483. package/dist/tegel/p-9f187848.entry.js +0 -1
  484. package/dist/tegel/p-9fdc8fa5.entry.js +0 -1
  485. package/dist/tegel/p-a090bd2f.entry.js +0 -1
  486. package/dist/tegel/p-a56436c8.entry.js +0 -1
  487. package/dist/tegel/p-ab00e6e4.entry.js +0 -1
  488. package/dist/tegel/p-b210d23c.entry.js +0 -1
  489. package/dist/tegel/p-c0cbc9f5.entry.js +0 -1
  490. package/dist/tegel/p-c23a3f12.entry.js +0 -1
  491. package/dist/tegel/p-cc962b6c.entry.js +0 -1
  492. package/dist/tegel/p-cf717912.entry.js +0 -1
  493. package/dist/tegel/p-cfd7ed1a.entry.js +0 -1
  494. package/dist/tegel/p-d1d45942.entry.js +0 -1
  495. package/dist/tegel/p-d7cdbc4e.entry.js +0 -1
  496. package/dist/tegel/p-e5b796e7.entry.js +0 -1
  497. package/dist/tegel/p-eb91e33b.entry.js +0 -1
  498. package/dist/tegel/p-f3c32d4d.entry.js +0 -1
  499. package/dist/tegel/p-fd15ced7.entry.js +0 -1
@@ -5,6 +5,7 @@ import inheritAttributes from "../../utils/inheritAttributes";
5
5
  */
6
6
  export class TdsTooltip {
7
7
  constructor() {
8
+ this.border = '';
8
9
  this.popperjsExtraModifiers = [
9
10
  {
10
11
  name: 'positionCalc',
@@ -29,7 +30,7 @@ export class TdsTooltip {
29
30
  },
30
31
  },
31
32
  ];
32
- this.inheritedAttributes = [];
33
+ this.inheritedAttributes = {};
33
34
  this.text = '';
34
35
  this.selector = undefined;
35
36
  this.referenceEl = undefined;
@@ -58,20 +59,16 @@ export class TdsTooltip {
58
59
  }
59
60
  render() {
60
61
  var _a;
61
- return (h(Host, { key: '69ced518e10ea5d65da8266257d7f7bba5db3f63', role: "tooltip", "aria-describedby": this.tdsAriaDescribedby, "aria-label": this.text }, h("tds-popover-core", Object.assign({ key: '9511b6fb5dcd5a270de5b6f9b50b40271b4f5030' }, this.inheritedAttributes, { class: {
62
+ return (h(Host, { key: '49b74045dffd614a85e5749c0f3e22a5c825b12a', role: "tooltip", "aria-describedby": this.tdsAriaDescribedby, "aria-label": this.text }, h("tds-popover-core", Object.assign({ key: '8b02fca65300f241ddeb938977f6260477f10804' }, this.inheritedAttributes, { class: {
62
63
  'tds-tooltip': true,
63
64
  [`tds-tooltip-${this.border}`]: true,
64
65
  [(_a = this.inheritedAttributes.class) !== null && _a !== void 0 ? _a : '']: true,
65
- 'tds-tooltip-show': this.show,
66
- }, selector: this.selector, referenceEl: this.referenceEl, trigger: this.determineTrigger(), modifiers: this.popperjsExtraModifiers, offsetSkidding: this.offsetSkidding, offsetDistance: this.offsetDistance, show: this.show, placement: this.placement, autoHide: false,
67
- // @ts-ignore
68
- onInternalTdsShow: () => {
66
+ 'tds-tooltip-show': !!this.show,
67
+ }, selector: this.selector, referenceEl: this.referenceEl, trigger: this.determineTrigger(), modifiers: this.popperjsExtraModifiers, offsetSkidding: this.offsetSkidding, offsetDistance: this.offsetDistance, show: this.show, placement: this.placement, autoHide: false, onInternalTdsShow: () => {
69
68
  this.show = true;
70
- },
71
- // @ts-ignore
72
- onInternalTdsClose: () => {
69
+ }, onInternalTdsClose: () => {
73
70
  this.show = false;
74
- }, defaultShow: this.defaultShow }), this.text, h("slot", { key: '8fb6467b2d1fa2ce6a70a171966ff245f8205b55' }))));
71
+ }, defaultShow: this.defaultShow }), this.text, h("slot", { key: '3dc322ae67df156173931c052dfd97b4f7fb8acb' }))));
75
72
  }
76
73
  static get is() { return "tds-tooltip"; }
77
74
  static get encapsulation() { return "scoped"; }
@@ -110,11 +107,11 @@ export class TdsTooltip {
110
107
  "mutable": false,
111
108
  "complexType": {
112
109
  "original": "string",
113
- "resolved": "string",
110
+ "resolved": "string | undefined",
114
111
  "references": {}
115
112
  },
116
113
  "required": false,
117
- "optional": false,
114
+ "optional": true,
118
115
  "docs": {
119
116
  "tags": [],
120
117
  "text": "The CSS-selector for an element that will trigger the Tooltip"
@@ -127,7 +124,7 @@ export class TdsTooltip {
127
124
  "mutable": false,
128
125
  "complexType": {
129
126
  "original": "HTMLElement | null",
130
- "resolved": "HTMLElement",
127
+ "resolved": "HTMLElement | null | undefined",
131
128
  "references": {
132
129
  "HTMLElement": {
133
130
  "location": "global",
@@ -200,8 +197,8 @@ export class TdsTooltip {
200
197
  "type": "boolean",
201
198
  "mutable": true,
202
199
  "complexType": {
203
- "original": "boolean",
204
- "resolved": "boolean",
200
+ "original": "boolean | null",
201
+ "resolved": "boolean | null",
205
202
  "references": {}
206
203
  },
207
204
  "required": false,
@@ -279,11 +276,11 @@ export class TdsTooltip {
279
276
  "mutable": false,
280
277
  "complexType": {
281
278
  "original": "string",
282
- "resolved": "string",
279
+ "resolved": "string | undefined",
283
280
  "references": {}
284
281
  },
285
282
  "required": false,
286
- "optional": false,
283
+ "optional": true,
287
284
  "docs": {
288
285
  "tags": [],
289
286
  "text": "Sets the aria-describedby attribute"
@@ -0,0 +1,190 @@
1
+ // ============================================================================
2
+ // Dropdown Keyboard Navigation
3
+ // Handles arrow keys, Enter, Space, Tab, and Escape for all dropdown variants
4
+ // ============================================================================
5
+ let initialized = false;
6
+ export function initDropdownKeyboard() {
7
+ if (initialized)
8
+ return;
9
+ initialized = true;
10
+ // ============================================================================
11
+ // Handler for when dropdown list is open
12
+ // ============================================================================
13
+ const handleOpenListKeydown = (e) => {
14
+ const openTrigger = document.querySelector('.tl-dropdown__button[aria-expanded="true"], .tl-dropdown__input[aria-expanded="true"]');
15
+ if (!openTrigger)
16
+ return;
17
+ const root = openTrigger.closest('.tl-dropdown');
18
+ const openList = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__list');
19
+ if (!openList)
20
+ return;
21
+ const isDropUp = root === null || root === void 0 ? void 0 : root.classList.contains('tl-dropdown--dropup');
22
+ const isMultiSelect = openList.getAttribute('aria-multiselectable') === 'true';
23
+ const isFilterDropdown = !!(root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__input'));
24
+ const options = Array.from(openList.querySelectorAll('.tl-dropdown__option')).filter((option) => {
25
+ const el = option;
26
+ return (!el.classList.contains('tl-dropdown__option--disabled') &&
27
+ !el.classList.contains('tl-dropdown__option--no-result') &&
28
+ el.style.display !== 'none');
29
+ });
30
+ if (!options.length)
31
+ return;
32
+ const { activeElement } = document;
33
+ const currentIndex = options.findIndex((option) => option === activeElement);
34
+ const focusOption = (index) => {
35
+ if (index < 0 || index >= options.length)
36
+ return;
37
+ options[index].focus();
38
+ };
39
+ if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
40
+ e.preventDefault();
41
+ if (isFilterDropdown && activeElement === openTrigger) {
42
+ const isArrowDown = e.key === 'ArrowDown';
43
+ const firstIndex = isArrowDown
44
+ ? isDropUp
45
+ ? options.length - 1
46
+ : 0
47
+ : isDropUp
48
+ ? 0
49
+ : options.length - 1;
50
+ focusOption(firstIndex);
51
+ return;
52
+ }
53
+ const direction = e.key === 'ArrowDown' ? 1 : -1;
54
+ let nextIndex = currentIndex;
55
+ if (currentIndex === -1) {
56
+ const isArrowDown = e.key === 'ArrowDown';
57
+ nextIndex = isArrowDown
58
+ ? isDropUp
59
+ ? options.length - 1
60
+ : 0
61
+ : isDropUp
62
+ ? 0
63
+ : options.length - 1;
64
+ }
65
+ else {
66
+ nextIndex = currentIndex + (isDropUp ? -direction : direction);
67
+ }
68
+ if (nextIndex >= options.length)
69
+ nextIndex = 0;
70
+ if (nextIndex < 0)
71
+ nextIndex = options.length - 1;
72
+ focusOption(nextIndex);
73
+ return;
74
+ }
75
+ if (e.key === 'Enter' || e.key === ' ') {
76
+ const focusedOption = options[currentIndex];
77
+ if (!focusedOption)
78
+ return;
79
+ if (isMultiSelect)
80
+ return;
81
+ e.preventDefault();
82
+ focusedOption.click();
83
+ if (openTrigger)
84
+ openTrigger.setAttribute('aria-expanded', 'false');
85
+ if (!isFilterDropdown) {
86
+ openTrigger === null || openTrigger === void 0 ? void 0 : openTrigger.focus();
87
+ }
88
+ return;
89
+ }
90
+ if (e.key === 'Tab') {
91
+ if (isFilterDropdown) {
92
+ const inputWrapper = openTrigger.parentElement;
93
+ const clearButton = inputWrapper === null || inputWrapper === void 0 ? void 0 : inputWrapper.querySelector('.tl-dropdown__input-clear');
94
+ const clearButtonTabindex = clearButton === null || clearButton === void 0 ? void 0 : clearButton.getAttribute('tabindex');
95
+ const canFocusClearButton = clearButton && clearButtonTabindex === '0';
96
+ if (currentIndex >= 0) {
97
+ if (!e.shiftKey && canFocusClearButton) {
98
+ e.preventDefault();
99
+ clearButton === null || clearButton === void 0 ? void 0 : clearButton.focus();
100
+ return;
101
+ }
102
+ return;
103
+ }
104
+ return;
105
+ }
106
+ e.preventDefault();
107
+ const movingForward = isDropUp ? e.shiftKey : !e.shiftKey;
108
+ const nextIndex = movingForward ? currentIndex + 1 : currentIndex - 1;
109
+ if (nextIndex >= options.length || nextIndex < 0) {
110
+ if (openTrigger)
111
+ openTrigger.setAttribute('aria-expanded', 'false');
112
+ openTrigger === null || openTrigger === void 0 ? void 0 : openTrigger.focus();
113
+ return;
114
+ }
115
+ focusOption(nextIndex);
116
+ return;
117
+ }
118
+ if (e.key === 'Escape') {
119
+ e.preventDefault();
120
+ if (openTrigger)
121
+ openTrigger.setAttribute('aria-expanded', 'false');
122
+ openTrigger === null || openTrigger === void 0 ? void 0 : openTrigger.focus();
123
+ }
124
+ };
125
+ const handleTriggerKeydown = (e) => {
126
+ var _a;
127
+ const trigger = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest('.tl-dropdown__button, .tl-dropdown__input');
128
+ if (!trigger)
129
+ return;
130
+ const root = trigger.closest('.tl-dropdown');
131
+ const list = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__list');
132
+ if (!list)
133
+ return;
134
+ const isDropUp = root === null || root === void 0 ? void 0 : root.classList.contains('tl-dropdown--dropup');
135
+ const isOpen = trigger.getAttribute('aria-expanded') === 'true';
136
+ const options = Array.from(list.querySelectorAll('.tl-dropdown__option')).filter((option) => {
137
+ const el = option;
138
+ return !el.classList.contains('tl-dropdown__option--disabled') && el.style.display !== 'none';
139
+ });
140
+ if (!options.length)
141
+ return;
142
+ if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && !isOpen) {
143
+ e.preventDefault();
144
+ trigger.setAttribute('aria-expanded', 'true');
145
+ const firstIndex = isDropUp ? options.length - 1 : 0;
146
+ options[firstIndex].focus();
147
+ }
148
+ };
149
+ const handleClearButtonKeydown = (e) => {
150
+ const target = e.target;
151
+ if (!target.classList.contains('tl-dropdown__input-clear'))
152
+ return;
153
+ if (e.key === 'Enter' || e.key === ' ') {
154
+ e.preventDefault();
155
+ e.stopPropagation();
156
+ target.click();
157
+ }
158
+ if (e.key === 'Tab' && e.shiftKey) {
159
+ const root = target.closest('.tl-dropdown');
160
+ const list = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__list');
161
+ if (list) {
162
+ const options = Array.from(list.querySelectorAll('.tl-dropdown__option')).filter((option) => {
163
+ const el = option;
164
+ return (!el.classList.contains('tl-dropdown__option--disabled') &&
165
+ !el.classList.contains('tl-dropdown__option--no-result') &&
166
+ el.style.display !== 'none');
167
+ });
168
+ if (options.length > 0) {
169
+ e.preventDefault();
170
+ options[options.length - 1].focus();
171
+ }
172
+ }
173
+ }
174
+ };
175
+ const handleClearButtonFocus = (e) => {
176
+ var _a;
177
+ const target = e.target;
178
+ if (!target.classList.contains('tl-dropdown__input-clear'))
179
+ return;
180
+ const input = (_a = target
181
+ .closest('.tl-dropdown__input-wrapper')) === null || _a === void 0 ? void 0 : _a.querySelector('.tl-dropdown__input');
182
+ if (input) {
183
+ input.setAttribute('aria-expanded', 'true');
184
+ }
185
+ };
186
+ document.addEventListener('keydown', handleOpenListKeydown);
187
+ document.addEventListener('keydown', handleTriggerKeydown);
188
+ document.addEventListener('keydown', handleClearButtonKeydown);
189
+ document.addEventListener('focus', handleClearButtonFocus, true);
190
+ }
@@ -0,0 +1,304 @@
1
+ function setupOptionTabindex(container, selector = '.tl-dropdown__option', disableCheckboxes = false) {
2
+ container.querySelectorAll(selector).forEach((option) => {
3
+ const isDisabled = option.classList.contains('tl-dropdown__option--disabled');
4
+ option.setAttribute('tabindex', isDisabled ? '-1' : '0');
5
+ if (disableCheckboxes) {
6
+ const checkbox = option.querySelector('.tl-checkbox__input');
7
+ if (checkbox)
8
+ checkbox.setAttribute('tabindex', '-1');
9
+ }
10
+ });
11
+ }
12
+ function setupClickOutside(root, closeCallback) {
13
+ document.addEventListener('click', (e) => {
14
+ if (!root.contains(e.target))
15
+ closeCallback();
16
+ });
17
+ root.addEventListener('focusout', (e) => {
18
+ setTimeout(() => {
19
+ if (!root.contains(e.relatedTarget))
20
+ closeCallback();
21
+ }, 20);
22
+ });
23
+ }
24
+ function handleKeyboardSelection(e, selector, callback) {
25
+ var _a;
26
+ if (e.key === 'Enter' || e.key === ' ') {
27
+ const focusedOption = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest(selector);
28
+ if (focusedOption) {
29
+ e.preventDefault();
30
+ callback(focusedOption);
31
+ }
32
+ }
33
+ }
34
+ function createToggleDropdown(trigger) {
35
+ return () => {
36
+ const isOpen = trigger.getAttribute('aria-expanded') === 'true';
37
+ trigger.setAttribute('aria-expanded', isOpen ? 'false' : 'true');
38
+ };
39
+ }
40
+ function createCloseDropdown(trigger) {
41
+ return () => trigger.setAttribute('aria-expanded', 'false');
42
+ }
43
+ function getSelectedCheckboxLabels(container) {
44
+ return Array.from(container.querySelectorAll('.tl-checkbox__input:checked'))
45
+ .map((checkbox) => {
46
+ var _a, _b;
47
+ const label = (_a = checkbox.closest('.tl-dropdown__option')) === null || _a === void 0 ? void 0 : _a.querySelector('.tl-checkbox__label');
48
+ return ((_b = label === null || label === void 0 ? void 0 : label.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || '';
49
+ })
50
+ .filter(Boolean)
51
+ .join(', ');
52
+ }
53
+ function setupInputWrapperToggle(inputWrapper, input, openDropdown, closeDropdown, filterOptions) {
54
+ inputWrapper === null || inputWrapper === void 0 ? void 0 : inputWrapper.addEventListener('mousedown', (e) => {
55
+ const target = e.target;
56
+ if (target === input || target.closest('.tl-dropdown__input-clear') || input.disabled)
57
+ return;
58
+ e.preventDefault();
59
+ e.stopPropagation();
60
+ const isOpen = input.getAttribute('aria-expanded') === 'true';
61
+ if (isOpen) {
62
+ closeDropdown();
63
+ input.blur();
64
+ }
65
+ else {
66
+ openDropdown();
67
+ input.focus();
68
+ filterOptions();
69
+ }
70
+ });
71
+ }
72
+ function setupClearButton(clearButton, callback) {
73
+ clearButton === null || clearButton === void 0 ? void 0 : clearButton.addEventListener('click', (e) => {
74
+ e.preventDefault();
75
+ e.stopPropagation();
76
+ callback();
77
+ });
78
+ }
79
+ function createUpdateClearButtonTabindex(input, clearButton) {
80
+ return () => {
81
+ const isVisible = input.getAttribute('aria-expanded') === 'true' && input.value.trim() !== '';
82
+ clearButton === null || clearButton === void 0 ? void 0 : clearButton.setAttribute('tabindex', isVisible ? '0' : '-1');
83
+ };
84
+ }
85
+ function setupInputEvents(input, openDropdown, filterOptions, updateClearButtonTabindex, getInitialValue) {
86
+ input.addEventListener('focus', () => {
87
+ openDropdown();
88
+ const initialValue = getInitialValue === null || getInitialValue === void 0 ? void 0 : getInitialValue();
89
+ if (initialValue)
90
+ input.value = '';
91
+ filterOptions();
92
+ updateClearButtonTabindex();
93
+ });
94
+ input.addEventListener('input', () => {
95
+ filterOptions();
96
+ updateClearButtonTabindex();
97
+ });
98
+ input.addEventListener('keydown', (e) => {
99
+ if (e.key === 'Tab')
100
+ updateClearButtonTabindex();
101
+ });
102
+ }
103
+ function setupListClickHandler(list, selector, callback, preventDefault = false) {
104
+ list.addEventListener('click', (e) => {
105
+ const clickedOption = e.target.closest(selector);
106
+ if (clickedOption) {
107
+ if (preventDefault)
108
+ e.preventDefault();
109
+ callback(clickedOption);
110
+ }
111
+ });
112
+ }
113
+ function createCheckboxToggleHandler(updateDisplay) {
114
+ return (option) => {
115
+ const checkbox = option.querySelector('.tl-checkbox__input');
116
+ if (checkbox) {
117
+ checkbox.checked = !checkbox.checked;
118
+ option.classList.toggle('tl-dropdown__option--selected', checkbox.checked);
119
+ updateDisplay();
120
+ const changeEvent = new Event('change', { bubbles: true });
121
+ checkbox.dispatchEvent(changeEvent);
122
+ }
123
+ };
124
+ }
125
+ function setupButtonDropdownEvents(button, toggleDropdown, root, closeDropdown) {
126
+ button.addEventListener('click', (e) => {
127
+ e.stopPropagation();
128
+ toggleDropdown();
129
+ });
130
+ setupClickOutside(root, closeDropdown);
131
+ }
132
+ export function tlDropdownSingleScriptDemo(menuId) {
133
+ const list = document.getElementById(menuId);
134
+ if (!list)
135
+ return;
136
+ const root = list.closest('.tl-dropdown');
137
+ const button = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__button');
138
+ const textDisplay = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__text');
139
+ if (!root || !button)
140
+ return;
141
+ setupOptionTabindex(list);
142
+ const toggleDropdown = createToggleDropdown(button);
143
+ const closeDropdown = createCloseDropdown(button);
144
+ const selectOption = (selectedOption) => {
145
+ var _a;
146
+ list.querySelectorAll('.tl-dropdown__option').forEach((option) => {
147
+ option.classList.remove('tl-dropdown__option--selected');
148
+ });
149
+ selectedOption.classList.add('tl-dropdown__option--selected');
150
+ if (textDisplay)
151
+ textDisplay.textContent = ((_a = selectedOption.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
152
+ closeDropdown();
153
+ button.focus();
154
+ };
155
+ setupButtonDropdownEvents(button, toggleDropdown, root, closeDropdown);
156
+ setupListClickHandler(list, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', selectOption);
157
+ list.addEventListener('keydown', (e) => handleKeyboardSelection(e, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', selectOption));
158
+ }
159
+ export function tlDropdownMultiScriptDemo(menuId) {
160
+ const list = document.getElementById(menuId);
161
+ if (!list)
162
+ return;
163
+ const root = list.closest('.tl-dropdown');
164
+ const button = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__button');
165
+ const textDisplay = root === null || root === void 0 ? void 0 : root.querySelector('.tl-dropdown__text');
166
+ if (!root || !button)
167
+ return;
168
+ setupOptionTabindex(list, '.tl-dropdown__option', true);
169
+ const toggleDropdown = createToggleDropdown(button);
170
+ const closeDropdown = createCloseDropdown(button);
171
+ const updateDisplay = () => {
172
+ if (textDisplay)
173
+ textDisplay.textContent = getSelectedCheckboxLabels(list);
174
+ };
175
+ const handleOptionToggle = createCheckboxToggleHandler(updateDisplay);
176
+ setupButtonDropdownEvents(button, toggleDropdown, root, closeDropdown);
177
+ setupListClickHandler(list, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', handleOptionToggle, true);
178
+ list.addEventListener('keydown', (e) => handleKeyboardSelection(e, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', handleOptionToggle));
179
+ }
180
+ export function tlDropdownFilterSingleScriptDemo(listId, inputId) {
181
+ const list = document.getElementById(listId);
182
+ const input = document.getElementById(inputId);
183
+ if (!list || !input)
184
+ return;
185
+ const root = list.closest('.tl-dropdown');
186
+ const inputWrapper = input.parentElement;
187
+ const clearButton = inputWrapper === null || inputWrapper === void 0 ? void 0 : inputWrapper.querySelector('.tl-dropdown__input-clear');
188
+ const noResultMessage = list.querySelector('.tl-dropdown__option--no-result');
189
+ const options = Array.from(list.querySelectorAll('.tl-dropdown__option:not(.tl-dropdown__option--no-result)'));
190
+ setupOptionTabindex(list, '.tl-dropdown__option:not(.tl-dropdown__option--no-result)');
191
+ if (noResultMessage)
192
+ noResultMessage.setAttribute('tabindex', '-1');
193
+ let selectedValue = '';
194
+ const openDropdown = () => input.setAttribute('aria-expanded', 'true');
195
+ const closeDropdown = createCloseDropdown(input);
196
+ const updateClearButtonTabindex = createUpdateClearButtonTabindex(input, clearButton);
197
+ const filterOptions = () => {
198
+ const searchQuery = input.value.toLowerCase().trim();
199
+ let visibleCount = 0;
200
+ options.forEach((option) => {
201
+ var _a;
202
+ const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
203
+ const isVisible = !searchQuery || optionText.toLowerCase().includes(searchQuery);
204
+ option.style.display = isVisible ? '' : 'none';
205
+ if (isVisible)
206
+ visibleCount++;
207
+ });
208
+ const showNoResults = !!searchQuery && visibleCount === 0;
209
+ if (noResultMessage) {
210
+ noResultMessage.style.display = showNoResults ? '' : 'none';
211
+ }
212
+ };
213
+ const selectOption = (selectedOption) => {
214
+ var _a;
215
+ options.forEach((option) => {
216
+ option.classList.remove('tl-dropdown__option--selected');
217
+ });
218
+ selectedOption.classList.add('tl-dropdown__option--selected');
219
+ selectedValue = ((_a = selectedOption.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
220
+ input.value = selectedValue;
221
+ input.blur();
222
+ };
223
+ const handleClearButton = () => {
224
+ selectedValue = '';
225
+ input.value = '';
226
+ input.focus();
227
+ filterOptions();
228
+ updateClearButtonTabindex();
229
+ };
230
+ setupClearButton(clearButton, handleClearButton);
231
+ setupInputWrapperToggle(inputWrapper, input, openDropdown, closeDropdown, filterOptions);
232
+ setupInputEvents(input, openDropdown, filterOptions, updateClearButtonTabindex, () => selectedValue);
233
+ setupListClickHandler(list, '.tl-dropdown__option:not(.tl-dropdown__option--no-result):not(.tl-dropdown__option--disabled)', selectOption, true);
234
+ root === null || root === void 0 ? void 0 : root.addEventListener('focusout', (e) => {
235
+ setTimeout(() => {
236
+ const newFocus = e.relatedTarget || document.activeElement;
237
+ const isClearButton = clearButton && newFocus === clearButton;
238
+ if (!root.contains(newFocus) && !isClearButton) {
239
+ closeDropdown();
240
+ if (selectedValue)
241
+ input.value = selectedValue;
242
+ }
243
+ }, 20);
244
+ });
245
+ filterOptions();
246
+ updateClearButtonTabindex();
247
+ }
248
+ export function tlDropdownFilterMultiScriptDemo(listId, inputId) {
249
+ const list = document.getElementById(listId);
250
+ const input = document.getElementById(inputId);
251
+ if (!list || !input)
252
+ return;
253
+ const root = list.closest('.tl-dropdown');
254
+ const inputWrapper = input.parentElement;
255
+ const clearButton = inputWrapper === null || inputWrapper === void 0 ? void 0 : inputWrapper.querySelector('.tl-dropdown__input-clear');
256
+ const options = Array.from(list.querySelectorAll('.tl-dropdown__option'));
257
+ setupOptionTabindex(list, '.tl-dropdown__option', true);
258
+ const openDropdown = () => input.setAttribute('aria-expanded', 'true');
259
+ const closeDropdown = createCloseDropdown(input);
260
+ const updateClearButtonTabindex = createUpdateClearButtonTabindex(input, clearButton);
261
+ const getSelectedValues = () => getSelectedCheckboxLabels(list);
262
+ const filterOptions = () => {
263
+ const searchQuery = input.value.toLowerCase().trim();
264
+ options.forEach((option) => {
265
+ var _a;
266
+ const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
267
+ const isVisible = !searchQuery || optionText.toLowerCase().includes(searchQuery);
268
+ option.style.display = isVisible ? '' : 'none';
269
+ });
270
+ };
271
+ const updateDisplay = () => {
272
+ input.value = getSelectedValues();
273
+ updateClearButtonTabindex();
274
+ };
275
+ const handleClearButton = () => {
276
+ list.querySelectorAll('.tl-checkbox__input:checked').forEach((cb) => {
277
+ var _a;
278
+ cb.checked = false;
279
+ (_a = cb.closest('.tl-dropdown__option')) === null || _a === void 0 ? void 0 : _a.classList.remove('tl-dropdown__option--selected');
280
+ });
281
+ input.value = '';
282
+ input.focus();
283
+ filterOptions();
284
+ updateClearButtonTabindex();
285
+ };
286
+ const handleOptionToggle = createCheckboxToggleHandler(updateDisplay);
287
+ setupClearButton(clearButton, handleClearButton);
288
+ setupInputWrapperToggle(inputWrapper, input, openDropdown, closeDropdown, filterOptions);
289
+ setupInputEvents(input, openDropdown, filterOptions, updateClearButtonTabindex, getSelectedValues);
290
+ setupListClickHandler(list, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', handleOptionToggle, true);
291
+ list.addEventListener('keydown', (e) => handleKeyboardSelection(e, '.tl-dropdown__option:not(.tl-dropdown__option--disabled)', handleOptionToggle));
292
+ root === null || root === void 0 ? void 0 : root.addEventListener('focusout', (e) => {
293
+ setTimeout(() => {
294
+ const newFocus = e.relatedTarget || document.activeElement;
295
+ const isClearButton = clearButton && newFocus === clearButton;
296
+ if (!root.contains(newFocus) && !isClearButton) {
297
+ closeDropdown();
298
+ input.value = getSelectedValues();
299
+ }
300
+ }, 20);
301
+ });
302
+ filterOptions();
303
+ updateClearButtonTabindex();
304
+ }
@@ -14,12 +14,14 @@ const appendHiddenInput = (element, name, value, disabled, additionalAttributes)
14
14
  input = element.ownerDocument.createElement('input');
15
15
  input.type = 'hidden';
16
16
  if (additionalAttributes) {
17
- additionalAttributes.forEach((attr) => input.setAttribute(attr.key, attr.value));
17
+ additionalAttributes.forEach((attr) => input === null || input === void 0 ? void 0 : input.setAttribute(attr.key, attr.value));
18
18
  }
19
19
  element.appendChild(input);
20
20
  }
21
- input.disabled = disabled;
22
- input.name = name;
23
- input.value = value || '';
21
+ if (input) {
22
+ input.disabled = disabled;
23
+ input.name = name || '';
24
+ input.value = value || '';
25
+ }
24
26
  };
25
27
  export default appendHiddenInput;
@@ -12,7 +12,7 @@ const TdsSideMenuUserLabel = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuU
12
12
  this.subheading = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: '5b045eb527ee378f50f6a1bec3a383b9c0f352ef' }, this.heading, this.subheading && h("div", { key: '3e106d0bdbe62438e8d2edbf73f43324cb78ffdd', class: "subheading" }, this.subheading)));
15
+ return (h(Host, { key: '30326793059e4e25b3c769e94b22780a37754ba4' }, this.heading, this.subheading && h("div", { key: 'e3912bf0571bb8ef67ebea53d37547a0a9284bf7', class: "subheading" }, this.subheading)));
16
16
  }
17
17
  static get style() { return TdsSideMenuUserLabelStyle0; }
18
18
  }, [1, "tds-side-menu-user-label", {