@duetds/components 8.2.2 → 8.3.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 (640) hide show
  1. package/hydrate/index.js +137 -30
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-banner.cjs.entry.js +2 -2
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  11. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-header_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  30. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-input_2.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-modal.cjs.entry.js +3 -3
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-number-input.cjs.entry.js +2 -2
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +3 -3
  48. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +89 -6
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +2 -2
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -7
  61. package/lib/cjs/duet-slideout.cjs.entry.js +14 -5
  62. package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +15 -18
  75. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  79. package/lib/cjs/duet.cjs.js +2 -2
  80. package/lib/cjs/{focus-utils-cb2699e7.js → focus-utils-da780025.js} +1 -1
  81. package/lib/cjs/{index-c51398ac.js → index-34b8e765.js} +1 -1
  82. package/lib/cjs/{keyboard-utils-7248dd0a.js → keyboard-utils-66010749.js} +2 -0
  83. package/lib/cjs/loader.cjs.js +2 -2
  84. package/lib/cjs/{token-utils-c672402d.js → token-utils-7a618677.js} +22 -0
  85. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  86. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  87. package/lib/collection/components/duet-button/duet-button.js +5 -5
  88. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  89. package/lib/collection/components/duet-card/duet-card.js +3 -3
  90. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  91. package/lib/collection/components/duet-chip/duet-chip.js +5 -5
  92. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  93. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  94. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  95. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  96. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
  97. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  98. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  99. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  100. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  101. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  102. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  103. package/lib/collection/components/duet-header/duet-header.js +15 -15
  104. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  105. package/lib/collection/components/duet-hero/duet-hero.js +6 -6
  106. package/lib/collection/components/duet-input/duet-input.js +8 -8
  107. package/lib/collection/components/duet-label/duet-label.js +2 -2
  108. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  109. package/lib/collection/components/duet-list/duet-list.js +3 -3
  110. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  111. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
  112. package/lib/collection/components/duet-modal/duet-modal.js +4 -4
  113. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  114. package/lib/collection/components/duet-nav/duet-nav.css +5 -0
  115. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  116. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  117. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  118. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  119. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  120. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  121. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  122. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  123. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  124. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  125. package/lib/collection/components/duet-select/duet-select.js +5 -5
  126. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  127. package/lib/collection/components/duet-slideout/duet-slideout.css +1 -1
  128. package/lib/collection/components/duet-slideout/duet-slideout.js +10 -1
  129. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +27 -0
  130. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +9 -3
  131. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +1 -1
  132. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  133. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  134. package/lib/collection/components/duet-step/duet-step.js +2 -2
  135. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  136. package/lib/collection/components/duet-tab/duet-tab.css +10 -0
  137. package/lib/collection/components/duet-tab/duet-tab.js +155 -1
  138. package/lib/collection/components/duet-tab-group/duet-tab-group.js +17 -10
  139. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  140. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  141. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +1 -1
  142. package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +5 -0
  143. package/lib/collection/components/duet-tooltip/duet-tooltip.js +16 -18
  144. package/lib/collection/components/duet-upload/duet-upload.js +14 -14
  145. package/lib/collection/components/duet-upload-item/duet-upload-item.js +1 -1
  146. package/lib/collection/utils/keyboard-utils.js +1 -0
  147. package/lib/collection/utils/token-utils.js +3 -0
  148. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  149. package/lib/dist-custom-elements/duet-alert.js +1 -1
  150. package/lib/dist-custom-elements/duet-badge.js +1 -1
  151. package/lib/dist-custom-elements/duet-banner.js +4 -4
  152. package/lib/dist-custom-elements/duet-breadcrumb.js +4 -4
  153. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  154. package/lib/dist-custom-elements/duet-button.js +1 -1
  155. package/lib/dist-custom-elements/duet-callout.js +2 -2
  156. package/lib/dist-custom-elements/duet-caption.js +1 -1
  157. package/lib/dist-custom-elements/duet-card.js +5 -5
  158. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  159. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  160. package/lib/dist-custom-elements/duet-chip.js +3 -3
  161. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  162. package/lib/dist-custom-elements/duet-choice.js +6 -6
  163. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  164. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  165. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  166. package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
  167. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  168. package/lib/dist-custom-elements/duet-divider.js +1 -1
  169. package/lib/dist-custom-elements/duet-editable-table.js +8 -8
  170. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  171. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  172. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  173. package/lib/dist-custom-elements/duet-footer.js +5 -5
  174. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  175. package/lib/dist-custom-elements/duet-grid.js +1 -1
  176. package/lib/dist-custom-elements/duet-header.js +9 -9
  177. package/lib/dist-custom-elements/duet-heading.js +1 -1
  178. package/lib/dist-custom-elements/duet-hero.js +10 -10
  179. package/lib/dist-custom-elements/duet-icon.js +1 -1
  180. package/lib/dist-custom-elements/duet-input.js +1 -1
  181. package/lib/dist-custom-elements/duet-label.js +1 -1
  182. package/lib/dist-custom-elements/duet-layout.js +1 -1
  183. package/lib/dist-custom-elements/duet-link.js +1 -1
  184. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  185. package/lib/dist-custom-elements/duet-list.js +1 -1
  186. package/lib/dist-custom-elements/duet-logo.js +1 -1
  187. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  188. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +3 -3
  189. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  190. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  191. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  192. package/lib/dist-custom-elements/duet-modal.js +8 -8
  193. package/lib/dist-custom-elements/duet-multiselect.js +10 -10
  194. package/lib/dist-custom-elements/duet-nav.js +3 -3
  195. package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
  196. package/lib/dist-custom-elements/duet-notification.js +3 -3
  197. package/lib/dist-custom-elements/duet-number-input.js +12 -12
  198. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  199. package/lib/dist-custom-elements/duet-pagination.js +15 -15
  200. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  201. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  202. package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
  203. package/lib/dist-custom-elements/duet-progress.js +1 -1
  204. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  205. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  206. package/lib/dist-custom-elements/duet-radio.js +1 -1
  207. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  208. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  209. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  210. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  211. package/lib/dist-custom-elements/duet-select.js +1 -1
  212. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  213. package/lib/dist-custom-elements/duet-show-more.js +6 -6
  214. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  215. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  216. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +3 -3
  217. package/lib/dist-custom-elements/duet-slideout-panel.js +10 -7
  218. package/lib/dist-custom-elements/duet-slideout.js +14 -5
  219. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  220. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  221. package/lib/dist-custom-elements/duet-step.js +5 -5
  222. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  223. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  224. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  225. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  226. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  227. package/lib/dist-custom-elements/duet-tab-group.js +20 -16
  228. package/lib/dist-custom-elements/duet-tab.js +89 -4
  229. package/lib/dist-custom-elements/duet-table.js +1 -1
  230. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  231. package/lib/dist-custom-elements/duet-toggle.js +3 -3
  232. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +3 -3
  233. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +4 -4
  234. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  235. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  236. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  237. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  238. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  239. package/lib/dist-custom-elements/duet-tray.js +4 -4
  240. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  241. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  242. package/lib/dist-custom-elements/duet-upload.js +18 -18
  243. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  244. package/lib/dist-custom-elements/index.js +1 -1
  245. package/lib/dist-custom-elements/{p-d1db33b3.js → p-0233383b.js} +1 -1
  246. package/lib/dist-custom-elements/{p-178bd8b5.js → p-0d6e1f1b.js} +1 -1
  247. package/lib/dist-custom-elements/{p-0fcede3e.js → p-10c1d640.js} +2 -2
  248. package/lib/dist-custom-elements/{p-ea75dc3b.js → p-2718851e.js} +2 -2
  249. package/lib/dist-custom-elements/{p-d82ca991.js → p-2bc31f8b.js} +1 -1
  250. package/lib/dist-custom-elements/{p-32b58440.js → p-2c44fafc.js} +2 -2
  251. package/lib/dist-custom-elements/{p-ab998a0f.js → p-34fe2adb.js} +2 -2
  252. package/lib/dist-custom-elements/{p-a7f2d134.js → p-363d74c3.js} +4 -4
  253. package/lib/dist-custom-elements/{p-029fba28.js → p-3bcad21a.js} +2 -2
  254. package/lib/dist-custom-elements/{p-ded7900f.js → p-41c5df58.js} +2 -2
  255. package/lib/dist-custom-elements/{p-e9b96f04.js → p-42da65d1.js} +3 -3
  256. package/lib/dist-custom-elements/{p-8f253845.js → p-55634a0b.js} +2 -1
  257. package/lib/dist-custom-elements/{p-bbff917c.js → p-5b8774b6.js} +6 -6
  258. package/lib/dist-custom-elements/{p-78ce0ce1.js → p-5ccb7f41.js} +21 -23
  259. package/lib/dist-custom-elements/{p-046d07ed.js → p-5df55152.js} +1 -1
  260. package/lib/dist-custom-elements/{p-69f3125f.js → p-60dcae4f.js} +1 -1
  261. package/lib/dist-custom-elements/{p-6db359de.js → p-7183d0e7.js} +10 -10
  262. package/lib/dist-custom-elements/{p-c3d0fd5f.js → p-73904865.js} +2 -2
  263. package/lib/dist-custom-elements/{p-284885b1.js → p-7c44c302.js} +1 -1
  264. package/lib/dist-custom-elements/{p-09d8f6b5.js → p-8a5c7cdf.js} +5 -5
  265. package/lib/dist-custom-elements/{p-bdade4f6.js → p-8cd82767.js} +1 -1
  266. package/lib/dist-custom-elements/{p-5b940d4e.js → p-96a8a294.js} +5 -5
  267. package/lib/dist-custom-elements/{p-14821771.js → p-98ca74e0.js} +1 -1
  268. package/lib/dist-custom-elements/{p-6f02cea5.js → p-997c1c72.js} +2 -2
  269. package/lib/dist-custom-elements/{p-1f650bb2.js → p-a13cbd71.js} +1 -1
  270. package/lib/dist-custom-elements/{p-3c266b7f.js → p-a73804b7.js} +1 -1
  271. package/lib/dist-custom-elements/{p-f26cc3be.js → p-ac4ee6ea.js} +2 -2
  272. package/lib/dist-custom-elements/{p-c2ee0b56.js → p-afe568e9.js} +1 -1
  273. package/lib/dist-custom-elements/{p-48fe3f3e.js → p-b24c3dc4.js} +3 -3
  274. package/lib/dist-custom-elements/{p-4207df32.js → p-b443af91.js} +8 -8
  275. package/lib/dist-custom-elements/{p-d4a52c78.js → p-c7e3638d.js} +1 -1
  276. package/lib/dist-custom-elements/{p-ef9c200e.js → p-cbac9ed5.js} +22 -1
  277. package/lib/dist-custom-elements/{p-501109c4.js → p-cf2212cc.js} +11 -11
  278. package/lib/dist-custom-elements/{p-275c9f06.js → p-d27e5b0d.js} +2 -2
  279. package/lib/dist-custom-elements/{p-f37bade9.js → p-e3d866c6.js} +5 -5
  280. package/lib/dist-custom-elements/{p-dfbd66be.js → p-e445c96b.js} +2 -2
  281. package/lib/duet/duet.esm.js +1 -1
  282. package/lib/duet/duet.js +1 -1
  283. package/lib/duet/{p-5f54e38a.system.entry.js → p-004f5593.system.entry.js} +1 -1
  284. package/lib/duet/{p-1abfbe28.system.entry.js → p-0296a34a.system.entry.js} +1 -1
  285. package/lib/duet/{p-d6154923.entry.js → p-0322bace.entry.js} +1 -1
  286. package/lib/duet/p-05cfffb1.entry.js +4 -0
  287. package/lib/duet/{p-3ccb1ee3.system.entry.js → p-079710fa.system.entry.js} +1 -1
  288. package/lib/duet/p-09c54c8e.system.js +4 -0
  289. package/lib/duet/p-0abf8fe1.system.entry.js +4 -0
  290. package/lib/duet/{p-f54f5ef3.system.entry.js → p-0c2cf3a5.system.entry.js} +1 -1
  291. package/lib/duet/{p-723172a8.system.entry.js → p-0c416590.system.entry.js} +1 -1
  292. package/lib/duet/{p-9418d9ff.entry.js → p-0d0867ae.entry.js} +1 -1
  293. package/lib/duet/{p-3ca93619.system.entry.js → p-0f35fce0.system.entry.js} +1 -1
  294. package/lib/duet/{p-42e4ee86.system.entry.js → p-11be6924.system.entry.js} +1 -1
  295. package/lib/duet/{p-52091e26.entry.js → p-15c9c4cb.entry.js} +1 -1
  296. package/lib/duet/{p-f637700c.system.entry.js → p-193fcf1c.system.entry.js} +1 -1
  297. package/lib/duet/{p-6d186557.entry.js → p-1953edbe.entry.js} +1 -1
  298. package/lib/duet/{p-6edbe47c.system.entry.js → p-19fc4ff9.system.entry.js} +1 -1
  299. package/lib/duet/{p-d1d036d5.entry.js → p-1c7ca800.entry.js} +1 -1
  300. package/lib/duet/{p-cdc6b261.entry.js → p-1cb624dd.entry.js} +1 -1
  301. package/lib/duet/{p-3fab3c3d.entry.js → p-1d91fb5d.entry.js} +1 -1
  302. package/lib/duet/{p-42cfad67.system.entry.js → p-1f6ad797.system.entry.js} +1 -1
  303. package/lib/duet/p-2054dad2.entry.js +4 -0
  304. package/lib/duet/{p-2db24634.entry.js → p-213dab77.entry.js} +1 -1
  305. package/lib/duet/{p-03380a61.system.entry.js → p-240c3f03.system.entry.js} +1 -1
  306. package/lib/duet/{p-daf4b399.entry.js → p-25e0cbc3.entry.js} +1 -1
  307. package/lib/duet/{p-c641c3b4.system.entry.js → p-27485e15.system.entry.js} +1 -1
  308. package/lib/duet/{p-78a7f821.system.entry.js → p-2888bff8.system.entry.js} +1 -1
  309. package/lib/duet/{p-cc4683e0.system.entry.js → p-294b9ccf.system.entry.js} +1 -1
  310. package/lib/duet/{p-efa9e31e.entry.js → p-2de5d10d.entry.js} +1 -1
  311. package/lib/duet/{p-1c9a6018.system.entry.js → p-2e3254e1.system.entry.js} +1 -1
  312. package/lib/duet/{p-ad200bf7.system.entry.js → p-2eb5153f.system.entry.js} +1 -1
  313. package/lib/duet/{p-db48c8ed.system.entry.js → p-2f22f4cc.system.entry.js} +1 -1
  314. package/lib/duet/{p-00c58945.system.entry.js → p-310fd85a.system.entry.js} +1 -1
  315. package/lib/duet/{p-0dd40c9c.entry.js → p-32f3d9e9.entry.js} +1 -1
  316. package/lib/duet/{p-4d9e4286.system.entry.js → p-33771b10.system.entry.js} +1 -1
  317. package/lib/duet/{p-fd153ee7.system.entry.js → p-34b96e8d.system.entry.js} +1 -1
  318. package/lib/duet/{p-8b9c411d.entry.js → p-38bab76d.entry.js} +1 -1
  319. package/lib/duet/{p-e4bd0d7b.entry.js → p-39730ce5.entry.js} +1 -1
  320. package/lib/duet/{p-36c95931.system.entry.js → p-3ac0c888.system.entry.js} +1 -1
  321. package/lib/duet/{p-65316fb3.entry.js → p-3ddc5b9d.entry.js} +1 -1
  322. package/lib/duet/p-3f9bb231.entry.js +4 -0
  323. package/lib/duet/p-43ee1368.entry.js +4 -0
  324. package/lib/duet/{p-eddc7880.entry.js → p-447943eb.entry.js} +1 -1
  325. package/lib/duet/{p-de652eff.entry.js → p-45464aa5.entry.js} +1 -1
  326. package/lib/duet/{p-534e202a.system.entry.js → p-45e26ba0.system.entry.js} +1 -1
  327. package/lib/duet/p-48f4acef.entry.js +4 -0
  328. package/lib/duet/{p-2395f607.system.entry.js → p-4a4317af.system.entry.js} +1 -1
  329. package/lib/duet/{p-295179c8.system.entry.js → p-4ca1be7a.system.entry.js} +1 -1
  330. package/lib/duet/{p-7fd43c03.system.entry.js → p-505375e1.system.entry.js} +1 -1
  331. package/lib/duet/{p-2c02c786.entry.js → p-52a756fe.entry.js} +1 -1
  332. package/lib/duet/p-53e192de.system.entry.js +4 -0
  333. package/lib/duet/{p-4a397383.entry.js → p-560f26a5.entry.js} +1 -1
  334. package/lib/duet/{p-280b2ecc.system.entry.js → p-56be87c9.system.entry.js} +1 -1
  335. package/lib/duet/{p-87565d7d.system.entry.js → p-573ce757.system.entry.js} +1 -1
  336. package/lib/duet/{p-9a352bf1.entry.js → p-578de372.entry.js} +1 -1
  337. package/lib/duet/p-58a8254d.entry.js +4 -0
  338. package/lib/duet/{p-61d46f06.entry.js → p-5add7da0.entry.js} +1 -1
  339. package/lib/duet/{p-c3be7176.entry.js → p-5bf6660a.entry.js} +1 -1
  340. package/lib/duet/p-5c42b7f0.system.entry.js +4 -0
  341. package/lib/duet/{p-75ceea2b.entry.js → p-5d74e505.entry.js} +1 -1
  342. package/lib/duet/{p-d1deec62.system.js → p-5eb9efcf.system.js} +1 -1
  343. package/lib/duet/p-5f87ea3d.js +4 -0
  344. package/lib/duet/{p-e7b955f6.system.entry.js → p-604aab16.system.entry.js} +1 -1
  345. package/lib/duet/{p-b83e0014.system.entry.js → p-618cc2c7.system.entry.js} +1 -1
  346. package/lib/duet/{p-e2347276.entry.js → p-65dcf9ed.entry.js} +1 -1
  347. package/lib/duet/{p-076b9333.entry.js → p-6626a173.entry.js} +1 -1
  348. package/lib/duet/p-690d8509.system.entry.js +4 -0
  349. package/lib/duet/p-6a9f8b30.entry.js +4 -0
  350. package/lib/duet/{p-c0397a25.entry.js → p-6ab9f8ce.entry.js} +1 -1
  351. package/lib/duet/{p-a5e3febc.system.entry.js → p-700eb8d9.system.entry.js} +1 -1
  352. package/lib/duet/{p-c3832cba.system.entry.js → p-7083fb38.system.entry.js} +1 -1
  353. package/lib/duet/{p-e00f28fc.entry.js → p-71568bfa.entry.js} +1 -1
  354. package/lib/duet/{p-a75e499e.system.entry.js → p-73f87dff.system.entry.js} +1 -1
  355. package/lib/duet/{p-1420bc81.system.entry.js → p-7479da8d.system.entry.js} +1 -1
  356. package/lib/duet/{p-9ab87585.system.entry.js → p-74fef701.system.entry.js} +1 -1
  357. package/lib/duet/{p-eed152d0.system.js → p-753d1ca4.system.js} +1 -1
  358. package/lib/duet/{p-133bd9d0.system.entry.js → p-755f5cf0.system.entry.js} +1 -1
  359. package/lib/duet/{p-52737afc.system.js → p-769b7d3c.system.js} +1 -1
  360. package/lib/duet/{p-c90bc08e.entry.js → p-777fbef3.entry.js} +1 -1
  361. package/lib/duet/{p-f8ddd215.system.entry.js → p-77b95466.system.entry.js} +1 -1
  362. package/lib/duet/{p-127dcd36.system.entry.js → p-7cdcc3f9.system.entry.js} +1 -1
  363. package/lib/duet/{p-10a2a9c1.system.entry.js → p-7fd03652.system.entry.js} +1 -1
  364. package/lib/duet/{p-9699d4f1.system.entry.js → p-82bef678.system.entry.js} +1 -1
  365. package/lib/duet/{p-11481bd0.entry.js → p-82cd0795.entry.js} +1 -1
  366. package/lib/duet/{p-7ef64069.entry.js → p-859754bb.entry.js} +1 -1
  367. package/lib/duet/p-85b08ff2.system.entry.js +4 -0
  368. package/lib/duet/{p-88d19807.entry.js → p-85c6a112.entry.js} +1 -1
  369. package/lib/duet/{p-956c677f.entry.js → p-85e98030.entry.js} +1 -1
  370. package/lib/duet/{p-bd9e5b2b.system.entry.js → p-87112f7c.system.entry.js} +1 -1
  371. package/lib/duet/{p-89db0472.system.entry.js → p-8726889d.system.entry.js} +1 -1
  372. package/lib/duet/{p-7b6abc82.entry.js → p-8a2f8d7d.entry.js} +1 -1
  373. package/lib/duet/{p-b17fc03d.system.entry.js → p-8a90810c.system.entry.js} +1 -1
  374. package/lib/duet/{p-111e21bb.system.entry.js → p-8b25f04b.system.entry.js} +1 -1
  375. package/lib/duet/{p-0906d9df.system.entry.js → p-8c08f362.system.entry.js} +1 -1
  376. package/lib/duet/{p-5d8d866f.system.entry.js → p-90847ed0.system.entry.js} +1 -1
  377. package/lib/duet/{p-35811c5b.entry.js → p-91e776e5.entry.js} +1 -1
  378. package/lib/duet/{p-579d7632.entry.js → p-93037a0a.entry.js} +1 -1
  379. package/lib/duet/{p-371692de.system.entry.js → p-9686aa88.system.entry.js} +1 -1
  380. package/lib/duet/{p-88378c4b.system.entry.js → p-97cf5b01.system.entry.js} +1 -1
  381. package/lib/duet/{p-a70e6c6f.entry.js → p-98a822e3.entry.js} +1 -1
  382. package/lib/duet/{p-9090cf21.entry.js → p-9ba3d633.entry.js} +1 -1
  383. package/lib/duet/{p-b57852d2.entry.js → p-9bba389f.entry.js} +1 -1
  384. package/lib/duet/{p-aa38094c.entry.js → p-9bfaaf32.entry.js} +1 -1
  385. package/lib/duet/{p-932d0abe.entry.js → p-9d841e0f.entry.js} +1 -1
  386. package/lib/duet/{p-86285221.entry.js → p-9e8772d1.entry.js} +1 -1
  387. package/lib/duet/{p-f65559ab.entry.js → p-a01d2fdb.entry.js} +1 -1
  388. package/lib/duet/{p-f237623c.entry.js → p-a3351207.entry.js} +1 -1
  389. package/lib/duet/{p-4921ff47.entry.js → p-a3b8bb87.entry.js} +1 -1
  390. package/lib/duet/{p-6720adb2.entry.js → p-a5ebbe3e.entry.js} +1 -1
  391. package/lib/duet/{p-831c1f80.system.entry.js → p-a9a0f040.system.entry.js} +1 -1
  392. package/lib/duet/p-abdbce02.system.js +4 -0
  393. package/lib/duet/{p-d69aa4c2.system.entry.js → p-abe6350b.system.entry.js} +1 -1
  394. package/lib/duet/{p-1bbf5af6.entry.js → p-afa0c531.entry.js} +1 -1
  395. package/lib/duet/{p-9f931d57.js → p-b263e985.js} +1 -1
  396. package/lib/duet/{p-aab87987.system.entry.js → p-b2ccffd1.system.entry.js} +1 -1
  397. package/lib/duet/{p-7e1fe8b7.entry.js → p-b3e26504.entry.js} +1 -1
  398. package/lib/duet/{p-3a63ecd6.system.entry.js → p-b507f27d.system.entry.js} +1 -1
  399. package/lib/duet/{p-c8a02bae.entry.js → p-b9140794.entry.js} +1 -1
  400. package/lib/duet/{p-b84be662.entry.js → p-b9c1d172.entry.js} +1 -1
  401. package/lib/duet/{p-3e03e275.entry.js → p-ba89aaf0.entry.js} +1 -1
  402. package/lib/duet/{p-78a54e54.system.entry.js → p-ba92e7b1.system.entry.js} +1 -1
  403. package/lib/duet/{p-2d9cdfdb.entry.js → p-c03920c0.entry.js} +1 -1
  404. package/lib/duet/{p-b3ee2fd3.entry.js → p-c16515e0.entry.js} +1 -1
  405. package/lib/duet/{p-5f71c6eb.entry.js → p-c28792a8.entry.js} +1 -1
  406. package/lib/duet/{p-b230e70f.system.entry.js → p-c8466623.system.entry.js} +1 -1
  407. package/lib/duet/{p-a2fb2ad9.system.entry.js → p-c9221359.system.entry.js} +1 -1
  408. package/lib/duet/{p-7bb37b2e.entry.js → p-c9c43026.entry.js} +1 -1
  409. package/lib/duet/{p-59eeaac0.system.entry.js → p-ca5cd66a.system.entry.js} +1 -1
  410. package/lib/duet/p-ccb58dd2.entry.js +4 -0
  411. package/lib/duet/{p-03043dae.entry.js → p-cea6ffda.entry.js} +1 -1
  412. package/lib/duet/{p-cd1d3fe8.system.entry.js → p-cfdea256.system.entry.js} +1 -1
  413. package/lib/duet/p-cff7873f.entry.js +4 -0
  414. package/lib/duet/{p-1bdd4caa.system.entry.js → p-d36935fa.system.entry.js} +1 -1
  415. package/lib/duet/{p-a014d5d9.system.entry.js → p-d3aed7d8.system.entry.js} +1 -1
  416. package/lib/duet/{p-efe336c5.entry.js → p-d7175aea.entry.js} +1 -1
  417. package/lib/duet/{p-0667f70f.system.entry.js → p-d7f9ea61.system.entry.js} +1 -1
  418. package/lib/duet/{p-ebc2f8fc.system.entry.js → p-d8144268.system.entry.js} +1 -1
  419. package/lib/duet/{p-37be8296.entry.js → p-d84be985.entry.js} +1 -1
  420. package/lib/duet/{p-6fdbd448.system.entry.js → p-d864a0e3.system.entry.js} +1 -1
  421. package/lib/duet/{p-ba9103db.entry.js → p-da0e04fa.entry.js} +1 -1
  422. package/lib/duet/{p-ea4fda73.entry.js → p-dcaed1b0.entry.js} +1 -1
  423. package/lib/duet/{p-ecef885c.system.entry.js → p-e0db152c.system.entry.js} +1 -1
  424. package/lib/duet/p-e19067f1.js +4 -0
  425. package/lib/duet/p-e276fee0.js +4 -0
  426. package/lib/duet/{p-52c59c2c.system.entry.js → p-e27a4bf4.system.entry.js} +1 -1
  427. package/lib/duet/{p-0fd839a0.system.entry.js → p-e3c31f72.system.entry.js} +1 -1
  428. package/lib/duet/{p-74553378.system.entry.js → p-e72a7aa6.system.entry.js} +1 -1
  429. package/lib/duet/{p-7023e868.system.entry.js → p-e79d2de2.system.entry.js} +1 -1
  430. package/lib/duet/{p-00b69a62.system.entry.js → p-e7b6657c.system.entry.js} +1 -1
  431. package/lib/duet/{p-c1175891.entry.js → p-e7ffb722.entry.js} +1 -1
  432. package/lib/duet/{p-551ecb84.system.entry.js → p-ed8efd4d.system.entry.js} +1 -1
  433. package/lib/duet/{p-ce96df8c.entry.js → p-f1843c31.entry.js} +1 -1
  434. package/lib/duet/{p-37d69db5.system.entry.js → p-f43327c2.system.entry.js} +1 -1
  435. package/lib/duet/{p-7308b57e.entry.js → p-f61c00e3.entry.js} +1 -1
  436. package/lib/duet/{p-ccd19d96.entry.js → p-f7e13990.entry.js} +1 -1
  437. package/lib/duet/{p-c75daf42.entry.js → p-f801f2a7.entry.js} +1 -1
  438. package/lib/duet/{p-8dbbed25.entry.js → p-fa6061c9.entry.js} +1 -1
  439. package/lib/duet/{p-0d7d648a.system.entry.js → p-fbbfcc2d.system.entry.js} +1 -1
  440. package/lib/duet/{p-660bc31f.entry.js → p-fcb84038.entry.js} +1 -1
  441. package/lib/duet/{p-550162dd.entry.js → p-fdeb4f7d.entry.js} +1 -1
  442. package/lib/duet/{p-f2f0f553.system.entry.js → p-fe79a10c.system.entry.js} +1 -1
  443. package/lib/duet/{p-a1093ef2.entry.js → p-fea9215a.entry.js} +1 -1
  444. package/lib/duet/{p-cee353f7.entry.js → p-fefcaeb4.entry.js} +1 -1
  445. package/lib/duet/{p-04dc3f5f.system.entry.js → p-ffdb9d3f.system.entry.js} +1 -1
  446. package/lib/esm/duet-action-button.entry.js +3 -3
  447. package/lib/esm/duet-alert.entry.js +2 -2
  448. package/lib/esm/duet-badge.entry.js +1 -1
  449. package/lib/esm/duet-banner.entry.js +2 -2
  450. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  451. package/lib/esm/duet-breadcrumbs.entry.js +2 -2
  452. package/lib/esm/duet-button_2.entry.js +2 -2
  453. package/lib/esm/duet-callout.entry.js +1 -1
  454. package/lib/esm/duet-caption_4.entry.js +2 -2
  455. package/lib/esm/duet-card.entry.js +3 -3
  456. package/lib/esm/duet-checkbox.entry.js +1 -1
  457. package/lib/esm/duet-checkmark.entry.js +1 -1
  458. package/lib/esm/duet-chip.entry.js +2 -2
  459. package/lib/esm/duet-choice_2.entry.js +3 -3
  460. package/lib/esm/duet-collapsible.entry.js +2 -2
  461. package/lib/esm/duet-combobox.entry.js +2 -2
  462. package/lib/esm/duet-contact-card.entry.js +1 -1
  463. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  464. package/lib/esm/duet-date-picker.entry.js +2 -2
  465. package/lib/esm/duet-divider_2.entry.js +2 -2
  466. package/lib/esm/duet-editable-table_3.entry.js +3 -3
  467. package/lib/esm/duet-empty-state.entry.js +1 -1
  468. package/lib/esm/duet-fieldset.entry.js +1 -1
  469. package/lib/esm/duet-file-chooser.entry.js +1 -1
  470. package/lib/esm/duet-footer.entry.js +2 -2
  471. package/lib/esm/duet-grid_2.entry.js +1 -1
  472. package/lib/esm/duet-header_2.entry.js +2 -2
  473. package/lib/esm/duet-hero.entry.js +2 -2
  474. package/lib/esm/duet-icon.entry.js +2 -2
  475. package/lib/esm/duet-input_2.entry.js +3 -3
  476. package/lib/esm/duet-layout.entry.js +1 -1
  477. package/lib/esm/duet-list_2.entry.js +1 -1
  478. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  479. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  480. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  481. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  482. package/lib/esm/duet-menu-bar.entry.js +1 -1
  483. package/lib/esm/duet-modal.entry.js +3 -3
  484. package/lib/esm/duet-multiselect.entry.js +2 -2
  485. package/lib/esm/duet-nav.entry.js +3 -3
  486. package/lib/esm/duet-notification_2.entry.js +2 -2
  487. package/lib/esm/duet-number-input.entry.js +2 -2
  488. package/lib/esm/duet-page-heading.entry.js +1 -1
  489. package/lib/esm/duet-pagination_2.entry.js +3 -3
  490. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  491. package/lib/esm/duet-popup-menu.entry.js +3 -3
  492. package/lib/esm/duet-progress.entry.js +1 -1
  493. package/lib/esm/duet-promo-card.entry.js +2 -2
  494. package/lib/esm/duet-radio_2.entry.js +1 -1
  495. package/lib/esm/duet-range-slider.entry.js +2 -2
  496. package/lib/esm/duet-scrollable_3.entry.js +89 -6
  497. package/lib/esm/duet-section-layout.entry.js +1 -1
  498. package/lib/esm/duet-select.entry.js +1 -1
  499. package/lib/esm/duet-shaped-image.entry.js +1 -1
  500. package/lib/esm/duet-show-more.entry.js +2 -2
  501. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  502. package/lib/esm/duet-slideout-link.entry.js +1 -1
  503. package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
  504. package/lib/esm/duet-slideout-panel.entry.js +10 -7
  505. package/lib/esm/duet-slideout.entry.js +14 -5
  506. package/lib/esm/duet-step_2.entry.js +2 -2
  507. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  508. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  509. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  510. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  511. package/lib/esm/duet-textarea.entry.js +1 -1
  512. package/lib/esm/duet-toggle.entry.js +2 -2
  513. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  514. package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
  515. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  516. package/lib/esm/duet-toolbar.entry.js +1 -1
  517. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  518. package/lib/esm/duet-tooltip.entry.js +15 -18
  519. package/lib/esm/duet-tray.entry.js +2 -2
  520. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  521. package/lib/esm/duet-upload-item.entry.js +1 -1
  522. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  523. package/lib/esm/duet.js +3 -3
  524. package/lib/esm/{focus-utils-6bb7f477.js → focus-utils-a9110b59.js} +1 -1
  525. package/lib/esm/{index-eeb87403.js → index-ad0e5e61.js} +1 -1
  526. package/lib/esm/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +2 -1
  527. package/lib/esm/loader.js +3 -3
  528. package/lib/esm/{token-utils-d09165bc.js → token-utils-0c77cb3c.js} +23 -2
  529. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  530. package/lib/esm-es5/duet-alert.entry.js +1 -1
  531. package/lib/esm-es5/duet-badge.entry.js +1 -1
  532. package/lib/esm-es5/duet-banner.entry.js +1 -1
  533. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  534. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  535. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  536. package/lib/esm-es5/duet-callout.entry.js +1 -1
  537. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  538. package/lib/esm-es5/duet-card.entry.js +1 -1
  539. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  540. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  541. package/lib/esm-es5/duet-chip.entry.js +1 -1
  542. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  543. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  544. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  545. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  546. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  547. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  548. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  549. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  550. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  551. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  552. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  553. package/lib/esm-es5/duet-footer.entry.js +1 -1
  554. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  555. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  556. package/lib/esm-es5/duet-hero.entry.js +1 -1
  557. package/lib/esm-es5/duet-icon.entry.js +1 -1
  558. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  559. package/lib/esm-es5/duet-layout.entry.js +1 -1
  560. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  561. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  562. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  563. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  564. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  565. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  566. package/lib/esm-es5/duet-modal.entry.js +1 -1
  567. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  568. package/lib/esm-es5/duet-nav.entry.js +1 -1
  569. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  570. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  571. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  572. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  573. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  574. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  575. package/lib/esm-es5/duet-progress.entry.js +1 -1
  576. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  577. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  578. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  579. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  580. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  581. package/lib/esm-es5/duet-select.entry.js +1 -1
  582. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  583. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  584. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  585. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  586. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  587. package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
  588. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  589. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  590. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  591. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  592. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  593. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  594. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  595. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  596. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  597. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  598. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  599. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  600. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  601. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  602. package/lib/esm-es5/duet-tray.entry.js +1 -1
  603. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  604. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  605. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  606. package/lib/esm-es5/duet.js +1 -1
  607. package/lib/esm-es5/{focus-utils-6bb7f477.js → focus-utils-a9110b59.js} +1 -1
  608. package/lib/esm-es5/{index-eeb87403.js → index-ad0e5e61.js} +1 -1
  609. package/lib/esm-es5/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +1 -1
  610. package/lib/esm-es5/loader.js +1 -1
  611. package/lib/esm-es5/token-utils-0c77cb3c.js +4 -0
  612. package/lib/types/components/duet-slideout/duet-slideout.d.ts +1 -0
  613. package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +4 -0
  614. package/lib/types/components/duet-tab/duet-tab.d.ts +22 -2
  615. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +2 -1
  616. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -2
  617. package/lib/types/components.d.ts +22 -2
  618. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  619. package/lib/types/utils/token-utils.d.ts +1 -0
  620. package/package.json +5 -5
  621. package/lib/duet/p-0b5a8f35.system.entry.js +0 -4
  622. package/lib/duet/p-0c61244e.entry.js +0 -4
  623. package/lib/duet/p-202208dc.entry.js +0 -4
  624. package/lib/duet/p-23354cf7.system.js +0 -4
  625. package/lib/duet/p-27bdda1e.js +0 -4
  626. package/lib/duet/p-2bb2b022.js +0 -4
  627. package/lib/duet/p-3ecd388c.system.entry.js +0 -4
  628. package/lib/duet/p-4dd4b992.entry.js +0 -4
  629. package/lib/duet/p-5795b0d9.system.js +0 -4
  630. package/lib/duet/p-74591e44.system.entry.js +0 -4
  631. package/lib/duet/p-94c3e67c.system.entry.js +0 -4
  632. package/lib/duet/p-9dff8650.js +0 -4
  633. package/lib/duet/p-bbd9ecae.entry.js +0 -4
  634. package/lib/duet/p-c3722531.system.entry.js +0 -4
  635. package/lib/duet/p-d840ef25.entry.js +0 -4
  636. package/lib/duet/p-e6949dbe.entry.js +0 -4
  637. package/lib/duet/p-f08d659e.entry.js +0 -4
  638. package/lib/duet/p-f64ba41c.entry.js +0 -4
  639. package/lib/duet/p-f7c03d05.entry.js +0 -4
  640. package/lib/esm-es5/token-utils-d09165bc.js +0 -4
@@ -2,9 +2,48 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { Build, h } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
6
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
5
7
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLocaleString, } from "../../utils/language-utils";
8
+ import { getShadowByName } from "../../utils/token-utils";
6
9
  export class DuetTab {
7
10
  constructor() {
11
+ this.setupContentElement = () => {
12
+ if (this.contentId) {
13
+ this.tabpanelElement = document.getElementById(this.contentId);
14
+ if (this.tabpanelElement) {
15
+ this.tabpanelElement.setAttribute("role", "tabpanel");
16
+ this.tabpanelElement.setAttribute("tabindex", "-1");
17
+ this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener);
18
+ this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener);
19
+ this.tabpanelElement.addEventListener("focus", this.tabpanelElementFocusListener);
20
+ this.tabpanelElement.addEventListener("blur", this.tabpanelElementBlurListener);
21
+ if (this.accessibleDescription) {
22
+ this.tabpanelElement.setAttribute("aria-description", this.accessibleDescription);
23
+ }
24
+ if (this.accessibleLabelledBy) {
25
+ this.tabpanelElement.setAttribute("aria-labelledby", this.accessibleLabelledBy);
26
+ }
27
+ if (this.selected) {
28
+ this.tabpanelElement.toggleAttribute("hidden", false);
29
+ }
30
+ else {
31
+ this.tabpanelElement.toggleAttribute("hidden", true);
32
+ }
33
+ }
34
+ }
35
+ };
36
+ this.tabpanelElementFocusListener = () => {
37
+ if (this.element.classList.contains("user-is-tabbing")) {
38
+ this.tabpanelElement.style.outline = "0";
39
+ this.tabpanelElement.style.boxShadow = getShadowByName(this.theme === "turva" ? "focus-turva" : "focus");
40
+ }
41
+ };
42
+ this.tabpanelElementBlurListener = () => {
43
+ this.tabpanelElement.style.outline = null;
44
+ this.tabpanelElement.style.boxShadow = null;
45
+ };
46
+ this.theme = "";
8
47
  this.label = undefined;
9
48
  this.caption = undefined;
10
49
  this.selected = undefined;
@@ -14,15 +53,44 @@ export class DuetTab {
14
53
  ? getLocaleString(this.accessibleDescriptionDefault)
15
54
  : null;
16
55
  this.accessibleLabelledBy = undefined;
56
+ this.contentId = undefined;
57
+ }
58
+ componentWillLoad() {
59
+ inheritGlobalTheme(this);
17
60
  }
18
61
  /**
19
62
  * Component lifecycle events.
20
63
  */
21
64
  connectedCallback() {
22
65
  connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
66
+ subscribeTabbingChange(this);
67
+ this.setupContentElement();
23
68
  }
24
69
  disconnectedCallback() {
25
70
  disconnectLanguageChangeObserver(this);
71
+ unsubscribeTabbingChange(this);
72
+ if (this.tabpanelElement) {
73
+ this.tabpanelElement.removeAttribute("role");
74
+ this.tabpanelElement.removeAttribute("tabindex");
75
+ this.tabpanelElement.removeAttribute("aria-description");
76
+ this.tabpanelElement.removeAttribute("aria-labelledby");
77
+ this.tabpanelElement.removeAttribute("hidden");
78
+ this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener.bind(this));
79
+ this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener.bind(this));
80
+ this.tabpanelElement = undefined;
81
+ }
82
+ }
83
+ setupSelected(newValue, oldValue) {
84
+ if (!!newValue === !!oldValue) {
85
+ return;
86
+ }
87
+ this.setupContentElement();
88
+ }
89
+ /**
90
+ * Sets focus on the tab panel.
91
+ */
92
+ async setFocus(options) {
93
+ this.tabpanelElement.focus(options);
26
94
  }
27
95
  /**
28
96
  * render() function
@@ -32,7 +100,16 @@ export class DuetTab {
32
100
  if (Build.isServer) {
33
101
  return;
34
102
  }
35
- return (h("div", { role: "tabpanel", class: { "duet-tab": true, selected: this.selected }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy }, h("slot", null)));
103
+ return (h("div", { ref: element => {
104
+ if (!this.contentId) {
105
+ this.tabpanelElement = element;
106
+ }
107
+ }, role: "tabpanel", class: {
108
+ "duet-theme-turva": this.theme === "turva",
109
+ "duet-tab": true,
110
+ selected: this.selected,
111
+ "has-content-id": !!this.contentId,
112
+ }, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy, tabindex: "-1" }, h("slot", null)));
36
113
  }
37
114
  static get is() { return "duet-tab"; }
38
115
  static get encapsulation() { return "scoped"; }
@@ -48,6 +125,30 @@ export class DuetTab {
48
125
  }
49
126
  static get properties() {
50
127
  return {
128
+ "theme": {
129
+ "type": "string",
130
+ "mutable": true,
131
+ "complexType": {
132
+ "original": "DuetTheme",
133
+ "resolved": "\"\" | \"default\" | \"turva\"",
134
+ "references": {
135
+ "DuetTheme": {
136
+ "location": "import",
137
+ "path": "../../common-types",
138
+ "id": "src/common-types.d.ts::DuetTheme"
139
+ }
140
+ }
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "Theme of the component."
147
+ },
148
+ "attribute": "theme",
149
+ "reflect": false,
150
+ "defaultValue": "\"\""
151
+ },
51
152
  "label": {
52
153
  "type": "string",
53
154
  "mutable": false,
@@ -164,8 +265,61 @@ export class DuetTab {
164
265
  "attribute": "accessible-labelled-by",
165
266
  "reflect": false,
166
267
  "defaultValue": "undefined"
268
+ },
269
+ "contentId": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "string",
274
+ "resolved": "string",
275
+ "references": {}
276
+ },
277
+ "required": false,
278
+ "optional": false,
279
+ "docs": {
280
+ "tags": [],
281
+ "text": "HTML id of element that is to be used when opening this tab.\nThis enables decoupling the content from the tab buttons."
282
+ },
283
+ "attribute": "content-id",
284
+ "reflect": false,
285
+ "defaultValue": "undefined"
286
+ }
287
+ };
288
+ }
289
+ static get methods() {
290
+ return {
291
+ "setFocus": {
292
+ "complexType": {
293
+ "signature": "(options?: FocusOptions) => Promise<void>",
294
+ "parameters": [{
295
+ "name": "options",
296
+ "type": "FocusOptions",
297
+ "docs": ""
298
+ }],
299
+ "references": {
300
+ "Promise": {
301
+ "location": "global",
302
+ "id": "global::Promise"
303
+ },
304
+ "FocusOptions": {
305
+ "location": "global",
306
+ "id": "global::FocusOptions"
307
+ }
308
+ },
309
+ "return": "Promise<void>"
310
+ },
311
+ "docs": {
312
+ "text": "Sets focus on the tab panel.",
313
+ "tags": []
314
+ }
167
315
  }
168
316
  };
169
317
  }
170
318
  static get elementRef() { return "element"; }
319
+ static get watchers() {
320
+ return [{
321
+ "propName": "selected",
322
+ "methodName": "setupSelected"
323
+ }];
324
+ }
171
325
  }
@@ -4,7 +4,7 @@
4
4
  import { h } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { createID } from "../../utils/create-id";
7
- import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, subscribeTabbingChange, unsubscribeTabbingChange, } from "../../utils/keyboard-utils";
7
+ import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isShiftTabKey, isTabKey, subscribeTabbingChange, unsubscribeTabbingChange, } from "../../utils/keyboard-utils";
8
8
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
9
9
  /**
10
10
  * @part ${identifier}-button - piercing selector for styling tab buttons
@@ -24,6 +24,10 @@ export class DuetTabGroup {
24
24
  else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
25
25
  button = ev.target.nextElementSibling;
26
26
  }
27
+ if (isTabKey(ev) && !isShiftTabKey(ev)) {
28
+ ev.preventDefault();
29
+ this.element.querySelector("duet-tab[selected]").setFocus();
30
+ }
27
31
  if (button) {
28
32
  ev.preventDefault();
29
33
  button.click();
@@ -56,7 +60,7 @@ export class DuetTabGroup {
56
60
  };
57
61
  this.renderTab = () => {
58
62
  const renderedTabs = this.tabs.map((element, index) => {
59
- return (h("button", { role: "tab", id: this.getButtonId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), tabindex: index === 0 ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
63
+ return (h("button", { role: "tab", id: this.getButtonId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), tabindex: element.selected ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
60
64
  "duet-p-0": this.padding === "none",
61
65
  "duet-tab-button": true,
62
66
  "stackable-tab": this.variation === "checked" && this.tabs.length <= 3,
@@ -214,7 +218,7 @@ export class DuetTabGroup {
214
218
  "duet-tab-group-collapses": this.collapses,
215
219
  }, ref: el => {
216
220
  this.tabsContainer = el;
217
- } }, this.renderTab()), h("div", { role: "tabpanel", tabindex: this.setTabIndex ? "0" : null, class: {
221
+ } }, this.renderTab()), h("div", { class: {
218
222
  "duet-tab-group-content": true,
219
223
  "duet-m-0": this.margin === "none",
220
224
  "checked-group-content": this.variation === "checked",
@@ -321,7 +325,7 @@ export class DuetTabGroup {
321
325
  "references": {
322
326
  "DuetTabVariation": {
323
327
  "location": "local",
324
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
328
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
325
329
  "id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabVariation"
326
330
  }
327
331
  }
@@ -509,8 +513,11 @@ export class DuetTabGroup {
509
513
  "required": false,
510
514
  "optional": false,
511
515
  "docs": {
512
- "tags": [],
513
- "text": "Controls if tab content should have tab index and be accessible by pressing tab"
516
+ "tags": [{
517
+ "name": "deprecated",
518
+ "text": "in favour of Duet Tab component owning the tab indexing\nControls if tab container should have tab index and be accessible by pressing tab"
519
+ }],
520
+ "text": ""
514
521
  },
515
522
  "attribute": "set-tab-index",
516
523
  "reflect": false,
@@ -562,7 +569,7 @@ export class DuetTabGroup {
562
569
  "references": {
563
570
  "DuetTabGroupEvent": {
564
571
  "location": "local",
565
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
572
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
566
573
  "id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
567
574
  }
568
575
  }
@@ -583,7 +590,7 @@ export class DuetTabGroup {
583
590
  "references": {
584
591
  "DuetTabGroupEvent": {
585
592
  "location": "local",
586
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
593
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
587
594
  "id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
588
595
  }
589
596
  }
@@ -604,7 +611,7 @@ export class DuetTabGroup {
604
611
  "references": {
605
612
  "DuetTabGroupEvent": {
606
613
  "location": "local",
607
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
614
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
608
615
  "id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
609
616
  }
610
617
  }
@@ -628,7 +635,7 @@ export class DuetTabGroup {
628
635
  },
629
636
  "DuetTabGroupEvent": {
630
637
  "location": "local",
631
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
638
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
632
639
  "id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
633
640
  }
634
641
  },
@@ -806,7 +806,7 @@ export class DuetTextarea {
806
806
  "references": {
807
807
  "DuetTextareaEvent": {
808
808
  "location": "local",
809
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-textarea/duet-textarea.tsx",
809
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
810
810
  "id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
811
811
  }
812
812
  }
@@ -827,7 +827,7 @@ export class DuetTextarea {
827
827
  "references": {
828
828
  "DuetTextareaEvent": {
829
829
  "location": "local",
830
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-textarea/duet-textarea.tsx",
830
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
831
831
  "id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
832
832
  }
833
833
  }
@@ -848,7 +848,7 @@ export class DuetTextarea {
848
848
  "references": {
849
849
  "DuetTextareaEvent": {
850
850
  "location": "local",
851
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-textarea/duet-textarea.tsx",
851
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
852
852
  "id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
853
853
  }
854
854
  }
@@ -869,7 +869,7 @@ export class DuetTextarea {
869
869
  "references": {
870
870
  "DuetTextareaEvent": {
871
871
  "location": "local",
872
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-textarea/duet-textarea.tsx",
872
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
873
873
  "id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
874
874
  }
875
875
  }
@@ -486,7 +486,7 @@ export class DuetToggle {
486
486
  "references": {
487
487
  "DuetToggleChangeEvent": {
488
488
  "location": "local",
489
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-toggle/duet-toggle.tsx",
489
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-toggle/duet-toggle.tsx",
490
490
  "id": "src/components/duet-toggle/duet-toggle.tsx::DuetToggleChangeEvent"
491
491
  }
492
492
  }
@@ -58,7 +58,7 @@ export class DuetToolbarDropdown {
58
58
  } }, h("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
59
59
  active: this.active,
60
60
  open: this.open,
61
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("div", { class: "label" }, h("slot", { name: "label" }), h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
61
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("span", { class: "label" }, h("slot", { name: "label" }), h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
62
62
  items: true,
63
63
  hidden: !this.open,
64
64
  } }, h("slot", null)))));
@@ -14,30 +14,35 @@ async function openWithClick(page) {
14
14
  const popup = await getPopup(page);
15
15
  await trigger.click();
16
16
  await popup.waitForVisible();
17
+ await page.waitForChanges();
17
18
  }
18
19
  async function closeWithClick(page) {
19
20
  const trigger = await getTrigger(page);
20
21
  const popup = await getPopup(page);
21
22
  await trigger.click();
22
23
  await popup.waitForNotVisible();
24
+ await page.waitForChanges();
23
25
  }
24
26
  async function clickOutside(page) {
25
27
  const popup = await getPopup(page);
26
28
  await page.mouse.click(0, 0);
27
29
  await page.waitForChanges();
28
30
  await popup.waitForNotVisible();
31
+ await page.waitForChanges();
29
32
  }
30
33
  async function clickCloseButton(page) {
31
34
  const popup = await getPopup(page);
32
35
  const closeButton = await page.find(`duet-tooltip-popup >>> .duet-tooltip-close`);
33
36
  await closeButton.click();
34
37
  await popup.waitForNotVisible();
38
+ await page.waitForChanges();
35
39
  }
36
40
  async function closeWithEsc(page) {
37
41
  const popup = await getPopup(page);
38
42
  await page.keyboard.press("Escape");
39
43
  await page.waitForChanges();
40
44
  await popup.waitForNotVisible();
45
+ await page.waitForChanges();
41
46
  }
42
47
  describe("duet-tooltip", () => {
43
48
  it("should render a tooltip", async () => {
@@ -28,13 +28,21 @@ export class DuetTooltip {
28
28
  */
29
29
  this.openTooltip = () => {
30
30
  this.active = true;
31
- this.focusTarget = "tooltip";
31
+ setTimeout(() => {
32
+ this.contentEl.focus({ preventScroll: true });
33
+ this.buttonActive = true;
34
+ }, 200);
32
35
  };
33
36
  this.closeTooltip = (moveFocusToButton = false) => {
34
37
  this.active = false;
35
38
  if (moveFocusToButton) {
36
- this.focusTarget = "trigger";
39
+ setTimeout(() => {
40
+ this.buttonEl.setFocus({ preventScroll: true });
41
+ }, 200);
37
42
  }
43
+ setTimeout(() => {
44
+ this.buttonActive = false;
45
+ }, 201);
38
46
  setTimeout(() => {
39
47
  this.updatePlacement();
40
48
  }, 200);
@@ -73,6 +81,7 @@ export class DuetTooltip {
73
81
  this.tooltipX = undefined;
74
82
  this.arrowX = undefined;
75
83
  this.arrowY = undefined;
84
+ this.buttonActive = undefined;
76
85
  this.theme = "";
77
86
  this.language = getLanguage();
78
87
  this.accessibleLabelDefault = {
@@ -106,6 +115,7 @@ export class DuetTooltip {
106
115
  if (Build.isServer) {
107
116
  return;
108
117
  }
118
+ this.buttonActive = this.active;
109
119
  this.arrowEl = await this.popupElement.getArrowElement();
110
120
  this.contentEl = await this.popupElement.getContentElement();
111
121
  this.updatePlacement();
@@ -115,19 +125,6 @@ export class DuetTooltip {
115
125
  this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
116
126
  this.intersectionObserver.observe(this.element);
117
127
  }
118
- componentDidUpdate() {
119
- switch (this.focusTarget) {
120
- case "tooltip":
121
- // delay focus so button is correctly announced as "expanded"
122
- setTimeout(() => this.contentEl.focus({ preventScroll: true }));
123
- break;
124
- case "trigger":
125
- // delay focus so button is correctly announced as "collapsed"
126
- setTimeout(() => this.buttonEl.setFocus({ preventScroll: true }));
127
- break;
128
- }
129
- this.focusTarget = null;
130
- }
131
128
  connectedCallback() {
132
129
  connectLanguageChangeObserver(this, [
133
130
  { prop: "accessibleLabel", defaults: "accessibleLabelDefault" },
@@ -210,7 +207,7 @@ export class DuetTooltip {
210
207
  top: this.arrowY ? `${this.arrowY}px` : undefined,
211
208
  left: this.arrowX ? `${this.arrowX}px` : undefined,
212
209
  };
213
- return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.active, tooltipId: this.tooltipId, label: this.label, accessibleLabel: (this.accessibleInputLabel && `${this.accessibleInputLabel}, ${this.accessibleLabel}`) ||
210
+ return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.buttonActive, tooltipId: this.tooltipId, label: this.label, accessibleLabel: (this.accessibleInputLabel && `${this.accessibleInputLabel}, ${this.accessibleLabel}`) ||
214
211
  (this.accessibleAboutLabel &&
215
212
  `${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`) ||
216
213
  this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme }), h("div", { style: popupContainerStyles }, h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null)))));
@@ -443,7 +440,7 @@ export class DuetTooltip {
443
440
  "references": {
444
441
  "DuetTooltipBreakpoint": {
445
442
  "location": "local",
446
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tooltip/duet-tooltip.tsx",
443
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tooltip/duet-tooltip.tsx",
447
444
  "id": "src/components/duet-tooltip/duet-tooltip.tsx::DuetTooltipBreakpoint"
448
445
  }
449
446
  }
@@ -544,7 +541,8 @@ export class DuetTooltip {
544
541
  "tooltipY": {},
545
542
  "tooltipX": {},
546
543
  "arrowX": {},
547
- "arrowY": {}
544
+ "arrowY": {},
545
+ "buttonActive": {}
548
546
  };
549
547
  }
550
548
  static get elementRef() { return "element"; }
@@ -991,7 +991,7 @@ export class DuetUpload {
991
991
  "references": {
992
992
  "XHRInternalMiddleWare": {
993
993
  "location": "local",
994
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
994
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
995
995
  "id": "src/components/duet-upload/duet-upload.tsx::XHRInternalMiddleWare"
996
996
  }
997
997
  }
@@ -1377,7 +1377,7 @@ export class DuetUpload {
1377
1377
  "references": {
1378
1378
  "StringMap": {
1379
1379
  "location": "local",
1380
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
1380
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
1381
1381
  "id": "src/components/duet-upload/duet-upload.tsx::StringMap"
1382
1382
  }
1383
1383
  }
@@ -1923,7 +1923,7 @@ export class DuetUpload {
1923
1923
  "references": {
1924
1924
  "DuetUploadTableGroupName": {
1925
1925
  "location": "local",
1926
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
1926
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
1927
1927
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadTableGroupName"
1928
1928
  }
1929
1929
  }
@@ -1966,7 +1966,7 @@ export class DuetUpload {
1966
1966
  "references": {
1967
1967
  "DuetUploadEvent": {
1968
1968
  "location": "local",
1969
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
1969
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
1970
1970
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
1971
1971
  }
1972
1972
  }
@@ -1987,7 +1987,7 @@ export class DuetUpload {
1987
1987
  "references": {
1988
1988
  "DuetUploadEvent": {
1989
1989
  "location": "local",
1990
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
1990
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
1991
1991
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
1992
1992
  }
1993
1993
  }
@@ -2008,7 +2008,7 @@ export class DuetUpload {
2008
2008
  "references": {
2009
2009
  "DuetUploadEvent": {
2010
2010
  "location": "local",
2011
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2011
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2012
2012
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2013
2013
  }
2014
2014
  }
@@ -2029,7 +2029,7 @@ export class DuetUpload {
2029
2029
  "references": {
2030
2030
  "DuetUploadEvent": {
2031
2031
  "location": "local",
2032
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2032
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2033
2033
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2034
2034
  }
2035
2035
  }
@@ -2050,7 +2050,7 @@ export class DuetUpload {
2050
2050
  "references": {
2051
2051
  "DuetUploadEvent": {
2052
2052
  "location": "local",
2053
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2053
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2054
2054
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2055
2055
  }
2056
2056
  }
@@ -2071,7 +2071,7 @@ export class DuetUpload {
2071
2071
  "references": {
2072
2072
  "DuetUploadEvent": {
2073
2073
  "location": "local",
2074
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2074
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2075
2075
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2076
2076
  }
2077
2077
  }
@@ -2092,7 +2092,7 @@ export class DuetUpload {
2092
2092
  "references": {
2093
2093
  "DuetUploadEvent": {
2094
2094
  "location": "local",
2095
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2095
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2096
2096
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2097
2097
  }
2098
2098
  }
@@ -2113,7 +2113,7 @@ export class DuetUpload {
2113
2113
  "references": {
2114
2114
  "DuetUploadEvent": {
2115
2115
  "location": "local",
2116
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2116
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2117
2117
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2118
2118
  }
2119
2119
  }
@@ -2134,7 +2134,7 @@ export class DuetUpload {
2134
2134
  "references": {
2135
2135
  "DuetUploadEvent": {
2136
2136
  "location": "local",
2137
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2137
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2138
2138
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2139
2139
  }
2140
2140
  }
@@ -2155,7 +2155,7 @@ export class DuetUpload {
2155
2155
  "references": {
2156
2156
  "DuetUploadEvent": {
2157
2157
  "location": "local",
2158
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2158
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2159
2159
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2160
2160
  }
2161
2161
  }
@@ -2176,7 +2176,7 @@ export class DuetUpload {
2176
2176
  "references": {
2177
2177
  "DuetUploadEvent": {
2178
2178
  "location": "local",
2179
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx",
2179
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload/duet-upload.tsx",
2180
2180
  "id": "src/components/duet-upload/duet-upload.tsx::DuetUploadEvent"
2181
2181
  }
2182
2182
  }
@@ -142,7 +142,7 @@ export class DuetUploadItem {
142
142
  "references": {
143
143
  "ItemType": {
144
144
  "location": "local",
145
- "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload-item/duet-upload-item.tsx",
145
+ "path": "/Users/laaksju3/duetds/packages/components/src/components/duet-upload-item/duet-upload-item.tsx",
146
146
  "id": "src/components/duet-upload-item/duet-upload-item.tsx::ItemType"
147
147
  }
148
148
  }
@@ -7,6 +7,7 @@ export const isArrowRightKey = (e) => e.key === "ArrowRight" || e.key === "Right
7
7
  export const isArrowDownKey = (e) => e.key === "ArrowDown" || e.key === "Down";
8
8
  export const isArrowKey = (e) => isArrowDownKey(e) || isArrowRightKey(e) || isArrowUpKey(e) || isArrowLeftKey(e);
9
9
  export const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc";
10
+ export const isShiftTabKey = (e) => e.shiftKey && e.key === "Tab";
10
11
  export const isTabKey = (e) => e.key === "Tab";
11
12
  export const isBackspaceKey = (e) => e.key === "Backspace";
12
13
  export const isSpaceKey = (e) => e.key === " " || e.key === "Spacebar";
@@ -103,6 +103,9 @@ export function getFontSizeByName(name) {
103
103
  export function getFontWeightByName(name) {
104
104
  return getTokenByName("fontWeight", name);
105
105
  }
106
+ export function getShadowByName(name) {
107
+ return getTokenByName("shadow", name);
108
+ }
106
109
  export function rgbaColorFromRgb(color, opacity) {
107
110
  if (!color || (opacity !== 0 && !opacity)) {
108
111
  return undefined;