@duetds/components 10.5.0 → 10.6.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 (462) hide show
  1. package/hydrate/index.js +501 -263
  2. package/hydrate/index.mjs +501 -263
  3. package/lib/cjs/{a11y-utils-DaAO4N9d.js → a11y-utils-CgWjS7yq.js} +1 -1
  4. package/lib/cjs/{app-globals-CHNvdfQj.js → app-globals-D68ciWsb.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +6 -6
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +7 -7
  8. package/lib/cjs/duet-banner.cjs.entry.js +15 -16
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  11. package/lib/cjs/duet-button_2.cjs.entry.js +8 -8
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +11 -11
  14. package/lib/cjs/duet-card.cjs.entry.js +21 -10
  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 +28 -12
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +7 -7
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  20. package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +17 -7
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +127 -14
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +5 -5
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +15 -15
  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 +5 -5
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +4 -4
  31. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  32. package/lib/cjs/duet-hero.cjs.entry.js +22 -21
  33. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +70 -18
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  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 +5 -5
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -7
  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 +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +15 -15
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +10 -10
  48. package/lib/cjs/duet-number-input.cjs.entry.js +9 -9
  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 +19 -19
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +11 -6
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +10 -10
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +20 -8
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +8 -8
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +18 -18
  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 +8 -8
  65. package/lib/cjs/duet-show-more.cjs.entry.js +6 -6
  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 +13 -13
  70. package/lib/cjs/duet-slideout.cjs.entry.js +20 -14
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +7 -7
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -5
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +7 -7
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  79. package/lib/cjs/duet-toggle.cjs.entry.js +9 -9
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -5
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -7
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +10 -10
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  87. package/lib/cjs/duet-tray.cjs.entry.js +7 -7
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-Dkf_MfrJ.js → errorcodes.utils-C0tQ3k6Z.js} +1 -1
  93. package/lib/cjs/{focus-utils-BuGg0Oha.js → focus-utils-tCoGOO7d.js} +1 -1
  94. package/lib/cjs/{index-ZxE6MB5V.js → index-BeiMjjVl.js} +9 -9
  95. package/lib/cjs/{keyboard-utils-D9UlHbik.js → keyboard-utils-DibQafwg.js} +2 -0
  96. package/lib/cjs/{label-CpPOBfjS.js → label-Cu4DNShe.js} +1 -1
  97. package/lib/cjs/{language-utils-C7Z0KYg-.js → language-utils-B3NubUDr.js} +1 -1
  98. package/lib/cjs/loader.cjs.js +3 -3
  99. package/lib/cjs/picture-utils-D_HVgfq5.js +15 -0
  100. package/lib/cjs/{slot-utils-BXdHT3A1.js → slot-utils-Dny6EJ_G.js} +1 -1
  101. package/lib/cjs/{themeable-component-CIDaln0Z.js → themeable-component-Csdvrnsd.js} +1 -1
  102. package/lib/cjs/{token-utils-DY3-olMV.js → token-utils-ZISdNshf.js} +1 -1
  103. package/lib/cjs/{tokens.module-CTbvyezn.js → tokens.module-CGRpZaa1.js} +2 -1
  104. package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
  105. package/lib/collection/components/duet-alert/duet-alert.js +1 -1
  106. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  107. package/lib/collection/components/duet-banner/duet-banner.css +12 -0
  108. package/lib/collection/components/duet-banner/duet-banner.js +30 -5
  109. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  110. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  111. package/lib/collection/components/duet-button/duet-button.js +8 -8
  112. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  113. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  114. package/lib/collection/components/duet-card/duet-card.css +3 -0
  115. package/lib/collection/components/duet-card/duet-card.js +43 -7
  116. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  117. package/lib/collection/components/duet-chip/duet-chip.js +53 -17
  118. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  119. package/lib/collection/components/duet-choice/duet-choice.js +3 -3
  120. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  121. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  122. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
  123. package/lib/collection/components/duet-contact-card/duet-contact-card.css +3 -0
  124. package/lib/collection/components/duet-contact-card/duet-contact-card.js +38 -2
  125. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  126. package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -2
  127. package/lib/collection/components/duet-date-picker/date-utils.js +7 -0
  128. package/lib/collection/components/duet-date-picker/disallowed-days.js +23 -0
  129. package/lib/collection/components/duet-date-picker/duet-date-picker.js +100 -10
  130. package/lib/collection/components/duet-date-picker/finnish-bank-holidays.js +66 -0
  131. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  132. package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
  133. package/lib/collection/components/duet-empty-state/duet-empty-state.js +3 -3
  134. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  135. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  136. package/lib/collection/components/duet-footer/duet-footer.js +7 -7
  137. package/lib/collection/components/duet-grid/duet-grid.js +3 -3
  138. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  139. package/lib/collection/components/duet-header/duet-header.js +15 -15
  140. package/lib/collection/components/duet-heading/duet-heading.js +1 -1
  141. package/lib/collection/components/duet-hero/duet-hero.css +92 -14
  142. package/lib/collection/components/duet-hero/duet-hero.js +47 -21
  143. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  144. package/lib/collection/components/duet-indicator/duet-indicator.js +3 -3
  145. package/lib/collection/components/duet-input/duet-input.js +73 -20
  146. package/lib/collection/components/duet-label/duet-label.js +2 -2
  147. package/lib/collection/components/duet-layout/duet-layout.js +6 -6
  148. package/lib/collection/components/duet-link/duet-link.js +2 -2
  149. package/lib/collection/components/duet-list/duet-list.js +4 -4
  150. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  151. package/lib/collection/components/duet-logo/duet-logo.js +2 -2
  152. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -4
  153. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  154. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  155. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  156. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  157. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  158. package/lib/collection/components/duet-modal/duet-modal.js +11 -11
  159. package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -11
  160. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  161. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  162. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -4
  163. package/lib/collection/components/duet-number-input/duet-number-input.js +8 -8
  164. package/lib/collection/components/duet-overlay/duet-overlay.js +2 -2
  165. package/lib/collection/components/duet-page-heading/duet-page-heading.js +3 -3
  166. package/lib/collection/components/duet-pagination/duet-pagination.js +13 -13
  167. package/lib/collection/components/duet-panel/duet-panel.js +3 -3
  168. package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -5
  169. package/lib/collection/components/duet-phone-input/duet-phone-input.js +30 -5
  170. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  171. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -4
  172. package/lib/collection/components/duet-promo-card/duet-promo-card.css +4 -0
  173. package/lib/collection/components/duet-promo-card/duet-promo-card.js +39 -2
  174. package/lib/collection/components/duet-radio/duet-radio.js +6 -6
  175. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  176. package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -4
  177. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +3 -3
  178. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  179. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  180. package/lib/collection/components/duet-select/duet-select.js +10 -10
  181. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  182. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  183. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  184. package/lib/collection/components/duet-show-more/duet-show-more.js +3 -3
  185. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  186. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  187. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  188. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  189. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  190. package/lib/collection/components/duet-spacer/duet-spacer.js +3 -3
  191. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  192. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  193. package/lib/collection/components/duet-step/duet-step.js +4 -4
  194. package/lib/collection/components/duet-stepper/duet-stepper.js +2 -2
  195. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  196. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  197. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  198. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  199. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  200. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  201. package/lib/collection/components/duet-tab-group/duet-tab-group.js +9 -9
  202. package/lib/collection/components/duet-table/duet-table-styles.js +5 -5
  203. package/lib/collection/components/duet-table/duet-table.js +2 -2
  204. package/lib/collection/components/duet-textarea/duet-textarea.js +7 -7
  205. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -4
  206. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  207. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  208. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  209. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  210. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  211. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  212. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  213. package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
  214. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  215. package/lib/collection/components/duet-upload/duet-upload.js +16 -16
  216. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  217. package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -4
  218. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  219. package/lib/collection/utils/keyboard-utils.js +1 -0
  220. package/lib/duet/duet.esm.js +1 -1
  221. package/lib/duet/p-054c334d.entry.js +4 -0
  222. package/lib/duet/{p-3277233e.entry.js → p-0e10e36b.entry.js} +1 -1
  223. package/lib/duet/{p-9ae7aaef.entry.js → p-12d7fdf6.entry.js} +1 -1
  224. package/lib/duet/{p-3f7afd87.entry.js → p-1579bdf5.entry.js} +1 -1
  225. package/lib/duet/{p-7eea47d5.entry.js → p-174935bc.entry.js} +1 -1
  226. package/lib/duet/{p-42ec7305.entry.js → p-1d7a9425.entry.js} +1 -1
  227. package/lib/duet/{p-317e81f3.entry.js → p-20066df8.entry.js} +1 -1
  228. package/lib/duet/{p-3690576a.entry.js → p-20c8226c.entry.js} +1 -1
  229. package/lib/duet/{p-19863cdf.entry.js → p-210bc161.entry.js} +1 -1
  230. package/lib/duet/{p-b747f6e9.entry.js → p-244bfbf9.entry.js} +1 -1
  231. package/lib/duet/{p-38973524.entry.js → p-264688ae.entry.js} +1 -1
  232. package/lib/duet/{p-93ff8fe4.entry.js → p-2bf78fe4.entry.js} +1 -1
  233. package/lib/duet/{p-9e1a59d1.entry.js → p-2e44c6b8.entry.js} +1 -1
  234. package/lib/duet/{p-c1afac0d.entry.js → p-304a9a55.entry.js} +1 -1
  235. package/lib/duet/{p-516397ba.entry.js → p-30d8a1e4.entry.js} +1 -1
  236. package/lib/duet/p-3445529c.entry.js +4 -0
  237. package/lib/duet/{p-2f8a47e2.entry.js → p-3533d6ee.entry.js} +1 -1
  238. package/lib/duet/{p-fe829b53.entry.js → p-374b48f6.entry.js} +1 -1
  239. package/lib/duet/{p-7353ee4c.entry.js → p-3b9d7f6a.entry.js} +1 -1
  240. package/lib/duet/{p-5f5f72d4.entry.js → p-3def9480.entry.js} +1 -1
  241. package/lib/duet/p-3fbe466a.entry.js +4 -0
  242. package/lib/duet/{p-d3b5c997.entry.js → p-407d4e5a.entry.js} +1 -1
  243. package/lib/duet/p-41230630.entry.js +4 -0
  244. package/lib/duet/p-44e53564.entry.js +4 -0
  245. package/lib/duet/p-46287d85.entry.js +4 -0
  246. package/lib/duet/p-48e77341.entry.js +4 -0
  247. package/lib/duet/{p-a8876b3d.entry.js → p-4a041c60.entry.js} +1 -1
  248. package/lib/duet/{p-efa4eecc.entry.js → p-4a251661.entry.js} +1 -1
  249. package/lib/duet/{p-407f7f03.entry.js → p-4a4e5bb5.entry.js} +1 -1
  250. package/lib/duet/{p-b1326cbb.entry.js → p-4acdc586.entry.js} +1 -1
  251. package/lib/duet/{p-8ace1eb4.entry.js → p-4b07ce36.entry.js} +1 -1
  252. package/lib/duet/{p-e7f2359a.entry.js → p-4cee693b.entry.js} +1 -1
  253. package/lib/duet/{p-3f35fce3.entry.js → p-4e1c2676.entry.js} +1 -1
  254. package/lib/duet/{p-40fa7371.entry.js → p-4e5532c8.entry.js} +1 -1
  255. package/lib/duet/{p-7fd39204.entry.js → p-512d18c8.entry.js} +1 -1
  256. package/lib/duet/{p-6ef683d5.entry.js → p-555e0c78.entry.js} +1 -1
  257. package/lib/duet/{p-cb6c4158.entry.js → p-5b322a86.entry.js} +1 -1
  258. package/lib/duet/p-5f72134e.entry.js +4 -0
  259. package/lib/duet/{p-dedf6a32.entry.js → p-61abccd4.entry.js} +1 -1
  260. package/lib/duet/{p-443af533.entry.js → p-6a11ba26.entry.js} +1 -1
  261. package/lib/duet/{p-f040706c.entry.js → p-6bd78205.entry.js} +1 -1
  262. package/lib/duet/p-6c239923.entry.js +4 -0
  263. package/lib/duet/{p-bdbf0fae.entry.js → p-6ce82324.entry.js} +1 -1
  264. package/lib/duet/{p-268b3066.entry.js → p-6d1d1199.entry.js} +1 -1
  265. package/lib/duet/p-81c5d3e3.entry.js +4 -0
  266. package/lib/duet/p-829bccb7.entry.js +4 -0
  267. package/lib/duet/{p-c2026c6b.entry.js → p-83dcbb64.entry.js} +1 -1
  268. package/lib/duet/{p-461d4089.entry.js → p-84f8bee8.entry.js} +1 -1
  269. package/lib/duet/{p-d6f0afa5.entry.js → p-8927ccc1.entry.js} +1 -1
  270. package/lib/duet/{p-3b2fba0f.entry.js → p-8bdcfd1f.entry.js} +1 -1
  271. package/lib/duet/{p-833802f9.entry.js → p-8fbcea55.entry.js} +1 -1
  272. package/lib/duet/{p-20a8ef81.entry.js → p-914ee7ac.entry.js} +1 -1
  273. package/lib/duet/{p-d3baa815.entry.js → p-95bb2a8d.entry.js} +1 -1
  274. package/lib/duet/{p-cbcee3e2.entry.js → p-985213bb.entry.js} +1 -1
  275. package/lib/duet/{p-52beb436.entry.js → p-9889218e.entry.js} +1 -1
  276. package/lib/duet/{p-30108edc.entry.js → p-9b2731b9.entry.js} +1 -1
  277. package/lib/duet/{p-829db926.entry.js → p-9b448008.entry.js} +1 -1
  278. package/lib/duet/p-9c41f1d5.entry.js +4 -0
  279. package/lib/duet/p-BDgGHTHh.js +4 -0
  280. package/lib/duet/p-BZev46O8.js +4 -0
  281. package/lib/duet/p-BaefVzkx.js +4 -0
  282. package/lib/duet/p-CcoGR9T9.js +4 -0
  283. package/lib/duet/{p-R3pTP2Oy.js → p-CyfEm8iD.js} +1 -1
  284. package/lib/duet/p-D3450NfA.js +5 -0
  285. package/lib/duet/{p-CFqvB5PA.js → p-D9N9LBeD.js} +1 -1
  286. package/lib/duet/{p-C5Yfx2kd.js → p-DI7IXBXp.js} +1 -1
  287. package/lib/duet/{p-D2ly4TZR.js → p-DYmL1tSl.js} +1 -1
  288. package/lib/duet/p-Dk60lC7n.js +4 -0
  289. package/lib/duet/p-JFwTD5kM.js +4 -0
  290. package/lib/duet/{p-BzYmwX5_.js → p-KbNgo0QF.js} +1 -1
  291. package/lib/duet/{p-110c7572.entry.js → p-a01f3141.entry.js} +1 -1
  292. package/lib/duet/{p-43e076b5.entry.js → p-a49b5d93.entry.js} +1 -1
  293. package/lib/duet/p-a6dbe893.entry.js +4 -0
  294. package/lib/duet/{p-1da7703d.entry.js → p-aa1256f9.entry.js} +1 -1
  295. package/lib/duet/{p-a068c086.entry.js → p-aa7e4c81.entry.js} +1 -1
  296. package/lib/duet/{p-70612314.entry.js → p-ac4fc44c.entry.js} +1 -1
  297. package/lib/duet/{p-61ec0e1c.entry.js → p-ae382e2e.entry.js} +1 -1
  298. package/lib/duet/{p-a483117e.entry.js → p-bc41d13d.entry.js} +1 -1
  299. package/lib/duet/{p-734249e0.entry.js → p-c54ecb23.entry.js} +1 -1
  300. package/lib/duet/{p-70961edb.entry.js → p-d72dee5d.entry.js} +1 -1
  301. package/lib/duet/p-d7abb7fa.entry.js +4 -0
  302. package/lib/duet/{p-8b0dfbd7.entry.js → p-dbb9e1d4.entry.js} +1 -1
  303. package/lib/duet/{p-317a1fc0.entry.js → p-e40d9c21.entry.js} +1 -1
  304. package/lib/duet/{p-06297bd8.entry.js → p-e43df9c2.entry.js} +1 -1
  305. package/lib/duet/{p-02d8e844.entry.js → p-e442943d.entry.js} +1 -1
  306. package/lib/duet/p-eb7bc989.entry.js +4 -0
  307. package/lib/duet/{p-a9104184.entry.js → p-ec1d2e0a.entry.js} +1 -1
  308. package/lib/duet/p-edcdf0b7.entry.js +4 -0
  309. package/lib/duet/{p-e08dce92.entry.js → p-ee369233.entry.js} +1 -1
  310. package/lib/duet/{p-8012c7bc.entry.js → p-f297f8f2.entry.js} +1 -1
  311. package/lib/duet/{p-c54be349.entry.js → p-f30c3cfe.entry.js} +1 -1
  312. package/lib/duet/{p-a5177d32.entry.js → p-f4538e9d.entry.js} +1 -1
  313. package/lib/duet/{p-c216e746.entry.js → p-f4de7ac0.entry.js} +1 -1
  314. package/lib/duet/{p-4b7f1244.entry.js → p-f8d640ba.entry.js} +1 -1
  315. package/lib/duet/{p-2dd7d75e.entry.js → p-f9db8670.entry.js} +1 -1
  316. package/lib/duet/p-fc1a18f8.entry.js +4 -0
  317. package/lib/duet/{p-d779fe42.entry.js → p-fc2be136.entry.js} +1 -1
  318. package/lib/duet/p-fdc4a97c.entry.js +4 -0
  319. package/lib/duet/p-kkZE1C6Z.js +4 -0
  320. package/lib/esm/{a11y-utils-ChN5Nhxh.js → a11y-utils--wwGTL0T.js} +1 -1
  321. package/lib/esm/{app-globals-4kCk2rkO.js → app-globals-Diuuep9d.js} +1 -1
  322. package/lib/esm/duet-action-button.entry.js +6 -6
  323. package/lib/esm/duet-alert.entry.js +4 -4
  324. package/lib/esm/duet-badge.entry.js +7 -7
  325. package/lib/esm/duet-banner.entry.js +15 -16
  326. package/lib/esm/duet-breadcrumb.entry.js +7 -7
  327. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  328. package/lib/esm/duet-button_2.entry.js +8 -8
  329. package/lib/esm/duet-callout.entry.js +5 -5
  330. package/lib/esm/duet-caption_4.entry.js +11 -11
  331. package/lib/esm/duet-card.entry.js +22 -11
  332. package/lib/esm/duet-checkbox.entry.js +3 -3
  333. package/lib/esm/duet-checkmark.entry.js +4 -4
  334. package/lib/esm/duet-chip.entry.js +28 -12
  335. package/lib/esm/duet-choice_2.entry.js +7 -7
  336. package/lib/esm/duet-collapsible.entry.js +4 -4
  337. package/lib/esm/duet-combobox.entry.js +6 -6
  338. package/lib/esm/duet-contact-card.entry.js +17 -7
  339. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  340. package/lib/esm/duet-date-picker.entry.js +127 -14
  341. package/lib/esm/duet-divider_2.entry.js +5 -5
  342. package/lib/esm/duet-editable-table_3.entry.js +15 -15
  343. package/lib/esm/duet-empty-state.entry.js +2 -2
  344. package/lib/esm/duet-fieldset.entry.js +6 -6
  345. package/lib/esm/duet-file-chooser.entry.js +2 -2
  346. package/lib/esm/duet-footer.entry.js +5 -5
  347. package/lib/esm/duet-grid_2.entry.js +4 -4
  348. package/lib/esm/duet-header_2.entry.js +7 -7
  349. package/lib/esm/duet-hero.entry.js +22 -21
  350. package/lib/esm/duet-icon.entry.js +7 -7
  351. package/lib/esm/duet-indicator.entry.js +5 -5
  352. package/lib/esm/duet-input_2.entry.js +70 -18
  353. package/lib/esm/duet-layout.entry.js +7 -7
  354. package/lib/esm/duet-list_2.entry.js +5 -5
  355. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  356. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -5
  357. package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -7
  358. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  359. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  360. package/lib/esm/duet-menu-bar.entry.js +6 -6
  361. package/lib/esm/duet-modal.entry.js +15 -15
  362. package/lib/esm/duet-multiselect.entry.js +11 -11
  363. package/lib/esm/duet-nav.entry.js +3 -3
  364. package/lib/esm/duet-notification_2.entry.js +10 -10
  365. package/lib/esm/duet-number-input.entry.js +9 -9
  366. package/lib/esm/duet-overlay.entry.js +3 -3
  367. package/lib/esm/duet-page-heading.entry.js +6 -6
  368. package/lib/esm/duet-pagination_2.entry.js +19 -19
  369. package/lib/esm/duet-panel.entry.js +4 -4
  370. package/lib/esm/duet-phone-input.entry.js +11 -6
  371. package/lib/esm/duet-popup-menu_2.entry.js +10 -10
  372. package/lib/esm/duet-progress.entry.js +3 -3
  373. package/lib/esm/duet-promo-card.entry.js +20 -8
  374. package/lib/esm/duet-radio_2.entry.js +7 -7
  375. package/lib/esm/duet-range-slider.entry.js +8 -8
  376. package/lib/esm/duet-scrollable_3.entry.js +18 -18
  377. package/lib/esm/duet-section-layout.entry.js +4 -4
  378. package/lib/esm/duet-select.entry.js +9 -9
  379. package/lib/esm/duet-shaped-image.entry.js +4 -4
  380. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  381. package/lib/esm/duet-share-chart.entry.js +8 -8
  382. package/lib/esm/duet-show-more.entry.js +6 -6
  383. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  384. package/lib/esm/duet-slideout-link.entry.js +7 -7
  385. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  386. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  387. package/lib/esm/duet-slideout.entry.js +20 -14
  388. package/lib/esm/duet-status-icon.entry.js +3 -3
  389. package/lib/esm/duet-step_2.entry.js +7 -7
  390. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -5
  391. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  392. package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
  393. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  394. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  395. package/lib/esm/duet-textarea.entry.js +8 -8
  396. package/lib/esm/duet-toggle.entry.js +9 -9
  397. package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -5
  398. package/lib/esm/duet-toolbar-dropdown.entry.js +7 -7
  399. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  400. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  401. package/lib/esm/duet-toolbar.entry.js +4 -4
  402. package/lib/esm/duet-tooltip-button_2.entry.js +10 -10
  403. package/lib/esm/duet-tooltip.entry.js +5 -5
  404. package/lib/esm/duet-tray.entry.js +7 -7
  405. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  406. package/lib/esm/duet-upload-item.entry.js +6 -6
  407. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  408. package/lib/esm/duet.js +4 -4
  409. package/lib/esm/{errorcodes.utils-DuFCu_27.js → errorcodes.utils-S_WrUPeV.js} +1 -1
  410. package/lib/esm/{focus-utils-CFswdkeD.js → focus-utils-C4oaajGr.js} +1 -1
  411. package/lib/esm/{index-B2cboDWM.js → index-D3450NfA.js} +9 -9
  412. package/lib/esm/{keyboard-utils-Db8rvjPI.js → keyboard-utils-BaefVzkx.js} +2 -1
  413. package/lib/esm/{label-CJxIWUOT.js → label-C1HF2o4Y.js} +1 -1
  414. package/lib/esm/{language-utils-C4M4ASkT.js → language-utils-D4WVl8Ph.js} +1 -1
  415. package/lib/esm/loader.js +4 -4
  416. package/lib/esm/picture-utils-MSeJTkDk.js +13 -0
  417. package/lib/esm/{slot-utils--sNK1DNn.js → slot-utils-Dxcjtmp3.js} +1 -1
  418. package/lib/esm/{themeable-component-BBi3552X.js → themeable-component-QHdUfcat.js} +1 -1
  419. package/lib/esm/{token-utils-B0KAgyj_.js → token-utils-BILzD7LX.js} +1 -1
  420. package/lib/esm/{tokens.module-DEzE2U5T.js → tokens.module-kkZE1C6Z.js} +1 -1
  421. package/lib/types/components/duet-banner/duet-banner.d.ts +5 -1
  422. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  423. package/lib/types/components/duet-card/duet-card.d.ts +5 -0
  424. package/lib/types/components/duet-chip/duet-chip.d.ts +15 -8
  425. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +5 -0
  426. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +3 -0
  427. package/lib/types/components/duet-date-picker/date-utils.d.ts +4 -0
  428. package/lib/types/components/duet-date-picker/disallowed-days.d.ts +9 -0
  429. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +14 -0
  430. package/lib/types/components/duet-date-picker/finnish-bank-holidays.d.ts +11 -0
  431. package/lib/types/components/duet-hero/duet-hero.d.ts +5 -0
  432. package/lib/types/components/duet-input/duet-input.d.ts +11 -0
  433. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +5 -0
  434. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +6 -0
  435. package/lib/types/components.d.ts +104 -12
  436. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  437. package/package.json +5 -5
  438. package/lib/duet/p-0c04f9f5.entry.js +0 -4
  439. package/lib/duet/p-18a8ea12.entry.js +0 -4
  440. package/lib/duet/p-1bca9931.entry.js +0 -4
  441. package/lib/duet/p-3f3c6e64.entry.js +0 -4
  442. package/lib/duet/p-4af6a8ed.entry.js +0 -4
  443. package/lib/duet/p-5284c707.entry.js +0 -4
  444. package/lib/duet/p-5c9f443c.entry.js +0 -4
  445. package/lib/duet/p-5lFzA17H.js +0 -4
  446. package/lib/duet/p-6b469225.entry.js +0 -4
  447. package/lib/duet/p-7294c37d.entry.js +0 -4
  448. package/lib/duet/p-72b504ef.entry.js +0 -4
  449. package/lib/duet/p-74aac967.entry.js +0 -4
  450. package/lib/duet/p-7c08fd87.entry.js +0 -4
  451. package/lib/duet/p-83238bf3.entry.js +0 -4
  452. package/lib/duet/p-86ffd3cb.entry.js +0 -4
  453. package/lib/duet/p-871620d3.entry.js +0 -4
  454. package/lib/duet/p-9c9811ba.entry.js +0 -4
  455. package/lib/duet/p-B2cboDWM.js +0 -5
  456. package/lib/duet/p-B8-N_qjs.js +0 -4
  457. package/lib/duet/p-Cg4m_WHe.js +0 -4
  458. package/lib/duet/p-DEzE2U5T.js +0 -4
  459. package/lib/duet/p-Db8rvjPI.js +0 -4
  460. package/lib/duet/p-d5f90dbc.entry.js +0 -4
  461. package/lib/duet/p-fa13ffe9.entry.js +0 -4
  462. package/lib/duet/p-s8EL6NG5.js +0 -4
@@ -3,19 +3,19 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
7
  var _commonjsHelpers = require('./_commonjsHelpers-4N64IRaP.js');
8
8
  var formSearch = require('./form-search-CzPfHB80.js');
9
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
10
- var label = require('./label-CpPOBfjS.js');
9
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
10
+ var label = require('./label-Cu4DNShe.js');
11
11
  var createId = require('./create-id-DtslnIOq.js');
12
12
  var inputUtils = require('./input-utils-DUKdslOM.js');
13
- var keyboardUtils = require('./keyboard-utils-D9UlHbik.js');
14
- var languageUtils = require('./language-utils-C7Z0KYg-.js');
15
- var slotUtils = require('./slot-utils-BXdHT3A1.js');
16
- var tokenUtils = require('./token-utils-DY3-olMV.js');
13
+ var keyboardUtils = require('./keyboard-utils-DibQafwg.js');
14
+ var languageUtils = require('./language-utils-B3NubUDr.js');
15
+ var slotUtils = require('./slot-utils-Dny6EJ_G.js');
16
+ var tokenUtils = require('./token-utils-ZISdNshf.js');
17
17
  require('./string-utils-B35hEUBv.js');
18
- require('./tokens.module-CTbvyezn.js');
18
+ require('./tokens.module-CGRpZaa1.js');
19
19
 
20
20
  var formEmail;
21
21
  var hasRequiredFormEmail;
@@ -57,6 +57,7 @@ const DuetInput = class {
57
57
  this.topCaptionPlaceholderId = createId.createID("DuetCaptionPlaceholderTop");
58
58
  this.chipCountId = createId.createID("DuetInputChipCount");
59
59
  this.errorId = createId.createID("DuetError");
60
+ this.maxlengthAnnouncementKey = 0;
60
61
  this.disallowPatternRegex = null;
61
62
  this.clearLabel = {
62
63
  en: "Clear",
@@ -93,6 +94,11 @@ const DuetInput = class {
93
94
  fi: "valittu",
94
95
  sv: "valt",
95
96
  };
97
+ this.maxlengthReachedLabel = {
98
+ en: "This field has a maximum length of {max} characters. Limit reached.",
99
+ fi: "Tämän kentän enimmäispituus on {max} merkkiä. Raja on saavutettu.",
100
+ sv: "Det här fältet har en maximal längd på {max} tecken. Gränsen är nådd.",
101
+ };
96
102
  /**
97
103
  * State() variables
98
104
  */
@@ -102,6 +108,10 @@ const DuetInput = class {
102
108
  */
103
109
  this.isFocused = false;
104
110
  this._accessiblePopup = undefined;
111
+ /**
112
+ * Text announced to screen readers when the maxlength limit is reached.
113
+ */
114
+ this.maxlengthAnnouncement = "";
105
115
  /**
106
116
  * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
107
117
  */
@@ -232,9 +242,22 @@ const DuetInput = class {
232
242
  * Component event handling.
233
243
  */
234
244
  this.onInput = (ev) => {
235
- if (this.maxlength && this.nativeInput.value.length > this.maxlength) {
245
+ var _a;
246
+ // In addition to input event, maxlength handling uses also keyDown and paste events as input event may not be
247
+ // triggered when entry is truncated by the browser.
248
+ if (this.maxlength) {
249
+ const wasAtMaxlength = (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) >= this.maxlength;
250
+ const nativeLength = this.nativeInput.value.length;
236
251
  // Android doesn't honor maxlength
237
- this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
252
+ const inputOverflow = nativeLength > this.maxlength;
253
+ if (inputOverflow) {
254
+ this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
255
+ }
256
+ const limitJustReached = !wasAtMaxlength && nativeLength === this.maxlength;
257
+ const limitExceededWhileFull = wasAtMaxlength && inputOverflow;
258
+ if (limitJustReached || limitExceededWhileFull) {
259
+ this.handleMaxlengthLimitReached();
260
+ }
238
261
  }
239
262
  if (this.disallowPatternRegex) {
240
263
  inputUtils.cleanValue(this.nativeInput, this.disallowPatternRegex);
@@ -280,6 +303,30 @@ const DuetInput = class {
280
303
  component: "duet-input",
281
304
  });
282
305
  };
306
+ this.onInputKeyDown = (ev) => {
307
+ if (this.maxlength && keyboardUtils.isCharacterInsertKey(ev) && this.isAtMaxlengthWithoutSelection()) {
308
+ this.handleMaxlengthLimitReached();
309
+ }
310
+ };
311
+ this.onInputPaste = () => {
312
+ if (this.maxlength && this.isAtMaxlengthWithoutSelection()) {
313
+ this.handleMaxlengthLimitReached();
314
+ }
315
+ };
316
+ this.isAtMaxlengthWithoutSelection = () => {
317
+ const input = this.nativeInput;
318
+ const inputIsWithoutSelection = input.selectionStart === input.selectionEnd;
319
+ const inputIsAtMaxlength = input.value.length >= this.maxlength;
320
+ return inputIsWithoutSelection && inputIsAtMaxlength;
321
+ };
322
+ this.handleMaxlengthLimitReached = () => {
323
+ clearTimeout(this.maxlengthAnnouncementTimeoutId);
324
+ this.maxlengthAnnouncement = "";
325
+ this.maxlengthAnnouncementTimeoutId = setTimeout(() => {
326
+ this.maxlengthAnnouncementKey++;
327
+ this.maxlengthAnnouncement = this.maxlengthReachedLabel[this.language].replace("{max}", String(this.maxlength));
328
+ }, 300);
329
+ };
283
330
  /**
284
331
  * Private functions
285
332
  */
@@ -560,10 +607,15 @@ const DuetInput = class {
560
607
  if (this.type === "password") {
561
608
  return "off";
562
609
  }
610
+ const tokens = this.autoComplete.split(/\s+/);
563
611
  // If attribute includes "email", e.g. "work email", don't overwrite it
564
- if (this.type === "email" && this.autoComplete !== "off" && !this.autoComplete.includes("email")) {
612
+ if (this.type === "email" && this.autoComplete !== "off" && !tokens.includes("email")) {
565
613
  return "email";
566
614
  }
615
+ // If attribute includes "tel", e.g. "mobile tel", don't overwrite it
616
+ if (this.type === "tel" && this.autoComplete !== "off" && !tokens.includes("tel")) {
617
+ return "tel";
618
+ }
567
619
  return this.autoComplete;
568
620
  }
569
621
  /**
@@ -630,7 +682,7 @@ const DuetInput = class {
630
682
  this.type !== "password" &&
631
683
  this.type !== "time" &&
632
684
  this.variation !== "button";
633
- return (index.h(index.Host, { key: '776ea6ee90a20ff356574b64890a7b98d9947e6c', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (index.h("duet-visually-hidden", { key: 'a56addb34f4bcf57a59e060921e3dacab36a98b7', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), index.h("div", { key: '04447fa85e1470adbfc2307f7b2fd5758454e0b7', class: {
685
+ return (index.h(index.Host, { key: '1119e8e51f3a490e34665e77ce32ec21f7bc70c7', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (index.h("duet-visually-hidden", { key: '31afa65dcb1b161f8c5a87c65953a26a552066b8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), index.h("div", { key: '5574afef8c592593193cbf0c99eaf8eaa84dbf11', class: {
634
686
  "duet-input-container": true,
635
687
  "duet-theme-turva": this.theme === "turva",
636
688
  [`duet-input-variation-${this.variation}`]: true,
@@ -647,11 +699,11 @@ const DuetInput = class {
647
699
  "has-prefix": !!this.fieldPrefix,
648
700
  "has-suffix": !!this.fieldSuffix,
649
701
  disabled: this.disabled,
650
- } }, index.h("div", { key: 'f5f3de4654fac36f5ffb7e0302ffccb56263728a', class: "duet-input-label-container" }, index.h(label.DuetInternalLabel, { key: '566d4df4f7cfe09b50f4aedaf342cef70e7fc80a', theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { key: '7560dd36ade42746228061727b2fb2b38dce7ed6', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), index.h("slot", { key: '9b8a15f4f79269696a24c9fd989186f95dfc1e62', name: "tooltip" })), this.caption && (index.h("duet-caption", { key: 'c425ac21ec5942adfe5a4e48ae20080ab661bf4d', id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { key: 'ac98b112529396687ec21a938c55ce1b3d86f091', class: {
702
+ } }, index.h("div", { key: 'cd0dfb4e8ef821c84d342fff017da9b3e6938134', class: "duet-input-label-container" }, index.h(label.DuetInternalLabel, { key: '7ef9a4e3ccbc5b7ac030ca66912eb0471103ed10', theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { key: 'f263424aa51a59f4252cad4b4a1347b5986869ae', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), index.h("slot", { key: 'b4afd5ae65bbc03083b81996965cb354d6fd2a35', name: "tooltip" })), this.caption && (index.h("duet-caption", { key: '1d126824ee2ef4b7a4dae8650363e9da0b58c288', id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { key: 'adb5b8fa3b3de37c96d74fd1b888de75689a3ce0', class: {
651
703
  "duet-input-relative": true,
652
704
  "duet-theme-turva": this.theme === "turva",
653
705
  "has-error": !!this.error,
654
- } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (index.h("duet-caption", { key: 'db332864c2b97112aa2b9347da3d6c2468f77b0b', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (index.h("duet-visually-hidden", { key: 'e92de63c87071f00143ee9db06c94361970b704a', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${languageUtils.getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && index.h("slot", { key: '274e2fe6a604c30aa879ac72a33154f1fb3c8fc9', name: "button-left" }), this.fieldPrefix && (index.h("span", { key: '2bd5154e89d13c7562283684a3087c3c48481fb9', class: "input-adornment prefix", id: this.prefixId }, this.fieldPrefix)), index.h("input", Object.assign({ key: '0b77d2e90b3acdb1452d73ad2a736e924200009a', ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
706
+ } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (index.h("duet-caption", { key: 'fcadd06bf9e0dc4115c0bd004de23fa5692b03fc', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (index.h("duet-visually-hidden", { key: '84a8a1feed5a0895936f5e1d5ee310c6282f1678', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${languageUtils.getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && index.h("slot", { key: '90533c1b234e2644eb97317f903abbf04fee8138', name: "button-left" }), this.fieldPrefix && (index.h("span", { key: '151fd6757766b8c7e86ded73639d87bb32814089', class: "input-adornment prefix", id: this.prefixId }, this.fieldPrefix)), index.h("input", Object.assign({ key: '06811722717032661d4ba5e3bfa9c2b6196cf082', ref: input => (this.nativeInput = input), onInput: this.onInput, onKeyDown: this.onInputKeyDown, onPaste: this.onInputPaste, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
655
707
  "duet-input": true,
656
708
  disabled: this.disabled,
657
709
  "is-number": this.component === "number",
@@ -659,17 +711,17 @@ const DuetInput = class {
659
711
  "after-chip": this.getAllChips().length > 0,
660
712
  "align-right": this.inputAlign === "right",
661
713
  [`input-padding-${this.inputPadding}`]: true,
662
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.getAriaLabelledBy(), "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.getAutocomplete(), required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), this.fieldSuffix && (index.h("span", { key: '00f86f44a74b91127a1c11b696b51983d62a7c28', class: "input-adornment suffix", id: this.suffixId }, this.fieldSuffix)), !this.value && hasInputIcon && (index.h("div", { key: 'f1d531cc26ab9de06b90e38a4b790069fe920d88', class: "duet-input-icon" }, index.h("duet-icon", { key: 'fb14ea462e583a24e6bbd0337666dfa4ef9c9a1a', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (index.h("div", { key: 'f2e415cb5d8c5eaa0bbb1bb0cad942d8a976e9a5', class: {
714
+ }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.getAriaLabelledBy(), "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.getAutocomplete(), required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), this.maxlength && (index.h("duet-visually-hidden", { key: `maxlength-announcement-${this.maxlengthAnnouncementKey}`, "aria-live": "polite", "aria-atomic": "true" }, this.maxlengthAnnouncement)), this.fieldSuffix && (index.h("span", { key: 'b2d284fc05798f7dab08555f524cabf4f94f0e19', class: "input-adornment suffix", id: this.suffixId }, this.fieldSuffix)), !this.value && hasInputIcon && (index.h("div", { key: '8364a8a7687b6e37279585edf55da9005673f4df', class: "duet-input-icon" }, index.h("duet-icon", { key: '1b420da3e76241f1e105ce5ef8b9f40e6490424d', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (index.h("div", { key: 'c67978258fbf64a22563a8e139b7a7de012bb4ca', class: {
663
715
  "duet-input-clear-icon": true,
664
716
  "duet-input-clear-icon-single": !hasInputIcon,
665
717
  "duet-input-clear-icon-double": !!this.icon,
666
718
  "duet-input-clear-icon-button": this.variation === "button",
667
719
  [`input-padding-${this.inputPadding}`]: true,
668
- } }, index.h("button", { key: '7046a5f2c94bf429f4fc46dd4a9d590171975f04', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, index.h("duet-icon", { key: 'd33b0603197b14c98b4b8d76773f0c2325d365a9', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (index.h("div", { key: 'f5b6861e2cd8f9affe011fc08700092296ef50c8', class: "duet-input-icon" }, index.h("duet-icon", { key: 'af0f1a819e505da950eec079950eb2a6c13c5254', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && index.h("slot", { key: 'db2a27e9e1683615a207b34f63a2981e0bbfe3e8', name: "button" }), this.variation === "revealable" && (index.h("duet-button", { key: 'f2c727cd4f07ea799ad033e737f490d14a285ded', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
720
+ } }, index.h("button", { key: 'b243244d6d5184c42a9afb93483479a0b07bad7d', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, index.h("duet-icon", { key: '2ff21863005e55dc7a4dc1a16e2e2e40ad7f85cf', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (index.h("div", { key: '7732892f159a6c7c9ad7c89b0031052b1ed45502', class: "duet-input-icon" }, index.h("duet-icon", { key: '97de6dc8ff0c506db494dc36edc6d0107792c2b9', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && index.h("slot", { key: '5c940caf605e2eaff4db2a36c63548db78f36f41', name: "button" }), this.variation === "revealable" && (index.h("duet-button", { key: 'caf0a7c8bec4a620e2ca5f897eaabc1814f32c5d', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
669
721
  ? this.hidePasswordLabel[this.language]
670
- : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (index.h("duet-visually-hidden", { key: 'd240447d7431097c99bd50fa6241a48d87b48ae0' }, index.h("span", { key: '47d29c787f119d0dae23436a69b192855b7bca63', "aria-live": "polite" }, this.isPasswordRevealed
722
+ : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (index.h("duet-visually-hidden", { key: 'cc394dbd7d28fc9e1cf0a864c67e7e7a6a835d1a' }, index.h("span", { key: '20033ed28c86634d6faf03180e53cff84def1329', "aria-live": "polite" }, this.isPasswordRevealed
671
723
  ? this.passwordShownAriaAnnouncement[this.language]
672
- : this.passwordHiddenAriaAnnouncement[this.language]))), index.h("slot", { key: 'cd872ef0355479149e3b926e98e33ebccc1d0faa' })), index.h("span", { key: 'bbbbc5e7b7b1ddd8064bdda229ad110686075dd2', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && index.h("span", { key: '91876b01063f2de6147210b06daad0e5a3c71b3c', class: "duet-input-error" }, this.error)))));
724
+ : this.passwordHiddenAriaAnnouncement[this.language]))), index.h("slot", { key: 'b72c50503fa80fd1ba6764b7b3348bc5d7b2813c' })), index.h("span", { key: '25790e8c5147bb271fefa6cbce2343287b57c816', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && index.h("span", { key: 'c62d261a03ebec492aed9c65a836525e47660cfc', class: "duet-input-error" }, this.error)))));
673
725
  }
674
726
  get element() { return index.getElement(this); }
675
727
  static get watchers() { return {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
7
  var isInternetExplorer = require('./is-internet-explorer-BTLb_loH.js');
8
- var slotUtils = require('./slot-utils-BXdHT3A1.js');
8
+ var slotUtils = require('./slot-utils-Dny6EJ_G.js');
9
9
 
10
10
  const duetLayoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::slotted([slot=page-heading]){width:calc(100% + 32px);margin:0 -16px 0 -16px}@media (min-width: 36em){::slotted([slot=page-heading]){width:calc(100% + 56px);margin:0 -28px 0 -28px}}@media (min-width: 62em){::slotted([slot=page-heading]){width:calc(100% + 112px);margin:0 -56px 0 -56px}}:host(.center) ::slotted([slot=page-heading]){width:calc(100% + 32px);margin:0 -16px 0 -16px}@media (min-width: 36em){:host(.center) ::slotted([slot=page-heading]){width:calc(100% + 96px);margin:0 -48px 0 -48px}}@media (min-width: 48em){:host(.center) ::slotted([slot=page-heading]){width:calc(100% + 144px);margin:0 -72px 0 -72px}}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;flex:1 0 auto;width:100%}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-middle) .heading-wrapper{padding:0 !important}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout-wrapper{display:block;margin:48px 0 36px;overflow-x:clip}@media (min-width: 36em){.duet-layout-wrapper{margin-top:72px}}@media (min-width: 62em){.duet-layout-wrapper{margin-bottom:48px}}.duet-layout-wrapper.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout-wrapper>*{width:100%}.duet-layout{position:relative;padding:0 16px;margin:0 auto}@media (max-width: 20.5em){.duet-layout.padding-xxx-small{padding:0}}@media (max-width: 22.5em){.duet-layout.padding-xx-small{padding:0}}@media (max-width: 35.9375em){.duet-layout.padding-x-small{padding:0}}@media (min-width: 36em){.duet-layout.padding-small{padding:0}}@media (min-width: 48em){.duet-layout.padding-medium{padding:0}}@media (min-width: 62em){.duet-layout.padding-large{padding:0}}@media (min-width: 64.0625em){.duet-layout.padding-x-large{padding:0}}@media (min-width: 76.25em){.duet-layout.padding-xx-large{padding:0}}@media (min-width: 106.25em){.duet-layout.padding-xxx-large{padding:0}}.duet-layout.duet-center{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){.duet-layout.duet-center{padding:0 48px}}@media (min-width: 48em){.duet-layout.duet-center{padding:0 72px}}@media (min-width: 62em){.duet-layout.duet-center{width:100%}}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main,.duet-sidebar,.duet-layout-top,.duet-layout-bottom{display:block;width:100%}.duet-layout-top{position:relative;display:block;width:100%}.duet-layout-top .duet-layout-top-wrapper{padding:0 20px;margin:0 auto}@media (min-width: 36em){.duet-layout-top .duet-layout-top-wrapper{padding:0 28px}}@media (min-width: 62em){.duet-layout-top .duet-layout-top-wrapper{padding:0 56px}}@media (min-width: 76.25em){.duet-layout-top .duet-layout-top-wrapper{max-width:1110px;padding:0}}.duet-center .duet-layout-top-wrapper{max-width:888px}@media (min-width: 36em){.duet-center .duet-layout-top-wrapper{padding:0 48px}}@media (min-width: 48em){.duet-center .duet-layout-top-wrapper{padding:0 72px}}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}@media (min-width: 62em){.duet-sidebar{min-width:256px;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container{width:auto;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container.has-tabs{margin-top:89px}}@media (min-width: 62em){.duet-sidebar-container.sticky{position:sticky}.duet-sidebar-container.sticky.with-links{top:calc(3rem + 20px)}.duet-sidebar-container.sticky.without-links{top:calc(4rem + 20px)}}";
11
11
 
@@ -66,24 +66,24 @@ const DuetLayout = class {
66
66
  * Always the last one in the class.
67
67
  */
68
68
  render() {
69
- return (index.h(index.Host, { key: '7796cda5c4db65768c100838b80382b318b3ac73', class: {
69
+ return (index.h(index.Host, { key: 'c3ba619c0c3088257b425ba8f5022ebef33c1100', class: {
70
70
  center: this.center,
71
71
  "duet-middle": this.middle,
72
72
  "duet-ie": isInternetExplorer.isInternetExplorer(),
73
- } }, index.h("div", { key: '1b4f06b0ccaf2a93e30cb57085b3260c9d138d1f', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (index.h("div", { key: '9b64258743ef0f5802e2853b2251788fc3c7f02d', class: {
73
+ } }, index.h("div", { key: 'd627f63579dfb957bf3abe17191e8a8e943f0aae', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (index.h("div", { key: '4586ff77f2ef4209020a2401eef63273527a2e27', class: {
74
74
  "duet-layout-top": true,
75
75
  "duet-center": this.center,
76
- } }, index.h("div", { key: '8de64147ed6cd7c0942f5f477da01c1ee4a8a0ce', class: "duet-layout-top-wrapper" }, index.h("slot", { key: '5b3dcec144e1e7a7707f52b18b8b1dc1d3cb13e7', name: "top" })))), index.h("div", { key: '57ef787cdd754a6749f76ce151ed15bb779b110b', class: {
76
+ } }, index.h("div", { key: 'daebb47e73054b59bb0459dc3327e0e60b17ebbe', class: "duet-layout-top-wrapper" }, index.h("slot", { key: '339fac00b53c0b4f532cfc77d5743217b5f72057', name: "top" })))), index.h("div", { key: 'bbf287d1f0aa701c40553a426b7a77b0a1c24c17', class: {
77
77
  "duet-layout": true,
78
78
  "has-sidebar": this.hasSidebar,
79
79
  "duet-center": this.center,
80
80
  [`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
81
- } }, index.h("main", { key: '11712887cb73595787e00eb4ae51be583e222d69', class: "duet-main" }, this.hasPageHeading && index.h("slot", { key: '024128c99761e9ce2df803f1a7af98da0bb39d48', name: "page-heading" }), index.h("slot", { key: '5ec1793d46d607633b527d9497e9c160f1879f4a', name: "main" })), this.hasSidebar && (index.h("aside", { key: 'c68315f8b323267fabd94fb2f45fa29294c6e17a', class: "duet-sidebar" }, index.h("div", { key: '5222f4a3bc1b36710f1efc85cd09c31cd676d661', class: {
81
+ } }, index.h("main", { key: '0d75aa9aeb65fa61f8e0ff114cee467abe49f1cd', class: "duet-main" }, this.hasPageHeading && index.h("slot", { key: 'fd0ed7464c54122f1cfbbfbfc40f78d8c9ab41c7', name: "page-heading" }), index.h("slot", { key: '1004e4007a1d82e22147ddf3a883e8ddc9c7b0dc', name: "main" })), this.hasSidebar && (index.h("aside", { key: '167c6d2495c8bbc7cd0275f723e0810b9fc311b6', class: "duet-sidebar" }, index.h("div", { key: 'f0bbcbeb756bf18ba1b678c405c3890fb00ad857', class: {
82
82
  "duet-sidebar-container": true,
83
83
  "has-tabs": this.tabs,
84
84
  sticky: this.sticky,
85
85
  [this.stickyDistance]: this.sticky,
86
- } }, index.h("slot", { key: '2c51db0affb26210fbbf38b7776d66f64c530f6f', name: "sidebar" }))))))));
86
+ } }, index.h("slot", { key: 'b8b30e8b29bb87ea6a0c0891ca5f841d0921f72b', name: "sidebar" }))))))));
87
87
  }
88
88
  get element() { return index.getElement(this); }
89
89
  };
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
8
  var watchOptions = require('./watch-options-D4JNsU3B.js');
9
9
 
10
10
  const duetListCss = "*,*::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;display:block;width:100%}.duet-list-component{margin-bottom:16px !important;width:100%}.duet-list-component.duet-p-0{padding:0 !important}.duet-list-component.duet-m-0{margin:0 !important}";
@@ -107,7 +107,7 @@ const DuetList = class {
107
107
  * Always the last one in the class.
108
108
  */
109
109
  render() {
110
- return (index.h("dl", { key: '8b5a83409655ee3c79b0d076851d5f35ac038766', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, index.h("slot", { key: 'f9e3dfbf22a5055c0ee910c4347f2d69b7971d59' })));
110
+ return (index.h("dl", { key: 'c83e43f3d82e32198e0a5d45a0812b8358f6be07', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, index.h("slot", { key: '7a65328f555edf10f4da02166eebcfcf8b8f68f7' })));
111
111
  }
112
112
  get element() { return index.getElement(this); }
113
113
  static get watchers() { return {
@@ -152,7 +152,7 @@ const DuetListItem = class {
152
152
  * Always the last one in the class.
153
153
  */
154
154
  render() {
155
- return (index.h(index.Host, { key: '2fc646c6ec771484ba741b13db4e05af02190613', class: {
155
+ return (index.h(index.Host, { key: '83029afa5ebc666926eb1572b8ad9a311bdbfcf1', class: {
156
156
  "duet-theme-turva": this.theme === "turva",
157
157
  "duet-no-stacking": !this.responsive,
158
158
  "duet-list-item-breakpoint-x-small": this.breakpoint === "x-small",
@@ -160,7 +160,7 @@ const DuetListItem = class {
160
160
  "duet-list-item-breakpoint-medium": this.breakpoint === "medium",
161
161
  "duet-list-item-breakpoint-large": this.breakpoint === "large",
162
162
  "duet-list-item-breakpoint-x-large": this.breakpoint === "x-large",
163
- } }, index.h("dt", { key: 'a6f04cd679b723dec94b73f49a1f01e765cc2c2c' }, index.h("slot", { key: '3406e6b4499bc4e1ccbb65c8c20861a940058120', name: "label" })), index.h("dd", { key: '12904de4492dd50e266c323d2d038a514e4ed4f1' }, index.h("slot", { key: '1b5922436da8b77d4687c2fe55e7f58c5af37647', name: "value" }))));
163
+ } }, index.h("dt", { key: '884936458d12b95cd553cd4dc4d8a237cd8e5830' }, index.h("slot", { key: 'b17473caf7b410acf49f8c68f9ae53b3071397d7', name: "label" })), index.h("dd", { key: 'e5c6aa8b8d8998d500d27493896a288f71861df6' }, index.h("slot", { key: '7a6a3b223c394bb3376d7734791cfd439076d5f7', name: "value" }))));
164
164
  }
165
165
  get element() { return index.getElement(this); }
166
166
  };
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
8
 
9
9
  const duetMenuBarButtonCss = "*,*::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-menu-bar-button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;color:inherit;text-align:center;text-decoration:none;cursor:pointer}.duet-menu-bar-button:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-button:focus,.duet-menu-bar-button:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-button .menu-bar-button-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-button .menu-bar-button-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-button{padding:0 28px}}@media (min-width: 62em){.duet-menu-bar-button:hover{color:rgb(0, 119, 179)}}.duet-theme-turva.duet-menu-bar-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}@media (min-width: 62em){.duet-theme-turva.duet-menu-bar-button:hover{color:rgb(230, 23, 64)}}";
10
10
 
@@ -55,10 +55,10 @@ const DuetMenuBarButton = class {
55
55
  * Always the last one in the class.
56
56
  */
57
57
  render() {
58
- return (index.h(index.Host, { key: '27fb2c633e88b04b7397830d15c881240d29a91b', role: "listitem", onfocus: () => this.setFocus() }, index.h("button", { key: '29791cfd8473dc9407238460bcb1e169f183f074', ref: button => (this.nativeButton = button), class: {
58
+ return (index.h(index.Host, { key: 'e826fdb0b0fb223aea52738971ddbc17f6004833', role: "listitem", onfocus: () => this.setFocus() }, index.h("button", { key: '350dd3a06df24d5f3a3f3dccb4a4a48b4a43e9f7', ref: button => (this.nativeButton = button), class: {
59
59
  "duet-menu-bar-button": true,
60
60
  "duet-theme-turva": this.theme === "turva",
61
- }, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { key: 'e037dac1385bef39b070602ba5bfb278470a49dd', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", { key: '95fd0aef38328dece2756ceed18c904c0c447d76' }))));
61
+ }, "aria-controls": this.accessibleControls, "aria-label": this.accessibleLabel, "aria-expanded": this.accessibleExpanded != null ? this.accessibleExpanded.toString() : undefined, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-pressed": this.accessiblePressed != null ? this.accessiblePressed.toString() : undefined, "aria-haspopup": this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined }, this.icon && (index.h("duet-icon", { key: '96911d1ad50d5b247e27d3e6b5712326434a6354', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", { key: '004e73cb6a5e6f3126a45d9fa7184f7b424d4f60' }))));
62
62
  }
63
63
  get element() { return index.getElement(this); }
64
64
  };
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
8
- var keyboardUtils = require('./keyboard-utils-D9UlHbik.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
+ var keyboardUtils = require('./keyboard-utils-DibQafwg.js');
9
9
 
10
10
  const duetMenuBarDropdownLinkCss = "*,*::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-menu-bar-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:left;text-decoration:none}.duet-menu-bar-dropdown-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-dropdown-link:focus,.duet-menu-bar-dropdown-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-dropdown-link:hover{background:rgb(228, 241, 247)}.duet-menu-bar-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-menu-bar-dropdown-link.duet-theme-turva:hover{background:rgb(251, 235, 225)}";
11
11
 
@@ -54,11 +54,11 @@ const DuetMenuBarDropdownLink = class {
54
54
  * Always the last one in the class.
55
55
  */
56
56
  render() {
57
- return (index.h(index.Host, { key: '44c02bb0c92ca03579e70dc6f79178099f38de61' }, index.h("a", { key: '26b45ac19043800a070894afec67517d051b6ccc', class: {
57
+ return (index.h(index.Host, { key: '9321ae6f770fbc1b00cde317df160db1d32fc53a' }, index.h("a", { key: '85ef5b95cffcae577699f0a3453b0c3fd24d50e9', class: {
58
58
  "duet-menu-bar-dropdown-link": true,
59
59
  [`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]: true,
60
60
  "duet-theme-turva": this.theme === "turva",
61
- }, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e), "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { key: '4d481450931bbf089d2f6d5ee7076aca7c3978f1', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("slot", { key: 'b47043814429787c833949bac92bae95b2001419' }))));
61
+ }, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e), "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { key: '374d983fce34f87bf8c7878ede20b9fae712b8cc', theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), index.h("slot", { key: '26ababe0542732c2fc589340dda968e3bc574caa' }))));
62
62
  }
63
63
  get element() { return index.getElement(this); }
64
64
  };
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
8
- var keyboardUtils = require('./keyboard-utils-D9UlHbik.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
+ var keyboardUtils = require('./keyboard-utils-DibQafwg.js');
9
9
 
10
10
  const duetMenuBarDropdownCss = "*,*::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%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;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-menu-bar-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-dropdown button:focus,.duet-menu-bar-dropdown button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-dropdown .menu-bar-dropdown-icon{width:16px;height:16px}}.duet-menu-bar-dropdown .items{position:absolute;top:70%;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;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-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-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-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(230, 23, 64)}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(230, 23, 64)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(230, 23, 64)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}";
11
11
 
@@ -68,17 +68,17 @@ const DuetMenuBarDropdown = class {
68
68
  * Always the last one in the class.
69
69
  */
70
70
  render() {
71
- return (index.h(index.Host, { key: 'c46c77a3b37d72d4f026c5027a8bed6dc33621c5', role: "listitem" }, index.h("div", { key: 'bed24491075bfc2c5dcf225c5262a1af76e7a34f', class: {
71
+ return (index.h(index.Host, { key: 'a8e5a338b3e99161819aca174ed5d7390adcd508', role: "listitem" }, index.h("div", { key: '3515f7355c3f564bdebbea9a7d1845754ad9d3ce', class: {
72
72
  "duet-menu-bar-dropdown": true,
73
73
  "duet-theme-turva": this.theme === "turva",
74
74
  active: this.open,
75
75
  [`duet-menu-bar-dropdown--slot-${this.getVariant()}`]: true,
76
- } }, index.h("button", { key: 'bee18f72f97fe86364cdf6afa685602feea7f694', ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
76
+ } }, index.h("button", { key: '8ae1babb7852048ac222167858eeb10f2ef8a3ee', ref: element => (this.button = element), "aria-label": this.accessibleLabel, "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
77
77
  active: this.open,
78
- }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { key: '9b5beb13681712fe262c14ba74de6b30ab481dff', class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { key: 'debea3ea41d1b4358dbf774b54558d8921b92006', class: "label" }, index.h("slot", { key: 'fffcc54cdfb0032577c066e374c3465eafac3206', name: "label" }), index.h("duet-icon", { key: 'a36c591292ca2c2b445e04f53721f788a4005934', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { key: '3794aa5366239e4db4286303ef75f30778e3b911', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
78
+ }, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (index.h("duet-icon", { key: '2d22eaa31070fc91119b0d15fcae8768764b3038', class: "menu-bar-dropdown-icon", theme: this.theme, name: this.icon, size: "auto", margin: "none", color: "currentColor" })), index.h("div", { key: 'fa891196c7c3247a4349fc5db8d59e0500754cb9', class: "label" }, index.h("slot", { key: '59a1658b0e39bae2f94b8583e7ce787118f13221', name: "label" }), index.h("duet-icon", { key: '31da6e0c50072b0411a7e9c69d79aa810963d0b8', class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), index.h("div", { key: '9490db9c65cf17be947333aed8562e5a146da13e', tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
79
79
  items: true,
80
80
  hidden: !this.open,
81
- } }, index.h("slot", { key: '4a0657ee88ab885d6e177b654e0e9231d0027ec1' })))));
81
+ } }, index.h("slot", { key: '31a887188bb39ed4efbe1383940b3b8db7396102' })))));
82
82
  }
83
83
  get element() { return index.getElement(this); }
84
84
  };
@@ -3,14 +3,14 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
7
  var actionNewWindowSmall = require('./action-new-window-small-BWlVx6YN.js');
8
8
  var commonStrings = require('./common-strings-DMaSb4Ld.js');
9
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
10
- var a11yUtils = require('./a11y-utils-DaAO4N9d.js');
11
- var languageUtils = require('./language-utils-C7Z0KYg-.js');
9
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
10
+ var a11yUtils = require('./a11y-utils-CgWjS7yq.js');
11
+ var languageUtils = require('./language-utils-B3NubUDr.js');
12
12
  require('./_commonjsHelpers-4N64IRaP.js');
13
- require('./slot-utils-BXdHT3A1.js');
13
+ require('./slot-utils-Dny6EJ_G.js');
14
14
  require('./string-utils-B35hEUBv.js');
15
15
 
16
16
  const duetMenuBarItemCss = "*,*::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-menu-bar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:inherit;font-weight:inherit;color:inherit;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer}.duet-menu-bar-item:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-item:focus,.duet-menu-bar-item:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-item .leading-icon,.duet-menu-bar-item .trailing-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-item .leading-icon,.duet-menu-bar-item .trailing-icon{width:16px;height:16px}}.duet-menu-bar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-menu-bar-item .external-icon{width:10px;height:10px}.duet-menu-bar-item[aria-expanded=true]{color:rgb(0, 119, 179)}.duet-menu-bar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}@media (min-width: 62em){.duet-menu-bar-item{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-item{padding:0 28px}}.duet-menu-bar-item.active{color:rgb(0, 119, 179)}.duet-menu-bar-item.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}@media (min-width: 62em){.duet-menu-bar-item.active::after{z-index:auto;height:2px}}@media (min-width: 62em){.duet-menu-bar-item:hover{color:rgb(0, 119, 179)}}.duet-menu-bar-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-menu-bar-item.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-menu-bar-item.duet-theme-turva[aria-expanded=true]{color:rgb(230, 23, 64)}.duet-menu-bar-item.active.duet-theme-turva{color:rgb(230, 23, 64)}.duet-menu-bar-item.active.duet-theme-turva::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-menu-bar-item.duet-theme-turva:hover{color:rgb(230, 23, 64)}}";
@@ -80,11 +80,11 @@ const DuetMenuBarItem = class {
80
80
  */
81
81
  render() {
82
82
  const TagName = this.url ? "a" : "button";
83
- return (index.h(index.Host, { key: '9feca792c6d12ed05344d17db4a5076ad037994e', role: "listitem" }, index.h(TagName, { key: '5ab6813f5290c5f323713e6015a46330089d555a', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
83
+ return (index.h(index.Host, { key: '19ec1a0c3d191845df0ae30cdb8f9b83c198b79b', role: "listitem" }, index.h(TagName, { key: '85786500b66990fe9eee940a466ab9cd08eb2103', target: !this.url ? null : this.external ? "_blank" : "_self", ref: element => (this.itemElement = element), class: {
84
84
  "duet-menu-bar-item": true,
85
85
  "duet-theme-turva": this.theme === "turva",
86
86
  active: this.active,
87
- }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && a11yUtils.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 && (index.h("duet-icon", { key: '7b6541e7b7cab53fedf815feebc683b9f122e323', class: "leading-icon", size: "auto", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), index.h("slot", { key: 'ab89cf87285d10e52798cd123c404acb69d6bf91' }), (this.trailingIcon || this.external) && (index.h("duet-icon", { key: '6bc587bed959b634caf6b25db7f3374ed538151c', class: {
87
+ }, href: this.url, role: `${TagName === "a" ? "link" : "button"}`, "aria-current": this.active ? "true" : "false", "aria-label": (this.url && a11yUtils.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 && (index.h("duet-icon", { key: 'ba8faece0464d006590733c1ff8437cdd931ca03', class: "leading-icon", size: "auto", name: this.leadingIcon, margin: "none", theme: this.theme, color: "currentColor" })), index.h("slot", { key: '80207075bb856dbfecb6a91e0a72b13287751da4' }), (this.trailingIcon || this.external) && (index.h("duet-icon", { key: '7e04921588a4c306f61b8056c7c0a7b83c2c29f8', class: {
88
88
  "trailing-icon": !!this.trailingIcon,
89
89
  "trailing-icon-arrow": this.trailingIcon === "action-arrow-down-small",
90
90
  "external-icon": !!this.external,
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
8
 
9
9
  const duetMenuBarLinkCss = "*,*::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-menu-bar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:inherit;text-align:center;white-space:nowrap;text-decoration:none}.duet-menu-bar-link:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-link:focus,.duet-menu-bar-link:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-link .menu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-link .menu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-menu-bar-link{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-link{padding:0 28px}}.duet-menu-bar-link.active{color:rgb(0, 119, 179)}.duet-menu-bar-link.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}@media (min-width: 62em){.duet-menu-bar-link.active::after{z-index:auto;height:2px}}@media (min-width: 62em){.duet-menu-bar-link:hover{color:rgb(0, 119, 179)}}.duet-menu-bar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-menu-bar-link.active.duet-theme-turva{color:rgb(230, 23, 64)}.duet-menu-bar-link.active.duet-theme-turva::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-menu-bar-link.duet-theme-turva:hover{color:rgb(230, 23, 64)}}";
10
10
 
@@ -39,11 +39,11 @@ const DuetMenuBarLink = class {
39
39
  * Always the last one in the class.
40
40
  */
41
41
  render() {
42
- return (index.h(index.Host, { key: '044fd632f4ea61ecd3bbbb77e3c2d0eda50f16a4', role: "listitem" }, index.h("a", { key: 'b910e6d15c696910ab231b49facb9cd3250d66c4', class: {
42
+ return (index.h(index.Host, { key: 'ed2a24c6bdd70f91370a4a70bf22804ce698ca49', role: "listitem" }, index.h("a", { key: 'f957e2da0344bdd58789bb90151c23b341824d93', class: {
43
43
  "duet-menu-bar-link": true,
44
44
  "duet-theme-turva": this.theme === "turva",
45
45
  active: this.active,
46
- }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { key: '46ede326e61111856df4318b018a4128b7743658', class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", { key: '774a0d744c12e5d43783123c2d07d450a0ad0472' }))));
46
+ }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { key: 'c6f7c0a4fbc065c7ff132dba57ec468036359582', class: "menu-bar-link-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), index.h("slot", { key: '73100c0c85e3087896e81c526816b1e92d13b9c3' }))));
47
47
  }
48
48
  get element() { return index.getElement(this); }
49
49
  };
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-ZxE6MB5V.js');
7
- var themeableComponent = require('./themeable-component-CIDaln0Z.js');
8
- var languageUtils = require('./language-utils-C7Z0KYg-.js');
6
+ var index = require('./index-BeiMjjVl.js');
7
+ var themeableComponent = require('./themeable-component-Csdvrnsd.js');
8
+ var languageUtils = require('./language-utils-B3NubUDr.js');
9
9
  require('./string-utils-B35hEUBv.js');
10
10
 
11
11
  const duetMenuBarCss = "*,*::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%;pointer-events:none}:host *{pointer-events:auto}.duet-menu-bar{position:relative;top:0;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:top 0.3s}.duet-menu-bar.hidden{top:-200px}.duet-menu-bar.bottom{z-index:1}@media (min-width: 62em){.duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}.duet-menu-bar .top{display:none}.duet-menu-bar .bottom{display:none}.duet-menu-bar.horizontal-nav{position:relative}.duet-menu-bar.horizontal-nav .top{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}.duet-menu-bar.horizontal-nav .bottom{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(212, 223, 229)}.duet-menu-bar.horizontal-nav .more-left{position:absolute;top:0;left:0;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-left{display:none}}.duet-menu-bar.horizontal-nav .more-right{position:absolute;top:0;right:0;z-index:1;width:56px;height:49px;pointer-events:none;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-right{display:none}}@media (pointer: fine){.duet-menu-bar.horizontal-nav{display:none}}@media (pointer: fine) and ((min-width: 62em)){.duet-menu-bar.horizontal-nav{display:flex}}.duet-menu-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}.duet-menu-bar .container::-webkit-scrollbar{width:0;height:0}.duet-menu-bar .container duet-logo.large,.duet-menu-bar .container duet-logo.only-symbol{display:none}.duet-menu-bar .container.with-info-text duet-logo.medium{display:none}.duet-menu-bar .container.with-info-text duet-logo.only-symbol{display:block}@media (min-width: 48em){.duet-menu-bar .container.with-info-text duet-logo.medium{display:block}.duet-menu-bar .container.with-info-text duet-logo.only-symbol{display:none}}@media (min-width: 76.25em){.duet-menu-bar .container duet-logo.medium{display:none}.duet-menu-bar .container duet-logo.large{display:block}}@media (min-width: 62em){.duet-menu-bar .container{height:5rem;padding:0 28px;overflow-x:visible}}.duet-menu-bar .container .list{height:100%;list-style-type:none}.duet-menu-bar .container ::slotted(*){height:100%}.duet-menu-bar .container>*{display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container>:first-child{flex-grow:1;flex-basis:0;justify-content:flex-start;width:auto;height:40px}@media (min-width: 76.25em){.duet-menu-bar .container>:first-child{height:48px}}.duet-menu-bar .container>:first-child:has(.duet-logo-info-text){flex-grow:8}.duet-menu-bar .container>:first-child:has(.duet-logo-info-text) duet-paragraph{max-height:100%}.duet-menu-bar .container>:last-child{flex-grow:1;flex-basis:0;justify-content:flex-end}.duet-menu-bar .container ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container .duet-logo-info-text{max-height:2.8875rem;padding-left:16px;margin-left:16px;overflow:hidden;text-overflow:ellipsis;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-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.1;color:rgb(62, 84, 102);-webkit-hyphens:auto;hyphens:auto;border-left:1px solid rgb(212, 223, 229)}@media (min-width: 48em){.duet-menu-bar .container .duet-logo-info-text{max-height:3.3rem;font-size:1rem}}.duet-menu-bar.duet-menu-bar-slim .container duet-logo.medium{display:block}.duet-menu-bar.duet-menu-bar-slim .container duet-logo.large{display:none}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.medium{display:none}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.only-symbol{display:block}@media (min-width: 48em){.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.medium{display:block}.duet-menu-bar.duet-menu-bar-slim .container.with-info-text duet-logo.only-symbol{display:none}}@media (min-width: 62em){.duet-menu-bar.duet-menu-bar-slim .container{height:4rem}}.center{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77)}.right{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 75, 129)}.duet-theme-turva .duet-menu-bar{background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-theme-turva .duet-menu-bar{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}.duet-theme-turva .center{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-theme-turva .right{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-theme-turva .duet-logo-info-text{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(53, 79, 101);border-left-color:rgb(212, 221, 226)}";
@@ -133,17 +133,17 @@ const DuetMenuBar = class {
133
133
  render() {
134
134
  const slideoutAvailable = document.querySelectorAll("duet-slideout").length > 0;
135
135
  const isUsedAsAdditionalHorizontalNav = slideoutAvailable && !this.logo;
136
- return (index.h(index.Host, { key: '0ebf784bb990ec8bd12412e38dd2ba2a78fb52b7' }, index.h("nav", { key: '64c163dbdfb5179dae0026489a795e2834141a8a', class: {
136
+ return (index.h(index.Host, { key: '8e72a749ab5f9a2b180ea11670931e4a5f1dfc48' }, index.h("nav", { key: '13aa3dead3343cbd11debfec1c4e4c7b6d58ea41', class: {
137
137
  "duet-menu-bar": true,
138
138
  "duet-theme-turva": this.theme === "turva",
139
139
  "horizontal-nav": isUsedAsAdditionalHorizontalNav,
140
140
  "duet-menu-bar-slim": !this.centerSlotUsed,
141
141
  hidden: this.hidden && this.hideOnScroll,
142
142
  bottom: this.onBottom,
143
- }, "aria-label": this.accessibleLabel }, index.h("div", { key: 'f98ccc695bc530e42a1301dfd641cc370657db84', class: "top" }), index.h("div", { key: 'd642b8235270592ef2fe2f8a0e09efc1f7c6642a', class: { container: true, "with-info-text": !!this.logoInfoText && !this.centerSlotUsed }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (index.h("div", { key: '0af4e7323cad0bd980ed583c1fca8d84d8bb91e5' }, index.h("duet-logo", { key: 'f6c4faec9956d31df570be2e37dcff785eb716e3', class: "medium", size: "medium", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), index.h("duet-logo", { key: 'b32ee7cfe7ffdffe9daadb6a3e134fbd8f1a979a', class: "large", size: "large", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), index.h("duet-logo", { key: '2051733dc6d65e369f731cc2060cc7ffd64433a9', class: "only-symbol", onlySymbol: true, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), this.logoInfoText && !this.centerSlotUsed && (index.h("div", { key: '3e4aabaf4fe328670b3c0aac894219ed8d8948b8', class: {
143
+ }, "aria-label": this.accessibleLabel }, index.h("div", { key: 'f6f5066520f23e2f40105c60550f9ca09a3f3ce4', class: "top" }), index.h("div", { key: '1bc95be8d4b824e14c1ab97ea7b6131bdf80ae84', class: { container: true, "with-info-text": !!this.logoInfoText && !this.centerSlotUsed }, ref: el => (this.container = el), onScroll: () => this.scrollbarCheck() }, this.logo && (index.h("div", { key: '1126ebdb087ef0879f0a3367a7c230d1b161e14c' }, index.h("duet-logo", { key: '770ef75946420cf9122526af88eac7afec069ae2', class: "medium", size: "medium", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), index.h("duet-logo", { key: '400f1b37fe02584a549d7b20e9a8df46ecfdf1b3', class: "large", size: "large", margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), index.h("duet-logo", { key: '91c920bbb82868d57688e80a8cb8ce9e0862d44a', class: "only-symbol", onlySymbol: true, margin: "none", theme: this.theme, href: this.logoHref, accessibleLabel: this.logoLinkAccessibleLabel, onClick: this.handleLogoClick, language: this.language }), this.logoInfoText && !this.centerSlotUsed && (index.h("div", { key: 'fffe9b63fe88c88c7513747e8c7c4c6132a09bc3', class: {
144
144
  "duet-logo-info-text": true,
145
145
  "duet-theme-turva": this.theme === "turva",
146
- } }, this.logoInfoText)))), index.h("div", { key: '69a656950f585ea5a403c2cbef0fe43a187c3fb9', class: "list center", role: "list" }, index.h("div", { key: 'c09b81f8d1445a9a6e160a17e8b2ae8385e48c32', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), index.h("slot", { key: '73b85aa0012107a492b4193248889d19dc4f0284', name: "center" }), index.h("div", { key: 'd63135139588f5edde15aa4fe06db312f81c2d16', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), index.h("div", { key: '2e226edcf43265cfe66c6d593b852e22bc0b184c', class: "list right", role: "list" }, index.h("slot", { key: 'ff09b9aca19634847dec1ae050e29378cffee6eb', name: "right" }))), index.h("div", { key: '037e499130954d66e9a319da25bbf134fa53acec', class: "bottom" }))));
146
+ } }, this.logoInfoText)))), index.h("div", { key: '7f0792cfa41b0056d5cc7cc307664b527d0b5936', class: "list center", role: "list" }, index.h("div", { key: '0c670a1650d4733e837851a0205225e559bb62ed', class: "more-left", hidden: !this.leftMoreVisible, role: "presentation" }), index.h("slot", { key: 'ff44edce07857e78676b4dbcf06f078d6974d15b', name: "center" }), index.h("div", { key: '6b742ff9c5f993a8814689cea374a5befc4c88ec', class: "more-right", hidden: !this.rightMoreVisible, role: "presentation" })), index.h("div", { key: 'c1fd0a243705d349ff084880a3523c4ebf62d474', class: "list right", role: "list" }, index.h("slot", { key: '1662a98510c36ad29a273cda970b3b91cc1a48ef', name: "right" }))), index.h("div", { key: 'baa3b56ef2c6320468a982cc84052b1294638599', class: "bottom" }))));
147
147
  }
148
148
  get element() { return index.getElement(this); }
149
149
  };