@duetds/components 10.6.0 → 10.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/hydrate/index.js +557 -271
  2. package/hydrate/index.mjs +557 -271
  3. package/lib/cjs/{a11y-utils-CgWjS7yq.js → a11y-utils-DZ42p33K.js} +1 -1
  4. package/lib/cjs/{app-globals-D68ciWsb.js → app-globals-DiBfle2l.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +6 -6
  8. package/lib/cjs/duet-banner.cjs.entry.js +8 -8
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +10 -10
  14. package/lib/cjs/duet-card.cjs.entry.js +10 -9
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +3 -3
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +16 -7
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +32 -25
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +8 -7
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +17 -13
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -8
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +12 -8
  31. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  32. package/lib/cjs/duet-hero.cjs.entry.js +18 -13
  33. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  34. package/lib/cjs/duet-indicator.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-input_2.cjs.entry.js +33 -19
  36. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-list_2.cjs.entry.js +4 -4
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
  44. package/lib/cjs/duet-modal.cjs.entry.js +12 -13
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +10 -10
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +8 -8
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +6 -6
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -16
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +13 -5
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +22 -13
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +8 -8
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
  70. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-teaser.cjs.entry.js +110 -0
  79. package/lib/cjs/duet-textarea.cjs.entry.js +20 -11
  80. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  81. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  82. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  83. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  84. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  86. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +10 -10
  87. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  89. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  90. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  91. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  92. package/lib/cjs/duet.cjs.js +3 -3
  93. package/lib/cjs/{errorcodes.utils-C0tQ3k6Z.js → errorcodes.utils-MdC-C1Fa.js} +1 -1
  94. package/lib/cjs/{floating-ui.dom.browser.min-Cj0r5YDz.js → floating-ui.dom.browser.min-DaH62q3u.js} +83 -0
  95. package/lib/cjs/{focus-utils-tCoGOO7d.js → focus-utils-KpSp5WDp.js} +1 -1
  96. package/lib/cjs/{index-BeiMjjVl.js → index-BP4tQozH.js} +5 -1
  97. package/lib/cjs/{label-Cu4DNShe.js → label-CjvqwyJR.js} +1 -1
  98. package/lib/cjs/{language-utils-B3NubUDr.js → language-utils-BCJyRc_q.js} +1 -1
  99. package/lib/cjs/loader.cjs.js +3 -3
  100. package/lib/cjs/{picture-utils-D_HVgfq5.js → picture-utils-Dp6TiDHy.js} +7 -2
  101. package/lib/cjs/{slot-utils-Dny6EJ_G.js → slot-utils-DvtoWHAA.js} +1 -1
  102. package/lib/cjs/{themeable-component-Csdvrnsd.js → themeable-component-BXqwFhg-.js} +1 -1
  103. package/lib/collection/collection-manifest.json +1 -0
  104. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  105. package/lib/collection/components/duet-banner/duet-banner.js +23 -4
  106. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  107. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  108. package/lib/collection/components/duet-button/duet-button.css +3 -0
  109. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  110. package/lib/collection/components/duet-card/duet-card.css +13 -9
  111. package/lib/collection/components/duet-card/duet-card.js +24 -4
  112. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  113. package/lib/collection/components/duet-choice-group/duet-choice-group.js +12 -3
  114. package/lib/collection/components/duet-combobox/duet-combobox-select.js +1 -1
  115. package/lib/collection/components/duet-combobox/duet-combobox.js +30 -24
  116. package/lib/collection/components/duet-contact-card/duet-contact-card.js +23 -3
  117. package/lib/collection/components/duet-date-picker/date-picker-day.js +1 -1
  118. package/lib/collection/components/duet-date-picker/duet-date-picker.js +34 -7
  119. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  120. package/lib/collection/components/duet-grid/duet-grid.css +22 -0
  121. package/lib/collection/components/duet-grid/duet-grid.js +14 -5
  122. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  123. package/lib/collection/components/duet-hero/duet-hero.css +149 -136
  124. package/lib/collection/components/duet-hero/duet-hero.js +32 -7
  125. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  126. package/lib/collection/components/duet-input/duet-input.css +31 -0
  127. package/lib/collection/components/duet-input/duet-input.js +48 -14
  128. package/lib/collection/components/duet-link/duet-link.css +16 -0
  129. package/lib/collection/components/duet-link/duet-link.js +2 -2
  130. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  131. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  132. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  133. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  134. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  135. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  136. package/lib/collection/components/duet-modal/duet-modal.css +8 -1
  137. package/lib/collection/components/duet-modal/duet-modal.js +6 -7
  138. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  139. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  140. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  141. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  142. package/lib/collection/components/duet-number-input/duet-number-input.js +23 -4
  143. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  144. package/lib/collection/components/duet-page-heading/duet-page-heading.js +3 -3
  145. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  146. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  147. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  148. package/lib/collection/components/duet-phone-input/duet-phone-input.js +9 -1
  149. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -4
  150. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +2 -0
  151. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  152. package/lib/collection/components/duet-promo-card/duet-promo-card.js +23 -4
  153. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  154. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  155. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  156. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  157. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  158. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  159. package/lib/collection/components/duet-select/duet-select.js +5 -5
  160. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  161. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  162. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  163. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  164. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  165. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  166. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  167. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  168. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  169. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  170. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  171. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  172. package/lib/collection/components/duet-step/duet-step.js +2 -2
  173. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  174. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  175. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  176. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  177. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  178. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  179. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  180. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  181. package/lib/collection/components/duet-table/duet-table.js +2 -2
  182. package/lib/collection/components/duet-teaser/duet-teaser.css +127 -0
  183. package/lib/collection/components/duet-teaser/duet-teaser.js +462 -0
  184. package/lib/collection/components/duet-textarea/duet-textarea.css +8 -0
  185. package/lib/collection/components/duet-textarea/duet-textarea.js +35 -6
  186. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  187. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  188. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  189. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  190. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  191. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  192. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +6 -0
  193. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  194. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  195. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  196. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  197. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  198. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  199. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  200. package/lib/collection/utils/picture-utils.js +6 -1
  201. package/lib/duet/duet.esm.js +1 -1
  202. package/lib/duet/p-01a6e993.entry.js +4 -0
  203. package/lib/duet/{p-4e1c2676.entry.js → p-0476dabc.entry.js} +1 -1
  204. package/lib/duet/p-06e879d2.entry.js +4 -0
  205. package/lib/duet/p-0f433f55.entry.js +4 -0
  206. package/lib/duet/{p-1d7a9425.entry.js → p-126b3fd0.entry.js} +1 -1
  207. package/lib/duet/{p-c54ecb23.entry.js → p-1566e2ec.entry.js} +1 -1
  208. package/lib/duet/{p-4e5532c8.entry.js → p-1956dd8e.entry.js} +1 -1
  209. package/lib/duet/{p-20c8226c.entry.js → p-1db9e784.entry.js} +1 -1
  210. package/lib/duet/{p-6ce82324.entry.js → p-1deed1aa.entry.js} +1 -1
  211. package/lib/duet/{p-3b9d7f6a.entry.js → p-27894857.entry.js} +1 -1
  212. package/lib/duet/{p-4a041c60.entry.js → p-2c2e7c9b.entry.js} +1 -1
  213. package/lib/duet/{p-ee369233.entry.js → p-2c465a03.entry.js} +1 -1
  214. package/lib/duet/p-2d780739.entry.js +4 -0
  215. package/lib/duet/{p-4b07ce36.entry.js → p-2f092aed.entry.js} +1 -1
  216. package/lib/duet/p-304af2e5.entry.js +4 -0
  217. package/lib/duet/{p-6a11ba26.entry.js → p-34d16cbb.entry.js} +1 -1
  218. package/lib/duet/p-34ec25cb.entry.js +4 -0
  219. package/lib/duet/{p-f4de7ac0.entry.js → p-37d5a3c5.entry.js} +1 -1
  220. package/lib/duet/{p-2e44c6b8.entry.js → p-3932a89b.entry.js} +1 -1
  221. package/lib/duet/{p-46287d85.entry.js → p-3c8d76e2.entry.js} +1 -1
  222. package/lib/duet/{p-8fbcea55.entry.js → p-3d454072.entry.js} +1 -1
  223. package/lib/duet/{p-aa1256f9.entry.js → p-3e66035d.entry.js} +1 -1
  224. package/lib/duet/{p-83dcbb64.entry.js → p-471d4d75.entry.js} +1 -1
  225. package/lib/duet/{p-f4538e9d.entry.js → p-4ddf8009.entry.js} +1 -1
  226. package/lib/duet/{p-4acdc586.entry.js → p-5044e0ed.entry.js} +1 -1
  227. package/lib/duet/{p-304a9a55.entry.js → p-5103d5f4.entry.js} +1 -1
  228. package/lib/duet/{p-3533d6ee.entry.js → p-51693a7c.entry.js} +1 -1
  229. package/lib/duet/{p-f297f8f2.entry.js → p-54bfe081.entry.js} +1 -1
  230. package/lib/duet/p-588e75cd.entry.js +4 -0
  231. package/lib/duet/{p-174935bc.entry.js → p-5d70e259.entry.js} +1 -1
  232. package/lib/duet/p-618cfeef.entry.js +4 -0
  233. package/lib/duet/{p-12d7fdf6.entry.js → p-6449b1cc.entry.js} +1 -1
  234. package/lib/duet/{p-e442943d.entry.js → p-6502a274.entry.js} +1 -1
  235. package/lib/duet/p-69a72f22.entry.js +4 -0
  236. package/lib/duet/{p-512d18c8.entry.js → p-6e4536e3.entry.js} +1 -1
  237. package/lib/duet/{p-fdc4a97c.entry.js → p-6ed52261.entry.js} +1 -1
  238. package/lib/duet/{p-ac4fc44c.entry.js → p-712adcec.entry.js} +1 -1
  239. package/lib/duet/{p-4cee693b.entry.js → p-79afa773.entry.js} +1 -1
  240. package/lib/duet/p-7d61dc62.entry.js +4 -0
  241. package/lib/duet/p-7f9de2a6.entry.js +4 -0
  242. package/lib/duet/{p-e40d9c21.entry.js → p-870d3c78.entry.js} +1 -1
  243. package/lib/duet/{p-ae382e2e.entry.js → p-88bf42dc.entry.js} +1 -1
  244. package/lib/duet/{p-8927ccc1.entry.js → p-88e65283.entry.js} +1 -1
  245. package/lib/duet/{p-bc41d13d.entry.js → p-8aaf283d.entry.js} +1 -1
  246. package/lib/duet/p-8d939074.entry.js +4 -0
  247. package/lib/duet/{p-a01f3141.entry.js → p-908fca79.entry.js} +1 -1
  248. package/lib/duet/{p-9b2731b9.entry.js → p-93080f2d.entry.js} +1 -1
  249. package/lib/duet/{p-407d4e5a.entry.js → p-94d057ea.entry.js} +1 -1
  250. package/lib/duet/{p-84f8bee8.entry.js → p-99367980.entry.js} +1 -1
  251. package/lib/duet/{p-f30c3cfe.entry.js → p-9a248faf.entry.js} +1 -1
  252. package/lib/duet/p-9d405b35.entry.js +4 -0
  253. package/lib/duet/{p-30d8a1e4.entry.js → p-9ed154f5.entry.js} +1 -1
  254. package/lib/duet/{p-DI7IXBXp.js → p-B1GzOTNZ.js} +1 -1
  255. package/lib/duet/p-BQTM1aqo.js +4 -0
  256. package/lib/duet/{p-D3450NfA.js → p-CdcBxXLd.js} +1 -1
  257. package/lib/duet/{p-KbNgo0QF.js → p-CirNV9Vh.js} +1 -1
  258. package/lib/duet/{p-D9N9LBeD.js → p-Cj9zQLn2.js} +1 -1
  259. package/lib/duet/{p-JFwTD5kM.js → p-D3ladndz.js} +1 -1
  260. package/lib/duet/p-D4pJQwPW.js +4 -0
  261. package/lib/duet/p-Dbe-q7B5.js +4 -0
  262. package/lib/duet/{p-BDgGHTHh.js → p-DmLE9-rw.js} +1 -1
  263. package/lib/duet/{p-CcoGR9T9.js → p-DoEOuTZj.js} +1 -1
  264. package/lib/duet/{p-61abccd4.entry.js → p-a2514ad4.entry.js} +1 -1
  265. package/lib/duet/{p-0e10e36b.entry.js → p-a4a3febe.entry.js} +1 -1
  266. package/lib/duet/p-a517cdce.entry.js +4 -0
  267. package/lib/duet/{p-374b48f6.entry.js → p-a70bb08d.entry.js} +1 -1
  268. package/lib/duet/{p-d72dee5d.entry.js → p-aa2c3e0a.entry.js} +1 -1
  269. package/lib/duet/{p-95bb2a8d.entry.js → p-af7b2954.entry.js} +1 -1
  270. package/lib/duet/{p-9c41f1d5.entry.js → p-b37d4985.entry.js} +1 -1
  271. package/lib/duet/p-b4cf5f14.entry.js +4 -0
  272. package/lib/duet/{p-d7abb7fa.entry.js → p-b6233e75.entry.js} +1 -1
  273. package/lib/duet/{p-555e0c78.entry.js → p-b97098a6.entry.js} +1 -1
  274. package/lib/duet/{p-f8d640ba.entry.js → p-bd0263e4.entry.js} +1 -1
  275. package/lib/duet/{p-244bfbf9.entry.js → p-beaa4612.entry.js} +1 -1
  276. package/lib/duet/{p-264688ae.entry.js → p-c15c8dd2.entry.js} +1 -1
  277. package/lib/duet/{p-20066df8.entry.js → p-c223cd3e.entry.js} +1 -1
  278. package/lib/duet/{p-8bdcfd1f.entry.js → p-c35ae5a0.entry.js} +1 -1
  279. package/lib/duet/p-c435bb67.entry.js +4 -0
  280. package/lib/duet/{p-3def9480.entry.js → p-c6e3723f.entry.js} +1 -1
  281. package/lib/duet/{p-9b448008.entry.js → p-c7b32952.entry.js} +1 -1
  282. package/lib/duet/p-c95669be.entry.js +4 -0
  283. package/lib/duet/{p-1579bdf5.entry.js → p-c987a644.entry.js} +1 -1
  284. package/lib/duet/p-c9b8c2ba.entry.js +4 -0
  285. package/lib/duet/{p-ec1d2e0a.entry.js → p-c9bdf927.entry.js} +1 -1
  286. package/lib/duet/p-cdf0fb4c.entry.js +4 -0
  287. package/lib/duet/p-d069edf1.entry.js +4 -0
  288. package/lib/duet/p-ddafe27d.entry.js +4 -0
  289. package/lib/duet/{p-210bc161.entry.js → p-dfdec452.entry.js} +1 -1
  290. package/lib/duet/{p-829bccb7.entry.js → p-e0f729ad.entry.js} +1 -1
  291. package/lib/duet/{p-5f72134e.entry.js → p-e32af858.entry.js} +1 -1
  292. package/lib/duet/{p-5b322a86.entry.js → p-e353daaf.entry.js} +1 -1
  293. package/lib/duet/p-e5dbac7a.entry.js +4 -0
  294. package/lib/duet/p-ec2dcb1b.entry.js +4 -0
  295. package/lib/duet/{p-9889218e.entry.js → p-ed7fbc44.entry.js} +1 -1
  296. package/lib/duet/{p-914ee7ac.entry.js → p-ef6ce9dc.entry.js} +1 -1
  297. package/lib/duet/{p-fc2be136.entry.js → p-fcb9c0db.entry.js} +1 -1
  298. package/lib/duet/{p-48e77341.entry.js → p-fe821e46.entry.js} +1 -1
  299. package/lib/duet/p-qboSQpUe.js +4 -0
  300. package/lib/esm/{a11y-utils--wwGTL0T.js → a11y-utils-DbDY4hy4.js} +1 -1
  301. package/lib/esm/{app-globals-Diuuep9d.js → app-globals-COfbcvxE.js} +1 -1
  302. package/lib/esm/duet-action-button.entry.js +3 -3
  303. package/lib/esm/duet-alert.entry.js +4 -4
  304. package/lib/esm/duet-badge.entry.js +6 -6
  305. package/lib/esm/duet-banner.entry.js +8 -8
  306. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  307. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  308. package/lib/esm/duet-button_2.entry.js +5 -5
  309. package/lib/esm/duet-callout.entry.js +5 -5
  310. package/lib/esm/duet-caption_4.entry.js +10 -10
  311. package/lib/esm/duet-card.entry.js +10 -9
  312. package/lib/esm/duet-checkbox.entry.js +3 -3
  313. package/lib/esm/duet-checkmark.entry.js +4 -4
  314. package/lib/esm/duet-chip.entry.js +3 -3
  315. package/lib/esm/duet-choice_2.entry.js +16 -7
  316. package/lib/esm/duet-collapsible.entry.js +3 -3
  317. package/lib/esm/duet-combobox.entry.js +32 -25
  318. package/lib/esm/duet-contact-card.entry.js +8 -7
  319. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  320. package/lib/esm/duet-date-picker.entry.js +17 -13
  321. package/lib/esm/duet-divider_2.entry.js +3 -3
  322. package/lib/esm/duet-editable-table_3.entry.js +8 -8
  323. package/lib/esm/duet-empty-state.entry.js +2 -2
  324. package/lib/esm/duet-fieldset.entry.js +6 -6
  325. package/lib/esm/duet-file-chooser.entry.js +2 -2
  326. package/lib/esm/duet-footer.entry.js +4 -4
  327. package/lib/esm/duet-grid_2.entry.js +12 -8
  328. package/lib/esm/duet-header_2.entry.js +3 -3
  329. package/lib/esm/duet-hero.entry.js +18 -13
  330. package/lib/esm/duet-icon.entry.js +5 -5
  331. package/lib/esm/duet-indicator.entry.js +3 -3
  332. package/lib/esm/duet-input_2.entry.js +33 -19
  333. package/lib/esm/duet-layout.entry.js +2 -2
  334. package/lib/esm/duet-list_2.entry.js +4 -4
  335. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  336. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  337. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  338. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  339. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  340. package/lib/esm/duet-menu-bar.entry.js +3 -3
  341. package/lib/esm/duet-modal.entry.js +12 -13
  342. package/lib/esm/duet-multiselect.entry.js +10 -10
  343. package/lib/esm/duet-nav.entry.js +3 -3
  344. package/lib/esm/duet-notification_2.entry.js +9 -9
  345. package/lib/esm/duet-number-input.entry.js +8 -8
  346. package/lib/esm/duet-overlay.entry.js +3 -3
  347. package/lib/esm/duet-page-heading.entry.js +6 -6
  348. package/lib/esm/duet-pagination_2.entry.js +16 -16
  349. package/lib/esm/duet-panel.entry.js +4 -4
  350. package/lib/esm/duet-phone-input.entry.js +13 -5
  351. package/lib/esm/duet-popup-menu_2.entry.js +22 -13
  352. package/lib/esm/duet-progress.entry.js +3 -3
  353. package/lib/esm/duet-promo-card.entry.js +8 -8
  354. package/lib/esm/duet-radio_2.entry.js +7 -7
  355. package/lib/esm/duet-range-slider.entry.js +6 -6
  356. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  357. package/lib/esm/duet-section-layout.entry.js +4 -4
  358. package/lib/esm/duet-select.entry.js +9 -9
  359. package/lib/esm/duet-shaped-image.entry.js +4 -4
  360. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  361. package/lib/esm/duet-share-chart.entry.js +6 -6
  362. package/lib/esm/duet-show-more.entry.js +5 -5
  363. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  364. package/lib/esm/duet-slideout-link.entry.js +7 -7
  365. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  366. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  367. package/lib/esm/duet-slideout.entry.js +10 -10
  368. package/lib/esm/duet-status-icon.entry.js +3 -3
  369. package/lib/esm/duet-step_2.entry.js +6 -6
  370. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  371. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  372. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  373. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  374. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  375. package/lib/esm/duet-teaser.entry.js +108 -0
  376. package/lib/esm/duet-textarea.entry.js +20 -11
  377. package/lib/esm/duet-toggle.entry.js +8 -8
  378. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  379. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  380. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  381. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  382. package/lib/esm/duet-toolbar.entry.js +4 -4
  383. package/lib/esm/duet-tooltip-button_2.entry.js +10 -10
  384. package/lib/esm/duet-tooltip.entry.js +5 -5
  385. package/lib/esm/duet-tray.entry.js +5 -5
  386. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  387. package/lib/esm/duet-upload-item.entry.js +6 -6
  388. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  389. package/lib/esm/duet.js +4 -4
  390. package/lib/esm/{errorcodes.utils-S_WrUPeV.js → errorcodes.utils-0XnfYFAn.js} +1 -1
  391. package/lib/esm/{floating-ui.dom.browser.min-B_NkY9T0.js → floating-ui.dom.browser.min-BQTM1aqo.js} +83 -1
  392. package/lib/esm/{focus-utils-C4oaajGr.js → focus-utils-BwoMMpkj.js} +1 -1
  393. package/lib/esm/{index-D3450NfA.js → index-CdcBxXLd.js} +5 -1
  394. package/lib/esm/{label-C1HF2o4Y.js → label-D835wXCb.js} +1 -1
  395. package/lib/esm/{language-utils-D4WVl8Ph.js → language-utils-C-lpMyP9.js} +1 -1
  396. package/lib/esm/loader.js +4 -4
  397. package/lib/esm/{picture-utils-MSeJTkDk.js → picture-utils-Cl2qK3GJ.js} +7 -2
  398. package/lib/esm/{slot-utils-Dxcjtmp3.js → slot-utils-BSS0Em_Z.js} +1 -1
  399. package/lib/esm/{themeable-component-QHdUfcat.js → themeable-component-DQtSOD4i.js} +1 -1
  400. package/lib/types/components/duet-banner/duet-banner.d.ts +5 -0
  401. package/lib/types/components/duet-card/duet-card.d.ts +5 -0
  402. package/lib/types/components/duet-combobox/duet-combobox.d.ts +2 -1
  403. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +5 -0
  404. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +5 -1
  405. package/lib/types/components/duet-grid/duet-grid.d.ts +2 -1
  406. package/lib/types/components/duet-hero/duet-hero.d.ts +5 -0
  407. package/lib/types/components/duet-input/duet-input.d.ts +11 -1
  408. package/lib/types/components/duet-number-input/duet-number-input.d.ts +4 -0
  409. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +1 -0
  410. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +5 -0
  411. package/lib/types/components/duet-teaser/duet-teaser.d.ts +93 -0
  412. package/lib/types/components/duet-textarea/duet-textarea.d.ts +8 -1
  413. package/lib/types/components.d.ts +235 -12
  414. package/lib/types/utils/picture-utils.d.ts +4 -0
  415. package/package.json +5 -5
  416. package/lib/duet/p-054c334d.entry.js +0 -4
  417. package/lib/duet/p-2bf78fe4.entry.js +0 -4
  418. package/lib/duet/p-3445529c.entry.js +0 -4
  419. package/lib/duet/p-3fbe466a.entry.js +0 -4
  420. package/lib/duet/p-41230630.entry.js +0 -4
  421. package/lib/duet/p-44e53564.entry.js +0 -4
  422. package/lib/duet/p-4a251661.entry.js +0 -4
  423. package/lib/duet/p-4a4e5bb5.entry.js +0 -4
  424. package/lib/duet/p-6bd78205.entry.js +0 -4
  425. package/lib/duet/p-6c239923.entry.js +0 -4
  426. package/lib/duet/p-6d1d1199.entry.js +0 -4
  427. package/lib/duet/p-81c5d3e3.entry.js +0 -4
  428. package/lib/duet/p-985213bb.entry.js +0 -4
  429. package/lib/duet/p-BZev46O8.js +0 -4
  430. package/lib/duet/p-B_NkY9T0.js +0 -4
  431. package/lib/duet/p-CyfEm8iD.js +0 -4
  432. package/lib/duet/p-Dk60lC7n.js +0 -4
  433. package/lib/duet/p-a49b5d93.entry.js +0 -4
  434. package/lib/duet/p-a6dbe893.entry.js +0 -4
  435. package/lib/duet/p-aa7e4c81.entry.js +0 -4
  436. package/lib/duet/p-dbb9e1d4.entry.js +0 -4
  437. package/lib/duet/p-e43df9c2.entry.js +0 -4
  438. package/lib/duet/p-eb7bc989.entry.js +0 -4
  439. package/lib/duet/p-edcdf0b7.entry.js +0 -4
  440. package/lib/duet/p-f9db8670.entry.js +0 -4
  441. package/lib/duet/p-fc1a18f8.entry.js +0 -4
@@ -1,10 +1,10 @@
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-D3450NfA.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
5
  import { a as media_query_large } from './tokens-Ce9HQd35.js';
6
6
  import { e as enableBodyScroll, d as disableBodyScroll } from './bodyScrollLock.es6-B1B-PPrh.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
8
8
 
9
9
  const duetSubmenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;pointer-events:none}:host *{pointer-events:auto}:host(:not([open])) ::slotted(duet-submenu-bar-dropdown){display:none}@media (min-width: 62em){:host(:not([open])) ::slotted(duet-submenu-bar-dropdown){display:inherit}}.duet-submenu-bar{position:relative;top:0;z-index:1;background:rgb(240, 247, 250);transition:top 0.4s}.duet-submenu-bar.hidden{top:-200px}@media (min-width: 62em){.duet-submenu-bar{border-bottom:1px solid rgb(198, 225, 238)}}.duet-submenu-bar button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(8, 42, 77)}.duet-submenu-bar button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar button:focus,.duet-submenu-bar button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar button.active .caret{transform:rotate(180deg)}.duet-submenu-bar button .label{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar button{display:none}}.duet-submenu-bar .menu-container{position:absolute;z-index:399;width:100%}.duet-submenu-bar .menu-container.hidden{visibility:hidden;max-height:0;overflow:hidden}@media (min-width: 62em){.duet-submenu-bar .menu-container,.duet-submenu-bar .menu-container.hidden{position:static;z-index:auto;visibility:visible;max-height:unset;overflow:visible}}.duet-submenu-bar .items{visibility:visible;width:100%;height:70vh;overflow-y:scroll;background:rgb(240, 247, 250);border-bottom:1px solid rgb(181, 198, 208)}.duet-submenu-bar .items ::slotted(*){position:relative}.duet-submenu-bar .items.hidden{visibility:hidden;max-height:0;overflow:hidden;border-bottom:0 solid rgb(181, 198, 208)}.duet-submenu-bar .items .list-padding{padding-bottom:188px}@media (min-width: 62em){.duet-submenu-bar .items .list{display:flex;align-items:center;justify-content:space-between;height:100%}.duet-submenu-bar .items,.duet-submenu-bar .items.hidden{position:static;z-index:auto;display:flex;visibility:visible;flex-direction:row;align-items:center;justify-content:center;height:auto;max-height:unset;overflow:visible;border:0}.duet-submenu-bar .items .list-padding{display:none;padding-bottom:0}}.duet-submenu-bar.duet-theme-turva{background:rgb(253, 247, 242);border-bottom-color:rgb(251, 225, 209)}.duet-submenu-bar.duet-theme-turva .items{background:rgb(253, 247, 242)}.duet-submenu-bar.duet-theme-turva .mobile-background{background:rgb(23, 42, 59)}.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow{box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}";
10
10
 
@@ -135,19 +135,19 @@ const DuetSubmenuBar = class {
135
135
  * Always the last one in the class.
136
136
  */
137
137
  render() {
138
- return (h(Host, { key: '3ff35419759d1a9ad9b6bf47beadc27a1e9b4fd5' }, h("nav", { key: '0c4826d0281672c9c4cd38467846e87300693186', class: {
138
+ return (h(Host, { key: '816ecf621e240e3cf6a2288aab18767528ef10b0' }, h("nav", { key: 'aee92ffb8c65faaa013ddfdf10c40ec4f467030f', class: {
139
139
  "duet-submenu-bar": true,
140
140
  "duet-theme-turva": this.theme === "turva",
141
141
  hidden: this.hidden,
142
- }, "aria-label": this.accessibleLabel }, this.hasItems && (h("button", { key: '686fb5823190f88c99fb23ef6432ac1585f6ee45', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
142
+ }, "aria-label": this.accessibleLabel }, this.hasItems && (h("button", { key: 'c6d43080e7c320cfb23321f04aaf242a00d08a0d', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
143
143
  active: this.open,
144
- }, onClick: this.onClick }, h("span", { key: '5f09108a31bcd0f1ddd63396fd305151549aed05', class: "label" }, h("slot", { key: '30e775986f716fbad49c5c6d8470d2fe67e600b4', name: "label" }), h("duet-icon", { key: 'a78cf4548c27b73fcf82844dca0157dbcbf13364', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), h("div", { key: '0194dee3ce095f88700eae27ff5a99868f9078c0', class: {
144
+ }, onClick: this.onClick }, h("span", { key: '724fe14b534bb7275701c6ee57f6eba306ed21ce', class: "label" }, h("slot", { key: '1e761ff10257510e5a44b581d3c6bbae8e3fd1f2', name: "label" }), h("duet-icon", { key: 'ca72a4a98873e59b5dfd602408c05913de7b7070', theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" })))), h("div", { key: 'beed4388ee3ff813baa6c1fe93c8bfddb6c7529f', class: {
145
145
  "menu-container": true,
146
146
  hidden: !this.open,
147
- }, role: "presentation" }, h("div", { key: '8a79a253a3d22aa4f5f6d29888ce8ddc4481a495', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
147
+ }, role: "presentation" }, h("div", { key: 'e294e75a427015c1cbbde13893a39ea85f1f7835', role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
148
148
  items: true,
149
149
  hidden: !this.open,
150
- }, ref: element => (this.itemsContainer = element) }, h("div", { key: 'abd6d1c3b5be7df89c5e315dda8a2a1261616f01', class: "list", role: this.mobile ? "presentation" : "list" }, h("slot", { key: '45f3b141e48cc834563d75f322a9233fb738e673' }), h("div", { key: '81a672a413497e5e2f5889f8bad070cb7bfd01b7', class: "list-padding" }))), h("duet-overlay", { key: '6a77a27276d5fa07e17f2ca21ec0d62fa1b252f8', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
150
+ }, ref: element => (this.itemsContainer = element) }, h("div", { key: '99cf2dbeac35681c212fa459d303036f74c6e66e', class: "list", role: this.mobile ? "presentation" : "list" }, h("slot", { key: 'fb30bed27a6b2d3dc7289043e4814b5aa076e210' }), h("div", { key: '09ccbcb5e99b2579ea961dddbdda729420d0f43f', class: "list-padding" }))), h("duet-overlay", { key: 'c95ed4b5f791d6c6cab6ade6fb4269a00dc4af1d', "keep-stacking-context": true, visible: this.open, "display-device": "not-large", transition: "immediate" })))));
151
151
  }
152
152
  get element() { return getElement(this); }
153
153
  static get watchers() { return {
@@ -0,0 +1,108 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
+ import { D as DuetPicture } from './picture-utils-Cl2qK3GJ.js';
7
+ import { h as hasSlot, c as checkNamedSlotElement } from './slot-utils-BSS0Em_Z.js';
8
+ import { p as parsePossibleJSON } from './string-utils-C6E9F6QT.js';
9
+
10
+ const duetTeaserCss = "*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n display: block;\n width: auto;\n container-type: inline-size;\n}\n\n.duet-teaser {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border-radius: 16px;\n}\n.duet-teaser .image-wrap,\n.duet-teaser .icon-wrap {\n margin-bottom: 16px;\n}\n.duet-teaser .image-wrap {\n display: inline-block;\n overflow: hidden;\n border-radius: 16px;\n}\n.duet-teaser .image-wrap .duet-teaser-image {\n display: block;\n width: 100%;\n aspect-ratio: 16/10;\n object-fit: cover;\n}\n.duet-teaser .icon-wrap .duet-teaser-icon {\n display: block;\n width: 30px;\n width: 62px;\n height: 30px;\n height: 62px;\n}\n@container (width > 450px) {\n .duet-teaser .icon-wrap .duet-teaser-icon {\n width: 36px;\n width: 76px;\n height: 36px;\n height: 76px;\n }\n}\n.duet-teaser ::slotted(.teaser-heading) {\n margin: 0 0 1rem 0;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1.25;\n}\n.duet-teaser ::slotted(.teaser-heading-h5) {\n font-size: 1.25rem;\n font-weight: 600;\n line-height: 1.25;\n}\n.duet-teaser .duet-teaser-body {\n display: flex;\n flex-direction: column;\n}\n.duet-teaser .duet-teaser-body .duet-teaser-meta {\n order: -1;\n padding-top: 8px;\n}\n.duet-teaser.duet-teaser-link {\n text-decoration: none;\n}\n.duet-teaser.duet-teaser-link:focus {\n outline: 2px solid;\n outline-offset: 2px;\n outline-color: rgba(0, 119, 179, 0.8);\n}\n.duet-theme-turva .duet-teaser.duet-teaser-link:focus, .duet-teaser.duet-teaser-link:focus.duet-theme-turva {\n outline: 2px solid;\n outline-offset: 2px;\n outline-color: rgba(53, 79, 101, 0.8);\n}\n.duet-teaser.duet-teaser-link .image-wrap {\n display: inline-block;\n overflow: hidden;\n}\n.duet-teaser.duet-teaser-link .image-wrap img {\n transition: transform 300ms ease;\n}\n.duet-teaser.duet-teaser-link ::slotted(.teaser-heading) {\n color: rgb(0, 75, 129);\n}\n.duet-teaser.duet-teaser-link:hover .teaser-heading {\n color: rgb(0, 97, 155);\n}\n.duet-teaser.duet-teaser-link:hover .image-wrap img {\n transform: scale(1.1);\n transition: transform 300ms ease;\n}\n.duet-teaser.duet-teaser-link:hover ::slotted(.teaser-heading) {\n color: rgb(0, 97, 155);\n text-decoration: underline;\n}\n\n.duet-theme-turva.duet-teaser {\n font-family: \"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.duet-theme-turva.duet-teaser-link ::slotted(.teaser-heading) {\n color: rgb(140, 0, 30);\n}\n.duet-theme-turva.duet-teaser-link:hover ::slotted(.teaser-heading) {\n color: rgb(185, 3, 41);\n}";
11
+
12
+ const LONG_HEADING_LENGTH = 60;
13
+ const DuetTeaser = class {
14
+ constructor(hostRef) {
15
+ registerInstance(this, hostRef);
16
+ /**
17
+ * Theme.
18
+ */
19
+ this.theme = "";
20
+ /**
21
+ * The actual heading level used in the HTML markup.
22
+ */
23
+ this.headingLevel = "h3";
24
+ /**
25
+ * Controls the visual size of the heading. Headings longer than 60 characters
26
+ * always use "h5" visually, regardless of this setting.
27
+ */
28
+ this.headingVisualLevel = "h3";
29
+ /**
30
+ * Background color for the icon
31
+ */
32
+ this.iconBackground = "color-background-accent-secondary";
33
+ /**
34
+ * Color for the icon
35
+ */
36
+ this.iconColor = "color-foreground-accent-secondary";
37
+ /**
38
+ * Creates/updates the actual heading element as a light DOM child of the
39
+ * host, slotted into the "heading" slot.
40
+ */
41
+ this.headingSetUp = () => {
42
+ const existing = this.element.querySelector(":scope > [slot='heading']");
43
+ if (!this.heading) {
44
+ existing === null || existing === void 0 ? void 0 : existing.remove();
45
+ return;
46
+ }
47
+ const tagMatches = (existing === null || existing === void 0 ? void 0 : existing.tagName.toLowerCase()) === this.headingLevel;
48
+ const headingElement = tagMatches ? existing : document.createElement(this.headingLevel);
49
+ headingElement.slot = "heading";
50
+ headingElement.textContent = this.heading;
51
+ headingElement.className = `teaser-heading teaser-heading-${this.getHeadingVisualLevel()}`;
52
+ if (!tagMatches) {
53
+ existing === null || existing === void 0 ? void 0 : existing.remove();
54
+ this.element.appendChild(headingElement);
55
+ }
56
+ };
57
+ }
58
+ /**
59
+ * Component lifecycle events.
60
+ */
61
+ componentWillLoad() {
62
+ inheritGlobalTheme(this);
63
+ this.hasLinksSlot = hasSlot(this.element, "links");
64
+ checkNamedSlotElement(this.element, "links", "duet-link[variation=default],duet-link:not([variation]),duet-button[variation=plain]", 0, true);
65
+ }
66
+ componentDidRender() {
67
+ this.headingSetUp();
68
+ }
69
+ /**
70
+ * Sets focus on underlying a element.
71
+ * Available only when url attribute is used.
72
+ * Use this method instead of the native `focus()`.
73
+ */
74
+ async setFocus(options) {
75
+ if (this.url && this.aOrDivElement) {
76
+ this.aOrDivElement.focus(options);
77
+ }
78
+ }
79
+ getHeadingVisualLevel() {
80
+ return this.heading && this.heading.length > LONG_HEADING_LENGTH ? "h5" : this.headingVisualLevel;
81
+ }
82
+ /**
83
+ * render() function
84
+ * Always the last one of the class.
85
+ */
86
+ render() {
87
+ const TagName = this.url ? "a" : "div";
88
+ const pictureSource = {
89
+ img: {
90
+ src: this.image,
91
+ alt: this.imageAlt || "",
92
+ loading: this.imagePriority === "high" ? "eager" : "lazy",
93
+ fetchpriority: this.imagePriority,
94
+ class: "duet-teaser-image",
95
+ },
96
+ sources: parsePossibleJSON(this.sources),
97
+ };
98
+ return (h(Host, { key: '2177fb25347d6718b106ee8ae29a47da6ae543b2' }, h(TagName, { key: '4485125a5e29b14c00da4a7ff1ab55ae30ae03fd', href: this.url, class: {
99
+ "duet-teaser": true,
100
+ "duet-theme-turva": this.theme === "turva",
101
+ "duet-teaser-link": !!this.url,
102
+ }, ref: element => (this.aOrDivElement = element) }, this.image ? (h("div", { class: "image-wrap" }, h(DuetPicture, Object.assign({}, pictureSource)))) : (this.icon && (h("div", { class: "icon-wrap" }, h("duet-icon", { class: "duet-teaser-icon", shape: "brand", color: this.iconColor, background: this.iconBackground, name: this.icon, margin: "none" })))), h("div", { key: 'c1bf8197236423d2c89e927609b46bf541f2ff2c', class: "duet-teaser-body" }, this.heading && (h("div", { key: 'f217f4e9e0ef3304743f40e2fff01054ca029f70' }, h("slot", { key: '4a57d8a71a89df56fff5f1be801425a26cac3e54', name: "heading" }))), this.meta && (h("duet-paragraph", { key: 'cacaa63522817218386da1de2ef6ab41dcf7927e', class: "duet-teaser-meta", margin: "none" }, this.meta)), this.description && h("duet-paragraph", { key: '575cb467ffd41ab0a5fb5f71f8995a4a8db15d48' }, this.description), !this.url && this.hasLinksSlot && (h("duet-grid", { key: '02c90e874e6c2b45b5e43194d161b30045effd31', direction: "vertical" }, h("slot", { key: 'fd2c221a55bbb1433355d189632eaf7795576561', name: "links" })))))));
103
+ }
104
+ get element() { return getElement(this); }
105
+ };
106
+ DuetTeaser.style = duetTeaserCss;
107
+
108
+ export { DuetTeaser as duet_teaser };
@@ -1,17 +1,17 @@
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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
6
- import { D as DuetInternalLabel } from './label-C1HF2o4Y.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
+ import { D as DuetInternalLabel } from './label-D835wXCb.js';
7
7
  import { c as createID } from './create-id-Cfr_DJqU.js';
8
8
  import { c as cleanValue } from './input-utils-CLDy7YaM.js';
9
9
  import { d as debounce } from './js-utils-BlUsLmbQ.js';
10
- import { a as getLanguage, f as formatNumber } from './language-utils-D4WVl8Ph.js';
11
- import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-Dxcjtmp3.js';
10
+ import { a as getLanguage, f as formatNumber } from './language-utils-C-lpMyP9.js';
11
+ import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-BSS0Em_Z.js';
12
12
  import './string-utils-C6E9F6QT.js';
13
13
 
14
- const duetTextareaCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !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 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.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, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}duet-tooltip,::slotted(duet-tooltip){position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){position:relative;top:4px;right:auto}}.duet-textarea-container{position:relative;width:100%;height:100%}.duet-textarea-container .duet-input-top-caption{display:none}.duet-textarea-container.duet-input-top-caption-shown .duet-input-top-caption{display:flex !important}.duet-textarea-wrapper{position:relative}.duet-textarea-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);resize:vertical;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:4px}.duet-textarea:focus{outline:2px solid;outline-offset:0;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva{outline:2px solid;outline-offset:0;outline-color:rgba(53, 79, 101, 0.8)}.has-error .duet-textarea{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-textarea[rows]{min-height:auto}.duet-textarea::placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-textarea:focus::placeholder{color:rgb(181, 198, 208)}.duet-textarea[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-textarea[disabled]::placeholder{color:rgb(8, 42, 77);opacity:1 !important}.duet-textarea:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-textarea:hover:not(:disabled):not(:focus),.duet-textarea:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-textarea:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-textarea:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-textarea:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-textarea:not(:focus):not(:hover):invalid{outline:none}.duet-textarea-help{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;line-height:1.25}.duet-textarea-help span{display:block;margin-top:8px}.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-label-hidden .duet-internal-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-character-count{display:block;margin:8px 0 0 auto}.duet-theme-turva .duet-textarea{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, 42, 59);border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-textarea::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-textarea:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-textarea[disabled]::placeholder{color:rgb(23, 42, 59)}.duet-theme-turva .duet-textarea[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-textarea-help{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(120, 145, 164)}";
14
+ const duetTextareaCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !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 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.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, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}duet-tooltip,::slotted(duet-tooltip){position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){position:relative;top:4px;right:auto}}.duet-textarea-container{position:relative;width:100%;height:100%}.duet-textarea-container .duet-input-top-caption{display:none}.duet-textarea-container.duet-input-top-caption-shown .duet-input-top-caption{display:flex !important}.duet-textarea-wrapper{position:relative}.duet-textarea-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);resize:vertical;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:4px}.duet-textarea:focus{outline:2px solid;outline-offset:0;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva{outline:2px solid;outline-offset:0;outline-color:rgba(53, 79, 101, 0.8)}.has-error .duet-textarea{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-textarea[rows]{min-height:auto}.duet-textarea::placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-textarea:focus::placeholder{color:rgb(181, 198, 208)}.duet-textarea[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-textarea[disabled]::placeholder{color:rgb(8, 42, 77);opacity:1 !important}.duet-textarea[readonly]{color:rgb(62, 84, 102) !important;border-color:rgb(212, 223, 229)}.duet-textarea:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-textarea:hover:not(:disabled):not(:focus),.duet-textarea:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-textarea:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-textarea:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-textarea:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-textarea:not(:focus):not(:hover):invalid{outline:none}.duet-textarea-help{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;line-height:1.25}.duet-textarea-help span{display:block;margin-top:8px}.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-label-hidden .duet-internal-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-character-count{display:block;margin:8px 0 0 auto}.duet-theme-turva .duet-textarea{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, 42, 59);border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-textarea::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-textarea:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-textarea[disabled]::placeholder{color:rgb(23, 42, 59)}.duet-theme-turva .duet-textarea[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-textarea[readonly]{color:rgb(53, 79, 101) !important;border-color:rgb(212, 221, 226)}.duet-theme-turva.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-textarea-help{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(120, 145, 164)}";
15
15
 
16
16
  const CharacterCount = ({ value, maxlength, theme }) => {
17
17
  if (maxlength == null) {
@@ -83,6 +83,11 @@ const DuetTextarea = class {
83
83
  * technologies.
84
84
  */
85
85
  this.disabled = false;
86
+ /**
87
+ * Makes the textarea component not mutable, meaning the user cannot edit the control.
88
+ * The user can otherwise interact, e.g. by selecting the content and copying it.
89
+ */
90
+ this.readonly = false;
86
91
  /**
87
92
  * Set whether the textarea is required or not. Please note that this is required for
88
93
  * accessible inputs when the user is required to fill them. When using this property
@@ -104,7 +109,8 @@ const DuetTextarea = class {
104
109
  */
105
110
  this.echoPlaceholder = false;
106
111
  /**
107
- * Display the textarea in error state along with an error message.
112
+ * Display the textarea in error state along with an error message. If the textarea is disabled
113
+ * or readonly, the error is ignored.
108
114
  */
109
115
  this.error = "";
110
116
  /**
@@ -240,23 +246,26 @@ const DuetTextarea = class {
240
246
  async setFocus(options) {
241
247
  this.nativeInput.focus(options);
242
248
  }
249
+ get writable() {
250
+ return !this.disabled && !this.readonly;
251
+ }
243
252
  /**
244
253
  * render() function
245
254
  * Always the last one in the class.
246
255
  */
247
256
  render() {
248
257
  const identifier = this.identifier || this.textareaId;
249
- return (h(Host, { key: 'a84e87889b86103cfb25a6fb62d5ae9fc921dde3', class: {
258
+ return (h(Host, { key: 'f667e15959599e11fba7779a062513b430c237f4', class: {
250
259
  "duet-m-0": this.margin === "none",
251
260
  "duet-has-counter": this.counter && !this.error,
252
261
  "duet-expand": this.expand,
253
- } }, h("div", { key: '1cac0725d91c47a8539a3a915e033ff98dbcefeb', class: {
262
+ } }, h("div", { key: '3017c39ed8485d0c4cd5cbff373e5795b315e239', class: {
254
263
  "duet-textarea-container": true,
255
264
  "duet-theme-turva": this.theme === "turva",
256
265
  "duet-label-hidden": this.labelHidden,
257
266
  "duet-input-top-caption-shown": this.isCaptionVisible,
258
- "has-error": !!this.error,
259
- } }, h(DuetInternalLabel, { key: '902dadd1b95a410ed378ce38e71644138e3aae28', 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", { key: 'db32f6f507a45acaeb0c1a5128544855ae8e0e31', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: '40464ec1d95d3880de8197f5780865cdff77233d', name: "tooltip" }), this.caption && (h("duet-caption", { key: '818b2b3294cca406e31397dfb2a77110891bd4ee', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { key: '515635119956e32aba3bf1949f183bd37dcbbf63', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { key: '040fe7c9caaa720aa2b2ae9124252da85d083ceb', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { key: '39f181d89675a7c0cdd6a0492108c61aa8a66779', 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, rows: this.rows, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { key: '4cefb97e18df23468e25743c4f62e4df7e5d9257', alignment: "stretch" }, h("duet-grid-item", { key: 'bb2d8ca91b5478ceb814090fe1c24e48704f5747', margin: "none", fill: true }, h("div", { key: '208c4ddda91e2b97459815079c7b9a552366d4ab', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: '9957ee1bbb21233d09e116992fa88f14185f043a' }, this.error))), h("duet-grid-item", { key: '99713afc0205b671f95297e3991ed28a55a73b73', margin: "none", class: "duet-character-count-caption" }, this.counter && h(CharacterCount, { key: '855bec2958e7aa564ec9ca5958881ad1d597fd2b', theme: this.theme, value: this.value, maxlength: this.maxlength }))), this.counter && this.maxlength && (h("duet-visually-hidden", { key: 'd76477f0c64de79265740ae7a6bb251bdba9dd0f', id: this.characterCountId, class: "visually-hidden-counter", "aria-live": "polite" }, this.visuallyHiddenCounterText)))));
267
+ "has-error": !!this.error && this.writable,
268
+ } }, h(DuetInternalLabel, { key: 'b62e9c27cf13789036b04f320bda685083796517', 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", { key: '24dcec9860bfc8bbfb0547e924f8d4319cd18064', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: '5a197f095df7dd625df5b6f9b0b40a2f8d61bb52', name: "tooltip" }), this.caption && (h("duet-caption", { key: '08a5a97579b9614b1e1e059f0975885c8ff4030f', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { key: '78ece66c1cfdbe778fe3e3293ddf5343842dcc21', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { key: '326ce34b3e142f2a7676067fc13452d02cd63d05', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { key: '994ac4a61ba288bd72d73a504f8a7721fa1c0389', 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, readonly: this.readonly, "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, rows: this.rows, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { key: '0b61766a90b3b6e76cab85dfd55b81cc487e77c9', alignment: "stretch" }, h("duet-grid-item", { key: '9bc9ee00a5268f80e0b9c01cb99099f98ea59fde', margin: "none", fill: true }, h("div", { key: '18eb1c48ea7cf5a44ab21477b6a68bc7b7baccc5', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && this.writable && h("span", { key: 'a76db4119e297a2451e2c6ffa6894cf044a1aeaa' }, this.error))), h("duet-grid-item", { key: '020dc157342b1572a54c82726d88d14ef17c6dcb', margin: "none", class: "duet-character-count-caption" }, this.counter && h(CharacterCount, { key: '495d71bfc1a80ce1709014843a81cb2e96fb6021', theme: this.theme, value: this.value, maxlength: this.maxlength }))), this.counter && this.maxlength && (h("duet-visually-hidden", { key: 'b682416e87e7ad792b67cc3b6d754495f94b351f', id: this.characterCountId, class: "visually-hidden-counter", "aria-live": "polite" }, this.visuallyHiddenCounterText)))));
260
269
  }
261
270
  get element() { return getElement(this); }
262
271
  static get watchers() { return {
@@ -1,14 +1,14 @@
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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
6
  import { b as DuetStringsCompleteDefaults, c as DuetStringsLoadingDefaults } from './common-strings-8RjiAqaE.js';
7
- import { a as getLanguage } from './language-utils-D4WVl8Ph.js';
8
- import { D as DuetInternalLabel } from './label-C1HF2o4Y.js';
7
+ import { a as getLanguage } from './language-utils-C-lpMyP9.js';
8
+ import { D as DuetInternalLabel } from './label-D835wXCb.js';
9
9
  import { c as createID } from './create-id-Cfr_DJqU.js';
10
10
  import { s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-BaefVzkx.js';
11
- import { p as proxyInputToSlot } from './slot-utils-Dxcjtmp3.js';
11
+ import { p as proxyInputToSlot } from './slot-utils-BSS0Em_Z.js';
12
12
  import './string-utils-C6E9F6QT.js';
13
13
 
14
14
  const duetToggleCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !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 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.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, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent;cursor:pointer}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-m-0){margin:0 !important}:host(.duet-toggle-is-disabled){cursor:not-allowed}:host(.duet-toggle-is-loading){cursor:wait}.duet-side-label{display:flex;gap:12px;align-items:center}.duet-reverse-label{flex-direction:row-reverse}.duet-switch{position:relative;display:block;width:48px;height:28px}.duet-switch input{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-switch input:checked+.duet-slider{background-color:rgb(0, 119, 179);box-shadow:none}.duet-switch input:checked+.duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:-1px 0 2px #004467;transform:translateX(20px)}.duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-switch input:disabled:not(:checked)+.duet-slider{background:#bfcbd2}.duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255);box-shadow:none}.duet-switch input:disabled:checked+.duet-slider{background:#80bbd9}:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-switch input:focus+.duet-slider,:host(.user-is-tabbing) .duet-switch input:focus+.duet-slider.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:rgb(127, 150, 165);border-radius:24px;transition:background-color 300ms ease}.duet-slider::before{position:absolute;bottom:2px;left:2px;width:24px;height:24px;content:\"\";background-color:rgb(255, 255, 255);border-radius:50%;box-shadow:1px 0 2px 0 #5d6266;transition:300ms ease}.duet-toggle-is-loading .duet-slider::before{transform:translateX(10px) !important}.duet-toggle-is-loading .duet-slider{cursor:wait}.duet-toggle-is-disabled .duet-slider{cursor:not-allowed}duet-spinner{margin:2px;cursor:wait;transform:translate(-2px, -2px) scale(80%)}.duet-label-hidden .duet-internal-label{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important}.duet-theme-turva .duet-switch input:checked+.duet-slider{background-color:rgb(230, 23, 64)}.duet-theme-turva .duet-switch input:checked+.duet-slider::before{box-shadow:-1px 0 2px #890e26;transform:translateX(20px)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-switch input:disabled+.duet-slider::before{box-shadow:none}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider{background:#bcc8d2}.duet-theme-turva .duet-switch input:disabled:not(:checked)+.duet-slider::before{background:rgb(255, 255, 255)}.duet-theme-turva .duet-switch input:disabled:checked+.duet-slider{background:#f38ba0}.duet-theme-turva .duet-slider{background-color:rgb(120, 145, 164)}.duet-theme-turva .duet-slider::before{background-color:rgb(255, 255, 255);box-shadow:1px 0 2px 0 #00334d}";
@@ -124,11 +124,11 @@ const DuetToggle = class {
124
124
  */
125
125
  render() {
126
126
  const identifier = this.identifier || this.toggleId;
127
- return (h(Host, { key: 'ba421a50fdc02e229fa28f85ff056b7871a49622', onClick: this.disabled || this.loading ? undefined : this.onClick, class: {
127
+ return (h(Host, { key: 'c1f8b026ca2f0eaf39a54127c1f69d22694a46d2', onClick: this.disabled || this.loading ? undefined : this.onClick, class: {
128
128
  "duet-m-0": this.margin === "none",
129
129
  "duet-toggle-is-disabled": this.disabled,
130
130
  "duet-toggle-is-loading": this.loading,
131
- } }, h("div", { key: '81bcd7c487268f6f79e227a5964049c31c50537e', class: {
131
+ } }, h("div", { key: '13c89c2abc235e07e99e671d73e4561eb0f83cc8', class: {
132
132
  "duet-toggle": true,
133
133
  "duet-theme-turva": this.theme === "turva",
134
134
  "duet-side-label": this.labelPosition !== "top",
@@ -136,7 +136,7 @@ const DuetToggle = class {
136
136
  "duet-label-hidden": this.labelHidden,
137
137
  "duet-toggle-is-disabled": this.disabled,
138
138
  "duet-toggle-is-loading": this.loading,
139
- } }, h(DuetInternalLabel, { key: '9a9c911786434d7324b8e88a8d908102a433b4f6', theme: this.theme, color: this.labelColor, weight: this.labelWeight, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), h("div", { key: 'de416640cd8c34241f9f8f014c71f0ec664a16a7', class: "duet-switch" }, h("input", { key: 'd420b3d44b53e0daf276c9a7cabde816bff13fa2', 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 || this.loading, ref: input => (this.nativeInput = input) }), h("div", { key: '5def29eef95fba6e68134ce1c9061404bd390760', class: { "duet-slider": true, "duet-theme-turva": this.theme === "turva" } }), this.loading && h("duet-spinner", { key: '1bf177270fc0d8e66aae450110abe9ca2340c156', color: "primary" }))), this.loading && (h("duet-visually-hidden", { key: '101bf2c1752bbd1a263128aa1501b63938fee3d3', "aria-live": "polite" }, this.accessibleLabelLoading || DuetStringsLoadingDefaults[getLanguage()])), this.loadingComplete && (h("duet-visually-hidden", { key: 'd1e8b6bf58b301f82fee88b83a5591e146a16d86', "aria-live": "polite" }, this.accessibleLabelComplete || DuetStringsCompleteDefaults[getLanguage()]))));
139
+ } }, h(DuetInternalLabel, { key: 'ee03e1def14f4be0d469081e28e6dd34f622ff29', theme: this.theme, color: this.labelColor, weight: this.labelWeight, for: identifier, margin: this.labelPosition === "top" ? "auto" : "none" }, this.label), h("div", { key: '46af0389473f5f8d9f509472b24b92eef985b98e', class: "duet-switch" }, h("input", { key: '864dbbeaffc9cea78be34939de9c6d349c88cae2', 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 || this.loading, ref: input => (this.nativeInput = input) }), h("div", { key: '0493bd3ec7da36a97706b3950c28d98b723d1979', class: { "duet-slider": true, "duet-theme-turva": this.theme === "turva" } }), this.loading && h("duet-spinner", { key: 'd484ef05401a121a7ed665c35cc466ad06ed933b', color: "primary" }))), this.loading && (h("duet-visually-hidden", { key: '489d5f94a8f46f6c1acefece45eda231d9c786c9', "aria-live": "polite" }, this.accessibleLabelLoading || DuetStringsLoadingDefaults[getLanguage()])), this.loadingComplete && (h("duet-visually-hidden", { key: '7c3d367d72ff5cecae77d9ca0e8a9d5ed43e0a39', "aria-live": "polite" }, this.accessibleLabelComplete || DuetStringsCompleteDefaults[getLanguage()]))));
140
140
  }
141
141
  get element() { return getElement(this); }
142
142
  static get watchers() { return {
@@ -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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
6
  import { a as isEscapeKey } from './keyboard-utils-BaefVzkx.js';
7
7
 
8
8
  const duetToolbarDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}.duet-toolbar-dropdown-link{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 8px;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(8, 42, 77);text-align:center;text-decoration:none}.duet-toolbar-dropdown-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-dropdown-link:focus,.duet-toolbar-dropdown-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-dropdown-link .label{flex:1;text-align:left}.duet-toolbar-dropdown-link.active{background:rgb(240, 247, 250)}.duet-toolbar-dropdown-link:hover{background:rgb(228, 241, 247)}.duet-toolbar-dropdown-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, 42, 59)}.duet-toolbar-dropdown-link.duet-theme-turva.active{background:rgb(253, 247, 242)}.duet-toolbar-dropdown-link.duet-theme-turva:hover{background:rgb(251, 225, 209)}";
@@ -49,11 +49,11 @@ const DuetToolbarDropdownLink = class {
49
49
  * Always the last one in the class.
50
50
  */
51
51
  render() {
52
- return (h(Host, { key: '5503edc925ef9f59d266699d49f280d803d96b1a' }, h("a", { key: '78cfd5795087aa0668130fcd1aef9af8f6afe74d', class: {
52
+ return (h(Host, { key: '8afa16142be5af1ab49de317f14695be29cb76a7' }, h("a", { key: '17139e958d8b5bd8b2c9a8b272e8faaf844b3b6b', class: {
53
53
  "duet-toolbar-dropdown-link": true,
54
54
  "duet-theme-turva": this.theme === "turva",
55
55
  active: this.active,
56
- }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "link menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && h("duet-icon", { key: '94cbf93524f24784189c22358378e2c0c21d6cc6', name: this.icon, size: "x-small", margin: "none" }), h("span", { key: '61d5272e3b2670262dabd167c898f160b9c3c751', class: "label" }, h("slot", { key: 'ce66bfda77a5f5e8292b1b05a3aac6e55f37a43b' })), this.active && (h("duet-icon", { key: 'b6ae3a0972462f8034fceda49f652477849c555d', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
56
+ }, href: this.href, lang: this.targetLanguage, hreflang: this.targetLanguage, role: "link menuitem", "aria-label": this.accessibleLabel, "aria-current": this.active ? "true" : "false", onKeyUp: e => this.handleEscape(e) }, this.icon && h("duet-icon", { key: '0953a2ad108b8f7c7705bff8b946cc065ae64369', name: this.icon, size: "x-small", margin: "none" }), h("span", { key: '4187f1ee1ec2f028643715c47719354d45842ffe', class: "label" }, h("slot", { key: '35b9dc036dba71cda8d9f25077fa638fd2e15e86' })), this.active && (h("duet-icon", { key: '00cc11661aa635747fe4d1029c0fbac4f96c8dea', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor" })))));
57
57
  }
58
58
  get element() { return getElement(this); }
59
59
  };
@@ -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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
6
  import { a as isEscapeKey } from './keyboard-utils-BaefVzkx.js';
7
7
 
8
8
  const duetToolbarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-toolbar-dropdown{position:relative;height:100%}.duet-toolbar-dropdown button{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, 75, 129);text-align:center;text-decoration:none;cursor:pointer}.duet-toolbar-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-dropdown button:focus,.duet-toolbar-dropdown button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-toolbar-dropdown button:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-dropdown button.open .caret{transform:rotate(180deg)}.duet-toolbar-dropdown button.active,.duet-toolbar-dropdown button.open{color:rgb(8, 42, 77)}.duet-toolbar-dropdown button.active::after,.duet-toolbar-dropdown button.open::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}.duet-toolbar-dropdown .items{position:absolute;top:93%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:175px;padding:8px;color:rgb(8, 42, 77);background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15)}.duet-toolbar-dropdown .items.hidden{display:none}.duet-toolbar-dropdown.right .items{right:auto;left:0%}.duet-toolbar-dropdown.negative button{color:rgb(255, 255, 255)}.duet-toolbar-dropdown.negative button:hover{color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-dropdown.negative button.active{font-weight:600;color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-dropdown.negative button.open{color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-dropdown.negative button duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-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, 42, 59)}.duet-toolbar-dropdown.duet-theme-turva button:hover{color:rgb(23, 42, 59);background:rgb(253, 247, 242)}.duet-toolbar-dropdown.duet-theme-turva button.active::after,.duet-toolbar-dropdown.duet-theme-turva button.open::after{background:rgb(230, 23, 64)}.duet-toolbar-dropdown.duet-theme-turva button.active,.duet-toolbar-dropdown.duet-theme-turva button.open{color:rgb(23, 42, 59)}.duet-toolbar-dropdown.duet-theme-turva.negative button{color:rgb(255, 255, 255)}.duet-toolbar-dropdown.duet-theme-turva.negative button duet-icon{color:rgb(241, 202, 178)}.duet-toolbar-dropdown.duet-theme-turva.negative button.active{font-weight:600}.duet-toolbar-dropdown.duet-theme-turva.negative button:hover,.duet-toolbar-dropdown.duet-theme-turva.negative button.active,.duet-toolbar-dropdown.duet-theme-turva.negative button.open{color:rgb(255, 255, 255);background:rgba(23, 42, 59, 0.2)}.duet-theme-turva .items{background:rgb(255, 255, 255)}.duet-toolbar-dropdown.duet-theme-turva.negative button{color:rgb(255, 255, 255)}.duet-toolbar-dropdown.duet-theme-turva.negative button:hover,.duet-toolbar-dropdown.duet-theme-turva.negative button.active,.duet-toolbar-dropdown.duet-theme-turva.negative button.open{color:rgb(255, 255, 255)}";
@@ -68,18 +68,18 @@ const DuetToolbarDropdown = class {
68
68
  itemsAlign = this.element.parentElement.getAttribute("slot") === "left" ? "right" : "left";
69
69
  }
70
70
  const variation = this.variation === "negative" ? "negative" : "white";
71
- return (h(Host, { key: '537cb902a5fa3e679997e4e794d3335d0400caf6', role: "listitem" }, h("div", { key: '8ff38e056a74dcd7a30e1ab09bfa7b757e0e224f', class: {
71
+ return (h(Host, { key: 'aafd01e336e6bc1037a016fbffba1ae619434b15', role: "listitem" }, h("div", { key: '8620d663e3c022d08b0daa55dda118d493244188', class: {
72
72
  "duet-toolbar-dropdown": true,
73
73
  "duet-theme-turva": this.theme === "turva",
74
74
  [itemsAlign]: true,
75
75
  [variation]: true,
76
- } }, h("button", { key: 'ed4415937f60d79cdff2794e8d0c9e32e2144ada', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
76
+ } }, h("button", { key: '1bcde327fae00ec8f8dcdbc34bd2af817394901a', ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
77
77
  active: this.active,
78
78
  open: this.open,
79
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { key: '9b594c5aa508947d9cfe551cb9c9add1bcc95a7f', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("span", { key: '3f23e7a0c570956fbcaff50417cc79869b04c122', class: "label" }, h("slot", { key: '51bdc6f723e217d090f4b611eaac211611e952e6', name: "label" }), h("duet-icon", { key: 'e3ffbfb325327902cc56f9684f879164f4b3a659', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), h("div", { key: 'dfcc391bafb75c326a62c89ac9d4221508e00efd', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
79
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { key: '1b7b369f990d99d15c37ce70162d3148bca43324', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("span", { key: 'bc284f69d58f2e4c4dc426aafe9e6f0683752d32', class: "label" }, h("slot", { key: '1a2892fad84bce88372d8217504315d0d268d3ed', name: "label" }), h("duet-icon", { key: 'd3ba7796bcf62e9a1bafc0d69fbe77f7b5efc031', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), h("div", { key: 'e81d20d35970fd47f5e0999a48746863a282a980', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
80
80
  items: true,
81
81
  hidden: !this.open,
82
- } }, h("slot", { key: '946f25dc7587b757fbdb11125b9aade9501c6d91' })))));
82
+ } }, h("slot", { key: '4e1918ec2fe0c4c33248f10ffca23c9fa12a175a' })))));
83
83
  }
84
84
  get element() { return getElement(this); }
85
85
  };
@@ -1,14 +1,14 @@
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-D3450NfA.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
5
  import { n as newWindowIcon } from './action-new-window-small-EH8_HdAm.js';
6
6
  import { a as DuetStringsExternalDefaults } from './common-strings-8RjiAqaE.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
8
- import { g as getAccessibleLinkLabel } from './a11y-utils--wwGTL0T.js';
9
- import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-D4WVl8Ph.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
8
+ import { g as getAccessibleLinkLabel } from './a11y-utils-DbDY4hy4.js';
9
+ import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-C-lpMyP9.js';
10
10
  import './_commonjsHelpers-DvwKrUS6.js';
11
- import './slot-utils-Dxcjtmp3.js';
11
+ import './slot-utils-BSS0Em_Z.js';
12
12
  import './string-utils-C6E9F6QT.js';
13
13
 
14
14
  const duetToolbarItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-toolbar-item{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, 75, 129);text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer}.duet-toolbar-item:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-item:focus,.duet-toolbar-item:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-item .duet-toolbar-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}.duet-toolbar-item .trailing-icon{width:16px;height:16px}.duet-toolbar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-toolbar-item .external-icon{width:10px;height:10px}.duet-toolbar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}.duet-toolbar-item.primary,.duet-toolbar-item.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item.primary:focus,.duet-toolbar-item.secondary:focus{outline:2px solid;outline-offset:-4px;outline-color:rgb(255, 255, 255)}.duet-toolbar-item.primary[aria-expanded=true],.duet-toolbar-item.secondary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.primary duet-icon,.duet-toolbar-item.secondary duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-item.primary[aria-expanded=true]{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.secondary[aria-expanded=true]{background:rgb(3, 56, 102)}.duet-toolbar-item:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-item:hover.primary,.duet-toolbar-item:hover.secondary{color:rgb(255, 255, 255)}.duet-toolbar-item:hover.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item:hover.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item.active{color:rgb(8, 42, 77)}.duet-toolbar-item.active.primary,.duet-toolbar-item.active.secondary{font-weight:600;color:rgb(255, 255, 255)}.duet-toolbar-item.active.primary::after,.duet-toolbar-item.active.secondary::after{display:none}.duet-toolbar-item.active.primary{background:rgba(8, 42, 77, 0.2)}.duet-toolbar-item.active.secondary{background:rgb(3, 56, 102)}.duet-toolbar-item.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}duet-indicator{top:4px;left:16px;z-index:1}duet-indicator:has(+.duet-toolbar-item .duet-toolbar-icon){left:36px}.duet-toolbar-item.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-toolbar-item.duet-theme-turva:not(.primary){color:rgb(23, 42, 59)}.duet-toolbar-item.duet-theme-turva.primary{color:rgb(255, 255, 255)}.duet-toolbar-item.duet-theme-turva.primary duet-icon{color:rgb(241, 202, 178)}.duet-toolbar-item.duet-theme-turva.primary[aria-expanded=true]{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-item.duet-theme-turva:hover{background:rgb(253, 247, 242)}.duet-toolbar-item.duet-theme-turva:hover:not(.primary){color:rgb(23, 42, 59)}.duet-toolbar-item.duet-theme-turva:hover.primary{color:rgb(255, 255, 255);background:rgba(23, 42, 59, 0.2)}.duet-toolbar-item.active.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-toolbar-item.active.duet-theme-turva:not(.primary){color:rgb(23, 42, 59)}.duet-toolbar-item.active.duet-theme-turva.primary{color:rgb(255, 255, 255);background:rgba(23, 42, 59, 0.2)}";
@@ -93,17 +93,17 @@ const DuetToolbarItem = class {
93
93
  : this.variation === "secondary"
94
94
  ? "secondary"
95
95
  : "default";
96
- return (h(Host, { key: '862f45e9efe5b3b54645c3a9627456ab5f723263', role: "listitem" }, this.badge && h("duet-indicator", { key: '29d7bdff76bcf999e4ecff6e3eedd10e006bc968', variation: "change" }), h(TagName, { key: 'b3c0820e95170ce048b75d7e02a2f2e6b7264301', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
96
+ return (h(Host, { key: '73b6913f425eb535964ae3ae588815d7d69548f5', role: "listitem" }, this.badge && h("duet-indicator", { key: 'fb04ed3b79c12c89dce6c4cc42e53ffc6a25b9a7', variation: "change" }), h(TagName, { key: '34f42a96b15efdd18605a81134d12790585b1b5d', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
97
97
  "duet-toolbar-item": true,
98
98
  "duet-theme-turva": this.theme === "turva",
99
99
  active: this.active,
100
100
  [variation]: true,
101
- }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (h("div", { key: '52d2726d3619462ac9fa1ed0b3444675a3965d6d', class: "duet-toolbar-icon" }, h("duet-icon", { key: 'f4cf50d1e5dddaaf3cebd50a4271ebb8060d2aaa', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" }), this.badge && h("div", { key: '545d508631827013ae6062243f7cd07e37361f1f', class: "duet-toolbar-badge" }))), h("slot", { key: 'ccf3f266976067a8dcfaeb78310ea0e9e4b740cc' }), (this.trailingIcon || (this.url && this.external)) && (h("div", { key: 'f589e763aa5474a3a0dfcfbada1672d3fbb0862a', class: "duet-toolbar-icon" }, h("duet-icon", { key: '288b80450871df0f784182e1f0802cfbad4daeed', class: {
101
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && getAccessibleLinkLabel(this)) || this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined, rel: this.external ? "noopener" : undefined }, this.leadingIcon && (h("div", { key: '9289fe0fd7d3cba9769923352564e54ccd6bdb15', class: "duet-toolbar-icon" }, h("duet-icon", { key: '7a68a52ec75a0cb94658292ec2888a41cfe6af55', size: "x-small", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" }), this.badge && h("div", { key: '5dd3b5ede328e883a64141fde15a1dd6eca5fe4c', class: "duet-toolbar-badge" }))), h("slot", { key: '3a7913d7f34b57b85720813018e2b122ef38b9d7' }), (this.trailingIcon || (this.url && this.external)) && (h("div", { key: '62a9d4853e8b77c6197624c58edd4aed4a60748f', class: "duet-toolbar-icon" }, h("duet-icon", { key: '48819424506ca2fbde8b1510c4f68bdc323b7a99', class: {
102
102
  "trailing-icon": !!this.trailingIcon,
103
103
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
104
104
  "external-icon": !!(this.url && this.external),
105
105
  rotate: this.trailingIcon === "action-arrow-down-small" && this.accessibleExpanded,
106
- }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.url && this.external ? newWindowIcon.title : "", margin: "none", size: "auto", color: "currentColor" }), this.badge && this.trailingIcon !== "action-arrow-down-small" && h("div", { key: '7853154ae4ebb785a34b1de3ce36d7b1a23f304b', class: "duet-toolbar-badge" }))))));
106
+ }, theme: this.theme, name: this.trailingIcon ? this.trailingIcon : this.url && this.external ? newWindowIcon.title : "", margin: "none", size: "auto", color: "currentColor" }), this.badge && this.trailingIcon !== "action-arrow-down-small" && h("div", { key: 'fa960663370b85e48492736a9cd6cba8c62b5732', class: "duet-toolbar-badge" }))))));
107
107
  }
108
108
  get element() { return getElement(this); }
109
109
  };
@@ -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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
6
 
7
7
  const duetToolbarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;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, 75, 129);text-align:center;white-space:nowrap;text-decoration:none}.duet-toolbar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-toolbar-link:focus,.duet-toolbar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-toolbar-link.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.negative:focus{outline:2px solid;outline-offset:-4px;outline-color:rgb(255, 255, 255)}.duet-toolbar-link.negative duet-icon{color:rgb(198, 225, 238)}.duet-toolbar-link:hover{color:rgb(8, 42, 77);background:rgb(240, 247, 250)}.duet-toolbar-link:hover.negative{color:rgb(255, 255, 255);background:rgba(8, 42, 77, 0.2)}.duet-toolbar-link.active{color:rgb(8, 42, 77)}.duet-toolbar-link.active.negative{font-weight:600;color:rgb(255, 255, 255);background:rgba(8, 42, 77, 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);transform:translateY(1px);transition:300ms ease}.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, 42, 59);background:transparent}.duet-toolbar-link.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(253, 247, 242)}.duet-toolbar-link.duet-theme-turva:hover.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.duet-theme-turva:hover.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.duet-theme-turva:hover.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva{color:rgb(23, 42, 59)}.duet-toolbar-link.active.duet-theme-turva.negative{color:rgb(255, 255, 255)}.duet-toolbar-link.active.duet-theme-turva.negative duet-icon{color:rgb(255, 229, 230)}.duet-toolbar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-toolbar-link.active.negative{background:rgba(23, 42, 59, 0.2)}.duet-toolbar-link.active.duet-theme-turva.negative{background:rgba(23, 42, 59, 0.2)}";
8
8
 
@@ -42,12 +42,12 @@ const DuetToolbarLink = class {
42
42
  */
43
43
  render() {
44
44
  const variation = this.variation === "negative" ? "negative" : "white";
45
- return (h(Host, { key: '07041c0aec0959d4d85042618c07a5c6c5e7a80a', role: "listitem" }, h("a", { key: '5c422ec1435313ecad17c03eafaecdb42444c847', class: {
45
+ return (h(Host, { key: '05a4f64c0670e5cd2739b4c48604b3b66f4f66f6', role: "listitem" }, h("a", { key: '3c7e34e171e59a1d33a5f38f130b76305da9d838', class: {
46
46
  "duet-toolbar-link": true,
47
47
  "duet-theme-turva": this.theme === "turva",
48
48
  active: this.active,
49
49
  [variation]: true,
50
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (h("duet-icon", { key: '4a127553bf1f1e27ebb5787f7b736cc7a80cf9fe', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), h("slot", { key: '97573b5159185b7aae35dc962560e707de1a28b2' }))));
50
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (h("duet-icon", { key: '091c6f6380417c2580fd39ea6a75a1ca84c3f62d', size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), h("slot", { key: '734f21e042064ae86b54ddeb767a58909a5af1f7' }))));
51
51
  }
52
52
  get element() { return getElement(this); }
53
53
  };
@@ -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-D3450NfA.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-CdcBxXLd.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-DQtSOD4i.js';
6
6
 
7
7
  const duetToolbarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:relative;width:100%}.duet-toolbar{position:relative;z-index:3;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(212, 223, 229)}.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.primary{background:rgb(0, 119, 179)}.duet-toolbar.primary .container{border-bottom:0}.duet-toolbar.secondary{background:rgb(8, 42, 77)}.duet-toolbar.secondary .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(251, 225, 209)}.duet-toolbar.duet-theme-turva.primary{background:rgb(230, 23, 64)}.duet-toolbar.duet-theme-turva.primary .container{border-bottom:0}";
8
8
 
@@ -36,11 +36,11 @@ const DuetToolbar = class {
36
36
  : this.variation === "secondary"
37
37
  ? "secondary"
38
38
  : "default";
39
- return (h(Host, { key: '810537e117ab39b71cb7722178846736f3cb0b85' }, h("nav", { key: '12bad772d5ab1ff3e4adfca687da6c4d46ce93f0', class: {
39
+ return (h(Host, { key: 'a37f1935a900c25d98ec68adf41051ba262b8382' }, h("nav", { key: '2902f5f92017c5d24c9d402f1e15a987e015ee39', class: {
40
40
  "duet-toolbar": true,
41
41
  "duet-theme-turva": this.theme === "turva",
42
42
  [variation]: true,
43
- }, "aria-label": this.accessibleLabel }, h("div", { key: 'c4dc60b980cfaa54fed8a7578a766e9f7fe01825', class: "container" }, h("div", { key: 'cc4af5be82d76864f8160d04419533a13223fa28', class: "list", role: "list" }, h("slot", { key: 'e23afafe23ac2a9d8025e2239421e4a3c033d667', name: "left" })), h("div", { key: '28bc42be2ee3cbfda1a9645ad8b66e8dec71977b', class: "list", role: "list" }, h("slot", { key: '2f304cb81562a3bd030d5d2398a0516a6491d4e5', name: "right" }))))));
43
+ }, "aria-label": this.accessibleLabel }, h("div", { key: '83f64d72ba0fb5f452c002eaf87c5fe549665730', class: "container" }, h("div", { key: '81ca721a0ef1c7f5251611645bb4bd1bad34c154', class: "list", role: "list" }, h("slot", { key: '67dc75314e0816f603cd8a377641f353d809f35d', name: "left" })), h("div", { key: 'd4d812cb4a537406f4bd1763df1ecb1dbcc4c36d', class: "list", role: "list" }, h("slot", { key: 'fd698d64dcd063a8aac4d85a89100a35108ae52d', name: "right" }))))));
44
44
  }
45
45
  get element() { return getElement(this); }
46
46
  };