@duetds/components 8.1.3 → 8.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/hydrate/index.js +147 -76
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  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 +12 -8
  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 +2 -2
  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 +3 -3
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-icon.cjs.entry.js +3 -3
  31. package/lib/cjs/duet-input_2.cjs.entry.js +12 -4
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-modal.cjs.entry.js +19 -6
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +5 -3
  41. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +4 -3
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +2 -2
  48. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -3
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-select.cjs.entry.js +4 -2
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-slideout.cjs.entry.js +82 -70
  62. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-textarea.cjs.entry.js +4 -2
  68. package/lib/cjs/duet-toggle.cjs.entry.js +4 -2
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +12 -3
  75. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  79. package/lib/cjs/duet.cjs.js +2 -2
  80. package/lib/cjs/{focus-utils-c921d7b4.js → focus-utils-ec077a62.js} +1 -1
  81. package/lib/cjs/{index-23baafec.js → index-00f527af.js} +1 -1
  82. package/lib/cjs/loader.cjs.js +2 -2
  83. package/lib/cjs/{teleport-e7315776.js → teleport-6a1f83a1.js} +2 -2
  84. package/lib/cjs/{token-utils-f11c288e.js → token-utils-a5356b00.js} +1 -1
  85. package/lib/cjs/{tokens-c0b8b3a8.js → tokens-51cfbe11.js} +4 -1
  86. package/lib/cjs/{tokens.module-44ad1fdb.js → tokens.module-ce5f9579.js} +3 -1
  87. package/lib/collection/common/focusable-component.js +1 -0
  88. package/lib/collection/common/opener-component.js +1 -0
  89. package/lib/collection/components/duet-button/duet-button.css +120 -131
  90. package/lib/collection/components/duet-button/duet-button.js +10 -6
  91. package/lib/collection/components/duet-heading/duet-heading.js +2 -2
  92. package/lib/collection/components/duet-input/duet-input.js +43 -1
  93. package/lib/collection/components/duet-label/duet-label.css +7 -0
  94. package/lib/collection/components/duet-label/duet-label.js +54 -1
  95. package/lib/collection/components/duet-modal/duet-modal.css +105 -16
  96. package/lib/collection/components/duet-modal/duet-modal.js +40 -3
  97. package/lib/collection/components/duet-multiselect/duet-multiselect.css +14 -4
  98. package/lib/collection/components/duet-multiselect/duet-multiselect.js +43 -1
  99. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +4 -0
  100. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +26 -1
  101. package/lib/collection/components/duet-range-slider/duet-range-slider.js +43 -1
  102. package/lib/collection/components/duet-select/duet-select.js +43 -1
  103. package/lib/collection/components/duet-slideout/duet-slideout.css +35 -0
  104. package/lib/collection/components/duet-slideout/duet-slideout.js +121 -92
  105. package/lib/collection/components/duet-textarea/duet-textarea.js +43 -1
  106. package/lib/collection/components/duet-toggle/duet-toggle.js +43 -1
  107. package/lib/collection/components/duet-tooltip/duet-tooltip.js +27 -1
  108. package/lib/collection/utils/teleport.js +2 -2
  109. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  110. package/lib/dist-custom-elements/duet-alert.js +1 -1
  111. package/lib/dist-custom-elements/duet-badge.js +1 -1
  112. package/lib/dist-custom-elements/duet-banner.js +5 -5
  113. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  114. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  115. package/lib/dist-custom-elements/duet-button.js +1 -1
  116. package/lib/dist-custom-elements/duet-callout.js +3 -3
  117. package/lib/dist-custom-elements/duet-caption.js +1 -1
  118. package/lib/dist-custom-elements/duet-card.js +4 -4
  119. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  120. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  121. package/lib/dist-custom-elements/duet-chip.js +2 -2
  122. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  123. package/lib/dist-custom-elements/duet-choice.js +5 -5
  124. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  125. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  126. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  127. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  128. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  129. package/lib/dist-custom-elements/duet-divider.js +1 -1
  130. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  131. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  132. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  133. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  134. package/lib/dist-custom-elements/duet-footer.js +4 -4
  135. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  136. package/lib/dist-custom-elements/duet-grid.js +1 -1
  137. package/lib/dist-custom-elements/duet-header.js +9 -9
  138. package/lib/dist-custom-elements/duet-heading.js +1 -1
  139. package/lib/dist-custom-elements/duet-hero.js +9 -9
  140. package/lib/dist-custom-elements/duet-icon.js +1 -1
  141. package/lib/dist-custom-elements/duet-input.js +1 -1
  142. package/lib/dist-custom-elements/duet-label.js +1 -1
  143. package/lib/dist-custom-elements/duet-layout.js +1 -1
  144. package/lib/dist-custom-elements/duet-link.js +1 -1
  145. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  146. package/lib/dist-custom-elements/duet-list.js +1 -1
  147. package/lib/dist-custom-elements/duet-logo.js +1 -1
  148. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  149. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  150. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  151. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
  152. package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
  153. package/lib/dist-custom-elements/duet-modal.js +25 -11
  154. package/lib/dist-custom-elements/duet-multiselect.js +16 -18
  155. package/lib/dist-custom-elements/duet-nav.js +1 -1
  156. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  157. package/lib/dist-custom-elements/duet-notification.js +2 -2
  158. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  159. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  160. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  161. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  162. package/lib/dist-custom-elements/duet-popup-menu-item.js +6 -4
  163. package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
  164. package/lib/dist-custom-elements/duet-progress.js +1 -1
  165. package/lib/dist-custom-elements/duet-promo-card.js +4 -4
  166. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  167. package/lib/dist-custom-elements/duet-radio.js +1 -1
  168. package/lib/dist-custom-elements/duet-range-slider.js +8 -4
  169. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  170. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  171. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  172. package/lib/dist-custom-elements/duet-select.js +1 -1
  173. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  174. package/lib/dist-custom-elements/duet-show-more.js +5 -5
  175. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  176. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  177. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  178. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  179. package/lib/dist-custom-elements/duet-slideout.js +85 -72
  180. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  181. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  182. package/lib/dist-custom-elements/duet-step.js +4 -4
  183. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  184. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  185. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  186. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  187. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  188. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  189. package/lib/dist-custom-elements/duet-tab.js +1 -1
  190. package/lib/dist-custom-elements/duet-table.js +1 -1
  191. package/lib/dist-custom-elements/duet-textarea.js +15 -11
  192. package/lib/dist-custom-elements/duet-toggle.js +7 -3
  193. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  194. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  195. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  196. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  197. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  198. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  199. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  200. package/lib/dist-custom-elements/duet-tray.js +4 -4
  201. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  202. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  203. package/lib/dist-custom-elements/duet-upload.js +18 -18
  204. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  205. package/lib/dist-custom-elements/index.js +1 -1
  206. package/lib/dist-custom-elements/{p-3400ca0c.js → p-0156b860.js} +1 -1
  207. package/lib/dist-custom-elements/{p-87c24ccc.js → p-1c7bd169.js} +1 -1
  208. package/lib/dist-custom-elements/{p-8b205719.js → p-1e82d8a1.js} +2 -2
  209. package/lib/dist-custom-elements/{p-367ad3f1.js → p-254a95d4.js} +2 -2
  210. package/lib/dist-custom-elements/{p-7d6b2e2a.js → p-2b56c0d7.js} +3 -1
  211. package/lib/dist-custom-elements/{p-147a15c7.js → p-3158e24f.js} +1 -1
  212. package/lib/dist-custom-elements/{p-2ffd3907.js → p-3cc835d7.js} +1 -1
  213. package/lib/dist-custom-elements/{p-8aa81f02.js → p-3d6047c0.js} +11 -4
  214. package/lib/dist-custom-elements/{p-1ecc8fe6.js → p-471a62cc.js} +1 -1
  215. package/lib/dist-custom-elements/{p-e79a85cc.js → p-475baac7.js} +1 -1
  216. package/lib/dist-custom-elements/{p-35de0b49.js → p-4a55dff3.js} +5 -5
  217. package/lib/dist-custom-elements/{p-e6db0986.js → p-4c5751cd.js} +1 -1
  218. package/lib/dist-custom-elements/{p-32b5c09b.js → p-4d3e1b52.js} +4 -4
  219. package/lib/dist-custom-elements/{p-003d89e4.js → p-583e21a8.js} +2 -2
  220. package/lib/dist-custom-elements/{p-0cc51aa5.js → p-5e849463.js} +4 -1
  221. package/lib/dist-custom-elements/{p-34e3bbfd.js → p-66f15eba.js} +2 -2
  222. package/lib/dist-custom-elements/p-6b977095.js +305 -0
  223. package/lib/dist-custom-elements/{p-5cb5afdb.js → p-6d0197c3.js} +5 -5
  224. package/lib/dist-custom-elements/{p-ce5d7b7d.js → p-7bb90fcc.js} +15 -11
  225. package/lib/dist-custom-elements/{p-a0befa19.js → p-7bcdcf71.js} +4 -4
  226. package/lib/dist-custom-elements/{p-709ad7fb.js → p-7d7291bf.js} +13 -9
  227. package/lib/dist-custom-elements/{p-b1f60850.js → p-8735b4db.js} +2 -2
  228. package/lib/dist-custom-elements/{p-d080d0f8.js → p-975a4689.js} +2 -2
  229. package/lib/dist-custom-elements/{p-63530da2.js → p-9a9a04bd.js} +3 -3
  230. package/lib/dist-custom-elements/{p-c68e31b1.js → p-9b174e03.js} +2 -2
  231. package/lib/dist-custom-elements/{p-70dfb83b.js → p-9c2d3a9d.js} +2 -2
  232. package/lib/dist-custom-elements/{p-e4b39e02.js → p-a4605d27.js} +17 -7
  233. package/lib/dist-custom-elements/{p-b06dc288.js → p-b590a133.js} +3 -3
  234. package/lib/dist-custom-elements/{p-e4d6f4d9.js → p-bb1ac896.js} +1 -1
  235. package/lib/dist-custom-elements/{p-671e391d.js → p-c493eecb.js} +2 -2
  236. package/lib/dist-custom-elements/{p-0a4f2604.js → p-cab60e87.js} +1 -1
  237. package/lib/dist-custom-elements/{p-751344b2.js → p-ccdff614.js} +2 -2
  238. package/lib/dist-custom-elements/{p-1a884f8d.js → p-d10e4492.js} +1 -1
  239. package/lib/dist-custom-elements/{p-25e5732f.js → p-d517fc9a.js} +10 -10
  240. package/lib/dist-custom-elements/{p-8977c832.js → p-da8acaf1.js} +2 -2
  241. package/lib/dist-custom-elements/{p-9a81250e.js → p-e078836c.js} +1 -1
  242. package/lib/dist-custom-elements/{p-5f0f197a.js → p-f3d25b08.js} +2 -2
  243. package/lib/dist-custom-elements/{p-09d350df.js → p-fc6bb9ab.js} +2 -2
  244. package/lib/duet/duet.esm.js +1 -1
  245. package/lib/duet/duet.js +1 -1
  246. package/lib/duet/{p-541d7034.system.entry.js → p-0081d434.system.entry.js} +1 -1
  247. package/lib/duet/{p-165e9779.entry.js → p-0198349d.entry.js} +1 -1
  248. package/lib/duet/p-031b59ba.system.entry.js +4 -0
  249. package/lib/duet/{p-232eaac8.entry.js → p-0440798d.entry.js} +1 -1
  250. package/lib/duet/{p-54fa7330.entry.js → p-049d43f7.entry.js} +1 -1
  251. package/lib/duet/p-05f62501.entry.js +4 -0
  252. package/lib/duet/{p-4a125e5e.system.entry.js → p-074fcd6b.system.entry.js} +1 -1
  253. package/lib/duet/{p-7ab2acd3.entry.js → p-0777ebba.entry.js} +1 -1
  254. package/lib/duet/{p-ffbf6336.entry.js → p-0c5ed102.entry.js} +1 -1
  255. package/lib/duet/{p-64deaa4c.entry.js → p-0ec40046.entry.js} +1 -1
  256. package/lib/duet/{p-975d5c57.entry.js → p-10f289cb.entry.js} +1 -1
  257. package/lib/duet/{p-c79bae8b.system.entry.js → p-12f3d121.system.entry.js} +1 -1
  258. package/lib/duet/{p-03e42478.system.entry.js → p-1498e92a.system.entry.js} +1 -1
  259. package/lib/duet/{p-b2aa8a23.entry.js → p-154ca6bb.entry.js} +1 -1
  260. package/lib/duet/{p-6ed3466a.system.entry.js → p-15a4a165.system.entry.js} +1 -1
  261. package/lib/duet/{p-ba073aac.js → p-16b80d3b.js} +1 -1
  262. package/lib/duet/{p-2c839646.entry.js → p-17373631.entry.js} +1 -1
  263. package/lib/duet/{p-07650e7e.entry.js → p-174f2859.entry.js} +1 -1
  264. package/lib/duet/{p-c19f8b47.entry.js → p-18b36a30.entry.js} +1 -1
  265. package/lib/duet/{p-c43ee2af.system.entry.js → p-196afde9.system.entry.js} +1 -1
  266. package/lib/duet/{p-38e71fa2.system.entry.js → p-1e67f010.system.entry.js} +1 -1
  267. package/lib/duet/{p-bd513d22.entry.js → p-1fbb9af9.entry.js} +1 -1
  268. package/lib/duet/{p-60e172b5.system.entry.js → p-1fec3835.system.entry.js} +1 -1
  269. package/lib/duet/p-207544a2.entry.js +4 -0
  270. package/lib/duet/p-21774475.system.js +4 -0
  271. package/lib/duet/{p-31f882ec.entry.js → p-23548d24.entry.js} +1 -1
  272. package/lib/duet/{p-e21f7498.system.entry.js → p-25109b90.system.entry.js} +1 -1
  273. package/lib/duet/{p-e482c83a.system.entry.js → p-28a033de.system.entry.js} +2 -2
  274. package/lib/duet/{p-2ffd74b1.entry.js → p-2abdfdf5.entry.js} +1 -1
  275. package/lib/duet/{p-4857a879.entry.js → p-2c917cc6.entry.js} +1 -1
  276. package/lib/duet/{p-79ee23d6.system.entry.js → p-2e037205.system.entry.js} +1 -1
  277. package/lib/duet/{p-c998a6e0.system.entry.js → p-2f98c466.system.entry.js} +1 -1
  278. package/lib/duet/{p-27f85f4b.entry.js → p-330db26d.entry.js} +1 -1
  279. package/lib/duet/{p-dc30f206.entry.js → p-33666f2e.entry.js} +1 -1
  280. package/lib/duet/{p-5358d93b.entry.js → p-37b3c823.entry.js} +1 -1
  281. package/lib/duet/{p-219b4030.entry.js → p-39a3beb3.entry.js} +1 -1
  282. package/lib/duet/{p-7f104c3a.system.entry.js → p-3bda5078.system.entry.js} +1 -1
  283. package/lib/duet/{p-838a0e3d.system.entry.js → p-3bfdf5dc.system.entry.js} +1 -1
  284. package/lib/duet/p-3f23694f.entry.js +4 -0
  285. package/lib/duet/{p-476b19aa.entry.js → p-3fb7b966.entry.js} +1 -1
  286. package/lib/duet/{p-69663b1b.system.entry.js → p-4218b915.system.entry.js} +1 -1
  287. package/lib/duet/{p-40838403.system.entry.js → p-42b9b16c.system.entry.js} +1 -1
  288. package/lib/duet/{p-e00c21b4.system.entry.js → p-4347cce6.system.entry.js} +1 -1
  289. package/lib/duet/{p-0dc0d364.entry.js → p-44ac28ab.entry.js} +1 -1
  290. package/lib/duet/{p-f4b7ed29.entry.js → p-4adb4139.entry.js} +1 -1
  291. package/lib/duet/{p-19a7ee95.entry.js → p-50a679f4.entry.js} +1 -1
  292. package/lib/duet/{p-b5ec2571.system.entry.js → p-50dbbb82.system.entry.js} +1 -1
  293. package/lib/duet/p-5339aeea.entry.js +4 -0
  294. package/lib/duet/{p-5fd7ca40.system.entry.js → p-54cf9288.system.entry.js} +1 -1
  295. package/lib/duet/{p-f0a86dc0.system.entry.js → p-55e1e8e8.system.entry.js} +1 -1
  296. package/lib/duet/{p-25c520b6.entry.js → p-55f3f985.entry.js} +1 -1
  297. package/lib/duet/{p-ea0b06d3.system.entry.js → p-563dfb63.system.entry.js} +1 -1
  298. package/lib/duet/{p-f8c7fce1.entry.js → p-576cd780.entry.js} +1 -1
  299. package/lib/duet/{p-9f68dc35.entry.js → p-5908bf36.entry.js} +1 -1
  300. package/lib/duet/{p-9befdbe8.system.entry.js → p-5b528cd1.system.entry.js} +1 -1
  301. package/lib/duet/{p-146d8644.system.entry.js → p-5d023790.system.entry.js} +1 -1
  302. package/lib/duet/{p-0cc51aa5.js → p-5e849463.js} +1 -1
  303. package/lib/duet/{p-f58c84af.system.entry.js → p-5f877026.system.entry.js} +1 -1
  304. package/lib/duet/{p-036071a1.system.js → p-610b364b.system.js} +1 -1
  305. package/lib/duet/{p-46cdc3eb.entry.js → p-61b870ac.entry.js} +1 -1
  306. package/lib/duet/p-6216e282.entry.js +4 -0
  307. package/lib/duet/{p-af82dc9b.system.entry.js → p-639fd377.system.entry.js} +1 -1
  308. package/lib/duet/p-65007ed4.system.entry.js +4 -0
  309. package/lib/duet/{p-dbf2f7c4.system.entry.js → p-65b45177.system.entry.js} +1 -1
  310. package/lib/duet/{p-8add9b29.js → p-662da762.js} +1 -1
  311. package/lib/duet/{p-8def73a8.system.entry.js → p-673fdacb.system.entry.js} +1 -1
  312. package/lib/duet/{p-791b8696.system.entry.js → p-67d8175e.system.entry.js} +2 -2
  313. package/lib/duet/p-6f806923.system.js +4 -0
  314. package/lib/duet/{p-5c358bc1.entry.js → p-70dd63d2.entry.js} +1 -1
  315. package/lib/duet/{p-2d821b8d.entry.js → p-71bd1c3c.entry.js} +1 -1
  316. package/lib/duet/{p-d717d828.entry.js → p-73c27f4f.entry.js} +1 -1
  317. package/lib/duet/{p-ea8c019e.entry.js → p-753f2b28.entry.js} +1 -1
  318. package/lib/duet/{p-f59fbe18.entry.js → p-757b1ab3.entry.js} +1 -1
  319. package/lib/duet/{p-4fd75d60.system.entry.js → p-75eb9381.system.entry.js} +1 -1
  320. package/lib/duet/{p-323b233e.system.entry.js → p-762c0edb.system.entry.js} +1 -1
  321. package/lib/duet/{p-710baba1.entry.js → p-780dd22d.entry.js} +1 -1
  322. package/lib/duet/{p-67c86fda.entry.js → p-79f01df6.entry.js} +1 -1
  323. package/lib/duet/{p-af2458bb.system.entry.js → p-7ac648a3.system.entry.js} +1 -1
  324. package/lib/duet/p-7aff0f7c.entry.js +4 -0
  325. package/lib/duet/{p-b587d0b8.entry.js → p-7bdbb023.entry.js} +1 -1
  326. package/lib/duet/{p-6c2c20cd.system.entry.js → p-7d9cffe7.system.entry.js} +1 -1
  327. package/lib/duet/{p-692bb988.system.entry.js → p-7dcdefb0.system.entry.js} +1 -1
  328. package/lib/duet/{p-262be7ec.system.entry.js → p-7fb66081.system.entry.js} +1 -1
  329. package/lib/duet/{p-76126782.entry.js → p-844e7c4c.entry.js} +1 -1
  330. package/lib/duet/p-8a264125.system.entry.js +4 -0
  331. package/lib/duet/{p-b7f08ac0.system.entry.js → p-8b1b9953.system.entry.js} +1 -1
  332. package/lib/duet/{p-e5b6378a.entry.js → p-8be10d34.entry.js} +1 -1
  333. package/lib/duet/p-8cfac25d.entry.js +4 -0
  334. package/lib/duet/{p-165a02ec.system.entry.js → p-930f8fe7.system.entry.js} +1 -1
  335. package/lib/duet/{p-01556920.system.entry.js → p-932be5dd.system.entry.js} +2 -2
  336. package/lib/duet/{p-348752e5.system.entry.js → p-94147b17.system.entry.js} +1 -1
  337. package/lib/duet/{p-c9cdb557.system.entry.js → p-9514ee57.system.entry.js} +1 -1
  338. package/lib/duet/{p-6feae75f.system.entry.js → p-965f292c.system.entry.js} +1 -1
  339. package/lib/duet/{p-aa47193b.entry.js → p-9b62ef83.entry.js} +1 -1
  340. package/lib/duet/{p-1a9958ee.system.js → p-9bd338fd.system.js} +1 -1
  341. package/lib/duet/p-9f29048f.entry.js +4 -0
  342. package/lib/duet/{p-a6753536.entry.js → p-a22130db.entry.js} +1 -1
  343. package/lib/duet/{p-dc079043.entry.js → p-a34e7225.entry.js} +1 -1
  344. package/lib/duet/p-a70815fa.system.entry.js +4 -0
  345. package/lib/duet/{p-3b92f8f8.system.entry.js → p-a75b2646.system.entry.js} +1 -1
  346. package/lib/duet/{p-820c3c6a.entry.js → p-aab21f91.entry.js} +1 -1
  347. package/lib/duet/{p-2acffffa.entry.js → p-abbd8ae3.entry.js} +1 -1
  348. package/lib/duet/{p-aad672f1.entry.js → p-acfdeb70.entry.js} +1 -1
  349. package/lib/duet/{p-be4b6375.entry.js → p-ae30e4ce.entry.js} +1 -1
  350. package/lib/duet/p-afea9845.entry.js +4 -0
  351. package/lib/duet/{p-5ffec513.entry.js → p-b012ba6c.entry.js} +1 -1
  352. package/lib/duet/{p-3b06628b.system.entry.js → p-b0dfe576.system.entry.js} +1 -1
  353. package/lib/duet/{p-613459ec.system.js → p-b0fa4550.system.js} +1 -1
  354. package/lib/duet/p-b0fd435f.system.entry.js +4 -0
  355. package/lib/duet/p-b2996b8c.system.entry.js +4 -0
  356. package/lib/duet/{p-1a2966fc.entry.js → p-b2a54e37.entry.js} +1 -1
  357. package/lib/duet/{p-96ccba4e.entry.js → p-b2b02430.entry.js} +1 -1
  358. package/lib/duet/{p-77d57c4f.system.entry.js → p-b710add2.system.entry.js} +1 -1
  359. package/lib/duet/{p-28c5570c.entry.js → p-b89fe252.entry.js} +1 -1
  360. package/lib/duet/{p-4855cdd1.entry.js → p-b8c89970.entry.js} +1 -1
  361. package/lib/duet/{p-d96c1564.js → p-b9157c7e.js} +1 -1
  362. package/lib/duet/{p-04648bbd.system.entry.js → p-b9cb8ccb.system.entry.js} +1 -1
  363. package/lib/duet/{p-926bc03b.system.entry.js → p-b9ea34d3.system.entry.js} +1 -1
  364. package/lib/duet/{p-fdc585bc.entry.js → p-bac92652.entry.js} +1 -1
  365. package/lib/duet/{p-23c53556.system.entry.js → p-bb35b92e.system.entry.js} +1 -1
  366. package/lib/duet/{p-ab380eb2.entry.js → p-bf2fd03b.entry.js} +1 -1
  367. package/lib/duet/p-c0483523.system.entry.js +4 -0
  368. package/lib/duet/{p-bb1241dd.system.entry.js → p-c481631f.system.entry.js} +1 -1
  369. package/lib/duet/{p-224ef4fb.system.entry.js → p-c7fdc7dc.system.entry.js} +1 -1
  370. package/lib/duet/{p-85531f7d.system.entry.js → p-c8c9fc58.system.entry.js} +1 -1
  371. package/lib/duet/{p-0f9e6b84.system.entry.js → p-ca0f9f08.system.entry.js} +1 -1
  372. package/lib/duet/{p-0584f2d0.entry.js → p-ca21be58.entry.js} +1 -1
  373. package/lib/duet/p-cca98ade.entry.js +4 -0
  374. package/lib/duet/p-ccdff614.js +4 -0
  375. package/lib/duet/{p-a9babd6c.system.entry.js → p-ce879ecd.system.entry.js} +1 -1
  376. package/lib/duet/p-ce88ecc6.entry.js +4 -0
  377. package/lib/duet/{p-4bd13a7d.entry.js → p-cea2cb32.entry.js} +1 -1
  378. package/lib/duet/{p-94387202.system.entry.js → p-ceb5b489.system.entry.js} +1 -1
  379. package/lib/duet/{p-d4c8218f.system.entry.js → p-cf1e1237.system.entry.js} +1 -1
  380. package/lib/duet/{p-93952086.system.entry.js → p-d038c90c.system.entry.js} +1 -1
  381. package/lib/duet/{p-212608a2.entry.js → p-d3141c64.entry.js} +1 -1
  382. package/lib/duet/{p-d73aac37.system.entry.js → p-d350968c.system.entry.js} +1 -1
  383. package/lib/duet/{p-d460763b.system.entry.js → p-d54396be.system.entry.js} +1 -1
  384. package/lib/duet/{p-3ff35a28.system.entry.js → p-d57d7d49.system.entry.js} +1 -1
  385. package/lib/duet/{p-3723bb5e.entry.js → p-d585ac25.entry.js} +1 -1
  386. package/lib/duet/{p-4a19cbfe.system.entry.js → p-d832433b.system.entry.js} +1 -1
  387. package/lib/duet/{p-2ebff6d7.system.entry.js → p-d852ae7e.system.entry.js} +1 -1
  388. package/lib/duet/{p-6f64f7ad.system.entry.js → p-d92ad0d1.system.entry.js} +1 -1
  389. package/lib/duet/{p-467edb2f.system.entry.js → p-dd5b17d0.system.entry.js} +1 -1
  390. package/lib/duet/{p-0cc36862.entry.js → p-dd7d3b2b.entry.js} +1 -1
  391. package/lib/duet/{p-d02213d8.system.entry.js → p-ddc7c96e.system.entry.js} +1 -1
  392. package/lib/duet/{p-f02dee9c.entry.js → p-de41a03b.entry.js} +1 -1
  393. package/lib/duet/p-e12b3d60.system.js +4 -0
  394. package/lib/duet/{p-39927ae1.system.entry.js → p-e2a0e33f.system.entry.js} +1 -1
  395. package/lib/duet/{p-bc44b51c.entry.js → p-e36f923b.entry.js} +1 -1
  396. package/lib/duet/{p-ffd099cc.system.entry.js → p-e49e8a54.system.entry.js} +1 -1
  397. package/lib/duet/{p-b9afc2fb.system.entry.js → p-e4efc7ea.system.entry.js} +1 -1
  398. package/lib/duet/{p-a4fd3204.js → p-e5c0b71a.js} +1 -1
  399. package/lib/duet/{p-87d4aa11.entry.js → p-e91cced0.entry.js} +1 -1
  400. package/lib/duet/{p-e3472812.system.entry.js → p-e9928179.system.entry.js} +1 -1
  401. package/lib/duet/{p-a26a04d4.entry.js → p-eac79871.entry.js} +1 -1
  402. package/lib/duet/{p-b9b8e55c.entry.js → p-eb790693.entry.js} +1 -1
  403. package/lib/duet/{p-8b502861.system.entry.js → p-ebd1b7ae.system.entry.js} +1 -1
  404. package/lib/duet/{p-57b76622.system.entry.js → p-ee815760.system.entry.js} +1 -1
  405. package/lib/duet/{p-594a8770.entry.js → p-f1f7ee14.entry.js} +1 -1
  406. package/lib/duet/p-f42c2d6e.system.js +4 -0
  407. package/lib/duet/{p-cbc7c330.entry.js → p-f5fee877.entry.js} +1 -1
  408. package/lib/duet/{p-7af93eb8.entry.js → p-f6803f4c.entry.js} +1 -1
  409. package/lib/duet/{p-3170506b.entry.js → p-f715214a.entry.js} +1 -1
  410. package/lib/duet/{p-1aa7e90d.entry.js → p-f7f16a52.entry.js} +1 -1
  411. package/lib/duet/{p-47280725.system.entry.js → p-f9b3965d.system.entry.js} +1 -1
  412. package/lib/duet/{p-ec4c94f2.system.entry.js → p-fdb9f8df.system.entry.js} +1 -1
  413. package/lib/esm/duet-action-button.entry.js +3 -3
  414. package/lib/esm/duet-alert.entry.js +1 -1
  415. package/lib/esm/duet-badge.entry.js +1 -1
  416. package/lib/esm/duet-banner.entry.js +3 -3
  417. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  418. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  419. package/lib/esm/duet-button_2.entry.js +12 -8
  420. package/lib/esm/duet-callout.entry.js +1 -1
  421. package/lib/esm/duet-caption_4.entry.js +3 -3
  422. package/lib/esm/duet-card.entry.js +3 -3
  423. package/lib/esm/duet-checkbox.entry.js +1 -1
  424. package/lib/esm/duet-checkmark.entry.js +1 -1
  425. package/lib/esm/duet-chip.entry.js +1 -1
  426. package/lib/esm/duet-choice_2.entry.js +2 -2
  427. package/lib/esm/duet-collapsible.entry.js +2 -2
  428. package/lib/esm/duet-combobox.entry.js +1 -1
  429. package/lib/esm/duet-contact-card.entry.js +1 -1
  430. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  431. package/lib/esm/duet-date-picker.entry.js +2 -2
  432. package/lib/esm/duet-divider_2.entry.js +3 -3
  433. package/lib/esm/duet-editable-table_3.entry.js +3 -3
  434. package/lib/esm/duet-empty-state.entry.js +1 -1
  435. package/lib/esm/duet-fieldset.entry.js +1 -1
  436. package/lib/esm/duet-file-chooser.entry.js +1 -1
  437. package/lib/esm/duet-footer.entry.js +1 -1
  438. package/lib/esm/duet-grid_2.entry.js +2 -2
  439. package/lib/esm/duet-header_2.entry.js +3 -3
  440. package/lib/esm/duet-hero.entry.js +1 -1
  441. package/lib/esm/duet-icon.entry.js +3 -3
  442. package/lib/esm/duet-input_2.entry.js +12 -4
  443. package/lib/esm/duet-layout.entry.js +1 -1
  444. package/lib/esm/duet-list_2.entry.js +1 -1
  445. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  446. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  447. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  448. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  449. package/lib/esm/duet-menu-bar.entry.js +2 -2
  450. package/lib/esm/duet-modal.entry.js +19 -6
  451. package/lib/esm/duet-multiselect.entry.js +5 -3
  452. package/lib/esm/duet-nav.entry.js +1 -1
  453. package/lib/esm/duet-notification_2.entry.js +1 -1
  454. package/lib/esm/duet-number-input.entry.js +1 -1
  455. package/lib/esm/duet-page-heading.entry.js +1 -1
  456. package/lib/esm/duet-pagination_2.entry.js +3 -3
  457. package/lib/esm/duet-popup-menu-item.entry.js +4 -3
  458. package/lib/esm/duet-popup-menu.entry.js +2 -2
  459. package/lib/esm/duet-progress.entry.js +1 -1
  460. package/lib/esm/duet-promo-card.entry.js +3 -3
  461. package/lib/esm/duet-radio_2.entry.js +1 -1
  462. package/lib/esm/duet-range-slider.entry.js +5 -3
  463. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  464. package/lib/esm/duet-section-layout.entry.js +1 -1
  465. package/lib/esm/duet-select.entry.js +4 -2
  466. package/lib/esm/duet-shaped-image.entry.js +1 -1
  467. package/lib/esm/duet-show-more.entry.js +1 -1
  468. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  469. package/lib/esm/duet-slideout-link.entry.js +1 -1
  470. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  471. package/lib/esm/duet-slideout-panel.entry.js +4 -4
  472. package/lib/esm/duet-slideout.entry.js +82 -70
  473. package/lib/esm/duet-step_2.entry.js +1 -1
  474. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  475. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  476. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  477. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  478. package/lib/esm/duet-textarea.entry.js +4 -2
  479. package/lib/esm/duet-toggle.entry.js +4 -2
  480. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  481. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  482. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  483. package/lib/esm/duet-toolbar.entry.js +1 -1
  484. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  485. package/lib/esm/duet-tooltip.entry.js +12 -3
  486. package/lib/esm/duet-tray.entry.js +2 -2
  487. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  488. package/lib/esm/duet-upload-item.entry.js +1 -1
  489. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  490. package/lib/esm/duet.js +3 -3
  491. package/lib/esm/{focus-utils-d6fb240b.js → focus-utils-2a29f64e.js} +1 -1
  492. package/lib/esm/{index-5f1c2664.js → index-909a963e.js} +1 -1
  493. package/lib/esm/loader.js +3 -3
  494. package/lib/esm/{teleport-691e534d.js → teleport-d66d62e4.js} +2 -2
  495. package/lib/esm/{token-utils-84d66351.js → token-utils-ece867a8.js} +1 -1
  496. package/lib/esm/{tokens-5a0d14c7.js → tokens-04106a43.js} +4 -1
  497. package/lib/esm/{tokens.module-16569707.js → tokens.module-7a2f9c49.js} +3 -1
  498. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  499. package/lib/esm-es5/duet-alert.entry.js +1 -1
  500. package/lib/esm-es5/duet-badge.entry.js +1 -1
  501. package/lib/esm-es5/duet-banner.entry.js +1 -1
  502. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  503. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  504. package/lib/esm-es5/duet-button_2.entry.js +2 -2
  505. package/lib/esm-es5/duet-callout.entry.js +1 -1
  506. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  507. package/lib/esm-es5/duet-card.entry.js +1 -1
  508. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  509. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  510. package/lib/esm-es5/duet-chip.entry.js +1 -1
  511. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  512. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  513. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  514. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  515. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  516. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  517. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  518. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  519. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  520. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  521. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  522. package/lib/esm-es5/duet-footer.entry.js +1 -1
  523. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  524. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  525. package/lib/esm-es5/duet-hero.entry.js +1 -1
  526. package/lib/esm-es5/duet-icon.entry.js +1 -1
  527. package/lib/esm-es5/duet-input_2.entry.js +2 -2
  528. package/lib/esm-es5/duet-layout.entry.js +1 -1
  529. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  530. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  531. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  532. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  533. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  534. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  535. package/lib/esm-es5/duet-modal.entry.js +2 -2
  536. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  537. package/lib/esm-es5/duet-nav.entry.js +1 -1
  538. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  539. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  540. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  541. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  542. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  543. package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
  544. package/lib/esm-es5/duet-progress.entry.js +1 -1
  545. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  546. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  547. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  548. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  549. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  550. package/lib/esm-es5/duet-select.entry.js +1 -1
  551. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  552. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  553. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  554. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  555. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  556. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  557. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  558. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  559. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  560. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  561. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  562. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  563. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  564. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  565. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  566. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  567. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  568. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  569. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  570. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  571. package/lib/esm-es5/duet-tray.entry.js +1 -1
  572. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  573. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  574. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  575. package/lib/esm-es5/duet.js +1 -1
  576. package/lib/esm-es5/focus-utils-2a29f64e.js +4 -0
  577. package/lib/esm-es5/{index-5f1c2664.js → index-909a963e.js} +1 -1
  578. package/lib/esm-es5/loader.js +1 -1
  579. package/lib/esm-es5/teleport-d66d62e4.js +4 -0
  580. package/lib/esm-es5/{token-utils-84d66351.js → token-utils-ece867a8.js} +1 -1
  581. package/lib/esm-es5/tokens-04106a43.js +4 -0
  582. package/lib/esm-es5/tokens.module-7a2f9c49.js +4 -0
  583. package/lib/types/common/focusable-component.d.ts +4 -0
  584. package/lib/types/common/index.d.ts +2 -0
  585. package/lib/types/common/opener-component.d.ts +5 -0
  586. package/lib/types/common-types.d.ts +2 -0
  587. package/lib/types/components/duet-button/duet-button.d.ts +2 -2
  588. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -1
  589. package/lib/types/components/duet-input/duet-input.d.ts +9 -1
  590. package/lib/types/components/duet-label/duet-label.d.ts +10 -1
  591. package/lib/types/components/duet-modal/duet-modal.d.ts +7 -0
  592. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +9 -1
  593. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +5 -1
  594. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +9 -1
  595. package/lib/types/components/duet-select/duet-select.d.ts +9 -1
  596. package/lib/types/components/duet-slideout/duet-slideout.d.ts +27 -17
  597. package/lib/types/components/duet-textarea/duet-textarea.d.ts +9 -1
  598. package/lib/types/components/duet-toggle/duet-toggle.d.ts +9 -1
  599. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  600. package/lib/types/components.d.ts +152 -8
  601. package/package.json +5 -5
  602. package/lib/dist-custom-elements/p-60857718.js +0 -301
  603. package/lib/duet/p-1b31feee.entry.js +0 -4
  604. package/lib/duet/p-277ddf44.entry.js +0 -4
  605. package/lib/duet/p-4469e8f9.system.js +0 -4
  606. package/lib/duet/p-4e70e1e4.system.entry.js +0 -4
  607. package/lib/duet/p-5141bab5.system.entry.js +0 -4
  608. package/lib/duet/p-52e711b6.system.js +0 -4
  609. package/lib/duet/p-5802dd1b.entry.js +0 -4
  610. package/lib/duet/p-59be3a18.system.entry.js +0 -4
  611. package/lib/duet/p-5ba2eed6.entry.js +0 -4
  612. package/lib/duet/p-659496e9.system.entry.js +0 -4
  613. package/lib/duet/p-7098b274.system.entry.js +0 -4
  614. package/lib/duet/p-751344b2.js +0 -4
  615. package/lib/duet/p-80d1c3cd.entry.js +0 -4
  616. package/lib/duet/p-8eaaef1c.system.js +0 -4
  617. package/lib/duet/p-92956f9e.system.entry.js +0 -4
  618. package/lib/duet/p-9cd2a179.entry.js +0 -4
  619. package/lib/duet/p-aee18e0f.entry.js +0 -4
  620. package/lib/duet/p-b214b357.entry.js +0 -4
  621. package/lib/duet/p-b985bcf7.system.js +0 -4
  622. package/lib/duet/p-be945742.system.entry.js +0 -4
  623. package/lib/duet/p-cb9ea98d.entry.js +0 -4
  624. package/lib/duet/p-d75a69ce.entry.js +0 -4
  625. package/lib/duet/p-d9c7f458.entry.js +0 -4
  626. package/lib/esm-es5/focus-utils-d6fb240b.js +0 -4
  627. package/lib/esm-es5/teleport-691e534d.js +0 -4
  628. package/lib/esm-es5/tokens-5a0d14c7.js +0 -4
  629. package/lib/esm-es5/tokens.module-16569707.js +0 -4
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as isInternetExplorer } from './is-internet-explorer-2c48f686.js';
6
6
 
7
7
  const duetSectionLayoutCss = "*,*::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;flex:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main{display:block;width:100%}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { p as parsePossibleJSON } from './string-utils-ca039233.js';
@@ -98,6 +98,8 @@ const DuetSelect = class {
98
98
  this.disabled = false;
99
99
  this.required = false;
100
100
  this.label = "label";
101
+ this.labelColor = undefined;
102
+ this.labelWeight = undefined;
101
103
  this.role = undefined;
102
104
  this.tooltip = "";
103
105
  this.tooltipDirection = "auto";
@@ -161,7 +163,7 @@ const DuetSelect = class {
161
163
  [`duet-select-variation-${this.variation}`]: true,
162
164
  "duet-input-top-caption-shown": this.isCaptionVisible,
163
165
  "has-error": !!this.error,
164
- } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
166
+ } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
165
167
  return isOptionGroup(item) ? this.renderOptionGroup(item) : this.renderOption(item);
166
168
  }))), h("div", { class: {
167
169
  "duet-select": true,
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetShapedImageCss = "*,*::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:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{transform:none;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-eba88365.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-00ca4c55.js';
7
7
  import './string-utils-ca039233.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetSlideoutLinkCss = "*,*::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:100%}.duet-slideout-link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 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:inherit;font-weight:inherit;line-height:1.25;color:inherit;text-align:left;text-decoration:none}.duet-slideout-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-slideout-link:focus,.duet-slideout-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-slideout-link.active span{position:relative}.duet-slideout-link.active span::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:var(--active-height, 2px);content:\"\";background:rgb(0, 119, 179);transform:var(--active-translate-y, translateY(2px))}.duet-slideout-link.active.duet-theme-turva span::after{background:rgb(198, 12, 48)}.duet-slideout-link.small{font-size:1rem;font-weight:600}.duet-slideout-link.small span::after{--active-height:1px;--active-translate-y:1px}.duet-slideout-link.medium{font-size:1.25rem;font-weight:600}.duet-slideout-link.large{font-size:1.5rem;font-weight:800}.duet-slideout-link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}slot[name=description]::slotted(*){display:block;padding:8px 0 0;font-size:1rem;font-size:1.25;font-weight:400;color:rgb(101, 119, 135)}.duet-theme-turva slot[name=description]::slotted(*){color:rgb(68, 68, 69)}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetSlideoutPanelDropdownCss = "*,*::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:100%}:host slot:not([name=label])::slotted(*){position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel-dropdown{position:relative;width:100%;height:100%}.duet-slideout-panel-dropdown button{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 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:1.25rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel-dropdown button .label{position:relative;display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-slideout-panel-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel-dropdown button.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:calc(100% - 18px);height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px)}.duet-slideout-panel-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:1000px;padding:4px 20px 8px 44px;overflow-y:auto;visibility:visible;transition:max-height 0.3s ease-in, padding-bottom 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-slideout-panel-dropdown .items::-webkit-scrollbar{display:none}.duet-slideout-panel-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-out, padding-bottom 0.3s ease-out}.duet-slideout-panel-dropdown.duet-theme-turva 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(23, 28, 58)}.duet-slideout-panel-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel-dropdown.duet-theme-turva button.active .label::after{background:rgb(198, 12, 48)}slot{--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:400;color:rgb(0, 41, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}slot[name=label]{font-size:1rem;font-weight:600}";
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
- import { F as FocusGuard } from './focus-utils-d6fb240b.js';
6
+ import { F as FocusGuard } from './focus-utils-2a29f64e.js';
7
7
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-00ca4c55.js';
8
- import { g as getColorByName } from './token-utils-84d66351.js';
8
+ import { g as getColorByName } from './token-utils-ece867a8.js';
9
9
  import './string-utils-ca039233.js';
10
- import './tokens.module-16569707.js';
10
+ import './tokens.module-7a2f9c49.js';
11
11
 
12
12
  const duetSlideoutPanelCss = "*,*::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;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 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:1.5rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1.25rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.5rem;font-weight:800}.duet-slideout-panel .link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;left:0;z-index:600;width:100%;height:100%;overflow-y:auto;visibility:visible}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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;line-height:1.5;color:rgb(0, 41, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1rem 16px;overflow-y:auto;color:rgb(0, 41, 77)}.duet-slideout-panel.duet-theme-turva .link{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-slideout-panel.duet-theme-turva .link:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .top .back:focus,.duet-slideout-panel.duet-theme-turva .top .close:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout-panel.duet-theme-turva .top span{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)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(0, 41, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}";
13
13
 
@@ -1,18 +1,19 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { d as disableBodyScroll, e as enableBodyScroll } from './bodyScrollLock.es6-8dc7cca7.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
- import { F as FocusGuard } from './focus-utils-d6fb240b.js';
7
+ import { h as hasSlot } from './slot-query-022710bb.js';
8
+ import { f as focusElement, F as FocusGuard } from './focus-utils-2a29f64e.js';
8
9
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
9
10
  import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-00ca4c55.js';
10
- import { T as Teleport } from './teleport-691e534d.js';
11
- import { g as getColorByName } from './token-utils-84d66351.js';
11
+ import { T as Teleport } from './teleport-d66d62e4.js';
12
+ import { g as getColorByName } from './token-utils-ece867a8.js';
12
13
  import './string-utils-ca039233.js';
13
- import './tokens.module-16569707.js';
14
+ import './tokens.module-7a2f9c49.js';
14
15
 
15
- const duetSlideoutCss = "*,*::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;position:absolute;height:100%}::slotted(*){position:relative;width:100%;visibility:hidden;opacity:0}:host([open]) ::slotted(*){visibility:visible;opacity:1}:host(:not([open])) ::slotted(duet-slideout-panel){display:none}.duet-slideout{display:flex;align-items:center;height:100%}.duet-slideout .desktop-bg{display:none}@media (min-width: 62em){.duet-slideout .desktop-bg{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgba(0, 41, 77, 0.6);opacity:0;transition:600ms ease}.duet-slideout .desktop-bg:not(.hidden){visibility:visible;opacity:1;transition:600ms ease}}@media (min-width: 62em){.duet-slideout.duet-theme-turva .desktop-bg{background:rgba(23, 28, 58, 0.6)}}.duet-slideout .dialog{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){.duet-slideout .dialog{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}.duet-slideout .dialog .top{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}.duet-slideout .dialog .top button{cursor:pointer}.duet-slideout .dialog .top button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}.duet-slideout .dialog.hidden{pointer-events:none;visibility:hidden}@media (min-width: 62em){.duet-slideout .dialog.hidden{right:-500px;transition:300ms ease}}.duet-slideout.duet-theme-turva .dialog{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}.duet-slideout.duet-theme-turva 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(23, 28, 58)}.duet-slideout.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva .dialog .top button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}slot{color:rgb(0, 41, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}";
16
+ const duetSlideoutCss = "*,*::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;position:absolute;height:100%}::slotted(*){position:relative;width:100%;visibility:hidden;opacity:0}:host([open]) ::slotted(*){visibility:visible;opacity:1}:host(:not([open])) ::slotted(duet-slideout-panel){display:none}.duet-slideout{display:flex;align-items:center;height:100%;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.5;color:rgb(0, 41, 77)}.duet-slideout.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)}.duet-slideout .desktop-bg{display:none}@media (min-width: 62em){.duet-slideout .desktop-bg{position:fixed;top:0;left:0;z-index:400;display:block;width:100%;height:100%;visibility:hidden;background:rgba(0, 41, 77, 0.6);opacity:0;transition:600ms ease}.duet-slideout .desktop-bg:not(.hidden){visibility:visible;opacity:1;transition:600ms ease}}@media (min-width: 62em){.duet-slideout.duet-theme-turva .desktop-bg{background:rgba(23, 28, 58, 0.6)}}.duet-slideout .dialog{position:fixed;top:0;bottom:0;left:0;z-index:400;width:100%;height:100%;padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset}@media (min-width: 62em){.duet-slideout .dialog{right:0;left:auto;width:500px;padding-bottom:0;transition:right 300ms ease;transition-delay:0s}}.duet-slideout .dialog .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout .dialog .top-container.has-sticky-header-slot .top{background:rgb(243, 249, 252)}.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header{display:block}.duet-slideout .dialog .top{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px}.duet-slideout .dialog .top button{cursor:pointer}.duet-slideout .dialog .top button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(243, 249, 252);border-bottom:1px solid rgb(225, 227, 230)}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:0 1.5rem}.duet-slideout .dialog.hidden{pointer-events:none;visibility:hidden}@media (min-width: 62em){.duet-slideout .dialog.hidden{right:-500px;transition:300ms ease}}.duet-slideout.duet-theme-turva .dialog{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}.duet-slideout.duet-theme-turva 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(23, 28, 58)}.duet-slideout.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-slideout.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva .has-sticky-header-slot .top{background:rgb(245, 245, 247)}.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}.duet-slideout.duet-theme-turva .dialog .top button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}slot{color:rgb(0, 41, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}";
16
17
 
17
18
  const DuetSlideout = class {
18
19
  constructor(hostRef) {
@@ -29,6 +30,7 @@ const DuetSlideout = class {
29
30
  sv: "Stäng den här menyn för att hitta objekt på toppnivå",
30
31
  };
31
32
  this.isSafariBrowser = /^((?!chrome|android).)*safari/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
33
+ this.hasStickyHeaderSlot = false;
32
34
  this.handleBodyScrolling = () => {
33
35
  if (this.displaying && this.open) {
34
36
  disableBodyScroll(this.dialog, { reserveScrollBarGap: true });
@@ -37,6 +39,23 @@ const DuetSlideout = class {
37
39
  enableBodyScroll(this.dialog);
38
40
  }
39
41
  };
42
+ this.setOpenButton = (element) => {
43
+ if (!element) {
44
+ return;
45
+ }
46
+ try {
47
+ const button = element;
48
+ button.accessiblePopup = "true";
49
+ button.accessibleExpanded = false;
50
+ this.openButton = button;
51
+ }
52
+ catch (_e) { }
53
+ };
54
+ this.openButtonEventListener = (e) => {
55
+ e.stopPropagation();
56
+ e.preventDefault();
57
+ this.onClick(e);
58
+ };
40
59
  this.getOpenPanel = () => {
41
60
  return this.element.querySelector("duet-slideout-panel[open]");
42
61
  };
@@ -66,8 +85,7 @@ const DuetSlideout = class {
66
85
  }
67
86
  else {
68
87
  setTimeout(() => {
69
- var _a;
70
- (_a = this.openButton) === null || _a === void 0 ? void 0 : _a.setFocus();
88
+ focusElement(this.openButton);
71
89
  this.handleBodyScrolling();
72
90
  this.teleport.resume();
73
91
  }, 200);
@@ -85,83 +103,42 @@ const DuetSlideout = class {
85
103
  this.displaying = false;
86
104
  this.openPanel = false;
87
105
  this.theme = "";
106
+ this.accessibleRole = "menubar";
88
107
  this.open = false;
89
108
  this.opener = undefined;
90
109
  this.backgroundColor = "gray-lightest";
91
110
  }
92
- /**
93
- * Toggles the slideout.
94
- */
95
- async toggle() {
96
- const event = new CustomEvent("toggle");
97
- this.toggleMenu(event);
98
- setTimeout(() => {
99
- this.closeButton.focus();
100
- }, 200);
101
- }
102
- /**
103
- * Shows the slideout. Additionally saves the element (DuetButton or DuetMenuBarButton) that triggered
104
- * the slideout so that focus can be moved back to this specific element when
105
- * the slideout dialog is closed.
106
- */
107
- async show() {
108
- if (this.open) {
109
- return;
110
- }
111
- const button = document.activeElement;
112
- if (button) {
113
- button.accessiblePopup = "true";
114
- this.openButton = button;
115
- }
116
- this.toggleMenu(new CustomEvent("toggle"));
117
- }
118
- /**
119
- * Hides the slideout dialog and puts focus back to the original element
120
- * that triggered the slideout (if we’re still in the same view).
121
- */
122
- async hide() {
123
- if (!this.open) {
124
- return;
125
- }
126
- this.toggleMenu(new CustomEvent("toggle"));
127
- }
128
111
  /**
129
112
  * Component lifecycle events.
130
113
  */
131
114
  componentWillLoad() {
132
115
  inheritGlobalTheme(this);
133
- const button = this.opener && document.getElementById(this.opener);
134
- if (button) {
135
- button.accessiblePopup = "true";
136
- button.accessibleExpanded = false;
137
- button.addEventListener("click", e => {
138
- e.stopPropagation();
139
- e.preventDefault();
140
- this.openButton = button;
141
- this.onClick(e);
142
- });
143
- }
116
+ this.hasStickyHeaderSlot = hasSlot(this.element, "sticky-header");
144
117
  this.teleport = new Teleport(this.element);
145
118
  }
146
- async componentDidLoad() {
147
- this.intersectionObserver = new IntersectionObserver(entries => {
148
- if (entries[0].isIntersecting) {
149
- this.displaying = true;
150
- }
151
- else {
152
- this.displaying = false;
153
- }
154
- this.handleBodyScrolling();
155
- });
156
- this.intersectionObserver.observe(this.dialog);
157
- }
158
119
  connectedCallback() {
159
120
  connectLanguageChangeObserver(this);
121
+ if (this.opener) {
122
+ this.setOpenButton(document.getElementById(this.opener));
123
+ this.openButton.addEventListener("click", this.openButtonEventListener);
124
+ }
160
125
  this.mutationObserver = new MutationObserver(() => {
161
126
  this.openPanel = !!this.getOpenPanel();
162
127
  });
163
128
  this.mutationObserver.observe(this.element, { childList: true, attributeFilter: ["open"], subtree: true });
164
129
  }
130
+ componentDidRender() {
131
+ // intersection observer is here to observe when the dialog is actually visible and when its not
132
+ if (this.intersectionObserver) {
133
+ this.intersectionObserver.disconnect();
134
+ }
135
+ this.intersectionObserver = new IntersectionObserver(entries => {
136
+ this.displaying = entries[0].isIntersecting;
137
+ this.handleBodyScrolling();
138
+ });
139
+ // this.dialog can't be observed before rendering because its not available yet
140
+ this.intersectionObserver.observe(this.dialog);
141
+ }
165
142
  disconnectedCallback() {
166
143
  disconnectLanguageChangeObserver(this);
167
144
  enableBodyScroll(this.dialog);
@@ -171,6 +148,9 @@ const DuetSlideout = class {
171
148
  if (this.mutationObserver) {
172
149
  this.mutationObserver.disconnect();
173
150
  }
151
+ if (this.openButton) {
152
+ this.openButton.removeEventListener("click", this.openButtonEventListener);
153
+ }
174
154
  }
175
155
  /**
176
156
  * Component event handling.
@@ -190,6 +170,38 @@ const DuetSlideout = class {
190
170
  var _a;
191
171
  (_a = this.openButton) === null || _a === void 0 ? void 0 : _a.focus(options);
192
172
  }
173
+ /**
174
+ * Toggles the slideout.
175
+ */
176
+ async toggle() {
177
+ const event = new CustomEvent("toggle");
178
+ this.toggleMenu(event);
179
+ setTimeout(() => {
180
+ this.closeButton.focus();
181
+ }, 200);
182
+ }
183
+ /**
184
+ * Shows the slideout. Additionally saves the element (DuetButton or DuetMenuBarButton) that triggered
185
+ * the slideout so that focus can be moved back to this specific element when
186
+ * the slideout dialog is closed.
187
+ */
188
+ async show() {
189
+ if (this.open) {
190
+ return;
191
+ }
192
+ this.setOpenButton(document.activeElement);
193
+ this.toggleMenu(new CustomEvent("toggle"));
194
+ }
195
+ /**
196
+ * Hides the slideout dialog and puts focus back to the original element
197
+ * that triggered the slideout (if we’re still in the same view).
198
+ */
199
+ async hide() {
200
+ if (!this.open) {
201
+ return;
202
+ }
203
+ this.toggleMenu(new CustomEvent("toggle"));
204
+ }
193
205
  /**
194
206
  * render() function
195
207
  * Always the last one in the class.
@@ -203,13 +215,13 @@ const DuetSlideout = class {
203
215
  return (h(Host, null, h("div", { class: { "duet-slideout": true, "duet-theme-turva": this.theme === "turva" } }, h("div", { class: {
204
216
  "desktop-bg": true,
205
217
  hidden: !this.open,
206
- }, onClick: this.bgOnClick }), h("div", { ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "menubar", class: {
218
+ }, onClick: this.bgOnClick }), h("div", { ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "slot-container", class: {
207
219
  dialog: true,
208
220
  hidden: !this.open,
209
- }, style: styles }, h(FocusGuard, { moveFocusTo: this.closeButton }), h("div", { class: "top" }, h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
221
+ }, style: styles }, h(FocusGuard, { moveFocusTo: this.closeButton }), h("div", { class: { "top-container": true, "has-sticky-header-slot": this.hasStickyHeaderSlot } }, h("div", { class: "top" }, h("button", { ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
210
222
  "slideout-close": true,
211
223
  active: this.open,
212
- }, onClick: this.onClick, inert: this.openPanel }, h("duet-icon", { name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), h("div", { id: "menubar", role: "menubar", "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
224
+ }, onClick: this.onClick, inert: this.openPanel }, h("duet-icon", { name: "navigation-close", size: "small", margin: "none", color: "secondary" }))), h("div", { class: "sticky-header" }, h("slot", { name: "sticky-header" }))), h("div", { id: "slot-container", role: this.accessibleRole, "aria-label": this.openPanel ? topLevelOpenMenuBarTranslation : null, class: {
213
225
  items: true,
214
226
  } }, h("slot", null)), h(FocusGuard, { moveFocusTo: this.closeButton })))));
215
227
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { i as isKeyboardClick, s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-eba88365.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
5
- import { a as media_query_large } from './tokens-5a0d14c7.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
+ import { a as media_query_large } from './tokens-04106a43.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
7
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
8
8
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
5
- import { a as media_query_large } from './tokens-5a0d14c7.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
+ import { a as media_query_large } from './tokens-04106a43.js';
6
6
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
7
7
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
8
8
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
5
- import { a as media_query_large } from './tokens-5a0d14c7.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
+ import { a as media_query_large } from './tokens-04106a43.js';
6
6
  import { e as enableBodyScroll, d as disableBodyScroll } from './bodyScrollLock.es6-8dc7cca7.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
8
8
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { c as cleanValue } from './input-utils-85681162.js';
@@ -106,6 +106,8 @@ const DuetTextarea = class {
106
106
  this.identifier = undefined;
107
107
  this.required = false;
108
108
  this.label = "label";
109
+ this.labelColor = undefined;
110
+ this.labelWeight = undefined;
109
111
  this.labelHidden = false;
110
112
  this.name = undefined;
111
113
  this.placeholder = undefined;
@@ -165,7 +167,7 @@ const DuetTextarea = class {
165
167
  "duet-label-hidden": this.labelHidden,
166
168
  "duet-input-top-caption-shown": this.isCaptionVisible,
167
169
  "has-error": !!this.error,
168
- } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))), this.counter && (h("duet-visually-hidden", { class: "duet-visually-hidden", id: this.characterCountId, ref: el => {
170
+ } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))), this.counter && (h("duet-visually-hidden", { class: "duet-visually-hidden", id: this.characterCountId, ref: el => {
169
171
  this.hiddenCounterLabel = el;
170
172
  } })))));
171
173
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { c as createID } from './create-id-149a1b6d.js';
7
7
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-eba88365.js';
@@ -34,6 +34,8 @@ const DuetToggle = class {
34
34
  this.accessibleLabelledBy = undefined;
35
35
  this.accessibleDescription = undefined;
36
36
  this.label = "label";
37
+ this.labelColor = undefined;
38
+ this.labelWeight = undefined;
37
39
  this.labelPosition = "top";
38
40
  this.required = false;
39
41
  this.disabled = false;
@@ -83,7 +85,7 @@ const DuetToggle = class {
83
85
  "duet-theme-turva": this.theme === "turva",
84
86
  "duet-side-label": this.labelPosition !== "top",
85
87
  "duet-reverse-label": this.labelPosition === "right",
86
- } }, h("duet-label", { theme: this.theme, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), h("label", { class: "duet-switch", htmlFor: identifier }, h("input", { type: "checkbox", value: this.value, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, id: identifier, role: this.role, name: this.name, checked: this.checked, required: this.required, disabled: this.disabled, ref: input => (this.nativeInput = input) }), h("div", { class: "duet-slider" })))));
88
+ } }, h("duet-label", { theme: this.theme, color: this.labelColor, weight: this.labelWeight, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), h("label", { class: "duet-switch", htmlFor: identifier }, h("input", { type: "checkbox", value: this.value, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, id: identifier, role: this.role, name: this.name, checked: this.checked, required: this.required, disabled: this.disabled, ref: input => (this.nativeInput = input) }), h("div", { class: "duet-slider" })))));
87
89
  }
88
90
  get element() { return getElement(this); }
89
91
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { f as isEscapeKey } from './keyboard-utils-eba88365.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetToolbarLinkCss = "*,*::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;height:100%}.duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;white-space:nowrap}.duet-toolbar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-toolbar-link:focus,.duet-toolbar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-toolbar-link.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.negative duet-icon{color:rgb(205, 229, 241)}.duet-toolbar-link.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)}.duet-toolbar-link.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva.negative duet-icon{color:rgb(244, 207, 214)}.duet-toolbar-link:hover{color:rgb(0, 41, 77);background:rgb(243, 249, 252)}.duet-toolbar-link:hover.negative{color:rgb(255, 255, 255);background:rgba(0, 41, 77, 0.2)}.duet-toolbar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}.duet-toolbar-link:hover.duet-theme-turva.negative{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-link.active{color:rgb(0, 41, 77)}.duet-toolbar-link.active.negative{font-weight:600;color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}.duet-toolbar-link.active.negative::after{display:none}.duet-toolbar-link.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-toolbar-link.active::after.duet-theme-turva{background:rgb(198, 12, 48)}.duet-toolbar-link.active.duet-theme-turva{color:rgb(23, 28, 58)}.duet-toolbar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}.duet-toolbar-link.active.duet-theme-turva.negative{color:rgb(255, 255, 255);background:rgba(23, 28, 58, 0.2)}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
 
7
7
  const duetToolbarCss = "*,*::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%}.duet-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.negative{background:rgb(0, 119, 179)}.duet-toolbar.negative .container{border-bottom:0}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(228, 228, 230)}.duet-toolbar.duet-theme-turva.negative{background:rgb(198, 12, 48)}.duet-toolbar.duet-theme-turva.negative .container{border-bottom:0}";
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-5f1c2664.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-909a963e.js';
5
5
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
6
6
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-eba88365.js';
7
- import { F as FocusGuard } from './focus-utils-d6fb240b.js';
8
- import { T as Teleport } from './teleport-691e534d.js';
7
+ import { F as FocusGuard } from './focus-utils-2a29f64e.js';
8
+ import { T as Teleport } from './teleport-d66d62e4.js';
9
9
 
10
10
  const duetTooltipButtonCss = "*,*::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}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:rgb(198, 12, 48)}.duet-tooltip-button:hover{color:rgb(0, 77, 128)}.duet-tooltip-button:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !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:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}";
11
11
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-5f1c2664.js';
5
- import { m as media_query_medium, a as media_query_large } from './tokens-5a0d14c7.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-909a963e.js';
5
+ import { m as media_query_medium, a as media_query_large } from './tokens-04106a43.js';
6
6
  import { c as computePosition, f as flip, s as shift, a as arrow } from './floating-ui.dom.esm-efad5c89.js';
7
7
  import { i as inheritGlobalTheme } from './themeable-component-724c0f7e.js';
8
8
  import { c as createID } from './create-id-149a1b6d.js';
@@ -23,6 +23,11 @@ const DuetTooltip = class {
23
23
  window.matchMedia(media_query_large.replace(/'/g, "")),
24
24
  ];
25
25
  this.tooltipId = createID("DuetTooltip");
26
+ this.aboutString = {
27
+ fi: "aiheesta",
28
+ en: "about",
29
+ sv: "om",
30
+ };
26
31
  /**
27
32
  * Local methods
28
33
  */
@@ -81,6 +86,7 @@ const DuetTooltip = class {
81
86
  sv: "Visa mer tilläggsuppgifter",
82
87
  };
83
88
  this.accessibleLabel = getLocaleString(this.accessibleLabelDefault, this.language);
89
+ this.accessibleAboutLabel = undefined;
84
90
  this.accessibleInputLabel = undefined;
85
91
  this.accessibleCloseLabelDefault = {
86
92
  fi: "Sulje lisätiedot",
@@ -203,7 +209,10 @@ const DuetTooltip = class {
203
209
  top: this.arrowY ? `${this.arrowY}px` : undefined,
204
210
  left: this.arrowX ? `${this.arrowX}px` : undefined,
205
211
  };
206
- return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.active, tooltipId: this.tooltipId, label: this.label, accessibleLabel: this.accessibleInputLabel ? `${this.accessibleInputLabel}, ${this.accessibleLabel}` : this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme }), h("div", { style: popupContainerStyles }, h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null)))));
212
+ return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.active, tooltipId: this.tooltipId, label: this.label, accessibleLabel: (this.accessibleInputLabel && `${this.accessibleInputLabel}, ${this.accessibleLabel}`) ||
213
+ (this.accessibleAboutLabel &&
214
+ `${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`) ||
215
+ this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme }), h("div", { style: popupContainerStyles }, h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null)))));
207
216
  }
208
217
  get element() { return getElement(this); }
209
218
  static get watchers() { return {