@duetds/components 10.4.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 (486) hide show
  1. package/hydrate/index.js +686 -318
  2. package/hydrate/index.mjs +686 -318
  3. package/lib/cjs/{a11y-utils-BXDHn_nL.js → a11y-utils-CgWjS7yq.js} +1 -1
  4. package/lib/cjs/{app-globals-Bs3-XKhd.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 +29 -6
  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 +9 -9
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +13 -13
  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 +29 -16
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +20 -22
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  20. package/lib/cjs/duet-combobox.cjs.entry.js +6 -7
  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 +128 -14
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +6 -6
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +17 -17
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +4 -4
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +9 -9
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +7 -7
  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 +132 -23
  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 +14 -12
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +20 -21
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +23 -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 -10
  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 +14 -12
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +25 -8
  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-W6UQ3hgy.js → errorcodes.utils-C0tQ3k6Z.js} +1 -1
  93. package/lib/cjs/{focus-utils-KTKpjKRi.js → focus-utils-tCoGOO7d.js} +1 -1
  94. package/lib/cjs/{index-C7Yvi8y8.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-DZ63Z3SI.js → label-Cu4DNShe.js} +1 -1
  97. package/lib/cjs/{language-utils-BsevPDrN.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-DIDW777s.js → slot-utils-Dny6EJ_G.js} +1 -1
  101. package/lib/cjs/{themeable-component-hQ83w5_A.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.css +66 -5
  107. package/lib/collection/components/duet-badge/duet-badge.js +49 -2
  108. package/lib/collection/components/duet-banner/duet-banner.css +12 -0
  109. package/lib/collection/components/duet-banner/duet-banner.js +30 -5
  110. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  111. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  112. package/lib/collection/components/duet-button/duet-button.css +5 -0
  113. package/lib/collection/components/duet-button/duet-button.js +8 -8
  114. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  115. package/lib/collection/components/duet-caption/duet-caption.js +1 -1
  116. package/lib/collection/components/duet-card/duet-card.css +3 -0
  117. package/lib/collection/components/duet-card/duet-card.js +43 -7
  118. package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
  119. package/lib/collection/components/duet-chip/duet-chip.js +54 -21
  120. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  121. package/lib/collection/components/duet-choice/duet-choice.js +12 -12
  122. package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
  123. package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
  124. package/lib/collection/components/duet-combobox/duet-combobox.js +3 -4
  125. package/lib/collection/components/duet-contact-card/duet-contact-card.css +3 -0
  126. package/lib/collection/components/duet-contact-card/duet-contact-card.js +38 -2
  127. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  128. package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -2
  129. package/lib/collection/components/duet-date-picker/date-utils.js +7 -0
  130. package/lib/collection/components/duet-date-picker/disallowed-days.js +23 -0
  131. package/lib/collection/components/duet-date-picker/duet-date-picker.js +103 -10
  132. package/lib/collection/components/duet-date-picker/finnish-bank-holidays.js +66 -0
  133. package/lib/collection/components/duet-divider/duet-divider.js +2 -2
  134. package/lib/collection/components/duet-editable-table/duet-editable-table.js +7 -7
  135. package/lib/collection/components/duet-empty-state/duet-empty-state.js +5 -5
  136. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  137. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +2 -2
  138. package/lib/collection/components/duet-footer/duet-footer.js +11 -11
  139. package/lib/collection/components/duet-grid/duet-grid.js +5 -5
  140. package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
  141. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  142. package/lib/collection/components/duet-header/duet-header.js +15 -15
  143. package/lib/collection/components/duet-heading/duet-heading.js +3 -3
  144. package/lib/collection/components/duet-hero/duet-hero.css +92 -14
  145. package/lib/collection/components/duet-hero/duet-hero.js +47 -21
  146. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  147. package/lib/collection/components/duet-indicator/duet-indicator.js +3 -3
  148. package/lib/collection/components/duet-input/duet-input.css +38 -3
  149. package/lib/collection/components/duet-input/duet-input.js +213 -27
  150. package/lib/collection/components/duet-label/duet-label.js +2 -2
  151. package/lib/collection/components/duet-layout/duet-layout.js +6 -6
  152. package/lib/collection/components/duet-link/duet-link.js +2 -2
  153. package/lib/collection/components/duet-list/duet-list.js +4 -4
  154. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  155. package/lib/collection/components/duet-logo/duet-logo.js +2 -2
  156. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -4
  157. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  158. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  159. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  160. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  161. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  162. package/lib/collection/components/duet-modal/duet-modal.js +11 -11
  163. package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -11
  164. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  165. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  166. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -4
  167. package/lib/collection/components/duet-number-input/duet-number-input.js +14 -13
  168. package/lib/collection/components/duet-overlay/duet-overlay.js +2 -2
  169. package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
  170. package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
  171. package/lib/collection/components/duet-pagination/duet-pagination.js +14 -15
  172. package/lib/collection/components/duet-panel/duet-panel.js +3 -3
  173. package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -5
  174. package/lib/collection/components/duet-phone-input/duet-phone-input.js +42 -5
  175. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
  176. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -4
  177. package/lib/collection/components/duet-promo-card/duet-promo-card.css +4 -0
  178. package/lib/collection/components/duet-promo-card/duet-promo-card.js +39 -2
  179. package/lib/collection/components/duet-radio/duet-radio.js +6 -9
  180. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  181. package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -4
  182. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +3 -3
  183. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  184. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  185. package/lib/collection/components/duet-select/duet-select.js +10 -10
  186. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  187. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  188. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  189. package/lib/collection/components/duet-show-more/duet-show-more.js +3 -3
  190. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
  191. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  192. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  193. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  194. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  195. package/lib/collection/components/duet-spacer/duet-spacer.js +3 -3
  196. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  197. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  198. package/lib/collection/components/duet-step/duet-step.js +4 -4
  199. package/lib/collection/components/duet-stepper/duet-stepper.js +2 -2
  200. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  201. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  202. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  203. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  204. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  205. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  206. package/lib/collection/components/duet-tab-group/duet-tab-group.js +9 -9
  207. package/lib/collection/components/duet-table/duet-table-styles.js +5 -5
  208. package/lib/collection/components/duet-table/duet-table.js +2 -2
  209. package/lib/collection/components/duet-textarea/duet-textarea.js +7 -7
  210. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -4
  211. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  212. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  213. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  214. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  215. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  216. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
  217. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
  218. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
  219. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  220. package/lib/collection/components/duet-tooltip/duet-tooltip.js +48 -5
  221. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  222. package/lib/collection/components/duet-upload/duet-upload.js +16 -16
  223. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  224. package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -4
  225. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  226. package/lib/collection/utils/keyboard-utils.js +1 -0
  227. package/lib/collection/utils/math.utils.js +1 -0
  228. package/lib/duet/duet.esm.js +1 -1
  229. package/lib/duet/p-054c334d.entry.js +4 -0
  230. package/lib/duet/{p-81332db1.entry.js → p-0e10e36b.entry.js} +1 -1
  231. package/lib/duet/{p-428db44b.entry.js → p-12d7fdf6.entry.js} +1 -1
  232. package/lib/duet/{p-494755d0.entry.js → p-1579bdf5.entry.js} +1 -1
  233. package/lib/duet/{p-e8bd6dab.entry.js → p-174935bc.entry.js} +1 -1
  234. package/lib/duet/p-1d7a9425.entry.js +4 -0
  235. package/lib/duet/{p-2e413951.entry.js → p-20066df8.entry.js} +1 -1
  236. package/lib/duet/{p-6988c81c.entry.js → p-20c8226c.entry.js} +1 -1
  237. package/lib/duet/{p-1ee400e7.entry.js → p-210bc161.entry.js} +1 -1
  238. package/lib/duet/{p-fea479fd.entry.js → p-244bfbf9.entry.js} +1 -1
  239. package/lib/duet/{p-adecab91.entry.js → p-264688ae.entry.js} +1 -1
  240. package/lib/duet/{p-1dcbbd67.entry.js → p-2bf78fe4.entry.js} +1 -1
  241. package/lib/duet/{p-1bdef0e0.entry.js → p-2e44c6b8.entry.js} +1 -1
  242. package/lib/duet/{p-3c26d300.entry.js → p-304a9a55.entry.js} +1 -1
  243. package/lib/duet/{p-a63327c3.entry.js → p-30d8a1e4.entry.js} +1 -1
  244. package/lib/duet/p-3445529c.entry.js +4 -0
  245. package/lib/duet/{p-1666aeaf.entry.js → p-3533d6ee.entry.js} +1 -1
  246. package/lib/duet/{p-87bb797c.entry.js → p-374b48f6.entry.js} +1 -1
  247. package/lib/duet/{p-bcced6eb.entry.js → p-3b9d7f6a.entry.js} +1 -1
  248. package/lib/duet/{p-dc87f3f4.entry.js → p-3def9480.entry.js} +1 -1
  249. package/lib/duet/p-3fbe466a.entry.js +4 -0
  250. package/lib/duet/{p-12e4e9b6.entry.js → p-407d4e5a.entry.js} +1 -1
  251. package/lib/duet/p-41230630.entry.js +4 -0
  252. package/lib/duet/p-44e53564.entry.js +4 -0
  253. package/lib/duet/p-46287d85.entry.js +4 -0
  254. package/lib/duet/p-48e77341.entry.js +4 -0
  255. package/lib/duet/{p-fbce84d5.entry.js → p-4a041c60.entry.js} +1 -1
  256. package/lib/duet/p-4a251661.entry.js +4 -0
  257. package/lib/duet/p-4a4e5bb5.entry.js +4 -0
  258. package/lib/duet/{p-184d53a7.entry.js → p-4acdc586.entry.js} +1 -1
  259. package/lib/duet/{p-afd7d87a.entry.js → p-4b07ce36.entry.js} +1 -1
  260. package/lib/duet/{p-c71f6942.entry.js → p-4cee693b.entry.js} +1 -1
  261. package/lib/duet/{p-01f3e30c.entry.js → p-4e1c2676.entry.js} +1 -1
  262. package/lib/duet/{p-d181c624.entry.js → p-4e5532c8.entry.js} +1 -1
  263. package/lib/duet/{p-3bd45b5b.entry.js → p-512d18c8.entry.js} +1 -1
  264. package/lib/duet/p-555e0c78.entry.js +4 -0
  265. package/lib/duet/{p-13b7f4e0.entry.js → p-5b322a86.entry.js} +1 -1
  266. package/lib/duet/p-5f72134e.entry.js +4 -0
  267. package/lib/duet/{p-f210e405.entry.js → p-61abccd4.entry.js} +1 -1
  268. package/lib/duet/p-6a11ba26.entry.js +4 -0
  269. package/lib/duet/p-6bd78205.entry.js +4 -0
  270. package/lib/duet/p-6c239923.entry.js +4 -0
  271. package/lib/duet/{p-7a5066b8.entry.js → p-6ce82324.entry.js} +1 -1
  272. package/lib/duet/{p-526fa31c.entry.js → p-6d1d1199.entry.js} +1 -1
  273. package/lib/duet/p-81c5d3e3.entry.js +4 -0
  274. package/lib/duet/{p-f652a9c7.entry.js → p-829bccb7.entry.js} +1 -1
  275. package/lib/duet/p-83dcbb64.entry.js +4 -0
  276. package/lib/duet/{p-a4a1b8e3.entry.js → p-84f8bee8.entry.js} +1 -1
  277. package/lib/duet/{p-07c4b435.entry.js → p-8927ccc1.entry.js} +1 -1
  278. package/lib/duet/{p-2d43de54.entry.js → p-8bdcfd1f.entry.js} +1 -1
  279. package/lib/duet/{p-b64b3e2f.entry.js → p-8fbcea55.entry.js} +1 -1
  280. package/lib/duet/{p-84420fbf.entry.js → p-914ee7ac.entry.js} +1 -1
  281. package/lib/duet/{p-7a668cee.entry.js → p-95bb2a8d.entry.js} +1 -1
  282. package/lib/duet/{p-4c5a8ed3.entry.js → p-985213bb.entry.js} +1 -1
  283. package/lib/duet/{p-d2c91ed0.entry.js → p-9889218e.entry.js} +1 -1
  284. package/lib/duet/{p-c1d4542d.entry.js → p-9b2731b9.entry.js} +1 -1
  285. package/lib/duet/{p-46300680.entry.js → p-9b448008.entry.js} +1 -1
  286. package/lib/duet/p-9c41f1d5.entry.js +4 -0
  287. package/lib/duet/p-BDgGHTHh.js +4 -0
  288. package/lib/duet/p-BZev46O8.js +4 -0
  289. package/lib/duet/p-BaefVzkx.js +4 -0
  290. package/lib/duet/p-CcoGR9T9.js +4 -0
  291. package/lib/duet/{p-BW3SZS4F.js → p-CyfEm8iD.js} +1 -1
  292. package/lib/duet/p-D3450NfA.js +5 -0
  293. package/lib/duet/{p-DWIjWGAD.js → p-D9N9LBeD.js} +1 -1
  294. package/lib/duet/{p-2HU78SJ-.js → p-DI7IXBXp.js} +1 -1
  295. package/lib/duet/{p-D2ly4TZR.js → p-DYmL1tSl.js} +1 -1
  296. package/lib/duet/p-Dk60lC7n.js +4 -0
  297. package/lib/duet/p-JFwTD5kM.js +4 -0
  298. package/lib/duet/{p-D2EBd3cT.js → p-KbNgo0QF.js} +1 -1
  299. package/lib/duet/p-a01f3141.entry.js +4 -0
  300. package/lib/duet/p-a49b5d93.entry.js +4 -0
  301. package/lib/duet/p-a6dbe893.entry.js +4 -0
  302. package/lib/duet/{p-a690a165.entry.js → p-aa1256f9.entry.js} +1 -1
  303. package/lib/duet/{p-9d8027aa.entry.js → p-aa7e4c81.entry.js} +1 -1
  304. package/lib/duet/{p-d2c04a7e.entry.js → p-ac4fc44c.entry.js} +1 -1
  305. package/lib/duet/{p-376f9d06.entry.js → p-ae382e2e.entry.js} +1 -1
  306. package/lib/duet/p-bc41d13d.entry.js +4 -0
  307. package/lib/duet/{p-5dde8fbb.entry.js → p-c54ecb23.entry.js} +1 -1
  308. package/lib/duet/{p-5ffc4081.entry.js → p-d72dee5d.entry.js} +1 -1
  309. package/lib/duet/{p-2168e431.entry.js → p-d7abb7fa.entry.js} +1 -1
  310. package/lib/duet/{p-3648404d.entry.js → p-dbb9e1d4.entry.js} +1 -1
  311. package/lib/duet/{p-b3ec9b98.entry.js → p-e40d9c21.entry.js} +1 -1
  312. package/lib/duet/p-e43df9c2.entry.js +4 -0
  313. package/lib/duet/{p-14d4a45a.entry.js → p-e442943d.entry.js} +1 -1
  314. package/lib/duet/p-eb7bc989.entry.js +4 -0
  315. package/lib/duet/{p-3361387d.entry.js → p-ec1d2e0a.entry.js} +1 -1
  316. package/lib/duet/p-edcdf0b7.entry.js +4 -0
  317. package/lib/duet/{p-d0a54e6d.entry.js → p-ee369233.entry.js} +1 -1
  318. package/lib/duet/{p-816caa58.entry.js → p-f297f8f2.entry.js} +1 -1
  319. package/lib/duet/{p-0453edd0.entry.js → p-f30c3cfe.entry.js} +1 -1
  320. package/lib/duet/{p-0395eb34.entry.js → p-f4538e9d.entry.js} +1 -1
  321. package/lib/duet/{p-1ed82a27.entry.js → p-f4de7ac0.entry.js} +1 -1
  322. package/lib/duet/{p-4d39941c.entry.js → p-f8d640ba.entry.js} +1 -1
  323. package/lib/duet/{p-61b6962a.entry.js → p-f9db8670.entry.js} +1 -1
  324. package/lib/duet/p-fc1a18f8.entry.js +4 -0
  325. package/lib/duet/{p-dfd55180.entry.js → p-fc2be136.entry.js} +1 -1
  326. package/lib/duet/p-fdc4a97c.entry.js +4 -0
  327. package/lib/duet/p-kkZE1C6Z.js +4 -0
  328. package/lib/esm/{a11y-utils-sgAajRY0.js → a11y-utils--wwGTL0T.js} +1 -1
  329. package/lib/esm/{app-globals-NNQmI_gc.js → app-globals-Diuuep9d.js} +1 -1
  330. package/lib/esm/duet-action-button.entry.js +6 -6
  331. package/lib/esm/duet-alert.entry.js +4 -4
  332. package/lib/esm/duet-badge.entry.js +29 -6
  333. package/lib/esm/duet-banner.entry.js +15 -16
  334. package/lib/esm/duet-breadcrumb.entry.js +7 -7
  335. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  336. package/lib/esm/duet-button_2.entry.js +9 -9
  337. package/lib/esm/duet-callout.entry.js +5 -5
  338. package/lib/esm/duet-caption_4.entry.js +13 -13
  339. package/lib/esm/duet-card.entry.js +22 -11
  340. package/lib/esm/duet-checkbox.entry.js +3 -3
  341. package/lib/esm/duet-checkmark.entry.js +4 -4
  342. package/lib/esm/duet-chip.entry.js +29 -16
  343. package/lib/esm/duet-choice_2.entry.js +20 -22
  344. package/lib/esm/duet-collapsible.entry.js +4 -4
  345. package/lib/esm/duet-combobox.entry.js +6 -7
  346. package/lib/esm/duet-contact-card.entry.js +17 -7
  347. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  348. package/lib/esm/duet-date-picker.entry.js +128 -14
  349. package/lib/esm/duet-divider_2.entry.js +6 -6
  350. package/lib/esm/duet-editable-table_3.entry.js +17 -17
  351. package/lib/esm/duet-empty-state.entry.js +4 -4
  352. package/lib/esm/duet-fieldset.entry.js +6 -6
  353. package/lib/esm/duet-file-chooser.entry.js +3 -3
  354. package/lib/esm/duet-footer.entry.js +9 -9
  355. package/lib/esm/duet-grid_2.entry.js +7 -7
  356. package/lib/esm/duet-header_2.entry.js +7 -7
  357. package/lib/esm/duet-hero.entry.js +22 -21
  358. package/lib/esm/duet-icon.entry.js +7 -7
  359. package/lib/esm/duet-indicator.entry.js +5 -5
  360. package/lib/esm/duet-input_2.entry.js +132 -23
  361. package/lib/esm/duet-layout.entry.js +7 -7
  362. package/lib/esm/duet-list_2.entry.js +5 -5
  363. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  364. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -5
  365. package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -7
  366. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  367. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  368. package/lib/esm/duet-menu-bar.entry.js +6 -6
  369. package/lib/esm/duet-modal.entry.js +15 -15
  370. package/lib/esm/duet-multiselect.entry.js +11 -11
  371. package/lib/esm/duet-nav.entry.js +3 -3
  372. package/lib/esm/duet-notification_2.entry.js +10 -10
  373. package/lib/esm/duet-number-input.entry.js +14 -12
  374. package/lib/esm/duet-overlay.entry.js +3 -3
  375. package/lib/esm/duet-page-heading.entry.js +20 -5
  376. package/lib/esm/duet-pagination_2.entry.js +20 -21
  377. package/lib/esm/duet-panel.entry.js +4 -4
  378. package/lib/esm/duet-phone-input.entry.js +23 -6
  379. package/lib/esm/duet-popup-menu_2.entry.js +10 -10
  380. package/lib/esm/duet-progress.entry.js +3 -3
  381. package/lib/esm/duet-promo-card.entry.js +20 -8
  382. package/lib/esm/duet-radio_2.entry.js +7 -10
  383. package/lib/esm/duet-range-slider.entry.js +8 -8
  384. package/lib/esm/duet-scrollable_3.entry.js +18 -18
  385. package/lib/esm/duet-section-layout.entry.js +4 -4
  386. package/lib/esm/duet-select.entry.js +9 -9
  387. package/lib/esm/duet-shaped-image.entry.js +4 -4
  388. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  389. package/lib/esm/duet-share-chart.entry.js +8 -8
  390. package/lib/esm/duet-show-more.entry.js +6 -6
  391. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  392. package/lib/esm/duet-slideout-link.entry.js +7 -7
  393. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  394. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  395. package/lib/esm/duet-slideout.entry.js +20 -14
  396. package/lib/esm/duet-status-icon.entry.js +3 -3
  397. package/lib/esm/duet-step_2.entry.js +7 -7
  398. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -5
  399. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  400. package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
  401. package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
  402. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  403. package/lib/esm/duet-textarea.entry.js +8 -8
  404. package/lib/esm/duet-toggle.entry.js +9 -9
  405. package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -5
  406. package/lib/esm/duet-toolbar-dropdown.entry.js +7 -7
  407. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  408. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  409. package/lib/esm/duet-toolbar.entry.js +4 -4
  410. package/lib/esm/duet-tooltip-button_2.entry.js +14 -12
  411. package/lib/esm/duet-tooltip.entry.js +26 -9
  412. package/lib/esm/duet-tray.entry.js +7 -7
  413. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  414. package/lib/esm/duet-upload-item.entry.js +6 -6
  415. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  416. package/lib/esm/duet.js +4 -4
  417. package/lib/esm/{errorcodes.utils-CqW0-HM8.js → errorcodes.utils-S_WrUPeV.js} +1 -1
  418. package/lib/esm/{focus-utils-Dokkd7xz.js → focus-utils-C4oaajGr.js} +1 -1
  419. package/lib/esm/{index-Cwhi6_oZ.js → index-D3450NfA.js} +9 -9
  420. package/lib/esm/{keyboard-utils-Db8rvjPI.js → keyboard-utils-BaefVzkx.js} +2 -1
  421. package/lib/esm/{label-CyQlly6Z.js → label-C1HF2o4Y.js} +1 -1
  422. package/lib/esm/{language-utils-LZh-sc2s.js → language-utils-D4WVl8Ph.js} +1 -1
  423. package/lib/esm/loader.js +4 -4
  424. package/lib/esm/picture-utils-MSeJTkDk.js +13 -0
  425. package/lib/esm/{slot-utils-CEZnAp61.js → slot-utils-Dxcjtmp3.js} +1 -1
  426. package/lib/esm/{themeable-component-D_FVcjsD.js → themeable-component-QHdUfcat.js} +1 -1
  427. package/lib/esm/{token-utils-B0KAgyj_.js → token-utils-BILzD7LX.js} +1 -1
  428. package/lib/esm/{tokens.module-DEzE2U5T.js → tokens.module-kkZE1C6Z.js} +1 -1
  429. package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
  430. package/lib/types/components/duet-banner/duet-banner.d.ts +5 -1
  431. package/lib/types/components/duet-button/duet-button.d.ts +1 -1
  432. package/lib/types/components/duet-card/duet-card.d.ts +5 -0
  433. package/lib/types/components/duet-chip/duet-chip.d.ts +16 -9
  434. package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +5 -0
  435. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +3 -0
  436. package/lib/types/components/duet-date-picker/date-utils.d.ts +4 -0
  437. package/lib/types/components/duet-date-picker/disallowed-days.d.ts +9 -0
  438. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +14 -0
  439. package/lib/types/components/duet-date-picker/finnish-bank-holidays.d.ts +11 -0
  440. package/lib/types/components/duet-hero/duet-hero.d.ts +5 -0
  441. package/lib/types/components/duet-input/duet-input.d.ts +42 -3
  442. package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
  443. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
  444. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +7 -0
  445. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +6 -0
  446. package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
  447. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  448. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  449. package/lib/types/components.d.ts +183 -20
  450. package/lib/types/utils/keyboard-utils.d.ts +1 -0
  451. package/lib/types/utils/math.utils.d.ts +1 -0
  452. package/package.json +5 -5
  453. package/lib/duet/p--fmK3qPb.js +0 -4
  454. package/lib/duet/p-07aa40df.entry.js +0 -4
  455. package/lib/duet/p-0eb0e582.entry.js +0 -4
  456. package/lib/duet/p-104ddbf2.entry.js +0 -4
  457. package/lib/duet/p-1705b6cf.entry.js +0 -4
  458. package/lib/duet/p-4420973e.entry.js +0 -4
  459. package/lib/duet/p-455e8ebe.entry.js +0 -4
  460. package/lib/duet/p-4f7b0699.entry.js +0 -4
  461. package/lib/duet/p-58496fb1.entry.js +0 -4
  462. package/lib/duet/p-58a70b3d.entry.js +0 -4
  463. package/lib/duet/p-592a6542.entry.js +0 -4
  464. package/lib/duet/p-5c8c691b.entry.js +0 -4
  465. package/lib/duet/p-73ed0008.entry.js +0 -4
  466. package/lib/duet/p-7a2ca711.entry.js +0 -4
  467. package/lib/duet/p-7e640c8e.entry.js +0 -4
  468. package/lib/duet/p-7eaa1fb5.entry.js +0 -4
  469. package/lib/duet/p-870dc953.entry.js +0 -4
  470. package/lib/duet/p-Chf7ZRmW.js +0 -4
  471. package/lib/duet/p-CtBx3Trd.js +0 -4
  472. package/lib/duet/p-Cwhi6_oZ.js +0 -5
  473. package/lib/duet/p-DCDM41Ef.js +0 -4
  474. package/lib/duet/p-DEzE2U5T.js +0 -4
  475. package/lib/duet/p-Db8rvjPI.js +0 -4
  476. package/lib/duet/p-a4db8c29.entry.js +0 -4
  477. package/lib/duet/p-a7bb038a.entry.js +0 -4
  478. package/lib/duet/p-af9c8169.entry.js +0 -4
  479. package/lib/duet/p-c7851c15.entry.js +0 -4
  480. package/lib/duet/p-cbd1069e.entry.js +0 -4
  481. package/lib/duet/p-cd4f52a9.entry.js +0 -4
  482. package/lib/duet/p-d3dac8af.entry.js +0 -4
  483. package/lib/duet/p-e9ed96cf.entry.js +0 -4
  484. package/lib/duet/p-eab349f2.entry.js +0 -4
  485. package/lib/duet/p-eebf150c.entry.js +0 -4
  486. package/lib/duet/p-f600e215.entry.js +0 -4
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
- import { g as getColorByName, r as rgbaColorFromRgb } from './token-utils-B0KAgyj_.js';
7
- import './tokens.module-DEzE2U5T.js';
4
+ import { E as Env, r as registerInstance, h, H as Host, g as getElement } from './index-D3450NfA.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
6
+ import { g as getColorByName, r as rgbaColorFromRgb } from './token-utils-BILzD7LX.js';
7
+ import './tokens.module-kkZE1C6Z.js';
8
8
 
9
9
  const cleanupSvg = (svgContent) => {
10
10
  if (typeof document === "undefined" || !svgContent) {
@@ -217,11 +217,11 @@ const DuetIcon = class {
217
217
  : {};
218
218
  const iconStyles = Object.assign({}, iconRotationStyles);
219
219
  const shapeStyle = this.shape === "brand-rotated" ? "duet-icon-shape-brand" : `duet-icon-shape-${this.shape}`;
220
- return (h(Host, { key: '2a800d3292964b5a1dd5fd454662f690ce9e6b5a', class: {
220
+ return (h(Host, { key: 'ac454937867acd98e1552f998f09cecb7b6db6f6', class: {
221
221
  "duet-m-0": this.margin === "none",
222
222
  "duet-icon-has-outline": !!this.outline,
223
223
  "duet-icon-has-background": !!this.background,
224
- } }, h("span", { key: '4d5d3fc155d6d2e4f677d8753c116c82eb865a2c', "aria-hidden": "true", style: styles, class: {
224
+ } }, h("span", { key: '61bd9c9b857bd54bfa18b71035af646ddfc8b490', "aria-hidden": "true", style: styles, class: {
225
225
  "duet-icon": true,
226
226
  "duet-theme-turva": this.theme === "turva",
227
227
  "duet-theme-default": this.theme === "default",
@@ -230,7 +230,7 @@ const DuetIcon = class {
230
230
  [shapeStyle]: true,
231
231
  rotated: this.shape === "brand-rotated" && this.theme !== "turva",
232
232
  "duet-icon-not-responsive": !this.responsive,
233
- } }, h("span", { key: '6c79866426237ff75ff36401a9117dca1a68cf19', "aria-hidden": "true", class: { "duet-icon-svg": true, rotated: this.shape === "brand-rotated" && this.theme !== "turva" }, "data-name": this.name, innerHTML: this.svgContent, style: iconStyles }))));
233
+ } }, h("span", { key: '513e30e9f69a6661e54b5f2a0989eaf14887f533', "aria-hidden": "true", class: { "duet-icon-svg": true, rotated: this.shape === "brand-rotated" && this.theme !== "turva" }, "data-name": this.name, innerHTML: this.svgContent, style: iconStyles }))));
234
234
  }
235
235
  get element() { return getElement(this); }
236
236
  static get watchers() { return {
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
6
- import { g as getLocaleString } from './language-utils-LZh-sc2s.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-D3450NfA.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
6
+ import { g as getLocaleString } from './language-utils-D4WVl8Ph.js';
7
7
  import './string-utils-C6E9F6QT.js';
8
8
 
9
9
  const duetIndicatorCss = "*,*::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}.duet-indicator{position:absolute;top:0;right:0;display:inline-block;width:8px;height:8px;border-radius:50%}.duet-indicator-new{background:rgb(0, 119, 179)}.duet-indicator-change{background:rgb(247, 178, 40)}.duet-indicator-error{background:rgb(185, 16, 74)}.duet-indicator-success{background:rgb(29, 106, 88)}.duet-indicator-new.duet-theme-turva{background-color:rgb(230, 23, 64)}";
@@ -50,11 +50,11 @@ const DuetIndicator = class {
50
50
  inheritGlobalTheme(this);
51
51
  }
52
52
  render() {
53
- return (h(Host, { key: '0513ee5c8cb2770eb10e753901e8db638c665112' }, h("span", { key: '64ec0e8625b9cf03ed41d6cbe6ae9e286f5cd08a', class: {
53
+ return (h(Host, { key: '329e985ec026dde828ee0e4f896bbbf68054a4ce' }, h("span", { key: '688c53ea00e20e7c2aa612ed6cdaede9a83655f9', class: {
54
54
  "duet-indicator": true,
55
55
  [`duet-indicator-${this.variation}`]: true,
56
56
  "duet-theme-turva": this.theme === "turva",
57
- } }), h("duet-visually-hidden", { key: 'ae27d7871ca7bbde4e8e62d3c389c4f0c5b17090' }, this.getAccessibleLabel())));
57
+ } }), h("duet-visually-hidden", { key: '37a42c32af9d6d46946d30239592a4794e16de93' }, this.getAccessibleLabel())));
58
58
  }
59
59
  get element() { return getElement(this); }
60
60
  };
@@ -1,19 +1,19 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-D3450NfA.js';
5
5
  import { g as getDefaultExportFromCjs } from './_commonjsHelpers-DvwKrUS6.js';
6
6
  import { s as searchIcon } from './form-search-CevX33LA.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
8
- import { D as DuetInternalLabel } from './label-CyQlly6Z.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
8
+ import { D as DuetInternalLabel } from './label-C1HF2o4Y.js';
9
9
  import { c as createID } from './create-id-Cfr_DJqU.js';
10
10
  import { c as cleanValue, r as resetCursor } from './input-utils-CLDy7YaM.js';
11
- import { a as isEscapeKey, c as isEnterKey, o as isBackspaceKey, d as isArrowLeftKey, f as isArrowRightKey } from './keyboard-utils-Db8rvjPI.js';
12
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-LZh-sc2s.js';
13
- import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-CEZnAp61.js';
14
- import { g as getColorByName } from './token-utils-B0KAgyj_.js';
11
+ import { o as isCharacterInsertKey, a as isEscapeKey, c as isEnterKey, p as isBackspaceKey, d as isArrowLeftKey, f as isArrowRightKey } from './keyboard-utils-BaefVzkx.js';
12
+ import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-D4WVl8Ph.js';
13
+ import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-Dxcjtmp3.js';
14
+ import { g as getColorByName } from './token-utils-BILzD7LX.js';
15
15
  import './string-utils-C6E9F6QT.js';
16
- import './tokens.module-DEzE2U5T.js';
16
+ import './tokens.module-kkZE1C6Z.js';
17
17
 
18
18
  var formEmail;
19
19
  var hasRequiredFormEmail;
@@ -28,7 +28,7 @@ function requireFormEmail () {
28
28
  var formEmailExports = requireFormEmail();
29
29
  var emailIcon = /*@__PURE__*/getDefaultExportFromCjs(formEmailExports);
30
30
 
31
- const duetInputCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:bottom;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}duet-tooltip,::slotted(duet-tooltip){position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){right:auto}}duet-caption:not(:last-of-type){margin-bottom:0}.duet-input-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-input-container{position:relative;width:100%;height:100%}.duet-input-container.has-clear .duet-input-clear-icon{position:relative;z-index:250}.duet-input-container.has-clear .duet-input-clear-icon button{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear .duet-input-clear-icon button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-input-container.has-clear .duet-input-clear-icon button:focus,.duet-input-container.has-clear .duet-input-clear-icon button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-input-container.has-clear .duet-input-clear-icon button:active{opacity:0.75;transition:none}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single button{top:-48px;right:0}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-xx-small button{top:-36px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-x-small button{top:-40px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-small button{top:-44px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double button{top:-24px;right:12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-button button{top:-24px;right:0}.duet-input-container.has-clear.has-icon .duet-input-clear-icon{top:-24px;right:24px}.duet-input-label-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container{justify-content:flex-start}}.duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;outline-color:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;transition:border 150ms ease !important}.duet-input.input-padding-small{padding:8px 10px !important}.duet-input.input-padding-x-small{padding:4px 6px !important}.duet-input.input-padding-xx-small{padding:0px 2px !important}.duet-input.is-number{padding-right:112px !important}.duet-input.is-date{padding-right:64px !important}.duet-input.after-chip{padding-left:8px !important}.has-error .duet-input{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.has-icon .duet-input{padding-right:48px !important}.duet-input.align-right{text-align:right}.duet-input::-ms-clear{display:none}.duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input::placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-input:focus::placeholder{color:rgb(181, 198, 208)}.duet-input[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-input:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input:hover:not(:disabled):not(:focus),.duet-input:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-input:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input:focus,.duet-input:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-input:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input:focus+.duet-input-icon{color:rgb(0, 119, 179)}.duet-input[type=search]:not(:placeholder-shown):focus+.duet-input-icon{display:none}.duet-input:not(:focus):not(:hover):invalid{outline:none !important}.duet-input[type=number]::-webkit-inner-spin-button,.duet-input[type=number]::-webkit-outer-spin-button,.duet-input[type=time]::-webkit-inner-spin-button,.duet-input[type=time]::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help span{display:block;margin-top:8px}.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-label-hidden label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-input-relative{position:relative;width:100%}.duet-input-variation-button,.duet-input-variation-button-left{position:relative;width:100%}.duet-input-variation-button .duet-input-relative,.duet-input-variation-button-left .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button .duet-input-relative duet-button,.duet-input-variation-button-left .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-button-left .duet-input-relative{border-radius:4px}.duet-input-variation-button .duet-input-relative .duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-button-left .duet-input-relative .duet-input{border-left-width:0 !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.duet-input-variation-revealable{position:relative;width:100%}.duet-input-variation-revealable ::-ms-reveal{display:none}.duet-input-variation-revealable .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;outline:initial;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-variation-revealable .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-revealable .duet-input-relative .duet-input{border-width:0 !important}.duet-input-variation-revealable .duet-input-relative .duet-input:focus,.duet-input-variation-revealable .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-variation-revealable.disabled .duet-input-relative{outline:none;background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(62, 84, 102);border-color:rgb(0, 119, 179)}.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative,.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-variation-revealable.has-error:hover:not(.disabled) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-container.has-chips.has-error .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips.has-error.has-focus .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input-container.has-chips.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input-container.has-chips .duet-input-relative{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;padding-right:2px;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-container.has-chips .duet-input-relative .duet-input{flex-grow:1;flex-basis:4rem;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-chips .duet-input-relative .duet-input:focus,.duet-input-container.has-chips .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-theme-turva .duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva.duet-input-container.has-clear .duet-input-clear-icon button{color:rgb(8, 42, 77)}.duet-theme-turva.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.duet-theme-turva:not(.has-error) .duet-input{border-color:rgb(120, 145, 164) !important}.duet-theme-turva .duet-input{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) !important}.duet-theme-turva .duet-input[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-input::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-input:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-input:focus+.duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-button-left.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-revealable.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-help{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(120, 145, 164)}.duet-theme-turva.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-input-variation-revealable .duet-input-relative{border-color:rgb(120, 145, 164)}.duet-theme-turva.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-theme-turva.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(53, 79, 101);border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-offset:2px;outline-color:rgb(53, 79, 101)}.duet-theme-turva .duet-input-container.has-chips .duet-input-relative{border-color:rgb(120, 145, 164)}";
31
+ const duetInputCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 42, 59)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:16px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:16px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;vertical-align:bottom;text-align:left}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}duet-tooltip,::slotted(duet-tooltip){position:relative;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){right:auto}}duet-caption:not(:last-of-type){margin-bottom:0}.duet-input-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-input-icon{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:rgb(8, 42, 77);pointer-events:none;transform:translateY(-50%)}.duet-input-container{position:relative;width:100%;height:100%}.duet-input-container.has-clear .duet-input-clear-icon{position:relative;z-index:250}.duet-input-container.has-clear .duet-input-clear-icon button{position:absolute;top:-24px;right:-24px;min-width:48px;min-height:48px;color:rgb(0, 75, 129)}.duet-input-container.has-clear .duet-input-clear-icon button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-input-container.has-clear .duet-input-clear-icon button:focus,.duet-input-container.has-clear .duet-input-clear-icon button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-input-container.has-clear .duet-input-clear-icon button:active{opacity:0.75;transition:none}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single button{top:-48px;right:0}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-xx-small button{top:-36px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-x-small button{top:-40px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-single.input-padding-small button{top:-44px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double button{top:-24px;right:12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-xx-small button{top:-12px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-x-small button{top:-16px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-double.input-padding-small button{top:-20px}.duet-input-container.has-clear .duet-input-clear-icon.duet-input-clear-icon-button button{top:-24px;right:0}.duet-input-container.has-clear.has-icon .duet-input-clear-icon{top:-24px;right:24px}.duet-input-label-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between}@media (min-width: 48em){.duet-input-label-container{justify-content:flex-start}}.duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:rgb(8, 42, 77) !important;cursor:initial !important;outline-color:initial !important;background:rgb(255, 255, 255) !important;background-clip:initial !important;border:1px solid rgb(127, 150, 165) !important;border-radius:4px !important;transition:border 150ms ease !important}.duet-input.input-padding-small{padding:8px 10px !important}.duet-input.input-padding-x-small{padding:4px 6px !important}.duet-input.input-padding-xx-small{padding:0px 2px !important}.duet-input.is-number{padding-right:112px !important}.duet-input.is-date{padding-right:64px !important}.duet-input.after-chip{padding-left:8px !important}.has-error .duet-input{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.has-icon .duet-input{padding-right:48px !important}.duet-input.align-right{text-align:right}.duet-input::-ms-clear{display:none}.duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input::placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-input:focus::placeholder{color:rgb(181, 198, 208)}.duet-input[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 236, 239) !important;border-color:rgb(181, 198, 208) !important;opacity:1 !important;-webkit-text-fill-color:rgb(8, 42, 77) !important}.duet-input:hover:not(:disabled):not(:focus){outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input:hover:not(:disabled):not(:focus),.duet-input:hover:not(:disabled):not(:focus).duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.has-error .duet-input:hover:not(:disabled):not(:focus){outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input:focus{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input:focus,.duet-input:focus.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.has-error .duet-input:focus{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input:focus+.duet-input-icon{color:rgb(0, 119, 179)}.duet-input[type=search]:not(:placeholder-shown):focus+.duet-input-icon{display:none}.duet-input:not(:focus):not(:hover):invalid{outline:none !important}.duet-input[type=number]::-webkit-inner-spin-button,.duet-input[type=number]::-webkit-outer-spin-button,.duet-input[type=time]::-webkit-inner-spin-button,.duet-input[type=time]::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(98, 121, 138);border-radius:4px}.duet-input-help span{display:block;margin-top:8px}.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-label-hidden label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-input-relative{position:relative;width:100%}.duet-input-variation-button,.duet-input-variation-button-left{position:relative;width:100%}.duet-input-variation-button .duet-input-relative,.duet-input-variation-button-left .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto}.duet-input-variation-button .duet-input-relative duet-button,.duet-input-variation-button-left .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-button-left .duet-input-relative{border-radius:4px}.duet-input-variation-button .duet-input-relative .duet-input{border-right-width:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.duet-input-variation-button-left .duet-input-relative .duet-input{border-left-width:0 !important;border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.duet-input-variation-revealable{position:relative;width:100%}.duet-input-variation-revealable ::-ms-reveal{display:none}.duet-input-variation-revealable .duet-input-relative{display:flex;flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;outline:initial;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-variation-revealable .duet-input-relative duet-button{z-index:250;margin-bottom:0}.duet-input-variation-revealable .duet-input-relative .duet-input{border-width:0 !important}.duet-input-variation-revealable .duet-input-relative .duet-input:focus,.duet-input-variation-revealable .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-variation-revealable.disabled .duet-input-relative{outline:none;background:rgb(245, 248, 250);border-color:rgb(212, 223, 229)}.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(62, 84, 102);border-color:rgb(0, 119, 179)}.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative,.duet-input-variation-revealable:hover:not(.disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-variation-revealable.has-error:hover:not(.disabled) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-color:rgb(0, 119, 179) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-adornment.has-focus .duet-input-relative,.duet-input-container.has-adornment.has-focus .duet-input-relative.duet-theme-turva,.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative,.duet-input-container.has-chips.has-focus .duet-input-relative.duet-theme-turva{outline-color:rgb(23, 42, 59) !important}.duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline:2px solid;outline-color:rgb(127, 150, 165) !important;outline-offset:-1px}.duet-theme-turva .duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-adornment:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva,.duet-theme-turva .duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips:hover:not(:disabled):not(.has-focus) .duet-input-relative.duet-theme-turva{outline-color:rgb(120, 145, 164) !important}.duet-input-container.has-adornment.has-error .duet-input-relative,.duet-input-container.has-chips.has-error .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment.has-error.has-focus .duet-input-relative,.duet-input-container.has-chips.has-error.has-focus .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important;background:rgb(255, 255, 255) !important}.duet-input-container.has-adornment.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative,.duet-input-container.has-chips.has-error:hover:not(:disabled):not(.has-focus) .duet-input-relative{outline-offset:-1px;background-color:rgb(255, 240, 243) !important;border-color:rgb(214, 28, 82) !important;outline-width:2px;outline-color:rgb(214, 28, 82) !important}.duet-input-container.has-adornment .duet-input-relative,.duet-input-container.has-chips .duet-input-relative{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;width:auto;padding-right:2px;border:1px solid rgb(127, 150, 165);border-radius:4px;transition:border 150ms ease}.duet-input-container.has-adornment .duet-input-relative .duet-input,.duet-input-container.has-chips .duet-input-relative .duet-input{flex-grow:1;flex-basis:4rem;padding-left:0 !important;margin-left:12px !important;border-width:0 !important}.duet-input-container.has-adornment .duet-input-relative .duet-input:focus,.duet-input-container.has-adornment .duet-input-relative .duet-input:hover,.duet-input-container.has-chips .duet-input-relative .duet-input:focus,.duet-input-container.has-chips .duet-input-relative .duet-input:hover{outline:none !important;border-width:0 !important}.duet-input-container.has-adornment .duet-input-relative .duet-input{padding:12px 14px !important;margin:initial !important}.duet-input-container.has-adornment .duet-input-relative .input-adornment{color:rgb(98, 121, 138)}.duet-input-container.has-adornment .duet-input-relative .input-adornment.prefix{padding-left:14px}.duet-input-container.has-adornment .duet-input-relative .input-adornment.suffix{padding-right:14px}.duet-input-container.has-prefix .duet-input-relative .duet-input{padding-left:8px !important}.duet-input-container.has-suffix .duet-input-relative .duet-input{padding-right:8px !important}.duet-theme-turva .duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva.duet-input-container.has-clear .duet-input-clear-icon button{color:rgb(8, 42, 77)}.duet-theme-turva.has-error .duet-input+.duet-input-icon{color:rgb(214, 28, 82) !important}.duet-theme-turva:not(.has-error) .duet-input{border-color:rgb(120, 145, 164) !important}.duet-theme-turva .duet-input{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) !important}.duet-theme-turva .duet-input[disabled]{color:rgb(95, 122, 143) !important;cursor:not-allowed !important;outline:none !important;background:rgb(228, 233, 237) !important;border-color:rgb(178, 194, 205) !important;opacity:1 !important;-webkit-text-fill-color:rgb(23, 42, 59) !important}.duet-theme-turva .duet-input::placeholder{color:rgb(120, 145, 164)}.duet-theme-turva .duet-input:focus::placeholder{color:rgb(178, 194, 205)}.duet-theme-turva .duet-input:focus+.duet-input-icon{color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-button-left.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-variation-revealable.has-focus .duet-input-relative{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-help{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(120, 145, 164)}.duet-theme-turva.has-error .duet-input-help{color:rgb(214, 28, 82)}.duet-theme-turva .duet-input-variation-revealable .duet-input-relative{border-color:rgb(120, 145, 164)}.duet-theme-turva.duet-input-variation-revealable.has-error .duet-input-relative{border-color:rgb(214, 28, 82)}.duet-theme-turva.duet-input-variation-revealable.has-focus .duet-input-relative{outline:2px solid;outline-offset:-1px;outline-color:rgb(53, 79, 101);border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-input-container.has-chips.has-focus .duet-input-relative{outline:2px solid;outline-offset:2px;outline-color:rgb(53, 79, 101)}.duet-theme-turva .duet-input-container.has-chips .duet-input-relative{border-color:rgb(120, 145, 164)}";
32
32
 
33
33
  const icons = {
34
34
  search: searchIcon,
@@ -49,10 +49,13 @@ const DuetInput = class {
49
49
  this.proxyId = createID("DuetInput");
50
50
  this.clearId = createID("DuetInputClear");
51
51
  this.labelId = createID("DuetLabel");
52
+ this.prefixId = createID("DuetInputPrefix");
53
+ this.suffixId = createID("DuetInputSuffix");
52
54
  this.topCaptionId = createID("DuetCaptionTop");
53
55
  this.topCaptionPlaceholderId = createID("DuetCaptionPlaceholderTop");
54
56
  this.chipCountId = createID("DuetInputChipCount");
55
57
  this.errorId = createID("DuetError");
58
+ this.maxlengthAnnouncementKey = 0;
56
59
  this.disallowPatternRegex = null;
57
60
  this.clearLabel = {
58
61
  en: "Clear",
@@ -89,6 +92,11 @@ const DuetInput = class {
89
92
  fi: "valittu",
90
93
  sv: "valt",
91
94
  };
95
+ this.maxlengthReachedLabel = {
96
+ en: "This field has a maximum length of {max} characters. Limit reached.",
97
+ fi: "Tämän kentän enimmäispituus on {max} merkkiä. Raja on saavutettu.",
98
+ sv: "Det här fältet har en maximal längd på {max} tecken. Gränsen är nådd.",
99
+ };
92
100
  /**
93
101
  * State() variables
94
102
  */
@@ -98,6 +106,10 @@ const DuetInput = class {
98
106
  */
99
107
  this.isFocused = false;
100
108
  this._accessiblePopup = undefined;
109
+ /**
110
+ * Text announced to screen readers when the maxlength limit is reached.
111
+ */
112
+ this.maxlengthAnnouncement = "";
101
113
  /**
102
114
  * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
103
115
  */
@@ -195,7 +207,7 @@ const DuetInput = class {
195
207
  */
196
208
  this.labelHidden = false;
197
209
  /**
198
- * Enable numeric keyboard for the input.
210
+ * Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
199
211
  */
200
212
  this.numericKeyboard = false;
201
213
  /**
@@ -204,7 +216,9 @@ const DuetInput = class {
204
216
  */
205
217
  this.component = "input";
206
218
  /**
207
- * Enable or disable automatic completion by the browser
219
+ * Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name",
220
+ * "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must
221
+ * disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
208
222
  */
209
223
  this.autoComplete = "on";
210
224
  /**
@@ -226,9 +240,22 @@ const DuetInput = class {
226
240
  * Component event handling.
227
241
  */
228
242
  this.onInput = (ev) => {
229
- if (this.maxlength && this.nativeInput.value.length > this.maxlength) {
243
+ var _a;
244
+ // In addition to input event, maxlength handling uses also keyDown and paste events as input event may not be
245
+ // triggered when entry is truncated by the browser.
246
+ if (this.maxlength) {
247
+ const wasAtMaxlength = (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) >= this.maxlength;
248
+ const nativeLength = this.nativeInput.value.length;
230
249
  // Android doesn't honor maxlength
231
- this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
250
+ const inputOverflow = nativeLength > this.maxlength;
251
+ if (inputOverflow) {
252
+ this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
253
+ }
254
+ const limitJustReached = !wasAtMaxlength && nativeLength === this.maxlength;
255
+ const limitExceededWhileFull = wasAtMaxlength && inputOverflow;
256
+ if (limitJustReached || limitExceededWhileFull) {
257
+ this.handleMaxlengthLimitReached();
258
+ }
232
259
  }
233
260
  if (this.disallowPatternRegex) {
234
261
  cleanValue(this.nativeInput, this.disallowPatternRegex);
@@ -274,9 +301,35 @@ const DuetInput = class {
274
301
  component: "duet-input",
275
302
  });
276
303
  };
304
+ this.onInputKeyDown = (ev) => {
305
+ if (this.maxlength && isCharacterInsertKey(ev) && this.isAtMaxlengthWithoutSelection()) {
306
+ this.handleMaxlengthLimitReached();
307
+ }
308
+ };
309
+ this.onInputPaste = () => {
310
+ if (this.maxlength && this.isAtMaxlengthWithoutSelection()) {
311
+ this.handleMaxlengthLimitReached();
312
+ }
313
+ };
314
+ this.isAtMaxlengthWithoutSelection = () => {
315
+ const input = this.nativeInput;
316
+ const inputIsWithoutSelection = input.selectionStart === input.selectionEnd;
317
+ const inputIsAtMaxlength = input.value.length >= this.maxlength;
318
+ return inputIsWithoutSelection && inputIsAtMaxlength;
319
+ };
320
+ this.handleMaxlengthLimitReached = () => {
321
+ clearTimeout(this.maxlengthAnnouncementTimeoutId);
322
+ this.maxlengthAnnouncement = "";
323
+ this.maxlengthAnnouncementTimeoutId = setTimeout(() => {
324
+ this.maxlengthAnnouncementKey++;
325
+ this.maxlengthAnnouncement = this.maxlengthReachedLabel[this.language].replace("{max}", String(this.maxlength));
326
+ }, 300);
327
+ };
277
328
  /**
278
329
  * Private functions
279
330
  */
331
+ // As comma may be used as decimal separator normalize value to have dot before parsing as number
332
+ this.valueAsNormalizedFloat = () => { var _a; return Number.parseFloat((_a = this.value) === null || _a === void 0 ? void 0 : _a.replace(/,/g, ".")); };
280
333
  this.getAriaDescribedBy = () => {
281
334
  const describedBy = [];
282
335
  if (this.isCaptionVisible && this.topCaptionId) {
@@ -297,6 +350,19 @@ const DuetInput = class {
297
350
  }
298
351
  return describedBy.length > 0 ? describedBy.join(" ") : null;
299
352
  };
353
+ this.getAriaLabelledBy = () => {
354
+ const labelledBy = [this.labelId];
355
+ if (!!this.fieldPrefix) {
356
+ labelledBy.push(this.prefixId);
357
+ }
358
+ if (!!this.fieldSuffix) {
359
+ labelledBy.push(this.suffixId);
360
+ }
361
+ if (!!this.accessibleLabelledBy) {
362
+ labelledBy.push(this.accessibleLabelledBy);
363
+ }
364
+ return labelledBy.join(" ");
365
+ };
300
366
  this.handleClearClick = (event) => {
301
367
  const clearing = this.clearInput();
302
368
  this.onClear(event);
@@ -387,7 +453,31 @@ const DuetInput = class {
387
453
  * This is a proxy for the enclosed native inputs validity
388
454
  */
389
455
  get validity() {
390
- return this.nativeInput.validity;
456
+ var _a, _b;
457
+ // Copy the value of the native validity state to a proxy object, as native validity is readonly.
458
+ const validity = {
459
+ badInput: false,
460
+ customError: false,
461
+ patternMismatch: false,
462
+ rangeOverflow: false,
463
+ rangeUnderflow: false,
464
+ stepMismatch: false,
465
+ tooLong: false,
466
+ tooShort: false,
467
+ typeMismatch: false,
468
+ valid: true,
469
+ valueMissing: false,
470
+ };
471
+ Object.keys(validity).forEach(key => (validity[key] = this.nativeInput.validity[key]));
472
+ if (typeof this.max !== "undefined" && ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) && this.max < this.valueAsNormalizedFloat()) {
473
+ validity.rangeOverflow = true;
474
+ validity.valid = false;
475
+ }
476
+ if (typeof this.min !== "undefined" && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) && this.min > this.valueAsNormalizedFloat()) {
477
+ validity.rangeUnderflow = true;
478
+ validity.valid = false;
479
+ }
480
+ return validity;
391
481
  }
392
482
  /**
393
483
  * @internal
@@ -402,7 +492,8 @@ const DuetInput = class {
402
492
  inheritGlobalTheme(this);
403
493
  this.disallowedPatternChange();
404
494
  this.isCaptionVisible = !!this.caption;
405
- checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
495
+ // Accept also slot element so that other components using duet-input can pass their tooltip slots here.
496
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip, slot", 1, true);
406
497
  }
407
498
  componentDidLoad() {
408
499
  if (this.variation === "revealable" && this.nativeInput.form) {
@@ -510,6 +601,21 @@ const DuetInput = class {
510
601
  }
511
602
  }
512
603
  }
604
+ getAutocomplete() {
605
+ if (this.type === "password") {
606
+ return "off";
607
+ }
608
+ const tokens = this.autoComplete.split(/\s+/);
609
+ // If attribute includes "email", e.g. "work email", don't overwrite it
610
+ if (this.type === "email" && this.autoComplete !== "off" && !tokens.includes("email")) {
611
+ return "email";
612
+ }
613
+ // If attribute includes "tel", e.g. "mobile tel", don't overwrite it
614
+ if (this.type === "tel" && this.autoComplete !== "off" && !tokens.includes("tel")) {
615
+ return "tel";
616
+ }
617
+ return this.autoComplete;
618
+ }
513
619
  /**
514
620
  * Add a chip to the input. Property "chips" must be true.
515
621
  */
@@ -549,7 +655,7 @@ const DuetInput = class {
549
655
  const identifier = this.identifier || this.inputId;
550
656
  const inputProps = {};
551
657
  if (this.numericKeyboard) {
552
- inputProps.inputmode = "numeric";
658
+ inputProps.inputmode = "decimal";
553
659
  }
554
660
  // Set validation regexes
555
661
  if (this.pattern && this.type !== "tel") {
@@ -574,7 +680,7 @@ const DuetInput = class {
574
680
  this.type !== "password" &&
575
681
  this.type !== "time" &&
576
682
  this.variation !== "button";
577
- return (h(Host, { key: 'c36aabb598d1ab24aede9cacbbc0f8dfeaf7ff2f', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (h("duet-visually-hidden", { key: 'ee9481c94a8beeeb5b22e5f9f3dc92a96111e3e8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), h("div", { key: 'a75cdb69696761e21eb42620bc3162f3ffbe062e', class: {
683
+ return (h(Host, { key: '1119e8e51f3a490e34665e77ce32ec21f7bc70c7', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (h("duet-visually-hidden", { key: '31afa65dcb1b161f8c5a87c65953a26a552066b8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), h("div", { key: '5574afef8c592593193cbf0c99eaf8eaa84dbf11', class: {
578
684
  "duet-input-container": true,
579
685
  "duet-theme-turva": this.theme === "turva",
580
686
  [`duet-input-variation-${this.variation}`]: true,
@@ -587,12 +693,15 @@ const DuetInput = class {
587
693
  "has-chips": this.chips,
588
694
  "has-clear": this.clear,
589
695
  "has-focus": this.isFocused,
696
+ "has-adornment": !!this.fieldPrefix || !!this.fieldSuffix,
697
+ "has-prefix": !!this.fieldPrefix,
698
+ "has-suffix": !!this.fieldSuffix,
590
699
  disabled: this.disabled,
591
- } }, h("div", { key: '84b4ba43c2fbbdf7b390dba0a7f0dc839626b5ed', class: "duet-input-label-container" }, h(DuetInternalLabel, { key: 'a7134e94f657eab2c9c5156a81269712c83ec270', 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 && (h("duet-tooltip", { key: '669a1461aedfebd1c2e66077beda1c298b77458c', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: 'ad5e55d3a36ade247c1508eeffe9de96df514c51', name: "tooltip" })), this.caption && (h("duet-caption", { key: '5c4bfb71d79efe8be226ba521c95c5d8fbec67de', id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { key: '4dfa6f211f3d00f6906d8e18ea9c4fdcc8ec3877', class: {
700
+ } }, h("div", { key: 'cd0dfb4e8ef821c84d342fff017da9b3e6938134', class: "duet-input-label-container" }, h(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 && (h("duet-tooltip", { key: 'f263424aa51a59f4252cad4b4a1347b5986869ae', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: 'b4afd5ae65bbc03083b81996965cb354d6fd2a35', name: "tooltip" })), this.caption && (h("duet-caption", { key: '1d126824ee2ef4b7a4dae8650363e9da0b58c288', id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { key: 'adb5b8fa3b3de37c96d74fd1b888de75689a3ce0', class: {
592
701
  "duet-input-relative": true,
593
702
  "duet-theme-turva": this.theme === "turva",
594
703
  "has-error": !!this.error,
595
- } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { key: 'f7811efcc2acfa5b01b1efd6d334a35c35350ca1', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (h("duet-visually-hidden", { key: 'f4c6f4a8974bfca86248b528b05f84d50c73ba4c', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && h("slot", { key: 'b270e8b1fe5c958c76b9ba82e7c25aedf35ae710', name: "button-left" }), h("input", Object.assign({ key: 'ee3e9844d6fd27bafb895d0f08a2ce2282237024', ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
704
+ } }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { key: 'fcadd06bf9e0dc4115c0bd004de23fa5692b03fc', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (h("duet-visually-hidden", { key: '84a8a1feed5a0895936f5e1d5ee310c6282f1678', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && h("slot", { key: '90533c1b234e2644eb97317f903abbf04fee8138', name: "button-left" }), this.fieldPrefix && (h("span", { key: '151fd6757766b8c7e86ded73639d87bb32814089', class: "input-adornment prefix", id: this.prefixId }, this.fieldPrefix)), 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: {
596
705
  "duet-input": true,
597
706
  disabled: this.disabled,
598
707
  "is-number": this.component === "number",
@@ -600,17 +709,17 @@ const DuetInput = class {
600
709
  "after-chip": this.getAllChips().length > 0,
601
710
  "align-right": this.inputAlign === "right",
602
711
  [`input-padding-${this.inputPadding}`]: true,
603
- }, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "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.type === "password" ? "off" : this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.value && hasInputIcon && (h("div", { key: 'f021ac46e0c9738775a03965e2c3497d80c4dced', class: "duet-input-icon" }, h("duet-icon", { key: '56bff364b7c70d530c3dd809b2a8a2f7fe1fff5b', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { key: '7eb63087db85f1095034e2584cf4d1d4b124c82a', class: {
712
+ }, 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 && (h("duet-visually-hidden", { key: `maxlength-announcement-${this.maxlengthAnnouncementKey}`, "aria-live": "polite", "aria-atomic": "true" }, this.maxlengthAnnouncement)), this.fieldSuffix && (h("span", { key: 'b2d284fc05798f7dab08555f524cabf4f94f0e19', class: "input-adornment suffix", id: this.suffixId }, this.fieldSuffix)), !this.value && hasInputIcon && (h("div", { key: '8364a8a7687b6e37279585edf55da9005673f4df', class: "duet-input-icon" }, h("duet-icon", { key: '1b420da3e76241f1e105ce5ef8b9f40e6490424d', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { key: 'c67978258fbf64a22563a8e139b7a7de012bb4ca', class: {
604
713
  "duet-input-clear-icon": true,
605
714
  "duet-input-clear-icon-single": !hasInputIcon,
606
715
  "duet-input-clear-icon-double": !!this.icon,
607
716
  "duet-input-clear-icon-button": this.variation === "button",
608
717
  [`input-padding-${this.inputPadding}`]: true,
609
- } }, h("button", { key: '72fb4efe7f5d0ea161c7401acb59f2b20a77adac', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, h("duet-icon", { key: 'f9df024692c1be597b37cedc74c8203e8fabb908', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (h("div", { key: 'bca090dc2f20e1febe6674059e0a3b22c2d79d2f', class: "duet-input-icon" }, h("duet-icon", { key: '9066e27643ad85bc683cd36a5998e7bd0fcad572', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && h("slot", { key: 'c83a2b95a969c7f1c2f7a3915cdfce56d1c525b8', name: "button" }), this.variation === "revealable" && (h("duet-button", { key: '86fc4aaddb775f76d602b699bdc8c811f41f2561', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
718
+ } }, h("button", { key: 'b243244d6d5184c42a9afb93483479a0b07bad7d', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, h("duet-icon", { key: '2ff21863005e55dc7a4dc1a16e2e2e40ad7f85cf', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (h("div", { key: '7732892f159a6c7c9ad7c89b0031052b1ed45502', class: "duet-input-icon" }, h("duet-icon", { key: '97de6dc8ff0c506db494dc36edc6d0107792c2b9', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && h("slot", { key: '5c940caf605e2eaff4db2a36c63548db78f36f41', name: "button" }), this.variation === "revealable" && (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
610
719
  ? this.hidePasswordLabel[this.language]
611
- : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (h("duet-visually-hidden", { key: 'dfa0a59d038af09b5115dae28772c108918154ab' }, h("span", { key: '00408d3c2616c8e1aa64b41503ae7760c1fd60af', "aria-live": "polite" }, this.isPasswordRevealed
720
+ : this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (h("duet-visually-hidden", { key: 'cc394dbd7d28fc9e1cf0a864c67e7e7a6a835d1a' }, h("span", { key: '20033ed28c86634d6faf03180e53cff84def1329', "aria-live": "polite" }, this.isPasswordRevealed
612
721
  ? this.passwordShownAriaAnnouncement[this.language]
613
- : this.passwordHiddenAriaAnnouncement[this.language]))), h("slot", { key: '3b539164f49b311fcdc82ce75cb75d360e148c4b' })), h("span", { key: '2f2f5abff72831b7257d404dfedecb8bea316762', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: '63e8da0c2b2638d8af7f0b87f4e00ab5d5b7aa8c', class: "duet-input-error" }, this.error)))));
722
+ : this.passwordHiddenAriaAnnouncement[this.language]))), h("slot", { key: 'b72c50503fa80fd1ba6764b7b3348bc5d7b2813c' })), h("span", { key: '25790e8c5147bb271fefa6cbce2343287b57c816', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'c62d261a03ebec492aed9c65a836525e47660cfc', class: "duet-input-error" }, this.error)))));
614
723
  }
615
724
  get element() { return getElement(this); }
616
725
  static get watchers() { return {
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-D3450NfA.js';
5
5
  import { i as isInternetExplorer } from './is-internet-explorer-DxESMgwA.js';
6
- import { c as checkNamedSlotElement } from './slot-utils-CEZnAp61.js';
6
+ import { c as checkNamedSlotElement } from './slot-utils-Dxcjtmp3.js';
7
7
 
8
8
  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)}}";
9
9
 
@@ -64,24 +64,24 @@ const DuetLayout = class {
64
64
  * Always the last one in the class.
65
65
  */
66
66
  render() {
67
- return (h(Host, { key: '53712da1e22dc258d30906570bf1271624379ed8', class: {
67
+ return (h(Host, { key: 'c3ba619c0c3088257b425ba8f5022ebef33c1100', class: {
68
68
  center: this.center,
69
69
  "duet-middle": this.middle,
70
70
  "duet-ie": isInternetExplorer(),
71
- } }, h("div", { key: '80dc2f3b86a02c22c7aebd8802bd332154c4a273', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (h("div", { key: '9f3f4c713d5b921ad78480072e3dcea4d4867d04', class: {
71
+ } }, h("div", { key: 'd627f63579dfb957bf3abe17191e8a8e943f0aae', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (h("div", { key: '4586ff77f2ef4209020a2401eef63273527a2e27', class: {
72
72
  "duet-layout-top": true,
73
73
  "duet-center": this.center,
74
- } }, h("div", { key: '7cd44f76b96b5e2bd6033cc044f08e75a10760ed', class: "duet-layout-top-wrapper" }, h("slot", { key: '7743f1fe659f31925b27a85a970e934506b935e7', name: "top" })))), h("div", { key: '637a68f8376e073f146c63f2c866b6f52722577e', class: {
74
+ } }, h("div", { key: 'daebb47e73054b59bb0459dc3327e0e60b17ebbe', class: "duet-layout-top-wrapper" }, h("slot", { key: '339fac00b53c0b4f532cfc77d5743217b5f72057', name: "top" })))), h("div", { key: 'bbf287d1f0aa701c40553a426b7a77b0a1c24c17', class: {
75
75
  "duet-layout": true,
76
76
  "has-sidebar": this.hasSidebar,
77
77
  "duet-center": this.center,
78
78
  [`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
79
- } }, h("main", { key: 'f6b2682dfb675be08976b23a485cf1a7ad76de0c', class: "duet-main" }, this.hasPageHeading && h("slot", { key: '9ec618959d54d768b880f95e05df0e5aaf76de75', name: "page-heading" }), h("slot", { key: 'b3c960b48d55fb863854fc34e126b1a143b3d194', name: "main" })), this.hasSidebar && (h("aside", { key: '68671aab139ba365d60284909e489a78bd7438d3', class: "duet-sidebar" }, h("div", { key: '60a53e1fa61ccec8fa2b85f20b475c52e016b963', class: {
79
+ } }, h("main", { key: '0d75aa9aeb65fa61f8e0ff114cee467abe49f1cd', class: "duet-main" }, this.hasPageHeading && h("slot", { key: 'fd0ed7464c54122f1cfbbfbfc40f78d8c9ab41c7', name: "page-heading" }), h("slot", { key: '1004e4007a1d82e22147ddf3a883e8ddc9c7b0dc', name: "main" })), this.hasSidebar && (h("aside", { key: '167c6d2495c8bbc7cd0275f723e0810b9fc311b6', class: "duet-sidebar" }, h("div", { key: 'f0bbcbeb756bf18ba1b678c405c3890fb00ad857', class: {
80
80
  "duet-sidebar-container": true,
81
81
  "has-tabs": this.tabs,
82
82
  sticky: this.sticky,
83
83
  [this.stickyDistance]: this.sticky,
84
- } }, h("slot", { key: 'a6131a1af98bb5cf2c6c808b15cea9e6996143f3', name: "sidebar" }))))))));
84
+ } }, h("slot", { key: 'b8b30e8b29bb87ea6a0c0891ca5f841d0921f72b', name: "sidebar" }))))))));
85
85
  }
86
86
  get element() { return getElement(this); }
87
87
  };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, g as getElement, H as Host } from './index-Cwhi6_oZ.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
4
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-D3450NfA.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
6
6
  import { w as watchForOptions } from './watch-options-BmMFVM-y.js';
7
7
 
8
8
  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}";
@@ -105,7 +105,7 @@ const DuetList = class {
105
105
  * Always the last one in the class.
106
106
  */
107
107
  render() {
108
- return (h("dl", { key: '82930dea1fe1193f295b5888ed5f06a85693faaa', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, h("slot", { key: '44602efe41782f5dc0221b0fe2dd2ac6dc905ae3' })));
108
+ return (h("dl", { key: 'c83e43f3d82e32198e0a5d45a0812b8358f6be07', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, h("slot", { key: '7a65328f555edf10f4da02166eebcfcf8b8f68f7' })));
109
109
  }
110
110
  get element() { return getElement(this); }
111
111
  static get watchers() { return {
@@ -150,7 +150,7 @@ const DuetListItem = class {
150
150
  * Always the last one in the class.
151
151
  */
152
152
  render() {
153
- return (h(Host, { key: 'e4cd01b6b0c03f3d82beba7c85400711e49f6582', class: {
153
+ return (h(Host, { key: '83029afa5ebc666926eb1572b8ad9a311bdbfcf1', class: {
154
154
  "duet-theme-turva": this.theme === "turva",
155
155
  "duet-no-stacking": !this.responsive,
156
156
  "duet-list-item-breakpoint-x-small": this.breakpoint === "x-small",
@@ -158,7 +158,7 @@ const DuetListItem = class {
158
158
  "duet-list-item-breakpoint-medium": this.breakpoint === "medium",
159
159
  "duet-list-item-breakpoint-large": this.breakpoint === "large",
160
160
  "duet-list-item-breakpoint-x-large": this.breakpoint === "x-large",
161
- } }, h("dt", { key: '9644bd50dfb2d6b45bd136bedcb6968f9a2675ba' }, h("slot", { key: 'db3550984b29dd4dad07eb4ab7d047652e83ac22', name: "label" })), h("dd", { key: '1e01b0449b667d1de8e9ba3ed9593725c5ce8353' }, h("slot", { key: 'c0662c72ff8ba3c2a13041b741b15ee1f9b0f544', name: "value" }))));
161
+ } }, h("dt", { key: '884936458d12b95cd553cd4dc4d8a237cd8e5830' }, h("slot", { key: 'b17473caf7b410acf49f8c68f9ae53b3071397d7', name: "label" })), h("dd", { key: 'e5c6aa8b8d8998d500d27493896a288f71861df6' }, h("slot", { key: '7a6a3b223c394bb3376d7734791cfd439076d5f7', name: "value" }))));
162
162
  }
163
163
  get element() { return getElement(this); }
164
164
  };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-Cwhi6_oZ.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-D_FVcjsD.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-D3450NfA.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-QHdUfcat.js';
6
6
 
7
7
  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)}}";
8
8
 
@@ -53,10 +53,10 @@ const DuetMenuBarButton = class {
53
53
  * Always the last one in the class.
54
54
  */
55
55
  render() {
56
- return (h(Host, { key: '0e1e537a15d9a7b7d94a2ce24a71281b4757b1d5', role: "listitem", onfocus: () => this.setFocus() }, h("button", { key: 'c7ab5d711a28d54af476fdf133e8f92bce25f020', ref: button => (this.nativeButton = button), class: {
56
+ return (h(Host, { key: 'e826fdb0b0fb223aea52738971ddbc17f6004833', role: "listitem", onfocus: () => this.setFocus() }, h("button", { key: '350dd3a06df24d5f3a3f3dccb4a4a48b4a43e9f7', ref: button => (this.nativeButton = button), class: {
57
57
  "duet-menu-bar-button": true,
58
58
  "duet-theme-turva": this.theme === "turva",
59
- }, "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 && (h("duet-icon", { key: '922a6e2fa015b52aac218ce9e803c75a57465310', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), h("slot", { key: 'd85350f1fb803be4e524803b0bea4acc62f569fb' }))));
59
+ }, "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 && (h("duet-icon", { key: '96911d1ad50d5b247e27d3e6b5712326434a6354', class: "menu-bar-button-icon", theme: this.theme, size: "auto", name: this.icon, margin: "none", color: "currentColor" })), h("slot", { key: '004e73cb6a5e6f3126a45d9fa7184f7b424d4f60' }))));
60
60
  }
61
61
  get element() { return getElement(this); }
62
62
  };