@duetds/components 6.11.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (674) hide show
  1. package/hydrate/index.js +479 -289
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +14 -2
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-banner.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
  9. package/lib/cjs/duet-callout.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +75 -22
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +3 -2
  25. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-header_2.cjs.entry.js +14 -9
  28. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-input_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -2
  38. package/lib/cjs/duet-modal.cjs.entry.js +6 -2
  39. package/lib/cjs/duet-multiselect.cjs.entry.js +23 -4
  40. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-number-input.cjs.entry.js +4 -1
  43. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
  46. package/lib/cjs/duet-popup-menu.cjs.entry.js +4 -31
  47. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  48. package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
  49. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
  51. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  52. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  60. package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  65. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  68. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  69. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  70. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +92 -0
  73. package/lib/cjs/duet-tooltip.cjs.entry.js +33 -48
  74. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  75. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  76. package/lib/cjs/duet-upload-item.cjs.entry.js +5 -4
  77. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  78. package/lib/cjs/duet.cjs.js +2 -2
  79. package/lib/cjs/{floating-ui.dom.esm-3801794e.js → floating-ui.dom.esm-d537b048.js} +154 -159
  80. package/lib/cjs/{focus-utils-832cb087.js → focus-utils-6d4f01d9.js} +1 -1
  81. package/lib/cjs/{index-f9a10385.js → index-b7f668db.js} +1 -1
  82. package/lib/cjs/loader.cjs.js +2 -2
  83. package/lib/cjs/teleport-04ad16c2.js +88 -0
  84. package/lib/cjs/{token-utils-18a05118.js → token-utils-c1864408.js} +1 -1
  85. package/lib/cjs/{tokens.module-d30fb52a.js → tokens.module-5fe478ed.js} +0 -1
  86. package/lib/collection/collection-manifest.json +2 -1
  87. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  88. package/lib/collection/components/duet-alert/duet-alert.js +54 -2
  89. package/lib/collection/components/duet-button/duet-button.css +22 -1
  90. package/lib/collection/components/duet-button/duet-button.js +5 -5
  91. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  92. package/lib/collection/components/duet-card/duet-card.js +3 -3
  93. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  94. package/lib/collection/components/duet-chip/duet-chip.js +4 -4
  95. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  96. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  97. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  98. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  99. package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
  100. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  101. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  102. package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
  103. package/lib/collection/components/duet-fieldset/duet-fieldset.js +25 -1
  104. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  105. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  106. package/lib/collection/components/duet-header/duet-header.js +28 -23
  107. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  108. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  109. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  110. package/lib/collection/components/duet-input/duet-input.css +1 -1
  111. package/lib/collection/components/duet-input/duet-input.js +8 -8
  112. package/lib/collection/components/duet-label/duet-label.js +2 -2
  113. package/lib/collection/components/duet-layout/duet-layout.js +1 -1
  114. package/lib/collection/components/duet-list/duet-list.js +3 -3
  115. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  116. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -2
  117. package/lib/collection/components/duet-modal/duet-modal.js +7 -3
  118. package/lib/collection/components/duet-multiselect/duet-multiselect.css +36 -0
  119. package/lib/collection/components/duet-multiselect/duet-multiselect.js +44 -7
  120. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
  121. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  122. package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
  123. package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
  124. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  125. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  126. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  127. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  128. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
  129. package/lib/collection/components/duet-select/duet-select.js +5 -5
  130. package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
  131. package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
  132. package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
  133. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  134. package/lib/collection/components/duet-step/duet-step.js +2 -2
  135. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  136. package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
  137. package/lib/collection/components/duet-table/duet-table.css +13 -11
  138. package/lib/collection/components/duet-table/duet-table.js +10 -1
  139. package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
  140. package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
  141. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +87 -0
  142. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +175 -0
  143. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +2 -0
  144. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +9 -12
  145. package/lib/collection/components/duet-tooltip/duet-tooltip.css +4 -61
  146. package/lib/collection/components/duet-tooltip/duet-tooltip.js +39 -48
  147. package/lib/collection/components/duet-upload/duet-upload.js +66 -32
  148. package/lib/collection/components/duet-upload/upload-item-header.js +6 -1
  149. package/lib/collection/components/duet-upload/upload-validators.js +19 -0
  150. package/lib/collection/components/duet-upload-item/duet-upload-item.js +5 -4
  151. package/lib/collection/utils/math.utils.js +3 -0
  152. package/lib/collection/utils/teleport.js +64 -10
  153. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  154. package/lib/dist-custom-elements/duet-alert.js +1 -1
  155. package/lib/dist-custom-elements/duet-badge.js +1 -1
  156. package/lib/dist-custom-elements/duet-banner.js +5 -5
  157. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  158. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  159. package/lib/dist-custom-elements/duet-button.js +1 -1
  160. package/lib/dist-custom-elements/duet-callout.js +3 -3
  161. package/lib/dist-custom-elements/duet-caption.js +1 -1
  162. package/lib/dist-custom-elements/duet-card.js +4 -4
  163. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  164. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  165. package/lib/dist-custom-elements/duet-chip.js +2 -2
  166. package/lib/dist-custom-elements/duet-choice-group.js +17 -11
  167. package/lib/dist-custom-elements/duet-choice.js +5 -5
  168. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  169. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  170. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  171. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  172. package/lib/dist-custom-elements/duet-date-picker.js +25 -19
  173. package/lib/dist-custom-elements/duet-divider.js +1 -1
  174. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  175. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  176. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  177. package/lib/dist-custom-elements/duet-footer.js +4 -4
  178. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  179. package/lib/dist-custom-elements/duet-grid.js +1 -1
  180. package/lib/dist-custom-elements/duet-header.js +20 -15
  181. package/lib/dist-custom-elements/duet-heading.js +1 -1
  182. package/lib/dist-custom-elements/duet-hero.js +9 -9
  183. package/lib/dist-custom-elements/duet-icon.js +1 -1
  184. package/lib/dist-custom-elements/duet-input.js +1 -1
  185. package/lib/dist-custom-elements/duet-label.js +1 -1
  186. package/lib/dist-custom-elements/duet-layout.js +1 -1
  187. package/lib/dist-custom-elements/duet-link.js +1 -1
  188. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  189. package/lib/dist-custom-elements/duet-list.js +1 -1
  190. package/lib/dist-custom-elements/duet-logo.js +1 -1
  191. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  192. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  193. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  194. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  195. package/lib/dist-custom-elements/duet-menu-bar.js +4 -3
  196. package/lib/dist-custom-elements/duet-modal.js +11 -7
  197. package/lib/dist-custom-elements/duet-multiselect.js +44 -18
  198. package/lib/dist-custom-elements/duet-nav.js +1 -1
  199. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  200. package/lib/dist-custom-elements/duet-notification.js +2 -2
  201. package/lib/dist-custom-elements/duet-number-input.js +26 -17
  202. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  203. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  204. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  205. package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
  206. package/lib/dist-custom-elements/duet-popup-menu.js +3 -30
  207. package/lib/dist-custom-elements/duet-progress.js +1 -1
  208. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  209. package/lib/dist-custom-elements/duet-radio-group.js +17 -11
  210. package/lib/dist-custom-elements/duet-radio.js +1 -1
  211. package/lib/dist-custom-elements/duet-range-slider.js +3 -3
  212. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  213. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  214. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  215. package/lib/dist-custom-elements/duet-select.js +1 -1
  216. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  217. package/lib/dist-custom-elements/duet-show-more.js +5 -5
  218. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  219. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  220. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  221. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  222. package/lib/dist-custom-elements/duet-slideout.js +3 -3
  223. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  224. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  225. package/lib/dist-custom-elements/duet-step.js +4 -4
  226. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  227. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  228. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  229. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  230. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  231. package/lib/dist-custom-elements/duet-tab-group.js +27 -21
  232. package/lib/dist-custom-elements/duet-tab.js +1 -1
  233. package/lib/dist-custom-elements/duet-table.js +1 -1
  234. package/lib/dist-custom-elements/duet-textarea.js +21 -15
  235. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  236. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  237. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  238. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  239. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  240. package/lib/dist-custom-elements/duet-tooltip-button.d.ts +11 -0
  241. package/lib/dist-custom-elements/duet-tooltip-button.js +9 -0
  242. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  243. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  244. package/lib/dist-custom-elements/duet-tray.js +4 -4
  245. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  246. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  247. package/lib/dist-custom-elements/duet-upload.js +80 -35
  248. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  249. package/lib/dist-custom-elements/index.js +1 -1
  250. package/lib/dist-custom-elements/{p-98bca605.js → p-19b04293.js} +1 -1
  251. package/lib/dist-custom-elements/{p-fc2fdeba.js → p-1fef65c4.js} +1 -1
  252. package/lib/dist-custom-elements/{p-b5568c37.js → p-20d8a7ab.js} +14 -13
  253. package/lib/dist-custom-elements/{p-b1c2af98.js → p-28facbdc.js} +2 -2
  254. package/lib/dist-custom-elements/{p-fa37a369.js → p-32a42529.js} +4 -4
  255. package/lib/dist-custom-elements/{p-95d44d0f.js → p-34d193a7.js} +1 -1
  256. package/lib/dist-custom-elements/p-371290d2.js +145 -0
  257. package/lib/dist-custom-elements/{p-09ac696c.js → p-47bc3fc6.js} +1 -1
  258. package/lib/dist-custom-elements/{p-74b72454.js → p-4fa0d10e.js} +3 -3
  259. package/lib/dist-custom-elements/{p-8badaab4.js → p-507ae246.js} +2 -2
  260. package/lib/dist-custom-elements/{p-4fb34519.js → p-591040e5.js} +1 -1
  261. package/lib/dist-custom-elements/p-63c149ab.js +86 -0
  262. package/lib/dist-custom-elements/{p-215e9694.js → p-66206ea5.js} +1 -1
  263. package/lib/dist-custom-elements/{p-48b731bc.js → p-80bd412e.js} +22 -16
  264. package/lib/dist-custom-elements/{p-5db7fd87.js → p-84003069.js} +5 -3
  265. package/lib/dist-custom-elements/{p-a8b46969.js → p-86f35893.js} +1 -1
  266. package/lib/{esm/floating-ui.dom.esm-37dc174a.js → dist-custom-elements/p-8adb9463.js} +154 -159
  267. package/lib/dist-custom-elements/{p-67064f22.js → p-8dbc5e4b.js} +1 -1
  268. package/lib/dist-custom-elements/{p-8319ca94.js → p-8e9d78b5.js} +1 -1
  269. package/lib/dist-custom-elements/{p-cb811b5c.js → p-91f98ca2.js} +5 -5
  270. package/lib/dist-custom-elements/{p-0d04d137.js → p-93609c40.js} +2 -2
  271. package/lib/dist-custom-elements/{p-841186f0.js → p-960b00e1.js} +2 -2
  272. package/lib/dist-custom-elements/{p-e41a8579.js → p-9fb22951.js} +2 -2
  273. package/lib/dist-custom-elements/{p-184261b3.js → p-a7cc7bd9.js} +2 -2
  274. package/lib/dist-custom-elements/p-b1fa6ee7.js +72 -0
  275. package/lib/dist-custom-elements/{p-7be4444a.js → p-b95006a5.js} +2 -2
  276. package/lib/dist-custom-elements/{p-217bb82f.js → p-c2a056b1.js} +2 -2
  277. package/lib/dist-custom-elements/{p-0c3282a0.js → p-c85f0028.js} +17 -11
  278. package/lib/dist-custom-elements/{p-05ab48bf.js → p-cbc43bac.js} +21 -7
  279. package/lib/dist-custom-elements/{p-1888263b.js → p-da75f5d9.js} +1 -1
  280. package/lib/dist-custom-elements/p-dd112690.js +273 -0
  281. package/lib/dist-custom-elements/{p-37f86174.js → p-de10f837.js} +45 -55
  282. package/lib/dist-custom-elements/{p-661e7864.js → p-de68431d.js} +1 -1
  283. package/lib/dist-custom-elements/p-e78bd379.js +87 -0
  284. package/lib/dist-custom-elements/{p-cd9b5f96.js → p-e8475b3c.js} +1 -1
  285. package/lib/dist-custom-elements/{p-3366d1ff.js → p-eb0475d3.js} +1 -1
  286. package/lib/dist-custom-elements/{p-841f9d02.js → p-f3ffb5b4.js} +2 -2
  287. package/lib/dist-custom-elements/{p-b7cc653b.js → p-f933f857.js} +1 -1
  288. package/lib/duet/duet.esm.js +1 -1
  289. package/lib/duet/duet.js +1 -1
  290. package/lib/duet/{p-d9886ef0.system.entry.js → p-01aaac6a.system.entry.js} +1 -1
  291. package/lib/duet/{p-a306b058.system.entry.js → p-01f3e23e.system.entry.js} +1 -1
  292. package/lib/duet/{p-c7f097e8.entry.js → p-02ce139d.entry.js} +1 -1
  293. package/lib/duet/p-02fa277e.system.entry.js +4 -0
  294. package/lib/duet/{p-2a14f9c7.system.entry.js → p-04dd24ca.system.entry.js} +1 -1
  295. package/lib/duet/p-05545e81.entry.js +4 -0
  296. package/lib/duet/{p-1ebe62cb.entry.js → p-07871336.entry.js} +1 -1
  297. package/lib/duet/{p-54589f3a.entry.js → p-090b0eb4.entry.js} +1 -1
  298. package/lib/duet/{p-5cc44de5.system.entry.js → p-0c3cfb88.system.entry.js} +1 -1
  299. package/lib/duet/{p-f3a4805a.entry.js → p-0ec7bc0d.entry.js} +1 -1
  300. package/lib/duet/{p-ff28d71a.entry.js → p-104758cf.entry.js} +1 -1
  301. package/lib/duet/{p-65bef373.entry.js → p-10b014f5.entry.js} +1 -1
  302. package/lib/duet/{p-1830770c.entry.js → p-1137a234.entry.js} +1 -1
  303. package/lib/duet/{p-3cfd5322.system.entry.js → p-11a22107.system.entry.js} +1 -1
  304. package/lib/duet/{p-933417e6.system.entry.js → p-125fff3c.system.entry.js} +1 -1
  305. package/lib/duet/{p-50180a44.system.entry.js → p-15c364ef.system.entry.js} +1 -1
  306. package/lib/duet/p-180b9ef7.entry.js +4 -0
  307. package/lib/duet/{p-09f48cb9.entry.js → p-1e2689a2.entry.js} +1 -1
  308. package/lib/duet/p-231e217b.entry.js +4 -0
  309. package/lib/duet/{p-fda4e4a4.system.entry.js → p-2362c81c.system.entry.js} +1 -1
  310. package/lib/duet/{p-05bfc8ff.system.entry.js → p-236348a6.system.entry.js} +1 -1
  311. package/lib/duet/{p-77cbe175.entry.js → p-26082482.entry.js} +1 -1
  312. package/lib/duet/{p-6910113f.entry.js → p-27831ad1.entry.js} +1 -1
  313. package/lib/duet/p-27cbcb00.system.entry.js +4 -0
  314. package/lib/duet/{p-9c464273.entry.js → p-28cbcde9.entry.js} +1 -1
  315. package/lib/duet/{p-f23c11c2.system.entry.js → p-2b90e0bf.system.entry.js} +1 -1
  316. package/lib/duet/{p-31562410.entry.js → p-2f8baf13.entry.js} +1 -1
  317. package/lib/duet/{p-34293dad.entry.js → p-2f8ff010.entry.js} +1 -1
  318. package/lib/duet/{p-305f20a0.system.entry.js → p-31f51b63.system.entry.js} +1 -1
  319. package/lib/duet/{p-8d288b4f.entry.js → p-3351f110.entry.js} +1 -1
  320. package/lib/duet/p-33620d03.js +4 -0
  321. package/lib/duet/p-3493bd62.entry.js +4 -0
  322. package/lib/duet/{p-59dde679.system.entry.js → p-361a40a6.system.entry.js} +1 -1
  323. package/lib/duet/{p-bea6e5e0.entry.js → p-399ae33f.entry.js} +1 -1
  324. package/lib/duet/{p-9bbda8a9.system.entry.js → p-3a48878a.system.entry.js} +1 -1
  325. package/lib/duet/{p-25aa9da5.entry.js → p-3addfa0b.entry.js} +1 -1
  326. package/lib/duet/{p-34e93067.system.entry.js → p-3bd38a60.system.entry.js} +1 -1
  327. package/lib/duet/{p-9b5f71df.entry.js → p-3bdaca53.entry.js} +1 -1
  328. package/lib/duet/{p-95dbb7e9.system.entry.js → p-3bf13db2.system.entry.js} +1 -1
  329. package/lib/duet/{p-daf609a8.entry.js → p-3ddc61bc.entry.js} +1 -1
  330. package/lib/duet/p-3e3f76cc.entry.js +4 -0
  331. package/lib/duet/{p-11090514.entry.js → p-407bc2e8.entry.js} +1 -1
  332. package/lib/duet/{p-58491286.entry.js → p-4525bb7b.entry.js} +1 -1
  333. package/lib/duet/p-45d92a24.system.js +4 -0
  334. package/lib/duet/{p-f9625065.system.entry.js → p-46ae0197.system.entry.js} +1 -1
  335. package/lib/duet/{p-15e3eca0.system.entry.js → p-4908aa39.system.entry.js} +1 -1
  336. package/lib/duet/p-491006e1.system.js +4 -0
  337. package/lib/duet/{p-617c03dc.system.entry.js → p-494e7691.system.entry.js} +1 -1
  338. package/lib/duet/{p-212651b5.system.entry.js → p-49e39bc1.system.entry.js} +1 -1
  339. package/lib/duet/p-4b3bef47.entry.js +4 -0
  340. package/lib/duet/{p-9180e7f5.system.entry.js → p-4b57b898.system.entry.js} +1 -1
  341. package/lib/duet/{p-4e6ad0aa.entry.js → p-4d272de8.entry.js} +1 -1
  342. package/lib/duet/{p-47ec0bce.system.entry.js → p-4ee4938c.system.entry.js} +1 -1
  343. package/lib/duet/{p-5b4e316c.system.entry.js → p-4f99c879.system.entry.js} +1 -1
  344. package/lib/duet/{p-cc70ab4a.entry.js → p-5003f2f7.entry.js} +1 -1
  345. package/lib/duet/p-501d76ac.system.entry.js +4 -0
  346. package/lib/duet/{p-be7a7b77.entry.js → p-51ea8a1e.entry.js} +1 -1
  347. package/lib/duet/{p-130d0e42.entry.js → p-56e8e51e.entry.js} +1 -1
  348. package/lib/duet/{p-e2c354ef.system.entry.js → p-5700d7df.system.entry.js} +1 -1
  349. package/lib/duet/{p-3dc8596c.system.entry.js → p-5726b0c6.system.entry.js} +1 -1
  350. package/lib/duet/{p-c405af98.system.entry.js → p-57c81cdf.system.entry.js} +1 -1
  351. package/lib/duet/{p-57708d82.entry.js → p-58d191e0.entry.js} +1 -1
  352. package/lib/duet/{p-86991900.system.entry.js → p-5bb44d21.system.entry.js} +1 -1
  353. package/lib/duet/{p-c37c86ef.entry.js → p-5be89661.entry.js} +1 -1
  354. package/lib/duet/{p-a05fa71c.entry.js → p-5c682b2c.entry.js} +1 -1
  355. package/lib/duet/{p-732d4693.system.entry.js → p-5d06caee.system.entry.js} +1 -1
  356. package/lib/duet/{p-88501e6a.entry.js → p-5d1f9c44.entry.js} +1 -1
  357. package/lib/duet/{p-6d9e809f.system.entry.js → p-61c551d2.system.entry.js} +1 -1
  358. package/lib/duet/{p-f0173106.system.entry.js → p-63330f08.system.entry.js} +1 -1
  359. package/lib/duet/{p-0c72528c.system.entry.js → p-63566970.system.entry.js} +1 -1
  360. package/lib/duet/p-63c149ab.js +4 -0
  361. package/lib/duet/{p-bb64f25d.system.entry.js → p-66ab3c0e.system.entry.js} +2 -2
  362. package/lib/duet/{p-5e965627.system.entry.js → p-6c1482e6.system.entry.js} +1 -1
  363. package/lib/duet/{p-fe3dbb59.entry.js → p-715db5f9.entry.js} +1 -1
  364. package/lib/duet/{p-277d9e45.system.js → p-71a46879.system.js} +1 -1
  365. package/lib/duet/{p-3db4b9e1.entry.js → p-720ffaf8.entry.js} +1 -1
  366. package/lib/duet/{p-a727e03a.entry.js → p-74bee1d0.entry.js} +1 -1
  367. package/lib/duet/p-7709b117.entry.js +4 -0
  368. package/lib/duet/{p-5e2c8e38.entry.js → p-7a3c5568.entry.js} +1 -1
  369. package/lib/duet/{p-3117f16c.system.entry.js → p-7d1b0468.system.entry.js} +1 -1
  370. package/lib/duet/{p-66cc34da.entry.js → p-7d5e5659.entry.js} +1 -1
  371. package/lib/duet/{p-312656b2.entry.js → p-7e43823e.entry.js} +1 -1
  372. package/lib/duet/p-8894b5f8.system.entry.js +4 -0
  373. package/lib/duet/p-892b0784.system.js +5 -0
  374. package/lib/duet/p-8ace7a8f.entry.js +4 -0
  375. package/lib/duet/{p-d2cbaed2.entry.js → p-8adadd0e.entry.js} +1 -1
  376. package/lib/duet/p-8adb9463.js +4 -0
  377. package/lib/duet/{p-b959ac63.system.entry.js → p-8aee7f16.system.entry.js} +1 -1
  378. package/lib/duet/{p-fe5705fe.system.entry.js → p-8b01d5ae.system.entry.js} +1 -1
  379. package/lib/duet/p-8be782cb.system.entry.js +4 -0
  380. package/lib/duet/{p-f2b11d36.system.entry.js → p-8bfe774e.system.entry.js} +1 -1
  381. package/lib/duet/{p-10695d55.system.js → p-8c6e3c4f.system.js} +1 -1
  382. package/lib/duet/{p-00fc5376.system.entry.js → p-8e64876c.system.entry.js} +1 -1
  383. package/lib/duet/p-90b90630.system.entry.js +4 -0
  384. package/lib/duet/p-90d5fb9a.entry.js +4 -0
  385. package/lib/duet/{p-8548fc3a.system.entry.js → p-9116810a.system.entry.js} +1 -1
  386. package/lib/duet/{p-b66706de.entry.js → p-91e92ff0.entry.js} +1 -1
  387. package/lib/duet/p-92a26eb7.system.entry.js +4 -0
  388. package/lib/duet/{p-36fafe5f.entry.js → p-939bceb1.entry.js} +1 -1
  389. package/lib/duet/{p-52fdd651.system.entry.js → p-968c8724.system.entry.js} +1 -1
  390. package/lib/duet/p-9837720e.system.entry.js +4 -0
  391. package/lib/duet/{p-22a436ef.entry.js → p-99a6c65d.entry.js} +1 -1
  392. package/lib/duet/{p-9d3deabb.system.entry.js → p-9a9f4f83.system.entry.js} +1 -1
  393. package/lib/duet/{p-66ce877b.entry.js → p-9ad54264.entry.js} +1 -1
  394. package/lib/duet/{p-42242eb4.entry.js → p-9bad6410.entry.js} +1 -1
  395. package/lib/duet/{p-df03f394.entry.js → p-9ef41dff.entry.js} +1 -1
  396. package/lib/duet/{p-97162b31.system.entry.js → p-a04538da.system.entry.js} +1 -1
  397. package/lib/duet/{p-f75b8801.system.entry.js → p-a4dc39b7.system.entry.js} +1 -1
  398. package/lib/duet/{p-e3d40270.entry.js → p-a61f629f.entry.js} +1 -1
  399. package/lib/duet/p-a659351d.system.js +4 -0
  400. package/lib/duet/{p-c1ec3ad4.entry.js → p-a6a78989.entry.js} +1 -1
  401. package/lib/duet/{p-75f7a572.js → p-a76ceaf6.js} +1 -1
  402. package/lib/duet/{p-293d6a2b.entry.js → p-acfd55b1.entry.js} +1 -1
  403. package/lib/duet/{p-896fff8f.entry.js → p-afd647b4.entry.js} +1 -1
  404. package/lib/duet/{p-daa1595d.entry.js → p-b150413c.entry.js} +1 -1
  405. package/lib/duet/{p-4ca5d008.system.entry.js → p-b4548652.system.entry.js} +1 -1
  406. package/lib/duet/{p-419b1bec.system.entry.js → p-b50fe6a3.system.entry.js} +1 -1
  407. package/lib/duet/p-b63e9d32.system.entry.js +4 -0
  408. package/lib/duet/p-b63fdf97.entry.js +4 -0
  409. package/lib/duet/{p-ced4679a.entry.js → p-b70632f4.entry.js} +1 -1
  410. package/lib/duet/{p-930c8f3c.system.entry.js → p-b8f45b9b.system.entry.js} +1 -1
  411. package/lib/duet/{p-5847fbcf.system.entry.js → p-ba8d654e.system.entry.js} +1 -1
  412. package/lib/duet/{p-6fcc9de8.entry.js → p-c047dce3.entry.js} +1 -1
  413. package/lib/duet/{p-fde10739.system.entry.js → p-c06dd7ff.system.entry.js} +1 -1
  414. package/lib/duet/{p-45043c9d.system.entry.js → p-c1aa415d.system.entry.js} +1 -1
  415. package/lib/duet/p-c6265d54.system.entry.js +4 -0
  416. package/lib/duet/{p-615a393c.system.entry.js → p-c7f078b4.system.entry.js} +1 -1
  417. package/lib/duet/{p-7f9909ed.entry.js → p-ca587193.entry.js} +1 -1
  418. package/lib/duet/{p-9fb4f41a.system.entry.js → p-cc2c3bda.system.entry.js} +1 -1
  419. package/lib/duet/{p-5c37dda9.system.entry.js → p-ccbd26f8.system.entry.js} +1 -1
  420. package/lib/duet/{p-a6d18e87.system.entry.js → p-cd494ec0.system.entry.js} +1 -1
  421. package/lib/duet/{p-655275ec.entry.js → p-d0517764.entry.js} +1 -1
  422. package/lib/duet/{p-c905c010.entry.js → p-d1ada824.entry.js} +1 -1
  423. package/lib/duet/{p-d1ee4298.system.entry.js → p-d23f5574.system.entry.js} +1 -1
  424. package/lib/duet/{p-1e161672.entry.js → p-d38f4401.entry.js} +1 -1
  425. package/lib/duet/{p-d649d264.system.entry.js → p-d5a72abd.system.entry.js} +1 -1
  426. package/lib/duet/{p-41c64229.system.entry.js → p-d976e355.system.entry.js} +1 -1
  427. package/lib/duet/p-dafb7efd.js +5 -0
  428. package/lib/duet/{p-1eada326.system.entry.js → p-dc00285e.system.entry.js} +1 -1
  429. package/lib/duet/{p-d6e7f2d1.entry.js → p-ddec1906.entry.js} +1 -1
  430. package/lib/duet/{p-27b9e751.system.entry.js → p-dfecd542.system.entry.js} +1 -1
  431. package/lib/duet/{p-c65b31df.entry.js → p-e1a2ad9b.entry.js} +1 -1
  432. package/lib/duet/{p-222548cd.entry.js → p-e26224c8.entry.js} +1 -1
  433. package/lib/duet/{p-17f95bce.entry.js → p-e2674cbd.entry.js} +1 -1
  434. package/lib/duet/{p-889fc0c6.entry.js → p-e464c127.entry.js} +1 -1
  435. package/lib/duet/{p-f31b839f.system.entry.js → p-e62bcf02.system.entry.js} +1 -1
  436. package/lib/duet/{p-78eb3378.system.entry.js → p-e73904ab.system.entry.js} +1 -1
  437. package/lib/duet/{p-a7d43918.entry.js → p-e775f206.entry.js} +1 -1
  438. package/lib/duet/{p-08945ef7.entry.js → p-e8496052.entry.js} +1 -1
  439. package/lib/duet/{p-e591257f.entry.js → p-e8e50fdb.entry.js} +1 -1
  440. package/lib/duet/{p-653fd5d0.system.entry.js → p-ecfdc7d9.system.entry.js} +1 -1
  441. package/lib/duet/p-edddef22.entry.js +4 -0
  442. package/lib/duet/{p-a7f9f585.system.entry.js → p-ee2dc527.system.entry.js} +1 -1
  443. package/lib/duet/{p-4bae7f7e.entry.js → p-ee3d6a73.entry.js} +1 -1
  444. package/lib/duet/{p-26f8a5e3.entry.js → p-ef194759.entry.js} +1 -1
  445. package/lib/duet/{p-2ba628cc.system.entry.js → p-f06b4b03.system.entry.js} +1 -1
  446. package/lib/duet/{p-ab07e9c2.entry.js → p-f29123b4.entry.js} +1 -1
  447. package/lib/duet/{p-f22404fe.system.js → p-f36c856d.system.js} +1 -1
  448. package/lib/duet/{p-81ef610a.system.entry.js → p-f36ee41c.system.entry.js} +1 -1
  449. package/lib/duet/p-fa56fe59.entry.js +4 -0
  450. package/lib/duet/{p-c2a407e8.system.entry.js → p-fa7cdc28.system.entry.js} +1 -1
  451. package/lib/duet/{p-69abe752.system.entry.js → p-fc3275ba.system.entry.js} +1 -1
  452. package/lib/duet/p-fd4785ab.js +4 -0
  453. package/lib/duet/{p-d00f7632.system.entry.js → p-fd54a219.system.entry.js} +1 -1
  454. package/lib/duet/p-fe4cd626.entry.js +4 -0
  455. package/lib/esm/duet-action-button.entry.js +3 -3
  456. package/lib/esm/duet-alert.entry.js +14 -2
  457. package/lib/esm/duet-badge.entry.js +1 -1
  458. package/lib/esm/duet-banner.entry.js +3 -3
  459. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  460. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  461. package/lib/esm/duet-button_2.entry.js +4 -4
  462. package/lib/esm/duet-callout.entry.js +1 -1
  463. package/lib/esm/duet-caption_4.entry.js +3 -3
  464. package/lib/esm/duet-card.entry.js +3 -3
  465. package/lib/esm/duet-checkbox.entry.js +1 -1
  466. package/lib/esm/duet-checkmark.entry.js +1 -1
  467. package/lib/esm/duet-chip.entry.js +1 -1
  468. package/lib/esm/duet-choice_2.entry.js +2 -2
  469. package/lib/esm/duet-collapsible.entry.js +1 -1
  470. package/lib/esm/duet-combobox.entry.js +1 -1
  471. package/lib/esm/duet-contact-card.entry.js +1 -1
  472. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  473. package/lib/esm/duet-date-picker.entry.js +2 -2
  474. package/lib/esm/duet-divider_2.entry.js +3 -3
  475. package/lib/esm/duet-editable-table_3.entry.js +75 -22
  476. package/lib/esm/duet-empty-state.entry.js +1 -1
  477. package/lib/esm/duet-fieldset.entry.js +3 -2
  478. package/lib/esm/duet-footer.entry.js +1 -1
  479. package/lib/esm/duet-grid_2.entry.js +1 -1
  480. package/lib/esm/duet-header_2.entry.js +14 -9
  481. package/lib/esm/duet-hero.entry.js +1 -1
  482. package/lib/esm/duet-icon.entry.js +3 -3
  483. package/lib/esm/duet-input_2.entry.js +2 -2
  484. package/lib/esm/duet-layout.entry.js +1 -1
  485. package/lib/esm/duet-list_2.entry.js +1 -1
  486. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  487. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  488. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  489. package/lib/esm/duet-menu-bar-link.entry.js +1 -1
  490. package/lib/esm/duet-menu-bar.entry.js +3 -2
  491. package/lib/esm/duet-modal.entry.js +6 -2
  492. package/lib/esm/duet-multiselect.entry.js +23 -4
  493. package/lib/esm/duet-nav.entry.js +1 -1
  494. package/lib/esm/duet-notification_2.entry.js +1 -1
  495. package/lib/esm/duet-number-input.entry.js +4 -1
  496. package/lib/esm/duet-page-heading.entry.js +1 -1
  497. package/lib/esm/duet-pagination_2.entry.js +1 -1
  498. package/lib/esm/duet-popup-menu-item.entry.js +1 -1
  499. package/lib/esm/duet-popup-menu.entry.js +3 -30
  500. package/lib/esm/duet-progress.entry.js +1 -1
  501. package/lib/esm/duet-promo-card.entry.js +3 -3
  502. package/lib/esm/duet-radio_2.entry.js +1 -1
  503. package/lib/esm/duet-range-slider.entry.js +2 -2
  504. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  505. package/lib/esm/duet-section-layout.entry.js +1 -1
  506. package/lib/esm/duet-select.entry.js +1 -1
  507. package/lib/esm/duet-shaped-image.entry.js +1 -1
  508. package/lib/esm/duet-show-more.entry.js +1 -1
  509. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  510. package/lib/esm/duet-slideout-link.entry.js +1 -1
  511. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  512. package/lib/esm/duet-slideout-panel.entry.js +4 -4
  513. package/lib/esm/duet-slideout.entry.js +4 -4
  514. package/lib/esm/duet-step_2.entry.js +1 -1
  515. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  516. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  517. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  518. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  519. package/lib/esm/duet-textarea.entry.js +1 -1
  520. package/lib/esm/duet-toggle.entry.js +1 -1
  521. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  522. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  523. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  524. package/lib/esm/duet-toolbar.entry.js +1 -1
  525. package/lib/esm/duet-tooltip-button_2.entry.js +87 -0
  526. package/lib/esm/duet-tooltip.entry.js +33 -48
  527. package/lib/esm/duet-tray.entry.js +2 -2
  528. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  529. package/lib/esm/duet-upload-item.entry.js +5 -4
  530. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  531. package/lib/esm/duet.js +3 -3
  532. package/lib/{dist-custom-elements/p-df10a767.js → esm/floating-ui.dom.esm-6025c98f.js} +154 -159
  533. package/lib/esm/{focus-utils-08d27c67.js → focus-utils-8a8cfffd.js} +1 -1
  534. package/lib/esm/{index-729ef6e7.js → index-d48e2c74.js} +1 -1
  535. package/lib/esm/loader.js +3 -3
  536. package/lib/esm/teleport-4ede216d.js +86 -0
  537. package/lib/esm/{token-utils-058d6220.js → token-utils-a1dcaa4b.js} +1 -1
  538. package/lib/esm/{tokens.module-f436c2cd.js → tokens.module-ed773027.js} +1 -1
  539. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  540. package/lib/esm-es5/duet-alert.entry.js +2 -2
  541. package/lib/esm-es5/duet-badge.entry.js +1 -1
  542. package/lib/esm-es5/duet-banner.entry.js +1 -1
  543. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  544. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  545. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  546. package/lib/esm-es5/duet-callout.entry.js +1 -1
  547. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  548. package/lib/esm-es5/duet-card.entry.js +1 -1
  549. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  550. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  551. package/lib/esm-es5/duet-chip.entry.js +1 -1
  552. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  553. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  554. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  555. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  556. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  557. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  558. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  559. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  560. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  561. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  562. package/lib/esm-es5/duet-footer.entry.js +1 -1
  563. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  564. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  565. package/lib/esm-es5/duet-hero.entry.js +1 -1
  566. package/lib/esm-es5/duet-icon.entry.js +1 -1
  567. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  568. package/lib/esm-es5/duet-layout.entry.js +1 -1
  569. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  570. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  571. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  572. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  573. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  574. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  575. package/lib/esm-es5/duet-modal.entry.js +1 -1
  576. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  577. package/lib/esm-es5/duet-nav.entry.js +1 -1
  578. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  579. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  580. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  581. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  582. package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
  583. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  584. package/lib/esm-es5/duet-progress.entry.js +1 -1
  585. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  586. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  587. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  588. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  589. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  590. package/lib/esm-es5/duet-select.entry.js +1 -1
  591. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  592. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  593. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  594. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  595. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  596. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  597. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  598. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  599. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  600. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  601. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  602. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  603. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  604. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  605. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  606. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
  607. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  608. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  609. package/lib/esm-es5/duet-tooltip-button_2.entry.js +4 -0
  610. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  611. package/lib/esm-es5/duet-tray.entry.js +1 -1
  612. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  613. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  614. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  615. package/lib/esm-es5/duet.js +1 -1
  616. package/lib/esm-es5/floating-ui.dom.esm-6025c98f.js +4 -0
  617. package/lib/esm-es5/focus-utils-8a8cfffd.js +4 -0
  618. package/lib/esm-es5/index-d48e2c74.js +5 -0
  619. package/lib/esm-es5/loader.js +1 -1
  620. package/lib/esm-es5/teleport-4ede216d.js +4 -0
  621. package/lib/esm-es5/{token-utils-058d6220.js → token-utils-a1dcaa4b.js} +1 -1
  622. package/lib/esm-es5/{tokens.module-f436c2cd.js → tokens.module-ed773027.js} +1 -1
  623. package/lib/types/components/duet-alert/duet-alert.d.ts +12 -0
  624. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +6 -1
  625. package/lib/types/components/duet-header/duet-header.d.ts +3 -0
  626. package/lib/types/components/duet-modal/duet-modal.d.ts +1 -0
  627. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +9 -0
  628. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +29 -0
  629. package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +4 -7
  630. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +3 -2
  631. package/lib/types/components/duet-upload/duet-upload.d.ts +21 -16
  632. package/lib/types/components/duet-upload/upload-validators.d.ts +1 -0
  633. package/lib/types/components.d.ts +71 -7
  634. package/lib/types/utils/teleport.d.ts +15 -2
  635. package/package.json +5 -5
  636. package/lib/cjs/duet-tooltip-popup.cjs.entry.js +0 -56
  637. package/lib/dist-custom-elements/p-95109364.js +0 -136
  638. package/lib/dist-custom-elements/p-d6238b66.js +0 -88
  639. package/lib/dist-custom-elements/p-f3b91052.js +0 -273
  640. package/lib/duet/p-00215a97.entry.js +0 -4
  641. package/lib/duet/p-106940dd.js +0 -5
  642. package/lib/duet/p-1700211f.system.js +0 -5
  643. package/lib/duet/p-1760b8d4.system.entry.js +0 -4
  644. package/lib/duet/p-1ea89299.entry.js +0 -4
  645. package/lib/duet/p-2a64f169.system.entry.js +0 -4
  646. package/lib/duet/p-2d68f259.entry.js +0 -4
  647. package/lib/duet/p-340e36a8.system.js +0 -4
  648. package/lib/duet/p-3a417fd2.entry.js +0 -4
  649. package/lib/duet/p-61fb382d.entry.js +0 -4
  650. package/lib/duet/p-6494c48e.entry.js +0 -4
  651. package/lib/duet/p-6c24d8b4.entry.js +0 -4
  652. package/lib/duet/p-7084c7fa.system.entry.js +0 -4
  653. package/lib/duet/p-7649b95e.js +0 -4
  654. package/lib/duet/p-7e64358b.entry.js +0 -4
  655. package/lib/duet/p-8040b3f3.system.entry.js +0 -4
  656. package/lib/duet/p-82b5380b.system.js +0 -4
  657. package/lib/duet/p-86dc2ebb.entry.js +0 -4
  658. package/lib/duet/p-90ad5759.system.entry.js +0 -4
  659. package/lib/duet/p-a1057e50.js +0 -4
  660. package/lib/duet/p-a8af0ea4.entry.js +0 -4
  661. package/lib/duet/p-bd751ea4.system.entry.js +0 -4
  662. package/lib/duet/p-d3910688.entry.js +0 -4
  663. package/lib/duet/p-d759b718.system.entry.js +0 -4
  664. package/lib/duet/p-d7fa5f72.system.entry.js +0 -4
  665. package/lib/duet/p-df10a767.js +0 -4
  666. package/lib/duet/p-e0cfe3d5.entry.js +0 -4
  667. package/lib/duet/p-e73a1930.entry.js +0 -4
  668. package/lib/duet/p-ebbb398a.system.entry.js +0 -4
  669. package/lib/duet/p-f3c3932d.system.entry.js +0 -4
  670. package/lib/esm/duet-tooltip-popup.entry.js +0 -52
  671. package/lib/esm-es5/duet-tooltip-popup.entry.js +0 -4
  672. package/lib/esm-es5/floating-ui.dom.esm-37dc174a.js +0 -4
  673. package/lib/esm-es5/focus-utils-08d27c67.js +0 -4
  674. package/lib/esm-es5/index-729ef6e7.js +0 -5
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { E as Env, p as proxyCustomElement, H, h, d as Host } from './p-215e9694.js';
4
+ import { E as Env, p as proxyCustomElement, H, h, d as Host } from './p-66206ea5.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
- import { g as getColorByName, r as rgbaColorFromRgb } from './p-661e7864.js';
6
+ import { g as getColorByName, r as rgbaColorFromRgb } from './p-de68431d.js';
7
7
 
8
8
  const cleanupSvg = (svgContent) => {
9
9
  if (typeof document === "undefined" || !svgContent) {
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, d as Host } from './p-215e9694.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-66206ea5.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
6
  import { c as createID } from './p-c1325e35.js';
7
7
  import { a as getLocaleString } from './p-076452be.js';
8
- import { d as defineCustomElement$1 } from './p-67064f22.js';
8
+ import { d as defineCustomElement$1 } from './p-8dbc5e4b.js';
9
9
 
10
10
  const duetProgressCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:inherit}.duet-progress{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:1px;}.duet-progress .progress-bar{position:relative;display:block;width:100%;height:inherit;min-height:1px;background-color:rgb(243, 249, 252);border-radius:0;box-shadow:none}.duet-theme-turva .duet-progress .progress-bar{background-color:rgb(252, 243, 244)}.duet-progress .progress-bar>span{display:block;height:inherit;text-indent:-9999px;background-color:rgb(0, 119, 179);border-radius:0}.duet-theme-turva .duet-progress .progress-bar>span{background-color:rgb(198, 12, 48)}.duet-progress progress[value]{display:flex;width:100%;height:inherit;min-height:1px;color:rgb(0, 119, 179);border:0 none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.duet-theme-turva .duet-progress progress[value]{color:rgb(198, 12, 48)}.duet-progress progress[value]::-webkit-progress-bar{background-color:rgb(243, 249, 252);border-radius:0}.duet-theme-turva .duet-progress progress[value]::-webkit-progress-bar{background-color:rgb(252, 243, 244)}.duet-progress progress[value]::-webkit-progress-value{background-color:rgb(0, 119, 179);background-size:35px 20px, 100% 100%, 100% 100%;border-radius:0;-webkit-animation:animate-stripes 5s linear infinite;animation:animate-stripes 5s linear infinite}.duet-theme-turva .duet-progress progress[value]::-webkit-progress-value{background-color:rgb(198, 12, 48)}.duet-progress progress[value] ::-moz-progress-bar{background-color:rgb(243, 249, 252)}.duet-theme-turva .duet-progress progress[value] ::-moz-progress-bar{background-color:rgb(252, 243, 244)}";
11
11
 
@@ -1,16 +1,17 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-215e9694.js';
4
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-66206ea5.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
6
  import { c as createID } from './p-c1325e35.js';
7
7
  import { p as parsePossibleJSON } from './p-5a9d75e1.js';
8
- import { d as defineCustomElement$6 } from './p-98bca605.js';
9
- import { d as defineCustomElement$5 } from './p-7be4444a.js';
10
- import { d as defineCustomElement$4 } from './p-4fb34519.js';
11
- import { d as defineCustomElement$3 } from './p-37f86174.js';
12
- import { d as defineCustomElement$2 } from './p-d6238b66.js';
13
- import { d as defineCustomElement$1 } from './p-67064f22.js';
8
+ import { d as defineCustomElement$7 } from './p-19b04293.js';
9
+ import { d as defineCustomElement$6 } from './p-b95006a5.js';
10
+ import { d as defineCustomElement$5 } from './p-591040e5.js';
11
+ import { d as defineCustomElement$4 } from './p-de10f837.js';
12
+ import { d as defineCustomElement$3 } from './p-b1fa6ee7.js';
13
+ import { d as defineCustomElement$2 } from './p-e78bd379.js';
14
+ import { d as defineCustomElement$1 } from './p-8dbc5e4b.js';
14
15
 
15
16
  const duetSelectCss = "*.sc-duet-select,*.sc-duet-select::after,*.sc-duet-select::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-select-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}.sc-duet-select-h:last-child,.sc-duet-select-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-select-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-select-h{width:100% !important}}.duet-select-variation-tiny.sc-duet-select-h{position:relative;top:-2px;width:72px;margin:0 !important;vertical-align:baseline}.duet-m-0.sc-duet-select-h{margin:0 !important}duet-tooltip.sc-duet-select{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-select{position:relative;top:4px;right:auto}}.duet-select-placeholder.sc-duet-select{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-select-container.sc-duet-select{position:relative;width:100%}.duet-select-container.duet-select-variation-tiny.sc-duet-select{width:72px}.duet-select-wrapper.sc-duet-select{position:relative;width:100%;padding:15px 14px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-variation-tiny.sc-duet-select .duet-select-wrapper.sc-duet-select{width:81px;padding:0 !important}.duet-select-wrapper.sc-duet-select select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;width:100%;height:100%;padding:0;margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;cursor:pointer;border:0;outline:none;opacity:0}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:rgb(144, 149, 153);box-shadow:0 0 0 1px rgb(144, 149, 153)}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:rgb(116, 116, 117);box-shadow:0 0 0 1px rgb(116, 116, 117)}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px rgb(224, 42, 13)}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:rgb(0, 119, 179);outline:0;box-shadow:0 0 0 1px rgb(0, 119, 179);transition:none}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:rgb(23, 28, 58);box-shadow:0 0 0 1px rgb(23, 28, 58)}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(23, 28, 58)}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(0, 119, 179)}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px rgb(224, 42, 13)}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select{cursor:default !important}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:rgb(0, 41, 77) !important;cursor:default !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:rgb(0, 41, 77) !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:rgb(23, 28, 58) !important;background:rgb(245, 245, 247) !important;border-color:rgb(245, 245, 247) !important;-webkit-text-fill-color:rgb(23, 28, 58) !important}.duet-select-wrapper.sc-duet-select span.duet-keep-container-height.sc-duet-select{opacity:0}.duet-select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:block;width:100%;min-width:8rem;padding:12px 14px !important;padding-right:48px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255);border:1px solid rgb(144, 149, 153);border-radius:4px;transition:150ms ease}.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:rgb(222, 35, 98) !important}.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(222, 35, 98) !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:rgb(224, 42, 13) !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:rgb(224, 42, 13) !important}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58);border-color:rgb(116, 116, 117)}.duet-select.sc-duet-select svg.sc-duet-select{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;color:rgb(0, 41, 77);pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select svg.sc-duet-select{color:rgb(23, 28, 58)}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select{width:72px;min-width:inherit;padding:0 !important;margin-bottom:-4px;overflow:visible;font-weight:600;text-align:center}.duet-select-variation-tiny.sc-duet-select .duet-select.sc-duet-select duet-icon.sc-duet-select{padding-left:10px}.duet-select-help.sc-duet-select{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(101, 119, 135);border-radius:4px}.duet-select-help.sc-duet-select span.sc-duet-select{display:block;margin-top:8px}.duet-theme-turva.sc-duet-select .duet-select-help.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(116, 116, 117)}.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:rgb(222, 35, 98)}.duet-theme-turva.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:rgb(224, 42, 13)}.duet-label-hidden.sc-duet-select duet-label.sc-duet-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
16
17
 
@@ -213,7 +214,7 @@ function defineCustomElement() {
213
214
  if (typeof customElements === "undefined") {
214
215
  return;
215
216
  }
216
- const components = ["duet-select", "duet-caption", "duet-icon", "duet-label", "duet-tooltip", "duet-tooltip-popup", "duet-visually-hidden"];
217
+ const components = ["duet-select", "duet-caption", "duet-icon", "duet-label", "duet-tooltip", "duet-tooltip-button", "duet-tooltip-popup", "duet-visually-hidden"];
217
218
  components.forEach(tagName => { switch (tagName) {
218
219
  case "duet-select":
219
220
  if (!customElements.get(tagName)) {
@@ -222,20 +223,25 @@ function defineCustomElement() {
222
223
  break;
223
224
  case "duet-caption":
224
225
  if (!customElements.get(tagName)) {
225
- defineCustomElement$6();
226
+ defineCustomElement$7();
226
227
  }
227
228
  break;
228
229
  case "duet-icon":
229
230
  if (!customElements.get(tagName)) {
230
- defineCustomElement$5();
231
+ defineCustomElement$6();
231
232
  }
232
233
  break;
233
234
  case "duet-label":
234
235
  if (!customElements.get(tagName)) {
235
- defineCustomElement$4();
236
+ defineCustomElement$5();
236
237
  }
237
238
  break;
238
239
  case "duet-tooltip":
240
+ if (!customElements.get(tagName)) {
241
+ defineCustomElement$4();
242
+ }
243
+ break;
244
+ case "duet-tooltip-button":
239
245
  if (!customElements.get(tagName)) {
240
246
  defineCustomElement$3();
241
247
  }
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-215e9694.js';
4
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-66206ea5.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
6
  import { c as createID } from './p-c1325e35.js';
7
7
  import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-076452be.js';
8
- import { d as defineCustomElement$4 } from './p-f3b91052.js';
9
- import { d as defineCustomElement$3 } from './p-7be4444a.js';
10
- import { d as defineCustomElement$2 } from './p-841f9d02.js';
11
- import { d as defineCustomElement$1 } from './p-67064f22.js';
8
+ import { d as defineCustomElement$4 } from './p-dd112690.js';
9
+ import { d as defineCustomElement$3 } from './p-b95006a5.js';
10
+ import { d as defineCustomElement$2 } from './p-f3ffb5b4.js';
11
+ import { d as defineCustomElement$1 } from './p-8dbc5e4b.js';
12
12
 
13
13
  const duetAlertCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;max-height:999px;border-radius:4px;transition:opacity 300ms ease, visibility 300ms ease, transform 300ms ease, max-height 300ms ease}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}:host(.duet-alert-is-dismissed){max-height:0;overflow:hidden;visibility:hidden !important;opacity:0;transform:scale(0.98)}:host(.duet-alert-is-dismissed) .duet-alert{margin:0 !important}.duet-alert{margin-bottom:16px !important;position:relative;width:100%;padding:16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77);background:#f2f8fb;border:1px solid rgb(0, 119, 179);border-radius:4px;transition:margin 100ms 300ms ease}.duet-alert.duet-p-0{padding:0 !important}.duet-alert.duet-m-0{margin:0 !important}.duet-alert.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\";color:rgb(23, 28, 58);background:#f3f4f5;border-color:rgb(23, 28, 58)}.duet-alert.warning{background:#fffbf4;border-color:rgb(247, 178, 40)}.duet-alert.warning.duet-theme-turva{background:#fffaf3;border-color:rgb(250, 164, 15)}.duet-alert.danger{background:#fdf4f7;border-color:rgb(222, 35, 98)}.duet-alert.danger.duet-theme-turva{background:#fdf4f3;border-color:rgb(224, 42, 13)}.duet-alert.success{background:#f2f9f7;border-color:rgb(0, 135, 90)}.duet-alert.success.duet-theme-turva{background:#f3f9f6;border-color:rgb(8, 135, 78)}.duet-alert-dismiss{position:absolute;top:2px;right:2px}.duet-alert-container{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 auto !important}.duet-alert-container span{width:100%}.duet-alert-has-icon .duet-alert-container{margin-top:2px !important}.duet-alert-icon{display:inline-block;align-self:center;width:20px;min-width:20px;height:20px;margin:0 16px 0 0 !important}.duet-alert-icon duet-icon{width:20px;height:20px}.duet-alert-is-dismissible{padding:16px 48px 16px 16px;text-align:left}.duet-alert-is-dismissible .duet-alert-container{text-align:left}";
14
14
 
@@ -49,6 +49,7 @@ const DuetAlert = /*@__PURE__*/ proxyCustomElement(class extends H {
49
49
  this.padding = "auto";
50
50
  this.variation = "default";
51
51
  this.dismissible = false;
52
+ this.focusable = false;
52
53
  }
53
54
  watchLanguageStateHandler(newValue, oldValue) {
54
55
  if (newValue !== oldValue && this.accessibleLabel === this.accessibleLabelDefaults[oldValue]) {
@@ -87,6 +88,15 @@ const DuetAlert = /*@__PURE__*/ proxyCustomElement(class extends H {
87
88
  async hide() {
88
89
  this.handleHide();
89
90
  }
91
+ /**
92
+ * Sets focus on the specified `duet-alert`.
93
+ * Works only when focusable property is set to true.
94
+ * Use this method instead of the global
95
+ * `button.focus()`.
96
+ */
97
+ async setFocus(options) {
98
+ this.alertContainer.focus(options);
99
+ }
90
100
  /**
91
101
  * There is bug in NVDA screen reader
92
102
  * that is causing multiple alert readings
@@ -110,7 +120,9 @@ const DuetAlert = /*@__PURE__*/ proxyCustomElement(class extends H {
110
120
  "duet-m-0": this.margin === "none",
111
121
  [this.variation]: true,
112
122
  "duet-theme-turva": this.theme === "turva",
113
- } }, h("div", { class: "duet-alert-container" }, this.icon && (h("div", { class: "duet-alert-icon" }, h("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), h("span", { id: this.descriptiveId }, h("slot", null))), this.dismissible && (h("div", { class: "duet-alert-dismiss" }, h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
123
+ } }, h("div", { class: "duet-alert-container", ref: element => {
124
+ this.alertContainer = element;
125
+ }, tabindex: this.focusable ? "0" : undefined }, this.icon && (h("div", { class: "duet-alert-icon" }, h("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), h("span", { id: this.descriptiveId }, h("slot", null))), this.dismissible && (h("div", { class: "duet-alert-dismiss" }, h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
114
126
  }
115
127
  static get watchers() { return {
116
128
  "language": ["watchLanguageStateHandler"]
@@ -127,11 +139,13 @@ const DuetAlert = /*@__PURE__*/ proxyCustomElement(class extends H {
127
139
  "padding": [1],
128
140
  "variation": [1],
129
141
  "dismissible": [4],
142
+ "focusable": [4],
130
143
  "isDismissed": [32],
131
144
  "timeoutID": [32],
132
145
  "language": [32],
133
146
  "show": [64],
134
- "hide": [64]
147
+ "hide": [64],
148
+ "setFocus": [64]
135
149
  }]);
136
150
  function defineCustomElement() {
137
151
  if (typeof customElements === "undefined") {
@@ -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-215e9694.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-66206ea5.js';
5
5
 
6
6
  const duetSpacerCss = ":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:12px;min-width:12px;height:12px}@media (min-width: 36em){:host{width:16px;min-width:16px;height:16px}}:host(.duet-spacer-horizontal){display:inline-block;height:100% !important}:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px}}:host(.duet-spacer-horizontal.x-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-small){width:8px;min-width:8px}}:host(.duet-spacer-horizontal.small){width:8px;min-width:8px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.small){width:12px;min-width:12px}}:host(.duet-spacer-horizontal.medium){height:100%}:host(.duet-spacer-horizontal.large){width:16px;min-width:16px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.large){width:20px;min-width:20px}}:host(.duet-spacer-horizontal.x-large){width:20px;min-width:20px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-large){width:28px;min-width:28px}}:host(.duet-spacer-horizontal.xx-large){width:28px;min-width:28px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-large){width:36px;min-width:36px}}:host(.duet-spacer-horizontal.xxx-large){width:36px;min-width:36px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxx-large){width:48px;min-width:48px}}:host(.duet-spacer-horizontal.xxxx-large){width:48px;min-width:48px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxxx-large){width:72px;min-width:72px}}:host(.duet-spacer-vertical.xx-small){width:100%;height:4px;min-height:4px}:host(.duet-spacer-vertical.x-small){width:100%;height:4px;min-height:4px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-small){height:8px;min-height:8px}}:host(.duet-spacer-vertical.small){width:100%;height:8px;min-height:8px}@media (min-width: 36em){:host(.duet-spacer-vertical.small){height:12px;min-height:12px}}:host(.duet-spacer-vertical.medium){width:100%}:host(.duet-spacer-vertical.large){width:100%;height:16px;min-height:16px}@media (min-width: 36em){:host(.duet-spacer-vertical.large){height:20px;min-height:20px}}:host(.duet-spacer-vertical.x-large){width:100%;height:20px;min-height:20px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-large){height:28px;min-height:28px}}:host(.duet-spacer-vertical.xx-large){width:100%;height:28px;min-height:28px}@media (min-width: 36em){:host(.duet-spacer-vertical.xx-large){height:36px;min-height:36px}}:host(.duet-spacer-vertical.xxx-large){width:100%;height:36px;min-height:36px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxx-large){height:48px;min-height:48px}}:host(.duet-spacer-vertical.xxxx-large){width:100%;height:48px;min-height:48px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxxx-large){height:72px;min-height:72px}}:host(.duet-spacer-xx-small){display:none}@media (max-width: 22.5em){:host(.duet-spacer-xx-small){display:block}}:host(.duet-spacer-x-small){display:none}@media (max-width: 35.9375em){:host(.duet-spacer-x-small){display:block}}:host(.duet-spacer-small){display:none}@media (min-width: 36em){:host(.duet-spacer-small){display:block}}:host(.duet-spacer-medium){display:none}@media (min-width: 48em){:host(.duet-spacer-medium){display:block}}:host(.duet-spacer-large){display:none}@media (min-width: 62em){:host(.duet-spacer-large){display:block}}:host(.duet-spacer-x-large){display:none}@media (min-width: 64.0625em){:host(.duet-spacer-x-large){display:block}}:host(.duet-spacer-xx-large){display:none}@media (min-width: 76.25em){:host(.duet-spacer-xx-large){display:block}}";
7
7
 
@@ -0,0 +1,273 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-66206ea5.js';
5
+ import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
+ import { D as DuetStringsExternalDefaults } from './p-76f00bd5.js';
7
+ import { g as getLanguage, a as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './p-076452be.js';
8
+ import { g as getColorByName } from './p-de68431d.js';
9
+ import { d as defineCustomElement$3 } from './p-b95006a5.js';
10
+ import { d as defineCustomElement$2 } from './p-f3ffb5b4.js';
11
+ import { d as defineCustomElement$1 } from './p-8dbc5e4b.js';
12
+
13
+ const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.input-button){z-index:250}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:rgb(0, 119, 179) !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button:not(.input-button-primary,.input-button-secondary,.input-button-embedded){font-variant-numeric:tabular-nums}.duet-button.duet-button-text-center{text-align:center !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:48px;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).plain{padding-right:0 !important;padding-left:0 !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).duet-p-0{padding:0 !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(198, 12, 48) !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-button:active:not([disabled]){opacity:0.75;transition:none}.duet-button.default{border-color:rgb(225, 227, 230)}.duet-theme-turva .duet-button.default{color:rgb(198, 12, 48) !important;border-color:rgb(228, 228, 230)}.duet-button.default:hover{border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.default:hover{border-color:rgb(198, 12, 48)}.duet-button.default.duet-button-negative{background-color:rgb(255, 255, 255)}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:rgb(228, 228, 230) !important}.duet-button.default.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}.duet-button.primary,.duet-button.input-button-primary{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.primary,.duet-theme-turva .duet-button.input-button-primary{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}.duet-button.primary:hover,.duet-button.input-button-primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover,.duet-theme-turva .duet-button.input-button-primary:hover{background:rgb(148, 9, 37);border-color:rgb(148, 9, 37)}.duet-button.primary:focus,.duet-button.input-button-primary:focus{outline:0;box-shadow:0 0 0 1px rgb(255, 255, 255), 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus,.duet-theme-turva .duet-button.input-button-primary:focus{box-shadow:0 0 0 1px rgb(255, 255, 255), 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary,.duet-button.input-button-secondary,.duet-button.input-button-embedded{color:rgb(0, 41, 77) !important;background:transparent;border-color:rgb(0, 41, 77)}.duet-theme-turva .duet-button.secondary,.duet-theme-turva .duet-button.input-button-secondary,.duet-theme-turva .duet-button.input-button-embedded{color:rgb(23, 28, 58) !important;border-color:rgb(23, 28, 58)}.duet-button.secondary:hover,.duet-button.input-button-secondary:hover,.duet-button.input-button-embedded:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.secondary:hover,.duet-theme-turva .duet-button.input-button-secondary:hover,.duet-theme-turva .duet-button.input-button-embedded:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}.duet-button.secondary.duet-button-negative,.duet-button.input-button-secondary.duet-button-negative,.duet-button.input-button-embedded.duet-button-negative{color:rgb(225, 227, 230) !important;border-color:rgb(255, 255, 255)}.duet-theme-turva .duet-button.secondary.duet-button-negative,.duet-theme-turva .duet-button.input-button-secondary.duet-button-negative,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative{color:rgb(228, 228, 230) !important}.duet-button.secondary.duet-button-negative:hover,.duet-button.input-button-secondary.duet-button-negative:hover,.duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(0, 119, 179) !important;border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover,.duet-theme-turva .duet-button.input-button-secondary.duet-button-negative:hover,.duet-theme-turva .duet-button.input-button-embedded.duet-button-negative:hover{color:rgb(198, 12, 48) !important;border-color:rgb(198, 12, 48)}.duet-button.input-button-embedded{width:40px;min-width:40px !important;min-height:40px !important;margin:4px !important;border-width:0 !important;border-radius:4px !important}.duet-button.negative{color:rgb(0, 41, 77) !important;background:rgb(255, 255, 255);border-color:rgb(255, 255, 255)}.duet-theme-turva .duet-button.negative{color:rgb(23, 28, 58) !important}.duet-button.negative:hover{color:rgb(255, 255, 255) !important;background:transparent;border-color:rgb(255, 255, 255)}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px rgb(0, 41, 77), 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px rgb(23, 28, 58), 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(222, 35, 98);border-color:rgb(222, 35, 98)}.duet-theme-turva .duet-button.destructive-primary{color:rgb(255, 255, 255) !important;background:rgb(224, 42, 13);border-color:rgb(224, 42, 13)}.duet-button.destructive-primary:hover{background:#b21c4e;border-color:#b21c4e;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.destructive-primary:hover{background:#b3220a}.duet-button.destructive,.duet-button.destructive-secondary{color:rgb(222, 35, 98) !important;background:rgb(255, 255, 255);border-color:rgb(222, 35, 98)}.duet-theme-turva .duet-button.destructive,.duet-theme-turva .duet-button.destructive-secondary{color:rgb(224, 42, 13) !important;background:rgb(255, 255, 255);border-color:rgb(224, 42, 13)}.duet-button.destructive:hover,.duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover,.duet-theme-turva .duet-button.destructive-secondary:hover{color:rgb(255, 255, 255) !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:rgb(198, 12, 48) !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.small{padding-left:20px !important}.duet-button.plain.icon.small.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium-small{padding-left:20px !important}.duet-button.plain.icon.medium-small.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;cursor:not-allowed;background:transparent !important;border-color:rgb(228, 228, 230) !important}.duet-button.plain:hover{color:rgb(0, 77, 128) !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:rgb(148, 9, 37) !important}.duet-button.plain.duet-button-negative{color:rgb(255, 255, 255) !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:rgb(228, 228, 230) !important}.duet-button.plain.duet-button-negative:hover{color:rgb(0, 119, 179) !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:rgb(198, 12, 48) !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button.duet-button.input-button-primary,.duet-button.duet-button.input-button-secondary,.duet-button.duet-button.input-button-embedded{box-sizing:content-box;min-width:48px;min-height:48px;padding:0 !important;border-width:1px;border-top-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}.duet-button.duet-button.input-button-primary .duet-button-contents,.duet-button.duet-button.input-button-secondary .duet-button-contents,.duet-button.duet-button.input-button-embedded .duet-button-contents{position:static}.duet-button.duet-button.input-button-primary .duet-button-icon.left.large,.duet-button.duet-button.input-button-primary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-primary .duet-button-icon.left.small,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.large,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.medium,.duet-button.duet-button.input-button-secondary .duet-button-icon.left.small,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.large,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.medium,.duet-button.duet-button.input-button-embedded .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button.duet-button.input-button-embedded{border-left-width:0}.duet-button.square{width:48px !important;min-width:auto !important;height:48px !important;padding:0 !important;font-size:1.25rem;border-color:rgb(225, 227, 230);border-width:1px;border-radius:8px}.duet-button.square.duet-button-is-small{width:28px !important;height:28px !important;padding:0 !important;font-size:1rem}.duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(0, 119, 179);border-color:rgb(0, 119, 179)}.duet-theme-turva .duet-button.square.duet-button-negative{color:rgb(255, 255, 255) !important;background:rgb(198, 12, 48);border-color:rgb(198, 12, 48)}.duet-theme-turva .duet-button.square{border-color:rgb(228, 228, 230)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:rgb(101, 119, 135) !important;cursor:not-allowed;background:rgb(225, 227, 230) !important;border-color:rgb(225, 227, 230) !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:rgb(116, 116, 117) !important;cursor:not-allowed;background:rgb(228, 228, 230) !important;border-color:rgb(228, 228, 230) !important}.duet-button-is-loading.primary,.duet-button-is-loading.input-button-primary{color:rgb(255, 255, 255)}.duet-button-is-loading.default{color:rgb(0, 119, 179)}.duet-button-is-loading.default.duet-theme-turva{color:rgb(198, 12, 48)}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
14
+
15
+ const DuetButton = /*@__PURE__*/ proxyCustomElement(class extends H {
16
+ constructor() {
17
+ super();
18
+ this.__registerHost();
19
+ this.__attachShadow();
20
+ this.duetFocus = createEvent(this, "duetFocus", 7);
21
+ this.duetBlur = createEvent(this, "duetBlur", 7);
22
+ /**
23
+ * Component event handling.
24
+ */
25
+ this.handleClick = (ev) => {
26
+ // If this button wants to specifically submit a form
27
+ // climb up the dom to see if we're in a <form>
28
+ // and if so, then use JS to submit it.
29
+ // To understand better, see: https://www.hjorthhansen.dev/shadow-dom-form-participation/
30
+ if (!this.url && this.element.closest("form")) {
31
+ ev.preventDefault();
32
+ this.proxyButton.click();
33
+ }
34
+ };
35
+ this.onFocus = () => {
36
+ this.duetFocus.emit();
37
+ };
38
+ this.onBlur = () => {
39
+ this.duetBlur.emit();
40
+ };
41
+ this.accessibleLabel = undefined;
42
+ this.accessibleControls = undefined;
43
+ this.accessiblePopup = "false";
44
+ this.accessibleActiveDescendant = undefined;
45
+ this.accessibleOwns = undefined;
46
+ this.accessibleDescribedBy = undefined;
47
+ this.accessibleDetails = undefined;
48
+ this.accessibleLabelledBy = undefined;
49
+ this.accessibleDescription = undefined;
50
+ this.accessibleExpanded = undefined;
51
+ this.accessiblePressed = undefined;
52
+ this.loading = false;
53
+ this.variation = "default";
54
+ this.negative = false;
55
+ this.theme = "";
56
+ this.margin = "auto";
57
+ this.padding = "auto";
58
+ this.centerText = false;
59
+ this.wrapping = "auto";
60
+ this.expand = false;
61
+ this.fixed = false;
62
+ this.disabled = false;
63
+ this.name = undefined;
64
+ this.value = undefined;
65
+ this.identifier = undefined;
66
+ this.submit = false;
67
+ this.external = false;
68
+ this.language = getLanguage();
69
+ this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
70
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
71
+ this.icon = "";
72
+ this.color = "";
73
+ this.iconRight = false;
74
+ this.iconSize = "medium";
75
+ this.size = "medium";
76
+ this.iconOnly = false;
77
+ this.url = undefined;
78
+ }
79
+ watchLanguageStateHandler(newValue, oldValue) {
80
+ if (newValue !== oldValue && this.accessibleLabelExternal === this.accessibleLabelExternalDefaults[oldValue]) {
81
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, newValue);
82
+ }
83
+ }
84
+ /**
85
+ * Component lifecycle events.
86
+ */
87
+ componentWillLoad() {
88
+ inheritGlobalTheme(this);
89
+ if (this.url && this.external && this.icon) {
90
+ console.warn("[DUET]: Button used as an external link will override any icon that is set");
91
+ }
92
+ }
93
+ connectedCallback() {
94
+ this.proxyButton = document.createElement("button");
95
+ this.proxyButton.style.display = "none";
96
+ this.syncToProxyButton();
97
+ connectLanguageChangeObserver(this);
98
+ if (!this.url && this.element.closest("form")) {
99
+ this.element.insertAdjacentElement("beforebegin", this.proxyButton);
100
+ }
101
+ }
102
+ disconnectedCallback() {
103
+ this.proxyButton.remove();
104
+ this.proxyButton = null;
105
+ disconnectLanguageChangeObserver(this);
106
+ }
107
+ syncToProxyButton() {
108
+ this.proxyButton.type = this.getButtonType();
109
+ this.proxyButton.disabled = this.disabled;
110
+ // attributes should be removed in cases where name/value is not set
111
+ if (this.name != null) {
112
+ this.proxyButton.name = this.name;
113
+ }
114
+ else {
115
+ this.proxyButton.removeAttribute("name");
116
+ }
117
+ if (this.value != null) {
118
+ this.proxyButton.value = this.value;
119
+ }
120
+ else {
121
+ this.proxyButton.removeAttribute("value");
122
+ }
123
+ }
124
+ getButtonType() {
125
+ return this.submit ? "submit" : "button";
126
+ }
127
+ /**
128
+ * Sets focus on the specified `duet-button`. Use this method instead of the global
129
+ * `button.focus()`.
130
+ */
131
+ async setFocus(options) {
132
+ if (this.nativeButton) {
133
+ this.nativeButton.focus(options);
134
+ }
135
+ }
136
+ /**
137
+ * render() function.
138
+ * Always the last one in the class.
139
+ */
140
+ render() {
141
+ const isExternalLink = this.external && this.url;
142
+ // enforce consistency for external links
143
+ const icon = isExternalLink ? "action-new-window" : this.icon;
144
+ const iconRight = isExternalLink ? true : this.iconRight;
145
+ const commonChildren = (h("span", { class: "duet-button-contents", style: { color: getColorByName(this.color) } }, icon && (h("div", { "aria-hidden": "true", class: {
146
+ "duet-button-icon": true,
147
+ left: !iconRight,
148
+ right: iconRight,
149
+ [this.iconSize]: true,
150
+ } }, h("duet-icon", { size: "auto", margin: "none", name: icon, color: "currentColor" }))), h("slot", null)));
151
+ const commonProps = {
152
+ onFocus: this.onFocus,
153
+ onBlur: this.onBlur,
154
+ ref: button => (this.nativeButton = button),
155
+ id: this.identifier,
156
+ class: {
157
+ "duet-m-0": this.margin === "none",
158
+ "duet-p-0": this.padding === "none",
159
+ "duet-no-wrap": this.wrapping === "none",
160
+ "duet-button": true,
161
+ "duet-button-is-small": this.size === "small",
162
+ "duet-button-icon-only": this.iconOnly,
163
+ "duet-button-text-center": this.centerText,
164
+ "duet-button-negative": this.negative || this.variation === "negative",
165
+ [this.variation]: true,
166
+ disabled: this.disabled,
167
+ icon: !!icon,
168
+ "icon-right": iconRight,
169
+ [this.iconSize]: true,
170
+ },
171
+ "aria-controls": this.accessibleControls,
172
+ "aria-label": this.accessibleLabel,
173
+ "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined,
174
+ "aria-activedescendant": this.accessibleActiveDescendant,
175
+ "aria-owns": this.accessibleOwns,
176
+ "aria-describedby": this.accessibleDescribedBy,
177
+ "aria-labelledby": this.accessibleLabelledBy,
178
+ "aria-details": this.accessibleDetails,
179
+ "aria-description": this.accessibleDescription,
180
+ };
181
+ return (h(Host, { onClick: this.handleClick, class: {
182
+ "duet-m-0": this.margin === "none",
183
+ "duet-small": this.size === "small",
184
+ "duet-fixed": this.fixed,
185
+ "duet-expand": this.expand,
186
+ "input-button": this.variation.startsWith("input-button"),
187
+ } }, h("div", { class: {
188
+ "duet-button-container": true,
189
+ "duet-button-is-loading": this.loading,
190
+ "duet-theme-turva": this.theme === "turva",
191
+ "duet-button-negative": this.negative || this.variation === "negative",
192
+ [this.variation]: true,
193
+ } }, this.url ? (h("a", Object.assign({}, commonProps, { href: this.url, target: this.external ? "_blank" : "_self", rel: this.external ? "noopener" : undefined }), commonChildren, this.external && h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal))) : (h("button", Object.assign({}, commonProps, { type: this.getButtonType(), disabled: this.disabled, name: this.name, value: this.value, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, "aria-disabled": this.disabled }), commonChildren)), this.loading && h("duet-spinner", { color: "currentColor" }))));
194
+ }
195
+ get element() { return this; }
196
+ static get watchers() { return {
197
+ "language": ["watchLanguageStateHandler"],
198
+ "disabled": ["syncToProxyButton"],
199
+ "submit": ["syncToProxyButton"],
200
+ "value": ["syncToProxyButton"],
201
+ "name": ["syncToProxyButton"]
202
+ }; }
203
+ static get style() { return duetButtonCss; }
204
+ }, [1, "duet-button", {
205
+ "accessibleLabel": [1, "accessible-label"],
206
+ "accessibleControls": [1, "accessible-controls"],
207
+ "accessiblePopup": [1, "accessible-popup"],
208
+ "accessibleActiveDescendant": [1, "accessible-active-descendant"],
209
+ "accessibleOwns": [1, "accessible-owns"],
210
+ "accessibleDescribedBy": [1, "accessible-described-by"],
211
+ "accessibleDetails": [1, "accessible-details"],
212
+ "accessibleLabelledBy": [1, "accessible-labelled-by"],
213
+ "accessibleDescription": [1, "accessible-description"],
214
+ "accessibleExpanded": [4, "accessible-expanded"],
215
+ "accessiblePressed": [4, "accessible-pressed"],
216
+ "loading": [4],
217
+ "variation": [1],
218
+ "negative": [4],
219
+ "theme": [1025],
220
+ "margin": [1],
221
+ "padding": [1],
222
+ "centerText": [4, "center-text"],
223
+ "wrapping": [1],
224
+ "expand": [4],
225
+ "fixed": [4],
226
+ "disabled": [516],
227
+ "name": [1],
228
+ "value": [1],
229
+ "identifier": [1],
230
+ "submit": [516],
231
+ "external": [4],
232
+ "language": [1537],
233
+ "accessibleLabelExternalDefaults": [1, "accessible-label-external-default"],
234
+ "accessibleLabelExternal": [1025, "accessible-label-external"],
235
+ "icon": [1],
236
+ "color": [1],
237
+ "iconRight": [4, "icon-right"],
238
+ "iconSize": [1, "icon-size"],
239
+ "size": [1],
240
+ "iconOnly": [4, "icon-only"],
241
+ "url": [513],
242
+ "setFocus": [64]
243
+ }]);
244
+ function defineCustomElement() {
245
+ if (typeof customElements === "undefined") {
246
+ return;
247
+ }
248
+ const components = ["duet-button", "duet-icon", "duet-spinner", "duet-visually-hidden"];
249
+ components.forEach(tagName => { switch (tagName) {
250
+ case "duet-button":
251
+ if (!customElements.get(tagName)) {
252
+ customElements.define(tagName, DuetButton);
253
+ }
254
+ break;
255
+ case "duet-icon":
256
+ if (!customElements.get(tagName)) {
257
+ defineCustomElement$3();
258
+ }
259
+ break;
260
+ case "duet-spinner":
261
+ if (!customElements.get(tagName)) {
262
+ defineCustomElement$2();
263
+ }
264
+ break;
265
+ case "duet-visually-hidden":
266
+ if (!customElements.get(tagName)) {
267
+ defineCustomElement$1();
268
+ }
269
+ break;
270
+ } });
271
+ }
272
+
273
+ export { DuetButton as D, defineCustomElement as d };