@duetds/components 8.4.3 → 8.4.5

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 (645) hide show
  1. package/hydrate/index.js +184 -32
  2. package/lib/cjs/action-new-window-50c8aed0.js +11 -0
  3. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  4. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-banner.cjs.entry.js +8 -7
  7. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
  10. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-caption_4.cjs.entry.js +45 -21
  12. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  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 +1 -1
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-date-picker.cjs.entry.js +4 -4
  22. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-editable-table_3.cjs.entry.js +52 -4
  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 +3 -5
  28. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-input_2.cjs.entry.js +3 -3
  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 +2 -2
  36. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-modal.cjs.entry.js +6 -6
  42. package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-overlay.cjs.entry.js +57 -0
  47. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -4
  49. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-popup-menu.cjs.entry.js +8 -3
  51. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
  53. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  55. package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  64. package/lib/cjs/duet-slideout.cjs.entry.js +6 -9
  65. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  68. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  70. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -6
  71. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  74. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  75. package/lib/cjs/duet-toolbar-item.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  79. package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
  80. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  81. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  82. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  83. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  84. package/lib/cjs/duet.cjs.js +2 -2
  85. package/lib/cjs/{focus-utils-a8f819a3.js → focus-utils-8769bc19.js} +1 -1
  86. package/lib/cjs/{index-cb4d7840.js → index-4522afdb.js} +1 -1
  87. package/lib/cjs/loader.cjs.js +2 -2
  88. package/lib/cjs/{token-utils-7a618677.js → token-utils-c8094d1e.js} +1 -1
  89. package/lib/cjs/{tokens-c3eecae6.js → tokens-5b487d39.js} +3 -0
  90. package/lib/cjs/{tokens.module-bc323a09.js → tokens.module-450a747b.js} +2 -0
  91. package/lib/collection/collection-manifest.json +1 -0
  92. package/lib/collection/components/duet-banner/duet-banner.js +5 -4
  93. package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -4
  94. package/lib/collection/components/duet-date-picker/duet-date-picker.js +1 -1
  95. package/lib/collection/components/duet-link/duet-link.css +95 -9
  96. package/lib/collection/components/duet-link/duet-link.js +73 -20
  97. package/lib/collection/components/duet-modal/duet-modal.css +4 -8
  98. package/lib/collection/components/duet-modal/duet-modal.e2e.js +2 -2
  99. package/lib/collection/components/duet-modal/duet-modal.js +3 -3
  100. package/lib/collection/components/duet-overlay/duet-overlay.css +97 -0
  101. package/lib/collection/components/duet-overlay/duet-overlay.js +204 -0
  102. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +24 -1
  103. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  104. package/lib/collection/components/duet-slideout/duet-slideout.css +0 -23
  105. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -4
  106. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +0 -12
  107. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +4 -3
  108. package/lib/collection/components/duet-upload/duet-upload.js +67 -1
  109. package/lib/collection/utils/string-utils.js +6 -0
  110. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  111. package/lib/dist-custom-elements/duet-alert.js +1 -1
  112. package/lib/dist-custom-elements/duet-badge.js +1 -1
  113. package/lib/dist-custom-elements/duet-banner.js +9 -8
  114. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  115. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  116. package/lib/dist-custom-elements/duet-button.js +1 -1
  117. package/lib/dist-custom-elements/duet-callout.js +2 -2
  118. package/lib/dist-custom-elements/duet-caption.js +1 -1
  119. package/lib/dist-custom-elements/duet-card.js +4 -4
  120. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  121. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  122. package/lib/dist-custom-elements/duet-chip.js +2 -2
  123. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  124. package/lib/dist-custom-elements/duet-choice.js +5 -5
  125. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  126. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  127. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  128. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  129. package/lib/dist-custom-elements/duet-date-picker.js +26 -20
  130. package/lib/dist-custom-elements/duet-divider.js +1 -1
  131. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  132. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  133. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  134. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  135. package/lib/dist-custom-elements/duet-footer.js +5 -7
  136. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  137. package/lib/dist-custom-elements/duet-grid.js +1 -1
  138. package/lib/dist-custom-elements/duet-header.js +9 -9
  139. package/lib/dist-custom-elements/duet-heading.js +1 -1
  140. package/lib/dist-custom-elements/duet-hero.js +9 -9
  141. package/lib/dist-custom-elements/duet-icon.js +1 -1
  142. package/lib/dist-custom-elements/duet-input.js +1 -1
  143. package/lib/dist-custom-elements/duet-label.js +1 -1
  144. package/lib/dist-custom-elements/duet-layout.js +1 -1
  145. package/lib/dist-custom-elements/duet-link.js +1 -1
  146. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  147. package/lib/dist-custom-elements/duet-list.js +1 -1
  148. package/lib/dist-custom-elements/duet-logo.js +1 -1
  149. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  150. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  151. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  152. package/lib/dist-custom-elements/duet-menu-bar-item.js +3 -3
  153. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
  154. package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
  155. package/lib/dist-custom-elements/duet-modal.js +20 -14
  156. package/lib/dist-custom-elements/duet-multiselect.js +9 -9
  157. package/lib/dist-custom-elements/duet-nav.js +1 -1
  158. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  159. package/lib/dist-custom-elements/duet-notification.js +2 -2
  160. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  161. package/lib/dist-custom-elements/duet-overlay.d.ts +11 -0
  162. package/lib/dist-custom-elements/duet-overlay.js +9 -0
  163. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  164. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  165. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  166. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  167. package/lib/dist-custom-elements/duet-popup-menu.js +8 -2
  168. package/lib/dist-custom-elements/duet-progress.js +1 -1
  169. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  170. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  171. package/lib/dist-custom-elements/duet-radio.js +1 -1
  172. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  173. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  174. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  175. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  176. package/lib/dist-custom-elements/duet-select.js +1 -1
  177. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  178. package/lib/dist-custom-elements/duet-show-more.js +5 -5
  179. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  180. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  181. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  182. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  183. package/lib/dist-custom-elements/duet-slideout.js +12 -9
  184. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  185. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  186. package/lib/dist-custom-elements/duet-step.js +4 -4
  187. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  188. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  189. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  190. package/lib/dist-custom-elements/duet-submenu-bar-item.js +3 -3
  191. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  192. package/lib/dist-custom-elements/duet-submenu-bar.js +15 -8
  193. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  194. package/lib/dist-custom-elements/duet-tab.js +2 -2
  195. package/lib/dist-custom-elements/duet-table.js +1 -1
  196. package/lib/dist-custom-elements/duet-textarea.js +10 -10
  197. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  198. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  199. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  200. package/lib/dist-custom-elements/duet-toolbar-item.js +2 -2
  201. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  202. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  203. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  204. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  205. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  206. package/lib/dist-custom-elements/duet-tray.js +4 -4
  207. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  208. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  209. package/lib/dist-custom-elements/duet-upload.js +68 -19
  210. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  211. package/lib/dist-custom-elements/index.js +1 -1
  212. package/lib/dist-custom-elements/p-03e1643a.js +195 -0
  213. package/lib/dist-custom-elements/{p-22530bf0.js → p-0bff5208.js} +1 -1
  214. package/lib/dist-custom-elements/{p-c5d64549.js → p-1a2ca780.js} +10 -10
  215. package/lib/dist-custom-elements/{p-bb06c3ac.js → p-1f275a30.js} +2 -2
  216. package/lib/dist-custom-elements/{p-04a28e53.js → p-20675093.js} +2 -2
  217. package/lib/dist-custom-elements/{p-cbac9ed5.js → p-2807b16f.js} +1 -1
  218. package/lib/dist-custom-elements/{p-c7bbc1bd.js → p-2d18f2ff.js} +2 -2
  219. package/lib/dist-custom-elements/{p-9b8fa220.js → p-2e754a46.js} +2 -2
  220. package/lib/dist-custom-elements/{p-d37a3cec.js → p-2f3ee599.js} +2 -0
  221. package/lib/dist-custom-elements/{p-ea4b4bbb.js → p-3db8a54a.js} +2 -2
  222. package/lib/dist-custom-elements/{p-34f86ab2.js → p-3ff6fd48.js} +1 -1
  223. package/lib/dist-custom-elements/{p-2103fc77.js → p-42b04d28.js} +1 -1
  224. package/lib/dist-custom-elements/{p-3da9e71c.js → p-4de7a2a2.js} +5 -5
  225. package/lib/dist-custom-elements/{p-b7f8263a.js → p-51eec445.js} +2 -2
  226. package/lib/dist-custom-elements/{p-6a2c4e3a.js → p-589b472b.js} +6 -6
  227. package/lib/dist-custom-elements/{p-4da748b2.js → p-73334255.js} +1 -1
  228. package/lib/dist-custom-elements/p-80939c89.js +76 -0
  229. package/lib/dist-custom-elements/p-8855e26a.js +8 -0
  230. package/lib/dist-custom-elements/{p-09ac88f3.js → p-8fed8d20.js} +3 -3
  231. package/lib/dist-custom-elements/{p-252800e5.js → p-900d6d8f.js} +1 -1
  232. package/lib/dist-custom-elements/{p-29282584.js → p-90196337.js} +1 -1
  233. package/lib/dist-custom-elements/{p-3e7280f6.js → p-aad10747.js} +8 -8
  234. package/lib/dist-custom-elements/{p-c8659f64.js → p-abf479dc.js} +3 -3
  235. package/lib/dist-custom-elements/{p-f79a36ee.js → p-af8298ea.js} +1 -1
  236. package/lib/dist-custom-elements/{p-e6920cf3.js → p-b88a191b.js} +2 -2
  237. package/lib/dist-custom-elements/{p-010b0059.js → p-bab22149.js} +4 -4
  238. package/lib/dist-custom-elements/{p-44cdc06d.js → p-bbf96d07.js} +2 -2
  239. package/lib/dist-custom-elements/{p-8d2fe91f.js → p-bc13b982.js} +10 -10
  240. package/lib/dist-custom-elements/{p-613dba69.js → p-ccdcae7e.js} +5 -5
  241. package/lib/dist-custom-elements/{p-a225fccd.js → p-cd17adee.js} +5 -5
  242. package/lib/dist-custom-elements/{p-c7343af9.js → p-ce95ed21.js} +2 -2
  243. package/lib/dist-custom-elements/{p-3fa35111.js → p-d2a5748f.js} +2 -2
  244. package/lib/dist-custom-elements/{p-d0cf13fd.js → p-db1f5f99.js} +1 -1
  245. package/lib/dist-custom-elements/{p-d9f82ff4.js → p-e2372337.js} +1 -1
  246. package/lib/dist-custom-elements/{p-d940c692.js → p-ecad7dde.js} +2 -2
  247. package/lib/{esm/tokens-30d01e1d.js → dist-custom-elements/p-ed995372.js} +3 -0
  248. package/lib/dist-custom-elements/{p-8af17456.js → p-f36ef263.js} +1 -1
  249. package/lib/dist-custom-elements/{p-cd25ec2f.js → p-fbccb31a.js} +2 -2
  250. package/lib/dist-custom-elements/{p-101df5e0.js → p-ff7cd52f.js} +2 -2
  251. package/lib/duet/duet.esm.js +1 -1
  252. package/lib/duet/duet.js +1 -1
  253. package/lib/duet/{p-1e3a9599.system.entry.js → p-03967390.system.entry.js} +1 -1
  254. package/lib/duet/{p-f2aa1623.js → p-03f6f09a.js} +1 -1
  255. package/lib/duet/{p-80ab419c.entry.js → p-076900c7.entry.js} +1 -1
  256. package/lib/duet/{p-17130b15.system.entry.js → p-081dddef.system.entry.js} +1 -1
  257. package/lib/duet/{p-85695c74.entry.js → p-0890b5c0.entry.js} +1 -1
  258. package/lib/duet/{p-0b80e74d.system.entry.js → p-08ce2eeb.system.entry.js} +1 -1
  259. package/lib/duet/{p-0cfba791.entry.js → p-0a829741.entry.js} +1 -1
  260. package/lib/duet/p-0aacfef8.system.entry.js +4 -0
  261. package/lib/duet/{p-88f9880c.system.entry.js → p-0b90d38a.system.entry.js} +1 -1
  262. package/lib/duet/{p-f7dc3756.system.entry.js → p-0c4e9ba0.system.entry.js} +1 -1
  263. package/lib/duet/{p-f63c4cea.system.entry.js → p-0e5b33be.system.entry.js} +1 -1
  264. package/lib/duet/{p-44dd3f6b.entry.js → p-136b8e2e.entry.js} +1 -1
  265. package/lib/duet/{p-1b32fc71.system.entry.js → p-14b542d3.system.entry.js} +1 -1
  266. package/lib/duet/{p-18b21092.system.entry.js → p-1b8466a0.system.entry.js} +1 -1
  267. package/lib/duet/{p-29e18bae.entry.js → p-1cab6059.entry.js} +1 -1
  268. package/lib/duet/{p-6aaaa6e6.system.entry.js → p-1d61dcf4.system.entry.js} +1 -1
  269. package/lib/duet/{p-bb134fb0.entry.js → p-1dea0116.entry.js} +1 -1
  270. package/lib/duet/{p-2765967c.entry.js → p-25d270e9.entry.js} +1 -1
  271. package/lib/duet/{p-098dcfbc.system.entry.js → p-269a2b16.system.entry.js} +1 -1
  272. package/lib/duet/p-26d669aa.entry.js +4 -0
  273. package/lib/duet/{p-2a594105.system.entry.js → p-27e6e785.system.entry.js} +1 -1
  274. package/lib/duet/{p-3266adc5.entry.js → p-2ddf153d.entry.js} +1 -1
  275. package/lib/duet/{p-56c12a47.system.entry.js → p-2e7c6c53.system.entry.js} +1 -1
  276. package/lib/duet/{p-46efd28d.system.entry.js → p-2e7db6e1.system.entry.js} +1 -1
  277. package/lib/duet/{p-d79938f5.entry.js → p-2f349bb9.entry.js} +1 -1
  278. package/lib/duet/{p-bc715683.entry.js → p-316610c1.entry.js} +1 -1
  279. package/lib/duet/{p-7a79672d.system.entry.js → p-33fe642a.system.entry.js} +1 -1
  280. package/lib/duet/{p-3d74d9ba.system.entry.js → p-3539c6d4.system.entry.js} +1 -1
  281. package/lib/duet/{p-7ad16b5f.entry.js → p-3691e86f.entry.js} +1 -1
  282. package/lib/duet/p-37895b24.entry.js +4 -0
  283. package/lib/duet/{p-ebc5c075.entry.js → p-37c36dca.entry.js} +1 -1
  284. package/lib/duet/{p-9dd9783c.entry.js → p-3dc29f91.entry.js} +1 -1
  285. package/lib/duet/{p-f102b3c6.system.entry.js → p-3e9236bb.system.entry.js} +1 -1
  286. package/lib/duet/p-3f7c8cee.entry.js +4 -0
  287. package/lib/duet/{p-34eeb826.entry.js → p-40839797.entry.js} +1 -1
  288. package/lib/duet/{p-4219a6cc.system.entry.js → p-41207875.system.entry.js} +1 -1
  289. package/lib/duet/{p-abdbce02.system.js → p-41ba30b7.system.js} +1 -1
  290. package/lib/duet/p-41bbd59c.system.entry.js +4 -0
  291. package/lib/duet/{p-a25a5bda.entry.js → p-42aa1a1a.entry.js} +1 -1
  292. package/lib/duet/{p-4dc1f780.system.entry.js → p-443fc685.system.entry.js} +1 -1
  293. package/lib/duet/{p-7ac66521.entry.js → p-44e139b4.entry.js} +1 -1
  294. package/lib/duet/{p-99528b33.system.entry.js → p-45a051e1.system.entry.js} +1 -1
  295. package/lib/duet/{p-916c05c0.system.entry.js → p-494a9b5f.system.entry.js} +1 -1
  296. package/lib/duet/{p-9ff8f713.system.entry.js → p-4fe83168.system.entry.js} +1 -1
  297. package/lib/duet/{p-3e86fc2f.entry.js → p-50bf27d5.entry.js} +1 -1
  298. package/lib/duet/{p-be48cfce.system.entry.js → p-5284b60c.system.entry.js} +1 -1
  299. package/lib/duet/p-52e38899.system.js +4 -0
  300. package/lib/duet/{p-1a2ff25f.system.entry.js → p-549b9ade.system.entry.js} +1 -1
  301. package/lib/duet/{p-d1acd619.entry.js → p-5b564bef.entry.js} +1 -1
  302. package/lib/duet/{p-e066623e.system.entry.js → p-5bf253d5.system.entry.js} +1 -1
  303. package/lib/duet/{p-39b31261.entry.js → p-5c405e9d.entry.js} +1 -1
  304. package/lib/duet/{p-2c1f79ac.system.entry.js → p-5d261ccd.system.entry.js} +1 -1
  305. package/lib/duet/{p-01a3e3f8.entry.js → p-603732bf.entry.js} +1 -1
  306. package/lib/duet/{p-cacd3719.entry.js → p-60af0a8a.entry.js} +1 -1
  307. package/lib/duet/p-650a419d.system.js +4 -0
  308. package/lib/duet/p-6532401b.system.js +4 -0
  309. package/lib/duet/{p-f0233912.entry.js → p-6671ca35.entry.js} +1 -1
  310. package/lib/duet/{p-849e68d1.entry.js → p-66e17c2e.entry.js} +1 -1
  311. package/lib/duet/{p-7df9ed1a.system.entry.js → p-68d16a03.system.entry.js} +1 -1
  312. package/lib/duet/{p-d915620f.entry.js → p-6a1594c9.entry.js} +1 -1
  313. package/lib/duet/{p-4999bd59.entry.js → p-6c4a8d82.entry.js} +1 -1
  314. package/lib/duet/{p-e45c589a.js → p-6df2b029.js} +1 -1
  315. package/lib/duet/{p-e4206eb5.system.entry.js → p-6e43a469.system.entry.js} +1 -1
  316. package/lib/duet/p-6f6318f0.system.entry.js +4 -0
  317. package/lib/duet/{p-977832d7.entry.js → p-6ffcfe0b.entry.js} +1 -1
  318. package/lib/duet/{p-a82cd36e.system.entry.js → p-704238cb.system.entry.js} +1 -1
  319. package/lib/duet/{p-142fffe3.system.entry.js → p-77671d1f.system.entry.js} +1 -1
  320. package/lib/duet/p-7767eb78.entry.js +4 -0
  321. package/lib/duet/{p-5f87ea3d.js → p-7a66b632.js} +1 -1
  322. package/lib/duet/{p-ef3fb30c.entry.js → p-7e31ec95.entry.js} +1 -1
  323. package/lib/duet/p-82373c91.system.entry.js +4 -0
  324. package/lib/duet/{p-8ad68512.entry.js → p-82567378.entry.js} +1 -1
  325. package/lib/duet/{p-8814dca5.system.entry.js → p-827998c8.system.entry.js} +1 -1
  326. package/lib/duet/{p-d40d6372.system.entry.js → p-845f9c74.system.entry.js} +1 -1
  327. package/lib/duet/p-861a1b8d.system.entry.js +4 -0
  328. package/lib/duet/{p-d2fff81e.system.entry.js → p-86a77667.system.entry.js} +1 -1
  329. package/lib/duet/p-8855e26a.js +4 -0
  330. package/lib/duet/p-894d217b.system.entry.js +4 -0
  331. package/lib/duet/{p-22d2d468.system.entry.js → p-8b32c948.system.entry.js} +1 -1
  332. package/lib/duet/{p-580aed81.system.entry.js → p-8bda35d1.system.entry.js} +2 -2
  333. package/lib/duet/{p-d5e31ef5.entry.js → p-8bdd5287.entry.js} +1 -1
  334. package/lib/duet/{p-c1502939.system.entry.js → p-8c49cec4.system.entry.js} +1 -1
  335. package/lib/duet/{p-97574cd9.entry.js → p-8cd2f57c.entry.js} +1 -1
  336. package/lib/duet/{p-c946fab0.entry.js → p-8d0ecf93.entry.js} +1 -1
  337. package/lib/duet/{p-2f82c4d4.entry.js → p-8d2535f8.entry.js} +1 -1
  338. package/lib/duet/{p-660c33d4.system.entry.js → p-8d26b1e6.system.entry.js} +1 -1
  339. package/lib/duet/{p-1d7f59a7.entry.js → p-8deda08c.entry.js} +1 -1
  340. package/lib/duet/{p-5ea4fe7b.system.entry.js → p-8f9cae27.system.entry.js} +1 -1
  341. package/lib/duet/{p-611fc71b.system.entry.js → p-921ef4d5.system.entry.js} +1 -1
  342. package/lib/duet/{p-c8405ffe.entry.js → p-938c4499.entry.js} +1 -1
  343. package/lib/duet/{p-01bf6506.entry.js → p-939b613a.entry.js} +1 -1
  344. package/lib/duet/{p-fa9802a4.entry.js → p-941f11ef.entry.js} +1 -1
  345. package/lib/duet/{p-8606a8a4.system.entry.js → p-954bbc13.system.entry.js} +1 -1
  346. package/lib/duet/{p-d9cbeb06.system.entry.js → p-971eee71.system.entry.js} +1 -1
  347. package/lib/duet/{p-6b9228dd.entry.js → p-98fc2930.entry.js} +1 -1
  348. package/lib/duet/{p-029e0713.system.entry.js → p-9bfd0313.system.entry.js} +1 -1
  349. package/lib/duet/{p-30a6959f.entry.js → p-9c1a6a86.entry.js} +1 -1
  350. package/lib/duet/{p-e9a89efc.system.entry.js → p-9d6d2893.system.entry.js} +1 -1
  351. package/lib/duet/{p-0995d4db.entry.js → p-9d8a5815.entry.js} +1 -1
  352. package/lib/duet/p-9dda3bc2.system.js +4 -0
  353. package/lib/duet/{p-3a93f309.entry.js → p-9f2d6c10.entry.js} +1 -1
  354. package/lib/duet/{p-ee3003f9.system.entry.js → p-a042ea41.system.entry.js} +1 -1
  355. package/lib/duet/{p-9bfa5c62.entry.js → p-a04d8c4c.entry.js} +1 -1
  356. package/lib/duet/{p-e2d770ba.entry.js → p-a3d254ab.entry.js} +1 -1
  357. package/lib/duet/{p-543bc859.entry.js → p-a4514e57.entry.js} +1 -1
  358. package/lib/duet/p-a46b4450.system.js +4 -0
  359. package/lib/duet/p-a54e7c7e.entry.js +4 -0
  360. package/lib/duet/p-a77adbe3.entry.js +4 -0
  361. package/lib/duet/{p-b9fe5e8a.entry.js → p-a7b75dab.entry.js} +1 -1
  362. package/lib/duet/{p-876f9b62.entry.js → p-a810bcad.entry.js} +1 -1
  363. package/lib/duet/p-a87cbd61.system.entry.js +4 -0
  364. package/lib/duet/{p-2e53172a.system.entry.js → p-a8f13005.system.entry.js} +1 -1
  365. package/lib/duet/{p-c782fbd2.system.entry.js → p-a96b1223.system.entry.js} +1 -1
  366. package/lib/duet/{p-04e058bc.system.entry.js → p-aa562b2b.system.entry.js} +1 -1
  367. package/lib/duet/{p-98f8ad8c.system.entry.js → p-ab16108e.system.entry.js} +1 -1
  368. package/lib/duet/{p-a7e7dc8e.entry.js → p-ae0fcb13.entry.js} +1 -1
  369. package/lib/duet/{p-bee1c0ab.system.entry.js → p-afdd39e7.system.entry.js} +1 -1
  370. package/lib/duet/{p-0f33db5a.system.entry.js → p-b12162bf.system.entry.js} +1 -1
  371. package/lib/duet/p-b34190f3.entry.js +4 -0
  372. package/lib/duet/{p-aaa9d7f0.entry.js → p-b3586087.entry.js} +1 -1
  373. package/lib/duet/{p-ba1d9ad1.entry.js → p-b3cf64e0.entry.js} +1 -1
  374. package/lib/duet/{p-19348034.entry.js → p-b4809f6d.entry.js} +1 -1
  375. package/lib/duet/p-b883eda2.entry.js +4 -0
  376. package/lib/duet/{p-473f2aeb.entry.js → p-ba1752b1.entry.js} +1 -1
  377. package/lib/duet/{p-0f9796d8.entry.js → p-ba68b3df.entry.js} +1 -1
  378. package/lib/duet/{p-deb7a598.system.entry.js → p-bce20014.system.entry.js} +1 -1
  379. package/lib/duet/{p-3736f46a.system.entry.js → p-bd27dd27.system.entry.js} +1 -1
  380. package/lib/duet/{p-8cf21e97.system.entry.js → p-be77d17f.system.entry.js} +1 -1
  381. package/lib/duet/{p-f598c39f.entry.js → p-c219a16b.entry.js} +1 -1
  382. package/lib/duet/{p-091d343c.system.entry.js → p-c3d82842.system.entry.js} +1 -1
  383. package/lib/duet/{p-389ec8d1.entry.js → p-c67314ae.entry.js} +1 -1
  384. package/lib/duet/{p-afa55acc.entry.js → p-c7c8abe1.entry.js} +1 -1
  385. package/lib/duet/{p-88f72255.system.entry.js → p-c7d56cc4.system.entry.js} +1 -1
  386. package/lib/duet/{p-1bf2c055.entry.js → p-caf0c325.entry.js} +1 -1
  387. package/lib/duet/p-cb3e8ad9.entry.js +4 -0
  388. package/lib/duet/{p-0806aac6.system.entry.js → p-cbd66aa3.system.entry.js} +1 -1
  389. package/lib/duet/{p-f624f421.system.entry.js → p-cd67d8d8.system.entry.js} +1 -1
  390. package/lib/duet/{p-67af148d.entry.js → p-cf2203ec.entry.js} +1 -1
  391. package/lib/duet/{p-f441c24f.system.entry.js → p-cf7b1662.system.entry.js} +1 -1
  392. package/lib/duet/{p-f3bcdaa7.system.entry.js → p-d00e94e9.system.entry.js} +1 -1
  393. package/lib/duet/{p-a8b99baa.system.entry.js → p-d21af276.system.entry.js} +1 -1
  394. package/lib/duet/{p-16669185.entry.js → p-d253fa0b.entry.js} +1 -1
  395. package/lib/duet/{p-31322a2c.system.entry.js → p-d371834d.system.entry.js} +1 -1
  396. package/lib/duet/{p-205c1d86.entry.js → p-d3a82468.entry.js} +1 -1
  397. package/lib/duet/{p-7b220ee3.system.entry.js → p-d4d3270a.system.entry.js} +1 -1
  398. package/lib/duet/{p-4128d086.entry.js → p-d67a1a14.entry.js} +1 -1
  399. package/lib/duet/{p-da899a00.entry.js → p-d9133471.entry.js} +1 -1
  400. package/lib/duet/{p-9fa80a0d.entry.js → p-d920541e.entry.js} +1 -1
  401. package/lib/duet/{p-3b930917.system.entry.js → p-d98f2243.system.entry.js} +1 -1
  402. package/lib/duet/p-d9fa1de5.entry.js +4 -0
  403. package/lib/duet/{p-f8ce87ee.system.entry.js → p-da7dd944.system.entry.js} +1 -1
  404. package/lib/duet/{p-d5366eb5.system.entry.js → p-db4560bb.system.entry.js} +1 -1
  405. package/lib/duet/{p-778af8b7.system.entry.js → p-dbe44c6e.system.entry.js} +1 -1
  406. package/lib/duet/{p-f24be27e.system.entry.js → p-dc4a54ff.system.entry.js} +1 -1
  407. package/lib/duet/{p-83d69e66.system.entry.js → p-dd8c88cb.system.entry.js} +1 -1
  408. package/lib/duet/{p-7e7d991d.entry.js → p-dfa902a8.entry.js} +1 -1
  409. package/lib/duet/{p-76d99102.system.entry.js → p-e29ffcf8.system.entry.js} +1 -1
  410. package/lib/duet/p-e4ecfdde.entry.js +4 -0
  411. package/lib/duet/{p-b6168b5a.system.entry.js → p-e711b385.system.entry.js} +1 -1
  412. package/lib/duet/{p-5e396e57.system.entry.js → p-e8e30a8e.system.entry.js} +1 -1
  413. package/lib/duet/{p-0ad0dc08.entry.js → p-ea4e0dd6.entry.js} +1 -1
  414. package/lib/duet/{p-4ebf7879.entry.js → p-eaa50dc0.entry.js} +1 -1
  415. package/lib/duet/p-ed995372.js +4 -0
  416. package/lib/duet/{p-ae31c909.system.js → p-ee38815c.system.js} +1 -1
  417. package/lib/duet/{p-904b6f63.entry.js → p-f13b5365.entry.js} +1 -1
  418. package/lib/duet/{p-29d5a763.system.entry.js → p-f201356b.system.entry.js} +1 -1
  419. package/lib/duet/{p-3c47cc95.entry.js → p-f42838e7.entry.js} +1 -1
  420. package/lib/duet/{p-665cd245.system.entry.js → p-f4930436.system.entry.js} +1 -1
  421. package/lib/duet/{p-bef5842c.entry.js → p-f7640a53.entry.js} +1 -1
  422. package/lib/duet/{p-93872497.js → p-f8614750.js} +1 -1
  423. package/lib/duet/p-f9e4277a.entry.js +4 -0
  424. package/lib/duet/{p-51f24687.system.entry.js → p-f9ff3511.system.entry.js} +1 -1
  425. package/lib/duet/{p-841e2acc.entry.js → p-fc7bdc0c.entry.js} +1 -1
  426. package/lib/duet/p-fe22728e.system.entry.js +4 -0
  427. package/lib/duet/{p-2bfe2f51.entry.js → p-fe99e5e9.entry.js} +1 -1
  428. package/lib/esm/action-new-window-9c8f7830.js +8 -0
  429. package/lib/esm/duet-action-button.entry.js +3 -3
  430. package/lib/esm/duet-alert.entry.js +1 -1
  431. package/lib/esm/duet-badge.entry.js +1 -1
  432. package/lib/esm/duet-banner.entry.js +8 -7
  433. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  434. package/lib/esm/duet-breadcrumbs.entry.js +3 -3
  435. package/lib/esm/duet-button_2.entry.js +3 -3
  436. package/lib/esm/duet-callout.entry.js +1 -1
  437. package/lib/esm/duet-caption_4.entry.js +45 -21
  438. package/lib/esm/duet-card.entry.js +3 -3
  439. package/lib/esm/duet-checkbox.entry.js +1 -1
  440. package/lib/esm/duet-checkmark.entry.js +1 -1
  441. package/lib/esm/duet-chip.entry.js +1 -1
  442. package/lib/esm/duet-choice_2.entry.js +2 -2
  443. package/lib/esm/duet-collapsible.entry.js +2 -2
  444. package/lib/esm/duet-combobox.entry.js +1 -1
  445. package/lib/esm/duet-contact-card.entry.js +1 -1
  446. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  447. package/lib/esm/duet-date-picker.entry.js +4 -4
  448. package/lib/esm/duet-divider_2.entry.js +3 -3
  449. package/lib/esm/duet-editable-table_3.entry.js +52 -4
  450. package/lib/esm/duet-empty-state.entry.js +1 -1
  451. package/lib/esm/duet-fieldset.entry.js +1 -1
  452. package/lib/esm/duet-file-chooser.entry.js +1 -1
  453. package/lib/esm/duet-footer.entry.js +2 -4
  454. package/lib/esm/duet-grid_2.entry.js +2 -2
  455. package/lib/esm/duet-header_2.entry.js +3 -3
  456. package/lib/esm/duet-hero.entry.js +1 -1
  457. package/lib/esm/duet-icon.entry.js +3 -3
  458. package/lib/esm/duet-input_2.entry.js +3 -3
  459. package/lib/esm/duet-layout.entry.js +1 -1
  460. package/lib/esm/duet-list_2.entry.js +1 -1
  461. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  462. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  463. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  464. package/lib/esm/duet-menu-bar-item.entry.js +2 -2
  465. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  466. package/lib/esm/duet-menu-bar.entry.js +2 -2
  467. package/lib/esm/duet-modal.entry.js +6 -6
  468. package/lib/esm/duet-multiselect.entry.js +1 -1
  469. package/lib/esm/duet-nav.entry.js +1 -1
  470. package/lib/esm/duet-notification_2.entry.js +1 -1
  471. package/lib/esm/duet-number-input.entry.js +1 -1
  472. package/lib/esm/duet-overlay.entry.js +53 -0
  473. package/lib/esm/duet-page-heading.entry.js +1 -1
  474. package/lib/esm/duet-pagination_2.entry.js +4 -4
  475. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  476. package/lib/esm/duet-popup-menu.entry.js +8 -3
  477. package/lib/esm/duet-progress.entry.js +1 -1
  478. package/lib/esm/duet-promo-card.entry.js +3 -3
  479. package/lib/esm/duet-radio_2.entry.js +1 -1
  480. package/lib/esm/duet-range-slider.entry.js +2 -2
  481. package/lib/esm/duet-scrollable_3.entry.js +3 -3
  482. package/lib/esm/duet-section-layout.entry.js +1 -1
  483. package/lib/esm/duet-select.entry.js +1 -1
  484. package/lib/esm/duet-shaped-image.entry.js +1 -1
  485. package/lib/esm/duet-show-more.entry.js +1 -1
  486. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  487. package/lib/esm/duet-slideout-link.entry.js +1 -1
  488. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  489. package/lib/esm/duet-slideout-panel.entry.js +4 -4
  490. package/lib/esm/duet-slideout.entry.js +6 -9
  491. package/lib/esm/duet-step_2.entry.js +1 -1
  492. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  493. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  494. package/lib/esm/duet-submenu-bar-item.entry.js +2 -2
  495. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  496. package/lib/esm/duet-submenu-bar.entry.js +7 -6
  497. package/lib/esm/duet-textarea.entry.js +1 -1
  498. package/lib/esm/duet-toggle.entry.js +1 -1
  499. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  500. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  501. package/lib/esm/duet-toolbar-item.entry.js +1 -1
  502. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  503. package/lib/esm/duet-toolbar.entry.js +1 -1
  504. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  505. package/lib/esm/duet-tooltip.entry.js +2 -2
  506. package/lib/esm/duet-tray.entry.js +2 -2
  507. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  508. package/lib/esm/duet-upload-item.entry.js +1 -1
  509. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  510. package/lib/esm/duet.js +3 -3
  511. package/lib/esm/{focus-utils-68697c1f.js → focus-utils-03349cd9.js} +1 -1
  512. package/lib/esm/{index-090eaa9b.js → index-692029e8.js} +1 -1
  513. package/lib/esm/loader.js +3 -3
  514. package/lib/esm/{token-utils-0c77cb3c.js → token-utils-be83d039.js} +1 -1
  515. package/lib/{dist-custom-elements/p-d81ec707.js → esm/tokens-94133fa9.js} +3 -0
  516. package/lib/esm/{tokens.module-c9866649.js → tokens.module-3547915d.js} +2 -0
  517. package/lib/esm-es5/action-new-window-9c8f7830.js +4 -0
  518. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  519. package/lib/esm-es5/duet-alert.entry.js +1 -1
  520. package/lib/esm-es5/duet-badge.entry.js +1 -1
  521. package/lib/esm-es5/duet-banner.entry.js +1 -1
  522. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  523. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  524. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  525. package/lib/esm-es5/duet-callout.entry.js +1 -1
  526. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  527. package/lib/esm-es5/duet-card.entry.js +1 -1
  528. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  529. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  530. package/lib/esm-es5/duet-chip.entry.js +1 -1
  531. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  532. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  533. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  534. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  535. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  536. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  537. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  538. package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
  539. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  540. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  541. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  542. package/lib/esm-es5/duet-footer.entry.js +1 -1
  543. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  544. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  545. package/lib/esm-es5/duet-hero.entry.js +1 -1
  546. package/lib/esm-es5/duet-icon.entry.js +1 -1
  547. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  548. package/lib/esm-es5/duet-layout.entry.js +1 -1
  549. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  550. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  551. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  552. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  553. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  554. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  555. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  556. package/lib/esm-es5/duet-modal.entry.js +1 -1
  557. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  558. package/lib/esm-es5/duet-nav.entry.js +1 -1
  559. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  560. package/lib/esm-es5/duet-number-input.entry.js +2 -2
  561. package/lib/esm-es5/duet-overlay.entry.js +4 -0
  562. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  563. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  564. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  565. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  566. package/lib/esm-es5/duet-progress.entry.js +1 -1
  567. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  568. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  569. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  570. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  571. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  572. package/lib/esm-es5/duet-select.entry.js +1 -1
  573. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  574. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  575. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  576. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  577. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  578. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  579. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  580. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  581. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  582. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  583. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  584. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  585. package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
  586. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  587. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  588. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  589. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  590. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  591. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  592. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  593. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  594. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  595. package/lib/esm-es5/duet-tray.entry.js +1 -1
  596. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  597. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  598. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  599. package/lib/esm-es5/duet.js +1 -1
  600. package/lib/esm-es5/{focus-utils-68697c1f.js → focus-utils-03349cd9.js} +1 -1
  601. package/lib/esm-es5/{index-090eaa9b.js → index-692029e8.js} +1 -1
  602. package/lib/esm-es5/loader.js +1 -1
  603. package/lib/esm-es5/{token-utils-0c77cb3c.js → token-utils-be83d039.js} +1 -1
  604. package/lib/esm-es5/tokens-94133fa9.js +4 -0
  605. package/lib/esm-es5/tokens.module-3547915d.js +4 -0
  606. package/lib/types/common-types.d.ts +1 -1
  607. package/lib/types/components/duet-link/duet-link.d.ts +13 -5
  608. package/lib/types/components/duet-overlay/duet-overlay.d.ts +47 -0
  609. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +4 -0
  610. package/lib/types/components/duet-upload/duet-upload.d.ts +7 -0
  611. package/lib/types/components.d.ts +99 -4
  612. package/lib/types/utils/string-utils.d.ts +4 -0
  613. package/package.json +5 -5
  614. package/lib/cjs/action-arrow-right-24fe06be.js +0 -8
  615. package/lib/dist-custom-elements/p-3a2a46d4.js +0 -169
  616. package/lib/dist-custom-elements/p-6fa39608.js +0 -6
  617. package/lib/duet/p-02833fe6.system.entry.js +0 -4
  618. package/lib/duet/p-15fde8cc.system.js +0 -4
  619. package/lib/duet/p-41faac57.entry.js +0 -4
  620. package/lib/duet/p-4e22efae.entry.js +0 -4
  621. package/lib/duet/p-57a3bf19.entry.js +0 -4
  622. package/lib/duet/p-682cc430.system.entry.js +0 -4
  623. package/lib/duet/p-6fa39608.js +0 -4
  624. package/lib/duet/p-71fc3743.entry.js +0 -4
  625. package/lib/duet/p-720b866c.entry.js +0 -4
  626. package/lib/duet/p-81a240d4.entry.js +0 -4
  627. package/lib/duet/p-89beef33.entry.js +0 -4
  628. package/lib/duet/p-8c6521c9.entry.js +0 -4
  629. package/lib/duet/p-9ce7e4da.entry.js +0 -4
  630. package/lib/duet/p-9d3ff1f9.entry.js +0 -4
  631. package/lib/duet/p-b9678b20.system.entry.js +0 -4
  632. package/lib/duet/p-c746fdd9.system.entry.js +0 -4
  633. package/lib/duet/p-d1a08c91.system.entry.js +0 -4
  634. package/lib/duet/p-d81ec707.js +0 -4
  635. package/lib/duet/p-dd994793.system.js +0 -4
  636. package/lib/duet/p-dfedf8dc.system.entry.js +0 -4
  637. package/lib/duet/p-e1868c94.system.js +0 -4
  638. package/lib/duet/p-e56fe6af.system.js +0 -4
  639. package/lib/duet/p-e94af0bf.entry.js +0 -4
  640. package/lib/duet/p-f2eee8be.system.entry.js +0 -4
  641. package/lib/duet/p-f65457b0.system.js +0 -4
  642. package/lib/esm/action-arrow-right-f7d56681.js +0 -6
  643. package/lib/esm-es5/action-arrow-right-f7d56681.js +0 -4
  644. package/lib/esm-es5/tokens-30d01e1d.js +0 -4
  645. package/lib/esm-es5/tokens.module-c9866649.js +0 -4
@@ -3,12 +3,13 @@
3
3
  */
4
4
  import chevronIcon from "@duetds/icons/lib/assets/action-arrow-right";
5
5
  import downloadIcon from "@duetds/icons/lib/assets/action-download-small";
6
+ import newWindowIconLarge from "@duetds/icons/lib/assets/action-new-window";
6
7
  import newWindowIcon from "@duetds/icons/lib/assets/action-new-window-small";
7
8
  import { Build, Fragment, h, Host } from "@stencil/core";
8
9
  import { DuetStringsDownloadLinkDefaults, DuetStringsExternalDefaults } from "../../common-strings";
9
10
  import { inheritGlobalTheme } from "../../common/themeable-component";
10
11
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
11
- import { breakpointToToken } from "../../utils/token-utils";
12
+ import { breakpointToToken, getColorByName } from "../../utils/token-utils";
12
13
  /**
13
14
  * @part duet-link - piercing selector for styling the link
14
15
  * @part duet-link-content - piercing selector for styling the link content wrapper
@@ -31,9 +32,11 @@ export class DuetLink {
31
32
  this.tabToLink = false;
32
33
  this.icon = undefined;
33
34
  this.iconColor = "currentColor";
35
+ this.iconBackground = null;
34
36
  this.iconResponsive = false;
35
37
  this.padding = "auto";
36
38
  this.isSmallScreen = false;
39
+ this.isMediumScreen = false;
37
40
  }
38
41
  /**
39
42
  * Component lifecycle events.
@@ -42,6 +45,10 @@ export class DuetLink {
42
45
  inheritGlobalTheme(this);
43
46
  this.initMediaQuery();
44
47
  this.resolvedDownload = this.resolveDownload();
48
+ // button variation renders a button element when no url is provided
49
+ if (this.variation === "button" && this.url === "#") {
50
+ this.url = undefined;
51
+ }
45
52
  }
46
53
  connectedCallback() {
47
54
  connectLanguageChangeObserver(this, {
@@ -65,15 +72,18 @@ export class DuetLink {
65
72
  return;
66
73
  }
67
74
  this.screenTestBound = this.screenTest.bind(this);
68
- this.mediaQuery = window.matchMedia(breakpointToToken["xx-small"]);
69
- this.isSmallScreen = this.mediaQuery.matches;
70
- this.mediaQuery.addEventListener("change", this.screenTestBound);
75
+ this.mediaQuerySmall = window.matchMedia(breakpointToToken["xx-small"]);
76
+ this.mediaQueryMedium = window.matchMedia(breakpointToToken["medium"]);
77
+ this.isSmallScreen = this.mediaQuerySmall.matches;
78
+ this.mediaQuerySmall.addEventListener("change", this.screenTestBound);
79
+ this.mediaQueryMedium.addEventListener("change", this.screenTestBound);
71
80
  }
72
81
  destroyMediaQuery() {
73
- if (Build.isServer || !this.mediaQuery) {
82
+ if (Build.isServer) {
74
83
  return;
75
84
  }
76
- this.mediaQuery.removeEventListener("change", this.screenTestBound);
85
+ this.mediaQuerySmall.removeEventListener("change", this.screenTestBound);
86
+ this.mediaQueryMedium.removeEventListener("change", this.screenTestBound);
77
87
  }
78
88
  screenTest(event) {
79
89
  this.isSmallScreen = event.matches;
@@ -96,32 +106,50 @@ export class DuetLink {
96
106
  }
97
107
  return this.download;
98
108
  }
99
- renderContent() {
100
- return (h(Fragment, null, h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), Build.isBrowser && (this.resolvedDownload || this.external) && (h(Fragment, null, h("span", { class: "duet-link-icon-tail" }, "\u00A0", h("duet-icon", { icon: this.resolvedDownload ? downloadIcon.svg : newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" }))))));
109
+ renderDefaultContent() {
110
+ // Notice that the external icon needs to be placed right after the last word of the link.
111
+ // This is why we use &nbps; to keep everything on the same line.
112
+ return (h(Fragment, null, h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), Build.isBrowser && (this.resolvedDownload || this.external) && this.variation === "default" && (h(Fragment, null, h("span", { class: "duet-link-icon-tail" }, "\u00A0", h("duet-icon", { icon: this.resolvedDownload ? downloadIcon.svg : newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" }))))));
101
113
  }
102
- renderGrid() {
103
- return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { size: this.iconResponsive ? (this.isSmallScreen ? "medium" : "large") : "x-small", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
114
+ renderBlockContent() {
115
+ return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { size: this.iconResponsive ? (this.isSmallScreen ? "medium" : "large") : "x-small", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderDefaultContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
116
+ }
117
+ renderButtonContent() {
118
+ const iconWrapStyle = {
119
+ "background-color": getColorByName(this.iconBackground, this.theme),
120
+ };
121
+ return (h(Fragment, null, h("span", { class: "icon-wrap", style: iconWrapStyle }, h("duet-icon", { size: this.isMediumScreen ? "small" : "medium", name: this.icon, margin: "none", color: this.iconColor })), h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" })));
122
+ }
123
+ renderContent() {
124
+ switch (this.variation) {
125
+ case "default":
126
+ return this.renderDefaultContent();
127
+ case "block":
128
+ return this.renderBlockContent();
129
+ case "button":
130
+ return this.renderButtonContent();
131
+ }
104
132
  }
105
133
  /**
106
134
  * render() function
107
135
  * Always the last one in the class.
108
136
  */
109
137
  render() {
110
- // Notice that the external icon needs to be places right after the last word of the link.
111
- // This is why we use &nbps; to keep everything on the same line.
138
+ const Tag = this.variation === "button" && !this.url ? "button" : "a";
112
139
  return (h(Host, { class: {
113
- "duet-link-block": this.variation === "block",
114
- } }, h("a", { href: this.url, class: {
140
+ [`duet-link-${this.variation}`]: true,
141
+ } }, h(Tag, { href: this.url, class: {
115
142
  "duet-link": true,
116
143
  "duet-link-is-external": this.external,
117
144
  "duet-link-is-download": !!this.download,
118
145
  "duet-link-has-icon": !!this.icon,
146
+ "duet-link-has-icon-background": !!this.iconBackground,
119
147
  "duet-tab-to-link": this.tabToLink,
120
148
  "duet-theme-turva": this.theme === "turva",
121
149
  "duet-p-0": this.padding === "none",
122
150
  [this.padding]: true,
123
151
  [this.variation]: true,
124
- }, target: this.download ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "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())));
152
+ }, target: this.download || !this.url ? null : this.external ? "_blank" : "_self", download: this.resolvedDownload, "aria-label": this.getAccessibleLabel(), id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.renderContent())));
125
153
  }
126
154
  static get is() { return "duet-link"; }
127
155
  static get encapsulation() { return "shadow"; }
@@ -143,7 +171,7 @@ export class DuetLink {
143
171
  "mutable": false,
144
172
  "complexType": {
145
173
  "original": "DuetLinkVariation",
146
- "resolved": "\"block\" | \"default\"",
174
+ "resolved": "\"block\" | \"button\" | \"default\"",
147
175
  "references": {
148
176
  "DuetLinkVariation": {
149
177
  "location": "import",
@@ -348,7 +376,7 @@ export class DuetLink {
348
376
  },
349
377
  "url": {
350
378
  "type": "string",
351
- "mutable": false,
379
+ "mutable": true,
352
380
  "complexType": {
353
381
  "original": "string",
354
382
  "resolved": "string",
@@ -436,7 +464,7 @@ export class DuetLink {
436
464
  "optional": false,
437
465
  "docs": {
438
466
  "tags": [],
439
- "text": "Icon to display on the left side of the ink text (only with \"block\" variation)"
467
+ "text": "Icon to display on the left side of the link text (only with \"block\" and \"button\" variations)"
440
468
  },
441
469
  "attribute": "icon",
442
470
  "reflect": false
@@ -459,12 +487,36 @@ export class DuetLink {
459
487
  "optional": false,
460
488
  "docs": {
461
489
  "tags": [],
462
- "text": "Color of the icon to display (only with \"block\" variation)"
490
+ "text": "Color of the icon to display (only with \"block\" and \"button\" variations)"
463
491
  },
464
492
  "attribute": "icon-color",
465
493
  "reflect": false,
466
494
  "defaultValue": "\"currentColor\""
467
495
  },
496
+ "iconBackground": {
497
+ "type": "string",
498
+ "mutable": false,
499
+ "complexType": {
500
+ "original": "DuetColor",
501
+ "resolved": "string",
502
+ "references": {
503
+ "DuetColor": {
504
+ "location": "import",
505
+ "path": "../../common-types",
506
+ "id": "src/common-types.d.ts::DuetColor"
507
+ }
508
+ }
509
+ },
510
+ "required": false,
511
+ "optional": false,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": "Color of the icon to display (only with \"button\" variation)"
515
+ },
516
+ "attribute": "icon-background",
517
+ "reflect": false,
518
+ "defaultValue": "null"
519
+ },
468
520
  "iconResponsive": {
469
521
  "type": "boolean",
470
522
  "mutable": false,
@@ -511,7 +563,8 @@ export class DuetLink {
511
563
  }
512
564
  static get states() {
513
565
  return {
514
- "isSmallScreen": {}
566
+ "isSmallScreen": {},
567
+ "isMediumScreen": {}
515
568
  };
516
569
  }
517
570
  static get methods() {
@@ -22,7 +22,7 @@
22
22
  appearance: none;
23
23
  }
24
24
 
25
- .duet-modal-overlay {
25
+ .duet-modal-container {
26
26
  position: fixed;
27
27
  top: 0;
28
28
  right: 0;
@@ -32,24 +32,20 @@
32
32
  max-height: 100vh;
33
33
  overflow-y: auto;
34
34
  visibility: hidden;
35
- background: rgba(0, 41, 77, 0.3);
36
35
  opacity: 0;
37
36
  transition: 300ms ease;
38
37
  transition-delay: 200ms;
39
38
  }
40
- .duet-modal-overlay.duet-theme-turva {
41
- background: rgba(23, 28, 58, 0.3);
42
- }
43
- .duet-modal-overlay.duet-modal-active {
39
+ .duet-modal-container.duet-modal-active {
44
40
  visibility: visible;
45
41
  opacity: 1;
46
42
  transition: 300ms ease;
47
43
  transition-delay: 0s;
48
44
  }
49
- .duet-modal-overlay.duet-disable-transitions {
45
+ .duet-modal-container.duet-disable-transitions {
50
46
  transition: none;
51
47
  }
52
- .duet-modal-overlay.duet-modal-slide-up {
48
+ .duet-modal-container.duet-modal-slide-up {
53
49
  overflow: hidden;
54
50
  }
55
51
 
@@ -16,7 +16,7 @@ describe("duet-modal", () => {
16
16
  });
17
17
  it("should provide a property that switches the theme", async () => {
18
18
  const page = await createPage(`<duet-modal theme="turva"></duet-modal>`);
19
- const element = await page.find("duet-modal >>> .duet-modal-overlay");
19
+ const element = await page.find("duet-modal >>> .duet-modal-container");
20
20
  expect(element).toHaveClass("duet-theme-turva");
21
21
  });
22
22
  it("should provide a property that changes the size", async () => {
@@ -56,7 +56,7 @@ describe("duet-modal", () => {
56
56
  });
57
57
  it("should provide a property that makes the modal active", async () => {
58
58
  const page = await createPage(`<duet-modal active></duet-modal>`);
59
- const element = await page.find("duet-modal >>> .duet-modal-overlay");
59
+ const element = await page.find("duet-modal >>> .duet-modal-container");
60
60
  expect(element).toHaveClass("duet-modal-active");
61
61
  });
62
62
  it("traps focus", async () => {
@@ -183,12 +183,12 @@ export class DuetModal {
183
183
  closeColor = "secondary-turva";
184
184
  }
185
185
  return (h("div", { ref: modal => (this.modalEl = modal), "aria-label": this.accessibleLabel, "aria-labelledby": this.heading ? this.modalId : false, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, role: "dialog", "aria-modal": this.isSafariBrowser ? false : true, tabindex: "-1", "aria-flowto": this.slotDefaultId, class: {
186
- "duet-modal-overlay": true,
186
+ "duet-modal-container": true,
187
187
  "duet-theme-turva": this.theme === "turva",
188
188
  "duet-modal-active": this.open,
189
189
  "duet-modal-slide-up": this.variation === "slide-up",
190
190
  "duet-modal-has-sticky-header": this.hasStickyHeader,
191
- } }, h(FocusGuard, { moveFocusTo: this.buttonEl }), h("div", { ref: modalInner => (this.modalInnerEl = modalInner), class: {
191
+ } }, h(FocusGuard, { moveFocusTo: this.buttonEl }), h("duet-overlay", { "z-index": "-1", visible: this.open }), h("div", { ref: modalInner => (this.modalInnerEl = modalInner), class: {
192
192
  "duet-modal-inner": true,
193
193
  [this.size]: true,
194
194
  "duet-modal-slide-up": this.variation === "slide-up",
@@ -210,7 +210,7 @@ export class DuetModal {
210
210
  "duet-modal-gutter-small": this.gutterSize === "small",
211
211
  "duet-modal-gutter-medium": this.gutterSize === "medium",
212
212
  "duet-modal-gutter-large": this.gutterSize === "large",
213
- } }, h("div", { class: "duet-modal-header" }, h("span", { class: "duet-modal-inner-slot-top" }, h("slot", { name: "top" })), this.icon && h("duet-icon", { name: this.icon, size: "xx-large", color: this.color || iconColor }), this.heading && (h("duet-heading", { "visual-level": (_a = this.headingVisualLevel) !== null && _a !== void 0 ? _a : this.headingLevel, level: this.headingLevel, theme: this.theme, id: this.modalId }, this.heading))), h("span", { class: "duet-modal-inner-slot-default", id: this.slotDefaultId }, h("slot", null))))), h(FocusGuard, { moveFocusTo: this.buttonEl })));
213
+ } }, h("div", { class: "duet-modal-header" }, h("span", { class: "duet-modal-inner-slot-top" }, h("slot", { name: "top" })), this.icon && h("duet-icon", { name: this.icon, size: "xx-large", color: this.color || iconColor }), this.heading && (h("duet-heading", { "visual-level": (_a = this.headingVisualLevel) !== null && _a !== void 0 ? _a : this.headingLevel, level: this.headingLevel, theme: this.theme, id: this.modalId }, this.heading))), h("div", { class: "duet-modal-inner-slot-default", id: this.slotDefaultId }, h("slot", null))))), h(FocusGuard, { moveFocusTo: this.buttonEl })));
214
214
  }
215
215
  static get is() { return "duet-modal"; }
216
216
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,97 @@
1
+ .duet-overlay {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ display: block;
6
+ width: 100%;
7
+ height: 100%;
8
+ visibility: visible;
9
+ background: rgb(0, 41, 77);
10
+ opacity: 0.3;
11
+ }
12
+ .duet-overlay.duet-theme-turva {
13
+ background: rgb(23, 28, 58);
14
+ }
15
+ .duet-overlay.keep-stacking-context {
16
+ position: absolute;
17
+ top: unset;
18
+ left: unset;
19
+ z-index: unset !important;
20
+ }
21
+ .duet-overlay.modal-overlay {
22
+ z-index: -1;
23
+ }
24
+ .duet-overlay.hidden {
25
+ visibility: hidden;
26
+ opacity: 0;
27
+ }
28
+ .duet-overlay.display-x-small {
29
+ display: none;
30
+ }
31
+ @media (max-width: 35.9375em) {
32
+ .duet-overlay.display-x-small {
33
+ display: block;
34
+ }
35
+ }
36
+ .duet-overlay.display-x-small.not {
37
+ display: block;
38
+ }
39
+ @media (max-width: 35.9375em) {
40
+ .duet-overlay.display-x-small.not {
41
+ display: none;
42
+ }
43
+ }
44
+ .duet-overlay.display-small {
45
+ display: none;
46
+ }
47
+ @media (min-width: 36em) {
48
+ .duet-overlay.display-small {
49
+ display: block;
50
+ }
51
+ }
52
+ .duet-overlay.display-small.not {
53
+ display: block;
54
+ }
55
+ @media (min-width: 36em) {
56
+ .duet-overlay.display-small.not {
57
+ display: none;
58
+ }
59
+ }
60
+ .duet-overlay.display-medium {
61
+ display: none;
62
+ }
63
+ @media (min-width: 48em) {
64
+ .duet-overlay.display-medium {
65
+ display: block;
66
+ }
67
+ }
68
+ .duet-overlay.display-medium.not {
69
+ display: block;
70
+ }
71
+ @media (min-width: 48em) {
72
+ .duet-overlay.display-medium.not {
73
+ display: none;
74
+ }
75
+ }
76
+ .duet-overlay.display-large {
77
+ display: none;
78
+ }
79
+ @media (min-width: 62em) {
80
+ .duet-overlay.display-large {
81
+ display: block;
82
+ }
83
+ }
84
+ .duet-overlay.display-large.not {
85
+ display: block;
86
+ }
87
+ @media (min-width: 62em) {
88
+ .duet-overlay.display-large.not {
89
+ display: none;
90
+ }
91
+ }
92
+ .duet-overlay.transition-slowly {
93
+ transition: 600ms ease;
94
+ }
95
+ .duet-overlay.transition-quickly {
96
+ transition: 300ms ease;
97
+ }
@@ -0,0 +1,204 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { h, Host } from "@stencil/core";
5
+ import { inheritGlobalTheme } from "../../common";
6
+ /**
7
+ * @internal
8
+ * This component is for internal use.
9
+ */
10
+ export class DuetOverlay {
11
+ constructor() {
12
+ this.getDisplayBreakpoint = () => {
13
+ if (this.displayDevice.startsWith("not")) {
14
+ return this.displayDevice.substring(this.displayDevice.indexOf("-") + 1);
15
+ }
16
+ return this.displayDevice;
17
+ };
18
+ this.visible = true;
19
+ this.keepStackingContext = false;
20
+ this.modalOverlay = false;
21
+ this.theme = "";
22
+ this.displayDevice = "all";
23
+ this.transition = "slowly";
24
+ this.zIndex = "400";
25
+ }
26
+ /**
27
+ * Component lifecycle events.
28
+ */
29
+ componentWillLoad() {
30
+ inheritGlobalTheme(this);
31
+ }
32
+ /**
33
+ * render() function
34
+ * Always the last one in the class.
35
+ */
36
+ render() {
37
+ return (h(Host, null, h("div", { style: { zIndex: this.zIndex }, class: {
38
+ "duet-overlay": true,
39
+ "duet-theme-turva": this.theme === "turva",
40
+ "keep-stacking-context": this.keepStackingContext,
41
+ [`transition-${this.transition}`]: this.transition !== "immediate",
42
+ "display-x-small": this.getDisplayBreakpoint() === "x-small",
43
+ "display-small": this.getDisplayBreakpoint() === "small",
44
+ "display-medium": this.getDisplayBreakpoint() === "medium",
45
+ "display-large": this.getDisplayBreakpoint() === "large",
46
+ not: this.displayDevice.startsWith("not"),
47
+ hidden: !this.visible,
48
+ } })));
49
+ }
50
+ static get is() { return "duet-overlay"; }
51
+ static get encapsulation() { return "shadow"; }
52
+ static get originalStyleUrls() {
53
+ return {
54
+ "$": ["duet-overlay.scss"]
55
+ };
56
+ }
57
+ static get styleUrls() {
58
+ return {
59
+ "$": ["duet-overlay.css"]
60
+ };
61
+ }
62
+ static get properties() {
63
+ return {
64
+ "visible": {
65
+ "type": "boolean",
66
+ "mutable": true,
67
+ "complexType": {
68
+ "original": "boolean",
69
+ "resolved": "boolean",
70
+ "references": {}
71
+ },
72
+ "required": false,
73
+ "optional": false,
74
+ "docs": {
75
+ "tags": [],
76
+ "text": "Open"
77
+ },
78
+ "attribute": "visible",
79
+ "reflect": true,
80
+ "defaultValue": "true"
81
+ },
82
+ "keepStackingContext": {
83
+ "type": "boolean",
84
+ "mutable": true,
85
+ "complexType": {
86
+ "original": "boolean",
87
+ "resolved": "boolean",
88
+ "references": {}
89
+ },
90
+ "required": false,
91
+ "optional": false,
92
+ "docs": {
93
+ "tags": [],
94
+ "text": "Keep stacking context"
95
+ },
96
+ "attribute": "keep-stacking-context",
97
+ "reflect": true,
98
+ "defaultValue": "false"
99
+ },
100
+ "modalOverlay": {
101
+ "type": "boolean",
102
+ "mutable": true,
103
+ "complexType": {
104
+ "original": "boolean",
105
+ "resolved": "boolean",
106
+ "references": {}
107
+ },
108
+ "required": false,
109
+ "optional": false,
110
+ "docs": {
111
+ "tags": [],
112
+ "text": "Modal overlay"
113
+ },
114
+ "attribute": "modal-overlay",
115
+ "reflect": true,
116
+ "defaultValue": "false"
117
+ },
118
+ "theme": {
119
+ "type": "string",
120
+ "mutable": true,
121
+ "complexType": {
122
+ "original": "DuetTheme",
123
+ "resolved": "\"\" | \"default\" | \"turva\"",
124
+ "references": {
125
+ "DuetTheme": {
126
+ "location": "import",
127
+ "path": "../../common-types",
128
+ "id": "src/common-types.d.ts::DuetTheme"
129
+ }
130
+ }
131
+ },
132
+ "required": false,
133
+ "optional": false,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": "Theme"
137
+ },
138
+ "attribute": "theme",
139
+ "reflect": false,
140
+ "defaultValue": "\"\""
141
+ },
142
+ "displayDevice": {
143
+ "type": "string",
144
+ "mutable": true,
145
+ "complexType": {
146
+ "original": "OverlayDisplayDevice",
147
+ "resolved": "\"all\" | \"large\" | \"medium\" | \"not-large\" | \"not-medium\" | \"not-small\" | \"not-x-small\" | \"small\" | \"x-small\"",
148
+ "references": {
149
+ "OverlayDisplayDevice": {
150
+ "location": "local",
151
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-overlay/duet-overlay.tsx",
152
+ "id": "src/components/duet-overlay/duet-overlay.tsx::OverlayDisplayDevice"
153
+ }
154
+ }
155
+ },
156
+ "required": false,
157
+ "optional": false,
158
+ "docs": {
159
+ "tags": [],
160
+ "text": "Mode"
161
+ },
162
+ "attribute": "display-device",
163
+ "reflect": false,
164
+ "defaultValue": "\"all\""
165
+ },
166
+ "transition": {
167
+ "type": "string",
168
+ "mutable": true,
169
+ "complexType": {
170
+ "original": "\"quickly\" | \"slowly\" | \"immediate\"",
171
+ "resolved": "\"immediate\" | \"quickly\" | \"slowly\"",
172
+ "references": {}
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": "Transition"
179
+ },
180
+ "attribute": "transition",
181
+ "reflect": false,
182
+ "defaultValue": "\"slowly\""
183
+ },
184
+ "zIndex": {
185
+ "type": "string",
186
+ "mutable": true,
187
+ "complexType": {
188
+ "original": "string",
189
+ "resolved": "string",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": false,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "Z-index"
197
+ },
198
+ "attribute": "z-index",
199
+ "reflect": false,
200
+ "defaultValue": "\"400\""
201
+ }
202
+ };
203
+ }
204
+ }
@@ -29,8 +29,12 @@ export class DuetPopupMenu {
29
29
  if (!this.openButton) {
30
30
  return;
31
31
  }
32
+ const middleware = [
33
+ offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }),
34
+ flip({ mainAxis: !this.forcePlacement }),
35
+ ];
32
36
  const coordinates = await computePosition(this.openButton, this.menuElement, {
33
- middleware: [offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }), flip()],
37
+ middleware,
34
38
  placement: this.placement,
35
39
  strategy: this.position,
36
40
  });
@@ -45,6 +49,7 @@ export class DuetPopupMenu {
45
49
  this.theme = "";
46
50
  this.controller = undefined;
47
51
  this.placement = "bottom-start";
52
+ this.forcePlacement = false;
48
53
  this.position = "absolute";
49
54
  this.mainAxisOffset = 0;
50
55
  this.crossAxisOffset = 0;
@@ -341,6 +346,24 @@ export class DuetPopupMenu {
341
346
  "reflect": false,
342
347
  "defaultValue": "\"bottom-start\""
343
348
  },
349
+ "forcePlacement": {
350
+ "type": "boolean",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "boolean",
354
+ "resolved": "boolean",
355
+ "references": {}
356
+ },
357
+ "required": false,
358
+ "optional": false,
359
+ "docs": {
360
+ "tags": [],
361
+ "text": "Force placement."
362
+ },
363
+ "attribute": "force-placement",
364
+ "reflect": false,
365
+ "defaultValue": "false"
366
+ },
344
367
  "position": {
345
368
  "type": "string",
346
369
  "mutable": true,
@@ -166,7 +166,7 @@ export class DuetRangeStepper {
166
166
  return (h("div", { class: {
167
167
  "duet-range-stepper": true,
168
168
  "duet-theme-turva": this.theme === "turva",
169
- }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, h("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), h("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": `${this.ariaLabels.previous_increment} ${this.generatePreviousIncrementLabel()}`, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }), h("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": `${this.ariaLabels.next_increment} ${this.generateNextIncrementLabel()}`, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
169
+ }, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, h("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), h("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": `${this.ariaLabels.previous_increment} ${this.generatePreviousIncrementLabel()}`, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small", title: "" }), h("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": `${this.ariaLabels.next_increment} ${this.generateNextIncrementLabel()}`, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small", title: "" })));
170
170
  }
171
171
  static get is() { return "duet-range-stepper"; }
172
172
  static get encapsulation() { return "shadow"; }
@@ -54,29 +54,6 @@
54
54
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
55
55
  color: rgb(23, 28, 58);
56
56
  }
57
- .duet-slideout .desktop-bg {
58
- display: none;
59
- }
60
- @media (min-width: 62em) {
61
- .duet-slideout .desktop-bg {
62
- position: fixed;
63
- top: 0;
64
- left: 0;
65
- z-index: 400;
66
- display: block;
67
- width: 100%;
68
- height: 100%;
69
- visibility: hidden;
70
- background: rgb(0, 41, 77);
71
- opacity: 0;
72
- transition: 600ms ease;
73
- }
74
- .duet-slideout .desktop-bg:not(.hidden) {
75
- visibility: visible;
76
- opacity: 0.3;
77
- transition: 600ms ease;
78
- }
79
- }
80
57
  @media (min-width: 62em) {
81
58
  .duet-slideout.duet-theme-turva .desktop-bg {
82
59
  background: rgb(23, 28, 58);