@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
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { h } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
6
7
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
7
8
  export class DuetNotification {
8
9
  constructor() {
@@ -27,9 +28,11 @@ export class DuetNotification {
27
28
  }
28
29
  connectedCallback() {
29
30
  connectLanguageChangeObserver(this, { prop: "accessibleLabelUnread", defaults: "accessibleLabelUnreadDefaults" });
31
+ subscribeTabbingChange(this);
30
32
  }
31
33
  disconnectedCallback() {
32
34
  disconnectLanguageChangeObserver(this);
35
+ unsubscribeTabbingChange(this);
33
36
  }
34
37
  /**
35
38
  * Move focus to the notification's link element.
@@ -4,6 +4,7 @@
4
4
  import arrowDownIcon from "@duetds/icons/lib/assets/action-arrow-down-small";
5
5
  import { h } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
7
8
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
8
9
  const ESC_KEY = 27;
9
10
  export class DuetNotificationDrawer {
@@ -49,10 +50,12 @@ export class DuetNotificationDrawer {
49
50
  connectedCallback() {
50
51
  this.observer = new MutationObserver(this.updateNotificationState);
51
52
  this.observer.observe(this.element, { childList: true });
53
+ subscribeTabbingChange(this);
52
54
  }
53
55
  disconnectedCallback() {
54
56
  this.observer.disconnect();
55
57
  this.observer = null;
58
+ unsubscribeTabbingChange(this);
56
59
  }
57
60
  handleClickFocusOutside(e) {
58
61
  const target = e.target;
@@ -6,7 +6,7 @@ import subtractIcon from "@duetds/icons/lib/assets/action-subtract";
6
6
  import { Build, h, Host } from "@stencil/core";
7
7
  import { inheritGlobalTheme } from "../../common";
8
8
  import { createID } from "../../utils/create-id";
9
- import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isBackspaceKey, } from "../../utils/keyboard-utils";
9
+ import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isBackspaceKey, subscribeTabbingChange, unsubscribeTabbingChange, } from "../../utils/keyboard-utils";
10
10
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocale, getLocaleString, } from "../../utils/language-utils";
11
11
  import { clamp, roundTo, SafeParseFloat } from "../../utils/math.utils";
12
12
  export class DuetNumberInput {
@@ -241,9 +241,11 @@ export class DuetNumberInput {
241
241
  { prop: "accessibleSubtract", defaults: "accessibleSubtractDefaults" },
242
242
  { prop: "label", defaults: "labelDefaults" },
243
243
  ]);
244
+ subscribeTabbingChange(this);
244
245
  }
245
246
  disconnectedCallback() {
246
247
  disconnectLanguageChangeObserver(this);
248
+ unsubscribeTabbingChange(this);
247
249
  }
248
250
  /**
249
251
  * Sets focus on the specified `duet-number-input`. Use this method instead of the global
@@ -6,6 +6,7 @@ import { Build, h, Host } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
7
  import { createID } from "../../utils/create-id";
8
8
  import isInternetExplorer from "../../utils/is-internet-explorer";
9
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
9
10
  const colors = {
10
11
  turva: {
11
12
  active: colorPrimaryTurva,
@@ -77,6 +78,12 @@ export class DuetRangeSlider {
77
78
  componentWillLoad() {
78
79
  inheritGlobalTheme(this);
79
80
  }
81
+ connectedCallback() {
82
+ subscribeTabbingChange(this);
83
+ }
84
+ disconnectedCallback() {
85
+ unsubscribeTabbingChange(this);
86
+ }
80
87
  /**
81
88
  * Sets focus on the specified `duet-range-slider`. Use this method instead of the global
82
89
  * `input.focus()`.
@@ -20,16 +20,18 @@
20
20
  -moz-appearance: none;
21
21
  -webkit-appearance: none;
22
22
  appearance: none;
23
+ position: absolute;
23
24
  height: 100%;
24
25
  }
25
26
 
26
- :host slot:not([name=toggle])::slotted(*) {
27
+ ::slotted(*) {
27
28
  position: relative;
29
+ width: 100%;
28
30
  visibility: hidden;
29
31
  opacity: 0;
30
32
  }
31
33
 
32
- :host([open]) slot:not([name=toggle])::slotted(*) {
34
+ :host([open]) ::slotted(*) {
33
35
  visibility: visible;
34
36
  opacity: 1;
35
37
  }
@@ -149,17 +151,9 @@
149
151
  box-shadow: 0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a;
150
152
  }
151
153
 
152
- ::slotted(*) {
153
- width: 100%;
154
- }
155
-
156
154
  slot {
157
155
  color: rgb(0, 41, 77);
158
156
  }
159
157
  .duet-theme-turva slot {
160
158
  color: rgb(23, 28, 58);
161
- }
162
-
163
- slot[name=toggle] {
164
- color: inherit;
165
159
  }
@@ -5,7 +5,7 @@ import editIcon from "@duetds/icons/lib/assets/action-edit-2";
5
5
  import { Build, h } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
7
  import { createID } from "../../utils/create-id";
8
- import { isKeyboardClick } from "../../utils/keyboard-utils";
8
+ import { isKeyboardClick, subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
9
9
  /**
10
10
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
11
11
  * @slot heading-content - Step heading content. Use this slot to show additional content next to step heading.
@@ -47,6 +47,12 @@ export class DuetStep {
47
47
  componentWillLoad() {
48
48
  inheritGlobalTheme(this);
49
49
  }
50
+ connectedCallback() {
51
+ subscribeTabbingChange(this);
52
+ }
53
+ disconnectedCallback() {
54
+ unsubscribeTabbingChange(this);
55
+ }
50
56
  /**
51
57
  * Programmatically shift focus to the step's heading.
52
58
  */
@@ -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 } from "../../utils/keyboard-utils";
7
+ import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, 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
@@ -106,12 +106,14 @@ export class DuetTabGroup {
106
106
  });
107
107
  }
108
108
  await this.updateTabs();
109
+ subscribeTabbingChange(this);
109
110
  }
110
111
  disconnectedCallback() {
111
112
  if (this.mutationO) {
112
113
  this.mutationO.disconnect();
113
114
  this.mutationO = undefined;
114
115
  }
116
+ unsubscribeTabbingChange(this);
115
117
  }
116
118
  componentWillLoad() {
117
119
  inheritGlobalTheme(this);
@@ -4,6 +4,7 @@
4
4
  import { Build, h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { createID } from "../../utils/create-id";
7
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
7
8
  export class DuetToggle {
8
9
  constructor() {
9
10
  /**
@@ -53,6 +54,12 @@ export class DuetToggle {
53
54
  this.value = this.identifier;
54
55
  }
55
56
  }
57
+ connectedCallback() {
58
+ subscribeTabbingChange(this);
59
+ }
60
+ disconnectedCallback() {
61
+ unsubscribeTabbingChange(this);
62
+ }
56
63
  /**
57
64
  * Sets focus on the specified `duet-toggle`. Use this method instead of the global
58
65
  * `input.focus()`.
@@ -3,13 +3,13 @@
3
3
  */
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
6
7
  /**
7
8
  * @internal
8
9
  * This component is solely for internal use by duet-tooltip.
9
10
  */
10
11
  export class DuetTooltipButton {
11
12
  constructor() {
12
- this.userIsTabbing = false;
13
13
  this.label = "";
14
14
  this.accessibleLabel = undefined;
15
15
  this.theme = "";
@@ -22,13 +22,11 @@ export class DuetTooltipButton {
22
22
  componentWillLoad() {
23
23
  inheritGlobalTheme(this);
24
24
  }
25
- listenKeys(event) {
26
- if (event.keyCode === 9) {
27
- this.userIsTabbing = true;
28
- }
25
+ connectedCallback() {
26
+ subscribeTabbingChange(this);
29
27
  }
30
- listenMouse() {
31
- this.userIsTabbing = false;
28
+ disconnectedCallback() {
29
+ unsubscribeTabbingChange(this);
32
30
  }
33
31
  async setFocus(options) {
34
32
  if (this.buttonElement) {
@@ -40,7 +38,7 @@ export class DuetTooltipButton {
40
38
  * Always the last one in the class.
41
39
  */
42
40
  render() {
43
- return (h(Host, { class: { "user-is-tabbing": this.userIsTabbing } }, h("button", { ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
41
+ return (h(Host, null, h("button", { ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
44
42
  "duet-tooltip-button": true,
45
43
  "duet-tooltip-button-has-label": !!this.label,
46
44
  "duet-theme-turva": this.theme === "turva",
@@ -155,11 +153,6 @@ export class DuetTooltipButton {
155
153
  }
156
154
  };
157
155
  }
158
- static get states() {
159
- return {
160
- "userIsTabbing": {}
161
- };
162
- }
163
156
  static get methods() {
164
157
  return {
165
158
  "setFocus": {
@@ -190,19 +183,4 @@ export class DuetTooltipButton {
190
183
  };
191
184
  }
192
185
  static get elementRef() { return "element"; }
193
- static get listeners() {
194
- return [{
195
- "name": "keydown",
196
- "method": "listenKeys",
197
- "target": "window",
198
- "capture": false,
199
- "passive": false
200
- }, {
201
- "name": "mousedown",
202
- "method": "listenMouse",
203
- "target": "window",
204
- "capture": false,
205
- "passive": true
206
- }];
207
- }
208
186
  }
@@ -4,6 +4,7 @@
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { FocusGuard } from "../../utils/focus-utils";
7
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
7
8
  import { Teleport } from "../../utils/teleport";
8
9
  /**
9
10
  * @internal
@@ -14,7 +15,6 @@ export class DuetTooltipPopup {
14
15
  this.handleCloseClick = () => {
15
16
  this.tooltipPopupClosed.emit();
16
17
  };
17
- this.userIsTabbing = false;
18
18
  this.theme = "";
19
19
  this.active = undefined;
20
20
  this.tooltipId = undefined;
@@ -37,13 +37,11 @@ export class DuetTooltipPopup {
37
37
  inheritGlobalTheme(this);
38
38
  this.teleport = new Teleport(this.element);
39
39
  }
40
- listenKeys(event) {
41
- if (event.keyCode === 9) {
42
- this.userIsTabbing = true;
43
- }
40
+ connectedCallback() {
41
+ subscribeTabbingChange(this);
44
42
  }
45
- listenMouse() {
46
- this.userIsTabbing = false;
43
+ disconnectedCallback() {
44
+ unsubscribeTabbingChange(this);
47
45
  }
48
46
  async getArrowElement() {
49
47
  return this.arrowEl;
@@ -55,7 +53,7 @@ export class DuetTooltipPopup {
55
53
  this.contentEl.focus();
56
54
  }
57
55
  render() {
58
- return (h(Host, { class: { "user-is-tabbing": this.userIsTabbing } }, h("div", { class: {
56
+ return (h(Host, null, h("div", { class: {
59
57
  "duet-tooltip": true,
60
58
  "duet-theme-turva": this.theme === "turva",
61
59
  "duet-tooltip-active": this.active === true,
@@ -184,11 +182,6 @@ export class DuetTooltipPopup {
184
182
  }
185
183
  };
186
184
  }
187
- static get states() {
188
- return {
189
- "userIsTabbing": {}
190
- };
191
- }
192
185
  static get events() {
193
186
  return [{
194
187
  "method": "tooltipPopupClosed",
@@ -282,19 +275,4 @@ export class DuetTooltipPopup {
282
275
  "methodName": "handleActiveChange"
283
276
  }];
284
277
  }
285
- static get listeners() {
286
- return [{
287
- "name": "keydown",
288
- "method": "listenKeys",
289
- "target": "window",
290
- "capture": false,
291
- "passive": false
292
- }, {
293
- "name": "mousedown",
294
- "method": "listenMouse",
295
- "target": "window",
296
- "capture": false,
297
- "passive": true
298
- }];
299
- }
300
278
  }
@@ -190,6 +190,10 @@ export class DuetTooltip {
190
190
  // top of other tooltips and the header.
191
191
  zIndex: this.active ? "201" : "",
192
192
  };
193
+ const popupContainerStyles = {
194
+ position: "relative",
195
+ overflow: this.active ? "visible" : "hidden",
196
+ };
193
197
  const positionStyles = {
194
198
  top: `${this.tooltipY}px`,
195
199
  left: `${this.tooltipX}px`,
@@ -200,7 +204,7 @@ export class DuetTooltip {
200
204
  top: this.arrowY ? `${this.arrowY}px` : undefined,
201
205
  left: this.arrowX ? `${this.arrowX}px` : undefined,
202
206
  };
203
- 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}` : this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme }), 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))));
207
+ 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}` : 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)))));
204
208
  }
205
209
  static get is() { return "duet-tooltip"; }
206
210
  static get encapsulation() { return "scoped"; }
@@ -5,6 +5,7 @@ import { sizeHeader } from "@duetds/tokens";
5
5
  import { Fragment, h } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
7
  import { createID } from "../../utils/create-id";
8
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
8
9
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
9
10
  const topOffset = parseFloat(sizeHeader) * 2 * 16; // convert rem -> px
10
11
  /**
@@ -61,9 +62,11 @@ export class DuetTray {
61
62
  { prop: "accessibleOpenLabel", defaults: "accessibleOpenLabelDefaults" },
62
63
  { prop: "accessibleCloseLabel", defaults: "accessibleCloseLabelDefaults" },
63
64
  ]);
65
+ subscribeTabbingChange(this);
64
66
  }
65
67
  disconnectedCallback() {
66
68
  disconnectLanguageChangeObserver(this);
69
+ unsubscribeTabbingChange(this);
67
70
  }
68
71
  /**
69
72
  * Component event handling.
@@ -2,32 +2,6 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { setupLoggers } from "./log-wrapper";
5
- const TAB_KEY = 9;
6
5
  export default () => {
7
- function listenKeys(event) {
8
- if (event.keyCode === TAB_KEY) {
9
- var components = document.querySelectorAll(".hydrated");
10
- for (var i = 0; i < components.length; i++) {
11
- components[i].classList.add("user-is-tabbing");
12
- }
13
- if (typeof window !== "undefined") {
14
- window.removeEventListener("keydown", listenKeys);
15
- window.addEventListener("mousedown", listenMouse, false);
16
- }
17
- }
18
- }
19
- function listenMouse() {
20
- var components = document.querySelectorAll(".hydrated");
21
- for (var i = 0; i < components.length; i++) {
22
- components[i].classList.remove("user-is-tabbing");
23
- }
24
- if (typeof window !== "undefined") {
25
- window.removeEventListener("mousedown", listenMouse);
26
- window.addEventListener("keydown", listenKeys, false);
27
- }
28
- }
29
- if (typeof window !== "undefined") {
30
- window.addEventListener("keydown", listenKeys, false);
31
- }
32
6
  setupLoggers();
33
7
  };
@@ -1,18 +1,49 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- export const isArrowLeftKey = (e) => e.keyCode === 37;
5
- export const isArrowUpKey = (e) => e.keyCode === 38;
6
- export const isArrowRightKey = (e) => e.keyCode === 39;
7
- export const isArrowDownKey = (e) => e.keyCode === 40;
4
+ export const isArrowLeftKey = (e) => e.key === "ArrowLeft" || e.key === "Left";
5
+ export const isArrowUpKey = (e) => e.key === "ArrowUp" || e.key === "Up";
6
+ export const isArrowRightKey = (e) => e.key === "ArrowRight" || e.key === "Right";
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
- export const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc" || e.keyCode === 27;
10
- export const isTabKey = (e) => e.key === "Tab" || e.keyCode === 9;
11
- export const isBackspaceKey = (e) => e.keyCode === 8;
12
- export const isSpaceKey = (e) => e.key === "Space" || e.keyCode === 32;
13
- export const isPlusKey = (e) => e.key === "+" || e.keyCode === 43;
14
- export const isMinusKey = (e) => e.key === "-" || e.keyCode === 45;
9
+ export const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc";
10
+ export const isTabKey = (e) => e.key === "Tab";
11
+ export const isBackspaceKey = (e) => e.key === "Backspace";
12
+ export const isSpaceKey = (e) => e.key === " " || e.key === "Spacebar";
13
+ export const isPlusKey = (e) => e.key === "+" || e.key === "Add";
14
+ export const isMinusKey = (e) => e.key === "-" || e.key === "Subtract";
15
15
  export const isQuestionKey = (e) => e.key === "?";
16
- export const isEnterKey = (e) => e.key === "Enter" || e.keyCode === 13;
16
+ export const isEnterKey = (e) => e.key === "Enter";
17
17
  export const isKeyboardClick = (e) => isEnterKey(e) || isSpaceKey(e);
18
- export const isNumber = (e) => (e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105);
18
+ export const isNumber = (e) => e.key >= "0" && e.key <= "9";
19
+ /**
20
+ * Component instances that have subscribed to tabbing change.
21
+ */
22
+ const tabbingChangeSubscribers = new Set();
23
+ function notifySubscribers(tabbing) {
24
+ tabbingChangeSubscribers.forEach(subscriber => {
25
+ subscriber.element.classList[tabbing ? "add" : "remove"]("user-is-tabbing");
26
+ });
27
+ }
28
+ function listenKeys(event) {
29
+ if (isTabKey(event)) {
30
+ notifySubscribers(true);
31
+ window.removeEventListener("keydown", listenKeys);
32
+ window.addEventListener("mousedown", listenMouse, false);
33
+ }
34
+ }
35
+ function listenMouse() {
36
+ notifySubscribers(false);
37
+ window.removeEventListener("mousedown", listenMouse);
38
+ window.addEventListener("keydown", listenKeys, false);
39
+ }
40
+ // start listening for tabbing (and mouse clicking through that) only if window is defined (i.e. not on server)
41
+ if (typeof window !== "undefined") {
42
+ window.addEventListener("keydown", listenKeys, false);
43
+ }
44
+ export const subscribeTabbingChange = component => {
45
+ tabbingChangeSubscribers.add(component);
46
+ };
47
+ export const unsubscribeTabbingChange = component => {
48
+ tabbingChangeSubscribers.delete(component);
49
+ };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetActionButton$1, d as defineCustomElement$1 } from './p-402e81c0.js';
4
+ import { D as DuetActionButton$1, d as defineCustomElement$1 } from './p-fc1fa737.js';
5
5
 
6
6
  const DuetActionButton = DuetActionButton$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetAlert$1, d as defineCustomElement$1 } from './p-247a9d01.js';
4
+ import { D as DuetAlert$1, d as defineCustomElement$1 } from './p-8b89622f.js';
5
5
 
6
6
  const DuetAlert = DuetAlert$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetBadge$1, d as defineCustomElement$1 } from './p-a6e6f578.js';
4
+ import { D as DuetBadge$1, d as defineCustomElement$1 } from './p-10a15ea1.js';
5
5
 
6
6
  const DuetBadge = DuetBadge$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h as h$1, d as Host } from './p-6f7dcc4d.js';
4
+ import { p as proxyCustomElement, H, h as h$1, d as Host } from './p-04a295c6.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { h } from './p-62c7d9d4.js';
7
7
  import { p as parsePossibleJSON } from './p-0e052642.js';
8
8
  import { g as getColorByName } from './p-57a1cba9.js';
9
- import { d as defineCustomElement$4 } from './p-ba0f907f.js';
10
- import { d as defineCustomElement$3 } from './p-76b345c8.js';
11
- import { d as defineCustomElement$2 } from './p-a45d0398.js';
9
+ import { d as defineCustomElement$4 } from './p-adef0aaa.js';
10
+ import { d as defineCustomElement$3 } from './p-65d472d7.js';
11
+ import { d as defineCustomElement$2 } from './p-6222a43f.js';
12
12
 
13
13
  const DuetPicture = ({ img, sources }) => {
14
14
  return (h("picture", null,
@@ -1,10 +1,12 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, d as Host } from './p-6f7dcc4d.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-04a295c6.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './p-8f253845.js';
6
7
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './p-2e36d5bf.js';
7
- import { d as defineCustomElement$2 } from './p-76b345c8.js';
8
+ import { d as defineCustomElement$3 } from './p-65d472d7.js';
9
+ import { d as defineCustomElement$2 } from './p-e034dfea.js';
8
10
 
9
11
  var actionArrowRightSmall={"title":"action-arrow-right-small","tags":"action arrow right small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M19.5 12a2.3 2.3 0 0 1-.78 1.729L7.568 23.54a1.847 1.847 0 0 1-2.439-2.773l9.752-8.579a.25.25 0 0 0 0-.376L5.129 3.233A1.847 1.847 0 0 1 7.568.46l11.148 9.808A2.31 2.31 0 0 1 19.5 12z\"/></svg>"};
10
12
 
@@ -20,10 +22,12 @@ const DuetBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class DuetBreadcrumb e
20
22
  sv: "disabled. Visa mer",
21
23
  en: "disabled. Nuvarande sida",
22
24
  };
25
+ this.hasSlottedContent = false;
23
26
  this.theme = "";
24
27
  this.language = getLanguage();
25
28
  this.href = "";
26
29
  this.icon = "";
30
+ this.iconSize = "x-small";
27
31
  this.accessibleLabel = undefined;
28
32
  }
29
33
  /**
@@ -34,9 +38,12 @@ const DuetBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class DuetBreadcrumb e
34
38
  }
35
39
  connectedCallback() {
36
40
  connectLanguageChangeObserver(this);
41
+ subscribeTabbingChange(this);
42
+ this.hasSlottedContent = Array.from(this.element.childNodes).length > 0;
37
43
  }
38
44
  disconnectedCallback() {
39
45
  disconnectLanguageChangeObserver(this);
46
+ unsubscribeTabbingChange(this);
40
47
  }
41
48
  /**
42
49
  * render() function
@@ -47,7 +54,10 @@ const DuetBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class DuetBreadcrumb e
47
54
  return (h(Host, { role: "listitem" }, h("div", { class: "container" }, !this.icon && (h("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" })), h("a", { class: {
48
55
  "duet-breadcrumb": true,
49
56
  "duet-theme-turva": this.theme === "turva",
50
- }, 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 && h("duet-icon", { size: "x-small", name: this.icon, margin: "none", color: "currentColor" }), !this.icon && h("slot", null)))));
57
+ }, 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 && [
58
+ h("duet-icon", { size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
59
+ this.hasSlottedContent && h("duet-spacer", { size: "x-small", direction: "horizontal" }),
60
+ ], h("slot", null)))));
51
61
  }
52
62
  get element() { return this; }
53
63
  static get style() { return duetBreadcrumbCss; }
@@ -55,6 +65,7 @@ const DuetBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class DuetBreadcrumb e
55
65
  "theme": [1025],
56
66
  "href": [1025],
57
67
  "icon": [1025],
68
+ "iconSize": [1, "icon-size"],
58
69
  "accessibleLabel": [1, "accessible-label"],
59
70
  "language": [32]
60
71
  }]);
@@ -62,7 +73,7 @@ function defineCustomElement$1() {
62
73
  if (typeof customElements === "undefined") {
63
74
  return;
64
75
  }
65
- const components = ["duet-breadcrumb", "duet-icon"];
76
+ const components = ["duet-breadcrumb", "duet-icon", "duet-spacer"];
66
77
  components.forEach(tagName => { switch (tagName) {
67
78
  case "duet-breadcrumb":
68
79
  if (!customElements.get(tagName)) {
@@ -70,6 +81,11 @@ function defineCustomElement$1() {
70
81
  }
71
82
  break;
72
83
  case "duet-icon":
84
+ if (!customElements.get(tagName)) {
85
+ defineCustomElement$3();
86
+ }
87
+ break;
88
+ case "duet-spacer":
73
89
  if (!customElements.get(tagName)) {
74
90
  defineCustomElement$2();
75
91
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, d as Host } from './p-6f7dcc4d.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-04a295c6.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
6
  import { g as getLocaleString } from './p-2e36d5bf.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetButton$1, d as defineCustomElement$1 } from './p-5fe36e8b.js';
4
+ import { D as DuetButton$1, d as defineCustomElement$1 } from './p-1224c98d.js';
5
5
 
6
6
  const DuetButton = DuetButton$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, d as Host } from './p-6f7dcc4d.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-04a295c6.js';
5
5
  import { i as inheritGlobalTheme } from './p-a58bd561.js';
6
- import { d as defineCustomElement$3 } from './p-76b345c8.js';
7
- import { d as defineCustomElement$2 } from './p-a45d0398.js';
6
+ import { d as defineCustomElement$3 } from './p-65d472d7.js';
7
+ import { d as defineCustomElement$2 } from './p-6222a43f.js';
8
8
 
9
9
  const duetCalloutCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}blockquote,figure{margin:0}.duet-callout{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-callout .container{display:flex;flex-direction:column;gap:8px;align-items:center;max-width:688px;text-align:center}.duet-callout .callout-icon{width:50px;padding-bottom:8px}.duet-callout .author{color:rgb(0, 41, 77)}.duet-callout.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-callout.duet-theme-turva .author{color:rgb(23, 28, 58)}.duet-callout.duet-m-0{margin:0 !important}";
10
10