@duetds/components 4.28.0 → 4.31.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 (502) hide show
  1. package/README.md +4 -4
  2. package/hydrate/index.js +914 -168
  3. package/lib/cjs/{action-arrow-down-small-ce4eddbc.js → action-arrow-down-small-ef77a2d1.js} +3 -0
  4. package/lib/cjs/{action-new-window-small-764927c8.js → action-new-window-small-fa51dfb9.js} +3 -0
  5. package/lib/cjs/{app-globals-10f3c9d9.js → app-globals-a032b236.js} +3 -0
  6. package/lib/cjs/{bodyScrollLock.es6-ec4c4a5c.js → bodyScrollLock.es6-6ef1142a.js} +3 -0
  7. package/lib/cjs/{common-strings-210be249.js → common-strings-de17f887.js} +3 -0
  8. package/lib/cjs/{create-id-d0d6cd15.js → create-id-c3b984b1.js} +3 -0
  9. package/lib/cjs/{dom-3e7d9c3b.js → dom-e89ebf90.js} +4 -1
  10. package/lib/cjs/duet-alert.cjs.entry.js +10 -4
  11. package/lib/cjs/duet-badge.cjs.entry.js +7 -4
  12. package/lib/cjs/duet-button_2.cjs.entry.js +17 -10
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +23 -17
  14. package/lib/cjs/duet-card.cjs.entry.js +13 -10
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +7 -4
  16. package/lib/cjs/duet-choice_2.cjs.entry.js +16 -11
  17. package/lib/cjs/duet-collapsible.cjs.entry.js +512 -8
  18. package/lib/cjs/duet-cookie-consent.cjs.entry.js +6 -3
  19. package/lib/cjs/duet-date-picker.cjs.entry.js +31 -15
  20. package/lib/cjs/duet-divider_2.cjs.entry.js +7 -4
  21. package/lib/cjs/duet-empty-state.cjs.entry.js +6 -3
  22. package/lib/cjs/duet-fieldset.cjs.entry.js +7 -4
  23. package/lib/cjs/duet-footer.cjs.entry.js +15 -8
  24. package/lib/cjs/duet-grid_2.cjs.entry.js +8 -5
  25. package/lib/cjs/duet-header_2.cjs.entry.js +68 -21
  26. package/lib/cjs/duet-hero.cjs.entry.js +16 -10
  27. package/lib/cjs/duet-icon.cjs.entry.js +22 -6
  28. package/lib/cjs/duet-input_2.cjs.entry.js +16 -8
  29. package/lib/cjs/duet-layout.cjs.entry.js +6 -3
  30. package/lib/cjs/duet-list_2.cjs.entry.js +8 -5
  31. package/lib/cjs/duet-modal.cjs.entry.js +19 -12
  32. package/lib/cjs/duet-notification_2.cjs.entry.js +17 -9
  33. package/lib/cjs/duet-number-input.cjs.entry.js +54 -24
  34. package/lib/cjs/duet-radio_2.cjs.entry.js +9 -6
  35. package/lib/cjs/duet-range-slider.cjs.entry.js +9 -6
  36. package/lib/cjs/duet-select.cjs.entry.js +8 -5
  37. package/lib/cjs/duet-step_2.cjs.entry.js +9 -6
  38. package/lib/cjs/duet-tab_2.cjs.entry.js +23 -11
  39. package/lib/cjs/duet-table.cjs.entry.js +7 -4
  40. package/lib/cjs/duet-textarea.cjs.entry.js +8 -5
  41. package/lib/cjs/duet-toggle.cjs.entry.js +7 -4
  42. package/lib/cjs/duet-tooltip.cjs.entry.js +33 -15
  43. package/lib/cjs/duet-tray.cjs.entry.js +33 -15
  44. package/lib/cjs/duet-visually-hidden.cjs.entry.js +5 -2
  45. package/lib/cjs/duet.cjs.js +8 -5
  46. package/lib/cjs/{focus-utils-162d8238.js → focus-utils-bd331feb.js} +4 -1
  47. package/lib/cjs/{index-69f4451b.js → index-113c2add.js} +11 -1
  48. package/lib/cjs/index.cjs.js +3 -0
  49. package/lib/cjs/{input-utils-712b8b32.js → input-utils-f3e3854c.js} +28 -0
  50. package/lib/cjs/{is-internet-explorer-cd4610fc.js → is-internet-explorer-91361c56.js} +3 -0
  51. package/lib/cjs/{keyboard-utils-a0b0a23c.js → keyboard-utils-b4e3d1d3.js} +3 -0
  52. package/lib/cjs/language-utils-48b8860b.js +93 -0
  53. package/lib/cjs/loader.cjs.js +7 -4
  54. package/lib/cjs/{shadow-css-09555044.js → shadow-css-0c8c175b.js} +4 -1
  55. package/lib/cjs/string-utils-267e3dbb.js +53 -0
  56. package/lib/cjs/{themeable-component-c462e6fd.js → themeable-component-0c1be552.js} +3 -0
  57. package/lib/cjs/{token-utils-4e9d1b6c.js → token-utils-13e5d13e.js} +4 -1
  58. package/lib/cjs/{tokens.module-6f0eaf7f.js → tokens.module-53b3bd92.js} +3 -0
  59. package/lib/cjs/{watch-options-edeeafd0.js → watch-options-3877c082.js} +3 -0
  60. package/lib/collection/collection-manifest.json +1 -1
  61. package/lib/collection/common-strings.js +3 -0
  62. package/lib/collection/components/duet-alert/duet-alert.js +19 -6
  63. package/lib/collection/components/duet-badge/duet-badge.css +1 -0
  64. package/lib/collection/components/duet-badge/duet-badge.js +4 -1
  65. package/lib/collection/components/duet-button/duet-button.css +3 -3
  66. package/lib/collection/components/duet-button/duet-button.js +28 -11
  67. package/lib/collection/components/duet-caption/duet-caption.js +4 -1
  68. package/lib/collection/components/duet-card/duet-card.css +10 -7
  69. package/lib/collection/components/duet-card/duet-card.js +9 -8
  70. package/lib/collection/components/duet-checkbox/duet-checkbox.js +4 -1
  71. package/lib/collection/components/duet-choice/duet-choice.css +0 -1
  72. package/lib/collection/components/duet-choice/duet-choice.js +17 -8
  73. package/lib/collection/components/duet-choice-group/duet-choice-group.css +3 -1
  74. package/lib/collection/components/duet-choice-group/duet-choice-group.js +5 -2
  75. package/lib/collection/components/duet-collapsible/duet-collapsible.js +110 -6
  76. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -1
  77. package/lib/collection/components/duet-date-picker/date-i18n.js +3 -0
  78. package/lib/collection/components/duet-date-picker/date-picker-day.js +4 -1
  79. package/lib/collection/components/duet-date-picker/date-picker-input.js +4 -1
  80. package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -1
  81. package/lib/collection/components/duet-date-picker/date-utils.js +3 -0
  82. package/lib/collection/components/duet-date-picker/duet-date-picker.css +1 -1
  83. package/lib/collection/components/duet-date-picker/duet-date-picker.js +85 -35
  84. package/lib/collection/components/duet-date-picker/utils.js +3 -0
  85. package/lib/collection/components/duet-divider/duet-divider.js +4 -1
  86. package/lib/collection/components/duet-empty-state/duet-empty-state.js +4 -1
  87. package/lib/collection/components/duet-fieldset/duet-fieldset.js +5 -2
  88. package/lib/collection/components/duet-footer/duet-footer.js +33 -12
  89. package/lib/collection/components/duet-grid/duet-grid.js +4 -1
  90. package/lib/collection/components/duet-grid-item/duet-grid-item.js +4 -1
  91. package/lib/collection/components/duet-header/duet-header.js +108 -36
  92. package/lib/collection/components/duet-heading/duet-heading.css +1 -0
  93. package/lib/collection/components/duet-heading/duet-heading.js +5 -2
  94. package/lib/collection/components/duet-hero/duet-hero.js +35 -15
  95. package/lib/collection/components/duet-icon/duet-icon.js +6 -3
  96. package/lib/collection/components/duet-icon/icon-utils.js +17 -1
  97. package/lib/collection/components/duet-input/duet-input.js +12 -4
  98. package/lib/collection/components/duet-label/duet-label.css +2 -0
  99. package/lib/collection/components/duet-label/duet-label.js +4 -1
  100. package/lib/collection/components/duet-layout/duet-layout.js +4 -1
  101. package/lib/collection/components/duet-link/duet-link.js +35 -17
  102. package/lib/collection/components/duet-list/duet-list.js +5 -2
  103. package/lib/collection/components/duet-list-item/duet-list-item.js +4 -1
  104. package/lib/collection/components/duet-logo/duet-logo.js +15 -4
  105. package/lib/collection/components/duet-modal/duet-modal.js +40 -17
  106. package/lib/collection/components/duet-notification/duet-notification.js +19 -4
  107. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +24 -12
  108. package/lib/collection/components/duet-number-input/duet-number-input.js +182 -31
  109. package/lib/collection/components/duet-number-input/number-input-utils.js +3 -0
  110. package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -2
  111. package/lib/collection/components/duet-radio/duet-radio.js +4 -1
  112. package/lib/collection/components/duet-radio-group/duet-radio-group.js +5 -2
  113. package/lib/collection/components/duet-range-slider/duet-range-slider.js +6 -3
  114. package/lib/collection/components/duet-select/duet-select.js +4 -1
  115. package/lib/collection/components/duet-spacer/duet-spacer.js +4 -1
  116. package/lib/collection/components/duet-spinner/duet-spinner.js +5 -2
  117. package/lib/collection/components/duet-step/duet-step.js +6 -3
  118. package/lib/collection/components/duet-stepper/duet-stepper.js +4 -1
  119. package/lib/collection/components/duet-tab/duet-tab.js +4 -1
  120. package/lib/collection/components/duet-tab-group/duet-tab-group.js +56 -10
  121. package/lib/collection/components/duet-table/duet-table.js +5 -2
  122. package/lib/collection/components/duet-textarea/duet-textarea.js +5 -2
  123. package/lib/collection/components/duet-toggle/duet-toggle.js +4 -1
  124. package/lib/collection/components/duet-tooltip/duet-tooltip.js +98 -17
  125. package/lib/collection/components/duet-tray/duet-tray.js +97 -16
  126. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +4 -1
  127. package/lib/collection/global/duet-global.js +3 -0
  128. package/lib/collection/utils/create-id.js +3 -0
  129. package/lib/collection/utils/fixture-utils.js +15 -5
  130. package/lib/collection/utils/focus-utils.js +3 -0
  131. package/lib/collection/utils/form-components.js +3 -0
  132. package/lib/collection/utils/group-by.js +3 -0
  133. package/lib/collection/utils/input-utils.js +27 -0
  134. package/lib/collection/utils/is-internet-explorer.js +3 -0
  135. package/lib/collection/utils/keyboard-utils.js +3 -0
  136. package/lib/collection/utils/language-utils.js +46 -8
  137. package/lib/collection/utils/string-utils.js +24 -0
  138. package/lib/collection/utils/test-utils.js +3 -0
  139. package/lib/collection/utils/themeable-component.js +3 -0
  140. package/lib/collection/utils/token-utils.js +3 -0
  141. package/lib/collection/utils/watch-options.js +3 -0
  142. package/lib/custom-elements-bundle/index.js +970 -222
  143. package/lib/duet/duet.esm.js +4 -1
  144. package/lib/duet/duet.js +1 -1
  145. package/lib/duet/index.esm.js +3 -0
  146. package/lib/duet/p-0058512b.js +4 -0
  147. package/lib/duet/p-0224db45.entry.js +4 -0
  148. package/lib/duet/{p-c261a84b.system.entry.js → p-02ad46a0.system.entry.js} +4 -1
  149. package/lib/duet/{p-ae82ab86.js → p-04f9f1bf.js} +3 -0
  150. package/lib/duet/{p-62b75c80.system.js → p-053b71e6.system.js} +3 -0
  151. package/lib/duet/{p-f5e7899b.system.entry.js → p-07263910.system.entry.js} +4 -1
  152. package/lib/duet/{p-6242ef49.system.js → p-0c4bbd65.system.js} +3 -0
  153. package/lib/duet/{p-8b9ee5b0.js → p-115c79b6.js} +3 -0
  154. package/lib/duet/{p-a69855b7.js → p-15c15c6a.js} +3 -0
  155. package/lib/duet/{p-e780bfa0.js → p-18d801be.js} +3 -0
  156. package/lib/duet/p-1bfbc988.entry.js +4 -0
  157. package/lib/duet/p-1cd7177f.entry.js +4 -0
  158. package/lib/duet/p-1cec5a70.system.entry.js +4 -0
  159. package/lib/duet/p-1e7222c2.entry.js +4 -0
  160. package/lib/duet/p-202bbd70.entry.js +4 -0
  161. package/lib/duet/{p-44d3eb2f.system.entry.js → p-22f56356.system.entry.js} +4 -1
  162. package/lib/duet/{p-551d38f9.js → p-2826f987.js} +3 -0
  163. package/lib/duet/p-28b67b94.entry.js +4 -0
  164. package/lib/duet/{p-01dad2d3.js → p-322d1c38.js} +4 -1
  165. package/lib/duet/p-33426ddc.entry.js +4 -0
  166. package/lib/duet/p-33cf6ed1.entry.js +4 -0
  167. package/lib/duet/p-3d3f773d.system.entry.js +4 -0
  168. package/lib/duet/p-3e1ef509.system.entry.js +4 -0
  169. package/lib/duet/p-3f78a826.system.js +4 -0
  170. package/lib/duet/{p-50e14ff9.system.js → p-418b2ce7.system.js} +3 -0
  171. package/lib/duet/{p-9d4322ba.system.js → p-43e39d98.system.js} +3 -0
  172. package/lib/duet/p-44ffb960.entry.js +4 -0
  173. package/lib/duet/p-453955cc.system.entry.js +4 -0
  174. package/lib/duet/p-4670a654.entry.js +4 -0
  175. package/lib/duet/p-47645ea8.system.entry.js +4 -0
  176. package/lib/duet/p-504dbf8f.system.entry.js +4 -0
  177. package/lib/duet/p-5230ee3c.system.entry.js +4 -0
  178. package/lib/duet/p-56e172f5.system.entry.js +4 -0
  179. package/lib/duet/{p-7d7a595e.system.js → p-57ea2576.system.js} +4 -1
  180. package/lib/duet/p-5aa0d34d.entry.js +4 -0
  181. package/lib/duet/{p-63b13a5f.system.js → p-5f6bd5db.system.js} +3 -0
  182. package/lib/duet/p-5fc7e1f7.system.entry.js +4 -0
  183. package/lib/duet/p-605bc214.system.entry.js +4 -0
  184. package/lib/duet/p-60ab57d4.entry.js +4 -0
  185. package/lib/duet/p-64109493.entry.js +4 -0
  186. package/lib/duet/p-69a5dc6b.entry.js +4 -0
  187. package/lib/duet/p-6a230911.system.entry.js +4 -0
  188. package/lib/duet/p-6a356ab1.system.js +4 -0
  189. package/lib/duet/p-6a760b8a.entry.js +4 -0
  190. package/lib/duet/p-6d2da245.entry.js +4 -0
  191. package/lib/duet/p-704245ef.js +4 -0
  192. package/lib/duet/p-712e7dde.system.entry.js +4 -0
  193. package/lib/duet/p-746655ba.entry.js +4 -0
  194. package/lib/duet/p-76f00bd5.js +4 -0
  195. package/lib/duet/p-7b6db837.system.entry.js +4 -0
  196. package/lib/duet/p-7d080785.system.entry.js +4 -0
  197. package/lib/duet/p-82dc2e0b.entry.js +4 -0
  198. package/lib/duet/p-8c8e82aa.system.js +4 -0
  199. package/lib/duet/{p-5fe386d7.system.entry.js → p-8c980350.system.entry.js} +4 -1
  200. package/lib/duet/{p-1fcc25b6.system.entry.js → p-8cb47a70.system.entry.js} +4 -1
  201. package/lib/duet/p-8f03c3eb.entry.js +4 -0
  202. package/lib/duet/{p-50ea2036.system.js → p-8faaaf5f.system.js} +3 -0
  203. package/lib/duet/p-91fa68a5.js +4 -0
  204. package/lib/duet/p-92d38668.system.entry.js +4 -0
  205. package/lib/duet/p-95626e7e.system.entry.js +4 -0
  206. package/lib/duet/p-96808a2e.system.entry.js +4 -0
  207. package/lib/duet/p-96c103b2.system.entry.js +4 -0
  208. package/lib/duet/p-986779fb.js +4 -0
  209. package/lib/duet/{p-a0c363a1.js → p-9a89ec39.js} +3 -0
  210. package/lib/duet/p-9a8d5b11.system.js +4 -0
  211. package/lib/duet/p-9a945278.system.js +4 -0
  212. package/lib/duet/p-9c94be45.entry.js +4 -0
  213. package/lib/duet/p-9ce1baab.system.entry.js +4 -0
  214. package/lib/duet/p-9dfcd29a.js +4 -0
  215. package/lib/duet/p-9ff25646.entry.js +4 -0
  216. package/lib/duet/p-a1d12e94.system.entry.js +4 -0
  217. package/lib/duet/{p-a78af9f5.js → p-a28cf57b.js} +3 -0
  218. package/lib/duet/p-b03a46b6.entry.js +4 -0
  219. package/lib/duet/p-b1b8e510.entry.js +4 -0
  220. package/lib/duet/p-b694cbf5.system.js +4 -0
  221. package/lib/duet/p-b7e50cfa.entry.js +4 -0
  222. package/lib/duet/p-b82927b0.system.entry.js +4 -0
  223. package/lib/duet/p-ba205dca.entry.js +4 -0
  224. package/lib/duet/{p-2dd28142.system.js → p-bb12b972.system.js} +3 -0
  225. package/lib/duet/p-bcae23fc.system.entry.js +4 -0
  226. package/lib/duet/{p-a0e09a50.js → p-bd779757.js} +3 -0
  227. package/lib/duet/{p-69599f4e.js → p-bd9a7d8f.js} +3 -0
  228. package/lib/duet/p-be19c57b.system.entry.js +4 -0
  229. package/lib/duet/{p-6e296e99.js → p-c1325e35.js} +3 -0
  230. package/lib/duet/p-c4737f88.entry.js +4 -0
  231. package/lib/duet/{p-c3058688.js → p-c5beceed.js} +4 -1
  232. package/lib/duet/p-c5f10483.system.entry.js +4 -0
  233. package/lib/duet/{p-d95998b4.system.js → p-c7ae95bd.system.js} +3 -0
  234. package/lib/duet/{p-31c3b93f.system.js → p-ce0892e6.system.js} +3 -0
  235. package/lib/duet/p-d35fd913.system.entry.js +4 -0
  236. package/lib/duet/p-d4b4bfa6.entry.js +4 -0
  237. package/lib/duet/p-d7623eb8.system.entry.js +4 -0
  238. package/lib/duet/p-d863e150.system.js +4 -0
  239. package/lib/duet/p-dc85d2a4.entry.js +4 -0
  240. package/lib/duet/p-de093c16.entry.js +4 -0
  241. package/lib/duet/p-de842863.entry.js +4 -0
  242. package/lib/duet/p-e08b8909.entry.js +4 -0
  243. package/lib/duet/p-e39471b6.entry.js +4 -0
  244. package/lib/duet/{p-f180f2f2.system.js → p-e566ff11.system.js} +3 -0
  245. package/lib/duet/{p-cd603d87.system.js → p-e58ca7af.system.js} +4 -1
  246. package/lib/duet/p-e834c8d5.system.entry.js +4 -0
  247. package/lib/duet/{p-a8a8954e.system.entry.js → p-ef45cfe9.system.entry.js} +4 -1
  248. package/lib/duet/{p-73baca13.system.js → p-efaa0c04.system.js} +3 -0
  249. package/lib/duet/{p-fd305188.system.entry.js → p-f0b1850a.system.entry.js} +4 -1
  250. package/lib/duet/{p-871f3440.js → p-f11208c3.js} +3 -0
  251. package/lib/duet/p-f53c8019.entry.js +4 -0
  252. package/lib/duet/{p-95253d0a.entry.js → p-f96c4093.system.entry.js} +4 -1
  253. package/lib/duet/p-fbd83d67.entry.js +4 -0
  254. package/lib/duet/{p-dbe056ce.system.js → p-fd98468a.system.js} +3 -0
  255. package/lib/duet/p-fdecaf46.entry.js +4 -0
  256. package/lib/esm/{action-arrow-down-small-c24d2c7f.js → action-arrow-down-small-82273dc8.js} +3 -0
  257. package/lib/esm/{action-new-window-small-d592feb6.js → action-new-window-small-1945be91.js} +3 -0
  258. package/lib/esm/{app-globals-2796679e.js → app-globals-6641e444.js} +3 -0
  259. package/lib/esm/{bodyScrollLock.es6-cf1e49b2.js → bodyScrollLock.es6-61b5e9a4.js} +3 -0
  260. package/lib/esm/{common-strings-d5205fd4.js → common-strings-97e04e4b.js} +3 -0
  261. package/lib/esm/{create-id-124e0fc4.js → create-id-981107da.js} +3 -0
  262. package/lib/esm/{dom-1f98a75f.js → dom-21034390.js} +4 -1
  263. package/lib/esm/duet-alert.entry.js +10 -4
  264. package/lib/esm/duet-badge.entry.js +7 -4
  265. package/lib/esm/duet-button_2.entry.js +17 -10
  266. package/lib/esm/duet-caption_4.entry.js +23 -17
  267. package/lib/esm/duet-card.entry.js +13 -10
  268. package/lib/esm/duet-checkbox.entry.js +7 -4
  269. package/lib/esm/duet-choice_2.entry.js +16 -11
  270. package/lib/esm/duet-collapsible.entry.js +512 -8
  271. package/lib/esm/duet-cookie-consent.entry.js +6 -3
  272. package/lib/esm/duet-date-picker.entry.js +31 -15
  273. package/lib/esm/duet-divider_2.entry.js +7 -4
  274. package/lib/esm/duet-empty-state.entry.js +6 -3
  275. package/lib/esm/duet-fieldset.entry.js +7 -4
  276. package/lib/esm/duet-footer.entry.js +15 -8
  277. package/lib/esm/duet-grid_2.entry.js +8 -5
  278. package/lib/esm/duet-header_2.entry.js +68 -21
  279. package/lib/esm/duet-hero.entry.js +16 -10
  280. package/lib/esm/duet-icon.entry.js +22 -6
  281. package/lib/esm/duet-input_2.entry.js +16 -8
  282. package/lib/esm/duet-layout.entry.js +6 -3
  283. package/lib/esm/duet-list_2.entry.js +8 -5
  284. package/lib/esm/duet-modal.entry.js +19 -12
  285. package/lib/esm/duet-notification_2.entry.js +17 -9
  286. package/lib/esm/duet-number-input.entry.js +54 -24
  287. package/lib/esm/duet-radio_2.entry.js +9 -6
  288. package/lib/esm/duet-range-slider.entry.js +9 -6
  289. package/lib/esm/duet-select.entry.js +8 -5
  290. package/lib/esm/duet-step_2.entry.js +9 -6
  291. package/lib/esm/duet-tab_2.entry.js +23 -11
  292. package/lib/esm/duet-table.entry.js +7 -4
  293. package/lib/esm/duet-textarea.entry.js +8 -5
  294. package/lib/esm/duet-toggle.entry.js +7 -4
  295. package/lib/esm/duet-tooltip.entry.js +33 -15
  296. package/lib/esm/duet-tray.entry.js +33 -15
  297. package/lib/esm/duet-visually-hidden.entry.js +5 -2
  298. package/lib/esm/duet.js +8 -5
  299. package/lib/esm/{focus-utils-e76191e8.js → focus-utils-1995e5a9.js} +4 -1
  300. package/lib/esm/{index-aaa7610e.js → index-6e246691.js} +11 -1
  301. package/lib/esm/index.js +3 -1
  302. package/lib/esm/{input-utils-8a4c03a1.js → input-utils-f4cafee1.js} +28 -1
  303. package/lib/esm/{is-internet-explorer-0b40c5fe.js → is-internet-explorer-62b3bdbd.js} +3 -0
  304. package/lib/esm/{keyboard-utils-956f0d36.js → keyboard-utils-584cedd7.js} +3 -0
  305. package/lib/esm/language-utils-d5c38f65.js +89 -0
  306. package/lib/esm/loader.js +7 -4
  307. package/lib/esm/{shadow-css-67b66845.js → shadow-css-31e2d504.js} +4 -1
  308. package/lib/esm/string-utils-2f1793b8.js +49 -0
  309. package/lib/esm/{themeable-component-2a857b64.js → themeable-component-572685dd.js} +3 -0
  310. package/lib/esm/{token-utils-56e2be37.js → token-utils-5a35377f.js} +4 -1
  311. package/lib/esm/{tokens.module-17f6088f.js → tokens.module-edb66c04.js} +3 -0
  312. package/lib/esm/{watch-options-8f61a365.js → watch-options-de55ea78.js} +3 -0
  313. package/lib/esm-es5/{action-arrow-down-small-c24d2c7f.js → action-arrow-down-small-82273dc8.js} +3 -0
  314. package/lib/esm-es5/{action-new-window-small-d592feb6.js → action-new-window-small-1945be91.js} +3 -0
  315. package/lib/esm-es5/{app-globals-2796679e.js → app-globals-6641e444.js} +3 -0
  316. package/lib/esm-es5/{bodyScrollLock.es6-cf1e49b2.js → bodyScrollLock.es6-61b5e9a4.js} +3 -0
  317. package/lib/esm-es5/{common-strings-d5205fd4.js → common-strings-97e04e4b.js} +3 -0
  318. package/lib/esm-es5/{create-id-124e0fc4.js → create-id-981107da.js} +3 -0
  319. package/lib/esm-es5/{dom-1f98a75f.js → dom-21034390.js} +3 -0
  320. package/lib/esm-es5/duet-alert.entry.js +4 -1
  321. package/lib/esm-es5/duet-badge.entry.js +4 -1
  322. package/lib/esm-es5/duet-button_2.entry.js +4 -1
  323. package/lib/esm-es5/duet-caption_4.entry.js +4 -1
  324. package/lib/esm-es5/duet-card.entry.js +4 -1
  325. package/lib/esm-es5/duet-checkbox.entry.js +4 -1
  326. package/lib/esm-es5/duet-choice_2.entry.js +4 -1
  327. package/lib/esm-es5/duet-collapsible.entry.js +4 -1
  328. package/lib/esm-es5/duet-cookie-consent.entry.js +4 -1
  329. package/lib/esm-es5/duet-date-picker.entry.js +4 -1
  330. package/lib/esm-es5/duet-divider_2.entry.js +4 -1
  331. package/lib/esm-es5/duet-empty-state.entry.js +4 -1
  332. package/lib/esm-es5/duet-fieldset.entry.js +4 -1
  333. package/lib/esm-es5/duet-footer.entry.js +4 -1
  334. package/lib/esm-es5/duet-grid_2.entry.js +4 -1
  335. package/lib/esm-es5/duet-header_2.entry.js +4 -1
  336. package/lib/esm-es5/duet-hero.entry.js +4 -1
  337. package/lib/esm-es5/duet-icon.entry.js +4 -1
  338. package/lib/esm-es5/duet-input_2.entry.js +4 -1
  339. package/lib/esm-es5/duet-layout.entry.js +4 -1
  340. package/lib/esm-es5/duet-list_2.entry.js +4 -1
  341. package/lib/esm-es5/duet-modal.entry.js +4 -1
  342. package/lib/esm-es5/duet-notification_2.entry.js +4 -1
  343. package/lib/esm-es5/duet-number-input.entry.js +4 -1
  344. package/lib/esm-es5/duet-radio_2.entry.js +4 -1
  345. package/lib/esm-es5/duet-range-slider.entry.js +4 -1
  346. package/lib/esm-es5/duet-select.entry.js +4 -1
  347. package/lib/esm-es5/duet-step_2.entry.js +4 -1
  348. package/lib/esm-es5/duet-tab_2.entry.js +4 -1
  349. package/lib/esm-es5/duet-table.entry.js +4 -1
  350. package/lib/esm-es5/duet-textarea.entry.js +4 -1
  351. package/lib/esm-es5/duet-toggle.entry.js +4 -1
  352. package/lib/esm-es5/duet-tooltip.entry.js +4 -1
  353. package/lib/esm-es5/duet-tray.entry.js +4 -1
  354. package/lib/esm-es5/duet-visually-hidden.entry.js +4 -1
  355. package/lib/esm-es5/duet.js +4 -1
  356. package/lib/esm-es5/{focus-utils-e76191e8.js → focus-utils-1995e5a9.js} +4 -1
  357. package/lib/esm-es5/index-6e246691.js +4 -0
  358. package/lib/esm-es5/index.js +3 -0
  359. package/lib/esm-es5/input-utils-f4cafee1.js +4 -0
  360. package/lib/esm-es5/{is-internet-explorer-0b40c5fe.js → is-internet-explorer-62b3bdbd.js} +3 -0
  361. package/lib/esm-es5/{keyboard-utils-956f0d36.js → keyboard-utils-584cedd7.js} +3 -0
  362. package/lib/esm-es5/language-utils-d5c38f65.js +4 -0
  363. package/lib/esm-es5/loader.js +4 -1
  364. package/lib/esm-es5/{shadow-css-67b66845.js → shadow-css-31e2d504.js} +3 -0
  365. package/lib/esm-es5/string-utils-2f1793b8.js +4 -0
  366. package/lib/esm-es5/{themeable-component-2a857b64.js → themeable-component-572685dd.js} +3 -0
  367. package/lib/esm-es5/{token-utils-56e2be37.js → token-utils-5a35377f.js} +4 -1
  368. package/lib/esm-es5/{tokens.module-17f6088f.js → tokens.module-edb66c04.js} +3 -0
  369. package/lib/esm-es5/{watch-options-8f61a365.js → watch-options-de55ea78.js} +3 -0
  370. package/lib/html.html-data.json +140 -2
  371. package/lib/loader/cdn.js +3 -1
  372. package/lib/loader/index.cjs.js +3 -1
  373. package/lib/loader/index.d.ts +0 -1
  374. package/lib/loader/index.es2017.js +3 -1
  375. package/lib/loader/index.js +3 -1
  376. package/lib/types/components/duet-alert/duet-alert.d.ts +4 -2
  377. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -1
  378. package/lib/types/components/duet-button/duet-button.d.ts +6 -3
  379. package/lib/types/components/duet-caption/duet-caption.d.ts +1 -1
  380. package/lib/types/components/duet-card/duet-card.d.ts +1 -1
  381. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -1
  382. package/lib/types/components/duet-choice/duet-choice.d.ts +5 -4
  383. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +24 -1
  384. package/lib/types/components/duet-date-picker/date-picker-month.d.ts +1 -1
  385. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +16 -7
  386. package/lib/types/components/duet-divider/duet-divider.d.ts +1 -1
  387. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +1 -1
  388. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -1
  389. package/lib/types/components/duet-footer/duet-footer.d.ts +7 -3
  390. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +1 -1
  391. package/lib/types/components/duet-header/duet-header.d.ts +50 -8
  392. package/lib/types/components/duet-heading/duet-heading.d.ts +1 -1
  393. package/lib/types/components/duet-hero/duet-hero.d.ts +8 -5
  394. package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
  395. package/lib/types/components/duet-input/duet-input.d.ts +2 -2
  396. package/lib/types/components/duet-link/duet-link.d.ts +8 -5
  397. package/lib/types/components/duet-list/duet-list.d.ts +1 -1
  398. package/lib/types/components/duet-logo/duet-logo.d.ts +3 -1
  399. package/lib/types/components/duet-modal/duet-modal.d.ts +11 -5
  400. package/lib/types/components/duet-notification/duet-notification.d.ts +4 -1
  401. package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +6 -5
  402. package/lib/types/components/duet-number-input/duet-number-input.d.ts +29 -2
  403. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -1
  404. package/lib/types/components/duet-radio/duet-radio.d.ts +2 -2
  405. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +2 -2
  406. package/lib/types/components/duet-select/duet-select.d.ts +1 -1
  407. package/lib/types/components/duet-step/duet-step.d.ts +1 -1
  408. package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -1
  409. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +10 -1
  410. package/lib/types/components/duet-textarea/duet-textarea.d.ts +2 -2
  411. package/lib/types/components/duet-toggle/duet-toggle.d.ts +2 -2
  412. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +16 -1
  413. package/lib/types/components/duet-tray/duet-tray.d.ts +15 -0
  414. package/lib/types/components.d.ts +265 -33
  415. package/lib/types/utils/input-utils.d.ts +9 -0
  416. package/lib/types/utils/language-utils.d.ts +26 -3
  417. package/lib/types/utils/string-utils.d.ts +1 -0
  418. package/lib/types/utils/test-utils.d.ts +1 -1
  419. package/package.json +39 -23
  420. package/lib/cjs/language-utils-0f4f60f1.js +0 -54
  421. package/lib/cjs/string-utils-0336d6da.js +0 -28
  422. package/lib/duet/p-00914fa8.entry.js +0 -1
  423. package/lib/duet/p-08b10b1b.entry.js +0 -1
  424. package/lib/duet/p-0a5bdffc.entry.js +0 -1
  425. package/lib/duet/p-117e6a2d.system.entry.js +0 -1
  426. package/lib/duet/p-11f650f9.system.entry.js +0 -1
  427. package/lib/duet/p-120f15f9.entry.js +0 -1
  428. package/lib/duet/p-1270fad1.entry.js +0 -1
  429. package/lib/duet/p-15c4ae87.system.entry.js +0 -1
  430. package/lib/duet/p-19d86321.system.js +0 -1
  431. package/lib/duet/p-1a544f89.js +0 -1
  432. package/lib/duet/p-1a773ea3.system.entry.js +0 -1
  433. package/lib/duet/p-1f18716e.entry.js +0 -1
  434. package/lib/duet/p-2141f564.system.js +0 -1
  435. package/lib/duet/p-23f2a281.entry.js +0 -1
  436. package/lib/duet/p-28072b15.entry.js +0 -1
  437. package/lib/duet/p-2ce3a1bc.entry.js +0 -1
  438. package/lib/duet/p-2f56c5d0.entry.js +0 -1
  439. package/lib/duet/p-330725c5.js +0 -1
  440. package/lib/duet/p-378186a8.entry.js +0 -1
  441. package/lib/duet/p-393dc5f0.system.entry.js +0 -1
  442. package/lib/duet/p-4486ae28.system.entry.js +0 -1
  443. package/lib/duet/p-45713f8a.system.entry.js +0 -1
  444. package/lib/duet/p-4e4d8137.system.entry.js +0 -1
  445. package/lib/duet/p-4f4895e0.entry.js +0 -1
  446. package/lib/duet/p-51f89eec.entry.js +0 -1
  447. package/lib/duet/p-545f6a97.entry.js +0 -1
  448. package/lib/duet/p-568ab60b.system.entry.js +0 -1
  449. package/lib/duet/p-598ba79a.js +0 -1
  450. package/lib/duet/p-598edf9e.system.entry.js +0 -1
  451. package/lib/duet/p-5e6a5340.entry.js +0 -1
  452. package/lib/duet/p-64fd394a.entry.js +0 -1
  453. package/lib/duet/p-66c75914.system.entry.js +0 -1
  454. package/lib/duet/p-6dc51621.system.entry.js +0 -1
  455. package/lib/duet/p-6f41124b.system.js +0 -1
  456. package/lib/duet/p-6f6b2cc5.system.entry.js +0 -1
  457. package/lib/duet/p-700243af.entry.js +0 -1
  458. package/lib/duet/p-770d46e6.entry.js +0 -1
  459. package/lib/duet/p-8498e753.system.entry.js +0 -1
  460. package/lib/duet/p-852e96c1.system.js +0 -1
  461. package/lib/duet/p-86de511c.system.entry.js +0 -1
  462. package/lib/duet/p-8db7a844.system.entry.js +0 -1
  463. package/lib/duet/p-91255671.js +0 -1
  464. package/lib/duet/p-921afc00.entry.js +0 -1
  465. package/lib/duet/p-9ac41fbc.system.entry.js +0 -1
  466. package/lib/duet/p-9b6adcb3.system.entry.js +0 -1
  467. package/lib/duet/p-9b9cb411.system.entry.js +0 -1
  468. package/lib/duet/p-9ff8c7c4.entry.js +0 -1
  469. package/lib/duet/p-a4d8b2c4.entry.js +0 -1
  470. package/lib/duet/p-a92bdc1c.system.entry.js +0 -1
  471. package/lib/duet/p-b6e261ef.js +0 -1
  472. package/lib/duet/p-b761ef2d.entry.js +0 -1
  473. package/lib/duet/p-b87ce8c9.system.entry.js +0 -1
  474. package/lib/duet/p-bdf5fe15.entry.js +0 -1
  475. package/lib/duet/p-c0c1bcba.system.js +0 -1
  476. package/lib/duet/p-c5fe3120.system.entry.js +0 -1
  477. package/lib/duet/p-c6d19c6c.system.entry.js +0 -1
  478. package/lib/duet/p-c8068a31.entry.js +0 -1
  479. package/lib/duet/p-cb073c9b.entry.js +0 -1
  480. package/lib/duet/p-cb49c05a.system.js +0 -1
  481. package/lib/duet/p-cb62f051.entry.js +0 -1
  482. package/lib/duet/p-ce55045f.js +0 -1
  483. package/lib/duet/p-d20651ba.entry.js +0 -1
  484. package/lib/duet/p-d7c57e6c.entry.js +0 -1
  485. package/lib/duet/p-da0df691.system.entry.js +0 -1
  486. package/lib/duet/p-dc2d2635.system.entry.js +0 -1
  487. package/lib/duet/p-dcd0f562.system.entry.js +0 -1
  488. package/lib/duet/p-dd4281d5.entry.js +0 -1
  489. package/lib/duet/p-e374aba6.entry.js +0 -1
  490. package/lib/duet/p-e693d73a.system.entry.js +0 -1
  491. package/lib/duet/p-e7bef783.entry.js +0 -1
  492. package/lib/duet/p-ec326c4c.system.entry.js +0 -1
  493. package/lib/duet/p-efa3e05d.entry.js +0 -1
  494. package/lib/duet/p-f2cca5cc.system.js +0 -1
  495. package/lib/duet/p-f3d07b69.entry.js +0 -1
  496. package/lib/duet/p-fbeb43e8.entry.js +0 -1
  497. package/lib/esm/language-utils-c7ce7c0e.js +0 -50
  498. package/lib/esm/string-utils-9ef35d2a.js +0 -25
  499. package/lib/esm-es5/index-aaa7610e.js +0 -1
  500. package/lib/esm-es5/input-utils-8a4c03a1.js +0 -1
  501. package/lib/esm-es5/language-utils-c7ce7c0e.js +0 -1
  502. package/lib/esm-es5/string-utils-9ef35d2a.js +0 -1
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
1
4
  const NAMESPACE = 'duet';
2
5
 
3
6
  let scopeId;
@@ -1046,6 +1049,13 @@ const createEvent$2 = (ref, name, flags) => {
1046
1049
  },
1047
1050
  };
1048
1051
  };
1052
+ /**
1053
+ * Helper function to create & dispatch a custom Event on a provided target
1054
+ * @param elm the target of the Event
1055
+ * @param name the name to give the custom Event
1056
+ * @param opts options for configuring a custom Event
1057
+ * @returns the custom Event
1058
+ */
1049
1059
  const emitEvent = (elm, name, opts) => {
1050
1060
  const ev = plt.ce(name, opts);
1051
1061
  elm.dispatchEvent(ev);
@@ -1631,6 +1641,51 @@ const appGlobalScript = () => {
1631
1641
 
1632
1642
  const globalScripts = appGlobalScript;
1633
1643
 
1644
+ function isObject(maybeObj) {
1645
+ return Object.prototype.toString.call(maybeObj) === "[object Object]";
1646
+ }
1647
+ const parsePossibleJSON = (maybeJSON) => {
1648
+ if (Array.isArray(maybeJSON) || isObject(maybeJSON)) {
1649
+ return maybeJSON;
1650
+ }
1651
+ if (typeof maybeJSON === "string") {
1652
+ try {
1653
+ return JSON.parse(maybeJSON);
1654
+ }
1655
+ catch (e) {
1656
+ console.warn(e);
1657
+ }
1658
+ }
1659
+ // undefined is not a type in JSON,
1660
+ // so we use it here to signal invalid input
1661
+ return undefined;
1662
+ };
1663
+ /**
1664
+ * Format string, via simplistic sprintf equivalent
1665
+ * @example String.format('{0} is super, but {1} is best! {{0}}', 'Duet', 'Coffee'); -> "Duet is super, but Coffee ist best! {0}"
1666
+ *
1667
+ */
1668
+ // @ts-ignore
1669
+ if (!String.format) {
1670
+ // @ts-ignore
1671
+ String.format = function (format) {
1672
+ var args = Array.prototype.slice.call(arguments, 1);
1673
+ return format.replace(/\{\{|\}\}|\{(\d+)\}/g, function (curlyBrack, index) {
1674
+ return curlyBrack == "{{" ? "{" : curlyBrack == "}}" ? "}" : args[index];
1675
+ });
1676
+ };
1677
+ }
1678
+ const MATCH_DISALLOWED_CHARS = /[^a-z0-9áéíóúñüöäå \.,_-]/gim;
1679
+ function sanitizeString$1(string) {
1680
+ return string.replace(MATCH_DISALLOWED_CHARS, "").trim();
1681
+ }
1682
+ const convertHtmlQuotes = string => {
1683
+ if (typeof string === "string") {
1684
+ return string.replace(/"/g, '"').replace(/'/g, '"');
1685
+ }
1686
+ return string;
1687
+ };
1688
+
1634
1689
  const localeLookUpTable = {
1635
1690
  fi: "fi-FI",
1636
1691
  en: "en-GB",
@@ -1645,13 +1700,13 @@ const localeMonetarySignifierLookUpTable = {
1645
1700
  };
1646
1701
  const defLanguageArray = ["fi", "en", "sv"];
1647
1702
  const defaultLanguage = "fi";
1648
- const currentLanguage = document.documentElement.lang
1649
- ? document.documentElement.lang.toLowerCase()
1650
- : defaultLanguage;
1703
+ const getCurrentLanguage = () => {
1704
+ return document.documentElement.lang ? document.documentElement.lang.toLowerCase() : defaultLanguage;
1705
+ };
1651
1706
  const isOfTypeLanguage = (keyInput) => {
1652
1707
  return defLanguageArray.includes(keyInput);
1653
1708
  };
1654
- const checkForLanguage = (languageString = currentLanguage) => {
1709
+ const checkForLanguage = (languageString = getCurrentLanguage()) => {
1655
1710
  if (isOfTypeLanguage(languageString)) {
1656
1711
  return languageString;
1657
1712
  }
@@ -1659,8 +1714,20 @@ const checkForLanguage = (languageString = currentLanguage) => {
1659
1714
  return defaultLanguage;
1660
1715
  }
1661
1716
  };
1662
- const getLanguage = (lang) => checkForLanguage(lang);
1663
- // special case where lang can be ALSO be "us" in addition to other types - if user decides to override local language
1717
+ /**
1718
+ * Returns the current language as a string representation (taken from html lang attribute)
1719
+ * If language is not fi|sv|en it will default to "fi"
1720
+ * @param {string} lang=fi - "fi" | "sv" | "en"
1721
+ * @default {string} "fi"
1722
+ */
1723
+ const getLanguage = (languageString = getCurrentLanguage()) => checkForLanguage(languageString);
1724
+ /**
1725
+ * Returns the current language and locale
1726
+ * If language is not fi|sv|en it will default to "fi"
1727
+ * special case where lang can be ALSO be "us" in addition to other types - if user decides to override local language
1728
+ * @param {string} lang="fi" - "fi" | "sv" | "en" | "us"
1729
+ * @default {object} {locale: "fi-FI", money: "€"}
1730
+ */
1664
1731
  const getLocale = (lang) => {
1665
1732
  const returnObj = {
1666
1733
  locale: localeLookUpTable[lang],
@@ -1671,12 +1738,34 @@ const getLocale = (lang) => {
1671
1738
  }
1672
1739
  throw new Error(`Locale for "${lang}" not found`);
1673
1740
  };
1741
+ const sanitizeString = (string) => {
1742
+ const argIsString = typeof string === "string";
1743
+ if (argIsString) {
1744
+ try {
1745
+ return JSON.parse(convertHtmlQuotes(string));
1746
+ }
1747
+ catch (e) {
1748
+ console.log("getLocaleString received a string, that didnt parse to json object", string, e);
1749
+ }
1750
+ }
1751
+ return string;
1752
+ };
1753
+ /**
1754
+ * Returns the current string / object from a given translation object
1755
+ * If language is not fi|sv|en it will default to "fi"
1756
+ * special case where lang can be ALSO be "us" in addition to other types - if user decides to override local language
1757
+ * @param {object} langObject - {fi: "finnish", sv: "swedish", en: "english"} | string will get JSON.parsed
1758
+ * @param {boolean} languageOverride = false - in case you want to override the actual language set in html tag
1759
+ * @default {object} {locale: "fi-FI", money: "€"}
1760
+ * @returns {(string|Object)} given example contains {fi:"something"} and langua===fi this will return "something"
1761
+ */
1674
1762
  const getLocaleString = (langObject, languageOverride) => {
1763
+ const obj = sanitizeString(langObject);
1675
1764
  if (languageOverride) {
1676
- return langObject[checkForLanguage(languageOverride)];
1765
+ return obj[checkForLanguage(languageOverride)];
1677
1766
  }
1678
1767
  else {
1679
- return langObject[getLanguage()];
1768
+ return obj[getLanguage()];
1680
1769
  }
1681
1770
  };
1682
1771
 
@@ -1688,7 +1777,7 @@ const inheritGlobalTheme = (component) => {
1688
1777
 
1689
1778
  const duetAlertCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;max-height:999px;border-radius:4px;transition:opacity 300ms ease, visibility 300ms ease, transform 300ms ease, max-height 300ms ease}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}:host(.duet-alert-is-dismissed){max-height:0;visibility:hidden;opacity:0;transform:scale(0.98)}:host(.duet-alert-is-dismissed) .duet-alert{margin:0 !important}.duet-alert{margin-bottom:16px !important;position:relative;width:100%;padding:16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;background:#f2f8fb;border:1px solid #0077b3;border-radius:4px;transition:margin 100ms 300ms ease}.duet-alert.duet-p-0{padding:0 !important}.duet-alert.duet-m-0{margin:0 !important}.duet-alert.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;background:#f3f4f5;border-color:#171c3a}.duet-alert.warning{background:#fffbf4;border-color:#f7b228}.duet-alert.warning.duet-theme-turva{background:#fffaf3;border-color:#faa40f}.duet-alert.danger{background:#fdf4f7;border-color:#de2362}.duet-alert.danger.duet-theme-turva{background:#fdf4f3;border-color:#e02a0d}.duet-alert.success{background:#f2f9f7;border-color:#00875a}.duet-alert.success.duet-theme-turva{background:#f3f9f6;border-color:#08874e}.duet-alert-dismiss{position:absolute;top:2px;right:2px}.duet-alert-container{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 auto !important}.duet-alert-container span{width:100%}.duet-alert-has-icon .duet-alert-container{margin-top:2px !important}.duet-alert-icon{display:inline-block;align-self:center;width:20px;min-width:20px;height:20px;margin:0 16px 0 0 !important}.duet-alert-icon duet-icon{width:20px;height:20px}.duet-alert-is-dismissible{padding:16px 48px 16px 16px;text-align:left}.duet-alert-is-dismissible .duet-alert-container{text-align:left}";
1690
1779
 
1691
- const DuetAlert$1 = class extends HTMLElement {
1780
+ let DuetAlert$1 = class extends HTMLElement {
1692
1781
  constructor() {
1693
1782
  super();
1694
1783
  this.__registerHost();
@@ -1706,6 +1795,7 @@ const DuetAlert$1 = class extends HTMLElement {
1706
1795
  /**
1707
1796
  * Property to change languageDefaults on the component.
1708
1797
  * normally you would handle these strings on an application level and override @accessibleLabel when needed
1798
+ * @default {fi: "Sulje viesti", sv: "Stäng meddelandet", en: "Close the message"}
1709
1799
  */
1710
1800
  this.accessibleLabelDefaults = {
1711
1801
  fi: "Sulje viesti",
@@ -1714,6 +1804,7 @@ const DuetAlert$1 = class extends HTMLElement {
1714
1804
  };
1715
1805
  /**
1716
1806
  * Adds accessible label for the dismissible alert close button.
1807
+ * @default {fi: "Sulje viesti", sv: "Stäng meddelandet", en: "Close the message"}
1717
1808
  */
1718
1809
  this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
1719
1810
  /**
@@ -1784,9 +1875,9 @@ const DuetAlert$1 = class extends HTMLElement {
1784
1875
  static get style() { return duetAlertCss; }
1785
1876
  };
1786
1877
 
1787
- const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
1878
+ const duetBadgeCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;word-break:break-word;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
1788
1879
 
1789
- const DuetBadge$1 = class extends HTMLElement {
1880
+ let DuetBadge$1 = class extends HTMLElement {
1790
1881
  constructor() {
1791
1882
  super();
1792
1883
  this.__registerHost();
@@ -1824,6 +1915,12 @@ const DuetBadge$1 = class extends HTMLElement {
1824
1915
  static get style() { return duetBadgeCss; }
1825
1916
  };
1826
1917
 
1918
+ const DuetStringsExternalDefaults = {
1919
+ fi: "Avautuu uuteen ikkunaan",
1920
+ sv: "Öppnas i nytt fönster",
1921
+ en: "Opens in a new window",
1922
+ };
1923
+
1827
1924
  const colorWarning = "rgb(247, 178, 40)";
1828
1925
  const colorGrayDarker = "rgb(101, 119, 135)";
1829
1926
  const colorGrayLighter = "rgb(245, 248, 250)";
@@ -1971,7 +2068,7 @@ const mediaQueryXLarge = "'(min-width: 64.0625em)'";
1971
2068
  const mediaQueryXxLarge = "'(min-width: 76.25em)'";
1972
2069
  const mediaQueryXxxLarge = "'(min-width: 106.25em)'";
1973
2070
 
1974
- const tokens = /*#__PURE__*/Object.freeze({
2071
+ const tokens$2 = /*#__PURE__*/Object.freeze({
1975
2072
  __proto__: null,
1976
2073
  colorWarning: colorWarning,
1977
2074
  colorGrayDarker: colorGrayDarker,
@@ -2139,19 +2236,13 @@ function convertToColorName(name) {
2139
2236
  }
2140
2237
  function getColorByName(name) {
2141
2238
  if (name) {
2142
- return tokens[convertToColorName(name)];
2239
+ return tokens$2[convertToColorName(name)];
2143
2240
  }
2144
2241
  }
2145
2242
 
2146
- const DuetStringsExternalDefaults = {
2147
- fi: "Avautuu uuteen ikkunaan",
2148
- sv: "Öppnas i nytt fönster",
2149
- en: "Opens in a new window",
2150
- };
2151
-
2152
- const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button.duet-button-is-small{padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small.icon{padding-left:48px !important}.duet-button.duet-button-is-small.icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
2243
+ const duetButtonCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
2153
2244
 
2154
- const DuetButton$1 = class extends HTMLElement {
2245
+ let DuetButton$1 = class extends HTMLElement {
2155
2246
  constructor() {
2156
2247
  super();
2157
2248
  this.__registerHost();
@@ -2210,17 +2301,20 @@ const DuetButton$1 = class extends HTMLElement {
2210
2301
  this.external = false;
2211
2302
  /**
2212
2303
  * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
2304
+ * @default "fi"
2213
2305
  */
2214
2306
  this.language = getLanguage();
2215
2307
  /**
2216
2308
  * Property to change accessibleLabelExternal defaults on the component.
2217
2309
  * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
2310
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
2218
2311
  */
2219
2312
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
2220
2313
  /**
2221
2314
  * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
2315
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
2222
2316
  */
2223
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, this.language);
2317
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
2224
2318
  /**
2225
2319
  * Icon to display to the left of the button content.
2226
2320
  * This is ignored/overridden when button is used as an external link.
@@ -2383,7 +2477,7 @@ const DuetButton$1 = class extends HTMLElement {
2383
2477
 
2384
2478
  const duetCaptionCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:flex;flex:0 0 100%;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#657787;vertical-align:top}:host.duet-p-0{padding:0 !important}:host.duet-m-0{margin:0 !important}:host(.duet-caption-small){font-size:0.875rem;line-height:1.25}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}:host(.duet-caption-selected){color:#0077b3}:host(.duet-caption-selected.duet-theme-turva){color:#171c3a}:host(.duet-m-0){margin:0 !important}";
2385
2479
 
2386
- const DuetCaption$1 = class extends HTMLElement {
2480
+ let DuetCaption$1 = class extends HTMLElement {
2387
2481
  constructor() {
2388
2482
  super();
2389
2483
  this.__registerHost();
@@ -2429,6 +2523,13 @@ const DuetCaption$1 = class extends HTMLElement {
2429
2523
 
2430
2524
  var actionArrowUp={"title":"action-arrow-up","tags":"action arrow up caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 17.939a.752.752 0 0 1-.53-1.281L10.94 5.94c.283-.284.659-.44 1.059-.44.401 0 .777.156 1.06.438l10.721 10.72a.752.752 0 0 1-.53 1.281.743.743 0 0 1-.53-.22L12 7 1.28 17.719a.743.743 0 0 1-.53.22z\"/></svg>"};
2431
2525
 
2526
+ function chr4() {
2527
+ return Math.random().toString(16).slice(-4);
2528
+ }
2529
+ function createID(prefix) {
2530
+ return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`;
2531
+ }
2532
+
2432
2533
  const isArrowLeftKey = (e) => e.keyCode === 37;
2433
2534
  const isArrowUpKey = (e) => e.keyCode === 38;
2434
2535
  const isArrowRightKey = (e) => e.keyCode === 39;
@@ -2440,40 +2541,9 @@ const isQuestionKey = (e) => e.key === "?";
2440
2541
  const isEnterKey = (e) => e.key === "Enter" || e.keyCode === 13;
2441
2542
  const isKeyboardClick = (e) => isEnterKey(e) || isSpaceKey(e);
2442
2543
 
2443
- function isObject(maybeObj) {
2444
- return Object.prototype.toString.call(maybeObj) === "[object Object]";
2445
- }
2446
- const parsePossibleJSON = (maybeJSON) => {
2447
- if (Array.isArray(maybeJSON) || isObject(maybeJSON)) {
2448
- return maybeJSON;
2449
- }
2450
- if (typeof maybeJSON === "string") {
2451
- try {
2452
- return JSON.parse(maybeJSON);
2453
- }
2454
- catch (e) {
2455
- console.warn(e);
2456
- }
2457
- }
2458
- // undefined is not a type in JSON,
2459
- // so we use it here to signal invalid input
2460
- return undefined;
2461
- };
2462
- const MATCH_DISALLOWED_CHARS = /[^a-z0-9áéíóúñüöäå \.,_-]/gim;
2463
- function sanitizeString(string) {
2464
- return string.replace(MATCH_DISALLOWED_CHARS, "").trim();
2465
- }
2466
-
2467
- function chr4() {
2468
- return Math.random().toString(16).slice(-4);
2469
- }
2470
- function createID(prefix) {
2471
- return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`;
2472
- }
2473
-
2474
- const duetCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}.duet-card{padding:20px !important;position:relative;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 36em){.duet-card{padding:28px !important}}.duet-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}.duet-card.info.duet-theme-turva{background:rgba(23, 28, 58, 0.035) !important}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;align-items:center}.duet-card-heading-grid .expand{flex:1}.duet-card-heading-text{overflow:hidden;text-overflow:ellipsis}.duet-card-secondary-heading{font-size:1rem;font-weight:600}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;color:#00294d;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}.duet-card-heading[role=button]{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}.duet-card-heading[role=button]:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading[role=button]:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading[role=button]:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}.duet-theme-turva .duet-card-heading{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0 0 20px !important;margin:0 0 20px}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.duet-theme-turva .duet-card-footer{background:#f5f5f7}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:12px 0 !important;margin:20px 0 0}.duet-card-content{width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;margin:0 0 20px}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}a.duet-card:active{transition:none;transform:translateY(1px)}";
2544
+ const duetCardCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}.duet-card{padding:20px !important;position:relative;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 36em){.duet-card{padding:28px !important}}.duet-card.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}.duet-card.info.duet-theme-turva{background:rgba(23, 28, 58, 0.035) !important}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;flex-direction:row}.duet-card-icon{align-self:center}.duet-card-heading-text{flex:1;word-break:break-word}.duet-card-secondary-heading{font-size:1rem;font-weight:600;word-break:break-word}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:800;color:#00294d;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}.duet-card-heading[role=button]{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}.duet-card-heading[role=button]:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading[role=button]:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading[role=button]:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}.duet-theme-turva .duet-card-heading{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0 0 20px !important;margin:0 0 20px}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.duet-theme-turva .duet-card-footer{background:#f5f5f7}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:12px 0 !important;margin:20px 0 0}.duet-card-content{width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{position:relative;top:6px;align-self:flex-start;transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;margin:0 0 20px}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}a.duet-card:active{transition:none;transform:translateY(1px)}";
2475
2545
 
2476
- const DuetCard$1 = class extends HTMLElement {
2546
+ let DuetCard$1 = class extends HTMLElement {
2477
2547
  constructor() {
2478
2548
  super();
2479
2549
  this.__registerHost();
@@ -2554,7 +2624,7 @@ const DuetCard$1 = class extends HTMLElement {
2554
2624
  this.hasFooter = !!this.element.querySelector("[slot='footer']");
2555
2625
  }
2556
2626
  renderHeading() {
2557
- const HeadingTag = sanitizeString(this.headingLevel);
2627
+ const HeadingTag = sanitizeString$1(this.headingLevel);
2558
2628
  const headingProps = this.collapsible
2559
2629
  ? {
2560
2630
  role: "button",
@@ -2565,7 +2635,7 @@ const DuetCard$1 = class extends HTMLElement {
2565
2635
  onKeyDown: this.handleKeyDown,
2566
2636
  }
2567
2637
  : {};
2568
- return (h$1(HeadingTag, Object.assign({ class: "duet-card-heading" }, headingProps), h$1("div", { class: "duet-card-heading-grid" }, this.icon && (h$1(Fragment, null, h$1("duet-icon", { class: "duet-card-icon", name: this.icon, size: "medium", margin: "none", color: "currentColor" }), h$1("duet-spacer", { direction: "horizontal", size: "small" }))), h$1("div", { class: "expand duet-card-heading-text" }, this.heading), this.secondaryHeading && (h$1(Fragment, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("div", { class: "duet-card-secondary-heading" }, this.secondaryHeading))), this.collapsible && (h$1(Fragment, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("duet-icon", { class: "duet-card-caret", icon: actionArrowUp.svg, size: "small", margin: "none", color: "currentColor" }))))));
2638
+ return (h$1(HeadingTag, Object.assign({ class: "duet-card-heading" }, headingProps), h$1("div", { class: "duet-card-heading-grid" }, this.icon && (h$1(Fragment, null, h$1("duet-icon", { class: "duet-card-icon", name: this.icon, size: "medium", margin: "none", color: "currentColor" }), h$1("duet-spacer", { direction: "horizontal", size: "small" }))), h$1("div", { class: "duet-card-heading-text" }, this.heading), this.collapsible && (h$1(Fragment, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("duet-icon", { class: "duet-card-caret", icon: actionArrowUp.svg, size: "small", margin: "none", color: "currentColor" })))), this.secondaryHeading && h$1("div", { class: "duet-card-secondary-heading" }, this.secondaryHeading)));
2569
2639
  }
2570
2640
  /**
2571
2641
  * Sets focus on the specified `duet-card`. Use this method instead of the global
@@ -2605,7 +2675,7 @@ const DuetCard$1 = class extends HTMLElement {
2605
2675
 
2606
2676
  const duetCheckboxCss = "*.sc-duet-checkbox,*.sc-duet-checkbox::after,*.sc-duet-checkbox::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-checkbox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-checkbox-h:last-child,.sc-duet-checkbox-h:last-of-type{margin-right:0 !important}.sc-duet-checkbox-h:last-of-type:not(:only-child){margin-bottom:0 !important}.duet-m-0.sc-duet-checkbox-h{margin:0 !important}.duet-label.sc-duet-checkbox{position:relative;z-index:100;display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;vertical-align:top;cursor:pointer;background:transparent;transition:300ms ease}.duet-theme-turva.sc-duet-checkbox .duet-label.sc-duet-checkbox{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-label.sc-duet-checkbox span.sc-duet-checkbox{display:inline-block;width:calc(100% - 32px);font-size:1rem;font-weight:400;vertical-align:top}.duet-checkbox-container.sc-duet-checkbox{position:relative;width:100%;height:100%}.duet-checkbox.sc-duet-checkbox{padding:14px !important;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{z-index:100;display:inline-block;width:20px;height:20px;margin:2px 10px 1px 1px;vertical-align:top;content:\"\";background:white;border:1px solid #00294d;border-radius:4px}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#00294d;border:1px solid #00294d}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#171c3a;border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox{position:static}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::after{position:absolute;top:6px;left:5px;z-index:200;width:12px;height:12px;pointer-events:none;content:\"\";background:transparent url(\"data:image/svg+xml,%3Csvg%20fill%3D%27white%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.374.287a1.5%2C1.5%2C0%2C0%2C0-2.093.345L7.246%2C20.2%2C2.561%2C15.511A1.5%2C1.5%2C0%2C1%2C0%2C.439%2C17.632l5.935%2C5.934a1.525%2C1.525%2C0%2C0%2C0%2C2.279-.186l15.066-21A1.5%2C1.5%2C0%2C0%2C0%2C23.374.287Z%27%20%2F%3E%3C%2Fsvg%3E\") no-repeat 0 0;background-size:100% auto}.duet-checkbox[disabled].sc-duet-checkbox{cursor:default}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#747475}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfcfd1}.duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#657787;border:1px solid #657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#747475;border-color:#747475}.duet-label-hidden.sc-duet-checkbox .duet-label.sc-duet-checkbox span.sc-duet-checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
2607
2677
 
2608
- const DuetCheckbox$1 = class extends HTMLElement {
2678
+ let DuetCheckbox$1 = class extends HTMLElement {
2609
2679
  constructor() {
2610
2680
  super();
2611
2681
  this.__registerHost();
@@ -2711,9 +2781,9 @@ const DuetCheckbox$1 = class extends HTMLElement {
2711
2781
 
2712
2782
  var messagingInfo={"title":"messaging-info","tags":"messaging info information circle","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M13.5 17.25A2.252 2.252 0 0 1 11.25 15v-3.75h-.75a.75.75 0 0 1 0-1.5h.75c.827 0 1.5.673 1.5 1.5V15c0 .414.336.75.75.75h.75a.75.75 0 0 1 0 1.5z\"/><circle cx=\"11.625\" cy=\"7.125\" r=\"1.125\"/><path d=\"M12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12zm0-22.5C6.21 1.5 1.5 6.21 1.5 12S6.21 22.5 12 22.5 22.5 17.79 22.5 12 17.79 1.5 12 1.5z\"/></svg>"};
2713
2783
 
2714
- const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important;margin-bottom:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px 48px 20px 16px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-right:110px;border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.has-icon.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-left:48px}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:absolute;top:17.7777777778px;right:16px;width:20px;height:20px;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;display:none;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;justify-content:center;width:57.6px;padding-top:18px;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom:0;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:100%;height:100%;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}";
2784
+ const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px 48px 20px 16px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-right:110px;border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.has-icon.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-left:48px}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:absolute;top:17.7777777778px;right:16px;width:20px;height:20px;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;display:none;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;justify-content:center;width:57.6px;padding-top:18px;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom:0;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:100%;height:100%;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}";
2715
2785
 
2716
- const DuetChoice$1 = class extends HTMLElement {
2786
+ let DuetChoice$1 = class extends HTMLElement {
2717
2787
  constructor() {
2718
2788
  super();
2719
2789
  this.__registerHost();
@@ -2746,6 +2816,7 @@ const DuetChoice$1 = class extends HTMLElement {
2746
2816
  /**
2747
2817
  * Accessible label that is read for screen reader users in the info toggle trigger button.
2748
2818
  * Not visible for normal users.
2819
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
2749
2820
  */
2750
2821
  this.accessibleLabelInfoButton = getLocaleString(this.accessibleLabelInfoButtonDefaults);
2751
2822
  /**
@@ -3001,9 +3072,9 @@ const findCheckedOption = (el, tagName) => {
3001
3072
  return options.find((o) => o.checked === true);
3002
3073
  };
3003
3074
 
3004
- const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.deut-choice-group.sc-duet-choice-group{position:relative;width:100%}";
3075
+ const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
3005
3076
 
3006
- const DuetChoiceGroup$1 = class extends HTMLElement {
3077
+ let DuetChoiceGroup$1 = class extends HTMLElement {
3007
3078
  constructor() {
3008
3079
  super();
3009
3080
  this.__registerHost();
@@ -3154,9 +3225,455 @@ const DuetChoiceGroup$1 = class extends HTMLElement {
3154
3225
 
3155
3226
  var actionArrowDownSmall={"title":"action-arrow-down-small","tags":"action arrow down small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 19.5a2.3 2.3 0 0 1-1.729-.78L.46 7.568a1.847 1.847 0 0 1 2.773-2.439l8.579 9.752a.25.25 0 0 0 .376 0l8.579-9.752a1.847 1.847 0 1 1 2.773 2.439l-9.808 11.148A2.31 2.31 0 0 1 12 19.5z\"/></svg>"};
3156
3227
 
3228
+ const color_warning = "rgb(247, 178, 40)";
3229
+ const color_gray_darker = "rgb(101, 119, 135)";
3230
+ const color_gray_lighter = "rgb(245, 248, 250)";
3231
+ const color_category_home = "rgb(211, 36, 131)";
3232
+ const color_primary = "rgb(0, 119, 179)";
3233
+ const color_category_vehicle = "rgb(54, 74, 129)";
3234
+ const color_success = "rgb(0, 135, 90)";
3235
+ const color_category_family = "rgb(11, 114, 136)";
3236
+ const color_primary_lightest = "rgb(243, 249, 252)";
3237
+ const color_primary_lighter = "rgb(230, 242, 248)";
3238
+ const color_brand_blue = "rgb(0, 161, 212)";
3239
+ const color_primary_dark = "rgb(0, 77, 128)";
3240
+ const color_gray_lightest = "rgb(255, 255, 255)";
3241
+ const color_category_finance = "rgb(122, 1, 196)";
3242
+ const color_gray_dark = "rgb(144, 149, 153)";
3243
+ const color_gray_light = "rgb(225, 227, 230)";
3244
+ const color_secondary = "rgb(0, 41, 77)";
3245
+ const color_category_pet = "rgb(168, 1, 78)";
3246
+ const color_primary_light = "rgb(205, 229, 241)";
3247
+ const color_category_travel = "rgb(213, 66, 3)";
3248
+ const color_gray = "rgb(207, 210, 212)";
3249
+ const color_danger = "rgb(222, 35, 98)";
3250
+ const color_gray_darker_turva = "rgb(68, 68, 69)";
3251
+ const color_gray_lighter_turva = "rgb(245, 245, 247)";
3252
+ const color_category_home_turva = "rgb(161, 10, 78)";
3253
+ const color_primary_turva = "rgb(198, 12, 48)";
3254
+ const color_category_vehicle_turva = "rgb(23, 28, 58)";
3255
+ const color_success_turva = "rgb(8, 135, 78)";
3256
+ const color_primary_lightest_turva = "rgb(252, 243, 244)";
3257
+ const color_category_family_turva = "rgb(199, 12, 112)";
3258
+ const color_category_union_turva = "rgb(169, 69, 124)";
3259
+ const color_primary_lighter_turva = "rgb(249, 230, 234)";
3260
+ const color_primary_dark_turva = "rgb(148, 9, 37)";
3261
+ const color_gray_lightest_turva = "rgb(255, 255, 255)";
3262
+ const color_gray_dark_turva = "rgb(116, 116, 117)";
3263
+ const color_gray_light_turva = "rgb(228, 228, 230)";
3264
+ const color_brand_gray_turva = "rgb(178, 180, 179)";
3265
+ const color_secondary_turva = "rgb(23, 28, 58)";
3266
+ const color_primary_light_turva = "rgb(244, 207, 214)";
3267
+ const color_category_travel_turva = "rgb(9, 129, 148)";
3268
+ const color_gray_turva = "rgb(207, 207, 209)";
3269
+ const color_danger_turva = "rgb(224, 42, 13)";
3270
+ const color_warning_turva = "rgb(250, 164, 15)";
3271
+ const color_data_07 = "rgb(192, 101, 247)";
3272
+ const color_data_08 = "rgb(0, 105, 191)";
3273
+ const color_data_09 = "rgb(19, 120, 53)";
3274
+ const color_data_10 = "rgb(179, 60, 24)";
3275
+ const color_data_11 = "rgb(13, 163, 166)";
3276
+ const color_data_01 = "rgb(122, 1, 196)";
3277
+ const color_data_12 = "rgb(11, 114, 136)";
3278
+ const color_data_02 = "rgb(0, 155, 204)";
3279
+ const color_data_13 = "rgb(179, 137, 24)";
3280
+ const color_data_03 = "rgb(27, 171, 75)";
3281
+ const color_data_14 = "rgb(128, 98, 17)";
3282
+ const color_data_04 = "rgb(255, 86, 34)";
3283
+ const color_data_15 = "rgb(0, 41, 77)";
3284
+ const color_data_05 = "rgb(245, 76, 154)";
3285
+ const color_data_06 = "rgb(194, 21, 101)";
3286
+ const font_weight_extra_bold = "800";
3287
+ const letter_spacing_heading = "-0.01rem";
3288
+ const font_family_heading_turva = "'turva-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";
3289
+ const font_family_text_turva = "'turva-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";
3290
+ const font_family_heading = "'localtapiola-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";
3291
+ const font_family_text = "'localtapiola-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";
3292
+ const font_weight_bold = "700";
3293
+ const font_weight_normal = "400";
3294
+ const font_weight_semi_bold = "600";
3295
+ const font_size_xxxx_large = "4.5rem";
3296
+ const font_size_xxx_large = "3rem";
3297
+ const font_size_xx_large = "2.25rem";
3298
+ const font_size_x_large = "1.5rem";
3299
+ const font_size_large = "1.25rem";
3300
+ const font_size_medium = "1rem";
3301
+ const font_size_small = "0.875rem";
3302
+ const font_size_x_small = "0.75rem";
3303
+ const radius_sharp = "0";
3304
+ const radius_default = "4px";
3305
+ const radius_circle = "50%";
3306
+ const radius_pill = "20rem";
3307
+ const shadow_tooltip_turva = "0 2px 10px 0 rgba(117, 117, 117, 0.13)";
3308
+ const shadow_default = "0 2px 6px 0 rgba(0, 41, 77, 0.07)";
3309
+ const shadow_tooltip = "0 2px 10px 0 rgba(0, 41, 77, 0.07)";
3310
+ const shadow_card_turva = "0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)";
3311
+ const shadow_modal = "0 2px 20px 0 rgba(0, 0, 0, 0.2)";
3312
+ const shadow_card = "0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)";
3313
+ const shadow_hover_turva = "0 2px 10px 0 rgba(117, 117, 117, 0.15)";
3314
+ const shadow_hover = "0 2px 10px 0 rgba(0, 41, 77, 0.1)";
3315
+ const shadow_default_turva = "0 2px 6px 0 rgba(117, 117, 117, 0.13)";
3316
+ const space_xx_small = "4px";
3317
+ const space_large = "20px";
3318
+ const space_x_small = "8px";
3319
+ const space_xxx_small = "2px";
3320
+ const space_small = "12px";
3321
+ const space_medium = "16px";
3322
+ const space_xx_large = "36px";
3323
+ const space_xxxx_large = "72px";
3324
+ const space_xxxxx_large = "94px";
3325
+ const space_xxx_large = "48px";
3326
+ const space_x_large = "28px";
3327
+ const size_icon_xx_large = "48px";
3328
+ const size_form_border = "1px";
3329
+ const size_step_medium = "40px";
3330
+ const size_button_min_width = "8rem";
3331
+ const size_header = "4rem";
3332
+ const size_icon_xxx_large = "72px";
3333
+ const size_icon_x_large = "36px";
3334
+ const size_icon_xx_small = "10px";
3335
+ const size_step_small = "30px";
3336
+ const size_navigation = "3rem";
3337
+ const size_icon_large = "30px";
3338
+ const size_layout_max_width = "1110px";
3339
+ const size_tappable_square = "48px";
3340
+ const size_icon_x_small = "16px";
3341
+ const size_icon_xxx_small = "7px";
3342
+ const size_button_border = "2px";
3343
+ const size_icon_medium = "24px";
3344
+ const size_icon_small = "20px";
3345
+ const opacity_85 = "0.85";
3346
+ const opacity_75 = "0.75";
3347
+ const opacity_50 = "0.50";
3348
+ const opacity_30 = "0.30";
3349
+ const z_index_dropdown = "600";
3350
+ const z_index_spinner = "800";
3351
+ const z_index_default = "1";
3352
+ const z_index_toast = "500";
3353
+ const z_index_popup = "950";
3354
+ const z_index_modal = "900";
3355
+ const z_index_sticky = "300";
3356
+ const z_index_masked = "100";
3357
+ const z_index_deep = "-999999";
3358
+ const z_index_overlay = "700";
3359
+ const z_index_mask = "200";
3360
+ const z_index_header = "400";
3361
+ const line_height_medium = "1.5";
3362
+ const line_height_small = "1.25";
3363
+ const line_height_x_small = "1.1";
3364
+ const transition_quickly = "300ms ease";
3365
+ const transition_slowly = "600ms ease";
3366
+ const media_query_xx_small = "'(max-width: 22.5em)'";
3367
+ const media_query_x_small = "'(max-width: 35.9375em)'";
3368
+ const media_query_small = "'(min-width: 36em)'";
3369
+ const media_query_medium = "'(min-width: 48em)'";
3370
+ const media_query_large = "'(min-width: 62em)'";
3371
+ const media_query_x_large = "'(min-width: 64.0625em)'";
3372
+ const media_query_xx_large = "'(min-width: 76.25em)'";
3373
+ const media_query_xxx_large = "'(min-width: 106.25em)'";
3374
+ const tokens = {
3375
+ color_warning: color_warning,
3376
+ color_gray_darker: color_gray_darker,
3377
+ color_gray_lighter: color_gray_lighter,
3378
+ color_category_home: color_category_home,
3379
+ color_primary: color_primary,
3380
+ color_category_vehicle: color_category_vehicle,
3381
+ color_success: color_success,
3382
+ color_category_family: color_category_family,
3383
+ color_primary_lightest: color_primary_lightest,
3384
+ color_primary_lighter: color_primary_lighter,
3385
+ color_brand_blue: color_brand_blue,
3386
+ color_primary_dark: color_primary_dark,
3387
+ color_gray_lightest: color_gray_lightest,
3388
+ color_category_finance: color_category_finance,
3389
+ color_gray_dark: color_gray_dark,
3390
+ color_gray_light: color_gray_light,
3391
+ color_secondary: color_secondary,
3392
+ color_category_pet: color_category_pet,
3393
+ color_primary_light: color_primary_light,
3394
+ color_category_travel: color_category_travel,
3395
+ color_gray: color_gray,
3396
+ color_danger: color_danger,
3397
+ color_gray_darker_turva: color_gray_darker_turva,
3398
+ color_gray_lighter_turva: color_gray_lighter_turva,
3399
+ color_category_home_turva: color_category_home_turva,
3400
+ color_primary_turva: color_primary_turva,
3401
+ color_category_vehicle_turva: color_category_vehicle_turva,
3402
+ color_success_turva: color_success_turva,
3403
+ color_primary_lightest_turva: color_primary_lightest_turva,
3404
+ color_category_family_turva: color_category_family_turva,
3405
+ color_category_union_turva: color_category_union_turva,
3406
+ color_primary_lighter_turva: color_primary_lighter_turva,
3407
+ color_primary_dark_turva: color_primary_dark_turva,
3408
+ color_gray_lightest_turva: color_gray_lightest_turva,
3409
+ color_gray_dark_turva: color_gray_dark_turva,
3410
+ color_gray_light_turva: color_gray_light_turva,
3411
+ color_brand_gray_turva: color_brand_gray_turva,
3412
+ color_secondary_turva: color_secondary_turva,
3413
+ color_primary_light_turva: color_primary_light_turva,
3414
+ color_category_travel_turva: color_category_travel_turva,
3415
+ color_gray_turva: color_gray_turva,
3416
+ color_danger_turva: color_danger_turva,
3417
+ color_warning_turva: color_warning_turva,
3418
+ color_data_07: color_data_07,
3419
+ color_data_08: color_data_08,
3420
+ color_data_09: color_data_09,
3421
+ color_data_10: color_data_10,
3422
+ color_data_11: color_data_11,
3423
+ color_data_01: color_data_01,
3424
+ color_data_12: color_data_12,
3425
+ color_data_02: color_data_02,
3426
+ color_data_13: color_data_13,
3427
+ color_data_03: color_data_03,
3428
+ color_data_14: color_data_14,
3429
+ color_data_04: color_data_04,
3430
+ color_data_15: color_data_15,
3431
+ color_data_05: color_data_05,
3432
+ color_data_06: color_data_06,
3433
+ font_weight_extra_bold: font_weight_extra_bold,
3434
+ letter_spacing_heading: letter_spacing_heading,
3435
+ font_family_heading_turva: font_family_heading_turva,
3436
+ font_family_text_turva: font_family_text_turva,
3437
+ font_family_heading: font_family_heading,
3438
+ font_family_text: font_family_text,
3439
+ font_weight_bold: font_weight_bold,
3440
+ font_weight_normal: font_weight_normal,
3441
+ font_weight_semi_bold: font_weight_semi_bold,
3442
+ font_size_xxxx_large: font_size_xxxx_large,
3443
+ font_size_xxx_large: font_size_xxx_large,
3444
+ font_size_xx_large: font_size_xx_large,
3445
+ font_size_x_large: font_size_x_large,
3446
+ font_size_large: font_size_large,
3447
+ font_size_medium: font_size_medium,
3448
+ font_size_small: font_size_small,
3449
+ font_size_x_small: font_size_x_small,
3450
+ radius_sharp: radius_sharp,
3451
+ radius_default: radius_default,
3452
+ radius_circle: radius_circle,
3453
+ radius_pill: radius_pill,
3454
+ shadow_tooltip_turva: shadow_tooltip_turva,
3455
+ shadow_default: shadow_default,
3456
+ shadow_tooltip: shadow_tooltip,
3457
+ shadow_card_turva: shadow_card_turva,
3458
+ shadow_modal: shadow_modal,
3459
+ shadow_card: shadow_card,
3460
+ shadow_hover_turva: shadow_hover_turva,
3461
+ shadow_hover: shadow_hover,
3462
+ shadow_default_turva: shadow_default_turva,
3463
+ space_xx_small: space_xx_small,
3464
+ space_large: space_large,
3465
+ space_x_small: space_x_small,
3466
+ space_xxx_small: space_xxx_small,
3467
+ space_small: space_small,
3468
+ space_medium: space_medium,
3469
+ space_xx_large: space_xx_large,
3470
+ space_xxxx_large: space_xxxx_large,
3471
+ space_xxxxx_large: space_xxxxx_large,
3472
+ space_xxx_large: space_xxx_large,
3473
+ space_x_large: space_x_large,
3474
+ size_icon_xx_large: size_icon_xx_large,
3475
+ size_form_border: size_form_border,
3476
+ size_step_medium: size_step_medium,
3477
+ size_button_min_width: size_button_min_width,
3478
+ size_header: size_header,
3479
+ size_icon_xxx_large: size_icon_xxx_large,
3480
+ size_icon_x_large: size_icon_x_large,
3481
+ size_icon_xx_small: size_icon_xx_small,
3482
+ size_step_small: size_step_small,
3483
+ size_navigation: size_navigation,
3484
+ size_icon_large: size_icon_large,
3485
+ size_layout_max_width: size_layout_max_width,
3486
+ size_tappable_square: size_tappable_square,
3487
+ size_icon_x_small: size_icon_x_small,
3488
+ size_icon_xxx_small: size_icon_xxx_small,
3489
+ size_button_border: size_button_border,
3490
+ size_icon_medium: size_icon_medium,
3491
+ size_icon_small: size_icon_small,
3492
+ opacity_85: opacity_85,
3493
+ opacity_75: opacity_75,
3494
+ opacity_50: opacity_50,
3495
+ opacity_30: opacity_30,
3496
+ z_index_dropdown: z_index_dropdown,
3497
+ z_index_spinner: z_index_spinner,
3498
+ z_index_default: z_index_default,
3499
+ z_index_toast: z_index_toast,
3500
+ z_index_popup: z_index_popup,
3501
+ z_index_modal: z_index_modal,
3502
+ z_index_sticky: z_index_sticky,
3503
+ z_index_masked: z_index_masked,
3504
+ z_index_deep: z_index_deep,
3505
+ z_index_overlay: z_index_overlay,
3506
+ z_index_mask: z_index_mask,
3507
+ z_index_header: z_index_header,
3508
+ line_height_medium: line_height_medium,
3509
+ line_height_small: line_height_small,
3510
+ line_height_x_small: line_height_x_small,
3511
+ transition_quickly: transition_quickly,
3512
+ transition_slowly: transition_slowly,
3513
+ media_query_xx_small: media_query_xx_small,
3514
+ media_query_x_small: media_query_x_small,
3515
+ media_query_small: media_query_small,
3516
+ media_query_medium: media_query_medium,
3517
+ media_query_large: media_query_large,
3518
+ media_query_x_large: media_query_x_large,
3519
+ media_query_xx_large: media_query_xx_large,
3520
+ media_query_xxx_large: media_query_xxx_large
3521
+ };
3522
+
3523
+ const tokens$1 = /*#__PURE__*/Object.freeze({
3524
+ __proto__: null,
3525
+ color_warning: color_warning,
3526
+ color_gray_darker: color_gray_darker,
3527
+ color_gray_lighter: color_gray_lighter,
3528
+ color_category_home: color_category_home,
3529
+ color_primary: color_primary,
3530
+ color_category_vehicle: color_category_vehicle,
3531
+ color_success: color_success,
3532
+ color_category_family: color_category_family,
3533
+ color_primary_lightest: color_primary_lightest,
3534
+ color_primary_lighter: color_primary_lighter,
3535
+ color_brand_blue: color_brand_blue,
3536
+ color_primary_dark: color_primary_dark,
3537
+ color_gray_lightest: color_gray_lightest,
3538
+ color_category_finance: color_category_finance,
3539
+ color_gray_dark: color_gray_dark,
3540
+ color_gray_light: color_gray_light,
3541
+ color_secondary: color_secondary,
3542
+ color_category_pet: color_category_pet,
3543
+ color_primary_light: color_primary_light,
3544
+ color_category_travel: color_category_travel,
3545
+ color_gray: color_gray,
3546
+ color_danger: color_danger,
3547
+ color_gray_darker_turva: color_gray_darker_turva,
3548
+ color_gray_lighter_turva: color_gray_lighter_turva,
3549
+ color_category_home_turva: color_category_home_turva,
3550
+ color_primary_turva: color_primary_turva,
3551
+ color_category_vehicle_turva: color_category_vehicle_turva,
3552
+ color_success_turva: color_success_turva,
3553
+ color_primary_lightest_turva: color_primary_lightest_turva,
3554
+ color_category_family_turva: color_category_family_turva,
3555
+ color_category_union_turva: color_category_union_turva,
3556
+ color_primary_lighter_turva: color_primary_lighter_turva,
3557
+ color_primary_dark_turva: color_primary_dark_turva,
3558
+ color_gray_lightest_turva: color_gray_lightest_turva,
3559
+ color_gray_dark_turva: color_gray_dark_turva,
3560
+ color_gray_light_turva: color_gray_light_turva,
3561
+ color_brand_gray_turva: color_brand_gray_turva,
3562
+ color_secondary_turva: color_secondary_turva,
3563
+ color_primary_light_turva: color_primary_light_turva,
3564
+ color_category_travel_turva: color_category_travel_turva,
3565
+ color_gray_turva: color_gray_turva,
3566
+ color_danger_turva: color_danger_turva,
3567
+ color_warning_turva: color_warning_turva,
3568
+ color_data_07: color_data_07,
3569
+ color_data_08: color_data_08,
3570
+ color_data_09: color_data_09,
3571
+ color_data_10: color_data_10,
3572
+ color_data_11: color_data_11,
3573
+ color_data_01: color_data_01,
3574
+ color_data_12: color_data_12,
3575
+ color_data_02: color_data_02,
3576
+ color_data_13: color_data_13,
3577
+ color_data_03: color_data_03,
3578
+ color_data_14: color_data_14,
3579
+ color_data_04: color_data_04,
3580
+ color_data_15: color_data_15,
3581
+ color_data_05: color_data_05,
3582
+ color_data_06: color_data_06,
3583
+ font_weight_extra_bold: font_weight_extra_bold,
3584
+ letter_spacing_heading: letter_spacing_heading,
3585
+ font_family_heading_turva: font_family_heading_turva,
3586
+ font_family_text_turva: font_family_text_turva,
3587
+ font_family_heading: font_family_heading,
3588
+ font_family_text: font_family_text,
3589
+ font_weight_bold: font_weight_bold,
3590
+ font_weight_normal: font_weight_normal,
3591
+ font_weight_semi_bold: font_weight_semi_bold,
3592
+ font_size_xxxx_large: font_size_xxxx_large,
3593
+ font_size_xxx_large: font_size_xxx_large,
3594
+ font_size_xx_large: font_size_xx_large,
3595
+ font_size_x_large: font_size_x_large,
3596
+ font_size_large: font_size_large,
3597
+ font_size_medium: font_size_medium,
3598
+ font_size_small: font_size_small,
3599
+ font_size_x_small: font_size_x_small,
3600
+ radius_sharp: radius_sharp,
3601
+ radius_default: radius_default,
3602
+ radius_circle: radius_circle,
3603
+ radius_pill: radius_pill,
3604
+ shadow_tooltip_turva: shadow_tooltip_turva,
3605
+ shadow_default: shadow_default,
3606
+ shadow_tooltip: shadow_tooltip,
3607
+ shadow_card_turva: shadow_card_turva,
3608
+ shadow_modal: shadow_modal,
3609
+ shadow_card: shadow_card,
3610
+ shadow_hover_turva: shadow_hover_turva,
3611
+ shadow_hover: shadow_hover,
3612
+ shadow_default_turva: shadow_default_turva,
3613
+ space_xx_small: space_xx_small,
3614
+ space_large: space_large,
3615
+ space_x_small: space_x_small,
3616
+ space_xxx_small: space_xxx_small,
3617
+ space_small: space_small,
3618
+ space_medium: space_medium,
3619
+ space_xx_large: space_xx_large,
3620
+ space_xxxx_large: space_xxxx_large,
3621
+ space_xxxxx_large: space_xxxxx_large,
3622
+ space_xxx_large: space_xxx_large,
3623
+ space_x_large: space_x_large,
3624
+ size_icon_xx_large: size_icon_xx_large,
3625
+ size_form_border: size_form_border,
3626
+ size_step_medium: size_step_medium,
3627
+ size_button_min_width: size_button_min_width,
3628
+ size_header: size_header,
3629
+ size_icon_xxx_large: size_icon_xxx_large,
3630
+ size_icon_x_large: size_icon_x_large,
3631
+ size_icon_xx_small: size_icon_xx_small,
3632
+ size_step_small: size_step_small,
3633
+ size_navigation: size_navigation,
3634
+ size_icon_large: size_icon_large,
3635
+ size_layout_max_width: size_layout_max_width,
3636
+ size_tappable_square: size_tappable_square,
3637
+ size_icon_x_small: size_icon_x_small,
3638
+ size_icon_xxx_small: size_icon_xxx_small,
3639
+ size_button_border: size_button_border,
3640
+ size_icon_medium: size_icon_medium,
3641
+ size_icon_small: size_icon_small,
3642
+ opacity_85: opacity_85,
3643
+ opacity_75: opacity_75,
3644
+ opacity_50: opacity_50,
3645
+ opacity_30: opacity_30,
3646
+ z_index_dropdown: z_index_dropdown,
3647
+ z_index_spinner: z_index_spinner,
3648
+ z_index_default: z_index_default,
3649
+ z_index_toast: z_index_toast,
3650
+ z_index_popup: z_index_popup,
3651
+ z_index_modal: z_index_modal,
3652
+ z_index_sticky: z_index_sticky,
3653
+ z_index_masked: z_index_masked,
3654
+ z_index_deep: z_index_deep,
3655
+ z_index_overlay: z_index_overlay,
3656
+ z_index_mask: z_index_mask,
3657
+ z_index_header: z_index_header,
3658
+ line_height_medium: line_height_medium,
3659
+ line_height_small: line_height_small,
3660
+ line_height_x_small: line_height_x_small,
3661
+ transition_quickly: transition_quickly,
3662
+ transition_slowly: transition_slowly,
3663
+ media_query_xx_small: media_query_xx_small,
3664
+ media_query_x_small: media_query_x_small,
3665
+ media_query_small: media_query_small,
3666
+ media_query_medium: media_query_medium,
3667
+ media_query_large: media_query_large,
3668
+ media_query_x_large: media_query_x_large,
3669
+ media_query_xx_large: media_query_xx_large,
3670
+ media_query_xxx_large: media_query_xxx_large,
3671
+ 'default': tokens
3672
+ });
3673
+
3157
3674
  const duetCollapsibleCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}:host([open]) .duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;cursor:pointer;border-radius:4px}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-heading.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-collapsible-heading .duet-collapsible-heading-content{flex:1}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva) .duet-collapsible-heading:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:#00294d;transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}";
3158
3675
 
3159
- const DuetCollapsible$1 = class extends HTMLElement {
3676
+ let DuetCollapsible$1 = class extends HTMLElement {
3160
3677
  constructor() {
3161
3678
  super();
3162
3679
  this.__registerHost();
@@ -3175,6 +3692,26 @@ const DuetCollapsible$1 = class extends HTMLElement {
3175
3692
  * The font weight of the heading
3176
3693
  */
3177
3694
  this.headingWeight = "semibold";
3695
+ /**
3696
+ * Custom headingSize to be used for font size of heading, as a design token entered
3697
+ * in kebab-case x-small -> font-size-x-small.
3698
+ * Example:
3699
+ * # 12px (0.75rem) ------ +2px (x-small)
3700
+ * # 14px (0.875rem) ------ +2px (small)
3701
+ * # 16px (1rem) ------ +2px (medium)
3702
+ * # 20px (1.25rem) ------ +4px (large)
3703
+ * # 24px (1.5rem) ------ +4px (x-large)
3704
+ * # 36px (2.25rem) ------ +12px (xx-large)
3705
+ * # 48px (3rem) ------ +12px (xxx-large)
3706
+ * # 72px (4.5rem) ------ +24px (xxxx-large)
3707
+ */
3708
+ this.headingSize = undefined;
3709
+ /**
3710
+ * The actual heading level used for the heading in html markup. This setting
3711
+ * exists for accessibility reasons. It doesn’t change the style visually.
3712
+ * only variations of h1-h6 area accepted
3713
+ */
3714
+ this.headingLevel = undefined;
3178
3715
  /**
3179
3716
  * Controls the margin of the component.
3180
3717
  */
@@ -3188,6 +3725,39 @@ const DuetCollapsible$1 = class extends HTMLElement {
3188
3725
  this.handleClick(e);
3189
3726
  }
3190
3727
  };
3728
+ this.getFontSizeFromTokens = (fontSize = this.headingSize) => {
3729
+ if (!fontSize) {
3730
+ return font_size_medium;
3731
+ }
3732
+ else {
3733
+ const searchRegExp = /-/g;
3734
+ const fontSizeReplaced = fontSize.replace(searchRegExp, "_");
3735
+ return tokens$1[`font_size_${fontSizeReplaced}`];
3736
+ }
3737
+ };
3738
+ this.getEquivalentIconSize = (fontSize = this.headingSize) => {
3739
+ switch (fontSize) {
3740
+ case "x-small":
3741
+ return "xx-small";
3742
+ case "small":
3743
+ return "xx-small";
3744
+ case "medium":
3745
+ return "xx-small";
3746
+ case "large":
3747
+ return "x-small";
3748
+ case "x-large":
3749
+ return "small";
3750
+ case "xx-large":
3751
+ return "medium";
3752
+ case "xxx-large":
3753
+ return "x-large";
3754
+ case "xxxx-large":
3755
+ return "xxx-large";
3756
+ default:
3757
+ // default size
3758
+ return "xx-small";
3759
+ }
3760
+ };
3191
3761
  this.handleClick = (e) => {
3192
3762
  e.preventDefault();
3193
3763
  this.open = !this.open;
@@ -3218,11 +3788,12 @@ const DuetCollapsible$1 = class extends HTMLElement {
3218
3788
  * Always the last one in the class.
3219
3789
  */
3220
3790
  render() {
3221
- return (h$1(Host, { class: { "duet-m-0": this.margin === "none" } }, h$1("div", { class: {
3791
+ const HeadingTagName = this.headingLevel ? sanitizeString$1(this.headingLevel) : "div";
3792
+ return (h$1(Host, { class: { "duet-m-0": this.margin === "none" } }, h$1(HeadingTagName, { class: {
3222
3793
  "duet-collapsible-heading": true,
3223
3794
  "duet-theme-turva": this.theme === "turva",
3224
3795
  "duet-collapsible-normal-weight": this.headingWeight === "normal",
3225
- }, role: "button", tabindex: "0", ref: button => (this.nativeButton = button), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h$1("div", { class: "duet-collapsible-heading-icon" }, h$1("duet-icon", { margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary", size: "xx-small", icon: actionArrowDownSmall.svg })), h$1("div", { class: "duet-collapsible-heading-content" }, this.heading)), h$1("div", { id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" } }, h$1("slot", null))));
3796
+ }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", tabindex: "0", ref: button => (this.nativeButton = button), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h$1("div", { class: "duet-collapsible-heading-icon" }, h$1("duet-icon", { margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary", size: this.getEquivalentIconSize(), icon: actionArrowDownSmall.svg })), h$1("div", { class: "duet-collapsible-heading-content" }, this.heading)), h$1("div", { id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" } }, h$1("slot", null))));
3226
3797
  }
3227
3798
  get element() { return this; }
3228
3799
  static get style() { return duetCollapsibleCss; }
@@ -3230,7 +3801,7 @@ const DuetCollapsible$1 = class extends HTMLElement {
3230
3801
 
3231
3802
  const duetCookieConsentCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-cookie-consent{padding:20px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;color:white !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(0, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background-color:rgba(12, 14, 29, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:white !important;text-decoration:underline;white-space:nowrap}::slotted(a[target=_blank]){padding-right:16px;background:url(\"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+\") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva ::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
3232
3803
 
3233
- const DuetCookieConsent$1 = class extends HTMLElement {
3804
+ let DuetCookieConsent$1 = class extends HTMLElement {
3234
3805
  constructor() {
3235
3806
  super();
3236
3807
  this.__registerHost();
@@ -3399,7 +3970,17 @@ const convertToPrivate = (node) => {
3399
3970
  return vnode;
3400
3971
  };
3401
3972
 
3402
- var formDate={"title":"form-date","tags":"form date calendar date picker","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M2.25 24A2.252 2.252 0 0 1 0 21.75V5.25A2.252 2.252 0 0 1 2.25 3H6V.75a.75.75 0 0 1 1.5 0V3h9V.75a.75.75 0 0 1 1.5 0V3h3.75A2.252 2.252 0 0 1 24 5.25v16.5A2.252 2.252 0 0 1 21.75 24zm-.75-2.25c0 .414.336.75.75.75h19.5a.75.75 0 0 0 .75-.75V10.5h-21zM22.5 9V5.25a.75.75 0 0 0-.75-.75H18V6a.75.75 0 0 1-1.5 0V4.5h-9V6A.75.75 0 0 1 6 6V4.5H2.25a.75.75 0 0 0-.75.75V9z\"/><circle cx=\"5.625\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"5.625\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"12\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"12\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"18.375\" cy=\"13.875\" r=\"1.125\"/><path d=\"M18.375 20.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.171-1.122l.027.003a1.118 1.118 0 0 1 1.052 1.12c0 .619-.505 1.124-1.125 1.124z\"/></svg>"};
3973
+ const focusElement = (element) => {
3974
+ if ("setFocus" in element) {
3975
+ element.setFocus();
3976
+ }
3977
+ else {
3978
+ element.focus();
3979
+ }
3980
+ };
3981
+ const FocusGuard = ({ moveFocusTo }) => {
3982
+ return h("div", { class: "duet-focus-guard", "aria-hidden": "true", tabIndex: 0, onFocus: () => focusElement(moveFocusTo) });
3983
+ };
3403
3984
 
3404
3985
  const formatOptionsShort = { day: "numeric", month: "long" };
3405
3986
  const formatOptionsLong = { day: "numeric", month: "long", year: "numeric" };
@@ -3503,6 +4084,8 @@ const i18n$2 = {
3503
4084
  },
3504
4085
  };
3505
4086
 
4087
+ var formDate={"title":"form-date","tags":"form date calendar date picker","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M2.25 24A2.252 2.252 0 0 1 0 21.75V5.25A2.252 2.252 0 0 1 2.25 3H6V.75a.75.75 0 0 1 1.5 0V3h9V.75a.75.75 0 0 1 1.5 0V3h3.75A2.252 2.252 0 0 1 24 5.25v16.5A2.252 2.252 0 0 1 21.75 24zm-.75-2.25c0 .414.336.75.75.75h19.5a.75.75 0 0 0 .75-.75V10.5h-21zM22.5 9V5.25a.75.75 0 0 0-.75-.75H18V6a.75.75 0 0 1-1.5 0V4.5h-9V6A.75.75 0 0 1 6 6V4.5H2.25a.75.75 0 0 0-.75.75V9z\"/><circle cx=\"5.625\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"5.625\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"12\" cy=\"13.875\" r=\"1.125\"/><circle cx=\"12\" cy=\"19.125\" r=\"1.125\"/><circle cx=\"18.375\" cy=\"13.875\" r=\"1.125\"/><path d=\"M18.375 20.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.171-1.122l.027.003a1.118 1.118 0 0 1 1.052 1.12c0 .619-.505 1.124-1.125 1.124z\"/></svg>"};
4088
+
3506
4089
  const DatePickerInput = ({ onClick, placeholder, name, inputLabel, value, valueAsDate, formattedValue, language, identifier, theme, disabled, error, role, required, tooltip, tooltipDirection, labelHidden, buttonRef, inputRef, onInput, onBlur, onFocus, accessibleActiveDescendant, accessibleControls, accessibleOwns, accessibleDescribedBy, echoPlaceholder, caption, }) => {
3507
4090
  const { buttonLabel, selected, formatterLong } = i18n$2[language];
3508
4091
  return (h("div", { class: {
@@ -3789,21 +4372,9 @@ const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, langu
3789
4372
  } }))))))))));
3790
4373
  };
3791
4374
 
3792
- const focusElement = (element) => {
3793
- if ("setFocus" in element) {
3794
- element.setFocus();
3795
- }
3796
- else {
3797
- element.focus();
3798
- }
3799
- };
3800
- const FocusGuard = ({ moveFocusTo }) => {
3801
- return h("div", { class: "duet-focus-guard", "aria-hidden": "true", tabIndex: 0, onFocus: () => focusElement(moveFocusTo) });
3802
- };
3803
-
3804
- const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:#00294d;cursor:pointer;background:transparent !important;border-left:1px solid #cfd2d4 !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:#171c3a;border-color:#cfcfd1}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:default;background:#f5f8fa !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:#f5f5f7 !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:#0077b3;border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:#e4e4e6}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25 !important;color:#00294d !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:#171c3a !important}.duet-date-table-button.sc-duet-date-picker:hover{background:#e6f2f8 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:#f9e6ea !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:#004d80 !important;background:#f3f9fc !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:#940925 !important;background:#fcf3f4 !important;box-shadow:0 0 0 1px #c60c30 !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#0077b3 !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#c60c30 !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:white !important;background:#0077b3 !important;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:white !important;background:#c60c30 !important;box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:#909599 !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:#747475 !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:#909599 !important;pointer-events:none;cursor:default;background:#f5f8fa !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:#747475;background:#f5f5f7;box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{color:#171c3a;background:#f5f5f7}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker duet-icon.sc-duet-date-picker{display:block}@media (max-width: 35.9375em){.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{width:40px;height:40px}}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9ecee !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9e9eb !important}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#dddfe1;box-shadow:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#ddddde}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#747475;background:#f5f5f7}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:600;line-height:1.25;color:#00294d;pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #cfd2d4}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:#cfcfd1}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:#00294d !important;cursor:pointer;background:#f5f8fa !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f8fa !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}";
4375
+ const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:#00294d;cursor:pointer;background:transparent !important;border-left:1px solid #cfd2d4 !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:#171c3a;border-color:#cfcfd1}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:default;background:#f5f8fa !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:#f5f5f7 !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:#0077b3;border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:#e4e4e6}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25 !important;color:#00294d !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:#171c3a !important}.duet-date-table-button.sc-duet-date-picker:hover{background:#e6f2f8 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:#f9e6ea !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:#004d80 !important;background:#f3f9fc !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:#940925 !important;background:#fcf3f4 !important;box-shadow:0 0 0 1px #c60c30 !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#0077b3 !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#c60c30 !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:white !important;background:#0077b3 !important;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:white !important;background:#c60c30 !important;box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:#909599 !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:#747475 !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:#909599 !important;pointer-events:none;cursor:default;background:#f5f8fa !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:#747475;background:#f5f5f7;box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{color:#171c3a;background:#f5f5f7}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker duet-icon.sc-duet-date-picker{display:block}@media (max-width: 35.9375em){.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{width:40px;height:40px}}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9ecee !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9e9eb !important}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#dddfe1;box-shadow:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#ddddde}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#747475;background:#f5f5f7}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:600;line-height:1.25;color:#00294d;pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #cfd2d4}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:#cfcfd1}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:#00294d !important;cursor:pointer;background:#f5f8fa !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f8fa !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}";
3805
4376
 
3806
- const DuetDatePicker$1 = class extends HTMLElement {
4377
+ let DuetDatePicker$1 = class extends HTMLElement {
3807
4378
  constructor() {
3808
4379
  super();
3809
4380
  this.__registerHost();
@@ -3843,10 +4414,27 @@ const DuetDatePicker$1 = class extends HTMLElement {
3843
4414
  * Controls the margin of the component.
3844
4415
  */
3845
4416
  this.margin = "auto";
4417
+ /**
4418
+ * The currently active language. This setting changes the month/year/day
4419
+ * names and button labels as well as all screen reader labels.
4420
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
4421
+ * @default "fi"
4422
+ */
4423
+ this.language = getLanguage();
4424
+ /**
4425
+ * Placeholder defaults
4426
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
4427
+ */
4428
+ this.placeholderDefaults = {
4429
+ fi: "pp.kk.vvvv",
4430
+ en: "dd.mm.yyyy",
4431
+ sv: "dd.mm.åååå",
4432
+ };
3846
4433
  /**
3847
4434
  * Hint text to display before the user types into the date picker input.
4435
+ * @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
3848
4436
  */
3849
- this.placeholder = getLocaleString({ fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" });
4437
+ this.placeholder = getLocaleString(this.placeholderDefaults, this.language);
3850
4438
  /**
3851
4439
  * If form input field has a placeholder text, and user types anything (causing the text to dissapear),
3852
4440
  * settings this to true will "echo" it into the caption slot - this option will be false by default for the next few versions, but will eventually be true by default (scheduled for 4.30.0)
@@ -3857,11 +4445,6 @@ const DuetDatePicker$1 = class extends HTMLElement {
3857
4445
  * interact with the input, and conveys its inactive state to assistive technologies.
3858
4446
  */
3859
4447
  this.disabled = false;
3860
- /**
3861
- * The currently active language. This setting changes the month/year/day
3862
- * names and button labels as well as all screen reader labels.
3863
- */
3864
- this.language = getLanguage();
3865
4448
  /**
3866
4449
  * Display the date picker input in error state along with an error message.
3867
4450
  */
@@ -4199,7 +4782,7 @@ const DuetDatePicker$1 = class extends HTMLElement {
4199
4782
 
4200
4783
  const duetDividerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-divider{-webkit-user-select:none;user-select:none;display:block;width:100%;height:1px;margin-top:36px !important;margin-bottom:28px;background:#e1e3e6}.duet-divider.duet-p-0{padding:0 !important}.duet-divider.duet-m-0{margin:0 !important}.duet-divider.duet-m-s{margin-bottom:16px !important;margin-top:0 !important}.duet-divider.duet-theme-turva{background:#e4e4e6}";
4201
4784
 
4202
- const DuetDivider$1 = class extends HTMLElement {
4785
+ let DuetDivider$1 = class extends HTMLElement {
4203
4786
  constructor() {
4204
4787
  super();
4205
4788
  this.__registerHost();
@@ -4237,7 +4820,7 @@ const DuetDivider$1 = class extends HTMLElement {
4237
4820
 
4238
4821
  const duetEmptyStateCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:#00294d;text-align:center;background:#f5f8fa;border-radius:4px}.duet-empty-state.duet-theme-turva{color:#171c3a;background:#f5f5f7}";
4239
4822
 
4240
- const DuetEmptyState$1 = class extends HTMLElement {
4823
+ let DuetEmptyState$1 = class extends HTMLElement {
4241
4824
  constructor() {
4242
4825
  super();
4243
4826
  this.__registerHost();
@@ -4277,7 +4860,7 @@ const DuetEmptyState$1 = class extends HTMLElement {
4277
4860
 
4278
4861
  const duetFieldsetCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;display:block;width:100%}:host(.duet-m-0){margin:0 !important}fieldset{border:0}legend{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-legend-wrapper{position:relative;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;text-align:left;background:transparent}.duet-theme-turva .duet-legend-wrapper{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-fieldset-label{margin-bottom:12px !important;margin-top:8px}.duet-legend-has-caption .duet-fieldset-label{margin-bottom:6px !important}.duet-legend-has-tooltip .duet-fieldset-label{padding-right:36px}@media (min-width: 48em){.duet-legend-has-tooltip .duet-fieldset-label{margin-bottom:3px !important;padding-right:0}}@media (min-width: 48em){.duet-legend-has-tooltip.duet-legend-has-caption .duet-fieldset-label{margin-bottom:-3px !important}}.duet-fieldset-caption{margin-bottom:12px !important}.duet-fieldset-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#de2362;border-radius:4px}.duet-fieldset-help span{display:block;margin-top:12px}.duet-theme-turva .duet-fieldset-help{color:#e02a0d}::slotted(duet-tooltip){position:absolute;top:4px;right:0}@media (min-width: 48em){::slotted(duet-tooltip){position:relative;right:auto}}.duet-legend-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
4279
4862
 
4280
- const DuetFieldset$1 = class extends HTMLElement {
4863
+ let DuetFieldset$1 = class extends HTMLElement {
4281
4864
  constructor() {
4282
4865
  super();
4283
4866
  this.__registerHost();
@@ -4329,10 +4912,10 @@ const DuetFieldset$1 = class extends HTMLElement {
4329
4912
 
4330
4913
  var actionArrowRight={"title":"action-arrow-right","tags":"action arrow right caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M5.499 24a.752.752 0 0 1-.53-1.281L15.689 12 4.969 1.28c-.142-.141-.22-.33-.22-.53s.078-.389.22-.53c.141-.142.33-.22.53-.22s.389.078.53.22l10.72 10.72a1.5 1.5 0 0 1 .001 2.119L6.029 23.78a.743.743 0 0 1-.53.22z\"/></svg>"};
4331
4914
 
4332
- var actionNewWindowSmall={"title":"action-new-window-small","tags":"arrow open new window tab external linksquare box rectangle action small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.5 2a1.5 1.5 0 0 1 .14 3H3.75c-.38 0-.7.28-.74.65l-.01.1v14.5c0 .38.28.7.65.74l.1.01h14.5c.38 0 .7-.28.74-.65l.01-.1v-6.89a1.5 1.5 0 0 1 3 0v6.89A3.75 3.75 0 0 1 18.25 24H3.75A3.75 3.75 0 0 1 0 20.25V5.75A3.75 3.75 0 0 1 3.75 2zm12-2c.78 0 1.42.6 1.5 1.36V7.5a1.5 1.5 0 0 1-3 .14V5.12l-5.44 5.44a1.5 1.5 0 0 1-2.22-2l.1-.12L18.88 3H16.5A1.5 1.5 0 0 1 15 1.64V1.5c0-.78.6-1.42 1.36-1.5h.14z\"/></svg>"};
4333
-
4334
4915
  var actionNewWindow={"title":"action-new-window","tags":"arrow open new window tab external link square box rectangle action","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.25 2a.75.75 0 1 1 0 1.5h-6.5A2.252 2.252 0 0 0 1.5 5.75v14.5a2.252 2.252 0 0 0 2.25 2.25h14.5a2.252 2.252 0 0 0 2.25-2.25v-6.5a.75.75 0 0 1 1.5 0v6.5A3.754 3.754 0 0 1 18.25 24H3.75A3.754 3.754 0 0 1 0 20.25V5.75A3.754 3.754 0 0 1 3.75 2zm12.985-2c.1 0 .198.02.29.058l.025.011a.726.726 0 0 1 .15.091l.066.059a.755.755 0 0 1 .109.138l.051.1c.04.092.06.192.06.293l-.001 6.363c0 .2-.078.389-.22.53a.743.743 0 0 1-.53.22.743.743 0 0 1-.53-.22.743.743 0 0 1-.22-.53V2.559L15.28 9.764a.75.75 0 0 1-1.06-1.06l7.204-7.205h-4.553a.744.744 0 0 1-.75-.75c0-.2.078-.388.22-.53A.743.743 0 0 1 16.87 0z\"/></svg>"};
4335
4916
 
4917
+ var actionNewWindowSmall={"title":"action-new-window-small","tags":"arrow open new window tab external linksquare box rectangle action small","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M10.5 2a1.5 1.5 0 0 1 .14 3H3.75c-.38 0-.7.28-.74.65l-.01.1v14.5c0 .38.28.7.65.74l.1.01h14.5c.38 0 .7-.28.74-.65l.01-.1v-6.89a1.5 1.5 0 0 1 3 0v6.89A3.75 3.75 0 0 1 18.25 24H3.75A3.75 3.75 0 0 1 0 20.25V5.75A3.75 3.75 0 0 1 3.75 2zm12-2c.78 0 1.42.6 1.5 1.36V7.5a1.5 1.5 0 0 1-3 .14V5.12l-5.44 5.44a1.5 1.5 0 0 1-2.22-2l.1-.12L18.88 3H16.5A1.5 1.5 0 0 1 15 1.64V1.5c0-.78.6-1.42 1.36-1.5h.14z\"/></svg>"};
4918
+
4336
4919
  const duetFooterCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex-shrink:0;width:100%}.duet-footer{display:block;width:100%;padding-top:20px;padding-bottom:16px;margin-top:48px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:white;text-align:left;background:#00294d}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 36em){.duet-footer{padding-top:36px}}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}.duet-footer a{color:white;text-decoration:none}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}}duet-logo{margin-left:16px !important}@media (min-width: 36em){duet-logo{margin-left:28px !important}}@media (min-width: 62em){duet-logo{margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-icon{display:flex;align-items:center;justify-content:center;padding:12px;margin-right:16px;background:#0077b3;border-radius:50%;transition:300ms ease}.duet-theme-turva .duet-footer-icon{background:transparent;box-shadow:0 0 0 1px white}a:hover .duet-footer-icon{background:#006ba1}.duet-theme-turva a:hover .duet-footer-icon{background:transparent}.duet-footer-arrow{display:flex;align-items:center;justify-content:center;width:20px;min-width:20px;max-width:20px;height:20px;max-height:20px;margin-left:auto;color:white;transition:transform 300ms ease}@media (min-width: 62em){.duet-footer-arrow{width:10px;min-width:10px;margin-top:3px;margin-left:8px}}@media (min-width: 62em){.duet-footer-arrow{margin-right:0}}a:hover .duet-footer-arrow{transform:translateX(4px)}.duet-footer-arrow duet-icon{width:20px;height:20px}@media (min-width: 62em){.duet-footer-arrow duet-icon{width:10px;height:10px}}.duet-footer-menu{padding:20px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-left:8px !important}}.duet-footer-menu a{text-decoration:none}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{color:white}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:#00294d;background:transparent !important;border-top:1px solid #e1e3e6}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:#00294d}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple.duet-theme-turva{color:#171c3a;border-color:#e4e4e6}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:#171c3a}.duet-footer-external{display:inline-block;margin-left:4px;color:#0077b3}.duet-theme-turva .duet-footer-external{color:white}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:#c60c30}";
4337
4920
 
4338
4921
  const i18n$1 = {
@@ -4345,7 +4928,7 @@ const createEvent$1 = (ev, data) => ({
4345
4928
  data,
4346
4929
  originalEvent: ev,
4347
4930
  });
4348
- const DuetFooter$1 = class extends HTMLElement {
4931
+ let DuetFooter$1 = class extends HTMLElement {
4349
4932
  constructor() {
4350
4933
  super();
4351
4934
  this.__registerHost();
@@ -4380,17 +4963,21 @@ const DuetFooter$1 = class extends HTMLElement {
4380
4963
  /**
4381
4964
  * The currently active language. This setting changes the logo to match the
4382
4965
  * chosen language.
4966
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
4967
+ * @default "fi"
4383
4968
  */
4384
4969
  this.language = getLanguage();
4385
4970
  /**
4386
4971
  * Property to change accessibleLabelExternal defaults on the component.
4387
4972
  * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
4973
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
4388
4974
  */
4389
4975
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
4390
4976
  /**
4391
4977
  * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
4978
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
4392
4979
  */
4393
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
4980
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, this.language);
4394
4981
  /**
4395
4982
  * Component event handling.
4396
4983
  */
@@ -4462,7 +5049,7 @@ const duetGridCss = ".sc-duet-grid-h{box-sizing:border-box;padding:0;margin:0;ba
4462
5049
  function isGridItem(element) {
4463
5050
  return element.tagName.toLowerCase() === "duet-grid-item";
4464
5051
  }
4465
- const DuetGrid$1 = class extends HTMLElement {
5052
+ let DuetGrid$1 = class extends HTMLElement {
4466
5053
  constructor() {
4467
5054
  super();
4468
5055
  this.__registerHost();
@@ -4559,7 +5146,7 @@ const DuetGrid$1 = class extends HTMLElement {
4559
5146
 
4560
5147
  const duetGridItemCss = ".sc-duet-grid-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d}.sc-duet-grid-item-h:first-child,.sc-duet-grid-item-h:first-of-type{padding-left:0}.sc-duet-grid-item-h:last-child,.sc-duet-grid-item-h:last-of-type{padding-right:0}@media (max-width: 35.9375em){.duet-grid-item-responsive.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){.duet-grid-item-br-medium.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){.duet-grid-item-responsive.duet-grid-item-br-medium.sc-duet-grid-item-h{padding-right:0;padding-left:0}}@media screen and (max-width: 64em){.duet-grid-item-br-x-large.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){.duet-grid-item-responsive.duet-grid-item-br-x-large.sc-duet-grid-item-h{padding-right:0;padding-left:0}}.duet-grid-item-fill.sc-duet-grid-item-h{flex:1 1 auto;width:100%}.duet-theme-turva.sc-duet-grid-item-h{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-m-0.sc-duet-grid-item-h{padding:0 !important;margin:0 !important}";
4561
5148
 
4562
- const DuetGridItem$1 = class extends HTMLElement {
5149
+ let DuetGridItem$1 = class extends HTMLElement {
4563
5150
  constructor() {
4564
5151
  super();
4565
5152
  this.__registerHost();
@@ -4615,6 +5202,16 @@ const DuetGridItem$1 = class extends HTMLElement {
4615
5202
  static get style() { return duetGridItemCss; }
4616
5203
  };
4617
5204
 
5205
+ var navigationContactDropdown={"title":"navigation-contact-dropdown","tags":"navigation contact dropdown speech bubbles","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M20.247 24a.743.743 0 0 1-.53-.22l-4.28-4.28h-.439c-3.308 0-6-2.692-6-6s2.692-6 6-6h3c3.309.001 6 2.692 6 6a5.974 5.974 0 0 1-3 5.179v4.571a.75.75 0 0 1-.751.75zm-5.25-15c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5h.75c.198 0 .391.08.53.22l3.22 3.22v-3.213c0-.289.169-.555.429-.678a4.51 4.51 0 0 0 2.571-4.049 4.504 4.504 0 0 0-4.498-4.499h-3.002z\"/><path d=\"M3.747 16.5a.747.747 0 0 1-.75-.75v-4.57a5.967 5.967 0 0 1-2.65-3.171A5.948 5.948 0 0 1 .57 3.431 6.014 6.014 0 0 1 5.985 0h3.012a6.04 6.04 0 0 1 5.752 4.286.751.751 0 0 1-.718.964.755.755 0 0 1-.719-.536A4.531 4.531 0 0 0 8.997 1.5h-3a4.511 4.511 0 0 0-4.071 2.572c-.512 1.084-.571 2.302-.167 3.431s1.224 2.032 2.308 2.545c.261.123.43.39.43.678v3.214l1.72-1.72a.744.744 0 0 1 1.06 0 .752.752 0 0 1 0 1.061l-3 3a.744.744 0 0 1-.53.219z\"/></svg>"};
5206
+
5207
+ var navigationLanguage={"title":"navigation-language","tags":"navigation language earth world map","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M11.996 24c-2.732 0-5.309-.901-7.453-2.605l-.017-.012-.031-.025a12.68 12.68 0 0 1-.238-.196c-.071-.06-.142-.122-.213-.184l-.143-.126c-.13-.118-.257-.24-.381-.363l-.018-.018a11.904 11.904 0 0 1-3.445-9.695l.001-.007c.018-.174.041-.348.067-.523l.019-.125c.028-.174.058-.348.093-.521l.003-.013C1.379 4.031 6.321 0 11.996 0c6.617 0 12 5.383 12 12 0 1.083-.148 2.164-.44 3.214l-.009.032a12.172 12.172 0 0 1-.671 1.809s-.072.155-.1.212a11.896 11.896 0 0 1-.189.368A11.987 11.987 0 0 1 11.996 24zm-6.181-3.519a10.388 10.388 0 0 0 6.181 2.019c3.471 0 6.642-1.669 8.611-4.497h-.59a2.244 2.244 0 0 1-2.22-1.879L17.111 12h-.944a2.252 2.252 0 0 1-2.182-2.796l.75-3A2.245 2.245 0 0 1 16.917 4.5h2.416A10.49 10.49 0 0 0 1.934 9h4.391c1.034 0 1.932.701 2.183 1.704l.75 3a2.235 2.235 0 0 1-.592 2.137c-.425.425-.99.659-1.591.659h-.464zm-4.248-9.687-.015.116a9.092 9.092 0 0 0-.053.96l-.002.17c.001.145.005.29.011.435l.006.127c.009.154.02.308.035.461l.005.041c.071.68.209 1.354.411 2.003l.009.028a10.457 10.457 0 0 0 2.537 4.222l.75-3.751A.75.75 0 0 1 5.996 15h1.079a.75.75 0 0 0 .728-.932l-.75-3a.751.751 0 0 0-.729-.568H1.606l-.039.294zM16.917 6a.75.75 0 0 0-.728.568l-.75 3a.752.752 0 0 0 .728.932h1.579c.368 0 .679.264.74.627l.791 4.75a.748.748 0 0 0 .74.626h1.461c.171-.358.321-.727.449-1.1l.021-.062A10.486 10.486 0 0 0 20.598 6z\"/></svg>"};
5208
+
5209
+ var navigationLogin={"title":"navigation-login","tags":"navigation login sign in lock locked key","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M5.25 24A2.252 2.252 0 0 1 3 21.75v-10.5A2.252 2.252 0 0 1 5.25 9H6V6c0-3.308 2.692-6 6-6s6 2.692 6 6v3h.75A2.252 2.252 0 0 1 21 11.25v10.5A2.252 2.252 0 0 1 18.75 24zm0-13.5a.75.75 0 0 0-.75.75v10.5c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-10.5a.75.75 0 0 0-.75-.75zM16.5 9V6c0-2.481-2.019-4.5-4.5-4.5S7.5 3.519 7.5 6v3z\"/><path d=\"M12 17.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.923-.794A1.126 1.126 0 0 1 12 17.25z\"/></svg>"};
5210
+
5211
+ var navigationLogout={"title":"navigation-logout","tags":"navigation logout sign out lock unlocked key","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M8.25 24A2.252 2.252 0 0 1 6 21.75v-10.5A2.252 2.252 0 0 1 8.25 9h2.25V6c0-2.481-2.019-4.5-4.5-4.5S1.5 3.519 1.5 6v3.75a.75.75 0 0 1-1.5 0V6c0-3.308 2.692-6 6-6s6 2.692 6 6v3h9.75A2.252 2.252 0 0 1 24 11.25v10.5A2.252 2.252 0 0 1 21.75 24zm0-13.5a.75.75 0 0 0-.75.75v10.5c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-10.5a.75.75 0 0 0-.75-.75z\"/><path d=\"M15 17.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.923-.794A1.126 1.126 0 0 1 15 17.25z\"/></svg>"};
5212
+
5213
+ var navigationUser={"title":"navigation-user","tags":"navigation user human person head circle","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 15.75c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6-2.692 6-6 6zm0-10.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/><path d=\"M12 24c-2.677 0-5.211-.868-7.332-2.51a.507.507 0 0 1-.126-.099C1.655 19.094 0 15.674 0 12 0 5.383 5.383 0 12 0s12 5.383 12 12c0 3.674-1.655 7.094-4.543 9.391l-.015.016c-.043.043-.087.069-.112.084A11.868 11.868 0 0 1 12 24zm-5.716-3.199A10.408 10.408 0 0 0 12 22.5a10.41 10.41 0 0 0 5.717-1.699 8.966 8.966 0 0 0-5.716-2.045 8.965 8.965 0 0 0-5.717 2.045zM12 1.5C6.21 1.5 1.5 6.21 1.5 12c0 3.023 1.294 5.875 3.562 7.874A10.449 10.449 0 0 1 12 17.257c2.573 0 5.023.927 6.938 2.616 2.268-2 3.562-4.851 3.562-7.874C22.5 6.21 17.79 1.5 12 1.5z\"/></svg>"};
5214
+
4618
5215
  // Older browsers don't support event options, feature detect it.
4619
5216
 
4620
5217
  // Adopted and modified solution from Bohdan Didukh (2017)
@@ -4795,16 +5392,6 @@ const enableBodyScroll = targetElement => {
4795
5392
  }
4796
5393
  };
4797
5394
 
4798
- var navigationContactDropdown={"title":"navigation-contact-dropdown","tags":"navigation contact dropdown speech bubbles","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M20.247 24a.743.743 0 0 1-.53-.22l-4.28-4.28h-.439c-3.308 0-6-2.692-6-6s2.692-6 6-6h3c3.309.001 6 2.692 6 6a5.974 5.974 0 0 1-3 5.179v4.571a.75.75 0 0 1-.751.75zm-5.25-15c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5h.75c.198 0 .391.08.53.22l3.22 3.22v-3.213c0-.289.169-.555.429-.678a4.51 4.51 0 0 0 2.571-4.049 4.504 4.504 0 0 0-4.498-4.499h-3.002z\"/><path d=\"M3.747 16.5a.747.747 0 0 1-.75-.75v-4.57a5.967 5.967 0 0 1-2.65-3.171A5.948 5.948 0 0 1 .57 3.431 6.014 6.014 0 0 1 5.985 0h3.012a6.04 6.04 0 0 1 5.752 4.286.751.751 0 0 1-.718.964.755.755 0 0 1-.719-.536A4.531 4.531 0 0 0 8.997 1.5h-3a4.511 4.511 0 0 0-4.071 2.572c-.512 1.084-.571 2.302-.167 3.431s1.224 2.032 2.308 2.545c.261.123.43.39.43.678v3.214l1.72-1.72a.744.744 0 0 1 1.06 0 .752.752 0 0 1 0 1.061l-3 3a.744.744 0 0 1-.53.219z\"/></svg>"};
4799
-
4800
- var navigationLanguage={"title":"navigation-language","tags":"navigation language earth world map","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M11.996 24c-2.732 0-5.309-.901-7.453-2.605l-.017-.012-.031-.025a12.68 12.68 0 0 1-.238-.196c-.071-.06-.142-.122-.213-.184l-.143-.126c-.13-.118-.257-.24-.381-.363l-.018-.018a11.904 11.904 0 0 1-3.445-9.695l.001-.007c.018-.174.041-.348.067-.523l.019-.125c.028-.174.058-.348.093-.521l.003-.013C1.379 4.031 6.321 0 11.996 0c6.617 0 12 5.383 12 12 0 1.083-.148 2.164-.44 3.214l-.009.032a12.172 12.172 0 0 1-.671 1.809s-.072.155-.1.212a11.896 11.896 0 0 1-.189.368A11.987 11.987 0 0 1 11.996 24zm-6.181-3.519a10.388 10.388 0 0 0 6.181 2.019c3.471 0 6.642-1.669 8.611-4.497h-.59a2.244 2.244 0 0 1-2.22-1.879L17.111 12h-.944a2.252 2.252 0 0 1-2.182-2.796l.75-3A2.245 2.245 0 0 1 16.917 4.5h2.416A10.49 10.49 0 0 0 1.934 9h4.391c1.034 0 1.932.701 2.183 1.704l.75 3a2.235 2.235 0 0 1-.592 2.137c-.425.425-.99.659-1.591.659h-.464zm-4.248-9.687-.015.116a9.092 9.092 0 0 0-.053.96l-.002.17c.001.145.005.29.011.435l.006.127c.009.154.02.308.035.461l.005.041c.071.68.209 1.354.411 2.003l.009.028a10.457 10.457 0 0 0 2.537 4.222l.75-3.751A.75.75 0 0 1 5.996 15h1.079a.75.75 0 0 0 .728-.932l-.75-3a.751.751 0 0 0-.729-.568H1.606l-.039.294zM16.917 6a.75.75 0 0 0-.728.568l-.75 3a.752.752 0 0 0 .728.932h1.579c.368 0 .679.264.74.627l.791 4.75a.748.748 0 0 0 .74.626h1.461c.171-.358.321-.727.449-1.1l.021-.062A10.486 10.486 0 0 0 20.598 6z\"/></svg>"};
4801
-
4802
- var navigationUser={"title":"navigation-user","tags":"navigation user human person head circle","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 15.75c-3.308 0-6-2.692-6-6s2.692-6 6-6 6 2.692 6 6-2.692 6-6 6zm0-10.5c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5 4.5-2.019 4.5-4.5-2.019-4.5-4.5-4.5z\"/><path d=\"M12 24c-2.677 0-5.211-.868-7.332-2.51a.507.507 0 0 1-.126-.099C1.655 19.094 0 15.674 0 12 0 5.383 5.383 0 12 0s12 5.383 12 12c0 3.674-1.655 7.094-4.543 9.391l-.015.016c-.043.043-.087.069-.112.084A11.868 11.868 0 0 1 12 24zm-5.716-3.199A10.408 10.408 0 0 0 12 22.5a10.41 10.41 0 0 0 5.717-1.699 8.966 8.966 0 0 0-5.716-2.045 8.965 8.965 0 0 0-5.717 2.045zM12 1.5C6.21 1.5 1.5 6.21 1.5 12c0 3.023 1.294 5.875 3.562 7.874A10.449 10.449 0 0 1 12 17.257c2.573 0 5.023.927 6.938 2.616 2.268-2 3.562-4.851 3.562-7.874C22.5 6.21 17.79 1.5 12 1.5z\"/></svg>"};
4803
-
4804
- var navigationLogout={"title":"navigation-logout","tags":"navigation logout sign out lock unlocked key","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M8.25 24A2.252 2.252 0 0 1 6 21.75v-10.5A2.252 2.252 0 0 1 8.25 9h2.25V6c0-2.481-2.019-4.5-4.5-4.5S1.5 3.519 1.5 6v3.75a.75.75 0 0 1-1.5 0V6c0-3.308 2.692-6 6-6s6 2.692 6 6v3h9.75A2.252 2.252 0 0 1 24 11.25v10.5A2.252 2.252 0 0 1 21.75 24zm0-13.5a.75.75 0 0 0-.75.75v10.5c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-10.5a.75.75 0 0 0-.75-.75z\"/><path d=\"M15 17.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.923-.794A1.126 1.126 0 0 1 15 17.25z\"/></svg>"};
4805
-
4806
- var navigationLogin={"title":"navigation-login","tags":"navigation login sign in lock locked key","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M5.25 24A2.252 2.252 0 0 1 3 21.75v-10.5A2.252 2.252 0 0 1 5.25 9H6V6c0-3.308 2.692-6 6-6s6 2.692 6 6v3h.75A2.252 2.252 0 0 1 21 11.25v10.5A2.252 2.252 0 0 1 18.75 24zm0-13.5a.75.75 0 0 0-.75.75v10.5c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-10.5a.75.75 0 0 0-.75-.75zM16.5 9V6c0-2.481-2.019-4.5-4.5-4.5S7.5 3.519 7.5 6v3z\"/><path d=\"M12 17.25c-.62 0-1.125-.505-1.125-1.125a1.127 1.127 0 0 1 1.923-.794A1.126 1.126 0 0 1 12 17.25z\"/></svg>"};
4807
-
4808
5395
  const duetHeaderCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}@supports (position: -webkit-sticky){:host{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){:host{position:sticky;top:-4rem;z-index:400}}.duet-header-reserved-space{height:4rem}@media (min-width: 62em){.duet-header-reserved-space.duet-with-links{height:7rem}}.duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-header.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-header.duet-theme-turva{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){.duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}.duet-header.duet-header-inactive{position:fixed}}.duet-header *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.duet-header-top{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){.duet-header-top{z-index:100;padding:0 28px;box-shadow:none}.duet-header-top duet-logo{padding-right:4px}}@media (min-width: 106.25em){.duet-header-top{padding:0 48px}}.duet-theme-turva .duet-header-top{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){.duet-theme-turva .duet-header-top{box-shadow:none}}.duet-theme-turva .duet-header-top duet-logo{left:-80px !important;margin-top:-8px !important}.duet-header-top .duet-header-region{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}.duet-theme-turva .duet-header-top .duet-header-region{border-color:#cfcfd1}@media (max-width: 35.9375em){.duet-header-top .duet-header-region{display:none}}@media (min-width: 62em){.duet-header-top .duet-header-region{padding-left:19px}}.duet-header-bottom{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f5f8fa;opacity:0;-webkit-overflow-scrolling:touch}.duet-theme-turva .duet-header-bottom{background:#f5f5f7}@media (min-width: 62em){.duet-header-bottom{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}.duet-header-bottom.duet-header-inactive{position:relative}}.duet-header-bottom.active{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){.duet-header-bottom{position:relative;transition:none !important}}.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:1;transition:none !important;transform:none}}.active .duet-header-items,.active .duet-header-bottom-utils,.active .duet-header-utils{opacity:1;transform:translateY(0)}.duet-header-items{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){.duet-header-items{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){.duet-header-items{padding-left:43.6363636364px}}.duet-header-items a{position:relative;display:block;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:600;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){.duet-header-items a{border-radius:4px}}.duet-theme-turva .duet-header-items a{font-weight:600;color:#171c3a;border-color:#e1e3e6}.duet-header-items a:hover{color:#004d80}.duet-theme-turva .duet-header-items a:hover{color:#444445}.duet-header-items a:focus{outline:0}:host(.user-is-tabbing) .duet-header-items a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-items a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-items a{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}.duet-header-items a.active{color:#0077b3;-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased}.duet-theme-turva .duet-header-items a.active{color:#c60c30}.duet-header-items a.active:hover{color:#0077b3}.duet-theme-turva .duet-header-items a.active:hover{color:#c60c30}.duet-header-items a.active::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-items a.active::after{background:#c60c30}@media (min-width: 62em){.duet-header-items a.active::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}.duet-header-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-header-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-toggle{display:none}}.duet-header-hamburger{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}.duet-header-hamburger .duet-header-bar{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}.duet-theme-turva .duet-header-hamburger .duet-header-bar{background:#171c3a}.duet-header-hamburger .duet-header-bar:nth-child(1){top:0}.duet-header-hamburger .duet-header-bar:nth-child(2),.duet-header-hamburger .duet-header-bar:nth-child(3){top:7px}.duet-header-hamburger .duet-header-bar:nth-child(4){top:14px}button.active .duet-header-hamburger .duet-header-bar:nth-child(1){top:7px;left:50%;width:0%}button.active .duet-header-hamburger .duet-header-bar:nth-child(2){transform:rotate(45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(3){transform:rotate(-45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(4){top:7px;left:50%;width:0%}.duet-header-utils{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){.duet-header-utils{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){.duet-header-utils{margin-right:36px}}@media (min-width: 62em){.duet-header-bottom-utils{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){.duet-header-bottom-utils{margin-right:36px}}button{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-header-button{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-theme-turva .duet-header-button{color:#171c3a;border-color:#e4e4e6}.duet-header-button:hover{color:#004d80}.duet-theme-turva .duet-header-button:hover{color:#444445}.duet-header-button:focus{outline:0}:host(.user-is-tabbing) .duet-header-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-button:active{opacity:0.75}@media (min-width: 62em){.duet-header-button{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}.duet-header-button::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}.duet-theme-turva .duet-header-button::before{background:#cfcfd1}}.duet-header-button.active{color:#0077b3;border-radius:0}.duet-theme-turva .duet-header-button.active{color:#c60c30}.duet-header-button.active:hover{color:#0077b3}.duet-theme-turva .duet-header-button.active:hover{color:#c60c30}.duet-header-button.active::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-button.active::after{color:#c60c30}.duet-header-no-action{pointer-events:none}.duet-header-user-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-utils>*:last-child::before,.duet-header-utils>*:last-child button::before{display:none}}@media (min-width: 62em){.duet-header-utils>*:last-child .duet-header-dropdown-content{right:0;left:auto}}.duet-header-language{text-transform:uppercase}.duet-header-icon{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-header-icon{margin-right:8px}}.duet-header-caret{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){.duet-header-caret{width:7px;height:7px}}.duet-header-caret duet-icon{width:10px}.duet-header-dropdown-toggle.active .duet-header-caret{transform:translateY(-50%) rotate(180deg)}.duet-header-dropdown-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown-toggle:active{outline:none}.duet-header-badge{display:inline-block;width:6px;height:6px;margin-top:16px;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-header-badge{background:#faa40f}.duet-header-dropdown{position:relative}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}.duet-header-dropdown .duet-header-dropdown-toggle::after{display:none !important}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:#004d80;border-bottom:1px solid #f5f8fa}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:#444445;border-color:#f5f5f7}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border:0}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content{display:none;padding-bottom:16px;background:#f5f8fa;border-bottom:1px solid #e1e3e6}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:170px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}}.duet-header-dropdown .duet-header-dropdown-content.active{display:block}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content.active{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content a{padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a{color:#171c3a}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a{padding-left:20px !important}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:hover{background:#e6f2f8}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:hover{background:#f9e6ea}}.duet-header-dropdown .duet-header-dropdown-content a:focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown .duet-header-dropdown-content a.active{padding-right:36px;font-weight:600;vertical-align:baseline;pointer-events:none}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a.active{font-weight:700}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a.active{color:white;background:#0077b3}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a.active{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external{margin-left:4px}.duet-header-back .duet-header-top{flex-direction:row;align-items:center;justify-content:center}.duet-header-back duet-button{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){.duet-header-back duet-button{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}.duet-header-back .duet-header-toggle{display:none !important}.duet-header-skip{padding:8px 16px 9px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:160px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}.duet-header-skip:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-header-skip:focus,.duet-header-skip:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-theme-turva .duet-header-skip{min-width:120px;color:#171c3a}@media (min-width: 106.25em){.duet-header-skip{margin-left:20px}}.duet-header-skip:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}";
4809
5396
 
4810
5397
  const createEvent = (ev, data) => ({
@@ -4812,7 +5399,7 @@ const createEvent = (ev, data) => ({
4812
5399
  data,
4813
5400
  originalEvent: ev,
4814
5401
  });
4815
- const DuetHeader$1 = class extends HTMLElement {
5402
+ let DuetHeader$1 = class extends HTMLElement {
4816
5403
  constructor() {
4817
5404
  super();
4818
5405
  this.__registerHost();
@@ -4848,13 +5435,13 @@ const DuetHeader$1 = class extends HTMLElement {
4848
5435
  /**
4849
5436
  * The currently active language. This setting also changes the logo to match
4850
5437
  * the chosen language.
5438
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
5439
+ * @default "fi"
4851
5440
  */
4852
5441
  this.language = getLanguage();
4853
5442
  /**
4854
- * Property to change accessibleI18nLabels defaults on the component.
4855
- * normally you would handle these strings on an application level and override @accessibleI18nLabels when needed
4856
- */
4857
- this.accessibleI18nLabelsDefault = {
5443
+ * Default strings for accessibleI18nLabels
5444
+ * @default {
4858
5445
  fi: {
4859
5446
  skipLabel: "Siirry pääsisältöön",
4860
5447
  changeLanguage: "Vaihda kieltä",
@@ -4870,25 +5457,62 @@ const DuetHeader$1 = class extends HTMLElement {
4870
5457
  changeLanguage: "Change language",
4871
5458
  activeLanguage: "English selected",
4872
5459
  },
5460
+ }
5461
+ */
5462
+ this.accessibleI18nLabelsDefaults = {
5463
+ fi: {
5464
+ skipLabel: "Siirry pääsisältöön",
5465
+ changeLanguage: "Vaihda kieltä",
5466
+ activeLanguage: "Suomi valittuna",
5467
+ },
5468
+ sv: {
5469
+ skipLabel: "Gå till huvudinnehåll",
5470
+ changeLanguage: "Ändra Språk",
5471
+ activeLanguage: "Svenska valt",
5472
+ },
5473
+ en: {
5474
+ skipLabel: "Skip to main content",
5475
+ changeLanguage: "Change language",
5476
+ activeLanguage: "English selected",
5477
+ },
4873
5478
  };
4874
5479
  /**
4875
5480
  * Adds i18n translations of all internally used textStrings
5481
+ * @default {
5482
+ fi: {
5483
+ skipLabel: "Siirry pääsisältöön",
5484
+ changeLanguage: "Vaihda kieltä",
5485
+ activeLanguage: "Suomi valittuna",
5486
+ },
5487
+ sv: {
5488
+ skipLabel: "Hoppa till huvudinnehåll",
5489
+ changeLanguage: "Ändra Språk",
5490
+ activeLanguage: "Svenska valt",
5491
+ },
5492
+ en: {
5493
+ skipLabel: "Skip to main content",
5494
+ changeLanguage: "Change language",
5495
+ activeLanguage: "English selected",
5496
+ },
5497
+ }
4876
5498
  */
4877
- this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefault, this.language);
5499
+ this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults);
4878
5500
  /**
4879
5501
  * Property to change accessibleLabelExternal defaults on the component.
4880
5502
  * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
5503
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
4881
5504
  */
4882
5505
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
4883
5506
  /**
4884
5507
  * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
5508
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
4885
5509
  */
4886
5510
  this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
4887
5511
  /**
4888
5512
  * Property to change accessibleLabel defaults on the component.
4889
5513
  * normally you would handle these strings on an application level and override @accessibleLabel when needed
4890
5514
  */
4891
- this.accessibleLabelDefault = {
5515
+ this.accessibleLabelDefaults = {
4892
5516
  fi: "Valikko",
4893
5517
  sv: "Meny",
4894
5518
  en: "Menu",
@@ -4896,8 +5520,13 @@ const DuetHeader$1 = class extends HTMLElement {
4896
5520
  /**
4897
5521
  * Accessible label that is shown for screen reader users in the mobile
4898
5522
  * navigation toggle. Not visible for normal users.
5523
+ * @default {
5524
+ fi: "Valikko",
5525
+ sv: "Meny",
5526
+ en: "Menu",
5527
+ }
4899
5528
  */
4900
- this.accessibleLabel = getLocaleString(this.accessibleLabelDefault);
5529
+ this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
4901
5530
  /**
4902
5531
  * URL that the logo link points to.
4903
5532
  */
@@ -5176,9 +5805,9 @@ const DuetHeader$1 = class extends HTMLElement {
5176
5805
  static get style() { return duetHeaderCss; }
5177
5806
  };
5178
5807
 
5179
- const duetHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-heading{margin-bottom:16px !important;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;letter-spacing:-0.01rem}@media (min-width: 36em){.duet-heading{margin-bottom:20px !important}}.duet-heading.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:italic;font-weight:700;color:#171c3a}.duet-heading.duet-heading-border{padding-bottom:20px;border-bottom:1px solid #e1e3e6}.duet-heading.duet-heading-hyphenate{-webkit-hyphens:auto;hyphens:auto}.duet-heading.h0{font-size:9.4vw}.duet-heading.h0.duet-p-0{padding:0 !important}.duet-heading.h0.duet-m-0{margin:0 !important}@media (max-width: 31.914893617rem){.duet-heading.h0{font-size:3rem}}@media (min-width: 47.8723404255rem){.duet-heading.h0{font-size:4.5rem}}@media (max-width: 22.5em){.duet-heading.h0{font-size:2.25rem}}.duet-heading.h1{font-size:7vw}.duet-heading.h1.duet-p-0{padding:0 !important}.duet-heading.h1.duet-m-0{margin:0 !important}@media (max-width: 32.1428571429rem){.duet-heading.h1{font-size:2.25rem}}@media (min-width: 42.8571428571rem){.duet-heading.h1{font-size:3rem}}@media (max-width: 22.5em){.duet-heading.h1{font-size:1.5rem}}.duet-heading.h2{font-size:5.8vw}.duet-heading.h2.duet-p-0{padding:0 !important}.duet-heading.h2.duet-m-0{margin:0 !important}@media (max-width: 25.8620689655rem){.duet-heading.h2{font-size:1.5rem}}@media (min-width: 38.7931034483rem){.duet-heading.h2{font-size:2.25rem}}@media (max-width: 22.5em){.duet-heading.h2{font-size:1.375rem}}.duet-heading.h3{margin-bottom:12px !important;font-size:4.2vw}.duet-heading.h3.duet-p-0{padding:0 !important}.duet-heading.h3.duet-m-0{margin:0 !important}@media (max-width: 29.7619047619rem){.duet-heading.h3{font-size:1.25rem}}@media (min-width: 35.7142857143rem){.duet-heading.h3{font-size:1.5rem}}.duet-heading.h3.duet-theme-turva{font-style:normal}.duet-heading.h3.duet-heading-border{padding-bottom:20px}.duet-heading.h4{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}.duet-heading.h4.duet-p-0{padding:0 !important}.duet-heading.h4.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h4{font-size:1.1rem}}@media (min-width: 31.25rem){.duet-heading.h4{font-size:1.25rem}}.duet-heading.h4.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h4.duet-heading-border{padding-bottom:20px}.duet-heading.h5{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}.duet-heading.h5.duet-p-0{padding:0 !important}.duet-heading.h5.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h5{font-size:1.1rem}}@media (min-width: 28.4090909091rem){.duet-heading.h5{font-size:1.1363636364rem}}.duet-heading.h5.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h5.duet-heading-border{padding-bottom:16px}.duet-heading.h6{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}.duet-heading.h6.duet-p-0{padding:0 !important}.duet-heading.h6.duet-m-0{margin:0 !important}.duet-heading.h6.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h6.duet-heading-border{padding-bottom:16px}.duet-heading.duet-semibold,.duet-heading.duet-theme-turva.duet-semibold{font-style:normal !important;font-weight:600 !important}";
5808
+ const duetHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-heading{margin-bottom:16px !important;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;letter-spacing:-0.01rem;word-break:break-word}@media (min-width: 36em){.duet-heading{margin-bottom:20px !important}}.duet-heading.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:italic;font-weight:700;color:#171c3a}.duet-heading.duet-heading-border{padding-bottom:20px;border-bottom:1px solid #e1e3e6}.duet-heading.duet-heading-hyphenate{-webkit-hyphens:auto;hyphens:auto}.duet-heading.h0{font-size:9.4vw}.duet-heading.h0.duet-p-0{padding:0 !important}.duet-heading.h0.duet-m-0{margin:0 !important}@media (max-width: 31.914893617rem){.duet-heading.h0{font-size:3rem}}@media (min-width: 47.8723404255rem){.duet-heading.h0{font-size:4.5rem}}@media (max-width: 22.5em){.duet-heading.h0{font-size:2.25rem}}.duet-heading.h1{font-size:7vw}.duet-heading.h1.duet-p-0{padding:0 !important}.duet-heading.h1.duet-m-0{margin:0 !important}@media (max-width: 32.1428571429rem){.duet-heading.h1{font-size:2.25rem}}@media (min-width: 42.8571428571rem){.duet-heading.h1{font-size:3rem}}@media (max-width: 22.5em){.duet-heading.h1{font-size:1.5rem}}.duet-heading.h2{font-size:5.8vw}.duet-heading.h2.duet-p-0{padding:0 !important}.duet-heading.h2.duet-m-0{margin:0 !important}@media (max-width: 25.8620689655rem){.duet-heading.h2{font-size:1.5rem}}@media (min-width: 38.7931034483rem){.duet-heading.h2{font-size:2.25rem}}@media (max-width: 22.5em){.duet-heading.h2{font-size:1.375rem}}.duet-heading.h3{margin-bottom:12px !important;font-size:4.2vw}.duet-heading.h3.duet-p-0{padding:0 !important}.duet-heading.h3.duet-m-0{margin:0 !important}@media (max-width: 29.7619047619rem){.duet-heading.h3{font-size:1.25rem}}@media (min-width: 35.7142857143rem){.duet-heading.h3{font-size:1.5rem}}.duet-heading.h3.duet-theme-turva{font-style:normal}.duet-heading.h3.duet-heading-border{padding-bottom:20px}.duet-heading.h4{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}.duet-heading.h4.duet-p-0{padding:0 !important}.duet-heading.h4.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h4{font-size:1.1rem}}@media (min-width: 31.25rem){.duet-heading.h4{font-size:1.25rem}}.duet-heading.h4.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h4.duet-heading-border{padding-bottom:20px}.duet-heading.h5{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}.duet-heading.h5.duet-p-0{padding:0 !important}.duet-heading.h5.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h5{font-size:1.1rem}}@media (min-width: 28.4090909091rem){.duet-heading.h5{font-size:1.1363636364rem}}.duet-heading.h5.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h5.duet-heading-border{padding-bottom:16px}.duet-heading.h6{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}.duet-heading.h6.duet-p-0{padding:0 !important}.duet-heading.h6.duet-m-0{margin:0 !important}.duet-heading.h6.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h6.duet-heading-border{padding-bottom:16px}.duet-heading.duet-semibold,.duet-heading.duet-theme-turva.duet-semibold{font-style:normal !important;font-weight:600 !important}";
5180
5809
 
5181
- const DuetHeading$1 = class extends HTMLElement {
5810
+ let DuetHeading$1 = class extends HTMLElement {
5182
5811
  constructor() {
5183
5812
  super();
5184
5813
  this.__registerHost();
@@ -5225,7 +5854,7 @@ const DuetHeading$1 = class extends HTMLElement {
5225
5854
  * Always the last one in the class.
5226
5855
  */
5227
5856
  render() {
5228
- const TagName = sanitizeString(this.level);
5857
+ const TagName = sanitizeString$1(this.level);
5229
5858
  const color = getColorByName(this.color);
5230
5859
  return (h$1(TagName, { class: {
5231
5860
  "duet-heading": true,
@@ -5243,7 +5872,7 @@ const DuetHeading$1 = class extends HTMLElement {
5243
5872
 
5244
5873
  const duetHeroCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:#00294d}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:#00294d;background-color:white;background-image:linear-gradient(#f3f9fc, #f9fcfe)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, white)}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:#171c3a;background-image:linear-gradient(#f5f5f7, #fafafb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafafb, white)}.duet-hero.duet-hero-gray{color:#00294d;background:#f5f8fa}.duet-hero.duet-hero-gray.duet-theme-turva{background:#f5f5f7}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:#0077b3;text-align:left;text-decoration:none;border-bottom:1px solid #e1e3e6;transition:background-color 300ms ease}.duet-hero-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:#940925 !important}.duet-theme-turva .duet-hero-link{color:#c60c30}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid #e1e3e6}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:#0077b3}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-theme-turva .duet-hero-action-arrow{color:#c60c30}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}";
5245
5874
 
5246
- const DuetHero$1 = class extends HTMLElement {
5875
+ let DuetHero$1 = class extends HTMLElement {
5247
5876
  constructor() {
5248
5877
  super();
5249
5878
  this.__registerHost();
@@ -5307,17 +5936,20 @@ const DuetHero$1 = class extends HTMLElement {
5307
5936
  /**
5308
5937
  * The currently active language. This setting changes the accessible labels to match the
5309
5938
  * chosen language.
5939
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
5940
+ * @default "fi"
5310
5941
  */
5311
5942
  this.language = getLanguage();
5312
5943
  /**
5313
- * Property to change accessibleLabelExternal defaults on the component.
5314
- * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
5944
+ * Defaults for accessibleLabelExternal
5945
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
5315
5946
  */
5316
5947
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
5317
5948
  /**
5318
5949
  * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
5950
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
5319
5951
  */
5320
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, this.language);
5952
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
5321
5953
  /**
5322
5954
  * URL that the button links to.
5323
5955
  */
@@ -5481,7 +6113,20 @@ const isValid = (elm) => {
5481
6113
  }
5482
6114
  return true;
5483
6115
  };
5484
- const buildIconUrl = (iconName) => `https://cdn.duetds.com/api/icons/${"2.1.11"}/lib/assets/${iconName}.svg`;
6116
+ const buildIconUrl = (iconName) => {
6117
+ // under normal operations the Icons should always be loaded from the CDN
6118
+ const cdnURI = `https://cdn.duetds.com/api/icons/${"2.2.1"}/lib/assets/${iconName}.svg`;
6119
+ // however for vizdiffing and local development / testing we need to be able to access the raw images
6120
+ const localURI = `http://0.0.0.0:3334/icons/lib/assets/${iconName}.svg`;
6121
+ const host = window.location.hostname;
6122
+ const re = /(localhost|loca\.lt|127\.0\.0\.1|0\.0\.0\.0)/i;
6123
+ if (host.match(re)) {
6124
+ return localURI;
6125
+ }
6126
+ else {
6127
+ return cdnURI;
6128
+ }
6129
+ };
5485
6130
  const iconCache = {};
5486
6131
  function fetchIconByUrl(url) {
5487
6132
  if (iconCache[url]) {
@@ -5514,7 +6159,7 @@ function fetchIconByUrl(url) {
5514
6159
 
5515
6160
  const duetIconCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){:host(.duet-icon-has-outline){margin-bottom:0 !important}}@media (max-width: 35.9375em){:host(.duet-icon-has-background){margin-bottom:0 !important}}:host(.duet-m-0){margin:0 !important}@media (max-width: 35.9375em){:host(.duet-m-0){margin:0 !important}}.duet-icon{-webkit-user-select:none;user-select:none;width:100%;height:100%;transform-origin:top center}.duet-icon.duet-icon-has-outline{padding:12px;border-style:solid;border-width:1px;border-radius:50%}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-outline{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background{padding:16px;color:white;border-radius:50%}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-background{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background.duet-theme-turva,.duet-icon.duet-icon-has-background.duet-theme-default{color:white}.duet-icon.duet-icon-has-background.xxx-small .duet-icon-svg,.duet-icon.duet-icon-has-outline.xxx-small .duet-icon-svg{width:10px;height:10px}.duet-icon.duet-icon-has-background.xx-small .duet-icon-svg,.duet-icon.duet-icon-has-outline.xx-small .duet-icon-svg{width:16px;height:16px}@media (max-width: 35.9375em){.duet-icon.duet-icon-not-responsive{transform:scale(1) !important}}.duet-icon.duet-theme-default{color:#0077b3}.duet-icon.duet-theme-turva{color:#c60c30}.duet-icon.auto .duet-icon-svg{width:100%;height:100%}.duet-icon.xxx-small .duet-icon-svg{width:7px;height:7px}.duet-icon.duet-icon-has-background.xxx-small{padding:6px}.duet-icon.duet-icon-has-outline.xxx-small{padding:4px}.duet-icon.xx-small .duet-icon-svg{width:10px;height:10px}.duet-icon.duet-icon-has-background.xx-small{padding:8px}.duet-icon.duet-icon-has-outline.xx-small{padding:7px}.duet-icon.x-small .duet-icon-svg{width:16px;height:16px}.duet-icon.duet-icon-has-outline.x-small{padding:10px}.duet-icon.duet-icon-has-background.x-small{padding:12px}.duet-icon.small .duet-icon-svg{width:20px;height:20px}.duet-icon.duet-icon-has-background.small{padding:14px}.duet-icon.large .duet-icon-svg{width:30px;height:30px}.duet-icon.x-large .duet-icon-svg{width:36px;height:36px}.duet-icon.xx-large .duet-icon-svg{width:48px;height:48px}.duet-icon.xxx-large .duet-icon-svg{width:48px;height:48px}@media (min-width: 48em){.duet-icon.xxx-large .duet-icon-svg{width:72px;height:72px}}.duet-icon .duet-icon-svg{display:block;width:24px;min-width:100%;height:24px;font-size:0}.duet-icon svg{width:100%;min-width:100%;fill:currentColor}";
5516
6161
 
5517
- const DuetIcon$1 = class extends HTMLElement {
6162
+ let DuetIcon$1 = class extends HTMLElement {
5518
6163
  constructor() {
5519
6164
  super();
5520
6165
  this.__registerHost();
@@ -5625,6 +6270,30 @@ var formEmail={"title":"form-email","tags":"form email","svg":"<svg fill=\"curre
5625
6270
 
5626
6271
  var formSearch={"title":"form-search","tags":"form search magnifying glass","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M23.245 23.996a.743.743 0 0 1-.53-.22L16.2 17.26a9.824 9.824 0 0 1-2.553 1.579 9.766 9.766 0 0 1-7.51.069 9.745 9.745 0 0 1-5.359-5.262c-1.025-2.412-1.05-5.08-.069-7.51S3.558 1.802 5.97.777a9.744 9.744 0 0 1 7.51-.069c2.431.981 4.334 2.849 5.359 5.262s1.05 5.08.069 7.51a9.807 9.807 0 0 1-1.649 2.718l6.517 6.518a.75.75 0 0 1-.531 1.28zM9.807 1.49a8.259 8.259 0 0 0-3.25.667c-2.044.869-3.627 2.481-4.458 4.54s-.81 4.318.058 6.362a8.26 8.26 0 0 0 4.54 4.458 8.259 8.259 0 0 0 6.362-.059 8.285 8.285 0 0 0 2.594-1.736.365.365 0 0 1 .077-.076 8.245 8.245 0 0 0 1.786-2.728 8.255 8.255 0 0 0-.059-6.362 8.257 8.257 0 0 0-4.54-4.458 8.28 8.28 0 0 0-3.11-.608z\"/></svg>"};
5627
6272
 
6273
+ /**
6274
+ * This function restores cursor position after changing input
6275
+ *
6276
+ * @example
6277
+ * const resetCursor = storeAndResetCursor(this.input.selectionStart,this.input.selectionEnd)
6278
+ * this.input.changeValueAndForceUpdateOfCursoPosition()
6279
+ * resetCursor()
6280
+ */
6281
+ function resetCursor(domElement) {
6282
+ if (domElement && domElement.selectionStart) {
6283
+ const start = domElement.selectionStart;
6284
+ const end = domElement.selectionEnd;
6285
+ return function () {
6286
+ if (start === end) {
6287
+ domElement.selectionStart = start;
6288
+ domElement.selectionEnd = end;
6289
+ }
6290
+ else {
6291
+ domElement.setSelectionRange(start, end);
6292
+ }
6293
+ };
6294
+ }
6295
+ return () => console.log("domElement not valid");
6296
+ }
5628
6297
  /**
5629
6298
  * Given an input and a regex, remove any characters from the input's value
5630
6299
  * which match the regex, *whilst* maintaining cursor position.
@@ -5656,7 +6325,7 @@ const icons = {
5656
6325
  search: formSearch,
5657
6326
  email: formEmail,
5658
6327
  };
5659
- const DuetInput$1 = class extends HTMLElement {
6328
+ let DuetInput$1 = class extends HTMLElement {
5660
6329
  constructor() {
5661
6330
  super();
5662
6331
  this.__registerHost();
@@ -5783,8 +6452,13 @@ const DuetInput$1 = class extends HTMLElement {
5783
6452
  this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "g") : null;
5784
6453
  }
5785
6454
  valueChanged() {
5786
- if (this.nativeInput) {
6455
+ var _a;
6456
+ if (((_a = this === null || this === void 0 ? void 0 : this.nativeInput) === null || _a === void 0 ? void 0 : _a.value) !== this.value) {
6457
+ const restoreCursor = resetCursor(this.nativeInput);
5787
6458
  this.nativeInput.value = this.value;
6459
+ // restore selection position after having set value
6460
+ // (in webkit based browsers settings value trigger cursor position and will set it to EndOfText)
6461
+ restoreCursor();
5788
6462
  }
5789
6463
  this.isCaptionVisible = !!(this.caption || (this.placeholder && this.echoPlaceholder && this.value));
5790
6464
  const emitEvent = () => this.duetChange.emit({
@@ -5855,9 +6529,9 @@ const DuetInput$1 = class extends HTMLElement {
5855
6529
  static get style() { return duetInputCss; }
5856
6530
  };
5857
6531
 
5858
- const duetLabelCss = "*.sc-duet-label,*.sc-duet-label::after,*.sc-duet-label::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-label-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;line-height:1.25;cursor:default}.duet-p-0.sc-duet-label-h{padding:0 !important}.duet-m-0.sc-duet-label-h{margin:0 !important}.duet-m-0.sc-duet-label-h{margin-bottom:0 !important}.duet-small-margin.sc-duet-label-h{margin-top:8px !important;margin-bottom:4px !important}.duet-has-tooltip.sc-duet-label-h{padding-right:48px}@media (min-width: 48em){.duet-has-tooltip.sc-duet-label-h{padding-right:0}}label.sc-duet-label{margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;color:#00294d;text-align:left}label.sc-duet-label span.sc-duet-label{font-size:1rem;font-weight:600 !important}.duet-label-small.sc-duet-label-h label.sc-duet-label{font-size:0.875rem}.duet-label-small.sc-duet-label-h label.sc-duet-label span.sc-duet-label{font-size:0.875rem}.duet-theme-turva.sc-duet-label-h label.sc-duet-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
6532
+ const duetLabelCss = "*.sc-duet-label,*.sc-duet-label::after,*.sc-duet-label::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-label-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;line-height:1.25;cursor:default}.duet-p-0.sc-duet-label-h{padding:0 !important}.duet-m-0.sc-duet-label-h{margin:0 !important}.duet-m-0.sc-duet-label-h{margin-bottom:0 !important}.duet-small-margin.sc-duet-label-h{margin-top:8px !important;margin-bottom:4px !important}.duet-has-tooltip.sc-duet-label-h{padding-right:48px}@media (min-width: 48em){.duet-has-tooltip.sc-duet-label-h{padding-right:0}}label.sc-duet-label{margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;color:#00294d;text-align:left;word-break:break-word}label.sc-duet-label span.sc-duet-label{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-label-small.sc-duet-label-h label.sc-duet-label{font-size:0.875rem}.duet-label-small.sc-duet-label-h label.sc-duet-label span.sc-duet-label{font-size:0.875rem}.duet-theme-turva.sc-duet-label-h label.sc-duet-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
5859
6533
 
5860
- const DuetLabel$1 = class extends HTMLElement {
6534
+ let DuetLabel$1 = class extends HTMLElement {
5861
6535
  constructor() {
5862
6536
  super();
5863
6537
  this.__registerHost();
@@ -5903,7 +6577,7 @@ function isInternetExplorer() {
5903
6577
 
5904
6578
  const duetLayoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-layout-has-top{margin-top:0}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout.duet-center{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){.duet-layout.duet-center{padding:0 48px}}@media (min-width: 48em){.duet-layout.duet-center{padding:0 72px}}@media (min-width: 62em){.duet-layout.duet-center{width:100%}}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main,.duet-sidebar,.duet-layout-top,.duet-layout-bottom{display:block;width:100%}.duet-layout-top{position:relative;display:block;width:100%;margin:72px auto 0}.duet-layout-top.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout-top .duet-layout-top-wrapper{padding:0 20px;margin:0 auto}@media (min-width: 36em){.duet-layout-top .duet-layout-top-wrapper{padding:0 28px}}@media (min-width: 62em){.duet-layout-top .duet-layout-top-wrapper{padding:0 56px}}@media (min-width: 76.25em){.duet-layout-top .duet-layout-top-wrapper{max-width:1110px;padding:0}}.duet-center .duet-layout-top-wrapper{max-width:888px}@media (min-width: 36em){.duet-center .duet-layout-top-wrapper{padding:0 48px}}@media (min-width: 48em){.duet-center .duet-layout-top-wrapper{padding:0 72px}}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}@media (min-width: 62em){.duet-sidebar{min-width:256px;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container{width:auto;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container.has-tabs{margin-top:89px}}@media (min-width: 62em){.duet-sidebar-container.sticky{position:sticky}.duet-sidebar-container.sticky.with-links{top:calc(3rem + 20px)}.duet-sidebar-container.sticky.without-links{top:calc(4rem + 20px)}}";
5905
6579
 
5906
- const DuetLayout$1 = class extends HTMLElement {
6580
+ let DuetLayout$1 = class extends HTMLElement {
5907
6581
  constructor() {
5908
6582
  super();
5909
6583
  this.__registerHost();
@@ -5980,7 +6654,7 @@ const DuetLayout$1 = class extends HTMLElement {
5980
6654
 
5981
6655
  const duetLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30}.duet-link:hover{color:#004d80;text-decoration:none}.duet-link:hover.duet-theme-turva{color:#940925}.duet-link:active{opacity:0.75;transition:none}.duet-link-external{margin-left:4px}";
5982
6656
 
5983
- const DuetLink$1 = class extends HTMLElement {
6657
+ let DuetLink$1 = class extends HTMLElement {
5984
6658
  constructor() {
5985
6659
  super();
5986
6660
  this.__registerHost();
@@ -5988,17 +6662,20 @@ const DuetLink$1 = class extends HTMLElement {
5988
6662
  /**
5989
6663
  * The currently active language. This setting changes the external link
5990
6664
  * accessible label to match the chosen language.
6665
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
6666
+ * @default "fi"
5991
6667
  */
5992
6668
  this.language = getLanguage();
5993
6669
  /**
5994
- * Property to change accessibleLabelExternal defaults on the component.
5995
- * normally you would handle these strings on an application level and override @accessibleLabelExternal when needed
6670
+ * Defaults for accessibleLabelExternal
6671
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
5996
6672
  */
5997
6673
  this.accessibleLabelExternalDefaults = DuetStringsExternalDefaults;
5998
6674
  /**
5999
6675
  * Adds accessible label for tooltip that is shown in external link (url & external have both been set)
6676
+ * @default {fi: "Avautuu uuteen ikkunaan",sv: "Öppnas i nytt fönster",en: "Opens in a new window"}
6000
6677
  */
6001
- this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, this.language);
6678
+ this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults);
6002
6679
  /**
6003
6680
  * Theme of the button.
6004
6681
  */
@@ -6034,7 +6711,7 @@ const DuetLink$1 = class extends HTMLElement {
6034
6711
  "duet-link": true,
6035
6712
  "duet-link-is-external": this.external,
6036
6713
  "duet-theme-turva": this.theme === "turva",
6037
- }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el) }, h$1("slot", null), this.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("span", { class: "duet-link-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
6714
+ }, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el) }, h$1("slot", null), this.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, this.accessibleLabelExternal), h$1("span", { class: "duet-link-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
6038
6715
  }
6039
6716
  static get delegatesFocus() { return true; }
6040
6717
  static get style() { return duetLinkCss; }
@@ -6042,7 +6719,7 @@ const DuetLink$1 = class extends HTMLElement {
6042
6719
 
6043
6720
  const duetListCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-list-component{margin-bottom:16px !important;width:100%}.duet-list-component.duet-p-0{padding:0 !important}.duet-list-component.duet-m-0{margin:0 !important}";
6044
6721
 
6045
- const DuetList$1 = class extends HTMLElement {
6722
+ let DuetList$1 = class extends HTMLElement {
6046
6723
  constructor() {
6047
6724
  super();
6048
6725
  this.__registerHost();
@@ -6146,7 +6823,7 @@ const DuetList$1 = class extends HTMLElement {
6146
6823
 
6147
6824
  const duetListItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-flow:row;width:100%;overflow:visible;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d}@media (max-width: 35.9375em){:host{flex-wrap:wrap}}:host dt,:host dd{-webkit-hyphens:auto;hyphens:auto;text-align:left;word-break:break-all;word-break:break-word;margin-inline-start:0}@media (max-width: 35.9375em){:host dt,:host dd{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}}:host dt{padding:16px !important;font-weight:600}@media (max-width: 35.9375em){:host dt{padding-bottom:4px !important}}.duet-theme-turva :host dt{font-weight:700}:host dd{padding:16px !important;margin-left:auto;text-align:left}@media (max-width: 35.9375em){:host dd{padding-top:0 !important}}:host(:not(.duet-list-striped)) dt{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){:host(:not(.duet-list-striped)) dt{padding-bottom:4px !important}}:host(:not(.duet-list-striped)) dd{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){:host(:not(.duet-list-striped)) dd{padding-top:0 !important}}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}:host(.duet-list-striped:nth-child(odd)) dt,:host(.duet-list-striped:nth-child(odd)) dd{background:#f5f8fa}:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd{background:#f5f5f7}:host(.duet-list-width-30) dt{flex-basis:33%}:host(.duet-list-width-30) dd{flex-basis:67%}:host(.duet-list-width-50) dt{flex-basis:47%}:host(.duet-list-width-50) dd{flex-basis:53%}:host(.duet-list-width-70) dt{flex-basis:65%}:host(.duet-list-width-70) dd{flex-basis:35%}:host(.duet-p-0) dt,:host(.duet-p-0) dd{padding-top:0 !important;padding-bottom:4px !important}@media (max-width: 35.9375em){:host(.duet-list-mobile-center) dt,:host(.duet-list-mobile-center) dd{text-align:center}}@media (max-width: 61.9375em){:host(.duet-list-breakpoint-large){flex-wrap:wrap}:host(.duet-list-breakpoint-large) dt,:host(.duet-list-breakpoint-large) dd{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}:host(.duet-list-breakpoint-large) dd{padding-top:0 !important}}:host(.duet-list-breakpoint-large.duet-list-striped) dd{padding-bottom:16px !important}@media (max-width: 61.9375em){:host(.duet-list-breakpoint-large.duet-list-mobile-center) dt,:host(.duet-list-breakpoint-large.duet-list-mobile-center) dd{text-align:center !important}}";
6148
6825
 
6149
- const DuetListItem$1 = class extends HTMLElement {
6826
+ let DuetListItem$1 = class extends HTMLElement {
6150
6827
  constructor() {
6151
6828
  super();
6152
6829
  this.__registerHost();
@@ -6191,7 +6868,7 @@ const DefaultLogo = ({ inverse, logoId, language }) => {
6191
6868
  const { title, path, viewBox } = i18n[language];
6192
6869
  return (h$1("svg", { role: "img", xmlns: "http://www.w3.org/2000/svg", fill: logoColor, "aria-labelledby": logoId, viewBox: viewBox }, h$1("title", { id: logoId }, title), h$1("path", { d: path })));
6193
6870
  };
6194
- const DuetLogo$1 = class extends HTMLElement {
6871
+ let DuetLogo$1 = class extends HTMLElement {
6195
6872
  constructor() {
6196
6873
  super();
6197
6874
  this.__registerHost();
@@ -6222,6 +6899,8 @@ const DuetLogo$1 = class extends HTMLElement {
6222
6899
  this.href = "/";
6223
6900
  /**
6224
6901
  * The language of the logo.
6902
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
6903
+ * @default "fi"
6225
6904
  */
6226
6905
  this.language = getLanguage();
6227
6906
  }
@@ -6264,7 +6943,7 @@ const duetModalCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margi
6264
6943
  // iOS has otherwise problems moving the focus from modal back to the original element.
6265
6944
  // This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
6266
6945
  const TRANSITION_MS = 600;
6267
- const DuetModal$1 = class extends HTMLElement {
6946
+ let DuetModal$1 = class extends HTMLElement {
6268
6947
  constructor() {
6269
6948
  super();
6270
6949
  this.__registerHost();
@@ -6302,13 +6981,15 @@ const DuetModal$1 = class extends HTMLElement {
6302
6981
  /**
6303
6982
  * The currently active language. This setting also changes the logo to match
6304
6983
  * the chosen language.
6984
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
6985
+ * @default "fi"
6305
6986
  */
6306
6987
  this.language = getLanguage();
6307
6988
  /**
6308
- * Property to change accessibleCloseLabel defaults on the component.
6309
- * normally you would handle these strings on an application level and override @accessibleCloseLabel when needed
6989
+ * Defaults for accessibleCloseLabel
6990
+ * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
6310
6991
  */
6311
- this.accessibleCloseLabelDefault = {
6992
+ this.accessibleCloseLabelDefaults = {
6312
6993
  fi: "Sulje ikkuna",
6313
6994
  sv: "Stäng fönstret",
6314
6995
  en: "Close the dialog",
@@ -6317,8 +6998,9 @@ const DuetModal$1 = class extends HTMLElement {
6317
6998
  * Adds accessible label for the close icon that is only shown for screen
6318
6999
  * readers. This property is always required to create an accessibly interface!
6319
7000
  * Swedish translation for this property is “Stäng fönstret”.
7001
+ * @default {fi: "Sulje ikkuna", sv: "Stäng fönstret", en: "Close the dialog", }
6320
7002
  */
6321
- this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefault);
7003
+ this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefaults, this.language);
6322
7004
  /**
6323
7005
  * Size of the modal window.
6324
7006
  */
@@ -6484,7 +7166,7 @@ const DuetModal$1 = class extends HTMLElement {
6484
7166
 
6485
7167
  const duetNotificationCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-notification{display:block;padding:16px;color:#00294d;cursor:pointer;border-bottom:1px solid #e1e3e6;transition:300ms ease}:host(:last-of-type) .duet-notification{border-bottom:0}.duet-notification.duet-theme-turva{color:#171c3a;border-bottom-color:#e4e4e6}.duet-notification.duet-notification-highlight{font-weight:600;background:#f3f9fc}.duet-notification.duet-notification-highlight.duet-theme-turva{background:#fcf3f4}@media (min-width: 62em){.duet-notification:hover{background:#f3f9fc}.duet-notification:hover.duet-theme-turva{background:#fcf3f4}}.duet-notification a{text-decoration:none}.duet-notification a:focus{outline:0}:host(.user-is-tabbing) .duet-notification:focus-within{z-index:1;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-notification:focus-within.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-notification-container{position:relative;display:flex}.duet-notification-badge-container{position:relative;width:16px}.duet-notification-badge{position:absolute;top:6px;left:-2px;width:8px;height:8px;background:#0077b3;border-radius:50%}.duet-theme-turva .duet-notification-badge{background:#c60c30}.duet-notification-content{flex:1}.duet-notification-date{position:absolute;top:2px;right:0;width:96px;font-size:0.75rem;font-weight:600;line-height:1.25;color:#657787;text-align:right;text-transform:uppercase}@media (max-width: 35.9375em){.duet-notification-date{width:auto}}.duet-theme-turva .duet-notification-date{color:#444445}::slotted(duet-heading){padding-right:80px !important}::slotted(duet-paragraph){margin-bottom:2px !important}";
6486
7168
 
6487
- const DuetNotification$1 = class extends HTMLElement {
7169
+ let DuetNotification$1 = class extends HTMLElement {
6488
7170
  constructor() {
6489
7171
  super();
6490
7172
  this.__registerHost();
@@ -6492,6 +7174,8 @@ const DuetNotification$1 = class extends HTMLElement {
6492
7174
  /**
6493
7175
  * The currently active language.
6494
7176
  * Used for announcing unread notifications to screen readers.
7177
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
7178
+ * @default "fi"
6495
7179
  */
6496
7180
  this.language = getLanguage();
6497
7181
  /**
@@ -6505,6 +7189,7 @@ const DuetNotification$1 = class extends HTMLElement {
6505
7189
  };
6506
7190
  /**
6507
7191
  * Adds accessible label for tooltip that is shown over unread counter
7192
+ * @default { en: "Unread", fi: "Lukematon", sv: "Oläst" }
6508
7193
  */
6509
7194
  this.accessibleLabelUnread = getLocaleString(this.accessibleLabelUnreadDefaults, this.language);
6510
7195
  /**
@@ -6556,7 +7241,7 @@ const DuetNotification$1 = class extends HTMLElement {
6556
7241
  const duetNotificationDrawerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-drawer{position:relative}@media (min-width: 62em){.duet-drawer{display:inline-block}}.duet-drawer-toggle{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:0;-webkit-appearance:none;appearance:none}@media (min-width: 62em){.duet-drawer-toggle{z-index:200;width:auto;max-width:200px;padding:0 30px 0 12px;overflow:hidden;font-size:0.875rem;line-height:4rem;background-color:white;border:0;border-radius:4px;transition:border 300ms ease}}.duet-theme-turva .duet-drawer-toggle{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6}.duet-drawer-toggle:active{opacity:0.75}.duet-drawer-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-drawer-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-drawer-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-drawer-toggle:hover{color:#004d80}.duet-theme-turva .duet-drawer-toggle:hover{color:#444445}.duet-drawer-toggle::after{display:none !important}@media (min-width: 62em){.duet-drawer-toggle::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-theme-turva .duet-drawer-toggle::after{background:#c60c30}}.duet-drawer-toggle[aria-expanded=true],.duet-drawer-toggle[aria-expanded=true]:hover{color:#004d80;border-bottom:1px solid #f5f8fa;border-radius:0}.duet-theme-turva .duet-drawer-toggle[aria-expanded=true],.duet-theme-turva .duet-drawer-toggle[aria-expanded=true]:hover{color:#444445;border-color:#f5f5f7}@media (min-width: 62em){.duet-drawer-toggle[aria-expanded=true],.duet-drawer-toggle[aria-expanded=true]:hover{border:0}.duet-drawer-toggle[aria-expanded=true]::after,.duet-drawer-toggle[aria-expanded=true]:hover::after{left:0;width:100%;transform:translateY(0)}}.duet-drawer-icon{position:relative;display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-drawer-icon{margin-right:8px}}.duet-drawer-label{line-height:1}.duet-drawer-caret{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){.duet-drawer-caret{right:16px;width:7px;height:7px}}.duet-drawer-caret duet-icon{width:10px}.duet-drawer-toggle[aria-expanded=true] .duet-drawer-caret{transform:translateY(-50%) rotate(180deg)}.duet-drawer-badge{position:absolute;top:0;right:0;display:inline-block;width:6px;height:6px;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-drawer-badge{background:#faa40f}.duet-drawer-content{display:none;background-color:#f5f8fa;border-bottom:1px solid #e1e3e6}.duet-drawer-content:focus{outline:0}.duet-theme-turva .duet-drawer-content{background-color:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){.duet-drawer-content{position:absolute;top:100%;z-index:600;display:block;width:450px;max-height:420px;padding-left:0;overflow-y:auto;visibility:hidden;background-color:white;border:1px solid #e1e3e6;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.95) translateZ(0) translateY(-10px);transform-origin:50% 0;scrollbar-width:none}.duet-drawer-content::-webkit-scrollbar{display:none}.duet-theme-turva .duet-drawer-content{background-color:white}.duet-drawer-content.duet-drawer-left{right:0}.duet-drawer-content.duet-drawer-right{left:0}}.duet-drawer-content.duet-drawer-open{display:block}@media (min-width: 62em){.duet-drawer-content.duet-drawer-open{visibility:visible;opacity:1;transform:scale(1) translateZ(0) translateY(0)}}";
6557
7242
 
6558
7243
  const ESC_KEY = 27;
6559
- const DuetNotificationDrawer$1 = class extends HTMLElement {
7244
+ let DuetNotificationDrawer$1 = class extends HTMLElement {
6560
7245
  constructor() {
6561
7246
  super();
6562
7247
  this.__registerHost();
@@ -6580,8 +7265,8 @@ const DuetNotificationDrawer$1 = class extends HTMLElement {
6580
7265
  */
6581
7266
  this.language = getLanguage();
6582
7267
  /**
6583
- * Property to change accessibleLabelNotifications defaults on the component.
6584
- * normally you would handle these strings on an application level and override @accessibleLabelNotifications when needed
7268
+ * Defaults for accessibleLabelNotifications
7269
+ * @default {en: "No notifications", fi: "Ei ilmoituksia", sv: "Inga notifikationer"}
6585
7270
  */
6586
7271
  this.accessibleLabelNotificationsDefaults = {
6587
7272
  en: "No notifications",
@@ -6590,8 +7275,9 @@ const DuetNotificationDrawer$1 = class extends HTMLElement {
6590
7275
  };
6591
7276
  /**
6592
7277
  * Adds accessible label for tooltip that is shown for notifications
7278
+ * @default {en: "No notifications", fi: "Ei ilmoituksia", sv: "Inga notifikationer"}
6593
7279
  */
6594
- this.accessibleLabelNotifications = getLocaleString(this.accessibleLabelNotificationsDefaults, this.language);
7280
+ this.accessibleLabelNotifications = getLocaleString(this.accessibleLabelNotificationsDefaults);
6595
7281
  /**
6596
7282
  * Show a badge that indicates something has changed.
6597
7283
  */
@@ -6689,10 +7375,10 @@ const DuetNotificationDrawer$1 = class extends HTMLElement {
6689
7375
  static get style() { return duetNotificationDrawerCss; }
6690
7376
  };
6691
7377
 
6692
- var actionSubtract={"title":"action-subtract","tags":"action subtract minus remove delete cancel","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z\"/></svg>"};
6693
-
6694
7378
  var actionAdd={"title":"action-add","tags":"action add plus","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M12 24a.75.75 0 0 1-.75-.75v-10.5H.75a.75.75 0 0 1 0-1.5h10.5V.75a.75.75 0 0 1 1.5 0v10.5h10.5a.75.75 0 0 1 0 1.5h-10.5v10.5A.75.75 0 0 1 12 24z\"/></svg>"};
6695
7379
 
7380
+ var actionSubtract={"title":"action-subtract","tags":"action subtract minus remove delete cancel","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z\"/></svg>"};
7381
+
6696
7382
  const parseLocaleFloat = (str, locale) => {
6697
7383
  // remove spaces and non-numeric characters
6698
7384
  // "12 345,67€" -> "12345,67"
@@ -6719,7 +7405,7 @@ const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
6719
7405
 
6720
7406
  const duetNumberInputCss = "*.sc-duet-number-input,*.sc-duet-number-input::after,*.sc-duet-number-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-number-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;line-height:1.25;text-align:left;vertical-align:bottom}.sc-duet-number-input-h:last-child,.sc-duet-number-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-number-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-number-input-h{width:100% !important}.duet-m-0.sc-duet-number-input-h{margin:0 !important}.duet-number-container.sc-duet-number-input{position:relative;width:100%}.duet-number-buttons.sc-duet-number-input{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;cursor:pointer;background:transparent;-webkit-appearance:none;appearance:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled{pointer-events:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input duet-icon.sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled duet-icon.sc-duet-number-input{opacity:0.4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:active duet-icon.sc-duet-number-input{transform:translateY(1px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{outline:0}.user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{z-index:2;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva .user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{box-shadow:0 0 0 2px #171c3a}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type{border-left:1px solid #cfd2d4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{position:absolute;top:20%;left:0;width:1px;height:60%;content:\"\";background:#e1e3e6}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{background:linear-gradient(to left, rgba(207, 207, 209, 0.2) 0%, rgba(207, 207, 209, 0.2) 1px, rgba(207, 207, 209, 0.1) 1px, rgba(207, 207, 209, 0) 100%)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{background:#e4e4e6}";
6721
7407
 
6722
- const DuetNumberInput$1 = class extends HTMLElement {
7408
+ let DuetNumberInput$1 = class extends HTMLElement {
6723
7409
  constructor() {
6724
7410
  super();
6725
7411
  this.__registerHost();
@@ -6731,6 +7417,8 @@ const DuetNumberInput$1 = class extends HTMLElement {
6731
7417
  /**
6732
7418
  * The currently active language. This setting changes the accessible labels to match the
6733
7419
  * chosen language.
7420
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
7421
+ * @default "fi"
6734
7422
  */
6735
7423
  this.language = getLanguage();
6736
7424
  /**
@@ -6742,34 +7430,52 @@ const DuetNumberInput$1 = class extends HTMLElement {
6742
7430
  */
6743
7431
  this.unit = getLocale(this.language).money;
6744
7432
  /**
6745
- * Format of message used to announce current amount when switching between amounts.
6746
- * The string {current} is replaced with the current amount.
7433
+ * Defaults for accessibleLive
7434
+ * @default {fi: "{current} euroa valittuna", en: "{current} euros selected", sv: "{current} valda euro"}
6747
7435
  */
6748
- this.accessibleLive = getLocaleString({
7436
+ this.accessibleLiveDefaults = {
6749
7437
  fi: "{current} euroa valittuna",
6750
7438
  en: "{current} euros selected",
6751
- sv: "{current} valda euro",
6752
- }, this.language);
7439
+ sv: "{current} euro valt",
7440
+ };
7441
+ /**
7442
+ * Format of message used to announce current amount when switching between amounts.
7443
+ * The string {current} is replaced with the current amount.
7444
+ * @default {fi: "{current} euroa valittuna", en: "{current} euros selected", sv: "{current} valda euro"}
7445
+ */
7446
+ this.accessibleLive = getLocaleString(this.accessibleLiveDefaults, this.language);
6753
7447
  /**
6754
7448
  * Disables the aria-live messaging used internally in this component. This could be useful when you want to use custom aria-live messages instead.
6755
7449
  */
6756
7450
  this.accessibleLiveEnabled = true;
6757
7451
  /**
6758
- * Accessible label for the add button that is read for screen reader users.
7452
+ * Defaults for accessibleAdd
7453
+ * @default {fi: "Lisää summaan", en: "Add to the amount", sv: "Lägg till beloppet"}
6759
7454
  */
6760
- this.accessibleAdd = getLocaleString({
7455
+ this.accessibleAddDefaults = {
6761
7456
  fi: "Lisää summaan",
6762
7457
  en: "Add to the amount",
6763
7458
  sv: "Lägg till beloppet",
6764
- }, this.language);
7459
+ };
6765
7460
  /**
6766
- * Accessible label for the subtract button that is read for screen reader users.
7461
+ * Accessible label for the add button that is read for screen reader users.
7462
+ * @default {fi: "Lisää summaan", en: "Add to the amount", sv: "Lägg till beloppet"}
7463
+ */
7464
+ this.accessibleAdd = getLocaleString(this.accessibleAddDefaults, this.language);
7465
+ /**
7466
+ * Defaults for accessibleSubtract
7467
+ * @default {fi: "Vähennä summasta", en: "Subtract from the amount", sv: "Dra från beloppet"}
6767
7468
  */
6768
- this.accessibleSubtract = getLocaleString({
7469
+ this.accessibleSubtractDefaults = {
6769
7470
  fi: "Vähennä summasta",
6770
7471
  en: "Subtract from the amount",
6771
7472
  sv: "Dra från beloppet",
6772
- }, this.language);
7473
+ };
7474
+ /**
7475
+ * Accessible label for the subtract button that is read for screen reader users.
7476
+ * @default {fi: "Vähennä summasta", en: "Subtract from the amount", sv: "Dra från beloppet"}
7477
+ */
7478
+ this.accessibleSubtract = getLocaleString(this.accessibleSubtractDefaults, this.language);
6773
7479
  /**
6774
7480
  * Theme of the input.
6775
7481
  */
@@ -6787,13 +7493,19 @@ const DuetNumberInput$1 = class extends HTMLElement {
6787
7493
  */
6788
7494
  this.min = 0;
6789
7495
  /**
6790
- * Label for the number input.
7496
+ * Defaults for Label
7497
+ * @default {fi: "Etiketti", en: "Label", sv: "Märka"}
6791
7498
  */
6792
- this.label = getLocaleString({
6793
- fi: "Etiketti",
7499
+ this.labelDefaults = {
7500
+ fi: "Nimilappu",
6794
7501
  en: "Label",
6795
- sv: "Märka",
6796
- }, this.language);
7502
+ sv: "Etikett",
7503
+ };
7504
+ /**
7505
+ * Label for the number input.
7506
+ * @default {fi: "Etiketti", en: "Label", sv: "Märka"}
7507
+ */
7508
+ this.label = getLocaleString(this.labelDefaults, this.language);
6797
7509
  /**
6798
7510
  * Visually hide the label, but still show it to screen readers.
6799
7511
  */
@@ -7024,7 +7736,7 @@ const DuetNumberInput$1 = class extends HTMLElement {
7024
7736
 
7025
7737
  const duetParagraphCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-paragraph{margin-bottom:16px !important;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}.duet-paragraph.duet-p-0{padding:0 !important}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-paragraph.duet-paragraph-small{font-size:0.875rem}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.intro{font-size:2.7vw;margin-bottom:28px !important;-webkit-hyphens:inherit;hyphens:inherit}@media (max-width: 37.037037037rem){.duet-paragraph.intro{font-size:1rem}}@media (min-width: 46.2962962963rem){.duet-paragraph.intro{font-size:1.25rem}}.duet-paragraph.intro.duet-m-0{margin:0 !important}::slotted(a){font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;transition:300ms ease}::slotted(a).duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30}::slotted(a):hover{color:#004d80;text-decoration:none}::slotted(a):hover.duet-theme-turva{color:#940925}::slotted(a):active{opacity:0.75;transition:none}";
7026
7738
 
7027
- const DuetParagraph$1 = class extends HTMLElement {
7739
+ let DuetParagraph$1 = class extends HTMLElement {
7028
7740
  constructor() {
7029
7741
  super();
7030
7742
  this.__registerHost();
@@ -7077,7 +7789,7 @@ const DuetParagraph$1 = class extends HTMLElement {
7077
7789
 
7078
7790
  const duetRadioCss = "*.sc-duet-radio,*.sc-duet-radio::after,*.sc-duet-radio::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:28px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-radio-h:last-child,.sc-duet-radio-h:last-of-type{margin-right:0 !important}.vertical.sc-duet-radio-h{margin-right:0 !important}.horizontal.sc-duet-radio-h{margin-bottom:0 !important;width:auto}.horizontal.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}@media (min-width: 48em){.horizontal-responsive.sc-duet-radio-h{margin-right:28px !important;margin-bottom:0 !important;width:auto}.horizontal-responsive.sc-duet-radio-h:last-child,.horizontal-responsive.sc-duet-radio-h:last-of-type{margin-right:0 !important}.horizontal-responsive.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}}.duet-m-0.sc-duet-radio-h{margin:0 !important}.sc-duet-radio-h:last-child:not(:only-child){margin-right:0 !important;margin-bottom:0 !important}.duet-label.sc-duet-radio{position:relative;z-index:100;display:flex;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;cursor:pointer;background:transparent}.duet-theme-turva.sc-duet-radio .duet-label.sc-duet-radio{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-label.sc-duet-radio span.sc-duet-radio{flex-grow:1;font-size:1rem}.duet-label-hidden.sc-duet-radio .duet-label.sc-duet-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-radio-container.sc-duet-radio{position:relative;width:100%;height:100%}.duet-radio.sc-duet-radio{padding:14px !important;position:absolute;top:0;left:0;z-index:200;width:100%;height:100%;cursor:pointer;opacity:0}.duet-radio.sc-duet-radio+label.sc-duet-radio::before{z-index:100;flex-shrink:0;width:20px;height:20px;margin:2px 10px 1px 1px;content:\"\";background:white;border:1px solid #00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio+label.sc-duet-radio::before{border-color:#171c3a}.duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{position:absolute;top:6px;left:5px;z-index:200;flex-shrink:0;width:12px;height:12px;content:\"\";background:#00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{background:#171c3a}.duet-radio[disabled].sc-duet-radio{cursor:default}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#747475}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfcfd1}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::before{border:1px solid #657787}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#747475;border-color:#747475}";
7079
7791
 
7080
- const DuetRadio$1 = class extends HTMLElement {
7792
+ let DuetRadio$1 = class extends HTMLElement {
7081
7793
  constructor() {
7082
7794
  super();
7083
7795
  this.__registerHost();
@@ -7184,7 +7896,7 @@ const DuetRadio$1 = class extends HTMLElement {
7184
7896
 
7185
7897
  const duetRadioGroupCss = "*.sc-duet-radio-group,*.sc-duet-radio-group::after,*.sc-duet-radio-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-radio-group-h .duet-radio-group.sc-duet-radio-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-radio-group-h .duet-radio-group.sc-duet-radio-group{display:flex}}.horizontal.sc-duet-radio-group-h .duet-radio-group.duet-no-stacking.sc-duet-radio-group{display:flex}.deut-radio-group.sc-duet-radio-group{width:100%}";
7186
7898
 
7187
- const DuetRadioGroup$1 = class extends HTMLElement {
7899
+ let DuetRadioGroup$1 = class extends HTMLElement {
7188
7900
  constructor() {
7189
7901
  super();
7190
7902
  this.__registerHost();
@@ -7342,7 +8054,7 @@ const colors = {
7342
8054
  inactive: colorGray,
7343
8055
  },
7344
8056
  };
7345
- const DuetRangeSlider$1 = class extends HTMLElement {
8057
+ let DuetRangeSlider$1 = class extends HTMLElement {
7346
8058
  constructor() {
7347
8059
  super();
7348
8060
  this.__registerHost();
@@ -7501,7 +8213,7 @@ function findOptionByValue(items, value) {
7501
8213
  }
7502
8214
  }
7503
8215
  }
7504
- const DuetSelect$1 = class extends HTMLElement {
8216
+ let DuetSelect$1 = class extends HTMLElement {
7505
8217
  constructor() {
7506
8218
  super();
7507
8219
  this.__registerHost();
@@ -7672,7 +8384,7 @@ const DuetSelect$1 = class extends HTMLElement {
7672
8384
 
7673
8385
  const duetSpacerCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:12px;min-width:12px;height:12px}@media (min-width: 36em){:host{width:16px;min-width:16px;height:16px}}:host(.duet-spacer-horizontal){display:inline-block;height:100% !important}:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px}}:host(.duet-spacer-horizontal.x-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-small){width:8px;min-width:8px}}:host(.duet-spacer-horizontal.small){width:8px;min-width:8px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.small){width:12px;min-width:12px}}:host(.duet-spacer-horizontal.medium){height:100%}:host(.duet-spacer-horizontal.large){width:16px;min-width:16px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.large){width:20px;min-width:20px}}:host(.duet-spacer-horizontal.x-large){width:20px;min-width:20px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-large){width:28px;min-width:28px}}:host(.duet-spacer-horizontal.xx-large){width:28px;min-width:28px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-large){width:36px;min-width:36px}}:host(.duet-spacer-horizontal.xxx-large){width:36px;min-width:36px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxx-large){width:48px;min-width:48px}}:host(.duet-spacer-horizontal.xxxx-large){width:48px;min-width:48px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxxx-large){width:72px;min-width:72px}}:host(.duet-spacer-vertical.xx-small){width:100%;height:4px;min-height:4px}:host(.duet-spacer-vertical.x-small){width:100%;height:4px;min-height:4px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-small){height:8px;min-height:8px}}:host(.duet-spacer-vertical.small){width:100%;height:8px;min-height:8px}@media (min-width: 36em){:host(.duet-spacer-vertical.small){height:12px;min-height:12px}}:host(.duet-spacer-vertical.medium){width:100%}:host(.duet-spacer-vertical.large){width:100%;height:16px;min-height:16px}@media (min-width: 36em){:host(.duet-spacer-vertical.large){height:20px;min-height:20px}}:host(.duet-spacer-vertical.x-large){width:100%;height:20px;min-height:20px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-large){height:28px;min-height:28px}}:host(.duet-spacer-vertical.xx-large){width:100%;height:28px;min-height:28px}@media (min-width: 36em){:host(.duet-spacer-vertical.xx-large){height:36px;min-height:36px}}:host(.duet-spacer-vertical.xxx-large){width:100%;height:36px;min-height:36px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxx-large){height:48px;min-height:48px}}:host(.duet-spacer-vertical.xxxx-large){width:100%;height:48px;min-height:48px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxxx-large){height:72px;min-height:72px}}:host(.duet-spacer-xx-small){display:none}@media (max-width: 22.5em){:host(.duet-spacer-xx-small){display:block}}:host(.duet-spacer-x-small){display:none}@media (max-width: 35.9375em){:host(.duet-spacer-x-small){display:block}}:host(.duet-spacer-small){display:none}@media (min-width: 36em){:host(.duet-spacer-small){display:block}}:host(.duet-spacer-medium){display:none}@media (min-width: 48em){:host(.duet-spacer-medium){display:block}}:host(.duet-spacer-large){display:none}@media (min-width: 62em){:host(.duet-spacer-large){display:block}}:host(.duet-spacer-x-large){display:none}@media (min-width: 64.0625em){:host(.duet-spacer-x-large){display:block}}:host(.duet-spacer-xx-large){display:none}@media (min-width: 76.25em){:host(.duet-spacer-xx-large){display:block}}";
7674
8386
 
7675
- const DuetSpacer$1 = class extends HTMLElement {
8387
+ let DuetSpacer$1 = class extends HTMLElement {
7676
8388
  constructor() {
7677
8389
  super();
7678
8390
  this.__registerHost();
@@ -7714,7 +8426,7 @@ const DuetSpacer$1 = class extends HTMLElement {
7714
8426
 
7715
8427
  const duetSpinnerCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;top:50%;left:50%;z-index:800;max-width:100%}:host(.duet-theme-default) .duet-spinner{color:#0077b3 !important}:host(.duet-theme-turva) .duet-spinner{color:#c60c30 !important}:host(.duet-custom-color){color:inherit}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-spinner{-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;z-index:800;width:24px;height:24px;color:#0077b3;border:2px solid transparent;border-left:2px solid currentColor;border-radius:50%;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%;animation:duetRotate 0.6s linear infinite}.duet-spinner::after{position:absolute;top:50%;left:50%;z-index:200;box-sizing:content-box;width:100%;height:100%;overflow:hidden;content:\"\";border:2px solid currentColor;border-radius:50%;opacity:0.3;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%}.duet-spinner.medium{width:36px;height:36px;border-width:4px}.duet-spinner.medium::after{border-width:4px}.duet-spinner.large{width:72px;height:72px;border-width:8px}.duet-spinner.large::after{border-width:8px}@keyframes duetRotate{0%{transform:translateZ(0) rotate(0deg) translateX(-50%) translateY(-50%)}100%{transform:translateZ(0) rotate(360deg) translateX(-50%) translateY(-50%)}}";
7716
8428
 
7717
- const DuetSpinner$1 = class extends HTMLElement {
8429
+ let DuetSpinner$1 = class extends HTMLElement {
7718
8430
  constructor() {
7719
8431
  super();
7720
8432
  this.__registerHost();
@@ -7765,7 +8477,7 @@ var actionEdit2={"title":"action-edit-2","tags":"action edit 2 pen pencil","svg"
7765
8477
 
7766
8478
  const duetStepCss = "*.sc-duet-step,*.sc-duet-step::after,*.sc-duet-step::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-step-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block}.duet-step.sc-duet-step{padding:20px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;background:white;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-step.duet-theme-turva.sc-duet-step{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-step.rounded-top.sc-duet-step{border-top-left-radius:4px;border-top-right-radius:4px}.duet-step.rounded-bottom.sc-duet-step{margin-bottom:20px !important;border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-step.rounded-bottom.sc-duet-step{margin-bottom:0 !important}}@media (min-width: 36em){.duet-step.sc-duet-step{padding:0 20px 0 0 !important;margin:0 !important;font-size:1.25rem;box-shadow:none !important}}.duet-step-heading.sc-duet-step{display:flex;align-items:center;border-radius:4px}.duet-step-heading[aria-disabled=false].sc-duet-step{cursor:pointer}.duet-step-heading.sc-duet-step:focus{outline:0}.duet-step-heading.sc-duet-step:active{opacity:0.75}.user-is-tabbing.sc-duet-step-h .duet-step-heading.sc-duet-step:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-step-h .duet-theme-turva.sc-duet-step .duet-step-heading.sc-duet-step:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.is-complete.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step,.is-disabled.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step{background-color:#005f8f}.duet-theme-turva.is-complete.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step,.duet-theme-turva.is-disabled.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step{background-color:#9e0a26}.is-current.sc-duet-step .duet-step-heading.sc-duet-step{margin-bottom:20px}@media (min-width: 36em){.duet-step-heading.sc-duet-step{margin-top:8px;margin-bottom:8px !important}.sc-duet-step-h:first-of-type .duet-step-heading.sc-duet-step{margin-top:0}.sc-duet-step-h:last-of-type .duet-step-heading.sc-duet-step{margin-bottom:0 !important}}.duet-step-counter.sc-duet-step{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;line-height:30px;color:white;text-align:center;border-radius:50%;transition:background-color 300ms ease}@media (min-width: 36em){.duet-step-counter.sc-duet-step{width:40px;height:40px;line-height:40px}}.is-complete.sc-duet-step .duet-step-counter.sc-duet-step,.is-current.sc-duet-step .duet-step-counter.sc-duet-step,.is-disabled.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#0077b3}.duet-theme-turva.is-complete.sc-duet-step .duet-step-counter.sc-duet-step,.duet-theme-turva.is-current.sc-duet-step .duet-step-counter.sc-duet-step,.duet-theme-turva.is-disabled.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#c60c30}.is-incomplete.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#657787}.duet-theme-turva.is-incomplete.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#747475}.duet-step-icon.sc-duet-step{display:flex;align-items:center;justify-content:center;width:16px;height:16px}@media (min-width: 36em){.duet-step-icon.sc-duet-step{width:20px;height:20px}}.duet-step-icon.sc-duet-step duet-icon.sc-duet-step{width:16px;height:16px}@media (min-width: 36em){.duet-step-icon.sc-duet-step duet-icon.sc-duet-step{width:20px;height:20px}}@media (min-width: 36em){.duet-step-content-wrapper.sc-duet-step{min-height:20px;padding-left:40px;margin-left:19px;border-left:2px solid #e1e3e6}.duet-theme-turva.sc-duet-step .duet-step-content-wrapper.sc-duet-step{border-color:#e4e4e6}.sc-duet-step-h:last-of-type .duet-step-content-wrapper.sc-duet-step{min-height:0;border:transparent}}.duet-step-content.sc-duet-step{display:none;padding-bottom:16px}@media (min-width: 36em){.duet-step-content.sc-duet-step{padding-bottom:28px}}.is-current.sc-duet-step .duet-step-content.sc-duet-step{display:block}.duet-step-heading-slot.sc-duet-step{display:none;margin-top:2px}@media (min-width: 48em){.duet-step-heading-slot.sc-duet-step{display:block}}";
7767
8479
 
7768
- const DuetStep$1 = class extends HTMLElement {
8480
+ let DuetStep$1 = class extends HTMLElement {
7769
8481
  constructor() {
7770
8482
  super();
7771
8483
  this.__registerHost();
@@ -7873,7 +8585,7 @@ function groupBy(prop, items) {
7873
8585
 
7874
8586
  const duetStepperCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;width:100%}:host(.duet-m-0){margin:0 !important}.duet-stepper{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-stepper{padding:28px !important;padding-top:36px !important;padding-bottom:36px !important;background:white;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}}";
7875
8587
 
7876
- const DuetStepper$1 = class extends HTMLElement {
8588
+ let DuetStepper$1 = class extends HTMLElement {
7877
8589
  constructor() {
7878
8590
  super();
7879
8591
  this.__registerHost();
@@ -7990,7 +8702,7 @@ const DuetStepper$1 = class extends HTMLElement {
7990
8702
 
7991
8703
  const duetTabCss = ".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}";
7992
8704
 
7993
- const DuetTab$1 = class extends HTMLElement {
8705
+ let DuetTab$1 = class extends HTMLElement {
7994
8706
  constructor() {
7995
8707
  super();
7996
8708
  this.__registerHost();
@@ -8009,7 +8721,7 @@ const DuetTab$1 = class extends HTMLElement {
8009
8721
 
8010
8722
  const duetTabGroupCss = "*.sc-duet-tab-group,*.sc-duet-tab-group::after,*.sc-duet-tab-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-tab-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs.sc-duet-tab-group{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:block}}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom-color:#e4e4e6 !important}@media (min-width: 36em){duet-select.sc-duet-tab-group{display:none !important}}.duet-tab-button.sc-duet-tab-group{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.1;color:#00294d !important;text-align:left;text-decoration:none;cursor:pointer;background:white;border:2px solid #e1e3e6;border-style:solid;border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}.duet-tab-button.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a !important;border-color:#e4e4e6}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid #e1e3e6;border-radius:0}}.duet-tab-button.sc-duet-tab-group:hover{z-index:200;border-color:#909599}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group:hover{border-color:#747475 !important}.duet-tab-button.sc-duet-tab-group:active{opacity:0.75;transition:none}.duet-tab-button.selected.sc-duet-tab-group{z-index:201;color:white !important;background:#00294d;border-color:#00294d;outline:0;box-shadow:none !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:white !important;background-color:#444445;border-color:#444445 !important}.duet-tab-button.sc-duet-tab-group:focus{z-index:200;outline:0}.user-is-tabbing.sc-duet-tab-group-h .duet-tab-button.sc-duet-tab-group:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}.user-is-tabbing.sc-duet-tab-group-h .duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-button.sc-duet-tab-group:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button.sc-duet-tab-group:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group{display:inline-block;width:auto;padding-right:0;padding-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group+.duet-tab-button.sc-duet-tab-group{margin-left:36px}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:#0077b3 !important;background:white;border-bottom:3px solid #0077b3}.duet-theme-turva.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:#c60c30 !important;border-bottom-color:#c60c30 !important}.duet-tab-group-content.sc-duet-tab-group{position:relative;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-theme-turva.sc-duet-tab-group .duet-tab-group-content.sc-duet-tab-group{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
8011
8723
 
8012
- const DuetTabGroup$1 = class extends HTMLElement {
8724
+ let DuetTabGroup$1 = class extends HTMLElement {
8013
8725
  constructor() {
8014
8726
  super();
8015
8727
  this.__registerHost();
@@ -8033,16 +8745,24 @@ const DuetTabGroup$1 = class extends HTMLElement {
8033
8745
  /**
8034
8746
  * The currently active language. This setting changes the accessible labels to match the
8035
8747
  * chosen language.
8748
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
8749
+ * @default "fi"
8036
8750
  */
8037
8751
  this.language = getLanguage();
8038
8752
  /**
8039
- * Label for the select element which gets shown on mobile.
8753
+ * Defaults for Label
8754
+ * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
8040
8755
  */
8041
- this.label = getLocaleString({
8756
+ this.labelDefaults = {
8042
8757
  fi: "Valitse",
8043
8758
  en: "Choose",
8044
- sv: "Välja",
8045
- }, this.language);
8759
+ sv: "Välj",
8760
+ };
8761
+ /**
8762
+ * Label for the select element which gets shown on mobile.
8763
+ * @default {fi: "Valitse", en: "Choose", sv: "Välja"}
8764
+ */
8765
+ this.label = getLocaleString(this.labelDefaults, this.language);
8046
8766
  /**
8047
8767
  * Determines whether the label for the select element shown on mobile is visually hidden.
8048
8768
  */
@@ -8200,7 +8920,7 @@ const stickyTopValues = {
8200
8920
  "with-links": parseFloat(sizeNavigation) * 16,
8201
8921
  "without-links": parseFloat(sizeHeader) * 16,
8202
8922
  };
8203
- const DuetTable$1 = class extends HTMLElement {
8923
+ let DuetTable$1 = class extends HTMLElement {
8204
8924
  constructor() {
8205
8925
  super();
8206
8926
  this.__registerHost();
@@ -8311,7 +9031,7 @@ const CharacterCount = ({ value, maxlength, label, theme }) => {
8311
9031
  const isApproachingLimit = remainder / maxlength <= 0.1; // <= 10% chars remaining
8312
9032
  return (h$1("div", { class: "duet-character-count" }, h$1("duet-caption", { margin: "none", theme: theme, size: "small" }, h$1("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", class: "duet-textarea-counter-remaining" }, isApproachingLimit && `${remainder} ${label}`), h$1("span", { "aria-hidden": "true" }, length, "/", maxlength))));
8313
9033
  };
8314
- const DuetTextarea$1 = class extends HTMLElement {
9034
+ let DuetTextarea$1 = class extends HTMLElement {
8315
9035
  constructor() {
8316
9036
  super();
8317
9037
  this.__registerHost();
@@ -8486,7 +9206,7 @@ const DuetTextarea$1 = class extends HTMLElement {
8486
9206
 
8487
9207
  const duetToggleCss = "*.sc-duet-toggle,*.sc-duet-toggle::after,*.sc-duet-toggle::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-toggle-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-toggle-h:last-child,.sc-duet-toggle-h:last-of-type{margin-right:0 !important}.duet-m-0.sc-duet-toggle-h{margin:0 !important}duet-label.sc-duet-toggle{display:block !important;width:100% !important}.duet-switch.sc-duet-toggle{position:relative;display:block;width:48px;height:28px}.duet-switch.sc-duet-toggle input.sc-duet-toggle{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#0077b3;box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#c60c30}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle::before{background-color:white;box-shadow:none;transform:translateX(20px)}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle{cursor:default}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfcfd1}.user-is-tabbing.sc-duet-toggle-h .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-toggle-h .duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px #171c3a}.duet-slider.sc-duet-toggle{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:white;border-radius:20px;box-shadow:inset 0 0 0 1px #00294d;transition:background-color 300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #171c3a}.duet-slider.sc-duet-toggle::before{position:absolute;bottom:4px;left:4px;width:20px;height:20px;content:\"\";background-color:#00294d;border-radius:50%;transition:300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle::before{background-color:#171c3a}";
8488
9208
 
8489
- const DuetToggle$1 = class extends HTMLElement {
9209
+ let DuetToggle$1 = class extends HTMLElement {
8490
9210
  constructor() {
8491
9211
  super();
8492
9212
  this.__registerHost();
@@ -8575,7 +9295,7 @@ const DuetToggle$1 = class extends HTMLElement {
8575
9295
 
8576
9296
  const duetTooltipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}.duet-tooltip{position:absolute;right:-21px;bottom:100%;z-index:950;display:block;width:282px;min-height:48px;max-height:340px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;visibility:hidden;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform:scale(0.9) translateZ(0) translateY(20px);transform-origin:100% 100%}.duet-tooltip.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6;box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-tooltip::after{position:absolute;right:22px;bottom:-20px;z-index:200;width:0;height:0;content:\"\";border:10px solid transparent;border-top:10px solid white}.duet-tooltip::before{position:absolute;right:21px;bottom:-22px;z-index:100;width:0;height:0;content:\"\";border:11px solid transparent;border-top:11px solid #e1e3e6}.duet-theme-turva .duet-tooltip::before{border-top:11px solid #e4e4e6}.duet-tooltip.duet-tooltip-down{top:100%;bottom:auto;transform:scale(0.9) translateZ(0) translateY(-20px);transform-origin:100% 0}.duet-tooltip.duet-tooltip-down::after{top:-20px;bottom:auto;border:10px solid transparent;border-bottom:10px solid white}.duet-tooltip.duet-tooltip-down::before{top:-22px;bottom:auto;border:11px solid transparent;border-bottom:11px solid #e1e3e6}.duet-theme-turva .duet-tooltip.duet-tooltip-down::before{border-bottom:11px solid #e4e4e6}.duet-tooltip.duet-tooltip-left{right:-21px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-left::after{right:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-left::before{right:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-right{right:auto !important;left:-9px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-right::after{right:auto !important;left:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-right::before{right:auto !important;left:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-has-label::after{right:auto !important;left:1px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label::before{right:auto !important;left:0 !important;transform:none !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(-8px)}.duet-tooltip.duet-tooltip-active.duet-tooltip-down{transform:scale(1.0001) translateZ(0) translateY(8px)}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:#0077b3;white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:#c60c30}.duet-tooltip-button:hover{color:#004d80}.duet-tooltip-button:hover.duet-theme-turva{color:#940925}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-scrollable{padding:20px !important;width:100%;max-height:250px;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-scrollable:focus{outline:none}:host(.user-is-tabbing) .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tooltip-scrollable::-webkit-scrollbar{width:4px}.duet-tooltip-scrollable::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:#e1e3e6;border-radius:4px}.duet-theme-turva .duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:#e4e4e6}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;-webkit-appearance:none;appearance:none}.duet-tooltip-close:focus{outline:none;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva .duet-tooltip-close:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}@media (min-width: 48em){.duet-tooltip.duet-mq-medium{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-medium::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium.duet-tooltip-down{transform-origin:50% 0}}@media (min-width: 62em){.duet-tooltip.duet-mq-large{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-large::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large.duet-tooltip-down{transform-origin:50% 0}}";
8577
9297
 
8578
- const DuetTooltip$1 = class extends HTMLElement {
9298
+ let DuetTooltip$1 = class extends HTMLElement {
8579
9299
  constructor() {
8580
9300
  super();
8581
9301
  this.__registerHost();
@@ -8597,26 +9317,40 @@ const DuetTooltip$1 = class extends HTMLElement {
8597
9317
  /**
8598
9318
  * The currently active language. This setting changes the accessible labels to match the
8599
9319
  * chosen language.
9320
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
9321
+ * @default "fi"
8600
9322
  */
8601
9323
  this.language = getLanguage();
9324
+ /**
9325
+ * Default language strings for the accessibleLabel
9326
+ * @default {fi: "Näytä lisätietoja", en: "See more information", sv: "Se mer information"}
9327
+ */
9328
+ this.accessibleLabelDefault = {
9329
+ fi: "Näytä lisätietoja",
9330
+ en: "Show more information",
9331
+ sv: "Visa mer tilläggsuppgifter",
9332
+ };
8602
9333
  /**
8603
9334
  * Adds accessible label for the info icon that is only shown for screen
8604
9335
  * readers. This property is always required to create an accessible interface!
9336
+ * @default {fi: "Näytä lisätietoja", en: "See more information", sv: "Se mer information"}
8605
9337
  */
8606
- this.accessibleLabel = getLocaleString({
8607
- fi: "Näytä lisätietoja",
8608
- en: "See more information",
8609
- sv: "Se mer information",
8610
- }, this.language);
9338
+ this.accessibleLabel = getLocaleString(this.accessibleLabelDefault, this.language);
8611
9339
  /**
8612
- * Adds accessible label for the close icon that is only shown for screen
8613
- * readers. This property is always required to create an accessibly interface!
9340
+ * Default language strings for the accessibleCloseLabel
9341
+ * @default {fi: "Sulje lisätiedot", en: "Close details", sv: "Stäng detaljer"}
8614
9342
  */
8615
- this.accessibleCloseLabel = getLocaleString({
9343
+ this.accessibleCloseLabelDefault = {
8616
9344
  fi: "Sulje lisätiedot",
8617
9345
  en: "Close details",
8618
- sv: "Stäng detaljer",
8619
- }, this.language);
9346
+ sv: "Stäng tilläggsuppgifter",
9347
+ };
9348
+ /**
9349
+ * Adds accessible label for the close icon that is only shown for screen
9350
+ * readers. This property is always required to create an accessibly interface!
9351
+ * @default {fi: "Sulje lisätiedot", en: "Close details", sv: "Stäng detaljer"}
9352
+ */
9353
+ this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefault, this.language);
8620
9354
  /**
8621
9355
  * Label of the tooltip. If used, replaces the accessibleLabel option.
8622
9356
  */
@@ -8788,7 +9522,7 @@ const DuetTooltip$1 = class extends HTMLElement {
8788
9522
  const duetTrayCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tray{position:fixed;top:4rem;right:0;left:0;z-index:399;display:flex;flex-direction:column;max-height:calc(100% - 8rem);padding:16px 20px 16px 24px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;visibility:hidden;background:#f3f9fc;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:opacity 600ms ease, visibility 600ms ease, transform 600ms ease;transform:translateY(-4rem)}@media (min-width: 62em){.duet-tray{padding:16px 36px}}@media (min-width: 106.25em){.duet-tray{padding:16px 52px 16px 60px}}.duet-tray:focus{outline:0}:host(.user-is-tabbing) .duet-tray:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-tray.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tray.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;background:#f5f5f7;border-color:#e4e4e6}.duet-tray.duet-tray-is-active{visibility:visible;opacity:1;transform:translateY(0)}.duet-tray.duet-tray-is-hidden{visibility:hidden;opacity:0;transform:translateY(-4rem)}@media (min-width: 62em){.duet-tray.duet-tray-is-responsive{display:none !important}}.duet-tray.duet-tray-is-expandable{padding-right:66px}@media (min-width: 62em){.duet-tray.duet-tray-is-expandable{padding-right:78px}}@media (min-width: 106.25em){.duet-tray.duet-tray-is-expandable{padding-right:94px}}.duet-tray-expandable{position:relative;z-index:100;width:calc(100% + 46px);max-height:0;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity 600ms ease, visibility 600ms ease, max-height 600ms ease;scrollbar-width:none}.duet-tray-expandable::-webkit-scrollbar{display:none}.duet-tray-expandable.active{max-height:500px;visibility:visible;opacity:1}.duet-tray-expandable-content{width:100%;margin-top:16px;border-top:1px solid #e1e3e6}.duet-theme-turva .duet-tray-expandable-content{border-color:#e4e4e6}.duet-tray-button{-webkit-user-select:none;user-select:none;padding:20px !important;position:absolute;top:-2px;right:0;z-index:200;color:#00294d;text-align:center;cursor:pointer;border-radius:4px;transition:transform 300ms ease;-webkit-tap-highlight-color:transparent}@media (min-width: 62em){.duet-tray-button{margin-right:16px}}@media (min-width: 106.25em){.duet-tray-button{margin-right:36px}}.duet-theme-turva .duet-tray-button{color:#171c3a}.duet-tray-button.duet-tray-is-expanded{transform:rotate(-180deg)}.duet-tray-button:focus{outline:0}:host(.user-is-tabbing) .duet-tray-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-tray-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tray-button:active{box-shadow:none;opacity:0.75}";
8789
9523
 
8790
9524
  const topOffset = parseFloat(sizeHeader) * 2 * 16; // convert rem -> px
8791
- const DuetTray$1 = class extends HTMLElement {
9525
+ let DuetTray$1 = class extends HTMLElement {
8792
9526
  constructor() {
8793
9527
  super();
8794
9528
  this.__registerHost();
@@ -8806,26 +9540,40 @@ const DuetTray$1 = class extends HTMLElement {
8806
9540
  /**
8807
9541
  * The currently active language. This setting changes the accessible labels to match the
8808
9542
  * chosen language.
9543
+ * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
9544
+ * @default "fi"
8809
9545
  */
8810
9546
  this.language = getLanguage();
8811
9547
  /**
8812
- * Accessible label that is shown for screen reader users in the expandable
8813
- * close toggle. Not visible for normal users.
9548
+ * Defaults for accessibleCloseLabel
9549
+ * @default {fi: "Sulje", en: "Close", sv: "Stänga"}
8814
9550
  */
8815
- this.accessibleCloseLabel = getLocaleString({
9551
+ this.accessibleCloseLabelDefaults = {
8816
9552
  fi: "Sulje",
8817
9553
  en: "Close",
8818
- sv: "Stänga",
8819
- }, this.language);
9554
+ sv: "Stäng",
9555
+ };
8820
9556
  /**
8821
9557
  * Accessible label that is shown for screen reader users in the expandable
8822
- * open toggle. Not visible for normal users.
9558
+ * close toggle. Not visible for normal users.
9559
+ * @default {fi: "Sulje", en: "Close", sv: "Stänga"}
8823
9560
  */
8824
- this.accessibleOpenLabel = getLocaleString({
9561
+ this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefaults, this.language);
9562
+ /**
9563
+ * Defaults for accessibleOpenLabel
9564
+ * @default {fi: "Avaa", en: "Open", sv: "Öppen"}
9565
+ */
9566
+ this.accessibleOpenLabelDefaults = {
8825
9567
  fi: "Avaa",
8826
9568
  en: "Open",
8827
- sv: "Öppen",
8828
- }, this.language);
9569
+ sv: "Öppna",
9570
+ };
9571
+ /**
9572
+ * Accessible label that is shown for screen reader users in the expandable
9573
+ * open toggle. Not visible for normal users.
9574
+ * @default {fi: "Avaa", en: "Open", sv: "Öppen"}
9575
+ */
9576
+ this.accessibleOpenLabel = getLocaleString(this.accessibleOpenLabelDefaults, this.language);
8829
9577
  /**
8830
9578
  * Theme of the info panel.
8831
9579
  */
@@ -8898,7 +9646,7 @@ const DuetTray$1 = class extends HTMLElement {
8898
9646
 
8899
9647
  const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}";
8900
9648
 
8901
- const DuetVisuallyHidden$1 = class extends HTMLElement {
9649
+ let DuetVisuallyHidden$1 = class extends HTMLElement {
8902
9650
  constructor() {
8903
9651
  super();
8904
9652
  this.__registerHost();
@@ -8915,38 +9663,38 @@ const DuetVisuallyHidden$1 = class extends HTMLElement {
8915
9663
  };
8916
9664
 
8917
9665
  globalScripts();
8918
- const DuetAlert = /*@__PURE__*/proxyCustomElement(DuetAlert$1, [1,"duet-alert",{"theme":[1025],"accessibleLabelDefaults":[16],"accessibleLabel":[1,"accessible-label"],"announcements":[4],"icon":[1],"autoDismiss":[2,"auto-dismiss"],"margin":[1],"padding":[1],"variation":[1],"dismissible":[4],"isDismissed":[32],"timeoutID":[32]}]);
9666
+ const DuetAlert = /*@__PURE__*/proxyCustomElement(DuetAlert$1, [1,"duet-alert",{"theme":[1025],"accessibleLabelDefaults":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"announcements":[4],"icon":[1],"autoDismiss":[2,"auto-dismiss"],"margin":[1],"padding":[1],"variation":[1],"dismissible":[4],"isDismissed":[32],"timeoutID":[32]}]);
8919
9667
  const DuetBadge = /*@__PURE__*/proxyCustomElement(DuetBadge$1, [1,"duet-badge",{"theme":[1025],"variation":[1],"margin":[1]}]);
8920
- const DuetButton = /*@__PURE__*/proxyCustomElement(DuetButton$1, [1,"duet-button",{"accessibleLabel":[1,"accessible-label"],"accessibleControls":[1,"accessible-controls"],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleExpanded":[4,"accessible-expanded"],"accessiblePressed":[4,"accessible-pressed"],"loading":[4],"variation":[1],"negative":[4],"theme":[1025],"margin":[1],"padding":[1],"wrapping":[1],"expand":[4],"fixed":[4],"disabled":[516],"name":[1],"value":[1],"identifier":[1],"submit":[516],"external":[4],"language":[1],"accessibleLabelExternalDefaults":[16],"accessibleLabelExternal":[1,"accessible-label-external"],"icon":[1],"color":[1],"iconRight":[4,"icon-right"],"iconSize":[1,"icon-size"],"size":[1],"iconOnly":[4,"icon-only"],"url":[513]}]);
9668
+ const DuetButton = /*@__PURE__*/proxyCustomElement(DuetButton$1, [1,"duet-button",{"accessibleLabel":[1,"accessible-label"],"accessibleControls":[1,"accessible-controls"],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleExpanded":[4,"accessible-expanded"],"accessiblePressed":[4,"accessible-pressed"],"loading":[4],"variation":[1],"negative":[4],"theme":[1025],"margin":[1],"padding":[1],"wrapping":[1],"expand":[4],"fixed":[4],"disabled":[516],"name":[1],"value":[1],"identifier":[1],"submit":[516],"external":[4],"language":[1],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"icon":[1],"color":[1],"iconRight":[4,"icon-right"],"iconSize":[1,"icon-size"],"size":[1],"iconOnly":[4,"icon-only"],"url":[513]}]);
8921
9669
  const DuetCaption = /*@__PURE__*/proxyCustomElement(DuetCaption$1, [1,"duet-caption",{"theme":[1025],"margin":[1],"selected":[4],"size":[1]}]);
8922
9670
  const DuetCard = /*@__PURE__*/proxyCustomElement(DuetCard$1, [1,"duet-card",{"accessibleLabel":[1,"accessible-label"],"heading":[1],"secondaryHeading":[1,"secondary-heading"],"variation":[1],"collapsible":[4],"open":[1540],"headingLevel":[1,"heading-level"],"icon":[1],"image":[1],"background":[1],"padding":[1],"margin":[1],"theme":[1025],"url":[1]}]);
8923
9671
  const DuetCheckbox = /*@__PURE__*/proxyCustomElement(DuetCheckbox$1, [2,"duet-checkbox",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"margin":[1],"accessibleControls":[1,"accessible-controls"],"accessibleIndex":[1,"accessible-index"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"theme":[1025],"disabled":[516],"identifier":[1],"label":[1],"labelHidden":[4,"label-hidden"],"name":[1],"role":[1],"checked":[1540],"value":[1537]}]);
8924
- const DuetChoice = /*@__PURE__*/proxyCustomElement(DuetChoice$1, [6,"duet-choice",{"theme":[1025],"label":[1],"accessibleLabelInfoButtonDefaults":[16],"accessibleLabelInfoButton":[1,"accessible-label-info-button"],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"caption":[1],"value":[1537],"type":[513],"name":[1],"checked":[1540],"collapsible":[4],"margin":[1],"icon":[1],"expand":[4],"padding":[1],"identifier":[1],"groupDirection":[1,"group-direction"],"groupDisabled":[4,"group-disabled"],"groupResponsive":[4,"group-responsive"],"disabled":[516],"required":[4],"isHovering":[32],"isInfoOpen":[32],"isBlurred":[32]},[[2,"blur","handleHostBlur"],[2,"keydown","handleHostKeyDown"],[2,"keyup","handleHostKeyUp"]]]);
9672
+ const DuetChoice = /*@__PURE__*/proxyCustomElement(DuetChoice$1, [6,"duet-choice",{"theme":[1025],"label":[1],"accessibleLabelInfoButtonDefaults":[1,"accessible-label-info-default"],"accessibleLabelInfoButton":[1,"accessible-label-info-button"],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"caption":[1],"value":[1537],"type":[513],"name":[1],"checked":[1540],"collapsible":[4],"margin":[1],"icon":[1],"expand":[4],"padding":[1],"identifier":[1],"groupDirection":[1,"group-direction"],"groupDisabled":[4,"group-disabled"],"groupResponsive":[4,"group-responsive"],"disabled":[516],"required":[4],"isHovering":[32],"isInfoOpen":[32],"isBlurred":[32]},[[2,"blur","handleHostBlur"],[2,"keydown","handleHostKeyDown"],[2,"keyup","handleHostKeyUp"]]]);
8925
9673
  const DuetChoiceGroup = /*@__PURE__*/proxyCustomElement(DuetChoiceGroup$1, [6,"duet-choice-group",{"direction":[1],"margin":[1],"theme":[1025],"error":[1],"name":[1],"label":[1],"labelHidden":[4,"label-hidden"],"caption":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"responsive":[4],"value":[1537],"disabled":[4]}]);
8926
- const DuetCollapsible = /*@__PURE__*/proxyCustomElement(DuetCollapsible$1, [1,"duet-collapsible",{"theme":[1025],"heading":[1],"headingWeight":[1,"heading-weight"],"margin":[1],"open":[1540]}]);
9674
+ const DuetCollapsible = /*@__PURE__*/proxyCustomElement(DuetCollapsible$1, [1,"duet-collapsible",{"theme":[1025],"heading":[1],"headingWeight":[1,"heading-weight"],"headingSize":[1,"heading-size"],"headingLevel":[1,"heading-level"],"margin":[1],"open":[1540]}]);
8927
9675
  const DuetCookieConsent = /*@__PURE__*/proxyCustomElement(DuetCookieConsent$1, [1,"duet-cookie-consent",{"accessibleLabel":[1,"accessible-label"],"theme":[1025]}]);
8928
- const DuetDatePicker = /*@__PURE__*/proxyCustomElement(DuetDatePicker$1, [2,"duet-date-picker",{"theme":[1025],"expand":[4],"name":[1],"identifier":[1],"label":[1],"caption":[1],"margin":[1],"placeholder":[1],"echoPlaceholder":[1540,"echo-placeholder"],"disabled":[516],"language":[1],"error":[1],"labelHidden":[4,"label-hidden"],"role":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"direction":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"value":[1537],"min":[1],"max":[1],"validity":[1040],"open":[32],"focusedDay":[32],"inputValue":[32]},[[4,"click","handleDocumentClick"]]]);
9676
+ const DuetDatePicker = /*@__PURE__*/proxyCustomElement(DuetDatePicker$1, [2,"duet-date-picker",{"theme":[1025],"expand":[4],"name":[1],"identifier":[1],"label":[1],"caption":[1],"margin":[1],"language":[1],"placeholderDefaults":[1,"placeholder-default"],"placeholder":[1],"echoPlaceholder":[1540,"echo-placeholder"],"disabled":[516],"error":[1],"labelHidden":[4,"label-hidden"],"role":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"direction":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"value":[1537],"min":[1],"max":[1],"validity":[1040],"open":[32],"focusedDay":[32],"inputValue":[32]},[[4,"click","handleDocumentClick"]]]);
8929
9677
  const DuetDivider = /*@__PURE__*/proxyCustomElement(DuetDivider$1, [1,"duet-divider",{"theme":[1025],"margin":[1]}]);
8930
9678
  const DuetEmptyState = /*@__PURE__*/proxyCustomElement(DuetEmptyState$1, [1,"duet-empty-state",{"theme":[1025],"icon":[1],"size":[1]}]);
8931
9679
  const DuetFieldset = /*@__PURE__*/proxyCustomElement(DuetFieldset$1, [1,"duet-fieldset",{"theme":[1025],"margin":[1],"caption":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"hasTooltip":[32]}]);
8932
- const DuetFooter = /*@__PURE__*/proxyCustomElement(DuetFooter$1, [1,"duet-footer",{"theme":[1025],"variation":[1],"margin":[1],"logoHref":[1,"logo-href"],"language":[1025],"items":[8],"accessibleLabelExternalDefaults":[16],"accessibleLabelExternal":[1,"accessible-label-external"],"menu":[8],"processedItems":[32],"processedMenu":[32]}]);
9680
+ const DuetFooter = /*@__PURE__*/proxyCustomElement(DuetFooter$1, [1,"duet-footer",{"theme":[1025],"variation":[1],"margin":[1],"logoHref":[1,"logo-href"],"language":[1025],"items":[8],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"menu":[8],"processedItems":[32],"processedMenu":[32]}]);
8933
9681
  const DuetGrid = /*@__PURE__*/proxyCustomElement(DuetGrid$1, [2,"duet-grid",{"responsive":[4],"breakpoint":[1],"direction":[1],"alignment":[1],"distribution":[1],"mobile":[1]}]);
8934
9682
  const DuetGridItem = /*@__PURE__*/proxyCustomElement(DuetGridItem$1, [2,"duet-grid-item",{"fill":[4],"maxWidth":[1,"max-width"],"minWidth":[1,"min-width"],"theme":[1025],"margin":[1],"responsive":[4],"breakpoint":[1]}]);
8935
- const DuetHeader = /*@__PURE__*/proxyCustomElement(DuetHeader$1, [1,"duet-header",{"theme":[1025],"language":[1025],"accessibleI18nLabelsDefault":[16],"accessibleI18nLabels":[16],"accessibleLabelExternalDefaults":[16],"accessibleLabelExternal":[1,"accessible-label-external"],"accessibleLabelDefault":[16],"accessibleLabel":[1,"accessible-label"],"user":[8],"logoHref":[1,"logo-href"],"currentHref":[1025,"current-href"],"skipToId":[1,"skip-to-id"],"items":[8],"region":[1],"session":[8],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSlideOutOpen":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedUser":[32],"processedBack":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
9683
+ const DuetHeader = /*@__PURE__*/proxyCustomElement(DuetHeader$1, [1,"duet-header",{"theme":[1025],"language":[1025],"accessibleI18nLabelsDefaults":[1,"accessible-labels-default"],"accessibleI18nLabels":[16],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"accessibleLabelDefaults":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"user":[8],"logoHref":[1,"logo-href"],"currentHref":[1025,"current-href"],"skipToId":[1,"skip-to-id"],"items":[8],"region":[1],"session":[8],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSlideOutOpen":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedUser":[32],"processedBack":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
8936
9684
  const DuetHeading = /*@__PURE__*/proxyCustomElement(DuetHeading$1, [1,"duet-heading",{"level":[513],"margin":[1],"visualLevel":[1,"visual-level"],"border":[4],"weight":[1],"color":[1],"theme":[1025],"hyphenate":[4]}]);
8937
- const DuetHero = /*@__PURE__*/proxyCustomElement(DuetHero$1, [1,"duet-hero",{"theme":[1025],"heading":[1],"preHeading":[1,"pre-heading"],"level":[1],"description":[1],"icon":[1],"iconSize":[1,"icon-size"],"iconRight":[4,"icon-right"],"categoryIcon":[1,"category-icon"],"categoryIconColor":[1,"category-icon-color"],"buttonLabel":[1,"button-label"],"language":[1025],"accessibleLabelExternalDefaults":[16],"accessibleLabelExternal":[1,"accessible-label-external"],"buttonUrl":[1,"button-url"],"buttonId":[1,"button-id"],"buttonData":[16],"textCenter":[4,"text-center"],"leftAlign":[4,"left-align"],"image":[1],"variation":[1],"back":[8],"listItems":[8,"list-items"],"actions":[8],"processedListItems":[32],"processedActions":[32],"processedBack":[32]}]);
9685
+ const DuetHero = /*@__PURE__*/proxyCustomElement(DuetHero$1, [1,"duet-hero",{"theme":[1025],"heading":[1],"preHeading":[1,"pre-heading"],"level":[1],"description":[1],"icon":[1],"iconSize":[1,"icon-size"],"iconRight":[4,"icon-right"],"categoryIcon":[1,"category-icon"],"categoryIconColor":[1,"category-icon-color"],"buttonLabel":[1,"button-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"buttonUrl":[1,"button-url"],"buttonId":[1,"button-id"],"buttonData":[16],"textCenter":[4,"text-center"],"leftAlign":[4,"left-align"],"image":[1],"variation":[1],"back":[8],"listItems":[8,"list-items"],"actions":[8],"processedListItems":[32],"processedActions":[32],"processedBack":[32]}]);
8938
9686
  const DuetIcon = /*@__PURE__*/proxyCustomElement(DuetIcon$1, [1,"duet-icon",{"theme":[1025],"icon":[1],"src":[1],"name":[1],"margin":[1],"responsive":[4],"color":[513],"background":[1],"size":[1],"outline":[1],"svgContent":[32]}]);
8939
9687
  const DuetInput = /*@__PURE__*/proxyCustomElement(DuetInput$1, [6,"duet-input",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"debounce":[2],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"type":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"numericKeyboard":[4,"numeric-keyboard"],"name":[1],"pattern":[1],"maxlength":[2],"minlength":[2],"placeholder":[1],"component":[1],"role":[1],"icon":[1],"autoComplete":[1,"auto-complete"],"disallowPattern":[1,"disallow-pattern"],"value":[1025],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"]}]);
8940
9688
  const DuetLabel = /*@__PURE__*/proxyCustomElement(DuetLabel$1, [6,"duet-label",{"theme":[1025],"for":[1],"margin":[1],"size":[1]}]);
8941
9689
  const DuetLayout = /*@__PURE__*/proxyCustomElement(DuetLayout$1, [1,"duet-layout",{"sticky":[4],"margin":[1],"stickyDistance":[1,"sticky-distance"],"center":[4],"tabs":[4],"middle":[4]}]);
8942
- const DuetLink = /*@__PURE__*/proxyCustomElement(DuetLink$1, [17,"duet-link",{"accessibleLabel":[1,"accessible-label"],"language":[1025],"accessibleLabelExternalDefaults":[16],"accessibleLabelExternal":[1,"accessible-label-external"],"identifier":[1],"theme":[1025],"url":[513],"external":[4]}]);
9690
+ const DuetLink = /*@__PURE__*/proxyCustomElement(DuetLink$1, [17,"duet-link",{"accessibleLabel":[1,"accessible-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"identifier":[1],"theme":[1025],"url":[513],"external":[4]}]);
8943
9691
  const DuetList = /*@__PURE__*/proxyCustomElement(DuetList$1, [1,"duet-list",{"theme":[1025],"margin":[1],"padding":[1],"mobile":[1],"breakpoint":[1],"variation":[1],"labelWidth":[1,"label-width"]}]);
8944
9692
  const DuetListItem = /*@__PURE__*/proxyCustomElement(DuetListItem$1, [1,"duet-list-item"]);
8945
9693
  const DuetLogo = /*@__PURE__*/proxyCustomElement(DuetLogo$1, [1,"duet-logo",{"theme":[1025],"margin":[1],"inverse":[4],"size":[1],"href":[1537],"language":[1537]}]);
8946
- const DuetModal = /*@__PURE__*/proxyCustomElement(DuetModal$1, [1,"duet-modal",{"language":[1025],"accessibleCloseLabelDefault":[16],"accessibleCloseLabel":[1,"accessible-close-label"],"size":[1],"gutterSize":[1,"gutter-size"],"theme":[1025],"heading":[1],"headingLevel":[1,"heading-level"],"icon":[1],"color":[1],"active":[1540],"open":[32]},[[8,"keyup","handleKeyUp"]]]);
9694
+ const DuetModal = /*@__PURE__*/proxyCustomElement(DuetModal$1, [1,"duet-modal",{"language":[1025],"accessibleCloseLabelDefaults":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"size":[1],"gutterSize":[1,"gutter-size"],"theme":[1025],"heading":[1],"headingLevel":[1,"heading-level"],"icon":[1],"color":[1],"active":[1540],"open":[32]},[[8,"keyup","handleKeyUp"]]]);
8947
9695
  const DuetNotification = /*@__PURE__*/proxyCustomElement(DuetNotification$1, [1,"duet-notification",{"language":[1],"accessibleLabelUnreadDefaults":[16],"accessibleLabelUnread":[1,"accessible-label-unread"],"url":[1],"date":[1],"highlight":[4],"external":[4],"theme":[1025]}]);
8948
- const DuetNotificationDrawer = /*@__PURE__*/proxyCustomElement(DuetNotificationDrawer$1, [1,"duet-notification-drawer",{"icon":[1],"label":[1],"language":[1],"accessibleLabelNotificationsDefaults":[16],"accessibleLabelNotifications":[1,"accessible-label-notifications"],"badge":[4],"theme":[1025],"direction":[1],"isOpen":[32],"hasNotifications":[32]},[[6,"focus","handleClickFocusOutside"],[6,"click","handleClickFocusOutside"]]]);
8949
- const DuetNumberInput = /*@__PURE__*/proxyCustomElement(DuetNumberInput$1, [2,"duet-number-input",{"language":[1025],"locale":[1],"unit":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleLive":[1,"accessible-live"],"accessibleLiveEnabled":[4,"accessible-live-enabled"],"accessibleAdd":[1,"accessible-add"],"accessibleSubtract":[1,"accessible-subtract"],"theme":[1025],"margin":[1],"expand":[4],"identifier":[1],"min":[2],"label":[1],"labelHidden":[4,"label-hidden"],"max":[2],"name":[1],"error":[1],"tooltip":[1],"step":[2],"rounding":[4],"role":[1],"disabled":[516],"required":[4],"value":[1025],"focusedValue":[32]}]);
9696
+ const DuetNotificationDrawer = /*@__PURE__*/proxyCustomElement(DuetNotificationDrawer$1, [1,"duet-notification-drawer",{"icon":[1],"label":[1],"language":[1],"accessibleLabelNotificationsDefaults":[1,"accessible-label-notification-default"],"accessibleLabelNotifications":[1,"accessible-label-notifications"],"badge":[4],"theme":[1025],"direction":[1],"isOpen":[32],"hasNotifications":[32]},[[6,"focus","handleClickFocusOutside"],[6,"click","handleClickFocusOutside"]]]);
9697
+ const DuetNumberInput = /*@__PURE__*/proxyCustomElement(DuetNumberInput$1, [2,"duet-number-input",{"language":[1025],"locale":[1],"unit":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleLiveDefaults":[1,"accessible-live-default"],"accessibleLive":[1,"accessible-live"],"accessibleLiveEnabled":[4,"accessible-live-enabled"],"accessibleAddDefaults":[1,"accessible-add-default"],"accessibleAdd":[1,"accessible-add"],"accessibleSubtractDefaults":[1,"accessible-subtract-defaults"],"accessibleSubtract":[1,"accessible-subtract"],"theme":[1025],"margin":[1],"expand":[4],"identifier":[1],"min":[2],"labelDefaults":[1,"label-default"],"label":[1],"labelHidden":[4,"label-hidden"],"max":[2],"name":[1],"error":[1],"tooltip":[1],"step":[2],"rounding":[4],"role":[1],"disabled":[516],"required":[4],"value":[1025],"focusedValue":[32]}]);
8950
9698
  const DuetParagraph = /*@__PURE__*/proxyCustomElement(DuetParagraph$1, [1,"duet-paragraph",{"theme":[1025],"margin":[1],"size":[1],"variation":[1],"color":[1]}]);
8951
9699
  const DuetRadio = /*@__PURE__*/proxyCustomElement(DuetRadio$1, [2,"duet-radio",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleIndex":[1,"accessible-index"],"margin":[1],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"theme":[1025],"disabled":[516],"required":[4],"blockEvents":[4,"block-events"],"identifier":[1],"label":[1],"name":[1],"role":[1],"groupDisabled":[4,"group-disabled"],"groupDirection":[1,"group-direction"],"groupResponsive":[4,"group-responsive"],"checked":[1540],"value":[1537]}]);
8952
9700
  const DuetRadioGroup = /*@__PURE__*/proxyCustomElement(DuetRadioGroup$1, [6,"duet-radio-group",{"direction":[1],"margin":[1],"theme":[1025],"error":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"name":[1],"label":[1],"labelHidden":[4,"label-hidden"],"caption":[1],"responsive":[4],"value":[1537],"disabled":[4]}]);
@@ -8957,12 +9705,12 @@ const DuetSpinner = /*@__PURE__*/proxyCustomElement(DuetSpinner$1, [1,"duet-spin
8957
9705
  const DuetStep = /*@__PURE__*/proxyCustomElement(DuetStep$1, [6,"duet-step",{"theme":[1025],"heading":[1],"headingLevel":[1,"heading-level"],"stepIndex":[2,"step-index"],"state":[1],"roundedTop":[4,"rounded-top"],"roundedBottom":[4,"rounded-bottom"]}]);
8958
9706
  const DuetStepper = /*@__PURE__*/proxyCustomElement(DuetStepper$1, [1,"duet-stepper",{"theme":[1025],"accessibleLive":[1,"accessible-live"],"margin":[1],"backDisabled":[4,"back-disabled"],"selected":[514]},[[0,"duetStepClick","onDuetStepClick"]]]);
8959
9707
  const DuetTab = /*@__PURE__*/proxyCustomElement(DuetTab$1, [6,"duet-tab",{"label":[513],"selected":[516]}]);
8960
- const DuetTabGroup = /*@__PURE__*/proxyCustomElement(DuetTabGroup$1, [6,"duet-tab-group",{"theme":[1025],"variation":[1],"language":[1025],"label":[1],"labelHidden":[4,"label-hidden"],"margin":[1],"padding":[1],"tabs":[32],"selected":[32]}]);
9708
+ const DuetTabGroup = /*@__PURE__*/proxyCustomElement(DuetTabGroup$1, [6,"duet-tab-group",{"theme":[1025],"variation":[1],"language":[1025],"labelDefaults":[1,"label-default"],"label":[1],"labelHidden":[4,"label-hidden"],"margin":[1],"padding":[1],"tabs":[32],"selected":[32]}]);
8961
9709
  const DuetTable = /*@__PURE__*/proxyCustomElement(DuetTable$1, [4,"duet-table",{"theme":[1025],"margin":[1],"variation":[1],"sticky":[4],"stickyDistance":[1,"sticky-distance"],"breakpoint":[1],"matchesBreakpoint":[32]}]);
8962
9710
  const DuetTextarea = /*@__PURE__*/proxyCustomElement(DuetTextarea$1, [2,"duet-textarea",{"margin":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"required":[4],"label":[1],"labelHidden":[4,"label-hidden"],"name":[1],"placeholder":[1],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"maxlength":[2],"minlength":[2],"error":[1],"role":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"value":[1025],"disallowPattern":[1,"disallow-pattern"],"counter":[4],"counterLabel":[1,"counter-label"]}]);
8963
9711
  const DuetToggle = /*@__PURE__*/proxyCustomElement(DuetToggle$1, [2,"duet-toggle",{"theme":[1025],"margin":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"label":[1],"required":[4],"disabled":[516],"checked":[1540],"value":[1537],"identifier":[1],"name":[1],"role":[1]}]);
8964
- const DuetTooltip = /*@__PURE__*/proxyCustomElement(DuetTooltip$1, [1,"duet-tooltip",{"theme":[1025],"language":[1025],"accessibleLabel":[1,"accessible-label"],"accessibleInputLabel":[1,"accessible-input-label"],"accessibleCloseLabel":[1,"accessible-close-label"],"label":[1],"breakpoint":[1],"direction":[1],"positionVertical":[513,"position-vertical"],"positionHorizontal":[513,"position-horizontal"],"active":[1540],"openDown":[32]},[[9,"scroll","onScroll"],[4,"click","handleDocumentClick"]]]);
8965
- const DuetTray = /*@__PURE__*/proxyCustomElement(DuetTray$1, [1,"duet-tray",{"language":[1025],"accessibleCloseLabel":[1,"accessible-close-label"],"accessibleOpenLabel":[1,"accessible-open-label"],"theme":[1025],"active":[516],"autoHide":[4,"auto-hide"],"responsive":[4],"expanded":[32],"hiddenState":[32]},[[9,"scroll","getFrame"],[16,"click","handleBodyClick"]]]);
9712
+ const DuetTooltip = /*@__PURE__*/proxyCustomElement(DuetTooltip$1, [1,"duet-tooltip",{"theme":[1025],"language":[1025],"accessibleLabelDefault":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"accessibleInputLabel":[1,"accessible-input-label"],"accessibleCloseLabelDefault":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"label":[1],"breakpoint":[1],"direction":[1],"positionVertical":[513,"position-vertical"],"positionHorizontal":[513,"position-horizontal"],"active":[1540],"openDown":[32]},[[9,"scroll","onScroll"],[4,"click","handleDocumentClick"]]]);
9713
+ const DuetTray = /*@__PURE__*/proxyCustomElement(DuetTray$1, [1,"duet-tray",{"language":[1025],"accessibleCloseLabelDefaults":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"accessibleOpenLabelDefaults":[1,"accessible-open-label-default"],"accessibleOpenLabel":[1,"accessible-open-label"],"theme":[1025],"active":[516],"autoHide":[4,"auto-hide"],"responsive":[4],"expanded":[32],"hiddenState":[32]},[[9,"scroll","getFrame"],[16,"click","handleBodyClick"]]]);
8966
9714
  const DuetVisuallyHidden = /*@__PURE__*/proxyCustomElement(DuetVisuallyHidden$1, [1,"duet-visually-hidden"]);
8967
9715
  const defineCustomElements = (opts) => {
8968
9716
  if (typeof customElements !== 'undefined') {
@@ -9025,7 +9773,7 @@ const defineCustomElements = (opts) => {
9025
9773
  };
9026
9774
 
9027
9775
  /*
9028
- Stencil Client Platform v2.8.0 | MIT Licensed | https://stenciljs.com
9776
+ Stencil Client Platform v2.9.0 | MIT Licensed | https://stenciljs.com
9029
9777
  */
9030
9778
  /**
9031
9779
  * @license