@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
@@ -4,9 +4,16 @@
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { DuetStatusLabels } from "../../common-strings";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
+ import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
7
8
  import { getLocaleString } from "../../utils/language-utils";
9
+ import { checkNamedSlotElement, getElementsFromNamedSlot, hasSlot } from "../../utils/slot-utils";
10
+ /**
11
+ * @slot default - Badge content.
12
+ * @slot tooltip - Alternative way to provide a tooltip for the badge, takes one duet-tooltip.
13
+ */
8
14
  export class DuetBadge {
9
15
  constructor() {
16
+ this.hasTooltipSlot = false;
10
17
  /**
11
18
  * Theme of the badge.
12
19
  */
@@ -24,6 +31,13 @@ export class DuetBadge {
24
31
  * Controls the margin of the component.
25
32
  */
26
33
  this.margin = "auto";
34
+ /**
35
+ * Giving tooltip text makes the badge act as tooltip button. The badge's text content will be used as the
36
+ * tooltips accessible-about-label - if you want other accessible label, use the tooltip slot instead of this
37
+ * attribute.
38
+ */
39
+ this.tooltip = "";
40
+ this.getBadgeText = () => this.element.textContent;
27
41
  this.getVariationLabel = () => {
28
42
  if (this.variation === "subtle") {
29
43
  return "";
@@ -37,8 +51,20 @@ export class DuetBadge {
37
51
  /**
38
52
  * Component lifecycle events.
39
53
  */
54
+ connectedCallback() {
55
+ subscribeTabbingChange(this);
56
+ }
57
+ disconnectedCallback() {
58
+ unsubscribeTabbingChange(this);
59
+ }
40
60
  componentWillLoad() {
41
61
  inheritGlobalTheme(this);
62
+ this.hasTooltipSlot = hasSlot(this.element, "tooltip");
63
+ checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
64
+ if (this.hasTooltipSlot) {
65
+ const tooltip = getElementsFromNamedSlot(this.element, "tooltip")[0];
66
+ tooltip.badgeElement = this.element;
67
+ }
42
68
  }
43
69
  /**
44
70
  * render() function
@@ -46,12 +72,13 @@ export class DuetBadge {
46
72
  */
47
73
  render() {
48
74
  const backgroundClass = `background-${this.background}`;
49
- return (h(Host, { key: '446fcb8a0becb11a4043774efb1611dd9d89d82d', class: { "duet-m-0": this.margin === "none" } }, h("span", { key: '56ca2601a6f378068ce6d1c695089c0d131e9b7d', class: {
75
+ return (h(Host, { key: 'a560a9bf8c66e7b54260cf1a51c2bb4728d204bd', class: { "duet-m-0": this.margin === "none" } }, h("span", { key: '6acc7c0b3470e48d82386d808f0b997da64d01bd', class: {
50
76
  "duet-badge": true,
51
77
  [this.variation]: true,
52
78
  [backgroundClass]: true,
79
+ "has-tooltip": !!this.tooltip || this.hasTooltipSlot,
53
80
  "duet-theme-turva": this.theme === "turva",
54
- } }, h("duet-visually-hidden", { key: 'b1105a9f4a43ee6f9379cb8c02a06328830bbaa6' }, this.getVariationLabel()), h("slot", { key: '2922cf32e24472ae3c8685a1ea90a27c0112b740' }))));
81
+ } }, h("duet-visually-hidden", { key: 'ffef5f8b2e1f4daa1ad9c6422663bdd68279d97b' }, this.getVariationLabel()), h("slot", { key: 'c29a964054979e3453dc6d1e3e26deb37db4d6da' }), (this.tooltip || this.hasTooltipSlot) && (h("span", { key: '6aaefca53e94bf5a1d25b19f3f3b6182bdc24d89', class: "tooltip-wrap" }, !this.hasTooltipSlot && (h("duet-tooltip", { key: '2dcff5145d02f2dc6be7c9459dfe96d57873d7c9', "accessible-about-label": this.getBadgeText(), badgeElement: this.element }, this.tooltip)), h("slot", { key: '618248018df97f7071166094bf62ac615577371b', name: "tooltip" }))))));
55
82
  }
56
83
  static get is() { return "duet-badge"; }
57
84
  static get encapsulation() { return "shadow"; }
@@ -167,6 +194,26 @@ export class DuetBadge {
167
194
  "setter": false,
168
195
  "reflect": false,
169
196
  "defaultValue": "\"auto\""
197
+ },
198
+ "tooltip": {
199
+ "type": "string",
200
+ "attribute": "tooltip",
201
+ "mutable": false,
202
+ "complexType": {
203
+ "original": "string",
204
+ "resolved": "string",
205
+ "references": {}
206
+ },
207
+ "required": false,
208
+ "optional": false,
209
+ "docs": {
210
+ "tags": [],
211
+ "text": "Giving tooltip text makes the badge act as tooltip button. The badge's text content will be used as the\ntooltips accessible-about-label - if you want other accessible label, use the tooltip slot instead of this\nattribute."
212
+ },
213
+ "getter": false,
214
+ "setter": false,
215
+ "reflect": false,
216
+ "defaultValue": "\"\""
170
217
  }
171
218
  };
172
219
  }
@@ -77,6 +77,11 @@
77
77
  object-fit: cover;
78
78
  object-position: center;
79
79
  }
80
+ .duet-banner .visual .image.contain {
81
+ padding: 16px 20px 0;
82
+ object-fit: contain;
83
+ object-position: center bottom;
84
+ }
80
85
  .duet-banner .visual .icon {
81
86
  position: absolute;
82
87
  }
@@ -137,6 +142,10 @@
137
142
  width: 100%;
138
143
  height: 100%;
139
144
  }
145
+ .duet-banner.size-medium .visual .image.contain, .duet-banner.size-large .visual .image.contain {
146
+ padding: 28px;
147
+ object-position: center;
148
+ }
140
149
  .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {
141
150
  top: 36px;
142
151
  left: 168px;
@@ -174,6 +183,9 @@
174
183
  width: 100%;
175
184
  height: 100%;
176
185
  }
186
+ .duet-banner.size-large .visual .image.contain {
187
+ padding: 48px;
188
+ }
177
189
  .duet-banner.size-large .visual .icon {
178
190
  top: 40px;
179
191
  bottom: auto;
@@ -47,6 +47,11 @@ export class DuetBanner {
47
47
  * Image. Example image is 512x341;
48
48
  */
49
49
  this.image = "";
50
+ /**
51
+ * Will the image cover the whole image area (possibly getting cropped), or will it be contained without any
52
+ * cropping (possibly not filling the whole area).
53
+ */
54
+ this.imageFit = "cover";
50
55
  /**
51
56
  * Icon.
52
57
  */
@@ -130,19 +135,19 @@ export class DuetBanner {
130
135
  src: this.image,
131
136
  alt: this.imageAlt || "",
132
137
  loading: "lazy",
133
- class: "image",
138
+ class: `image ${this.imageFit}`,
134
139
  role: this.imageAlt ? undefined : "presentation",
135
140
  },
136
141
  sources: parsePossibleJSON(this.sources),
137
142
  };
138
- return (h(Host, { key: '6c5c51b5270034eca60358d32acf69b0b87cfe37', class: { "duet-m-0": this.margin === "none" } }, h("aside", { key: 'd3357af952f4d21a284a3c07a4840be8c9d96671', class: {
143
+ return (h(Host, { key: '7bb7e73a6f4d35a44a152b488d46ad622f2cb50b', class: { "duet-m-0": this.margin === "none" } }, h("aside", { key: '739f618adf7c4723262b4ec6295cf4864c361526', class: {
139
144
  "duet-banner": true,
140
145
  "duet-theme-turva": this.theme === "turva",
141
146
  [this.currentSize]: true,
142
147
  "size-medium": this.size === "medium" || this.size === "large",
143
148
  "size-large": this.size === "large",
144
149
  "no-image": !this.image,
145
- }, style: bannerStyles }, h("div", { key: '129fd9d09e47a09e8109741d832e6adbb254c2f7', class: "visual" }, h("div", { key: '34a38d97f6591aa3cf06542ccc21d2be6526775e', class: "image-container" }, this.image && h(DuetPicture, Object.assign({ key: '4e74d10a68cbd875eafda59dff824d20f2259534' }, pictureSource))), 1 > 2 && this.icon && (h("duet-icon", { key: '2f4c682fe9c434b13d2a40172ed703fc48f49625', theme: this.theme, class: "icon", name: this.icon, shape: "brand", size: this.currentSize === "large" ? "xx-large" : "x-large", color: this.iconColor, background: this.iconBackgroundColor, "background-rotation": "7", "background-opacity": "0.85", margin: "none" })), h("div", { key: '527007e8b696a194e63cb513d32c8072e3900fa0', style: bannerStyles, class: "brand-shape" })), h("div", { key: '6c2ce761c87965936e5a77764bd07c4068fc5af1', class: "content" }, this.hasHeadingSlot && (h("div", { key: 'f95cad851a8a235080682deabc5eb48f69f06090', class: "heading" }, h("duet-heading", { key: '35d3d015a16e2f723d2afa61b46b44706239063f', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: '3968de3baeb3baca08829460f41c843df594c3a6' }, h("slot", { key: 'c19c73a90688fc2e2f45cd46215714cd0f23eee1', name: "heading" }))))), this.hasDescriptionSlot && (h("div", { key: '77df4cc82d30c81bd36f73fa7db4bbfb59a491d6', class: "description", style: { color } }, h("slot", { key: '21d38914241a35c9d5b8803d727abca2b8c7c249', name: "description" }))), this.hasActionSlot && (h("div", { key: 'aef144cc3dbb6453ed8e0b37337322da880f26d8', class: "action" }, h("slot", { key: '613875d267d920e780afe93b3eb4c4fadbb3d73b', name: "action" })))))));
150
+ }, style: bannerStyles }, h("div", { key: 'd78595a1aabf12715243be11008f484d23596a1b', class: "visual" }, h("div", { key: 'ef55a2809492d94f8c249f1cad969f52c7c7b82d', class: "image-container" }, this.image && h(DuetPicture, Object.assign({ key: '80aa252e2ae80b3deeea7949866fe797dfff3500' }, pictureSource))), 1 > 2 && this.icon && (h("duet-icon", { key: 'e7052f4bbe89af540520f5e54f852263623b7bff', theme: this.theme, class: "icon", name: this.icon, shape: "brand", size: this.currentSize === "large" ? "xx-large" : "x-large", color: this.iconColor, background: this.iconBackgroundColor, "background-rotation": "7", "background-opacity": "0.85", margin: "none" })), this.imageFit !== "contain" && h("div", { key: '99d09920043743c985e0d3dba395a3985fb498a9', style: bannerStyles, class: "brand-shape" })), h("div", { key: 'b71115c0291aa50a6fb14fd9da4f5ca3e17966b8', class: "content" }, this.hasHeadingSlot && (h("div", { key: 'ab430cc7698686f5e352cd8b1a832a75fba1016e', class: "heading" }, h("duet-heading", { key: 'd524b78d7d934270dece2274467f32450d67d5c3', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": this.currentSize === "large" ? "h2" : "h3", "fixed-size": true, margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: 'c9f8c556560a5cf18924a0f3b4c71bc5b4a66e34' }, h("slot", { key: '4e1425677afc11f145db287ebf17df9917f40529', name: "heading" }))))), this.hasDescriptionSlot && (h("div", { key: 'b0ec390d54156a3df44821ab41b5bee3245a880b', class: "description", style: { color } }, h("slot", { key: 'd284da9e4b546bbc02c8741aa7aa368de497ea52', name: "description" }))), this.hasActionSlot && (h("div", { key: '3ff5952fc3f6ab7a7948317ef7907f297df37a30', class: "action" }, h("slot", { key: 'e912017d264737322c63eec6e3d3a13a225db01a', name: "action" })))))));
146
151
  }
147
152
  static get is() { return "duet-banner"; }
148
153
  static get encapsulation() { return "shadow"; }
@@ -324,7 +329,7 @@ export class DuetBanner {
324
329
  "references": {
325
330
  "bannerSize": {
326
331
  "location": "local",
327
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-banner/duet-banner.tsx",
332
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-banner/duet-banner.tsx",
328
333
  "id": "src/components/duet-banner/duet-banner.tsx::bannerSize"
329
334
  }
330
335
  }
@@ -379,6 +384,26 @@ export class DuetBanner {
379
384
  "setter": false,
380
385
  "reflect": false
381
386
  },
387
+ "imageFit": {
388
+ "type": "string",
389
+ "attribute": "image-fit",
390
+ "mutable": false,
391
+ "complexType": {
392
+ "original": "\"cover\" | \"contain\"",
393
+ "resolved": "\"contain\" | \"cover\"",
394
+ "references": {}
395
+ },
396
+ "required": false,
397
+ "optional": false,
398
+ "docs": {
399
+ "tags": [],
400
+ "text": "Will the image cover the whole image area (possibly getting cropped), or will it be contained without any\ncropping (possibly not filling the whole area)."
401
+ },
402
+ "getter": false,
403
+ "setter": false,
404
+ "reflect": false,
405
+ "defaultValue": "\"cover\""
406
+ },
382
407
  "sources": {
383
408
  "type": "string",
384
409
  "attribute": "sources",
@@ -398,7 +423,7 @@ export class DuetBanner {
398
423
  "optional": false,
399
424
  "docs": {
400
425
  "tags": [],
401
- "text": "Array of sources for responsive images. Sources have the properties of <source> element.\nThis is an experimental feature and might be changed without notice."
426
+ "text": "Array of sources for responsive images. Sources have the properties of <source> element."
402
427
  },
403
428
  "getter": false,
404
429
  "setter": false,
@@ -44,15 +44,15 @@ export class DuetBreadcrumb {
44
44
  */
45
45
  render() {
46
46
  const Tag = this.href ? "a" : "span";
47
- return (h(Host, { key: 'bee5edcaaa257aef537393e9620b269c242dff1d', role: "listitem" }, h("div", { key: 'fe46fa6ccf1f40968db1b82d27b11c5a5a450594', class: "container" }, this.icon === "arrow-right-small-icon" && (h("duet-icon", { key: '0f01a2a92376855fc341815886b031498a5085fd', class: "duet-breadrumbs-arrow", size: "auto", icon: arrowRightSmallIcon.svg, margin: "none", color: "currentColor" })), h(Tag, { key: 'cffeeca1d48de91945115a38bfcb1ae5efe702db', class: {
47
+ return (h(Host, { key: '9d25b651fd5b242297c25eb3ea99ffc6f1ca48af', role: "listitem" }, h("div", { key: '84a91d5dd5578cb8294cea0e48d0ee4d5bb2fd23', class: "container" }, this.icon === "arrow-right-small-icon" && (h("duet-icon", { key: 'c443a924a8354ec1218f8ff092ba4f8c8c6ee848', class: "duet-breadrumbs-arrow", size: "auto", icon: arrowRightSmallIcon.svg, margin: "none", color: "currentColor" })), h(Tag, { key: '266f23bcf053b651c24cdf70aaf540a618ed0334', class: {
48
48
  "duet-breadcrumb": true,
49
49
  "duet-theme-turva": this.theme === "turva",
50
50
  "icon-only": this.icon && !this.hasSlottedContent,
51
51
  }, href: this.href || undefined, "aria-label": this.accessibleLabel || this.element.textContent, "aria-current": this.href ? undefined : "page" }, this.icon !== "arrow-right-small-icon" &&
52
52
  this.icon && [
53
- h("duet-icon", { key: 'ee27c63d28c4c9187a8242a811532322749f94fd', size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
54
- this.hasSlottedContent && h("duet-spacer", { key: 'e0a220aa059a782dc8716f9fcda3e945bc048f40', size: "x-small", direction: "horizontal" }),
55
- ], h("slot", { key: '86454db36ecfe921c4b1719f1d9b7807da79a272' })))));
53
+ h("duet-icon", { key: '4db885eb507c009ff6f8441052b4c402bf6fd677', size: this.iconSize, name: this.icon, margin: "none", color: "currentColor" }),
54
+ this.hasSlottedContent && h("duet-spacer", { key: '1dd57ad658f67683907cf1d7b9db5726d5d4d309', size: "x-small", direction: "horizontal" }),
55
+ ], h("slot", { key: '71d21629fc5c66ebe08d0c7eb04a9293e0246cf5' })))));
56
56
  }
57
57
  static get is() { return "duet-breadcrumb"; }
58
58
  static get encapsulation() { return "shadow"; }
@@ -62,11 +62,11 @@ export class DuetBreadcrumbs {
62
62
  */
63
63
  render() {
64
64
  const color = getColorByName(this.color);
65
- return (h(Host, { key: '36f67b82a722d5c4017bb4cec37fd7149572d264' }, h("nav", { key: 'f8fe3f4e521969a60d9428a354a88152171613ec', "aria-label": this.breadcrumbsAriaLabel, class: {
65
+ return (h(Host, { key: 'e7ae98090732542452a2a94210f21bc4d877987e' }, h("nav", { key: '20edb0b05a6c3e6589e7d6be4e875bbfe89e263c', "aria-label": this.breadcrumbsAriaLabel, class: {
66
66
  "duet-breadcrumbs": true,
67
67
  "duet-theme-turva": this.theme === "turva",
68
68
  [this.variation]: true,
69
- } }, h("div", { key: '78f711e9262e47c989705552d2ab75e65ae17fbe', class: "container" }, h("div", { key: 'bfc70b5d984cc57ef2591f4a3ecf452db9ae0ed6', role: "list", class: "list", style: { color } }, h("slot", { key: '96e85ea897f84aef0111f41d1e91ac2a263e8d66' })), h("div", { key: 'b99f56d5dba834d934872b86fcb8e46205ae3084', class: "bottom-border bottom-border--container" })), h("div", { key: '1d96cf880260a6fa1fb39cbc0e76e7b5df8f208c', class: "bottom-border bottom-border--nav" }))));
69
+ } }, h("div", { key: '9af54a322da0c7be2e37687a9d67e16214de644c', class: "container" }, h("div", { key: '0e7243aa0cb721abb7b413e4bd109f4594f6c2ac', role: "list", class: "list", style: { color } }, h("slot", { key: '8ed1299ec1deda2d43ecabdcc1d49c15a4467b23' })), h("div", { key: '24b4efdf7a6f85c6ea8badf769d0dd8b098252ee', class: "bottom-border bottom-border--container" })), h("div", { key: '510ebbb8148a84730d5bc1f53c3fb01a76c7bcdb', class: "bottom-border bottom-border--nav" }))));
70
70
  }
71
71
  static get is() { return "duet-breadcrumbs"; }
72
72
  static get encapsulation() { return "shadow"; }
@@ -343,6 +343,11 @@
343
343
  background: transparent;
344
344
  border-color: rgb(255, 255, 255);
345
345
  }
346
+ .duet-button.duet-button-negative:focus {
347
+ outline: 2px solid;
348
+ outline-offset: 2px;
349
+ outline-color: rgba(255, 255, 255, 0.8);
350
+ }
346
351
  .duet-button.destructive-primary {
347
352
  color: rgb(255, 255, 255) !important;
348
353
  background: rgb(214, 28, 82);
@@ -63,7 +63,7 @@ export class DuetButton {
63
63
  */
64
64
  this.expand = false;
65
65
  /**
66
- * Keep the button fixed width even on mobile viewports.
66
+ * Keep the button fixed width even on mobile viewports. Fixed width is always used for variation plain.
67
67
  */
68
68
  this.fixed = false;
69
69
  /**
@@ -316,7 +316,7 @@ export class DuetButton {
316
316
  "duet-m-0": this.margin === "none",
317
317
  "duet-small": this.size === "small",
318
318
  "duet-x-small": this.size === "x-small",
319
- "duet-fixed": this.fixed,
319
+ "duet-fixed": this.fixed || this.variation === "plain",
320
320
  "duet-expand": this.expand,
321
321
  [this.variation]: true,
322
322
  "input-button": (_b = this.variation) === null || _b === void 0 ? void 0 : _b.startsWith("input-button"),
@@ -585,7 +585,7 @@ export class DuetButton {
585
585
  "references": {
586
586
  "DuetButtonVariation": {
587
587
  "location": "local",
588
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-button/duet-button.tsx",
588
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-button/duet-button.tsx",
589
589
  "id": "src/components/duet-button/duet-button.tsx::DuetButtonVariation"
590
590
  }
591
591
  }
@@ -734,7 +734,7 @@ export class DuetButton {
734
734
  "references": {
735
735
  "DuetButtonTextCentering": {
736
736
  "location": "local",
737
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-button/duet-button.tsx",
737
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-button/duet-button.tsx",
738
738
  "id": "src/components/duet-button/duet-button.tsx::DuetButtonTextCentering"
739
739
  }
740
740
  }
@@ -760,7 +760,7 @@ export class DuetButton {
760
760
  "references": {
761
761
  "DuetButtonWrapping": {
762
762
  "location": "local",
763
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-button/duet-button.tsx",
763
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-button/duet-button.tsx",
764
764
  "id": "src/components/duet-button/duet-button.tsx::DuetButtonWrapping"
765
765
  }
766
766
  }
@@ -809,7 +809,7 @@ export class DuetButton {
809
809
  "optional": false,
810
810
  "docs": {
811
811
  "tags": [],
812
- "text": "Keep the button fixed width even on mobile viewports."
812
+ "text": "Keep the button fixed width even on mobile viewports. Fixed width is always used for variation plain."
813
813
  },
814
814
  "getter": false,
815
815
  "setter": false,
@@ -1151,7 +1151,7 @@ export class DuetButton {
1151
1151
  "references": {
1152
1152
  "DuetButtonIconSize": {
1153
1153
  "location": "local",
1154
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-button/duet-button.tsx",
1154
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-button/duet-button.tsx",
1155
1155
  "id": "src/components/duet-button/duet-button.tsx::DuetButtonIconSize"
1156
1156
  }
1157
1157
  }
@@ -1177,7 +1177,7 @@ export class DuetButton {
1177
1177
  "references": {
1178
1178
  "DuetButtonSize": {
1179
1179
  "location": "local",
1180
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-button/duet-button.tsx",
1180
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-button/duet-button.tsx",
1181
1181
  "id": "src/components/duet-button/duet-button.tsx::DuetButtonSize"
1182
1182
  }
1183
1183
  }
@@ -37,11 +37,11 @@ export class DuetCallout {
37
37
  <path d="M6.6591 0.557547L9.2031 2.33355C7.0911 5.21355 6.1311 7.18155 5.8431 8.90955C7.4751 9.34155 8.7231 10.5415 8.7231 12.6535C8.7231 15.2935 6.9471 16.9255 4.6431 16.9255C2.0511 16.9255 0.227096 15.1975 0.227096 12.2695C0.227096 8.28555 2.3871 4.34955 6.6591 0.557547ZM17.9871 8.95755C19.6191 9.34155 20.8671 10.5415 20.8671 12.6535C20.8671 15.2935 19.1391 16.9255 16.8351 16.9255C14.2431 16.9255 12.4191 15.1975 12.4191 12.2695C12.4191 8.28555 14.5791 4.34955 18.8511 0.557547L21.3951 2.33355C19.2351 5.21355 18.3231 7.18155 17.9871 8.95755Z"/>
38
38
  </svg>
39
39
  `;
40
- return (h(Host, { key: 'e0a035450d6e7305b25de43ed55f4ffe7a15a0e3' }, h("div", { key: '6c5d998d494deab47f1384005e7d2dfb95246c7b', class: {
40
+ return (h(Host, { key: '70c2370b0a61707b44ed89544cf0ae0d3eb5b739' }, h("div", { key: '440dfe7d27ede12ff24de94bd9b598b9a630fdf4', class: {
41
41
  "duet-callout": true,
42
42
  "duet-theme-turva": this.theme === "turva",
43
43
  "duet-m-0": this.margin === "none",
44
- } }, h("figure", { key: '48c6d6f720cd951a3e80e953265a1c79174c0dd6', class: "container" }, h("duet-icon", { key: 'f25c2dbb92d9a7f05b11512f9ef73052585916a7', class: "callout-icon", shape: "brand-rotated", background: "primary-lighter", "background-opacity": "0.75", "background-rotation": this.theme === "turva" ? "0" : "7", color: "secondary", icon: icon, size: "auto", margin: "none", theme: this.theme }), h("blockquote", { key: 'e01e4dcdc7992709803169f5fb85183134f7608f' }, h("slot", { key: '7d23fc2421ababa106e834cbb1681d7b94137574' })), this.hasAuthorSlot && (h("figcaption", { key: 'ccd723ba6d25df159a5826a0ab652cde0556659d', class: "author" }, h("span", { key: '0daa1d1540484278f462a1f6ea258dd292f5548c' }, "\u2014 "), h("slot", { key: '47f2ade5a9f6e081482c243fa52942de8fa523e8', name: "author" })))))));
44
+ } }, h("figure", { key: 'b3aa896544cb2cc6021eb50ea96e317fd256d266', class: "container" }, h("duet-icon", { key: 'cdffa280e6126af9e8e77bc6a96821cf7b229796', class: "callout-icon", shape: "brand-rotated", background: "primary-lighter", "background-opacity": "0.75", "background-rotation": this.theme === "turva" ? "0" : "7", color: "secondary", icon: icon, size: "auto", margin: "none", theme: this.theme }), h("blockquote", { key: '8b3d9b55675179e4ed743459009d4f278bf2b30a' }, h("slot", { key: '41a60c64671630e6199cb5bcc94a9d19f530b8f3' })), this.hasAuthorSlot && (h("figcaption", { key: '80d6481648829aead64c88db38312ee34253424e', class: "author" }, h("span", { key: '2bf9d1de8bfa5456ea8c69c9b2731e2b1a4bbef3' }, "\u2014 "), h("slot", { key: '091fcf50b602dccfb2d8ae005999539a0dde8efb', name: "author" })))))));
45
45
  }
46
46
  static get is() { return "duet-callout"; }
47
47
  static get encapsulation() { return "shadow"; }
@@ -137,7 +137,7 @@ export class DuetCaption {
137
137
  "references": {
138
138
  "DuetCaptionSize": {
139
139
  "location": "local",
140
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-caption/duet-caption.tsx",
140
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-caption/duet-caption.tsx",
141
141
  "id": "src/components/duet-caption/duet-caption.tsx::DuetCaptionSize"
142
142
  }
143
143
  }
@@ -509,6 +509,9 @@
509
509
  padding: 0;
510
510
  margin: 0;
511
511
  }
512
+ .duet-card-image-mask picture {
513
+ display: block;
514
+ }
512
515
 
513
516
  .duet-card-image {
514
517
  display: block;
@@ -6,8 +6,9 @@ import { Build, Fragment, h, Host } from "@stencil/core";
6
6
  import { duetBlock, duetHeadingLevels, inheritGlobalTheme } from "../../common";
7
7
  import { createID } from "../../utils/create-id";
8
8
  import { isKeyboardClick, subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
9
+ import { DuetPicture } from "../../utils/picture-utils";
9
10
  import { getElementsFromNamedSlot } from "../../utils/slot-utils";
10
- import { sanitizeString } from "../../utils/string-utils";
11
+ import { parsePossibleJSON, sanitizeString } from "../../utils/string-utils";
11
12
  import { getColorByName } from "../../utils/token-utils";
12
13
  /**
13
14
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
@@ -151,10 +152,20 @@ export class DuetCard {
151
152
  const styles = {
152
153
  backgroundColor: getColorByName(this.background),
153
154
  };
154
- return (h(Host, { key: '526da1b920f1be4a18d200ab81bc1951649cf3b2', class: {
155
+ const pictureSource = {
156
+ img: {
157
+ src: this.image,
158
+ alt: this.imageAlt || "",
159
+ loading: "lazy",
160
+ class: "duet-card-image",
161
+ role: this.imageAlt ? undefined : "presentation",
162
+ },
163
+ sources: parsePossibleJSON(this.sources),
164
+ };
165
+ return (h(Host, { key: 'd61c941d4cbcd29c34375c93cf2c414b553e6825', class: {
155
166
  "duet-m-0": this.margin === "none",
156
167
  "duet-card-info": this.variation === "info",
157
- } }, h(TagName, { key: '1cfae581c87423ea9d466fd39084b28505b01a77', href: this.url, style: styles, ref: card => (this.nativeCard = card), "aria-label": this.accessibleLabel, class: {
168
+ } }, h(TagName, { key: '3e8e63bc3077e7ee7008816f3f1c0928a9ac6cad', href: this.url, style: styles, ref: card => (this.nativeCard = card), "aria-label": this.accessibleLabel, class: {
158
169
  "duet-card": true,
159
170
  [this.padding]: true,
160
171
  [this.variation]: true,
@@ -164,7 +175,7 @@ export class DuetCard {
164
175
  "duet-card-has-bg": this.background !== "gray-lightest",
165
176
  "duet-card-has-icon": !!this.icon,
166
177
  "duet-card-collapsed": this.collapsible && !this.open,
167
- } }, this.image && (h("div", { key: 'e310f18c792507a78333290fc56a3866efe302ca', class: "duet-card-image-mask" }, h("img", { key: '84eaf59d2df2a9dd85cf0703b9b1641dff78c473', src: this.image, class: "duet-card-image", loading: "lazy", alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" }))), (this.heading || this.hasHeadingSlot) && this.renderHeading(), h("div", { key: 'ef549d1a5f7efeb35a2fd0ca6ab2c22566955029', class: "duet-card-content", id: this.cardId }, h("slot", { key: '746a25475887db3e0ba914e273eb32571accbb56' }), this.hasFooter && (h("div", { key: 'd30c96b12ae73fc4bdfbfd22f25b862287b8fce5', class: "duet-card-footer" }, h("slot", { key: '887615186784331005c099562f296bdd3d216c98', name: "footer" })))))));
178
+ } }, this.image && (h("div", { key: '430d6550590b6ba8ff0582c6bfe1de5556149597', class: "duet-card-image-mask" }, h(DuetPicture, Object.assign({ key: 'b2c6457f6fad9275a9fdaff2b1a3a492dc08a1e1' }, pictureSource)))), (this.heading || this.hasHeadingSlot) && this.renderHeading(), h("div", { key: '705605a43265107ea95fa7d9147cb7cbe82ad586', class: "duet-card-content", id: this.cardId }, h("slot", { key: '2eeb551820975ccbcb3c72f4c2ae4f315848d024' }), this.hasFooter && (h("div", { key: '4ef3a54510d5747516a767282d7392e81eb7ced2', class: "duet-card-footer" }, h("slot", { key: 'f0f8e31a0beba199f3826ec58d277e848134ce38', name: "footer" })))))));
168
179
  }
169
180
  static get is() { return "duet-card"; }
170
181
  static get encapsulation() { return "shadow"; }
@@ -249,7 +260,7 @@ export class DuetCard {
249
260
  "references": {
250
261
  "DuetCardVariation": {
251
262
  "location": "local",
252
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-card/duet-card.tsx",
263
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-card/duet-card.tsx",
253
264
  "id": "src/components/duet-card/duet-card.tsx::DuetCardVariation"
254
265
  }
255
266
  }
@@ -445,6 +456,31 @@ export class DuetCard {
445
456
  "setter": false,
446
457
  "reflect": false
447
458
  },
459
+ "sources": {
460
+ "type": "string",
461
+ "attribute": "sources",
462
+ "mutable": false,
463
+ "complexType": {
464
+ "original": "DuetSource[] | string",
465
+ "resolved": "DuetSource[] | string",
466
+ "references": {
467
+ "DuetSource": {
468
+ "location": "import",
469
+ "path": "../../utils/picture-utils",
470
+ "id": "src/utils/picture-utils.tsx::DuetSource"
471
+ }
472
+ }
473
+ },
474
+ "required": false,
475
+ "optional": false,
476
+ "docs": {
477
+ "tags": [],
478
+ "text": "Array of sources for responsive images. Sources have the properties of <source> element."
479
+ },
480
+ "getter": false,
481
+ "setter": false,
482
+ "reflect": false
483
+ },
448
484
  "background": {
449
485
  "type": "string",
450
486
  "attribute": "background",
@@ -481,7 +517,7 @@ export class DuetCard {
481
517
  "references": {
482
518
  "DuetCardPadding": {
483
519
  "location": "local",
484
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-card/duet-card.tsx",
520
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-card/duet-card.tsx",
485
521
  "id": "src/components/duet-card/duet-card.tsx::DuetCardPadding"
486
522
  }
487
523
  }
@@ -613,7 +649,7 @@ export class DuetCard {
613
649
  "references": {
614
650
  "DuetCardToggleEvent": {
615
651
  "location": "local",
616
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-card/duet-card.tsx",
652
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-card/duet-card.tsx",
617
653
  "id": "src/components/duet-card/duet-card.tsx::DuetCardToggleEvent"
618
654
  }
619
655
  }
@@ -637,7 +637,7 @@ export class DuetCheckbox {
637
637
  "references": {
638
638
  "DuetCheckboxEvent": {
639
639
  "location": "local",
640
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
640
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
641
641
  "id": "src/components/duet-checkbox/duet-checkbox.tsx::DuetCheckboxEvent"
642
642
  }
643
643
  }
@@ -658,7 +658,7 @@ export class DuetCheckbox {
658
658
  "references": {
659
659
  "DuetCheckboxEvent": {
660
660
  "location": "local",
661
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
661
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
662
662
  "id": "src/components/duet-checkbox/duet-checkbox.tsx::DuetCheckboxEvent"
663
663
  }
664
664
  }
@@ -679,7 +679,7 @@ export class DuetCheckbox {
679
679
  "references": {
680
680
  "DuetCheckboxEvent": {
681
681
  "location": "local",
682
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
682
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-checkbox/duet-checkbox.tsx",
683
683
  "id": "src/components/duet-checkbox/duet-checkbox.tsx::DuetCheckboxEvent"
684
684
  }
685
685
  }