@duetds/components 8.1.0 → 8.1.1

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 (642) hide show
  1. package/hydrate/index.js +137 -61
  2. package/lib/cjs/app-globals-aece069f.js +28 -0
  3. package/lib/cjs/duet-action-button.cjs.entry.js +2 -2
  4. package/lib/cjs/duet-alert.cjs.entry.js +4 -1
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-banner.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +11 -2
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +13 -3
  12. package/lib/cjs/duet-card.cjs.entry.js +8 -2
  13. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-chip.cjs.entry.js +8 -1
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +5 -3
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +8 -2
  18. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +8 -1
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +2 -2
  24. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-footer.cjs.entry.js +4 -1
  28. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-header_2.cjs.entry.js +4 -2
  30. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-input_2.cjs.entry.js +2 -2
  33. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-modal.cjs.entry.js +3 -3
  41. package/lib/cjs/duet-multiselect.cjs.entry.js +2 -2
  42. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-notification_2.cjs.entry.js +6 -1
  44. package/lib/cjs/duet-number-input.cjs.entry.js +4 -2
  45. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-pagination_2.cjs.entry.js +2 -2
  47. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-popup-menu.cjs.entry.js +2 -2
  49. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-promo-card.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-range-slider.cjs.entry.js +8 -1
  53. package/lib/cjs/duet-scrollable_3.cjs.entry.js +4 -2
  54. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
  58. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  62. package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-step_2.cjs.entry.js +8 -2
  64. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  69. package/lib/cjs/duet-toggle.cjs.entry.js +8 -1
  70. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  71. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +2 -2
  72. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  74. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +13 -18
  75. package/lib/cjs/duet-tooltip.cjs.entry.js +7 -3
  76. package/lib/cjs/duet-tray.cjs.entry.js +4 -1
  77. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  79. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  80. package/lib/cjs/duet.cjs.js +3 -3
  81. package/lib/cjs/{focus-utils-9b549956.js → focus-utils-d0b70745.js} +1 -1
  82. package/lib/cjs/{index-ce232ed8.js → index-2dc54a15.js} +1 -1
  83. package/lib/cjs/keyboard-utils-7248dd0a.js +69 -0
  84. package/lib/cjs/loader.cjs.js +3 -3
  85. package/lib/collection/collection-manifest.json +1 -1
  86. package/lib/collection/components/duet-alert/duet-alert.js +3 -0
  87. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +34 -1
  88. package/lib/collection/components/duet-card/duet-card.js +7 -1
  89. package/lib/collection/components/duet-chip/duet-chip.js +7 -0
  90. package/lib/collection/components/duet-choice/duet-choice.js +3 -1
  91. package/lib/collection/components/duet-collapsible/duet-collapsible.js +7 -1
  92. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +7 -0
  93. package/lib/collection/components/duet-footer/duet-footer.js +3 -0
  94. package/lib/collection/components/duet-header/duet-header.js +3 -1
  95. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  96. package/lib/collection/components/duet-link/duet-link.js +12 -2
  97. package/lib/collection/components/duet-notification/duet-notification.js +3 -0
  98. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -0
  99. package/lib/collection/components/duet-number-input/duet-number-input.js +3 -1
  100. package/lib/collection/components/duet-range-slider/duet-range-slider.js +7 -0
  101. package/lib/collection/components/duet-slideout/duet-slideout.css +4 -10
  102. package/lib/collection/components/duet-step/duet-step.js +7 -1
  103. package/lib/collection/components/duet-tab-group/duet-tab-group.js +3 -1
  104. package/lib/collection/components/duet-toggle/duet-toggle.js +7 -0
  105. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +6 -28
  106. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +6 -28
  107. package/lib/collection/components/duet-tooltip/duet-tooltip.js +5 -1
  108. package/lib/collection/components/duet-tray/duet-tray.js +3 -0
  109. package/lib/collection/global/duet-global.js +0 -26
  110. package/lib/collection/utils/keyboard-utils.js +43 -12
  111. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  112. package/lib/dist-custom-elements/duet-alert.js +1 -1
  113. package/lib/dist-custom-elements/duet-badge.js +1 -1
  114. package/lib/dist-custom-elements/duet-banner.js +4 -4
  115. package/lib/dist-custom-elements/duet-breadcrumb.js +20 -4
  116. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  117. package/lib/dist-custom-elements/duet-button.js +1 -1
  118. package/lib/dist-custom-elements/duet-callout.js +3 -3
  119. package/lib/dist-custom-elements/duet-caption.js +1 -1
  120. package/lib/dist-custom-elements/duet-card.js +10 -4
  121. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  122. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  123. package/lib/dist-custom-elements/duet-chip.js +9 -2
  124. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  125. package/lib/dist-custom-elements/duet-choice.js +8 -6
  126. package/lib/dist-custom-elements/duet-collapsible.js +9 -3
  127. package/lib/dist-custom-elements/duet-combobox.js +3 -3
  128. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  129. package/lib/dist-custom-elements/duet-cookie-consent.js +13 -6
  130. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  131. package/lib/dist-custom-elements/duet-divider.js +1 -1
  132. package/lib/dist-custom-elements/duet-editable-table.js +8 -8
  133. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  134. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  135. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  136. package/lib/dist-custom-elements/duet-footer.js +7 -4
  137. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  138. package/lib/dist-custom-elements/duet-grid.js +1 -1
  139. package/lib/dist-custom-elements/duet-header.js +11 -9
  140. package/lib/dist-custom-elements/duet-heading.js +1 -1
  141. package/lib/dist-custom-elements/duet-hero.js +9 -9
  142. package/lib/dist-custom-elements/duet-icon.js +1 -1
  143. package/lib/dist-custom-elements/duet-input.js +1 -1
  144. package/lib/dist-custom-elements/duet-label.js +1 -1
  145. package/lib/dist-custom-elements/duet-layout.js +1 -1
  146. package/lib/dist-custom-elements/duet-link.js +1 -1
  147. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  148. package/lib/dist-custom-elements/duet-list.js +1 -1
  149. package/lib/dist-custom-elements/duet-logo.js +1 -1
  150. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  151. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +3 -3
  152. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  153. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  154. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  155. package/lib/dist-custom-elements/duet-modal.js +8 -8
  156. package/lib/dist-custom-elements/duet-multiselect.js +11 -11
  157. package/lib/dist-custom-elements/duet-nav.js +1 -1
  158. package/lib/dist-custom-elements/duet-notification-drawer.js +7 -4
  159. package/lib/dist-custom-elements/duet-notification.js +5 -2
  160. package/lib/dist-custom-elements/duet-number-input.js +14 -12
  161. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  162. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  163. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  164. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  165. package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
  166. package/lib/dist-custom-elements/duet-progress.js +1 -1
  167. package/lib/dist-custom-elements/duet-promo-card.js +3 -3
  168. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  169. package/lib/dist-custom-elements/duet-radio.js +1 -1
  170. package/lib/dist-custom-elements/duet-range-slider.js +9 -2
  171. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  172. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  173. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  174. package/lib/dist-custom-elements/duet-select.js +1 -1
  175. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  176. package/lib/dist-custom-elements/duet-show-more.js +6 -6
  177. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  178. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  179. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  180. package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
  181. package/lib/dist-custom-elements/duet-slideout.js +4 -4
  182. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  183. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  184. package/lib/dist-custom-elements/duet-step.js +11 -5
  185. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  186. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
  187. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  188. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  189. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  190. package/lib/dist-custom-elements/duet-tab-group.js +16 -14
  191. package/lib/dist-custom-elements/duet-tab.js +1 -1
  192. package/lib/dist-custom-elements/duet-table.js +1 -1
  193. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  194. package/lib/dist-custom-elements/duet-toggle.js +9 -2
  195. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +3 -3
  196. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +3 -3
  197. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  198. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  199. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  200. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  201. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  202. package/lib/dist-custom-elements/duet-tray.js +6 -3
  203. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  204. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  205. package/lib/dist-custom-elements/duet-upload.js +18 -18
  206. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  207. package/lib/dist-custom-elements/index.js +1 -27
  208. package/lib/dist-custom-elements/{p-6f7dcc4d.js → p-04a295c6.js} +1 -1
  209. package/lib/dist-custom-elements/{p-f91cddd9.js → p-064f1578.js} +11 -7
  210. package/lib/dist-custom-elements/{p-ce1cc5ab.js → p-0b123cad.js} +10 -13
  211. package/lib/dist-custom-elements/{p-3a17ba0c.js → p-0f8e290f.js} +5 -5
  212. package/lib/dist-custom-elements/{p-a6e6f578.js → p-10a15ea1.js} +1 -1
  213. package/lib/dist-custom-elements/{p-5fe36e8b.js → p-1224c98d.js} +4 -4
  214. package/lib/dist-custom-elements/{p-ff387a2f.js → p-1b2fea2b.js} +1 -1
  215. package/lib/dist-custom-elements/{p-4f43c247.js → p-1e4ca38f.js} +1 -1
  216. package/lib/dist-custom-elements/{p-d5fc2405.js → p-24ae0332.js} +1 -1
  217. package/lib/dist-custom-elements/{p-38b35e69.js → p-2613ae6a.js} +8 -8
  218. package/lib/dist-custom-elements/{p-98746766.js → p-435c14fe.js} +1 -1
  219. package/lib/dist-custom-elements/{p-598731b0.js → p-4391eb0d.js} +2 -2
  220. package/lib/dist-custom-elements/{p-86649f25.js → p-47247d7e.js} +11 -11
  221. package/lib/dist-custom-elements/{p-ba9ad148.js → p-490933fd.js} +1 -1
  222. package/lib/dist-custom-elements/{p-02eb68f2.js → p-5788a98f.js} +1 -1
  223. package/lib/dist-custom-elements/{p-0825cbc5.js → p-5e1cd480.js} +9 -12
  224. package/lib/dist-custom-elements/{p-6fbb1970.js → p-618174a5.js} +1 -1
  225. package/lib/dist-custom-elements/{p-a45d0398.js → p-6222a43f.js} +1 -1
  226. package/lib/dist-custom-elements/{p-1cd7077a.js → p-63ec7678.js} +1 -1
  227. package/lib/dist-custom-elements/{p-76b345c8.js → p-65d472d7.js} +1 -1
  228. package/lib/dist-custom-elements/{p-d5f3b174.js → p-68bd36c7.js} +1 -1
  229. package/lib/dist-custom-elements/{p-9b5f8ba4.js → p-76e8ab22.js} +2 -2
  230. package/lib/dist-custom-elements/{p-247a9d01.js → p-8b89622f.js} +8 -5
  231. package/lib/dist-custom-elements/{p-ffc7f083.js → p-8e357cfb.js} +1 -1
  232. package/lib/dist-custom-elements/p-8f253845.js +51 -0
  233. package/lib/dist-custom-elements/{p-39827833.js → p-916e66c9.js} +1 -1
  234. package/lib/dist-custom-elements/{p-257f2e82.js → p-994556c0.js} +15 -11
  235. package/lib/dist-custom-elements/{p-ba0f907f.js → p-adef0aaa.js} +1 -1
  236. package/lib/dist-custom-elements/{p-0a7c0d3d.js → p-ba28f5ce.js} +10 -10
  237. package/lib/dist-custom-elements/{p-70a66e96.js → p-beb5db77.js} +1 -1
  238. package/lib/dist-custom-elements/{p-bc3fa417.js → p-d0e52a83.js} +1 -1
  239. package/lib/dist-custom-elements/{p-dfd29738.js → p-e034dfea.js} +1 -1
  240. package/lib/dist-custom-elements/{p-2605a78e.js → p-e929268c.js} +2 -2
  241. package/lib/dist-custom-elements/{p-402e81c0.js → p-fc1fa737.js} +4 -4
  242. package/lib/dist-custom-elements/{p-872a2adb.js → p-ff591309.js} +2 -2
  243. package/lib/duet/duet.esm.js +1 -1
  244. package/lib/duet/duet.js +1 -1
  245. package/lib/duet/{p-b022a3d5.system.entry.js → p-00da8ac7.system.entry.js} +1 -1
  246. package/lib/duet/{p-8bc5df74.entry.js → p-023ee57b.entry.js} +1 -1
  247. package/lib/duet/{p-8d8bdf90.system.entry.js → p-02f49953.system.entry.js} +1 -1
  248. package/lib/duet/{p-b868bb09.system.entry.js → p-060a790b.system.entry.js} +1 -1
  249. package/lib/duet/{p-42b49430.system.entry.js → p-07ce89ff.system.entry.js} +1 -1
  250. package/lib/duet/{p-8e414050.entry.js → p-07f5193f.entry.js} +1 -1
  251. package/lib/duet/{p-785ff4f2.entry.js → p-094eedb8.entry.js} +1 -1
  252. package/lib/duet/{p-502f43bb.entry.js → p-0981fdb2.entry.js} +1 -1
  253. package/lib/duet/{p-e3a8dcb3.system.entry.js → p-0a5966c8.system.entry.js} +1 -1
  254. package/lib/duet/{p-bcd1e9d8.system.entry.js → p-0b16d4ca.system.entry.js} +1 -1
  255. package/lib/duet/{p-33d6e5ef.entry.js → p-0f162710.entry.js} +1 -1
  256. package/lib/duet/{p-c0c9acd9.system.entry.js → p-0f3f2906.system.entry.js} +1 -1
  257. package/lib/duet/{p-dce5a6f9.entry.js → p-11653c1e.entry.js} +1 -1
  258. package/lib/duet/{p-4212bab8.js → p-1276c914.js} +1 -1
  259. package/lib/duet/{p-542d792f.entry.js → p-16203527.entry.js} +1 -1
  260. package/lib/duet/{p-0aa1b1cd.system.entry.js → p-1753cb05.system.entry.js} +1 -1
  261. package/lib/duet/{p-ad0179fa.system.entry.js → p-176fa0e5.system.entry.js} +1 -1
  262. package/lib/duet/{p-e6bd0e51.system.entry.js → p-1a44a9e5.system.entry.js} +1 -1
  263. package/lib/duet/p-1bd21f27.entry.js +4 -0
  264. package/lib/duet/{p-6e6ececd.system.entry.js → p-1d772039.system.entry.js} +1 -1
  265. package/lib/duet/{p-8a16fb3c.entry.js → p-218eba4d.entry.js} +1 -1
  266. package/lib/duet/{p-e1f6b6f3.system.entry.js → p-23eaa3b4.system.entry.js} +1 -1
  267. package/lib/duet/{p-7a085479.system.entry.js → p-24423276.system.entry.js} +1 -1
  268. package/lib/duet/{p-60cee508.system.entry.js → p-245dedef.system.entry.js} +1 -1
  269. package/lib/duet/{p-c0152624.system.entry.js → p-24f96782.system.entry.js} +1 -1
  270. package/lib/duet/p-259a297a.system.js +4 -0
  271. package/lib/duet/{p-16db7b1e.entry.js → p-25c78304.entry.js} +1 -1
  272. package/lib/duet/p-26332d59.system.entry.js +4 -0
  273. package/lib/duet/{p-793d7e04.system.entry.js → p-26de4395.system.entry.js} +1 -1
  274. package/lib/duet/{p-ebe22b98.system.entry.js → p-27560f1b.system.entry.js} +1 -1
  275. package/lib/duet/{p-aa6ad573.system.entry.js → p-27c6aebd.system.entry.js} +1 -1
  276. package/lib/duet/{p-ad5e3c9c.system.entry.js → p-27d40494.system.entry.js} +1 -1
  277. package/lib/duet/p-2877f5d2.system.entry.js +4 -0
  278. package/lib/duet/p-2bb2b022.js +4 -0
  279. package/lib/duet/{p-d73f7574.entry.js → p-2c67f7a8.entry.js} +1 -1
  280. package/lib/duet/{p-e3574b05.entry.js → p-2ddd31db.entry.js} +1 -1
  281. package/lib/duet/{p-71ef1651.system.entry.js → p-2efce50b.system.entry.js} +1 -1
  282. package/lib/duet/{p-246db04a.entry.js → p-3009021d.entry.js} +1 -1
  283. package/lib/duet/{p-81230084.system.entry.js → p-309546c3.system.entry.js} +1 -1
  284. package/lib/duet/p-3126ade6.entry.js +4 -0
  285. package/lib/duet/{p-342527a4.entry.js → p-31c8c180.entry.js} +1 -1
  286. package/lib/duet/{p-f1d894da.system.entry.js → p-32aed830.system.entry.js} +1 -1
  287. package/lib/duet/{p-bc16a555.entry.js → p-3640cb93.entry.js} +1 -1
  288. package/lib/duet/{p-6576401a.entry.js → p-3772cde9.entry.js} +1 -1
  289. package/lib/duet/p-37811477.system.entry.js +4 -0
  290. package/lib/duet/{p-f8c64564.system.entry.js → p-37d0ea90.system.entry.js} +1 -1
  291. package/lib/duet/{p-b036d4f0.system.entry.js → p-380ee907.system.entry.js} +1 -1
  292. package/lib/duet/{p-2b9499f1.entry.js → p-3aa3de10.entry.js} +1 -1
  293. package/lib/duet/{p-903efe1d.entry.js → p-3efd29e1.entry.js} +1 -1
  294. package/lib/duet/{p-191959c7.entry.js → p-4196e4ba.entry.js} +1 -1
  295. package/lib/duet/p-43249fcf.system.entry.js +4 -0
  296. package/lib/duet/p-461d8a0b.entry.js +4 -0
  297. package/lib/duet/{p-7bbc5a65.system.entry.js → p-461fd4d8.system.entry.js} +1 -1
  298. package/lib/duet/{p-1fbbf69f.entry.js → p-46cacf4b.entry.js} +1 -1
  299. package/lib/duet/p-470f5db7.entry.js +4 -0
  300. package/lib/duet/{p-8920edb7.system.entry.js → p-482cb8b5.system.entry.js} +1 -1
  301. package/lib/duet/{p-fb8a5b68.system.entry.js → p-4d081cf5.system.entry.js} +1 -1
  302. package/lib/duet/{p-e3c5663f.entry.js → p-4da0332f.entry.js} +1 -1
  303. package/lib/duet/p-4dc4f2de.system.entry.js +4 -0
  304. package/lib/duet/{p-9ec69dbc.system.entry.js → p-50108ac2.system.entry.js} +1 -1
  305. package/lib/duet/{p-a4dd147b.entry.js → p-507f463e.entry.js} +1 -1
  306. package/lib/duet/{p-9192de69.system.entry.js → p-52471579.system.entry.js} +1 -1
  307. package/lib/duet/{p-24f7d6bf.entry.js → p-530dd0b2.entry.js} +1 -1
  308. package/lib/duet/p-538a7c32.system.entry.js +4 -0
  309. package/lib/duet/{p-51d53e57.entry.js → p-548b740e.entry.js} +1 -1
  310. package/lib/duet/{p-9aa0ebba.entry.js → p-55fbe6bc.entry.js} +1 -1
  311. package/lib/duet/p-5795b0d9.system.js +4 -0
  312. package/lib/duet/p-57f6f292.system.entry.js +4 -0
  313. package/lib/duet/p-582f1599.system.entry.js +4 -0
  314. package/lib/duet/{p-55f98dc4.entry.js → p-5aaf2889.entry.js} +1 -1
  315. package/lib/duet/{p-f4493cb6.entry.js → p-5bab6421.entry.js} +1 -1
  316. package/lib/duet/{p-75243a15.system.entry.js → p-5bb41296.system.entry.js} +1 -1
  317. package/lib/duet/{p-2c730d40.entry.js → p-5be3bb6e.entry.js} +1 -1
  318. package/lib/duet/{p-d8ee9cc9.entry.js → p-5e777157.entry.js} +1 -1
  319. package/lib/duet/p-5ef65fd9.entry.js +4 -0
  320. package/lib/duet/{p-f009e108.entry.js → p-609aaedd.entry.js} +1 -1
  321. package/lib/duet/{p-1e587bcc.system.entry.js → p-6399c03a.system.entry.js} +1 -1
  322. package/lib/duet/{p-51bdb5fd.system.entry.js → p-63bdc921.system.entry.js} +1 -1
  323. package/lib/duet/p-644b687c.system.entry.js +4 -0
  324. package/lib/duet/p-68625c53.system.entry.js +4 -0
  325. package/lib/duet/{p-ec98691e.system.entry.js → p-693ebab3.system.entry.js} +1 -1
  326. package/lib/duet/p-6a4fa614.entry.js +4 -0
  327. package/lib/duet/{p-9de9d3eb.entry.js → p-6b4c9fe2.entry.js} +1 -1
  328. package/lib/duet/p-6d839458.js +4 -0
  329. package/lib/duet/{p-26f7d1b9.system.entry.js → p-7206856c.system.entry.js} +1 -1
  330. package/lib/duet/p-737f4f78.entry.js +4 -0
  331. package/lib/duet/{p-e79bf1c2.entry.js → p-75655f00.entry.js} +1 -1
  332. package/lib/duet/{p-4b272eca.system.entry.js → p-77216458.system.entry.js} +1 -1
  333. package/lib/duet/{p-c565698d.system.entry.js → p-773d5541.system.entry.js} +1 -1
  334. package/lib/duet/p-785b629e.entry.js +4 -0
  335. package/lib/duet/{p-b27b1902.system.entry.js → p-78e18f90.system.entry.js} +1 -1
  336. package/lib/duet/{p-13f7d993.entry.js → p-7c3de686.entry.js} +1 -1
  337. package/lib/duet/{p-d41e819d.entry.js → p-7f2e3a82.entry.js} +1 -1
  338. package/lib/duet/{p-ad3021d3.system.entry.js → p-82b6d775.system.entry.js} +1 -1
  339. package/lib/duet/p-868deb49.entry.js +4 -0
  340. package/lib/duet/p-8693a1f3.entry.js +4 -0
  341. package/lib/duet/{p-d32e9ae1.system.entry.js → p-87421fc1.system.entry.js} +1 -1
  342. package/lib/duet/p-89f7e363.system.entry.js +4 -0
  343. package/lib/duet/{p-5ed00370.system.js → p-8bb9591d.system.js} +1 -1
  344. package/lib/duet/{p-200089a6.system.entry.js → p-917d8b40.system.entry.js} +1 -1
  345. package/lib/duet/{p-d8104d1b.entry.js → p-92d45100.entry.js} +1 -1
  346. package/lib/duet/p-93fd3aa5.system.entry.js +4 -0
  347. package/lib/duet/{p-25bde810.entry.js → p-95f33440.entry.js} +1 -1
  348. package/lib/duet/{p-97d72f16.system.entry.js → p-9865ef30.system.entry.js} +1 -1
  349. package/lib/duet/p-9b877798.system.entry.js +4 -0
  350. package/lib/duet/{p-7b847e11.system.entry.js → p-9ce2bf89.system.entry.js} +1 -1
  351. package/lib/duet/{p-3aa3fb24.system.entry.js → p-9d6c89df.system.entry.js} +1 -1
  352. package/lib/duet/{p-57a63204.entry.js → p-9f19cdc2.entry.js} +1 -1
  353. package/lib/duet/p-9fc19072.entry.js +4 -0
  354. package/lib/duet/{p-b62108c8.system.entry.js → p-a2a3b572.system.entry.js} +1 -1
  355. package/lib/duet/{p-bd97fff1.system.entry.js → p-a57b06db.system.entry.js} +1 -1
  356. package/lib/duet/{p-2349e838.entry.js → p-a5f0d126.entry.js} +1 -1
  357. package/lib/duet/{p-f25e57fe.system.entry.js → p-a69a6b39.system.entry.js} +1 -1
  358. package/lib/duet/p-a931d71d.entry.js +4 -0
  359. package/lib/duet/{p-b62ed1f0.entry.js → p-ab4e6587.entry.js} +1 -1
  360. package/lib/duet/{p-40ee5f5e.system.entry.js → p-abe0caff.system.entry.js} +1 -1
  361. package/lib/duet/{p-bf3bf531.system.entry.js → p-ac0a0c5f.system.entry.js} +1 -1
  362. package/lib/duet/{p-9f39d6de.system.entry.js → p-b294d764.system.entry.js} +1 -1
  363. package/lib/duet/{p-9fb3e7b4.system.entry.js → p-b32624a6.system.entry.js} +1 -1
  364. package/lib/duet/{p-9308c47c.system.entry.js → p-ba95cf16.system.entry.js} +1 -1
  365. package/lib/duet/{p-5dccd17b.entry.js → p-ba993fed.entry.js} +1 -1
  366. package/lib/duet/p-bb05780d.entry.js +4 -0
  367. package/lib/duet/{p-b5831260.system.entry.js → p-bca48b8e.system.entry.js} +1 -1
  368. package/lib/duet/{p-1b11541f.entry.js → p-bcee8104.entry.js} +1 -1
  369. package/lib/duet/{p-8cf2feaa.entry.js → p-bd2b785a.entry.js} +1 -1
  370. package/lib/duet/p-bec206f3.entry.js +4 -0
  371. package/lib/duet/{p-61fe1543.system.entry.js → p-befd7146.system.entry.js} +1 -1
  372. package/lib/duet/{p-132ea5e6.entry.js → p-c13fcc8d.entry.js} +1 -1
  373. package/lib/duet/{p-6b2876f1.entry.js → p-c172f523.entry.js} +1 -1
  374. package/lib/duet/{p-bf0e9413.entry.js → p-c17932bc.entry.js} +1 -1
  375. package/lib/duet/p-c23ab199.entry.js +4 -0
  376. package/lib/duet/{p-d13cb6f4.system.entry.js → p-c6296393.system.entry.js} +1 -1
  377. package/lib/duet/{p-6f891451.entry.js → p-c71634ee.entry.js} +1 -1
  378. package/lib/duet/{p-13876bc6.entry.js → p-ca5dfafc.entry.js} +1 -1
  379. package/lib/duet/{p-cfb85117.entry.js → p-cab7ff29.entry.js} +1 -1
  380. package/lib/duet/{p-f3bf4d40.system.js → p-cbfdaac4.system.js} +1 -1
  381. package/lib/duet/{p-69fba9fe.system.entry.js → p-d0270ec7.system.entry.js} +1 -1
  382. package/lib/duet/p-d1ef0249.system.entry.js +4 -0
  383. package/lib/duet/{p-b6af2626.entry.js → p-d23f7bd1.entry.js} +1 -1
  384. package/lib/duet/p-d328922e.entry.js +4 -0
  385. package/lib/duet/{p-258b8732.entry.js → p-d5271b57.entry.js} +1 -1
  386. package/lib/duet/{p-b54be005.entry.js → p-d5c70827.entry.js} +1 -1
  387. package/lib/duet/{p-338ba4d2.entry.js → p-d832be12.entry.js} +1 -1
  388. package/lib/duet/{p-07af14f1.js → p-db4ca364.js} +1 -1
  389. package/lib/duet/p-db7ec3f2.system.entry.js +4 -0
  390. package/lib/duet/{p-226489c4.entry.js → p-dba55421.entry.js} +1 -1
  391. package/lib/duet/{p-625f750f.system.entry.js → p-de9c3476.system.entry.js} +1 -1
  392. package/lib/duet/p-df073faa.entry.js +4 -0
  393. package/lib/duet/p-df5f7376.entry.js +4 -0
  394. package/lib/duet/{p-0a7c3ecf.entry.js → p-e3ba4d89.entry.js} +1 -1
  395. package/lib/duet/{p-cd8177fe.entry.js → p-ef4a09e9.entry.js} +1 -1
  396. package/lib/duet/p-ef66a3c3.system.entry.js +4 -0
  397. package/lib/duet/{p-f7b58d72.system.js → p-f18c2892.system.js} +1 -1
  398. package/lib/duet/{p-ab2da6f9.entry.js → p-f19b59f8.entry.js} +1 -1
  399. package/lib/duet/p-f1f5dfa4.system.entry.js +4 -0
  400. package/lib/duet/{p-a5504252.entry.js → p-f20d29b8.entry.js} +1 -1
  401. package/lib/duet/{p-42b9c6f9.system.entry.js → p-f2b556d7.system.entry.js} +1 -1
  402. package/lib/duet/p-f3efe8c2.system.entry.js +4 -0
  403. package/lib/duet/{p-580a7bae.entry.js → p-fb5877c4.entry.js} +1 -1
  404. package/lib/duet/{p-dcfe6e27.system.entry.js → p-fc366b12.system.entry.js} +1 -1
  405. package/lib/duet/{p-7a832531.entry.js → p-fc788a9a.entry.js} +1 -1
  406. package/lib/duet/{p-d3069a7b.entry.js → p-fcfe83b1.entry.js} +1 -1
  407. package/lib/duet/{p-464adc60.system.entry.js → p-ffc50558.system.entry.js} +1 -1
  408. package/lib/esm/app-globals-45aa6d20.js +26 -0
  409. package/lib/esm/duet-action-button.entry.js +2 -2
  410. package/lib/esm/duet-alert.entry.js +4 -1
  411. package/lib/esm/duet-badge.entry.js +1 -1
  412. package/lib/esm/duet-banner.entry.js +1 -1
  413. package/lib/esm/duet-breadcrumb.entry.js +11 -2
  414. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  415. package/lib/esm/duet-button_2.entry.js +1 -1
  416. package/lib/esm/duet-callout.entry.js +1 -1
  417. package/lib/esm/duet-caption_4.entry.js +13 -3
  418. package/lib/esm/duet-card.entry.js +8 -2
  419. package/lib/esm/duet-checkbox.entry.js +1 -1
  420. package/lib/esm/duet-checkmark.entry.js +1 -1
  421. package/lib/esm/duet-chip.entry.js +8 -1
  422. package/lib/esm/duet-choice_2.entry.js +5 -3
  423. package/lib/esm/duet-collapsible.entry.js +8 -2
  424. package/lib/esm/duet-combobox.entry.js +2 -2
  425. package/lib/esm/duet-contact-card.entry.js +1 -1
  426. package/lib/esm/duet-cookie-consent.entry.js +8 -1
  427. package/lib/esm/duet-date-picker.entry.js +2 -2
  428. package/lib/esm/duet-divider_2.entry.js +1 -1
  429. package/lib/esm/duet-editable-table_3.entry.js +2 -2
  430. package/lib/esm/duet-empty-state.entry.js +1 -1
  431. package/lib/esm/duet-fieldset.entry.js +1 -1
  432. package/lib/esm/duet-file-chooser.entry.js +1 -1
  433. package/lib/esm/duet-footer.entry.js +4 -1
  434. package/lib/esm/duet-grid_2.entry.js +1 -1
  435. package/lib/esm/duet-header_2.entry.js +4 -2
  436. package/lib/esm/duet-hero.entry.js +1 -1
  437. package/lib/esm/duet-icon.entry.js +1 -1
  438. package/lib/esm/duet-input_2.entry.js +2 -2
  439. package/lib/esm/duet-layout.entry.js +1 -1
  440. package/lib/esm/duet-list_2.entry.js +1 -1
  441. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  442. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  443. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  444. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  445. package/lib/esm/duet-menu-bar.entry.js +1 -1
  446. package/lib/esm/duet-modal.entry.js +3 -3
  447. package/lib/esm/duet-multiselect.entry.js +2 -2
  448. package/lib/esm/duet-nav.entry.js +1 -1
  449. package/lib/esm/duet-notification_2.entry.js +6 -1
  450. package/lib/esm/duet-number-input.entry.js +4 -2
  451. package/lib/esm/duet-page-heading.entry.js +1 -1
  452. package/lib/esm/duet-pagination_2.entry.js +2 -2
  453. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  454. package/lib/esm/duet-popup-menu.entry.js +2 -2
  455. package/lib/esm/duet-progress.entry.js +1 -1
  456. package/lib/esm/duet-promo-card.entry.js +1 -1
  457. package/lib/esm/duet-radio_2.entry.js +1 -1
  458. package/lib/esm/duet-range-slider.entry.js +8 -1
  459. package/lib/esm/duet-scrollable_3.entry.js +4 -2
  460. package/lib/esm/duet-section-layout.entry.js +1 -1
  461. package/lib/esm/duet-select.entry.js +1 -1
  462. package/lib/esm/duet-shaped-image.entry.js +1 -1
  463. package/lib/esm/duet-show-more.entry.js +2 -2
  464. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  465. package/lib/esm/duet-slideout-link.entry.js +1 -1
  466. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  467. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  468. package/lib/esm/duet-slideout.entry.js +4 -4
  469. package/lib/esm/duet-step_2.entry.js +8 -2
  470. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  471. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  472. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  473. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  474. package/lib/esm/duet-textarea.entry.js +1 -1
  475. package/lib/esm/duet-toggle.entry.js +8 -1
  476. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  477. package/lib/esm/duet-toolbar-dropdown.entry.js +2 -2
  478. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  479. package/lib/esm/duet-toolbar.entry.js +1 -1
  480. package/lib/esm/duet-tooltip-button_2.entry.js +13 -18
  481. package/lib/esm/duet-tooltip.entry.js +7 -3
  482. package/lib/esm/duet-tray.entry.js +4 -1
  483. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  484. package/lib/esm/duet-upload-item.entry.js +1 -1
  485. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  486. package/lib/esm/duet.js +4 -4
  487. package/lib/esm/{focus-utils-d54af982.js → focus-utils-23aad0c9.js} +1 -1
  488. package/lib/esm/{index-d4489a2e.js → index-02e78bbf.js} +1 -1
  489. package/lib/esm/keyboard-utils-eba88365.js +51 -0
  490. package/lib/esm/loader.js +4 -4
  491. package/lib/esm-es5/app-globals-45aa6d20.js +4 -0
  492. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  493. package/lib/esm-es5/duet-alert.entry.js +2 -2
  494. package/lib/esm-es5/duet-badge.entry.js +1 -1
  495. package/lib/esm-es5/duet-banner.entry.js +1 -1
  496. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  497. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  498. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  499. package/lib/esm-es5/duet-callout.entry.js +1 -1
  500. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  501. package/lib/esm-es5/duet-card.entry.js +1 -1
  502. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  503. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  504. package/lib/esm-es5/duet-chip.entry.js +2 -2
  505. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  506. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  507. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  508. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  509. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  510. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  511. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  512. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  513. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  514. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  515. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  516. package/lib/esm-es5/duet-footer.entry.js +1 -1
  517. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  518. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  519. package/lib/esm-es5/duet-hero.entry.js +1 -1
  520. package/lib/esm-es5/duet-icon.entry.js +1 -1
  521. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  522. package/lib/esm-es5/duet-layout.entry.js +1 -1
  523. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  524. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  525. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  526. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  527. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  528. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  529. package/lib/esm-es5/duet-modal.entry.js +1 -1
  530. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  531. package/lib/esm-es5/duet-nav.entry.js +1 -1
  532. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  533. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  534. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  535. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  536. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  537. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  538. package/lib/esm-es5/duet-progress.entry.js +1 -1
  539. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  540. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  541. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  542. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  543. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  544. package/lib/esm-es5/duet-select.entry.js +1 -1
  545. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  546. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  547. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  548. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  549. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  550. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  551. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  552. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  553. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  554. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  555. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  556. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  557. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  558. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  559. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  560. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  561. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  562. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  563. package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
  564. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  565. package/lib/esm-es5/duet-tray.entry.js +1 -1
  566. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  567. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  568. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  569. package/lib/esm-es5/duet.js +1 -1
  570. package/lib/esm-es5/{focus-utils-d54af982.js → focus-utils-23aad0c9.js} +1 -1
  571. package/lib/esm-es5/{index-d4489a2e.js → index-02e78bbf.js} +1 -1
  572. package/lib/esm-es5/keyboard-utils-eba88365.js +4 -0
  573. package/lib/esm-es5/loader.js +1 -1
  574. package/lib/types/common-types.d.ts +11 -0
  575. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +6 -1
  576. package/lib/types/components/duet-card/duet-card.d.ts +2 -0
  577. package/lib/types/components/duet-chip/duet-chip.d.ts +2 -0
  578. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +2 -0
  579. package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +2 -0
  580. package/lib/types/components/duet-header/duet-header-icon.d.ts +1 -1
  581. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -2
  582. package/lib/types/components/duet-link/duet-link.d.ts +1 -0
  583. package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -2
  584. package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -2
  585. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -2
  586. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +2 -0
  587. package/lib/types/components/duet-step/duet-step.d.ts +2 -0
  588. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -2
  589. package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -2
  590. package/lib/types/components/duet-toggle/duet-toggle.d.ts +2 -0
  591. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +2 -3
  592. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +2 -3
  593. package/lib/types/components.d.ts +10 -4
  594. package/lib/types/utils/keyboard-utils.d.ts +2 -0
  595. package/package.json +5 -5
  596. package/lib/cjs/app-globals-cd75f624.js +0 -54
  597. package/lib/cjs/keyboard-utils-02441bc5.js +0 -36
  598. package/lib/dist-custom-elements/p-56ac3289.js +0 -20
  599. package/lib/duet/p-0782a6e5.js +0 -4
  600. package/lib/duet/p-105a1448.entry.js +0 -4
  601. package/lib/duet/p-1ea5e7e8.system.entry.js +0 -4
  602. package/lib/duet/p-26c85bab.entry.js +0 -4
  603. package/lib/duet/p-2f0a23ae.entry.js +0 -4
  604. package/lib/duet/p-3cafacc3.system.entry.js +0 -4
  605. package/lib/duet/p-3e1248d8.entry.js +0 -4
  606. package/lib/duet/p-48d6a81d.system.entry.js +0 -4
  607. package/lib/duet/p-4911c778.system.entry.js +0 -4
  608. package/lib/duet/p-4c650a9e.entry.js +0 -4
  609. package/lib/duet/p-513dfe01.entry.js +0 -4
  610. package/lib/duet/p-5b86c564.entry.js +0 -4
  611. package/lib/duet/p-5c94249e.system.entry.js +0 -4
  612. package/lib/duet/p-5f43dbcf.entry.js +0 -4
  613. package/lib/duet/p-65e434a5.entry.js +0 -4
  614. package/lib/duet/p-6a972453.system.entry.js +0 -4
  615. package/lib/duet/p-6cae9d4b.entry.js +0 -4
  616. package/lib/duet/p-73f176dc.system.entry.js +0 -4
  617. package/lib/duet/p-7a91a53e.system.entry.js +0 -4
  618. package/lib/duet/p-7b5cd54a.system.entry.js +0 -4
  619. package/lib/duet/p-7e833901.system.entry.js +0 -4
  620. package/lib/duet/p-81a6df68.system.js +0 -4
  621. package/lib/duet/p-8d0d6e06.system.js +0 -4
  622. package/lib/duet/p-8d69624a.entry.js +0 -4
  623. package/lib/duet/p-8eb82556.system.entry.js +0 -4
  624. package/lib/duet/p-97488cc9.entry.js +0 -4
  625. package/lib/duet/p-a59b5059.entry.js +0 -4
  626. package/lib/duet/p-b5ffa156.entry.js +0 -4
  627. package/lib/duet/p-b8b0249f.system.entry.js +0 -4
  628. package/lib/duet/p-cb69ce4a.entry.js +0 -4
  629. package/lib/duet/p-cc1909de.js +0 -4
  630. package/lib/duet/p-d2681203.entry.js +0 -4
  631. package/lib/duet/p-d5d57b8f.system.entry.js +0 -4
  632. package/lib/duet/p-db14fdfd.system.entry.js +0 -4
  633. package/lib/duet/p-e96a5f8b.system.entry.js +0 -4
  634. package/lib/duet/p-f0dc0a5b.entry.js +0 -4
  635. package/lib/duet/p-fb30fcb0.system.entry.js +0 -4
  636. package/lib/duet/p-fc0fe631.system.entry.js +0 -4
  637. package/lib/duet/p-fc4f175f.system.entry.js +0 -4
  638. package/lib/duet/p-ff815e47.entry.js +0 -4
  639. package/lib/esm/app-globals-41b37f11.js +0 -52
  640. package/lib/esm/keyboard-utils-5746e126.js +0 -20
  641. package/lib/esm-es5/app-globals-41b37f11.js +0 -4
  642. package/lib/esm-es5/keyboard-utils-5746e126.js +0 -4
package/hydrate/index.js CHANGED
@@ -6682,33 +6682,7 @@ const setupLoggers = () => {
6682
6682
  }
6683
6683
  };
6684
6684
 
6685
- const TAB_KEY = 9;
6686
6685
  var appGlobalScript = () => {
6687
- function listenKeys(event) {
6688
- if (event.keyCode === TAB_KEY) {
6689
- var components = document.querySelectorAll(".hydrated");
6690
- for (var i = 0; i < components.length; i++) {
6691
- components[i].classList.add("user-is-tabbing");
6692
- }
6693
- if (typeof window !== "undefined") {
6694
- window.removeEventListener("keydown", listenKeys);
6695
- window.addEventListener("mousedown", listenMouse, false);
6696
- }
6697
- }
6698
- }
6699
- function listenMouse() {
6700
- var components = document.querySelectorAll(".hydrated");
6701
- for (var i = 0; i < components.length; i++) {
6702
- components[i].classList.remove("user-is-tabbing");
6703
- }
6704
- if (typeof window !== "undefined") {
6705
- window.removeEventListener("mousedown", listenMouse);
6706
- window.addEventListener("keydown", listenKeys, false);
6707
- }
6708
- }
6709
- if (typeof window !== "undefined") {
6710
- window.addEventListener("keydown", listenKeys, false);
6711
- }
6712
6686
  setupLoggers();
6713
6687
  };
6714
6688
 
@@ -7655,21 +7629,52 @@ function fieldSorter(fields) {
7655
7629
  };
7656
7630
  }
7657
7631
 
7658
- const isArrowLeftKey = (e) => e.keyCode === 37;
7659
- const isArrowUpKey = (e) => e.keyCode === 38;
7660
- const isArrowRightKey = (e) => e.keyCode === 39;
7661
- const isArrowDownKey = (e) => e.keyCode === 40;
7632
+ const isArrowLeftKey = (e) => e.key === "ArrowLeft" || e.key === "Left";
7633
+ const isArrowUpKey = (e) => e.key === "ArrowUp" || e.key === "Up";
7634
+ const isArrowRightKey = (e) => e.key === "ArrowRight" || e.key === "Right";
7635
+ const isArrowDownKey = (e) => e.key === "ArrowDown" || e.key === "Down";
7662
7636
  const isArrowKey = (e) => isArrowDownKey(e) || isArrowRightKey(e) || isArrowUpKey(e) || isArrowLeftKey(e);
7663
- const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc" || e.keyCode === 27;
7664
- const isTabKey = (e) => e.key === "Tab" || e.keyCode === 9;
7665
- const isBackspaceKey = (e) => e.keyCode === 8;
7666
- const isSpaceKey = (e) => e.key === "Space" || e.keyCode === 32;
7667
- const isPlusKey = (e) => e.key === "+" || e.keyCode === 43;
7668
- const isMinusKey = (e) => e.key === "-" || e.keyCode === 45;
7637
+ const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc";
7638
+ const isTabKey = (e) => e.key === "Tab";
7639
+ const isBackspaceKey = (e) => e.key === "Backspace";
7640
+ const isSpaceKey = (e) => e.key === " " || e.key === "Spacebar";
7641
+ const isPlusKey = (e) => e.key === "+" || e.key === "Add";
7642
+ const isMinusKey = (e) => e.key === "-" || e.key === "Subtract";
7669
7643
  const isQuestionKey = (e) => e.key === "?";
7670
- const isEnterKey = (e) => e.key === "Enter" || e.keyCode === 13;
7644
+ const isEnterKey = (e) => e.key === "Enter";
7671
7645
  const isKeyboardClick = (e) => isEnterKey(e) || isSpaceKey(e);
7672
- const isNumber = (e) => (e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105);
7646
+ const isNumber = (e) => e.key >= "0" && e.key <= "9";
7647
+ /**
7648
+ * Component instances that have subscribed to tabbing change.
7649
+ */
7650
+ const tabbingChangeSubscribers = new Set();
7651
+ function notifySubscribers(tabbing) {
7652
+ tabbingChangeSubscribers.forEach(subscriber => {
7653
+ subscriber.element.classList[tabbing ? "add" : "remove"]("user-is-tabbing");
7654
+ });
7655
+ }
7656
+ function listenKeys(event) {
7657
+ if (isTabKey(event)) {
7658
+ notifySubscribers(true);
7659
+ window.removeEventListener("keydown", listenKeys);
7660
+ window.addEventListener("mousedown", listenMouse, false);
7661
+ }
7662
+ }
7663
+ function listenMouse() {
7664
+ notifySubscribers(false);
7665
+ window.removeEventListener("mousedown", listenMouse);
7666
+ window.addEventListener("keydown", listenKeys, false);
7667
+ }
7668
+ // start listening for tabbing (and mouse clicking through that) only if window is defined (i.e. not on server)
7669
+ if (typeof window !== "undefined") {
7670
+ window.addEventListener("keydown", listenKeys, false);
7671
+ }
7672
+ const subscribeTabbingChange = component => {
7673
+ tabbingChangeSubscribers.add(component);
7674
+ };
7675
+ const unsubscribeTabbingChange = component => {
7676
+ tabbingChangeSubscribers.delete(component);
7677
+ };
7673
7678
 
7674
7679
  function isObject(maybeObj) {
7675
7680
  return Object.prototype.toString.call(maybeObj) === "[object Object]";
@@ -8514,12 +8519,14 @@ class DuetAlert {
8514
8519
  }
8515
8520
  connectedCallback() {
8516
8521
  connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" });
8522
+ subscribeTabbingChange(this);
8517
8523
  }
8518
8524
  disconnectedCallback() {
8519
8525
  if (this.timeoutID) {
8520
8526
  clearTimeout(this.timeoutID);
8521
8527
  }
8522
8528
  disconnectLanguageChangeObserver(this);
8529
+ unsubscribeTabbingChange(this);
8523
8530
  }
8524
8531
  /**
8525
8532
  * Show.
@@ -8732,10 +8739,12 @@ class DuetBreadcrumb {
8732
8739
  sv: "disabled. Visa mer",
8733
8740
  en: "disabled. Nuvarande sida",
8734
8741
  };
8742
+ this.hasSlottedContent = false;
8735
8743
  this.theme = "";
8736
8744
  this.language = getLanguage();
8737
8745
  this.href = "";
8738
8746
  this.icon = "";
8747
+ this.iconSize = "x-small";
8739
8748
  this.accessibleLabel = undefined;
8740
8749
  }
8741
8750
  /**
@@ -8746,9 +8755,12 @@ class DuetBreadcrumb {
8746
8755
  }
8747
8756
  connectedCallback() {
8748
8757
  connectLanguageChangeObserver(this);
8758
+ subscribeTabbingChange(this);
8759
+ this.hasSlottedContent = Array.from(this.element.childNodes).length > 0;
8749
8760
  }
8750
8761
  disconnectedCallback() {
8751
8762
  disconnectLanguageChangeObserver(this);
8763
+ unsubscribeTabbingChange(this);
8752
8764
  }
8753
8765
  /**
8754
8766
  * render() function
@@ -8759,7 +8771,10 @@ class DuetBreadcrumb {
8759
8771
  return (hAsync(Host, { role: "listitem" }, hAsync("div", { class: "container" }, !this.icon && (hAsync("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" })), hAsync("a", { class: {
8760
8772
  "duet-breadcrumb": true,
8761
8773
  "duet-theme-turva": this.theme === "turva",
8762
- }, href: this.href ? this.href : undefined, "aria-label": `${!this.href ? `${getLocaleString(this.currentCrumb)} ` : ""}${(_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.element.innerHTML}`, role: "link" }, this.icon && hAsync("duet-icon", { size: "x-small", name: this.icon, margin: "none", color: "currentColor" }), !this.icon && hAsync("slot", null)))));
8774
+ }, href: this.href ? this.href : undefined, "aria-label": `${!this.href ? `${getLocaleString(this.currentCrumb)} ` : ""}${(_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.element.innerHTML}`, role: "link" }, this.icon && [
8775
+ hAsync("duet-icon", { size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
8776
+ this.hasSlottedContent && hAsync("duet-spacer", { size: "x-small", direction: "horizontal" }),
8777
+ ], hAsync("slot", null)))));
8763
8778
  }
8764
8779
  get element() { return getElement(this); }
8765
8780
  static get style() { return duetBreadcrumbCss; }
@@ -8770,6 +8785,7 @@ class DuetBreadcrumb {
8770
8785
  "theme": [1025],
8771
8786
  "href": [1025],
8772
8787
  "icon": [1025],
8788
+ "iconSize": [1, "icon-size"],
8773
8789
  "accessibleLabel": [1, "accessible-label"],
8774
8790
  "language": [32]
8775
8791
  },
@@ -9262,6 +9278,12 @@ class DuetCard {
9262
9278
  ;
9263
9279
  this.hasFooter = !!this.element.querySelector("[slot='footer']");
9264
9280
  }
9281
+ connectedCallback() {
9282
+ subscribeTabbingChange(this);
9283
+ }
9284
+ disconnectedCallback() {
9285
+ unsubscribeTabbingChange(this);
9286
+ }
9265
9287
  renderHeading() {
9266
9288
  const safeHeadingLevel = sanitizeString$1(this.headingLevel);
9267
9289
  const HeadingTag = [...duetHeadingLevels, duetBlock].some(tag => tag === safeHeadingLevel) ? safeHeadingLevel : "h2";
@@ -9659,6 +9681,12 @@ class DuetChip {
9659
9681
  inheritGlobalTheme(this);
9660
9682
  this.popupSetUp();
9661
9683
  }
9684
+ connectedCallback() {
9685
+ subscribeTabbingChange(this);
9686
+ }
9687
+ disconnectedCallback() {
9688
+ unsubscribeTabbingChange(this);
9689
+ }
9662
9690
  /**
9663
9691
  * Sets focus. Use this method instead of the global focus().
9664
9692
  */
@@ -9887,10 +9915,12 @@ class DuetChoice {
9887
9915
  { prop: "infoLabel", defaults: "infoLabelDefaults" },
9888
9916
  { prop: "collapsibleNotification", defaults: "collapsibleNotificationDefaults" },
9889
9917
  ]);
9918
+ subscribeTabbingChange(this);
9890
9919
  this.duetChoiceReady.emit();
9891
9920
  }
9892
9921
  disconnectedCallback() {
9893
9922
  disconnectLanguageChangeObserver(this);
9923
+ unsubscribeTabbingChange(this);
9894
9924
  this.duetChoiceRemove.emit();
9895
9925
  }
9896
9926
  /**
@@ -10754,6 +10784,12 @@ class DuetCollapsible {
10754
10784
  inheritGlobalTheme(this);
10755
10785
  this.hasAfterHeading = hasSlot(this.element, "after-heading");
10756
10786
  }
10787
+ connectedCallback() {
10788
+ subscribeTabbingChange(this);
10789
+ }
10790
+ disconnectedCallback() {
10791
+ unsubscribeTabbingChange(this);
10792
+ }
10757
10793
  /**
10758
10794
  * Sets focus on the specified `duet-collapsible`. Use this method instead of the global
10759
10795
  * `collapsible.focus()`.
@@ -11270,6 +11306,12 @@ class DuetCookieConsent {
11270
11306
  componentWillLoad() {
11271
11307
  inheritGlobalTheme(this);
11272
11308
  }
11309
+ connectedCallback() {
11310
+ subscribeTabbingChange(this);
11311
+ }
11312
+ disconnectedCallback() {
11313
+ unsubscribeTabbingChange(this);
11314
+ }
11273
11315
  /**
11274
11316
  * render() function.
11275
11317
  * Always the last one in the class.
@@ -12291,9 +12333,11 @@ class DuetFooter {
12291
12333
  prop: "accessibleLabelExternal",
12292
12334
  defaults: "accessibleLabelExternalDefaults",
12293
12335
  });
12336
+ subscribeTabbingChange(this);
12294
12337
  }
12295
12338
  disconnectedCallback() {
12296
12339
  disconnectLanguageChangeObserver(this);
12340
+ unsubscribeTabbingChange(this);
12297
12341
  }
12298
12342
  /**
12299
12343
  * Local methods
@@ -13104,6 +13148,7 @@ class DuetHeader {
13104
13148
  { prop: "accessibleI18nLabels", defaults: "accessibleI18nLabelsDefaults" },
13105
13149
  { prop: "accessibleLabelExternal", defaults: "accessibleLabelExternalDefaults" },
13106
13150
  ]);
13151
+ subscribeTabbingChange(this);
13107
13152
  }
13108
13153
  disconnectedCallback() {
13109
13154
  if (this.navigationEl) {
@@ -13117,6 +13162,7 @@ class DuetHeader {
13117
13162
  }
13118
13163
  this.boundMqlFunctions = [];
13119
13164
  disconnectLanguageChangeObserver(this);
13165
+ unsubscribeTabbingChange(this);
13120
13166
  }
13121
13167
  /**
13122
13168
  * Component event handling.
@@ -14389,6 +14435,16 @@ class DuetLink {
14389
14435
  screenTest(event) {
14390
14436
  this.isSmallScreen = event.matches;
14391
14437
  }
14438
+ getAccessibleLabel() {
14439
+ if (this.accessibleLabel) {
14440
+ return this.accessibleLabel;
14441
+ }
14442
+ if (!this.element.innerHTML) {
14443
+ return "";
14444
+ }
14445
+ const capitalized = this.element.innerHTML[0].toUpperCase() + this.element.innerHTML.slice(1);
14446
+ return `${capitalized}. ${this.external ? `${this.accessibleLabelExternal}.` : ""}`;
14447
+ }
14392
14448
  renderContent() {
14393
14449
  return (hAsync(Fragment, null, hAsync("span", { class: "duet-link-content", part: "duet-link-content" }, hAsync("slot", null)), Build.isBrowser ));
14394
14450
  }
@@ -14413,7 +14469,7 @@ class DuetLink {
14413
14469
  "duet-p-0": this.padding === "none",
14414
14470
  [this.padding]: true,
14415
14471
  [this.variation]: true,
14416
- }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
14472
+ }, target: this.external ? "_blank" : "_self", "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
14417
14473
  }
14418
14474
  static get delegatesFocus() { return true; }
14419
14475
  get element() { return getElement(this); }
@@ -15843,9 +15899,11 @@ class DuetNotification {
15843
15899
  }
15844
15900
  connectedCallback() {
15845
15901
  connectLanguageChangeObserver(this, { prop: "accessibleLabelUnread", defaults: "accessibleLabelUnreadDefaults" });
15902
+ subscribeTabbingChange(this);
15846
15903
  }
15847
15904
  disconnectedCallback() {
15848
15905
  disconnectLanguageChangeObserver(this);
15906
+ unsubscribeTabbingChange(this);
15849
15907
  }
15850
15908
  /**
15851
15909
  * Move focus to the notification's link element.
@@ -15931,10 +15989,12 @@ class DuetNotificationDrawer {
15931
15989
  connectedCallback() {
15932
15990
  this.observer = new MutationObserver(this.updateNotificationState);
15933
15991
  this.observer.observe(this.element, { childList: true });
15992
+ subscribeTabbingChange(this);
15934
15993
  }
15935
15994
  disconnectedCallback() {
15936
15995
  this.observer.disconnect();
15937
15996
  this.observer = null;
15997
+ unsubscribeTabbingChange(this);
15938
15998
  }
15939
15999
  handleClickFocusOutside(e) {
15940
16000
  const target = e.target;
@@ -16327,9 +16387,11 @@ class DuetNumberInput {
16327
16387
  { prop: "accessibleSubtract", defaults: "accessibleSubtractDefaults" },
16328
16388
  { prop: "label", defaults: "labelDefaults" },
16329
16389
  ]);
16390
+ subscribeTabbingChange(this);
16330
16391
  }
16331
16392
  disconnectedCallback() {
16332
16393
  disconnectLanguageChangeObserver(this);
16394
+ unsubscribeTabbingChange(this);
16333
16395
  }
16334
16396
  /**
16335
16397
  * Sets focus on the specified `duet-number-input`. Use this method instead of the global
@@ -18890,6 +18952,12 @@ class DuetRangeSlider {
18890
18952
  componentWillLoad() {
18891
18953
  inheritGlobalTheme(this);
18892
18954
  }
18955
+ connectedCallback() {
18956
+ subscribeTabbingChange(this);
18957
+ }
18958
+ disconnectedCallback() {
18959
+ unsubscribeTabbingChange(this);
18960
+ }
18893
18961
  /**
18894
18962
  * Sets focus on the specified `duet-range-slider`. Use this method instead of the global
18895
18963
  * `input.focus()`.
@@ -19719,7 +19787,7 @@ class DuetShowMore {
19719
19787
  }; }
19720
19788
  }
19721
19789
 
19722
- const duetSlideoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-slideout,*.sc-duet-slideout::after,*.sc-duet-slideout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-slideout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}/*!@:host slot:not([name=toggle])::slotted(*)*/.sc-duet-slideout-h slot:not([name=toggle]).sc-duet-slideout-s>*{position:relative;visibility:hidden;opacity:0}/*!@:host([open]) slot:not([name=toggle])::slotted(*)*/.sc-duet-slideout-h[open] slot:not([name=toggle]).sc-duet-slideout-s>*{visibility:visible;opacity:1}/*!@:host(:not([open])) ::slotted(duet-slideout-panel)*/.sc-duet-slideout-h:not([open]) .sc-duet-slideout-s>duet-slideout-panel{display:none}/*!@.duet-slideout*/.duet-slideout.sc-duet-slideout{display:flex;align-items:center;height:100%}/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{display:none}@media (min-width: 62em){/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgba(0, 41, 77, 0.6);opacity:0;transition:600ms ease}/*!@.duet-slideout .desktop-bg:not(.hidden)*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout:not(.hidden){visibility:visible;opacity:1;transition:600ms ease}}@media (min-width: 62em){/*!@.duet-slideout.duet-theme-turva .desktop-bg*/.duet-slideout.duet-theme-turva.sc-duet-slideout .desktop-bg.sc-duet-slideout{background:rgba(23, 28, 58, 0.6)}}/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}/*!@.duet-slideout .dialog .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}/*!@.duet-slideout .dialog .top button*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout{cursor:pointer}/*!@.duet-slideout .dialog .top button:focus*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-slideout .dialog .top duet-icon*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout duet-icon.sc-duet-slideout{padding:16px}/*!@.duet-slideout .dialog .items*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .items.sc-duet-slideout{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{pointer-events:none;visibility:hidden}@media (min-width: 62em){/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{right:-500px;transition:300ms ease}}/*!@.duet-slideout.duet-theme-turva .dialog*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}/*!@.duet-slideout.duet-theme-turva button*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}/*!@.duet-slideout.duet-theme-turva button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-slideout.duet-theme-turva button.active*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout{color:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva button.active::after*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout::after{background:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva .dialog .top button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@::slotted(*)*/.sc-duet-slideout-s>*{width:100%}/*!@slot*/slot.sc-duet-slideout{color:rgb(0, 41, 77)}/*!@.duet-theme-turva slot*/.duet-theme-turva.sc-duet-slideout slot.sc-duet-slideout{color:rgb(23, 28, 58)}/*!@slot[name=toggle]*/slot[name=toggle].sc-duet-slideout{color:inherit}";
19790
+ const duetSlideoutCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-slideout,*.sc-duet-slideout::after,*.sc-duet-slideout::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-slideout-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;height:100%}/*!@::slotted(*)*/.sc-duet-slideout-s>*{position:relative;width:100%;visibility:hidden;opacity:0}/*!@:host([open]) ::slotted(*)*/.sc-duet-slideout-h[open] .sc-duet-slideout-s>*{visibility:visible;opacity:1}/*!@:host(:not([open])) ::slotted(duet-slideout-panel)*/.sc-duet-slideout-h:not([open]) .sc-duet-slideout-s>duet-slideout-panel{display:none}/*!@.duet-slideout*/.duet-slideout.sc-duet-slideout{display:flex;align-items:center;height:100%}/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{display:none}@media (min-width: 62em){/*!@.duet-slideout .desktop-bg*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgba(0, 41, 77, 0.6);opacity:0;transition:600ms ease}/*!@.duet-slideout .desktop-bg:not(.hidden)*/.duet-slideout.sc-duet-slideout .desktop-bg.sc-duet-slideout:not(.hidden){visibility:visible;opacity:1;transition:600ms ease}}@media (min-width: 62em){/*!@.duet-slideout.duet-theme-turva .desktop-bg*/.duet-slideout.duet-theme-turva.sc-duet-slideout .desktop-bg.sc-duet-slideout{background:rgba(23, 28, 58, 0.6)}}/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){/*!@.duet-slideout .dialog*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}/*!@.duet-slideout .dialog .top*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}/*!@.duet-slideout .dialog .top button*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout{cursor:pointer}/*!@.duet-slideout .dialog .top button:focus*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-slideout .dialog .top duet-icon*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout duet-icon.sc-duet-slideout{padding:16px}/*!@.duet-slideout .dialog .items*/.duet-slideout.sc-duet-slideout .dialog.sc-duet-slideout .items.sc-duet-slideout{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{pointer-events:none;visibility:hidden}@media (min-width: 62em){/*!@.duet-slideout .dialog.hidden*/.duet-slideout.sc-duet-slideout .dialog.hidden.sc-duet-slideout{right:-500px;transition:300ms ease}}/*!@.duet-slideout.duet-theme-turva .dialog*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}/*!@.duet-slideout.duet-theme-turva button*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}/*!@.duet-slideout.duet-theme-turva button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-slideout.duet-theme-turva button.active*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout{color:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva button.active::after*/.duet-slideout.duet-theme-turva.sc-duet-slideout button.active.sc-duet-slideout::after{background:rgb(198, 12, 48)}/*!@.duet-slideout.duet-theme-turva .dialog .top button:focus*/.duet-slideout.duet-theme-turva.sc-duet-slideout .dialog.sc-duet-slideout .top.sc-duet-slideout button.sc-duet-slideout:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@slot*/slot.sc-duet-slideout{color:rgb(0, 41, 77)}/*!@.duet-theme-turva slot*/.duet-theme-turva.sc-duet-slideout slot.sc-duet-slideout{color:rgb(23, 28, 58)}";
19723
19791
 
19724
19792
  class DuetSlideout {
19725
19793
  constructor(hostRef) {
@@ -20385,6 +20453,12 @@ class DuetStep {
20385
20453
  componentWillLoad() {
20386
20454
  inheritGlobalTheme(this);
20387
20455
  }
20456
+ connectedCallback() {
20457
+ subscribeTabbingChange(this);
20458
+ }
20459
+ disconnectedCallback() {
20460
+ unsubscribeTabbingChange(this);
20461
+ }
20388
20462
  /**
20389
20463
  * Programmatically shift focus to the step's heading.
20390
20464
  */
@@ -21127,12 +21201,14 @@ class DuetTabGroup {
21127
21201
  });
21128
21202
  }
21129
21203
  await this.updateTabs();
21204
+ subscribeTabbingChange(this);
21130
21205
  }
21131
21206
  disconnectedCallback() {
21132
21207
  if (this.mutationO) {
21133
21208
  this.mutationO.disconnect();
21134
21209
  this.mutationO = undefined;
21135
21210
  }
21211
+ unsubscribeTabbingChange(this);
21136
21212
  }
21137
21213
  componentWillLoad() {
21138
21214
  inheritGlobalTheme(this);
@@ -21620,6 +21696,12 @@ class DuetToggle {
21620
21696
  this.value = this.identifier;
21621
21697
  }
21622
21698
  }
21699
+ connectedCallback() {
21700
+ subscribeTabbingChange(this);
21701
+ }
21702
+ disconnectedCallback() {
21703
+ unsubscribeTabbingChange(this);
21704
+ }
21623
21705
  /**
21624
21706
  * Sets focus on the specified `duet-toggle`. Use this method instead of the global
21625
21707
  * `input.focus()`.
@@ -22129,7 +22211,6 @@ const duetTooltipButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-tooltip-bu
22129
22211
  class DuetTooltipButton {
22130
22212
  constructor(hostRef) {
22131
22213
  registerInstance(this, hostRef);
22132
- this.userIsTabbing = false;
22133
22214
  this.label = "";
22134
22215
  this.accessibleLabel = undefined;
22135
22216
  this.theme = "";
@@ -22142,13 +22223,11 @@ class DuetTooltipButton {
22142
22223
  componentWillLoad() {
22143
22224
  inheritGlobalTheme(this);
22144
22225
  }
22145
- listenKeys(event) {
22146
- if (event.keyCode === 9) {
22147
- this.userIsTabbing = true;
22148
- }
22226
+ connectedCallback() {
22227
+ subscribeTabbingChange(this);
22149
22228
  }
22150
- listenMouse() {
22151
- this.userIsTabbing = false;
22229
+ disconnectedCallback() {
22230
+ unsubscribeTabbingChange(this);
22152
22231
  }
22153
22232
  async setFocus(options) {
22154
22233
  if (this.buttonElement) {
@@ -22160,7 +22239,7 @@ class DuetTooltipButton {
22160
22239
  * Always the last one in the class.
22161
22240
  */
22162
22241
  render() {
22163
- return (hAsync(Host, { class: { "user-is-tabbing": this.userIsTabbing } }, hAsync("button", { ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
22242
+ return (hAsync(Host, null, hAsync("button", { ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
22164
22243
  "duet-tooltip-button": true,
22165
22244
  "duet-tooltip-button-has-label": !!this.label,
22166
22245
  "duet-theme-turva": this.theme === "turva",
@@ -22177,10 +22256,9 @@ class DuetTooltipButton {
22177
22256
  "theme": [1025],
22178
22257
  "active": [4],
22179
22258
  "tooltipId": [1, "tooltip-id"],
22180
- "userIsTabbing": [32],
22181
22259
  "setFocus": [64]
22182
22260
  },
22183
- "$listeners$": [[8, "keydown", "listenKeys"], [9, "mousedown", "listenMouse"]],
22261
+ "$listeners$": undefined,
22184
22262
  "$lazyBundleId$": "-",
22185
22263
  "$attrsToReflect$": []
22186
22264
  }; }
@@ -22199,7 +22277,6 @@ class DuetTooltipPopup {
22199
22277
  this.handleCloseClick = () => {
22200
22278
  this.tooltipPopupClosed.emit();
22201
22279
  };
22202
- this.userIsTabbing = false;
22203
22280
  this.theme = "";
22204
22281
  this.active = undefined;
22205
22282
  this.tooltipId = undefined;
@@ -22222,13 +22299,11 @@ class DuetTooltipPopup {
22222
22299
  inheritGlobalTheme(this);
22223
22300
  this.teleport = new Teleport(this.element);
22224
22301
  }
22225
- listenKeys(event) {
22226
- if (event.keyCode === 9) {
22227
- this.userIsTabbing = true;
22228
- }
22302
+ connectedCallback() {
22303
+ subscribeTabbingChange(this);
22229
22304
  }
22230
- listenMouse() {
22231
- this.userIsTabbing = false;
22305
+ disconnectedCallback() {
22306
+ unsubscribeTabbingChange(this);
22232
22307
  }
22233
22308
  async getArrowElement() {
22234
22309
  return this.arrowEl;
@@ -22240,7 +22315,7 @@ class DuetTooltipPopup {
22240
22315
  this.contentEl.focus();
22241
22316
  }
22242
22317
  render() {
22243
- return (hAsync(Host, { class: { "user-is-tabbing": this.userIsTabbing } }, hAsync("div", { class: {
22318
+ return (hAsync(Host, null, hAsync("div", { class: {
22244
22319
  "duet-tooltip": true,
22245
22320
  "duet-theme-turva": this.theme === "turva",
22246
22321
  "duet-tooltip-active": this.active === true,
@@ -22261,12 +22336,11 @@ class DuetTooltipPopup {
22261
22336
  "arrowStyles": [16],
22262
22337
  "placement": [1],
22263
22338
  "accessibleCloseLabel": [1, "accessible-close-label"],
22264
- "userIsTabbing": [32],
22265
22339
  "getArrowElement": [64],
22266
22340
  "getContentElement": [64],
22267
22341
  "setFocusOnContentElement": [64]
22268
22342
  },
22269
- "$listeners$": [[8, "keydown", "listenKeys"], [9, "mousedown", "listenMouse"]],
22343
+ "$listeners$": undefined,
22270
22344
  "$lazyBundleId$": "-",
22271
22345
  "$attrsToReflect$": []
22272
22346
  }; }
@@ -22330,9 +22404,11 @@ class DuetTray {
22330
22404
  { prop: "accessibleOpenLabel", defaults: "accessibleOpenLabelDefaults" },
22331
22405
  { prop: "accessibleCloseLabel", defaults: "accessibleCloseLabelDefaults" },
22332
22406
  ]);
22407
+ subscribeTabbingChange(this);
22333
22408
  }
22334
22409
  disconnectedCallback() {
22335
22410
  disconnectLanguageChangeObserver(this);
22411
+ unsubscribeTabbingChange(this);
22336
22412
  }
22337
22413
  /**
22338
22414
  * Component event handling.
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ 'use strict';
5
+
6
+ const setupLoggers = () => {
7
+ {
8
+ globalThis.ds = {
9
+ log: () => {
10
+ return;
11
+ },
12
+ warn: () => {
13
+ return;
14
+ },
15
+ info: () => {
16
+ return;
17
+ },
18
+ };
19
+ }
20
+ };
21
+
22
+ const appGlobalScript = () => {
23
+ setupLoggers();
24
+ };
25
+
26
+ const globalScripts = appGlobalScript;
27
+
28
+ exports.globalScripts = globalScripts;
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
11
  const jsUtils = require('./js-utils-92e24ba1.js');
12
- const keyboardUtils = require('./keyboard-utils-02441bc5.js');
12
+ const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
13
13
  const languageUtils = require('./language-utils-e8a527e5.js');
14
14
  const tokenUtils = require('./token-utils-84b3bca6.js');
15
15
  require('./string-utils-053749ff.js');
@@ -5,9 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const createId = require('./create-id-1f8c438f.js');
11
+ const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
11
12
  const languageUtils = require('./language-utils-e8a527e5.js');
12
13
  require('./string-utils-053749ff.js');
13
14
 
@@ -62,12 +63,14 @@ const DuetAlert = class {
62
63
  }
63
64
  connectedCallback() {
64
65
  languageUtils.connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" });
66
+ keyboardUtils.subscribeTabbingChange(this);
65
67
  }
66
68
  disconnectedCallback() {
67
69
  if (this.timeoutID) {
68
70
  clearTimeout(this.timeoutID);
69
71
  }
70
72
  languageUtils.disconnectLanguageChangeObserver(this);
73
+ keyboardUtils.unsubscribeTabbingChange(this);
71
74
  }
72
75
  /**
73
76
  * Show.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
 
11
11
  const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.75rem;font-style:normal;font-weight:600;line-height:1.25;color:rgb(0, 41, 77);text-align:center;word-break:break-word;vertical-align:middle;background:#d9ebf4;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:rgb(23, 28, 58);background:#e8e8eb}.duet-badge.warning{background:#fdecc9}.duet-badge.warning.duet-theme-turva{background:#fee8c3}.duet-badge.danger{background:#f8d3e0}.duet-badge.danger.duet-theme-turva{background:#f9d4cf}.duet-badge.success{background:#cce7de}.duet-badge.success.duet-theme-turva{background:#cee7dc}.duet-badge.subtle{color:rgb(101, 119, 135);background:none;outline:1px solid rgb(225, 227, 230);outline-offset:-1px}.duet-badge.subtle.duet-theme-turva{color:rgb(68, 68, 69);background:none;outline-color:rgb(228, 228, 230)}.duet-badge.background-strong.default{color:rgb(255, 255, 255);background:rgb(0, 119, 179)}.duet-badge.background-strong.default.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(23, 28, 58)}.duet-badge.background-strong.warning{background:#f9c153}.duet-badge.background-strong.warning.duet-theme-turva{background:#fbb63f}.duet-badge.background-strong.danger{color:rgb(255, 255, 255);background:rgb(222, 35, 98)}.duet-badge.background-strong.danger.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(224, 42, 13)}.duet-badge.background-strong.success{color:rgb(255, 255, 255);background:rgb(0, 135, 90)}.duet-badge.background-strong.success.duet-theme-turva{color:rgb(255, 255, 255);background:rgb(8, 135, 78)}.duet-badge.background-strong.subtle{border-color:rgb(207, 210, 212);outline-color:rgb(0, 41, 77)}.duet-badge.background-strong.subtle.duet-theme-turva{border-color:rgb(207, 207, 209);outline-color:rgb(23, 28, 58)}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const stringUtils = require('./string-utils-053749ff.js');
11
11
  const tokenUtils = require('./token-utils-84b3bca6.js');
@@ -5,8 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
+ const keyboardUtils = require('./keyboard-utils-7248dd0a.js');
10
11
  const languageUtils = require('./language-utils-e8a527e5.js');
11
12
  require('./string-utils-053749ff.js');
12
13
 
@@ -22,10 +23,12 @@ const DuetBreadcrumb = class {
22
23
  sv: "disabled. Visa mer",
23
24
  en: "disabled. Nuvarande sida",
24
25
  };
26
+ this.hasSlottedContent = false;
25
27
  this.theme = "";
26
28
  this.language = languageUtils.getLanguage();
27
29
  this.href = "";
28
30
  this.icon = "";
31
+ this.iconSize = "x-small";
29
32
  this.accessibleLabel = undefined;
30
33
  }
31
34
  /**
@@ -36,9 +39,12 @@ const DuetBreadcrumb = class {
36
39
  }
37
40
  connectedCallback() {
38
41
  languageUtils.connectLanguageChangeObserver(this);
42
+ keyboardUtils.subscribeTabbingChange(this);
43
+ this.hasSlottedContent = Array.from(this.element.childNodes).length > 0;
39
44
  }
40
45
  disconnectedCallback() {
41
46
  languageUtils.disconnectLanguageChangeObserver(this);
47
+ keyboardUtils.unsubscribeTabbingChange(this);
42
48
  }
43
49
  /**
44
50
  * render() function
@@ -49,7 +55,10 @@ const DuetBreadcrumb = class {
49
55
  return (index.h(index.Host, { role: "listitem" }, index.h("div", { class: "container" }, !this.icon && (index.h("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" })), index.h("a", { class: {
50
56
  "duet-breadcrumb": true,
51
57
  "duet-theme-turva": this.theme === "turva",
52
- }, href: this.href ? this.href : undefined, "aria-label": `${!this.href ? `${languageUtils.getLocaleString(this.currentCrumb)} ` : ""}${(_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.element.innerHTML}`, role: "link" }, this.icon && index.h("duet-icon", { size: "x-small", name: this.icon, margin: "none", color: "currentColor" }), !this.icon && index.h("slot", null)))));
58
+ }, href: this.href ? this.href : undefined, "aria-label": `${!this.href ? `${languageUtils.getLocaleString(this.currentCrumb)} ` : ""}${(_a = this.accessibleLabel) !== null && _a !== void 0 ? _a : this.element.innerHTML}`, role: "link" }, this.icon && [
59
+ index.h("duet-icon", { size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
60
+ this.hasSlottedContent && index.h("duet-spacer", { size: "x-small", direction: "horizontal" }),
61
+ ], index.h("slot", null)))));
53
62
  }
54
63
  get element() { return index.getElement(this); }
55
64
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const languageUtils = require('./language-utils-e8a527e5.js');
11
11
  require('./string-utils-053749ff.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-ce232ed8.js');
8
+ const index = require('./index-2dc54a15.js');
9
9
  const themeableComponent = require('./themeable-component-83a2a0d4.js');
10
10
  const commonStrings = require('./common-strings-22c70ef0.js');
11
11
  const languageUtils = require('./language-utils-e8a527e5.js');