@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
@@ -82,10 +82,16 @@
82
82
  max-width: 744px;
83
83
  padding: 48px 90px 16px 0;
84
84
  }
85
+ .duet-page-heading .heading.has-back-button {
86
+ padding-top: 72px;
87
+ }
85
88
  @media (min-width: 48em) {
86
89
  .duet-page-heading .heading {
87
90
  padding: 72px 150px 40px 0;
88
91
  }
92
+ .duet-page-heading .heading.has-back-button {
93
+ padding-top: 94px;
94
+ }
89
95
  }
90
96
  .duet-page-heading:not(.has-icon) .heading {
91
97
  padding-right: 0;
@@ -172,11 +178,14 @@
172
178
  width: 60px;
173
179
  height: 85px;
174
180
  height: 60px;
175
- background: rgba(0, 119, 179, 0.75);
181
+ background: rgba(0, 119, 179, 0.9);
176
182
  border-radius: 25%;
177
183
  mix-blend-mode: normal;
178
184
  transform: rotate(7deg);
179
185
  }
186
+ .duet-page-heading .background .brand-shaped-icon.secondary-background {
187
+ background: rgba(8, 42, 77, 0.85);
188
+ }
180
189
  @media (min-width: 48em) {
181
190
  .duet-page-heading .background .brand-shaped-icon {
182
191
  right: 36px;
@@ -209,6 +218,16 @@
209
218
  .duet-page-heading .progress-step.active {
210
219
  background-color: rgb(0, 119, 179);
211
220
  }
221
+ .duet-page-heading .button-container {
222
+ position: absolute;
223
+ top: 20px;
224
+ left: 0;
225
+ }
226
+ @media (min-width: 48em) {
227
+ .duet-page-heading .button-container {
228
+ top: 36px;
229
+ }
230
+ }
212
231
 
213
232
  .duet-page-heading.duet-theme-turva {
214
233
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
@@ -3,19 +3,30 @@
3
3
  */
4
4
  import { h } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { checkNamedSlotElement, hasSlot } from "../../utils/slot-utils";
6
7
  /**
7
8
  * @slot heading - This is a slot for heading content.
9
+ * @slot button - This is a slot for button visually above the heading. Use only variation "plain" button.
8
10
  */
9
11
  export class DuetPageHeading {
10
12
  constructor() {
13
+ this.hasButtonSlot = false;
11
14
  /**
12
15
  * Theme of the hero area.
13
16
  */
14
17
  this.theme = "";
18
+ /**
19
+ * LähiTapiola theme includes a brand shape at the top by default. Set to "none" to omit it. Has no effect for Turva.
20
+ */
21
+ this.shape = "auto";
15
22
  /**
16
23
  * Icon.
17
24
  */
18
25
  this.icon = "";
26
+ /**
27
+ * With LähiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme.
28
+ */
29
+ this.iconBackground = "default";
19
30
  /**
20
31
  * Layout.
21
32
  * Values narrow and fluid are deprecated.
@@ -27,6 +38,8 @@ export class DuetPageHeading {
27
38
  */
28
39
  componentWillLoad() {
29
40
  inheritGlobalTheme(this);
41
+ this.hasButtonSlot = hasSlot(this.element, "button");
42
+ checkNamedSlotElement(this.element, "button", "duet-button[variation=plain]");
30
43
  }
31
44
  progressIndicator() {
32
45
  return (h("div", { class: "progress-indicator" }, Array.from({ length: Math.ceil(this.progressTotalSteps) }, (_, i) => {
@@ -43,12 +56,15 @@ export class DuetPageHeading {
43
56
  */
44
57
  render() {
45
58
  const layout = this.layout === "narrow" ? "narrow" : this.layout === "fluid" ? "fluid" : "auto";
46
- return (h("div", { key: 'f353e792c29cf6a49513529f3a54740bf2894dcc', class: {
59
+ return (h("div", { key: '52d02a4dce3ed0bfe7d0281e536c14b7d2d7af02', class: {
47
60
  "duet-page-heading": true,
48
61
  "duet-theme-turva": this.theme === "turva",
49
62
  "has-icon": !!this.icon,
50
63
  [layout]: true,
51
- } }, h("div", { key: 'b8a5a752d4557b2ac2ac2bfc1c2e65861d4c0521', class: "background" }, this.theme === "turva" && h("div", { key: 'ff9cbab91c325792d84f24d227d67b5bd2f83401', class: "background-mask" }), this.theme !== "turva" && h("div", { key: 'c697b3df64c3300caccb801818e16e0f82be19b4', class: "brand-shape" }), this.theme !== "turva" && h("div", { key: '86bea79fd3c261f4042b7f55129cf5b3e2bbcc20', class: "brand-shape second-shape" }), this.icon && (h("div", { key: 'f95cb3034647398542c7eac251e3a8ee589fde3c', class: "brand-shaped-icon" }, h("duet-icon", { key: '5ea162f55f426e4fb23d062c42b452f9d02dd8db', background: "none", name: this.icon, margin: "none", size: "auto", responsive: false })))), h("div", { key: 'ca049bcfa7903693dcd81e7053f9c8436f5bc972', class: "heading" }, h("slot", { key: '1f11d60c4883d6a083ab58a3549230893373a4b0', name: "heading" }), this.progressCurrentStep !== undefined && this.progressTotalSteps > 0 && (h("div", { key: '3d192a48b6d2f852c76bb4cca92a6bd260c89b6d' }, h("duet-spacer", { key: 'ae3a5aa598bca7741ddeefb498ad03a00f01ffa1', size: "large" }), h("div", { key: '145b65c13423049136df5afff6d6f0b75fceeff2', role: "presentation" }, this.progressIndicator()))))));
64
+ } }, h("div", { key: '5b8730f3424abb59a4f112a8cf4f820d3ea18f8b', class: "background" }, this.theme === "turva" && h("div", { key: '38b4170db541d4a236704fb6b27740c33919ef83', class: "background-mask" }), this.theme !== "turva" && this.shape !== "none" && h("div", { key: '4b4724634d1e265f5647dcd33721a98867e8bd60', class: "brand-shape" }), this.theme !== "turva" && this.shape !== "none" && h("div", { key: '26f7bc99f46804ee1102ce912f6ca77d339be248', class: "brand-shape second-shape" }), this.icon && (h("div", { key: '4f2aa62fb0c1db1e07c64e15a089091ec2eab04c', class: {
65
+ "brand-shaped-icon": true,
66
+ "secondary-background": this.iconBackground === "secondary" && this.theme !== "turva",
67
+ } }, h("duet-icon", { key: '0b654e7123f11229e0c685e0b81a46697a02b292', background: "none", name: this.icon, margin: "none", size: "auto", responsive: false })))), h("div", { key: 'b6d28fa2f26538252371352175a8a9bba5cc8957', class: { heading: true, "has-back-button": this.hasButtonSlot } }, h("slot", { key: '283f4783659934a188371693ff2f418b256f43c3', name: "heading" }), this.hasButtonSlot && (h("div", { key: 'bf572a5c8cb71cfb3fba0090e4ca0279b0f9e8f2', class: "button-container" }, h("slot", { key: 'a78e5b2921240203bcd7572825e46b8a49c236cf', name: "button" }))), this.progressCurrentStep !== undefined && this.progressTotalSteps > 0 && (h("div", { key: 'e0d6bae844200dbd0cc4264186c178e9cbcc4c3a' }, h("duet-spacer", { key: '5e02b1d6f9d9ae5133ec857b69da04d73159a213', size: "large" }), h("div", { key: '8b14ec6f1cda71d6a69236e9256faa91519da39e', role: "presentation" }, this.progressIndicator()))))));
52
68
  }
53
69
  static get is() { return "duet-page-heading"; }
54
70
  static get encapsulation() { return "shadow"; }
@@ -90,6 +106,26 @@ export class DuetPageHeading {
90
106
  "reflect": false,
91
107
  "defaultValue": "\"\""
92
108
  },
109
+ "shape": {
110
+ "type": "string",
111
+ "attribute": "shape",
112
+ "mutable": false,
113
+ "complexType": {
114
+ "original": "\"auto\" | \"none\"",
115
+ "resolved": "\"auto\" | \"none\"",
116
+ "references": {}
117
+ },
118
+ "required": false,
119
+ "optional": false,
120
+ "docs": {
121
+ "tags": [],
122
+ "text": "L\u00E4hiTapiola theme includes a brand shape at the top by default. Set to \"none\" to omit it. Has no effect for Turva."
123
+ },
124
+ "getter": false,
125
+ "setter": false,
126
+ "reflect": false,
127
+ "defaultValue": "\"auto\""
128
+ },
93
129
  "icon": {
94
130
  "type": "string",
95
131
  "attribute": "icon",
@@ -116,6 +152,26 @@ export class DuetPageHeading {
116
152
  "reflect": false,
117
153
  "defaultValue": "\"\""
118
154
  },
155
+ "iconBackground": {
156
+ "type": "string",
157
+ "attribute": "icon-background",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "\"default\" | \"secondary\"",
161
+ "resolved": "\"default\" | \"secondary\"",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": false,
166
+ "docs": {
167
+ "tags": [],
168
+ "text": "With L\u00E4hiTapiola theme the icon can have secondary background instead of default. This has no effect on Turva theme."
169
+ },
170
+ "getter": false,
171
+ "setter": false,
172
+ "reflect": false,
173
+ "defaultValue": "\"default\""
174
+ },
119
175
  "layout": {
120
176
  "type": "string",
121
177
  "attribute": "layout",
@@ -242,14 +242,13 @@ export class DuetPagination {
242
242
  calculatePageTake() {
243
243
  this.totalPages = Math.ceil(this.total / this.take);
244
244
  }
245
- //set update current when mouse click on page number
245
+ // Update current when mouse click on arrow buttons
246
246
  async onMouseHandler(e, dir) {
247
247
  if (this.disabled) {
248
248
  return;
249
249
  }
250
250
  if (!this.processedPageLinks) {
251
251
  e.preventDefault();
252
- e.stopPropagation();
253
252
  this.current = this.current + dir;
254
253
  }
255
254
  this.emitPageEvent(e);
@@ -394,32 +393,32 @@ export class DuetPagination {
394
393
  * Always the last one in the class.
395
394
  */
396
395
  render() {
397
- return (h(Host, { key: '07c38979b231dbf5a56713a66a5b185d4c3e2822', onKeyDown: e => this.onKeyboardDown(e), class: { "duet-theme-turva": this.theme === "turva" } }, h("nav", { key: '128744d916789820fba42f8475d2d2ce86ba42c8', role: "navigation", "aria-labelledby": this.accessibleLabelledBy ? `${this.accessibleLabelledBy} ${this.listId}` : this.listId, "aria-describedby": this.accessibleDescribedBy ? `${this.accessibleDescribedBy} ${this.listId}` : this.listId, "aria-descriptions": this.accessibleDescription, "aria-details": this.accessibleDetails, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
396
+ return (h(Host, { key: '713861c49972efc0620c9d6425aebc4621c60725', onKeyDown: e => this.onKeyboardDown(e), class: { "duet-theme-turva": this.theme === "turva" } }, h("nav", { key: '26f0be5edcc3d2e83961c40a097e804360ec82e4', role: "navigation", "aria-labelledby": this.accessibleLabelledBy ? `${this.accessibleLabelledBy} ${this.listId}` : this.listId, "aria-describedby": this.accessibleDescribedBy ? `${this.accessibleDescribedBy} ${this.listId}` : this.listId, "aria-descriptions": this.accessibleDescription, "aria-details": this.accessibleDetails, ref: el => (this.nativeNav = el), "aria-controls": this.ariaControls, class: {
398
397
  "duet-pagination-nav": true,
399
398
  [`duet-pagination-variation-${this.variation}`]: true,
400
- } }, this.numbersStore !== "" && (h("div", { key: '2666aa8028eb8270455a0fa5cfe4db71cc5a2705', "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.accessibleLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" }, h("duet-badge", { key: '5006048f11b634ac53981dd1de48d24786763bce', theme: this.theme }, "jump to page : ", this.numbersStore))), h("ol", { key: '6359ab5b15062ff7533365dbf693745cd8c20363', id: this.listId, class: {
399
+ } }, this.numbersStore !== "" && (h("div", { key: 'e048dc669a90234e04206d2e919477c456437171', "aria-live": "assertive", "aria-relevant": "text", class: "duet-pagination-overlay", "aria-label": `${this.accessibleLabels.jump_to} ${this.numbersStore}`, part: "navigation-overlay" }, h("duet-badge", { key: '4cc0ec61a9b412f51a71b90b1ff1f371d20b6b77', theme: this.theme }, "jump to page : ", this.numbersStore))), h("ol", { key: 'a21618609f5e18d5febe55d009164ae2b6104cee', id: this.listId, class: {
401
400
  "duet-pagination": true,
402
401
  "duet-pagination-is-dimmed": this.numbersStore !== "",
403
- }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, (this.variation === "compact" || this.matchesCompactBreakpoint) && (h("li", { key: '9ed757c34264a5d9b98faf0a497a188720a9496e', class: {
402
+ }, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, (this.variation === "compact" || this.matchesCompactBreakpoint) && (h("li", { key: 'f398d058c0ebf2bdab7ab945bed0b4548bbbfe83', class: {
404
403
  "duet-pagination-page-button": true,
405
404
  "duet-pagination-button-first": true,
406
- }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: 'e5a376e51af5edecd2631bb8b3cf02610545692e', disabled: (this.internalSectionIndex === 0 && this.current <= 1) || this.disabled, "data-direction": "back", accessibleLabel: this.accessibleLabels.first_page, title: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), "icon-name": "action-move-to-first", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }))), h("li", { key: '168de5258be5f0f7008e100d4683fc02c3064581', class: {
405
+ }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: '045fb3a76f525bf38592dbd063d786d85ef0aef4', disabled: (this.internalSectionIndex === 0 && this.current <= 1) || this.disabled, "data-direction": "back", accessibleLabel: this.accessibleLabels.first_page, title: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), "icon-name": "action-move-to-first", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }))), h("li", { key: 'a34ff449e6b0f6bfdf045751e137d7bbf82745b0', class: {
407
406
  "duet-pagination-page-button": true,
408
407
  "duet-pagination-button-first": true,
409
- }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: 'af5ba5fa8e2b376f0b27f523283447cf28147a7e', disabled: !!((this.internalSectionIndex === 0 && this.current <= 1) ||
408
+ }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: '499f743f212068efe40d91da50a6a5d3a36b1bb8', disabled: !!((this.internalSectionIndex === 0 && this.current <= 1) ||
410
409
  (this.current <= 1 && this.processedPageLinks) ||
411
- this.disabled), "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "accessible-label": this.accessibleLabels.previous_page, title: this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current - 2] : undefined })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (h(Fragment, { key: '7bd37d481400c119a456c8b652eb3d692e5fd494' }, h("li", { key: '4992a1986eb573d5202077e46ad00b6421993d1e', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h("duet-button", { key: '508172776a6640e80e3ab8194de2e337a884bff6', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: this.theme !== "turva" ? "secondary" : "secondary-turva", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }, h("div", { key: '200db789756b44c9a2f5772d1dd47fb643941a8c', class: "duet-pagination-page-number" }, "1"))), h("li", { key: '671815628d37eb09a768187f86e5626bb83ff4e9', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h("duet-button", { key: '10734ac5cb625203ea5bf3aa016b66eb8cc5107d', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1), theme: this.theme }, h("div", { key: '7b995d636201ffbbb4e32c6867304d26cd9deb37', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026"))))), (this.shouldDisplayNavigation() && this.renderPageNumbers()) || this.renderSelect(), (this.internalSectionIndex + 1) * this.visibleItems < this.totalPages &&
412
- this.shouldDisplayNavigation() && (h(Fragment, { key: '7c4c1587b80070022309e8f809e1a5f1cda1c754' }, (this.internalSectionIndex + 1) * this.visibleItems !== this.totalPages - 1 && (h("li", { key: '7ed7e399d452f10d7950e4900ee99cb122f5f71c', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h("duet-button", { key: '034dd1e1d88c51a2fd376dc412ad5c5d181bc24a', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1), theme: this.theme }, h("div", { key: '810bcd10da373edf7e7be89da5fcb36686a1e888', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026")))), h("li", { key: '5e03de6360345650ce6d286ecc553351620028d5', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h("duet-button", { key: '3822ccc78f50fd0e6c0eb149a059fb6375c2dd9f', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), theme: this.theme, url: this.processedPageLinks
410
+ this.disabled), "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "accessible-label": this.accessibleLabels.previous_page, title: this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current - 2] : undefined })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (h(Fragment, { key: '855d343b101d8a4cb531e5534121c32fcebb6537' }, h("li", { key: '87e9bf3c0e7709986f8425c68dcf453e37ecea53', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h("duet-button", { key: 'ff073c3fb7001b83e9bd8254b5f0058350681aab', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: this.theme !== "turva" ? "secondary" : "secondary-turva", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e), theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[0] : undefined }, h("div", { key: '2534ef73dffd5a2894f64e37b9b93ef921eeae9b', class: "duet-pagination-page-number" }, "1"))), h("li", { key: '41366d11be98973382389f639c4361fa88b3ee03', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h("duet-button", { key: '85acf7a3650a337686849a07b94e3c5ebe3985fc', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1), theme: this.theme }, h("div", { key: '0cb3f15c9fbf047ebd3f42a9ea312e2b7eb7cda5', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026"))))), (this.shouldDisplayNavigation() && this.renderPageNumbers()) || this.renderSelect(), (this.internalSectionIndex + 1) * this.visibleItems < this.totalPages &&
411
+ this.shouldDisplayNavigation() && (h(Fragment, { key: 'c330810aeb916a70838b5902a945179516c08c2a' }, (this.internalSectionIndex + 1) * this.visibleItems !== this.totalPages - 1 && (h("li", { key: 'e7827136e1d02443b965071e73e678f3db1d5045', class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h("duet-button", { key: 'ddf79df091880166ff5717d7ad56068afba21e8b', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1), theme: this.theme }, h("div", { key: 'eab0f9616b5a0a283d2cfdfa12de2c0a8e7b4c6a', class: "duet-pagination-page-number", "aria-hidden": "true" }, "\u2026")))), h("li", { key: 'b90fc9f829527d1d0cede68970d1bdbeeb00097c', class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h("duet-button", { key: 'b842abee7b341e75edbb9242f32febb0fd9027d0', disabled: this.disabled, class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: this.theme !== "turva" ? "secondary" : "secondary-turva", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), theme: this.theme, url: this.processedPageLinks
413
412
  ? this.processedPageLinks[this.processedPageLinks.length - 1]
414
- : undefined }, h("div", { key: '0ad55ddc86b6b0edec485316998e67153924e760', class: "duet-pagination-page-number" }, this.totalPages))))), h("li", { key: 'fc2a275cd29e3c10162ada93effec7d8b85c4dfc', class: {
413
+ : undefined }, h("div", { key: '7a39f4ad0995c18ebd0ffbd95b507272b17b5fe9', class: "duet-pagination-page-number" }, this.totalPages))))), h("li", { key: 'ad540cc00840f8452ef0bb93ee6aaa7bdc7b9a9a', class: {
415
414
  "duet-pagination-page-button": true,
416
415
  "duet-pagination-button-last": true,
417
- }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: '3ff469847711467ad2604371688183007dca39de', disabled: !!((this.current === this.totalPages &&
416
+ }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: 'e4fc05e7c0163974b0929387122200f56b352d7f', disabled: !!((this.current === this.totalPages &&
418
417
  this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1) ||
419
- (this.current === this.totalPages && this.processedPageLinks)) || this.disabled, class: "duet-date-dialog-next", "accessible-label": this.accessibleLabels.next_page, title: this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-move-to-next", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current] : undefined })), (this.variation === "compact" || this.matchesCompactBreakpoint) && (h("li", { key: '561178af1382559d15b047297d2ce3a1fb757587', class: {
418
+ (this.current === this.totalPages && this.processedPageLinks)) || this.disabled, class: "duet-date-dialog-next", "accessible-label": this.accessibleLabels.next_page, title: this.accessibleLabels.next_page, onClick: e => this.onMouseHandler(e, 1), "icon-name": "action-move-to-next", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.current] : undefined })), (this.variation === "compact" || this.matchesCompactBreakpoint) && (h("li", { key: '0f09b068770c1bf14c76d0d2c36e2138fdb3e5af', class: {
420
419
  "duet-pagination-page-button": true,
421
420
  "duet-pagination-button-last": true,
422
- }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: 'e5a2489a00c27cceb92224b60fa17e301fb2607e', disabled: (this.current === this.totalPages &&
421
+ }, role: "menuitem", part: "navigation-arrow" }, h("duet-action-button", { key: 'e53ee2acdfdf60f158d51607df8ee61f9af16b25', disabled: (this.current === this.totalPages &&
423
422
  this.internalSectionIndex === Math.ceil(this.totalPages / this.visibleItems) - 1) ||
424
423
  this.disabled, accessibleLabel: this.accessibleLabels.last_page, title: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e), "icon-name": "action-move-to-last", theme: this.theme, url: this.processedPageLinks ? this.processedPageLinks[this.totalPages - 1] : undefined })))))));
425
424
  }
@@ -493,7 +492,7 @@ export class DuetPagination {
493
492
  "references": {
494
493
  "DuetPaginationVariation": {
495
494
  "location": "local",
496
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-pagination/duet-pagination.tsx",
495
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-pagination/duet-pagination.tsx",
497
496
  "id": "src/components/duet-pagination/duet-pagination.tsx::DuetPaginationVariation"
498
497
  }
499
498
  }
@@ -811,7 +810,7 @@ export class DuetPagination {
811
810
  "references": {
812
811
  "DuetPaginationPageEvent": {
813
812
  "location": "local",
814
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-pagination/duet-pagination.tsx",
813
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-pagination/duet-pagination.tsx",
815
814
  "id": "src/components/duet-pagination/duet-pagination.tsx::DuetPaginationPageEvent"
816
815
  }
817
816
  }
@@ -30,14 +30,14 @@ export class DuetPanel {
30
30
  inheritGlobalTheme(this);
31
31
  }
32
32
  render() {
33
- return (h(Host, { key: '1de47ce04e9998565d49fc6786654bad4ab27b07', class: { "duet-m-0": this.margin === "none" } }, h("section", { key: 'fbd6b8aa69e37ad67a48b52c65097a1a18ca6c6b', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
33
+ return (h(Host, { key: 'c2b446e4eff02ce722d5fc470d9aedcb453e2dd2', class: { "duet-m-0": this.margin === "none" } }, h("section", { key: '1039cfb9fa6e615149ca632ffd85da61d9b00f91', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
34
34
  "duet-panel": true,
35
35
  "duet-theme-turva": this.theme === "turva",
36
36
  [this.variation.split("-")[0]]: true,
37
37
  [this.variation.split("-")[1]]: true,
38
38
  [`padding-${this.padding}`]: true,
39
39
  border: this.border,
40
- } }, h("slot", { key: '8309057522fb581d231a752add39db842a9b655b' }))));
40
+ } }, h("slot", { key: 'c923ad024bfad0670229a5da4ba140f5747549e4' }))));
41
41
  }
42
42
  static get is() { return "duet-panel"; }
43
43
  static get encapsulation() { return "shadow"; }
@@ -109,7 +109,7 @@ export class DuetPanel {
109
109
  "references": {
110
110
  "DuetPanelVariation": {
111
111
  "location": "local",
112
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-panel/duet-panel.tsx",
112
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-panel/duet-panel.tsx",
113
113
  "id": "src/components/duet-panel/duet-panel.tsx::DuetPanelVariation"
114
114
  }
115
115
  }
@@ -52,7 +52,7 @@ export class DuetParagraph {
52
52
  const color = getColorByName(this.color);
53
53
  // aria-describedby is to fix accessibility issue in Chrome where duet-paragraphs
54
54
  // are not announced when placed inside duet-modal
55
- return (h(Host, { key: '4cb0ecf0407180c626d975cfa824d88f54e551d6', "aria-describedby": this.id }, h("p", { key: '2177cf79dc10fdb930b6f4b84af7c49dead27ae3', id: this.id, class: {
55
+ return (h(Host, { key: 'e1478a81d9627fcff4c00c71d03fc9fe91642bbc', "aria-describedby": this.id }, h("p", { key: '78658b077c0692618bb7d6855bbd6605abd7b13f', id: this.id, class: {
56
56
  "duet-paragraph": true,
57
57
  "duet-paragraph-small": this.size === "small",
58
58
  "duet-paragraph-semi-bold": this.weight === "semi-bold",
@@ -61,7 +61,7 @@ export class DuetParagraph {
61
61
  [this.variation]: true,
62
62
  "duet-theme-turva": this.theme === "turva",
63
63
  "duet-inherit-color": !this.color && this.inheritingParents.some(p => this.element.closest(p)),
64
- }, style: { color }, part: "duet-paragraph" }, h("slot", { key: '85e03942b92c85d0ed0dd2d33baefc5995188562' }))));
64
+ }, style: { color }, part: "duet-paragraph" }, h("slot", { key: '83e026a3225a92a554c68da2eff4c7eb5eab36d5' }))));
65
65
  }
66
66
  static get is() { return "duet-paragraph"; }
67
67
  static get encapsulation() { return "shadow"; }
@@ -139,7 +139,7 @@ export class DuetParagraph {
139
139
  "references": {
140
140
  "DuetParagraphSize": {
141
141
  "location": "local",
142
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
142
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
143
143
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphSize"
144
144
  }
145
145
  }
@@ -165,7 +165,7 @@ export class DuetParagraph {
165
165
  "references": {
166
166
  "DuetParagraphWeight": {
167
167
  "location": "local",
168
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
168
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
169
169
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphWeight"
170
170
  }
171
171
  }
@@ -191,7 +191,7 @@ export class DuetParagraph {
191
191
  "references": {
192
192
  "DuetParagraphVariation": {
193
193
  "location": "local",
194
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
194
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-paragraph/duet-paragraph.tsx",
195
195
  "id": "src/components/duet-paragraph/duet-paragraph.tsx::DuetParagraphVariation"
196
196
  }
197
197
  }
@@ -18,6 +18,11 @@ export class DuetPhoneInput {
18
18
  fi: "Valitse maatunnus",
19
19
  sv: "Välj landskod",
20
20
  };
21
+ this.buttonAriaLabelSelected = {
22
+ en: "Now selected",
23
+ fi: "Nyt valittu",
24
+ sv: "Nu vald",
25
+ };
21
26
  this.language = getLanguage();
22
27
  /**
23
28
  * Theme of the input.
@@ -73,6 +78,11 @@ export class DuetPhoneInput {
73
78
  * Visually hide the label, but still show it to screen readers.
74
79
  */
75
80
  this.labelHidden = false;
81
+ /**
82
+ * Set the type of automatic completion by the browser. Must include "tel", may also include token "home", "work" or
83
+ * "mobile". If you must disable automatic completion (not recommended) use "off"
84
+ */
85
+ this.autoComplete = "tel";
76
86
  /**
77
87
  * Display the input in error state along with an error message.
78
88
  */
@@ -285,6 +295,13 @@ export class DuetPhoneInput {
285
295
  }
286
296
  return this.renderFlag(this.currentCountry.isoCode, true);
287
297
  }
298
+ getAccessibleLabelForButton() {
299
+ const select = this.buttonAriaLabel[this.language];
300
+ const selected = this.currentCountry
301
+ ? ` ${this.buttonAriaLabelSelected[this.language]}, ${this.currentCountry[this.language]}.`
302
+ : "";
303
+ return `${select}.${selected}`;
304
+ }
288
305
  render() {
289
306
  if (Build.isServer) {
290
307
  return;
@@ -297,7 +314,7 @@ export class DuetPhoneInput {
297
314
  "duet-theme-turva": this.theme === "turva",
298
315
  "duet-expand": this.expand,
299
316
  "duet-m-0": this.margin === "none",
300
- } }, h("div", { class: "duet-phone-input-container" }, h("duet-popup-menu", { ref: el => (this.countryCodePopup = el), scrollLimit: 10, showFilterInput: true }, this.countriesToList.map(country => country.isoCode === lastListFirstCode ? (h(Fragment, null, h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")"))), h("duet-divider", null))) : (h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")")))))), h("duet-input", { ref: el => (this.duetInputElement = el), onDuetChange: this.handleChange, onDuetFocus: this.handleFocus, onDuetBlur: this.handleBlur, onDuetInput: this.handleInput, label: this.label, caption: this.caption, error: this.error, name: this.name, minlength: this.minlength, maxlength: this.maxlength, component: "phone", variation: "button-left", type: "tel", disallowPattern: "[^\\+0-9 ]", required: this.required, disabled: this.disabled, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true }, h("duet-button", { ref: el => (this.countryCodeButton = el), slot: "button-left", variation: "input-button-left-secondary", margin: "none", fixed: true, icon: "action-arrow-down-small", iconSize: "small", iconRight: true, accessibleLabel: this.buttonAriaLabel[this.language], onClick: this.handleCountryCodeSelectorOpen }, h("span", { class: "flag-container" }, this.getFlagForButton())), h("slot", { name: "tooltip" })))));
317
+ } }, h("div", { class: "duet-phone-input-container" }, h("duet-popup-menu", { ref: el => (this.countryCodePopup = el), scrollLimit: 10, showFilterInput: true }, this.countriesToList.map(country => country.isoCode === lastListFirstCode ? (h(Fragment, null, h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")"))), h("duet-divider", null))) : (h("duet-popup-menu-item", { value: country.isoCode, onClick: this.handleCountryCodeSelectorSelect }, h("duet-grid", { alignment: "center" }, this.renderFlag(country.isoCode), h("span", null, country[this.language], " (+", country.telephoneCountryCode, ")")))))), h("duet-input", { ref: el => (this.duetInputElement = el), onDuetChange: this.handleChange, onDuetFocus: this.handleFocus, onDuetBlur: this.handleBlur, onDuetInput: this.handleInput, label: this.label, caption: this.caption, error: this.error, name: this.name, minlength: this.minlength, maxlength: this.maxlength, autoComplete: this.autoComplete, component: "phone", variation: "button-left", type: "tel", disallowPattern: "[^\\+0-9 ]", required: this.required, disabled: this.disabled, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true }, h("duet-button", { ref: el => (this.countryCodeButton = el), slot: "button-left", variation: "input-button-left-secondary", margin: "none", fixed: true, icon: "action-arrow-down-small", iconSize: "small", iconRight: true, accessibleLabel: this.getAccessibleLabelForButton(), onClick: this.handleCountryCodeSelectorOpen }, h("span", { class: "flag-container" }, this.getFlagForButton())), h("slot", { name: "tooltip" })))));
301
318
  }
302
319
  static get is() { return "duet-phone-input"; }
303
320
  static get encapsulation() { return "shadow"; }
@@ -659,6 +676,26 @@ export class DuetPhoneInput {
659
676
  "setter": false,
660
677
  "reflect": false
661
678
  },
679
+ "autoComplete": {
680
+ "type": "string",
681
+ "attribute": "auto-complete",
682
+ "mutable": false,
683
+ "complexType": {
684
+ "original": "string",
685
+ "resolved": "string",
686
+ "references": {}
687
+ },
688
+ "required": false,
689
+ "optional": false,
690
+ "docs": {
691
+ "tags": [],
692
+ "text": "Set the type of automatic completion by the browser. Must include \"tel\", may also include token \"home\", \"work\" or\n\"mobile\". If you must disable automatic completion (not recommended) use \"off\""
693
+ },
694
+ "getter": false,
695
+ "setter": false,
696
+ "reflect": false,
697
+ "defaultValue": "\"tel\""
698
+ },
662
699
  "error": {
663
700
  "type": "string",
664
701
  "attribute": "error",
@@ -827,7 +864,7 @@ export class DuetPhoneInput {
827
864
  "references": {
828
865
  "DuetPhoneInputEvent": {
829
866
  "location": "local",
830
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
867
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
831
868
  "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
832
869
  }
833
870
  }
@@ -848,7 +885,7 @@ export class DuetPhoneInput {
848
885
  "references": {
849
886
  "DuetPhoneInputEvent": {
850
887
  "location": "local",
851
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
888
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
852
889
  "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
853
890
  }
854
891
  }
@@ -869,7 +906,7 @@ export class DuetPhoneInput {
869
906
  "references": {
870
907
  "DuetPhoneInputEvent": {
871
908
  "location": "local",
872
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
909
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
873
910
  "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
874
911
  }
875
912
  }
@@ -890,7 +927,7 @@ export class DuetPhoneInput {
890
927
  "references": {
891
928
  "DuetPhoneInputEvent": {
892
929
  "location": "local",
893
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
930
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-phone-input/duet-phone-input.tsx",
894
931
  "id": "src/components/duet-phone-input/duet-phone-input.tsx::DuetPhoneInputEvent"
895
932
  }
896
933
  }
@@ -813,7 +813,7 @@ export class DuetPopupMenu {
813
813
  "references": {
814
814
  "DuetPopupMenuEvent": {
815
815
  "location": "local",
816
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-popup-menu/duet-popup-menu.tsx",
816
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-popup-menu/duet-popup-menu.tsx",
817
817
  "id": "src/components/duet-popup-menu/duet-popup-menu.tsx::DuetPopupMenuEvent"
818
818
  }
819
819
  }
@@ -101,11 +101,11 @@ export class DuetPopupMenuItem {
101
101
  };
102
102
  // Without the role ternary Safari/iPhone wouldn't announce the label for role menuitem.
103
103
  // This is a tradeoff and now Safari announces these items as buttons and links with the label.
104
- return (h(Host, { key: '8e31b4732e423f363115f217c220217f85a3899a', role: this.accessibleRole === "menuitem" && this.isSafariBrowser ? null : this.accessibleRole }, h(TagName, { key: '5abea3ae0f24951e2f99d2a905e08def59b7d23c', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "listitem" ? 0 : -1, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage, "aria-current": this.active ? "true" : undefined }, this.leadingIcon && (h("duet-icon", { key: '540354237f8e224355ddb092458c9cfb7e312afe', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), h("span", { key: 'b8304eae0ef5162910e1875f50737ee9a1a9b22a', class: "duet-popup-menu-item-label" }, h("slot", { key: '68a5948beee5b74d8c2b537e221f4d338398ad08' })), (this.trailingIcon || this.active || (this.url && this.external)) && (h("duet-icon", { key: '0054c8c0f16b760bd4044f2b29911b5dbacc2c70', name: this.url && this.external
104
+ return (h(Host, { key: 'dc904d95dbb1b0274fcdadcea67ce47aba4d7fe5', role: this.accessibleRole === "menuitem" && this.isSafariBrowser ? null : this.accessibleRole }, h(TagName, { key: 'ee50bbb09eba600e81b860df3102e0a2cd6288f2', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "listitem" ? 0 : -1, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage, "aria-current": this.active ? "true" : undefined }, this.leadingIcon && (h("duet-icon", { key: '2393da90d783cc2cde59d87a05035d3539009c94', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), h("span", { key: '3b89e70152736a394a1d783146d7fcf7042af27c', class: "duet-popup-menu-item-label" }, h("slot", { key: '7e2c5bff4d032a76c871b346477c1380d41ac23e' })), (this.trailingIcon || this.active || (this.url && this.external)) && (h("duet-icon", { key: '1307e84b95a9f3f731701377a93275e00b17682e', name: this.url && this.external
105
105
  ? newWindowIcon.title
106
106
  : this.active
107
107
  ? "messaging-checked-small"
108
- : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && h("span", { key: 'b1f655997c830f6d87c4091244628bec97fc0886', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
108
+ : this.trailingIcon, size: (this.url && this.external) || this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && h("span", { key: 'ccdd5e50e27621e4c9bddc18ddfb4fa32c5df087', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
109
109
  }
110
110
  static get is() { return "duet-popup-menu-item"; }
111
111
  static get encapsulation() { return "shadow"; }
@@ -430,7 +430,7 @@ export class DuetPopupMenuItem {
430
430
  "references": {
431
431
  "DuetPopupMenuItemEvent": {
432
432
  "location": "local",
433
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
433
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
434
434
  "id": "src/components/duet-popup-menu-item/duet-popup-menu-item.tsx::DuetPopupMenuItemEvent"
435
435
  }
436
436
  }
@@ -451,7 +451,7 @@ export class DuetPopupMenuItem {
451
451
  "references": {
452
452
  "DuetPopupMenuItemEvent": {
453
453
  "location": "local",
454
- "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
454
+ "path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-popup-menu-item/duet-popup-menu-item.tsx",
455
455
  "id": "src/components/duet-popup-menu-item/duet-popup-menu-item.tsx::DuetPopupMenuItemEvent"
456
456
  }
457
457
  }
@@ -71,6 +71,10 @@
71
71
  outline-offset: 2px;
72
72
  outline-color: rgba(53, 79, 101, 0.8);
73
73
  }
74
+ .duet-promo-card picture {
75
+ display: block;
76
+ width: 100%;
77
+ }
74
78
  .duet-promo-card .image {
75
79
  position: relative;
76
80
  width: 100%;
@@ -3,7 +3,9 @@
3
3
  */
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { DuetPicture } from "../../utils/picture-utils";
6
7
  import { checkNamedSlotElement, getElementsFromNamedSlot, hasSlot } from "../../utils/slot-utils";
8
+ import { parsePossibleJSON } from "../../utils/string-utils";
7
9
  import { getColorByName, postfixTheme } from "../../utils/token-utils";
8
10
  /**
9
11
  * @slot pre-heading - Slot for pre-heading content.
@@ -74,12 +76,22 @@ export class DuetPromoCard {
74
76
  backgroundColor: backgroundColor ? backgroundColor : "none",
75
77
  };
76
78
  const TagName = this.url ? "a" : "div";
77
- return (h(Host, { key: '95b3ed27ee63d653dd40150704011e9e4ff62977', class: { "duet-m-0": this.margin === "none" } }, h("aside", { key: '0cc3047f13bf8ff3d13c1a4547225ef9075ee72c', class: {
79
+ const pictureSource = {
80
+ img: {
81
+ src: this.image,
82
+ alt: this.imageAlt || "",
83
+ loading: "lazy",
84
+ class: "image",
85
+ role: this.imageAlt ? undefined : "presentation",
86
+ },
87
+ sources: parsePossibleJSON(this.sources),
88
+ };
89
+ return (h(Host, { key: '17e585c7caea2ce49b25ea82914c047ff6c82a9a', class: { "duet-m-0": this.margin === "none" } }, h("aside", { key: 'd71249878100984ee82f889d89c9457c730f7662', class: {
78
90
  "duet-promo-card": true,
79
91
  "duet-theme-turva": this.theme === "turva",
80
92
  "no-bg-color": !this.backgroundColor,
81
93
  "duet-promo-card-link": !!this.url,
82
- }, style: bannerStyles }, h(TagName, { key: '88f499f9cfbc42cc77ae3650e25d6a67e249c667', href: this.url, class: { "content-wrapper": true, "duet-theme-turva": this.theme === "turva" }, ref: element => (this.aOrDivElement = element) }, h("img", { key: '3f56c0e11f43fd35a576c2612a01ef57362eb9ce', class: "image", src: this.image, alt: this.imageAlt || "", role: this.imageAlt ? null : "presentation" }), h("div", { key: '67cc5128842bfd7a97e55ab7a39607f15565aa48', class: "content" }, this.hasPreHeadingSlot && (h("div", { key: '6416da999d6c95dbc60c7f4210f00ff7771068a9', class: "pre-heading" }, h("slot", { key: 'f14c79e605bc369bcd622813975bd2e567232e8a', name: "pre-heading" }))), this.hasHeadingSlot && (h("div", { key: '21fc61923698870704efbc02ceb85cb41634fe76', class: "heading" }, h("duet-heading", { key: '4adef65c01b3b1162949e5dddb6c2e722f04376f', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": "h3", margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: 'b5e3eeb6192b2c4dab608c7b3cb1a7ec271292bb' }, h("slot", { key: '717362196c9449e8eb0cad836a5d1eed094ec621', name: "heading" }))))), this.hasDescriptionSlot && (h("div", { key: '117900bbf76af5ae95917819fb7d2f99d2704f53', class: "description" }, h("duet-paragraph", { key: 'f7ef0a08c527b79980a900706fff2d4d61a28652', theme: this.theme, margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: '799ccc75db2f0e75833f50d77f0e1c89ccd8301f' }, h("slot", { key: 'aa8385bab94fd5d120daa6d2040d0b683aaecaa7', name: "description" }))))), this.hasActionSlot && (h("div", { key: '8ec8ce8f1b6b54b29d0b5282cc6fdad63b987125', class: "action" }, h("slot", { key: '63f29b5905fbfebea7e2aa139c2c81b5177d5e4a', name: "action" }))))))));
94
+ }, style: bannerStyles }, h(TagName, { key: 'c4edfe1d3f7a37846ce57b02390f6c506c2c141b', href: this.url, class: { "content-wrapper": true, "duet-theme-turva": this.theme === "turva" }, ref: element => (this.aOrDivElement = element) }, h(DuetPicture, Object.assign({ key: '4db132f911aa01f941743b55bb6efb8275219bb8' }, pictureSource)), h("div", { key: 'cac0e424e892d37419eac7e2af2b0bd7308b0c39', class: "content" }, this.hasPreHeadingSlot && (h("div", { key: '36a74542f6621186fead0089783ac32a418b3125', class: "pre-heading" }, h("slot", { key: 'd8ecaaa3fe7d32b1d751acd669b6869a2168231f', name: "pre-heading" }))), this.hasHeadingSlot && (h("div", { key: 'ae586b7d14276add01c99296d8fc96844eed3ee2', class: "heading" }, h("duet-heading", { key: '7079249d8751808397889bc332aac7e4bf0beb00', theme: this.theme, level: this.hasHeadingSlotNative ? "div" : this.headingLevel, "visual-level": "h3", margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: 'e4211262efe0fc117017355c175487a24dc52485' }, h("slot", { key: 'b0f6196e3cec65f855231d232684e7507f71a972', name: "heading" }))))), this.hasDescriptionSlot && (h("div", { key: 'c3275a5080abb7488022cdb97da68110872fc80e', class: "description" }, h("duet-paragraph", { key: '0232414d087686f41f37fe95cbecda5217250ac0', theme: this.theme, margin: "none", color: postfixTheme(this.textColor, this.theme) }, h("span", { key: '04d9e5329afdbaaec69f7848017ae5489aa671c1' }, h("slot", { key: 'da7bfca8139e63ee663bb426ca6ebdad8fed35cd', name: "description" }))))), this.hasActionSlot && (h("div", { key: '054ddda2d414a26348e684738ebad3042ea292b3', class: "action" }, h("slot", { key: '348682adce3b3f16de045034dccf4daf48edc6ca', name: "action" }))))))));
83
95
  }
84
96
  static get is() { return "duet-promo-card"; }
85
97
  static get encapsulation() { return "shadow"; }
@@ -238,6 +250,31 @@ export class DuetPromoCard {
238
250
  "setter": false,
239
251
  "reflect": false
240
252
  },
253
+ "sources": {
254
+ "type": "string",
255
+ "attribute": "sources",
256
+ "mutable": false,
257
+ "complexType": {
258
+ "original": "DuetSource[] | string",
259
+ "resolved": "DuetSource[] | string",
260
+ "references": {
261
+ "DuetSource": {
262
+ "location": "import",
263
+ "path": "../../utils/picture-utils",
264
+ "id": "src/utils/picture-utils.tsx::DuetSource"
265
+ }
266
+ }
267
+ },
268
+ "required": false,
269
+ "optional": false,
270
+ "docs": {
271
+ "tags": [],
272
+ "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."
273
+ },
274
+ "getter": false,
275
+ "setter": false,
276
+ "reflect": false
277
+ },
241
278
  "headingLevel": {
242
279
  "type": "string",
243
280
  "attribute": "heading-level",