@scania/tegel 1.41.0 → 1.42.0-sass-migration-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 (358) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tds-accordion.cjs.entry.js +2 -2
  3. package/dist/cjs/tds-block.cjs.entry.js +1 -1
  4. package/dist/cjs/tds-body-cell.cjs.entry.js +4 -3
  5. package/dist/cjs/tds-button_2.cjs.entry.js +7 -5
  6. package/dist/cjs/tds-card.cjs.entry.js +2 -2
  7. package/dist/cjs/tds-checkbox.cjs.entry.js +5 -4
  8. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +9 -5
  9. package/dist/cjs/tds-datetime.cjs.entry.js +8 -5
  10. package/dist/cjs/tds-dropdown_2.cjs.entry.js +50 -32
  11. package/dist/cjs/tds-folder-tabs.cjs.entry.js +10 -3
  12. package/dist/cjs/tds-footer-group.cjs.entry.js +6 -5
  13. package/dist/cjs/tds-footer-item.cjs.entry.js +6 -2
  14. package/dist/cjs/tds-footer.cjs.entry.js +2 -2
  15. package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +2 -2
  16. package/dist/cjs/tds-header-cell.cjs.entry.js +10 -5
  17. package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +5 -3
  18. package/dist/cjs/tds-header-dropdown.cjs.entry.js +7 -5
  19. package/dist/cjs/tds-header-launcher.cjs.entry.js +8 -4
  20. package/dist/cjs/tds-header.cjs.entry.js +8 -6
  21. package/dist/cjs/tds-icon.cjs.entry.js +1 -2
  22. package/dist/cjs/tds-inline-tabs.cjs.entry.js +10 -3
  23. package/dist/cjs/tds-message.cjs.entry.js +2 -2
  24. package/dist/cjs/tds-modal.cjs.entry.js +5 -4
  25. package/dist/cjs/tds-navigation-tabs.cjs.entry.js +12 -5
  26. package/dist/cjs/tds-popover-canvas.cjs.entry.js +4 -4
  27. package/dist/cjs/tds-popover-core.cjs.entry.js +10 -8
  28. package/dist/cjs/tds-popover-menu.cjs.entry.js +4 -4
  29. package/dist/cjs/tds-radio-button.cjs.entry.js +4 -1
  30. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +5 -4
  31. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +13 -9
  32. package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +3 -3
  33. package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +5 -4
  34. package/dist/cjs/tds-side-menu-item.cjs.entry.js +15 -9
  35. package/dist/cjs/tds-side-menu.cjs.entry.js +12 -9
  36. package/dist/cjs/tds-slider.cjs.entry.js +26 -16
  37. package/dist/cjs/tds-step.cjs.entry.js +3 -1
  38. package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +1 -1
  39. package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +17 -10
  40. package/dist/cjs/tds-table-body-row.cjs.entry.js +8 -5
  41. package/dist/cjs/tds-table-body.cjs.entry.js +9 -5
  42. package/dist/cjs/tds-table-footer.cjs.entry.js +15 -8
  43. package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +1 -1
  44. package/dist/cjs/tds-table-header.cjs.entry.js +24 -18
  45. package/dist/cjs/tds-table-toolbar.cjs.entry.js +6 -4
  46. package/dist/cjs/tds-table.cjs.entry.js +14 -12
  47. package/dist/cjs/tds-text-field.cjs.entry.js +7 -6
  48. package/dist/cjs/tds-textarea.cjs.entry.js +5 -4
  49. package/dist/cjs/tds-toggle.cjs.entry.js +5 -4
  50. package/dist/cjs/tds-tooltip.cjs.entry.js +6 -10
  51. package/dist/cjs/tegel.cjs.js +1 -1
  52. package/dist/collection/components/accordion/accordion.js +4 -4
  53. package/dist/collection/components/block/block.js +3 -3
  54. package/dist/collection/components/button/button.js +9 -7
  55. package/dist/collection/components/card/card.js +4 -4
  56. package/dist/collection/components/checkbox/checkbox.js +6 -5
  57. package/dist/collection/components/chip/chip.js +1 -1
  58. package/dist/collection/components/datetime/datetime.js +10 -7
  59. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +9 -6
  60. package/dist/collection/components/dropdown/dropdown.css +2 -1
  61. package/dist/collection/components/dropdown/dropdown.js +44 -31
  62. package/dist/collection/components/footer/footer-group/footer-group.js +6 -5
  63. package/dist/collection/components/footer/footer-item/footer-item.js +6 -2
  64. package/dist/collection/components/footer/footer.js +4 -4
  65. package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +2 -2
  66. package/dist/collection/components/header/header-dropdown/header-dropdown.js +7 -5
  67. package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +5 -3
  68. package/dist/collection/components/header/header-item/header-item.js +9 -5
  69. package/dist/collection/components/header/header-launcher/header-launcher.js +8 -4
  70. package/dist/collection/components/header/header.js +8 -6
  71. package/dist/collection/components/icon/icon.js +3 -4
  72. package/dist/collection/components/message/message.css +0 -2
  73. package/dist/collection/components/message/message.js +4 -4
  74. package/dist/collection/components/modal/modal.css +0 -2
  75. package/dist/collection/components/modal/modal.js +8 -7
  76. package/dist/collection/components/popover-canvas/popover-canvas.js +9 -9
  77. package/dist/collection/components/popover-core/popover-core.js +20 -23
  78. package/dist/collection/components/popover-menu/popover-menu.js +9 -9
  79. package/dist/collection/components/radio-button/radio-button.js +4 -1
  80. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +5 -4
  81. package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +5 -4
  82. package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +3 -3
  83. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +13 -9
  84. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +15 -9
  85. package/dist/collection/components/side-menu/side-menu.js +12 -9
  86. package/dist/collection/components/slider/slider.js +26 -16
  87. package/dist/collection/components/stepper/step/step.js +3 -1
  88. package/dist/collection/components/table/table/table.js +36 -18
  89. package/dist/collection/components/table/table-body/table-body.js +9 -5
  90. package/dist/collection/components/table/table-body-cell/table-body-cell.js +7 -6
  91. package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +1 -1
  92. package/dist/collection/components/table/table-body-row/table-body-row.js +13 -10
  93. package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +23 -16
  94. package/dist/collection/components/table/table-footer/table-footer.js +20 -13
  95. package/dist/collection/components/table/table-header/table-header.js +27 -21
  96. package/dist/collection/components/table/table-header-cell/table-header-cell.js +22 -17
  97. package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +1 -1
  98. package/dist/collection/components/table/table-toolbar/table-toolbar.js +8 -6
  99. package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +12 -5
  100. package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +10 -3
  101. package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +12 -5
  102. package/dist/collection/components/text-field/text-field.js +9 -8
  103. package/dist/collection/components/textarea/textarea.js +7 -6
  104. package/dist/collection/components/toggle/toggle.js +5 -4
  105. package/dist/collection/components/tooltip/tooltip.js +9 -13
  106. package/dist/collection/tegel-light/components/tl-dropdown/_dropdownKeyboard.js +190 -0
  107. package/dist/collection/tegel-light/components/tl-dropdown/_dropdownScripts.js +304 -0
  108. package/dist/collection/utils/appendHiddenInput.js +6 -4
  109. package/dist/components/{p-d10d21bd.js → p-0d286c19.js} +2 -2
  110. package/dist/components/{p-63552d0e.js → p-415fafb3.js} +5 -5
  111. package/dist/components/{p-3308d5fa.js → p-6fd2b339.js} +10 -8
  112. package/dist/components/{p-c62b61fe.js → p-799470b1.js} +7 -5
  113. package/dist/components/{p-44f5b5e1.js → p-91803ba5.js} +5 -4
  114. package/dist/components/{p-3a7e4d0d.js → p-a64cbc40.js} +10 -9
  115. package/dist/components/{p-04a014cf.js → p-ad376f70.js} +7 -11
  116. package/dist/components/{p-6ef207b2.js → p-d9cffacb.js} +11 -8
  117. package/dist/components/{p-9336db16.js → p-da11a695.js} +5 -3
  118. package/dist/components/{p-1dafdc8c.js → p-e0ccf8e6.js} +15 -9
  119. package/dist/components/{p-3f475529.js → p-e52a9953.js} +42 -27
  120. package/dist/components/{p-7c3348eb.js → p-ead6727f.js} +9 -5
  121. package/dist/components/{p-f7d94947.js → p-edc838a0.js} +1 -2
  122. package/dist/components/tds-accordion-item.js +1 -1
  123. package/dist/components/tds-accordion.js +2 -2
  124. package/dist/components/tds-banner.js +1 -1
  125. package/dist/components/tds-block.js +1 -1
  126. package/dist/components/tds-body-cell.js +5 -4
  127. package/dist/components/tds-button.js +1 -1
  128. package/dist/components/tds-card.js +4 -4
  129. package/dist/components/tds-checkbox.js +1 -1
  130. package/dist/components/tds-datetime.js +9 -6
  131. package/dist/components/tds-dropdown-option.js +1 -1
  132. package/dist/components/tds-dropdown.js +1 -1
  133. package/dist/components/tds-folder-tabs.js +11 -4
  134. package/dist/components/tds-footer-group.js +7 -6
  135. package/dist/components/tds-footer-item.js +6 -2
  136. package/dist/components/tds-footer.js +2 -2
  137. package/dist/components/tds-header-brand-symbol.js +3 -3
  138. package/dist/components/tds-header-cell.js +11 -6
  139. package/dist/components/tds-header-dropdown-list.js +1 -1
  140. package/dist/components/tds-header-dropdown.js +11 -9
  141. package/dist/components/tds-header-hamburger.js +2 -2
  142. package/dist/components/tds-header-item.js +1 -1
  143. package/dist/components/tds-header-launcher-button.js +1 -1
  144. package/dist/components/tds-header-launcher-list.js +1 -1
  145. package/dist/components/tds-header-launcher.js +13 -9
  146. package/dist/components/tds-header.js +8 -6
  147. package/dist/components/tds-icon.js +1 -1
  148. package/dist/components/tds-inline-tabs.js +11 -4
  149. package/dist/components/tds-message.js +3 -3
  150. package/dist/components/tds-modal.js +6 -5
  151. package/dist/components/tds-navigation-tabs.js +13 -6
  152. package/dist/components/tds-popover-canvas.js +1 -1
  153. package/dist/components/tds-popover-core.js +1 -1
  154. package/dist/components/tds-popover-menu.js +5 -5
  155. package/dist/components/tds-radio-button.js +4 -1
  156. package/dist/components/tds-side-menu-close-button.js +1 -1
  157. package/dist/components/tds-side-menu-collapse-button.js +6 -5
  158. package/dist/components/tds-side-menu-dropdown-list-item.js +13 -9
  159. package/dist/components/tds-side-menu-dropdown-list.js +3 -3
  160. package/dist/components/tds-side-menu-dropdown.js +7 -6
  161. package/dist/components/tds-side-menu-item.js +1 -1
  162. package/dist/components/tds-side-menu.js +12 -9
  163. package/dist/components/tds-slider.js +30 -20
  164. package/dist/components/tds-step.js +4 -2
  165. package/dist/components/tds-table-body-input-wrapper.js +2 -2
  166. package/dist/components/tds-table-body-row-expandable.js +17 -10
  167. package/dist/components/tds-table-body-row.js +9 -6
  168. package/dist/components/tds-table-body.js +9 -5
  169. package/dist/components/tds-table-footer.js +19 -12
  170. package/dist/components/tds-table-header-input-wrapper.js +2 -2
  171. package/dist/components/tds-table-header.js +25 -19
  172. package/dist/components/tds-table-toolbar.js +7 -5
  173. package/dist/components/tds-table.js +14 -12
  174. package/dist/components/tds-text-field.js +1 -1
  175. package/dist/components/tds-textarea.js +8 -7
  176. package/dist/components/tds-toast.js +1 -1
  177. package/dist/components/tds-toggle.js +5 -4
  178. package/dist/components/tds-tooltip.js +1 -1
  179. package/dist/esm/loader.js +1 -1
  180. package/dist/esm/tds-accordion.entry.js +2 -2
  181. package/dist/esm/tds-block.entry.js +1 -1
  182. package/dist/esm/tds-body-cell.entry.js +4 -3
  183. package/dist/esm/tds-button_2.entry.js +7 -5
  184. package/dist/esm/tds-card.entry.js +2 -2
  185. package/dist/esm/tds-checkbox.entry.js +5 -4
  186. package/dist/esm/tds-core-header-item_2.entry.js +9 -5
  187. package/dist/esm/tds-datetime.entry.js +8 -5
  188. package/dist/esm/tds-dropdown_2.entry.js +50 -32
  189. package/dist/esm/tds-folder-tabs.entry.js +10 -3
  190. package/dist/esm/tds-footer-group.entry.js +6 -5
  191. package/dist/esm/tds-footer-item.entry.js +6 -2
  192. package/dist/esm/tds-footer.entry.js +2 -2
  193. package/dist/esm/tds-header-brand-symbol.entry.js +2 -2
  194. package/dist/esm/tds-header-cell.entry.js +10 -5
  195. package/dist/esm/tds-header-dropdown-list.entry.js +5 -3
  196. package/dist/esm/tds-header-dropdown.entry.js +7 -5
  197. package/dist/esm/tds-header-launcher.entry.js +8 -4
  198. package/dist/esm/tds-header.entry.js +8 -6
  199. package/dist/esm/tds-icon.entry.js +1 -2
  200. package/dist/esm/tds-inline-tabs.entry.js +10 -3
  201. package/dist/esm/tds-message.entry.js +2 -2
  202. package/dist/esm/tds-modal.entry.js +5 -4
  203. package/dist/esm/tds-navigation-tabs.entry.js +12 -5
  204. package/dist/esm/tds-popover-canvas.entry.js +4 -4
  205. package/dist/esm/tds-popover-core.entry.js +10 -8
  206. package/dist/esm/tds-popover-menu.entry.js +4 -4
  207. package/dist/esm/tds-radio-button.entry.js +4 -1
  208. package/dist/esm/tds-side-menu-collapse-button.entry.js +5 -4
  209. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +13 -9
  210. package/dist/esm/tds-side-menu-dropdown-list.entry.js +3 -3
  211. package/dist/esm/tds-side-menu-dropdown.entry.js +5 -4
  212. package/dist/esm/tds-side-menu-item.entry.js +15 -9
  213. package/dist/esm/tds-side-menu.entry.js +12 -9
  214. package/dist/esm/tds-slider.entry.js +26 -16
  215. package/dist/esm/tds-step.entry.js +3 -1
  216. package/dist/esm/tds-table-body-input-wrapper.entry.js +1 -1
  217. package/dist/esm/tds-table-body-row-expandable.entry.js +17 -10
  218. package/dist/esm/tds-table-body-row.entry.js +8 -5
  219. package/dist/esm/tds-table-body.entry.js +9 -5
  220. package/dist/esm/tds-table-footer.entry.js +15 -8
  221. package/dist/esm/tds-table-header-input-wrapper.entry.js +1 -1
  222. package/dist/esm/tds-table-header.entry.js +24 -18
  223. package/dist/esm/tds-table-toolbar.entry.js +6 -4
  224. package/dist/esm/tds-table.entry.js +14 -12
  225. package/dist/esm/tds-text-field.entry.js +7 -6
  226. package/dist/esm/tds-textarea.entry.js +5 -4
  227. package/dist/esm/tds-toggle.entry.js +5 -4
  228. package/dist/esm/tds-tooltip.entry.js +6 -10
  229. package/dist/esm/tegel.js +1 -1
  230. package/dist/tegel/p-08c16b2f.entry.js +1 -0
  231. package/dist/tegel/p-0b37e91a.entry.js +1 -0
  232. package/dist/tegel/p-1e1a87c1.entry.js +1 -0
  233. package/dist/tegel/p-2268af7f.entry.js +1 -0
  234. package/dist/tegel/p-226d0290.entry.js +1 -0
  235. package/dist/tegel/p-252a7d3f.entry.js +1 -0
  236. package/dist/tegel/p-25473962.entry.js +1 -0
  237. package/dist/tegel/{p-650b98bf.entry.js → p-27369d6a.entry.js} +1 -1
  238. package/dist/tegel/p-3ef04672.entry.js +1 -0
  239. package/dist/tegel/p-40d99d7d.entry.js +1 -0
  240. package/dist/tegel/{p-28f85555.entry.js → p-40fa0f5b.entry.js} +1 -1
  241. package/dist/tegel/p-4e15f31d.entry.js +1 -0
  242. package/dist/tegel/p-57c08d0d.entry.js +1 -0
  243. package/dist/tegel/p-58ac68f3.entry.js +1 -0
  244. package/dist/tegel/p-6a472310.entry.js +1 -0
  245. package/dist/tegel/p-70836598.entry.js +1 -0
  246. package/dist/tegel/p-7104b955.entry.js +1 -0
  247. package/dist/tegel/p-781b2939.entry.js +1 -0
  248. package/dist/tegel/p-894e7e11.entry.js +1 -0
  249. package/dist/tegel/p-942f8c6f.entry.js +1 -0
  250. package/dist/tegel/p-98eff725.entry.js +1 -0
  251. package/dist/tegel/p-9b06bd5f.entry.js +1 -0
  252. package/dist/tegel/p-9bcb8b2d.entry.js +1 -0
  253. package/dist/tegel/p-9c56b031.entry.js +1 -0
  254. package/dist/tegel/p-a20a54ef.entry.js +1 -0
  255. package/dist/tegel/p-a2b2092a.entry.js +1 -0
  256. package/dist/tegel/p-a334b517.entry.js +1 -0
  257. package/dist/tegel/p-a4e4c450.entry.js +1 -0
  258. package/dist/tegel/p-a60ed3de.entry.js +1 -0
  259. package/dist/tegel/p-a6dca188.entry.js +1 -0
  260. package/dist/tegel/{p-464469fe.entry.js → p-a912035b.entry.js} +1 -1
  261. package/dist/tegel/p-b218db70.entry.js +1 -0
  262. package/dist/tegel/p-b3b13975.entry.js +1 -0
  263. package/dist/tegel/{p-987f8f0f.entry.js → p-b9afb39e.entry.js} +1 -1
  264. package/dist/tegel/p-bb8c2a36.entry.js +1 -0
  265. package/dist/tegel/p-bee9e9d1.entry.js +1 -0
  266. package/dist/tegel/{p-f31f56fe.entry.js → p-c5694dd6.entry.js} +1 -1
  267. package/dist/tegel/{p-57a28f62.entry.js → p-ca068263.entry.js} +1 -1
  268. package/dist/tegel/{p-eb91e33b.entry.js → p-cda2e4b2.entry.js} +1 -1
  269. package/dist/tegel/p-d501a665.entry.js +1 -0
  270. package/dist/tegel/{p-f2318c88.entry.js → p-da38aa9a.entry.js} +1 -1
  271. package/dist/tegel/p-dda1ac69.entry.js +1 -0
  272. package/dist/tegel/p-e29fa563.entry.js +1 -0
  273. package/dist/tegel/p-ed66ef30.entry.js +1 -0
  274. package/dist/tegel/p-f602b3a1.entry.js +1 -0
  275. package/dist/tegel/p-f922308f.entry.js +1 -0
  276. package/dist/tegel/p-fb300776.entry.js +1 -0
  277. package/dist/tegel/p-fd22d1ca.entry.js +1 -0
  278. package/dist/tegel/{p-c6968db1.entry.js → p-fe4335ca.entry.js} +1 -1
  279. package/dist/tegel/tegel.css +2 -2
  280. package/dist/tegel/tegel.esm.js +1 -1
  281. package/dist/types/components/accordion/accordion.d.ts +1 -1
  282. package/dist/types/components/block/block.d.ts +1 -1
  283. package/dist/types/components/button/button.d.ts +1 -1
  284. package/dist/types/components/card/card.d.ts +1 -1
  285. package/dist/types/components/datetime/datetime.d.ts +2 -2
  286. package/dist/types/components/dropdown/dropdown.d.ts +5 -5
  287. package/dist/types/components/footer/footer.d.ts +1 -1
  288. package/dist/types/components/icon/icon.d.ts +1 -1
  289. package/dist/types/components/message/message.d.ts +1 -1
  290. package/dist/types/components/modal/modal.d.ts +1 -1
  291. package/dist/types/components/popover-canvas/popover-canvas.d.ts +2 -2
  292. package/dist/types/components/popover-core/popover-core.d.ts +4 -4
  293. package/dist/types/components/popover-menu/popover-menu.d.ts +2 -2
  294. package/dist/types/components/slider/slider-stories-setup.d.ts +1 -1
  295. package/dist/types/components/table/table/table.d.ts +6 -3
  296. package/dist/types/components/table/table-body/table-body.d.ts +3 -3
  297. package/dist/types/components/table/table-body-cell/table-body-cell.d.ts +8 -5
  298. package/dist/types/components/table/table-body-input-wrapper/table-body-input-wrapper.d.ts +1 -1
  299. package/dist/types/components/table/table-body-row/table-body-row.d.ts +5 -5
  300. package/dist/types/components/table/table-body-row-expandable/table-body-row-expandable.d.ts +7 -7
  301. package/dist/types/components/table/table-footer/table-footer.d.ts +4 -4
  302. package/dist/types/components/table/table-header/table-header.d.ts +5 -5
  303. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +8 -8
  304. package/dist/types/components/table/table-header-input-wrapper/table-header-input-wrapper.d.ts +1 -1
  305. package/dist/types/components/table/table-toolbar/table-toolbar.d.ts +4 -4
  306. package/dist/types/components/tabs/folder-tabs/folder-tabs.d.ts +1 -1
  307. package/dist/types/components/text-field/text-field.d.ts +1 -1
  308. package/dist/types/components/textarea/textarea.d.ts +2 -2
  309. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  310. package/dist/types/components.d.ts +81 -81
  311. package/dist/types/tegel-light/components/tl-dropdown/_dropdownKeyboard.d.ts +1 -0
  312. package/dist/types/tegel-light/components/tl-dropdown/_dropdownScripts.d.ts +4 -0
  313. package/dist/types/types/Attributes.d.ts +1 -1
  314. package/dist/types/utils/findNextFocusableElement.d.ts +1 -1
  315. package/dist/types/utils/findPreviousFocusableElement.d.ts +1 -1
  316. package/dist/types/utils/getNextNestedChildOfSiblingsMatching.d.ts +1 -1
  317. package/dist/types/utils/getPreviousNestedChildOfSiblingsMatching.d.ts +1 -1
  318. package/package.json +1 -1
  319. package/dist/tegel/p-0672ddfc.entry.js +0 -1
  320. package/dist/tegel/p-08ad6a21.entry.js +0 -1
  321. package/dist/tegel/p-08f63e5d.entry.js +0 -1
  322. package/dist/tegel/p-09cd056c.entry.js +0 -1
  323. package/dist/tegel/p-0c9a51d9.entry.js +0 -1
  324. package/dist/tegel/p-0cfe8671.entry.js +0 -1
  325. package/dist/tegel/p-0e772ad7.entry.js +0 -1
  326. package/dist/tegel/p-17bc1e49.entry.js +0 -1
  327. package/dist/tegel/p-1859156f.entry.js +0 -1
  328. package/dist/tegel/p-1f4267a8.entry.js +0 -1
  329. package/dist/tegel/p-24a76927.entry.js +0 -1
  330. package/dist/tegel/p-354d3986.entry.js +0 -1
  331. package/dist/tegel/p-3c97cb45.entry.js +0 -1
  332. package/dist/tegel/p-3e6d65ee.entry.js +0 -1
  333. package/dist/tegel/p-445fa788.entry.js +0 -1
  334. package/dist/tegel/p-51a17707.entry.js +0 -1
  335. package/dist/tegel/p-52689019.entry.js +0 -1
  336. package/dist/tegel/p-6b340718.entry.js +0 -1
  337. package/dist/tegel/p-72006dd7.entry.js +0 -1
  338. package/dist/tegel/p-743d4f07.entry.js +0 -1
  339. package/dist/tegel/p-77cfb0ef.entry.js +0 -1
  340. package/dist/tegel/p-7887bdbb.entry.js +0 -1
  341. package/dist/tegel/p-7b598e60.entry.js +0 -1
  342. package/dist/tegel/p-7ef50e7f.entry.js +0 -1
  343. package/dist/tegel/p-8c2695af.entry.js +0 -1
  344. package/dist/tegel/p-8eccfe32.entry.js +0 -1
  345. package/dist/tegel/p-9b635e01.entry.js +0 -1
  346. package/dist/tegel/p-9f187848.entry.js +0 -1
  347. package/dist/tegel/p-9fdc8fa5.entry.js +0 -1
  348. package/dist/tegel/p-a090bd2f.entry.js +0 -1
  349. package/dist/tegel/p-a56436c8.entry.js +0 -1
  350. package/dist/tegel/p-b210d23c.entry.js +0 -1
  351. package/dist/tegel/p-c0cbc9f5.entry.js +0 -1
  352. package/dist/tegel/p-cf717912.entry.js +0 -1
  353. package/dist/tegel/p-cfd7ed1a.entry.js +0 -1
  354. package/dist/tegel/p-d1d45942.entry.js +0 -1
  355. package/dist/tegel/p-d7cdbc4e.entry.js +0 -1
  356. package/dist/tegel/p-e5b796e7.entry.js +0 -1
  357. package/dist/tegel/p-f3c32d4d.entry.js +0 -1
  358. package/dist/tegel/p-fd15ced7.entry.js +0 -1
@@ -39,7 +39,8 @@ export class TdsTextarea {
39
39
  }
40
40
  /* Set the input as focus when clicking the whole textarea with suffix/prefix */
41
41
  handleFocus(event) {
42
- this.textEl.focus();
42
+ var _a;
43
+ (_a = this.textEl) === null || _a === void 0 ? void 0 : _a.focus();
43
44
  this.focusInput = true;
44
45
  this.tdsFocus.emit(event);
45
46
  }
@@ -61,7 +62,7 @@ export class TdsTextarea {
61
62
  }
62
63
  render() {
63
64
  var _a;
64
- return (h("div", { key: '0e1e8c392e63be0a7e1724f3351e4859eb6501a7', class: {
65
+ return (h("div", { key: 'ab345d2f34e48367b2040556b9b3a6564add939d', class: {
65
66
  'textarea-container': true,
66
67
  'textarea-label-inside': this.labelPosition === 'inside',
67
68
  'textarea-focus': this.focusInput,
@@ -71,7 +72,7 @@ export class TdsTextarea {
71
72
  'textarea-data': this.value !== '',
72
73
  [`textarea-${this.state}`]: this.state === 'error' || this.state === 'success',
73
74
  'no-min-width': this.noMinWidth,
74
- } }, this.labelPosition !== 'no-label' && (h("label", { key: '674206c9897b2e6f8ed4742e4bf4b9db5740a302', htmlFor: `textarea-element-${this.uuid}`, class: 'textarea-label' }, this.label)), h("div", { key: '808b87787dbdb3386bdf528051eb7ab991259e30', class: "textarea-wrapper" }, h("textarea", { key: 'bb9871a2b0f4d88ac150fb8b550c2d5001b9cc2d', id: `textarea-element-${this.uuid}`, class: 'textarea-input', ref: (inputEl) => {
75
+ } }, this.labelPosition !== 'no-label' && (h("label", { key: 'c8290eb384aff2b8a8d7c2495b69167066e76415', htmlFor: `textarea-element-${this.uuid}`, class: 'textarea-label' }, this.label)), h("div", { key: '43cd7476de0402a1aab5eaf2d930678422aaf40e', class: "textarea-wrapper" }, h("textarea", { key: '265bd91d6cb4ca7009d0bc60f3db15c0e6bb47bc', id: `textarea-element-${this.uuid}`, class: 'textarea-input', ref: (inputEl) => {
75
76
  this.textEl = inputEl;
76
77
  }, disabled: this.disabled, readonly: !this.disabled && this.readOnly, placeholder: this.placeholder, value: this.value, name: this.name, autofocus: this.autofocus, maxlength: this.maxLength, cols: this.cols, rows: this.rows, onFocus: (event) => {
77
78
  if (!this.readOnly) {
@@ -81,7 +82,7 @@ export class TdsTextarea {
81
82
  if (!this.readOnly) {
82
83
  this.handleBlur(event);
83
84
  }
84
- }, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), "aria-invalid": getAriaInvalid(this.host, this.state), "aria-readonly": this.readOnly ? 'true' : 'false', "aria-label": this.tdsAriaLabel ? this.tdsAriaLabel : this.label, "aria-describedby": `textarea-helper-element-${this.uuid}` }), h("span", { key: 'f9fc9c3136ec57b6f0becd8602c6353f0c8848dd', class: "textarea-resizer-icon" }, h("svg", { key: '8b7f6fe75e111c7d4de27a1a6d30c430cd136753', width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'f5857808dfc21333fc8d95c38c0a8e69823a6229', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11.8536 0.853553C12.0488 0.658291 12.0488 0.341709 11.8536 0.146447C11.6583 -0.0488155 11.3417 -0.0488155 11.1464 0.146447L0.146447 11.1464C-0.0488155 11.3417 -0.0488155 11.6583 0.146447 11.8536C0.341709 12.0488 0.658291 12.0488 0.853553 11.8536L11.8536 0.853553ZM11.8536 4.64645C12.0488 4.84171 12.0488 5.15829 11.8536 5.35355L5.35355 11.8536C5.15829 12.0488 4.84171 12.0488 4.64645 11.8536C4.45118 11.6583 4.45118 11.3417 4.64645 11.1464L11.1464 4.64645C11.3417 4.45118 11.6583 4.45118 11.8536 4.64645ZM11.8536 8.64645C12.0488 8.84171 12.0488 9.15829 11.8536 9.35355L9.35355 11.8536C9.15829 12.0488 8.84171 12.0488 8.64645 11.8536C8.45118 11.6583 8.45118 11.3417 8.64645 11.1464L11.1464 8.64645C11.3417 8.45118 11.6583 8.45118 11.8536 8.64645Z", fill: "currentColor" }))), !this.disabled && !this.hideReadOnlyIcon && this.readOnly && (h("span", { key: 'df897e9b418dc4b7a2fefc152f0f850278695211', class: "textarea-icon__readonly" }, h("tds-tooltip", { key: 'd350ce47947ccd11fea39f06b5ae6e7cdba84ca9', placement: "top-end", text: "This field is non-editable", selector: "#readonly-tooltip" }), h("tds-icon", { key: '327fd5153c188dcc171d6cbed2727716148157b1', id: "readonly-tooltip", name: "edit_inactive", svgTitle: "inactive" })))), h("span", { key: '5625f2580ce1724b5462e00c8024fb7b9c3f3107', class: 'textarea-helper', "aria-live": "assertive", id: `textarea-helper-element-${this.uuid}` }, this.state === 'error' && this.helper && !this.readOnly && (h("tds-icon", { key: '2873a82b45675d1e09a07de357386b0ea83ed054', name: "error", size: "16px" })), this.helper), this.maxLength > 0 && (h("div", { key: '0a54c37e440f4740e373943bfd48001e8f8f39e6', class: 'textarea-textcounter' }, this.value === null ? 0 : (_a = this.value) === null || _a === void 0 ? void 0 : _a.length, h("span", { key: '53f25f455440e8383bd1dabba20cce266fe78074', class: "textfield-textcounter-divider" }, " / "), " ", this.maxLength))));
85
+ }, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), "aria-invalid": getAriaInvalid(this.host, this.state), "aria-readonly": this.readOnly ? 'true' : 'false', "aria-label": this.tdsAriaLabel ? this.tdsAriaLabel : this.label, "aria-describedby": `textarea-helper-element-${this.uuid}` }), h("span", { key: '682632eb45587ee86e48fa7dd42946d97db7da13', class: "textarea-resizer-icon" }, h("svg", { key: '7631ef268be5ec867452ba449f769e45c099d574', width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'ba27459f776dc0d6a6d0570420e4610ee08d6b9e', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11.8536 0.853553C12.0488 0.658291 12.0488 0.341709 11.8536 0.146447C11.6583 -0.0488155 11.3417 -0.0488155 11.1464 0.146447L0.146447 11.1464C-0.0488155 11.3417 -0.0488155 11.6583 0.146447 11.8536C0.341709 12.0488 0.658291 12.0488 0.853553 11.8536L11.8536 0.853553ZM11.8536 4.64645C12.0488 4.84171 12.0488 5.15829 11.8536 5.35355L5.35355 11.8536C5.15829 12.0488 4.84171 12.0488 4.64645 11.8536C4.45118 11.6583 4.45118 11.3417 4.64645 11.1464L11.1464 4.64645C11.3417 4.45118 11.6583 4.45118 11.8536 4.64645ZM11.8536 8.64645C12.0488 8.84171 12.0488 9.15829 11.8536 9.35355L9.35355 11.8536C9.15829 12.0488 8.84171 12.0488 8.64645 11.8536C8.45118 11.6583 8.45118 11.3417 8.64645 11.1464L11.1464 8.64645C11.3417 8.45118 11.6583 8.45118 11.8536 8.64645Z", fill: "currentColor" }))), !this.disabled && !this.hideReadOnlyIcon && this.readOnly && (h("span", { key: '34f0c79ee333e2e0b0e27dc63d4be1e93b7fc6e4', class: "textarea-icon__readonly" }, h("tds-tooltip", { key: '0aa6ad6c681f5abe6ba19a28f80125d002543fc4', placement: "top-end", text: "This field is non-editable", selector: "#readonly-tooltip" }), h("tds-icon", { key: '780fe72cff253212d79820c29a701258c55da508', id: "readonly-tooltip", name: "edit_inactive", svgTitle: "inactive" })))), h("span", { key: '657766f8f89e07aaac65daece6fc1162b925986a', class: 'textarea-helper', "aria-live": "assertive", id: `textarea-helper-element-${this.uuid}` }, this.state === 'error' && this.helper && !this.readOnly && (h("tds-icon", { key: 'ce5e472fb172d53cb45e9dab4c317fb38dbd05eb', name: "error", size: "16px" })), this.helper), this.maxLength > 0 && (h("div", { key: '919a5471cfad225cefe6c30e88f782cdfc913b2f', class: 'textarea-textcounter' }, this.value === null ? 0 : (_a = this.value) === null || _a === void 0 ? void 0 : _a.length, h("span", { key: '338ef9cdac06151d4fd092208764e3812c2d4f01', class: "textfield-textcounter-divider" }, " / "), " ", this.maxLength))));
85
86
  }
86
87
  static get is() { return "tds-textarea"; }
87
88
  static get encapsulation() { return "scoped"; }
@@ -331,8 +332,8 @@ export class TdsTextarea {
331
332
  "type": "string",
332
333
  "mutable": false,
333
334
  "complexType": {
334
- "original": "'primary' | 'secondary'",
335
- "resolved": "\"primary\" | \"secondary\"",
335
+ "original": "'primary' | 'secondary' | null",
336
+ "resolved": "\"primary\" | \"secondary\" | null",
336
337
  "references": {}
337
338
  },
338
339
  "required": false,
@@ -39,12 +39,13 @@ export class TdsToggle {
39
39
  this.labelSlot = this.host.querySelector("[slot='label']");
40
40
  }
41
41
  render() {
42
- return (h("div", { key: 'c3317c42904e33fd2936aa01ce064f87d33786e3', class: "tds-toggle" }, this.headline && (h("div", { key: '9c2280058b2fbc09e0663dc5e92d4d3dd413cc83', class: {
42
+ return (h("div", { key: 'ee3157ccfc7cc20e4cc0ea94d18ef18206aad346', class: "tds-toggle" }, this.headline && (h("div", { key: 'bb0b6242312d2b93aedca8b30060dced738ad418', class: {
43
43
  'toggle-headline': true,
44
44
  'disabled': this.disabled,
45
- } }, this.headline)), h("input", { key: 'b5e5cfee5c3115c1039e816bbd6f7751cf6a5f6c', ref: (inputEl) => {
46
- this.inputElement = inputEl;
47
- }, "aria-label": this.tdsAriaLabel, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), "aria-checked": this.checked, "aria-required": this.required, onChange: () => this.handleToggle(), class: `${this.size}`, checked: this.checked, disabled: this.disabled, required: this.required, type: "checkbox", name: this.name, id: this.toggleId, role: "switch" }), this.labelSlot && (h("label", { key: '9eedb6f2c2a0494e2b59f392764c27b143dcecee', class: { disabled: this.disabled }, htmlFor: this.toggleId }, h("slot", { key: '11346fe1d7f4ea0da665b153ae25af9e084a0602', name: "label" })))));
45
+ } }, this.headline)), h("input", { key: 'ff36441c8064df09ee5f09239472250211182725', ref: (inputEl) => {
46
+ if (inputEl)
47
+ this.inputElement = inputEl;
48
+ }, "aria-label": this.tdsAriaLabel, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), "aria-checked": this.checked, "aria-required": this.required, onChange: () => this.handleToggle(), class: `${this.size}`, checked: this.checked, disabled: this.disabled, required: this.required, type: "checkbox", name: this.name, id: this.toggleId, role: "switch" }), this.labelSlot && (h("label", { key: '67a2179e0c1252fb5d4dc9d9e5ade990bec58cbc', class: { disabled: this.disabled }, htmlFor: this.toggleId }, h("slot", { key: 'ec8080b6080cffecbc83fb9080c55031a8d0a1e7', name: "label" })))));
48
49
  }
49
50
  static get is() { return "tds-toggle"; }
50
51
  static get encapsulation() { return "scoped"; }
@@ -29,7 +29,7 @@ export class TdsTooltip {
29
29
  },
30
30
  },
31
31
  ];
32
- this.inheritedAttributes = [];
32
+ this.inheritedAttributes = {};
33
33
  this.text = '';
34
34
  this.selector = undefined;
35
35
  this.referenceEl = undefined;
@@ -58,20 +58,16 @@ export class TdsTooltip {
58
58
  }
59
59
  render() {
60
60
  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: {
61
+ return (h(Host, { key: '2b72a1988aa57732d9295a33a43e8baf117e7e17', role: "tooltip", "aria-describedby": this.tdsAriaDescribedby, "aria-label": this.text }, h("tds-popover-core", Object.assign({ key: '449a74bcead02452d6bd7f443cfbfd8ef29071a1' }, this.inheritedAttributes, { class: {
62
62
  'tds-tooltip': true,
63
63
  [`tds-tooltip-${this.border}`]: true,
64
64
  [(_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: () => {
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, onInternalTdsShow: () => {
69
67
  this.show = true;
70
- },
71
- // @ts-ignore
72
- onInternalTdsClose: () => {
68
+ }, onInternalTdsClose: () => {
73
69
  this.show = false;
74
- }, defaultShow: this.defaultShow }), this.text, h("slot", { key: '8fb6467b2d1fa2ce6a70a171966ff245f8205b55' }))));
70
+ }, defaultShow: this.defaultShow }), this.text, h("slot", { key: 'c232d55352f3e827c16630c69df138ba687486b4' }))));
75
71
  }
76
72
  static get is() { return "tds-tooltip"; }
77
73
  static get encapsulation() { return "scoped"; }
@@ -127,7 +123,7 @@ export class TdsTooltip {
127
123
  "mutable": false,
128
124
  "complexType": {
129
125
  "original": "HTMLElement | null",
130
- "resolved": "HTMLElement",
126
+ "resolved": "HTMLElement | null | undefined",
131
127
  "references": {
132
128
  "HTMLElement": {
133
129
  "location": "global",
@@ -200,8 +196,8 @@ export class TdsTooltip {
200
196
  "type": "boolean",
201
197
  "mutable": true,
202
198
  "complexType": {
203
- "original": "boolean",
204
- "resolved": "boolean",
199
+ "original": "boolean | null",
200
+ "resolved": "boolean | null",
205
201
  "references": {}
206
202
  },
207
203
  "required": false,
@@ -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;
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { i as inheritAriaAttributes } from './p-0bd4c19c.js';
3
3
  import { d as defineCustomElement$3 } from './p-e1622f4a.js';
4
- import { d as defineCustomElement$2 } from './p-7c3348eb.js';
5
- import { d as defineCustomElement$1 } from './p-f7d94947.js';
4
+ import { d as defineCustomElement$2 } from './p-ead6727f.js';
5
+ import { d as defineCustomElement$1 } from './p-edc838a0.js';
6
6
 
7
7
  const headerLauncherButtonCss = ":host{display:block}:host tds-header-item{display:block}:host .icon{position:relative;margin-left:-6px;left:3px;transition:all 0.2s ease-in-out}";
8
8
  const TdsHeaderLauncherButtonStyle0 = headerLauncherButtonCss;