@duetds/components 6.9.1 → 6.9.3

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 (536) hide show
  1. package/hydrate/index.js +151 -59
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -3
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -3
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +9 -13
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-editable-table_3.cjs.entry.js +5 -5
  20. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -2
  22. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-hero.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-input_2.cjs.entry.js +9 -14
  28. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-list_2.cjs.entry.js +16 -5
  30. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +3 -2
  32. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -2
  34. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-multiselect.cjs.entry.js +16 -2
  37. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-scrollable_3.cjs.entry.js +20 -4
  46. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-select.cjs.entry.js +16 -3
  48. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-slideout.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-textarea.cjs.entry.js +24 -4
  59. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -2
  63. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-tooltip.cjs.entry.js +7 -1
  65. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  68. package/lib/cjs/duet.cjs.js +2 -2
  69. package/lib/cjs/{focus-utils-46e27452.js → focus-utils-05197b44.js} +1 -1
  70. package/lib/cjs/{index-8512a70b.js → index-eee9d583.js} +1 -1
  71. package/lib/cjs/loader.cjs.js +2 -2
  72. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +1 -22
  73. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +0 -1
  74. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +69 -10
  75. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +21 -1
  76. package/lib/collection/components/duet-card/duet-card.css +13 -10
  77. package/lib/collection/components/duet-card/duet-card.js +7 -11
  78. package/lib/collection/components/duet-choice/duet-choice.css +5 -0
  79. package/lib/collection/components/duet-fieldset/duet-fieldset.js +5 -1
  80. package/lib/collection/components/duet-heading/duet-heading.js +4 -1
  81. package/lib/collection/components/duet-hero/duet-hero.css +16 -3
  82. package/lib/collection/components/duet-input/duet-input.js +8 -13
  83. package/lib/collection/components/duet-link/duet-link.css +3 -0
  84. package/lib/collection/components/duet-list/duet-list.js +28 -6
  85. package/lib/collection/components/duet-list-item/duet-list-item.css +309 -72
  86. package/lib/collection/components/duet-list-item/duet-list-item.js +63 -1
  87. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +19 -1
  88. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +19 -1
  89. package/lib/collection/components/duet-multiselect/duet-multiselect.js +32 -1
  90. package/lib/collection/components/duet-select/duet-select.js +15 -2
  91. package/lib/collection/components/duet-tab-group/duet-tab-group.css +17 -4
  92. package/lib/collection/components/duet-tab-group/duet-tab-group.js +55 -2
  93. package/lib/collection/components/duet-textarea/duet-textarea.js +23 -3
  94. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +19 -1
  95. package/lib/collection/components/duet-tooltip/duet-tooltip.js +12 -0
  96. package/lib/collection/components/duet-upload/duet-upload.css +6 -3
  97. package/lib/collection/components/duet-upload/duet-upload.js +1 -1
  98. package/lib/collection/components/duet-upload/upload-item-header.js +1 -1
  99. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  100. package/lib/dist-custom-elements/duet-alert.js +1 -1
  101. package/lib/dist-custom-elements/duet-badge.js +1 -1
  102. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -4
  103. package/lib/dist-custom-elements/duet-breadcrumbs.js +7 -4
  104. package/lib/dist-custom-elements/duet-button.js +1 -1
  105. package/lib/dist-custom-elements/duet-caption.js +1 -1
  106. package/lib/dist-custom-elements/duet-card.js +11 -15
  107. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  108. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  109. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  110. package/lib/dist-custom-elements/duet-choice.js +6 -6
  111. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  112. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  113. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  114. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  115. package/lib/dist-custom-elements/duet-date-picker.js +10 -10
  116. package/lib/dist-custom-elements/duet-divider.js +1 -1
  117. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  118. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  119. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  120. package/lib/dist-custom-elements/duet-footer.js +4 -4
  121. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  122. package/lib/dist-custom-elements/duet-grid.js +1 -1
  123. package/lib/dist-custom-elements/duet-header.js +8 -8
  124. package/lib/dist-custom-elements/duet-heading.js +1 -1
  125. package/lib/dist-custom-elements/duet-hero.js +10 -10
  126. package/lib/dist-custom-elements/duet-icon.js +1 -1
  127. package/lib/dist-custom-elements/duet-input.js +1 -1
  128. package/lib/dist-custom-elements/duet-label.js +1 -1
  129. package/lib/dist-custom-elements/duet-layout.js +1 -1
  130. package/lib/dist-custom-elements/duet-link.js +1 -1
  131. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  132. package/lib/dist-custom-elements/duet-list.js +1 -1
  133. package/lib/dist-custom-elements/duet-logo.js +1 -1
  134. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  135. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -4
  136. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  137. package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -3
  138. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  139. package/lib/dist-custom-elements/duet-modal.js +7 -7
  140. package/lib/dist-custom-elements/duet-multiselect.js +24 -9
  141. package/lib/dist-custom-elements/duet-nav.js +1 -1
  142. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  143. package/lib/dist-custom-elements/duet-notification.js +2 -2
  144. package/lib/dist-custom-elements/duet-number-input.js +9 -9
  145. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  146. package/lib/dist-custom-elements/duet-pagination.js +7 -7
  147. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  148. package/lib/dist-custom-elements/duet-progress.js +1 -1
  149. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  150. package/lib/dist-custom-elements/duet-radio.js +1 -1
  151. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  152. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  153. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  154. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  155. package/lib/dist-custom-elements/duet-select.js +1 -1
  156. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  157. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  158. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  159. package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
  160. package/lib/dist-custom-elements/duet-slideout.js +2 -2
  161. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  162. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  163. package/lib/dist-custom-elements/duet-step.js +4 -4
  164. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  165. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  166. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
  167. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  168. package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
  169. package/lib/dist-custom-elements/duet-tab-group.js +29 -12
  170. package/lib/dist-custom-elements/duet-tab.js +1 -1
  171. package/lib/dist-custom-elements/duet-table.js +1 -1
  172. package/lib/dist-custom-elements/duet-textarea.js +31 -11
  173. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  174. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  175. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  176. package/lib/dist-custom-elements/duet-toolbar-link.js +6 -4
  177. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  178. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  179. package/lib/dist-custom-elements/duet-tray.js +3 -3
  180. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  181. package/lib/dist-custom-elements/duet-upload.js +21 -21
  182. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  183. package/lib/dist-custom-elements/index.js +1 -1
  184. package/lib/dist-custom-elements/{p-72635656.js → p-05d02fd2.js} +1 -1
  185. package/lib/dist-custom-elements/{p-bdc087cb.js → p-070a067c.js} +1 -1
  186. package/lib/dist-custom-elements/{p-b7b7c63b.js → p-084bbc37.js} +1 -1
  187. package/lib/dist-custom-elements/{p-c8659d75.js → p-08f56203.js} +1 -1
  188. package/lib/dist-custom-elements/{p-9175529e.js → p-11726aff.js} +2 -2
  189. package/lib/dist-custom-elements/{p-7392a942.js → p-1b58a33e.js} +2 -2
  190. package/lib/dist-custom-elements/{p-11fbe397.js → p-1fc0569f.js} +1 -1
  191. package/lib/dist-custom-elements/{p-cefb33f9.js → p-220ddc4d.js} +7 -4
  192. package/lib/dist-custom-elements/{p-43bbb094.js → p-2379a67f.js} +7 -3
  193. package/lib/dist-custom-elements/{p-117109e4.js → p-3332f673.js} +1 -1
  194. package/lib/dist-custom-elements/{p-bbf48894.js → p-3a3c90d4.js} +1 -1
  195. package/lib/dist-custom-elements/{p-5e60f757.js → p-47633ac9.js} +16 -21
  196. package/lib/dist-custom-elements/{p-00afad07.js → p-486f5398.js} +1 -1
  197. package/lib/dist-custom-elements/{p-b51fbd15.js → p-48eb0804.js} +2 -2
  198. package/lib/dist-custom-elements/{p-51307fda.js → p-6a4b0b8a.js} +1 -1
  199. package/lib/dist-custom-elements/{p-2a919c81.js → p-743407d6.js} +10 -4
  200. package/lib/dist-custom-elements/{p-afc65a24.js → p-8ac11c5c.js} +2 -2
  201. package/lib/dist-custom-elements/{p-7c4c8cf0.js → p-95748e22.js} +1 -1
  202. package/lib/dist-custom-elements/{p-94df5d2c.js → p-98adfbc0.js} +1 -1
  203. package/lib/dist-custom-elements/{p-57d6495c.js → p-9a4e8a6c.js} +1 -1
  204. package/lib/dist-custom-elements/{p-414fdb0c.js → p-9b058d94.js} +2 -2
  205. package/lib/dist-custom-elements/{p-84d75d9d.js → p-aa927ce0.js} +4 -4
  206. package/lib/dist-custom-elements/{p-69fa1743.js → p-abcc88a0.js} +21 -8
  207. package/lib/dist-custom-elements/p-b36e239a.js +49 -0
  208. package/lib/dist-custom-elements/{p-9f027a93.js → p-be5f6a1d.js} +1 -1
  209. package/lib/dist-custom-elements/{p-f1b800f0.js → p-c4537db0.js} +1 -1
  210. package/lib/dist-custom-elements/{p-c272c5d5.js → p-d8b913a2.js} +5 -5
  211. package/lib/dist-custom-elements/{p-6f661b09.js → p-dbbd6cd5.js} +1 -1
  212. package/lib/dist-custom-elements/{p-c57eccd3.js → p-deb13767.js} +3 -3
  213. package/lib/dist-custom-elements/{p-528cdd3e.js → p-f48f6476.js} +4 -4
  214. package/lib/dist-custom-elements/{p-8d12a863.js → p-fc615ca3.js} +1 -1
  215. package/lib/duet/duet.esm.js +1 -1
  216. package/lib/duet/duet.js +1 -1
  217. package/lib/duet/{p-7dd4e3f6.entry.js → p-0a7ba5c7.entry.js} +1 -1
  218. package/lib/duet/p-0b3515f3.entry.js +4 -0
  219. package/lib/duet/{p-340bef19.system.entry.js → p-11358fff.system.entry.js} +1 -1
  220. package/lib/duet/{p-b1abb582.system.entry.js → p-11758911.system.entry.js} +1 -1
  221. package/lib/duet/{p-7cbc8aa1.system.entry.js → p-11ef8af0.system.entry.js} +1 -1
  222. package/lib/duet/{p-6a8341c1.entry.js → p-155652e9.entry.js} +1 -1
  223. package/lib/duet/{p-78973e79.entry.js → p-173ed9e7.entry.js} +1 -1
  224. package/lib/duet/p-17f84373.entry.js +4 -0
  225. package/lib/duet/{p-825c4e47.system.entry.js → p-1a98ab00.system.entry.js} +1 -1
  226. package/lib/duet/{p-04ccc444.entry.js → p-1b423f25.entry.js} +1 -1
  227. package/lib/duet/p-1c533863.entry.js +4 -0
  228. package/lib/duet/{p-2078d7cd.entry.js → p-1ce8948f.entry.js} +1 -1
  229. package/lib/duet/{p-6a1f0973.system.entry.js → p-1d54c498.system.entry.js} +1 -1
  230. package/lib/duet/{p-a4e42811.system.entry.js → p-1eab9ea5.system.entry.js} +1 -1
  231. package/lib/duet/p-1ebda85b.entry.js +4 -0
  232. package/lib/duet/{p-c16de43f.system.entry.js → p-21381440.system.entry.js} +1 -1
  233. package/lib/duet/{p-2695e6c6.entry.js → p-23361048.entry.js} +1 -1
  234. package/lib/duet/{p-a190f8b9.system.js → p-24fea307.system.js} +1 -1
  235. package/lib/duet/{p-d8422099.system.js → p-259d5d84.system.js} +1 -1
  236. package/lib/duet/p-25f897af.system.entry.js +4 -0
  237. package/lib/duet/{p-bf37cb60.system.entry.js → p-28a49e7e.system.entry.js} +1 -1
  238. package/lib/duet/{p-cfebc130.system.entry.js → p-2a22b73f.system.entry.js} +1 -1
  239. package/lib/duet/{p-64b14d85.system.entry.js → p-2b68991e.system.entry.js} +1 -1
  240. package/lib/duet/p-2c89239c.entry.js +4 -0
  241. package/lib/duet/p-2cc41c08.entry.js +4 -0
  242. package/lib/duet/{p-9fc991c2.system.entry.js → p-2e931fc4.system.entry.js} +2 -2
  243. package/lib/duet/{p-8a517f70.system.entry.js → p-2f389915.system.entry.js} +1 -1
  244. package/lib/duet/{p-50b51053.entry.js → p-3014636c.entry.js} +1 -1
  245. package/lib/duet/{p-f25db9b8.entry.js → p-34429ce9.entry.js} +1 -1
  246. package/lib/duet/{p-99ccb2c2.system.entry.js → p-349331d9.system.entry.js} +1 -1
  247. package/lib/duet/{p-539034b3.system.entry.js → p-34f27b50.system.entry.js} +1 -1
  248. package/lib/duet/{p-9cd3ea60.system.entry.js → p-357cc693.system.entry.js} +1 -1
  249. package/lib/duet/p-36481d15.system.entry.js +4 -0
  250. package/lib/duet/{p-cb5771c5.entry.js → p-3712296a.entry.js} +1 -1
  251. package/lib/duet/{p-00c11b87.entry.js → p-3847ef6d.entry.js} +1 -1
  252. package/lib/duet/{p-618615d1.system.entry.js → p-395d05bb.system.entry.js} +1 -1
  253. package/lib/duet/{p-2d6e3927.system.entry.js → p-396a1d2a.system.entry.js} +1 -1
  254. package/lib/duet/{p-4bdd34bc.system.entry.js → p-3c41107f.system.entry.js} +1 -1
  255. package/lib/duet/p-3d47e55b.entry.js +4 -0
  256. package/lib/duet/{p-a0bcc46c.system.entry.js → p-402b0ebf.system.entry.js} +1 -1
  257. package/lib/duet/p-407f6a22.entry.js +4 -0
  258. package/lib/duet/{p-56b4f6e5.system.entry.js → p-414a631b.system.entry.js} +1 -1
  259. package/lib/duet/{p-54a44e1e.system.entry.js → p-442c8063.system.entry.js} +1 -1
  260. package/lib/duet/{p-fec9ec39.entry.js → p-48449639.entry.js} +1 -1
  261. package/lib/duet/{p-7e9e10ab.entry.js → p-48556df8.entry.js} +1 -1
  262. package/lib/duet/{p-d2d14d3b.system.entry.js → p-4add9927.system.entry.js} +1 -1
  263. package/lib/duet/p-4b9ca577.system.js +4 -0
  264. package/lib/duet/{p-08b03779.system.entry.js → p-4ce9c319.system.entry.js} +1 -1
  265. package/lib/duet/{p-c19d32af.system.entry.js → p-4d4f0b19.system.entry.js} +1 -1
  266. package/lib/duet/p-4e6acc63.system.entry.js +4 -0
  267. package/lib/duet/{p-fb352dcf.system.entry.js → p-4e8ffea9.system.entry.js} +1 -1
  268. package/lib/duet/p-4faeaadc.system.entry.js +4 -0
  269. package/lib/duet/{p-4879ffe9.js → p-57efae9d.js} +1 -1
  270. package/lib/duet/{p-960503a3.entry.js → p-59ca36c2.entry.js} +1 -1
  271. package/lib/duet/{p-14e3383d.system.entry.js → p-59d60527.system.entry.js} +1 -1
  272. package/lib/duet/p-5bfdb0c0.system.entry.js +4 -0
  273. package/lib/duet/p-5f68a158.entry.js +4 -0
  274. package/lib/duet/{p-2e1e2d3d.entry.js → p-653a0453.entry.js} +1 -1
  275. package/lib/duet/{p-133d2ee1.system.entry.js → p-661af5a7.system.entry.js} +1 -1
  276. package/lib/duet/{p-b3f12c59.entry.js → p-672928d4.entry.js} +1 -1
  277. package/lib/duet/p-68102093.system.entry.js +4 -0
  278. package/lib/duet/{p-1263323e.system.entry.js → p-68f54c0a.system.entry.js} +1 -1
  279. package/lib/duet/{p-22caa775.entry.js → p-6b43c686.entry.js} +1 -1
  280. package/lib/duet/{p-4c286dee.system.entry.js → p-6cf4109e.system.entry.js} +1 -1
  281. package/lib/duet/{p-5abf961b.system.entry.js → p-724367a5.system.entry.js} +1 -1
  282. package/lib/duet/{p-05f30291.entry.js → p-74152c5e.entry.js} +1 -1
  283. package/lib/duet/{p-76bac602.system.entry.js → p-7b092de5.system.entry.js} +1 -1
  284. package/lib/duet/{p-3856f3a8.entry.js → p-7e9ebcb2.entry.js} +1 -1
  285. package/lib/duet/p-7ea72ed8.entry.js +4 -0
  286. package/lib/duet/{p-1254c99a.entry.js → p-7ef9de3e.entry.js} +1 -1
  287. package/lib/duet/{p-b308ce5d.system.entry.js → p-7f39a8a5.system.entry.js} +1 -1
  288. package/lib/duet/{p-2f936baf.system.entry.js → p-800dbb26.system.entry.js} +1 -1
  289. package/lib/duet/{p-c213c2f2.system.entry.js → p-83a1e8a9.system.entry.js} +1 -1
  290. package/lib/duet/{p-9616579e.entry.js → p-878386d9.entry.js} +1 -1
  291. package/lib/duet/{p-e13d0460.system.entry.js → p-894225c9.system.entry.js} +1 -1
  292. package/lib/duet/p-8a8425cb.entry.js +4 -0
  293. package/lib/duet/p-8bd1ef85.entry.js +4 -0
  294. package/lib/duet/{p-90fece55.entry.js → p-8bef9998.entry.js} +1 -1
  295. package/lib/duet/p-8c8357ad.entry.js +4 -0
  296. package/lib/duet/{p-aee38b4a.system.entry.js → p-8f98f017.system.entry.js} +1 -1
  297. package/lib/duet/{p-a7d9728a.entry.js → p-910a0043.entry.js} +1 -1
  298. package/lib/duet/p-92a84fa7.system.entry.js +4 -0
  299. package/lib/duet/{p-bb536ec4.entry.js → p-95a3f764.entry.js} +1 -1
  300. package/lib/duet/{p-33bf6eed.system.entry.js → p-96281e8b.system.entry.js} +1 -1
  301. package/lib/duet/{p-bc0ce7e7.entry.js → p-964a54d2.entry.js} +1 -1
  302. package/lib/duet/{p-db9f9e24.entry.js → p-9664ebdc.entry.js} +1 -1
  303. package/lib/duet/{p-154c0d34.entry.js → p-9910f982.entry.js} +1 -1
  304. package/lib/duet/{p-c3c98ddf.entry.js → p-997df7b3.entry.js} +1 -1
  305. package/lib/duet/{p-736eb6f6.system.entry.js → p-9a7822e3.system.entry.js} +1 -1
  306. package/lib/duet/p-9b874e31.entry.js +4 -0
  307. package/lib/duet/{p-80973cda.system.entry.js → p-9f207355.system.entry.js} +1 -1
  308. package/lib/duet/p-a224fc1a.entry.js +4 -0
  309. package/lib/duet/{p-a4a9705f.entry.js → p-a71e810d.entry.js} +1 -1
  310. package/lib/duet/{p-0e8dab5b.system.entry.js → p-a99957df.system.entry.js} +1 -1
  311. package/lib/duet/p-aad61eac.entry.js +4 -0
  312. package/lib/duet/p-aae6309d.entry.js +4 -0
  313. package/lib/duet/{p-018b0ffe.entry.js → p-aaf572b3.entry.js} +1 -1
  314. package/lib/duet/{p-7743d05c.entry.js → p-abc29e21.entry.js} +1 -1
  315. package/lib/duet/{p-eb4393ed.entry.js → p-ac42a831.entry.js} +1 -1
  316. package/lib/duet/{p-b656b461.entry.js → p-b1d50c67.entry.js} +1 -1
  317. package/lib/duet/{p-27cc2332.entry.js → p-b3fcc7af.entry.js} +1 -1
  318. package/lib/duet/{p-d51ed3e2.system.entry.js → p-b71fca88.system.entry.js} +1 -1
  319. package/lib/duet/{p-187c9ec6.system.entry.js → p-b78516ae.system.entry.js} +1 -1
  320. package/lib/duet/{p-71779b62.entry.js → p-bca173de.entry.js} +1 -1
  321. package/lib/duet/{p-376ec229.entry.js → p-be6da1bf.entry.js} +1 -1
  322. package/lib/duet/{p-fa0896f4.system.entry.js → p-c307f048.system.entry.js} +1 -1
  323. package/lib/duet/{p-94f2509c.system.entry.js → p-c955c3c0.system.entry.js} +1 -1
  324. package/lib/duet/{p-35907d51.system.entry.js → p-cabe3f7c.system.entry.js} +1 -1
  325. package/lib/duet/{p-df1531b7.system.entry.js → p-cc67de6a.system.entry.js} +1 -1
  326. package/lib/duet/{p-abbcf5dc.entry.js → p-cc86b267.entry.js} +1 -1
  327. package/lib/duet/{p-ed222f86.entry.js → p-cd7bf69f.entry.js} +1 -1
  328. package/lib/duet/{p-c141d219.system.entry.js → p-d1a0472a.system.entry.js} +1 -1
  329. package/lib/duet/{p-417c1eca.system.entry.js → p-d43a06e6.system.entry.js} +1 -1
  330. package/lib/duet/{p-84881c84.system.entry.js → p-d66220a1.system.entry.js} +1 -1
  331. package/lib/duet/{p-e920e34f.system.entry.js → p-d9499685.system.entry.js} +1 -1
  332. package/lib/duet/{p-9d36613e.system.entry.js → p-d9667ce7.system.entry.js} +2 -2
  333. package/lib/duet/{p-5c2dd50b.system.entry.js → p-da0d4641.system.entry.js} +1 -1
  334. package/lib/duet/p-da0eeef6.entry.js +4 -0
  335. package/lib/duet/p-db400c06.entry.js +4 -0
  336. package/lib/duet/{p-8b7b4c46.entry.js → p-dd32b730.entry.js} +1 -1
  337. package/lib/duet/{p-f28d27a4.system.entry.js → p-ddb0e72b.system.entry.js} +1 -1
  338. package/lib/duet/{p-a3f23363.entry.js → p-dfdd58b9.entry.js} +1 -1
  339. package/lib/duet/{p-361ce072.system.entry.js → p-e13f59e4.system.entry.js} +1 -1
  340. package/lib/duet/{p-3d3e5e9e.entry.js → p-e2a2e011.entry.js} +1 -1
  341. package/lib/duet/{p-45a939b3.entry.js → p-e4f8292f.entry.js} +1 -1
  342. package/lib/duet/{p-e9fb2c3b.system.entry.js → p-e5294139.system.entry.js} +1 -1
  343. package/lib/duet/{p-a29118e6.entry.js → p-e56a2b7e.entry.js} +1 -1
  344. package/lib/duet/{p-75a307e4.entry.js → p-e6b7aee0.entry.js} +1 -1
  345. package/lib/duet/{p-01ca2f64.system.entry.js → p-e71f044b.system.entry.js} +1 -1
  346. package/lib/duet/{p-1666fed9.system.entry.js → p-e7bfb225.system.entry.js} +1 -1
  347. package/lib/duet/{p-3a21d43b.system.entry.js → p-edc52faf.system.entry.js} +1 -1
  348. package/lib/duet/{p-e1919861.js → p-f1572d2f.js} +1 -1
  349. package/lib/duet/{p-981b43c2.entry.js → p-f461ac1c.entry.js} +1 -1
  350. package/lib/duet/{p-dc1f60cd.system.entry.js → p-f4b9cbc6.system.entry.js} +1 -1
  351. package/lib/duet/{p-51160aa4.entry.js → p-f5e31079.entry.js} +1 -1
  352. package/lib/duet/{p-faeed6cf.entry.js → p-fb400276.entry.js} +1 -1
  353. package/lib/duet/{p-58833aca.entry.js → p-fd2a5cac.entry.js} +1 -1
  354. package/lib/esm/duet-action-button.entry.js +1 -1
  355. package/lib/esm/duet-alert.entry.js +1 -1
  356. package/lib/esm/duet-badge.entry.js +1 -1
  357. package/lib/esm/duet-breadcrumb.entry.js +2 -3
  358. package/lib/esm/duet-breadcrumbs.entry.js +5 -3
  359. package/lib/esm/duet-button_2.entry.js +1 -1
  360. package/lib/esm/duet-caption_4.entry.js +3 -3
  361. package/lib/esm/duet-card.entry.js +9 -13
  362. package/lib/esm/duet-checkbox.entry.js +1 -1
  363. package/lib/esm/duet-checkmark.entry.js +1 -1
  364. package/lib/esm/duet-choice_2.entry.js +3 -3
  365. package/lib/esm/duet-collapsible.entry.js +1 -1
  366. package/lib/esm/duet-combobox.entry.js +1 -1
  367. package/lib/esm/duet-contact-card.entry.js +1 -1
  368. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  369. package/lib/esm/duet-date-picker.entry.js +2 -2
  370. package/lib/esm/duet-divider_2.entry.js +1 -1
  371. package/lib/esm/duet-editable-table_3.entry.js +5 -5
  372. package/lib/esm/duet-empty-state.entry.js +1 -1
  373. package/lib/esm/duet-fieldset.entry.js +6 -2
  374. package/lib/esm/duet-footer.entry.js +1 -1
  375. package/lib/esm/duet-grid_2.entry.js +1 -1
  376. package/lib/esm/duet-header_2.entry.js +1 -1
  377. package/lib/esm/duet-hero.entry.js +2 -2
  378. package/lib/esm/duet-icon.entry.js +1 -1
  379. package/lib/esm/duet-input_2.entry.js +9 -14
  380. package/lib/esm/duet-layout.entry.js +1 -1
  381. package/lib/esm/duet-list_2.entry.js +16 -5
  382. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  383. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -2
  384. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  385. package/lib/esm/duet-menu-bar-link.entry.js +3 -2
  386. package/lib/esm/duet-menu-bar.entry.js +1 -1
  387. package/lib/esm/duet-modal.entry.js +2 -2
  388. package/lib/esm/duet-multiselect.entry.js +16 -2
  389. package/lib/esm/duet-nav.entry.js +1 -1
  390. package/lib/esm/duet-notification_2.entry.js +1 -1
  391. package/lib/esm/duet-number-input.entry.js +1 -1
  392. package/lib/esm/duet-page-heading.entry.js +1 -1
  393. package/lib/esm/duet-pagination_2.entry.js +1 -1
  394. package/lib/esm/duet-progress.entry.js +1 -1
  395. package/lib/esm/duet-radio_2.entry.js +1 -1
  396. package/lib/esm/duet-range-slider.entry.js +1 -1
  397. package/lib/esm/duet-scrollable_3.entry.js +20 -4
  398. package/lib/esm/duet-section-layout.entry.js +1 -1
  399. package/lib/esm/duet-select.entry.js +16 -3
  400. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  401. package/lib/esm/duet-slideout-link.entry.js +1 -1
  402. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  403. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  404. package/lib/esm/duet-slideout.entry.js +2 -2
  405. package/lib/esm/duet-step_2.entry.js +1 -1
  406. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  407. package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
  408. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  409. package/lib/esm/duet-submenu-bar.entry.js +1 -1
  410. package/lib/esm/duet-textarea.entry.js +24 -4
  411. package/lib/esm/duet-toggle.entry.js +1 -1
  412. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  413. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  414. package/lib/esm/duet-toolbar-link.entry.js +3 -2
  415. package/lib/esm/duet-toolbar.entry.js +1 -1
  416. package/lib/esm/duet-tooltip.entry.js +7 -1
  417. package/lib/esm/duet-tray.entry.js +1 -1
  418. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  419. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  420. package/lib/esm/duet.js +3 -3
  421. package/lib/esm/{focus-utils-3483f616.js → focus-utils-babfdd77.js} +1 -1
  422. package/lib/esm/{index-fff18e02.js → index-1f0abe67.js} +1 -1
  423. package/lib/esm/loader.js +3 -3
  424. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  425. package/lib/esm-es5/duet-alert.entry.js +1 -1
  426. package/lib/esm-es5/duet-badge.entry.js +1 -1
  427. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  428. package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
  429. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  430. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  431. package/lib/esm-es5/duet-card.entry.js +1 -1
  432. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  433. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  434. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  435. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  436. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  437. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  438. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  439. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  440. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  441. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  442. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  443. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  444. package/lib/esm-es5/duet-footer.entry.js +1 -1
  445. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  446. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  447. package/lib/esm-es5/duet-hero.entry.js +2 -2
  448. package/lib/esm-es5/duet-icon.entry.js +1 -1
  449. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  450. package/lib/esm-es5/duet-layout.entry.js +1 -1
  451. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  452. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  453. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  454. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  455. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  456. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  457. package/lib/esm-es5/duet-modal.entry.js +1 -1
  458. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  459. package/lib/esm-es5/duet-nav.entry.js +1 -1
  460. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  461. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  462. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  463. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  464. package/lib/esm-es5/duet-progress.entry.js +1 -1
  465. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  466. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  467. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  468. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  469. package/lib/esm-es5/duet-select.entry.js +1 -1
  470. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  471. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  472. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  473. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  474. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  475. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  476. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  477. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  478. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  479. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  480. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  481. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  482. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  483. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  484. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  485. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  486. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  487. package/lib/esm-es5/duet-tray.entry.js +1 -1
  488. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  489. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  490. package/lib/esm-es5/duet.js +1 -1
  491. package/lib/esm-es5/{focus-utils-3483f616.js → focus-utils-babfdd77.js} +1 -1
  492. package/lib/esm-es5/{index-fff18e02.js → index-1f0abe67.js} +1 -1
  493. package/lib/esm-es5/loader.js +1 -1
  494. package/lib/types/common-types.d.ts +1 -0
  495. package/lib/types/components/duet-breadcrumbs/duet-breadcrumbs.d.ts +4 -0
  496. package/lib/types/components/duet-heading/duet-heading.d.ts +3 -0
  497. package/lib/types/components/duet-list/duet-list.d.ts +9 -3
  498. package/lib/types/components/duet-list-item/duet-list-item.d.ts +13 -0
  499. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +6 -0
  500. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +6 -0
  501. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +5 -0
  502. package/lib/types/components/duet-select/duet-select.d.ts +2 -0
  503. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +10 -0
  504. package/lib/types/components/duet-textarea/duet-textarea.d.ts +3 -0
  505. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +6 -0
  506. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +2 -0
  507. package/lib/types/components.d.ts +66 -4
  508. package/package.json +5 -5
  509. package/lib/dist-custom-elements/p-98b0f345.js +0 -37
  510. package/lib/duet/p-02fb736a.entry.js +0 -4
  511. package/lib/duet/p-097c4d0c.entry.js +0 -4
  512. package/lib/duet/p-0ab4083f.entry.js +0 -4
  513. package/lib/duet/p-0ca53854.system.entry.js +0 -4
  514. package/lib/duet/p-1739bdd1.entry.js +0 -4
  515. package/lib/duet/p-2c28eb80.entry.js +0 -4
  516. package/lib/duet/p-2c6e4614.entry.js +0 -4
  517. package/lib/duet/p-3a28cf58.entry.js +0 -4
  518. package/lib/duet/p-46ca69cf.system.entry.js +0 -4
  519. package/lib/duet/p-4b7f3ac1.system.js +0 -4
  520. package/lib/duet/p-57f981bd.entry.js +0 -4
  521. package/lib/duet/p-5c83e833.entry.js +0 -4
  522. package/lib/duet/p-614194b1.entry.js +0 -4
  523. package/lib/duet/p-61e84177.entry.js +0 -4
  524. package/lib/duet/p-64297b4d.system.entry.js +0 -4
  525. package/lib/duet/p-71e63186.system.entry.js +0 -4
  526. package/lib/duet/p-86201340.system.entry.js +0 -4
  527. package/lib/duet/p-9389ce47.entry.js +0 -4
  528. package/lib/duet/p-a113525c.entry.js +0 -4
  529. package/lib/duet/p-a6751ba6.entry.js +0 -4
  530. package/lib/duet/p-b2be54b5.system.entry.js +0 -4
  531. package/lib/duet/p-c70da05a.system.entry.js +0 -4
  532. package/lib/duet/p-cd410e2a.entry.js +0 -4
  533. package/lib/duet/p-d22e694c.entry.js +0 -4
  534. package/lib/duet/p-d924703a.entry.js +0 -4
  535. package/lib/duet/p-dc566220.entry.js +0 -4
  536. package/lib/duet/p-e4626c0e.entry.js +0 -4
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-44df1d37.js');
11
11
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetPageHeadingCss = "*,*::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-page-heading{position:relative;display:block;width:100%;margin:0 auto;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\";color:rgb(0, 41, 77)}.duet-page-heading.duet-p-0{padding:0 !important}.duet-page-heading.duet-m-0{margin:0 !important}.duet-page-heading.fluid,.duet-page-heading.narrow{padding:0 16px}@media (min-width: 36em){.duet-page-heading.fluid{padding:0 28px}}@media (min-width: 62em){.duet-page-heading.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-page-heading.fluid{max-width:1110px;padding:0}}.duet-page-heading.narrow{max-width:888px}@media (min-width: 36em){.duet-page-heading.narrow{padding:0 48px}}@media (min-width: 48em){.duet-page-heading.narrow{padding:0 72px}}.duet-page-heading .heading{max-width:744px;padding:48px 90px 16px 0}@media (min-width: 48em){.duet-page-heading .heading{padding:72px 150px 40px 0}}.duet-page-heading .background{position:absolute;top:0;right:0;left:0;width:100%;max-width:744px;height:104px;margin:0 auto;margin:0 auto}@media (min-width: 48em){.duet-page-heading .background{height:165px}}.duet-page-heading .background .background-mask{position:absolute;top:-20px;right:0;display:block;width:286px;height:331px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain}@media (min-width: 48em){.duet-page-heading .background .background-mask{top:-40px;width:502px;height:577px}}.duet-page-heading .background .brand-shape{position:absolute;top:-157px;right:-20px;width:185px;height:185px;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.2;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shape{top:-280px;right:-40px;width:325px;height:325px}}.duet-page-heading .background .brand-shape.second-shape{top:-182px;right:100px;width:207px;height:207px;background:rgb(11, 114, 136);opacity:0.1}@media (min-width: 48em){.duet-page-heading .background .brand-shape.second-shape{top:-325px;right:200px;width:365px;height:365px}}.duet-page-heading .background .brand-shaped-icon{position:absolute;top:20px;right:16px;display:flex;align-items:center;justify-content:center;width:85px;width:60px;height:85px;height:60px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon{right:36px;width:93px;height:93px}}.duet-page-heading .background .brand-shaped-icon duet-icon{width:60px;height:60px;transform:rotate(-7deg)}@media (min-width: 48em){.duet-page-heading .background .brand-shaped-icon duet-icon{width:75px;height:75px}}.duet-page-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:rgb(0, 41, 77)}.duet-page-heading.duet-theme-turva .brand-shaped-icon{background:rgba(198, 12, 48, 0.9);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");-webkit-mask-repeat:no-repeat;mask-image:url(\"data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E\");mask-repeat:no-repeat}.duet-page-heading.duet-theme-turva .brand-shaped-icon duet-icon{position:relative;top:-3px}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const jsUtils = require('./js-utils-134e0318.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-44df1d37.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const tokens_module = require('./tokens.module-d402cfac.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-44df1d37.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -183,13 +183,14 @@ const DuetTab = class {
183
183
  };
184
184
  DuetTab.style = duetTabCss;
185
185
 
186
- const duetTabGroupCss = "*,*::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;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:block}}.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom-color:rgb(228, 228, 230)}.duet-tab-variation-checked .duet-tab-group-tabs{display:flex;gap:8px;padding-right:16px;padding-left:16px;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-variation-checked .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-group-tabs{overflow:visible}}.duet-tab-plain-scrolling .duet-tab-group-tabs{display:flex;overflow-x:scroll;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-plain-scrolling .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-plain-scrolling .duet-tab-group-tabs{display:block;overflow:auto}}@media (min-width: 36em){duet-select{display:none !important}}.duet-tab-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;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-weight:600;line-height:1.1;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer;background:rgb(255, 255, 255);border:2px solid rgb(225, 227, 230);border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0{padding:0 !important}.duet-tab-button.duet-m-0{margin:0 !important}.duet-theme-turva .duet-tab-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-tab-button.duet-p-0{padding:0 !important}@media (min-width: 36em){.duet-tab-button{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid rgb(225, 227, 230);border-radius:0}}.duet-tab-button:hover{z-index:200;border-color:rgb(144, 149, 153)}.duet-theme-turva .duet-tab-button:hover{border-color:rgb(116, 116, 117)}.duet-tab-button:active{opacity:0.75;transition:none}.duet-tab-button.selected{z-index:201;color:rgb(255, 255, 255);background:rgb(0, 41, 77);border-color:rgb(0, 41, 77);outline:0;box-shadow:none !important}.duet-theme-turva .duet-tab-button.selected{color:rgb(255, 255, 255);background-color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.duet-tab-button:focus{z-index:200;outline:0}:host(.user-is-tabbing) .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important}:host(.user-is-tabbing) .duet-theme-turva .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important}.duet-tab-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain .duet-tab-button{display:inline-block;width:auto;padding-right:0;padding-left:0;margin-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain .duet-tab-button+.duet-tab-button{margin-left:36px}.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(0, 119, 179);background:rgb(255, 255, 255);border-bottom:3px solid rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(198, 12, 48);border-bottom-color:rgb(198, 12, 48)}.duet-tab-variation-checked .duet-tab-button{position:relative;display:inline-block;flex-basis:0;flex-grow:1;width:200px;min-width:200px;padding:16px;border-color:rgb(207, 210, 212);border-bottom-color:rgb(0, 119, 179);border-radius:4px 4px 0 0;transition:none}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button{border-color:rgb(207, 210, 212);border-bottom-color:rgb(68, 68, 69)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button{min-width:0}}.duet-tab-variation-checked .duet-tab-button.stackable-tab{min-width:0}.duet-tab-variation-checked .duet-tab-button:first-child{margin-left:auto}.duet-tab-variation-checked .duet-tab-button:last-child{margin-right:auto}.duet-tab-variation-checked .duet-tab-button:active{opacity:1;transition:none}.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(0, 119, 179);background:linear-gradient(180deg, rgb(243, 249, 252) 0%, rgb(255, 255, 255) 100%);border-color:rgb(0, 119, 179);border-bottom-color:#fff}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(23, 28, 58);background:linear-gradient(180deg, rgb(245, 245, 247) 0%, rgb(255, 255, 255) 100%);border-color:rgb(68, 68, 69);border-bottom-color:#fff}.duet-tab-variation-checked .duet-tab-button .checked-tab-content{display:flex;flex-direction:row;justify-content:space-between}.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:column;height:100%}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:row}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description{display:flex;flex-direction:column;overflow:hidden;overflow-wrap:break-word}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:center}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:left}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{margin-top:4px;font-weight:400;color:rgb(101, 119, 135)}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:-1}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:1}}.duet-tab-group-content{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:rgb(0, 41, 77);text-align:left}.duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important}.duet-theme-turva .duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important}.duet-tab-group-content.checked-group-content{padding:28px 0 28px 0}.duet-tab-group-content.checked-group-content::after{position:absolute;top:-2px;left:0;width:100%;height:2px;content:\" \";background-color:rgb(0, 119, 179)}.duet-theme-turva .duet-tab-group-content{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-theme-turva .duet-tab-group-content.checked-group-content::after{background-color:rgb(68, 68, 69)}";
186
+ const duetTabGroupCss = "*,*::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;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-collapses.duet-tab-group-hidden{display:block}}.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-group-tabs{border-bottom-color:rgb(228, 228, 230)}.duet-tab-variation-checked .duet-tab-group-tabs{display:flex;gap:4px;padding-right:12px;padding-left:12px;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-variation-checked .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-group-tabs{gap:8px;padding-right:16px;padding-left:16px;overflow:visible}}.duet-tab-plain-scrolling .duet-tab-group-tabs{display:flex;overflow-x:scroll;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}.duet-tab-plain-scrolling .duet-tab-group-tabs::-webkit-scrollbar{display:none}@media (min-width: 36em){.duet-tab-plain-scrolling .duet-tab-group-tabs{display:block;overflow:auto}}@media (min-width: 36em){duet-select{display:none !important}}.duet-tab-button{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;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-weight:600;line-height:1.1;color:rgb(0, 41, 77);text-align:left;text-decoration:none;cursor:pointer;background:rgb(255, 255, 255);border:2px solid rgb(225, 227, 230);border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0{padding:0 !important}.duet-tab-button.duet-m-0{margin:0 !important}.duet-theme-turva .duet-tab-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58);border-color:rgb(228, 228, 230)}.duet-tab-button.duet-p-0{padding:0 !important}@media (min-width: 36em){.duet-tab-button{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid rgb(225, 227, 230);border-radius:0}}.duet-tab-button:hover{z-index:200;border-color:rgb(144, 149, 153)}.duet-theme-turva .duet-tab-button:hover{border-color:rgb(116, 116, 117)}.duet-tab-button:active{opacity:0.75;transition:none}.duet-tab-button.selected{z-index:201;color:rgb(255, 255, 255);background:rgb(0, 41, 77);border-color:rgb(0, 41, 77);outline:0;box-shadow:none !important}.duet-theme-turva .duet-tab-button.selected{color:rgb(255, 255, 255);background-color:rgb(23, 28, 58);border-color:rgb(23, 28, 58)}.duet-tab-button:focus{z-index:200;outline:0}:host(.user-is-tabbing) .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important}:host(.user-is-tabbing) .duet-theme-turva .duet-tab-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important}.duet-tab-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain .duet-tab-button{display:inline-block;width:auto;padding-right:0;padding-left:0;margin-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain .duet-tab-button+.duet-tab-button{margin-left:36px}.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(0, 119, 179);background:rgb(255, 255, 255);border-bottom:3px solid rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-plain .duet-tab-button.selected{color:rgb(198, 12, 48);border-bottom-color:rgb(198, 12, 48)}.duet-tab-variation-checked .duet-tab-button{position:relative;display:inline-block;flex-basis:0;flex-grow:1;width:200px;min-width:200px;padding:8px 4px;border-color:rgb(207, 210, 212);border-bottom-color:rgb(0, 119, 179);border-radius:4px 4px 0 0;transition:none}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button{border-color:rgb(207, 210, 212);border-bottom-color:rgb(68, 68, 69)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button{min-width:0;padding:16px}}.duet-tab-variation-checked .duet-tab-button.stackable-tab{min-width:0}.duet-tab-variation-checked .duet-tab-button:first-child{margin-left:auto}.duet-tab-variation-checked .duet-tab-button:last-child{margin-right:auto}.duet-tab-variation-checked .duet-tab-button:active{opacity:1;transition:none}.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(0, 119, 179);background:linear-gradient(180deg, rgb(243, 249, 252) 0%, rgb(255, 255, 255) 100%);border-color:rgb(0, 119, 179);border-bottom-color:#fff}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button.selected{color:rgb(23, 28, 58);background:linear-gradient(180deg, rgb(245, 245, 247) 0%, rgb(255, 255, 255) 100%);border-color:rgb(68, 68, 69);border-bottom-color:#fff}.duet-tab-variation-checked .duet-tab-button .checked-tab-content{display:flex;flex-direction:row;justify-content:space-between}.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:column;height:100%}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content.stackable-checked-tab-content{flex-direction:row}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description{display:flex;flex-direction:column;overflow:hidden;overflow-wrap:break-word}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:center}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description.stackable-description{text-align:left}}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{margin-top:4px;font-size:0.875rem;font-weight:400;color:rgb(101, 119, 135)}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{font-size:1rem;text-align:left}}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(0, 119, 179)}.duet-theme-turva.duet-tab-variation-checked .duet-tab-button .checked-tab-content .checked-tab-description .tab-caption.selected{color:rgb(68, 68, 69)}.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:-1;margin-top:8px;margin-bottom:8px}@media (min-width: 36em){.duet-tab-variation-checked .duet-tab-button .checked-tab-content .stackable-checkmark{order:1}}.duet-tab-group-content{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:rgb(0, 41, 77);text-align:left}.duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important}.duet-theme-turva .duet-tab-group-content:focus{outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important}.duet-tab-group-content.checked-group-content{padding:28px 0 28px 0}.duet-tab-group-content.checked-group-content::after{position:absolute;top:-2px;left:0;width:100%;height:2px;content:\" \";background-color:rgb(0, 119, 179)}.duet-theme-turva .duet-tab-group-content{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-theme-turva .duet-tab-group-content.checked-group-content::after{background-color:rgb(68, 68, 69)}";
187
187
 
188
188
  const DuetTabGroup = class {
189
189
  constructor(hostRef) {
190
190
  index.registerInstance(this, hostRef);
191
191
  this.duetChange = index.createEvent(this, "duetChange", 3);
192
192
  this.duetTabChange = index.createEvent(this, "duetTabChange", 7);
193
+ this.duetTabChangeRequested = index.createEvent(this, "duetTabChangeRequested", 7);
193
194
  this.id = createId.createID("DuetTabGroup");
194
195
  /**
195
196
  * Component event handling.
@@ -208,6 +209,20 @@ const DuetTabGroup = class {
208
209
  button.focus();
209
210
  }
210
211
  };
212
+ this.onTabSelect = (tabIndex) => {
213
+ if (this.tabChangeConfirm) {
214
+ if (tabIndex !== this.selected) {
215
+ const event = {
216
+ value: tabIndex,
217
+ component: "duet-tab-group",
218
+ };
219
+ this.duetTabChangeRequested.emit(event);
220
+ }
221
+ }
222
+ else {
223
+ this.openTab(tabIndex);
224
+ }
225
+ };
211
226
  this.scrollToActive = () => {
212
227
  if (this.variation === "checked" || this.variation === "plain-scrolling") {
213
228
  setTimeout(() => {
@@ -225,7 +240,7 @@ const DuetTabGroup = class {
225
240
  "duet-tab-button": true,
226
241
  "stackable-tab": this.variation === "checked" && this.tabs.length <= 3,
227
242
  selected: element.selected,
228
- }, onClick: () => this.openTab(index$1), onKeyDown: ev => this.handleKeyDown(ev) }, this.variation === "checked" ? (index.h("div", { class: { "checked-tab-content": true, "stackable-checked-tab-content": this.tabs.length <= 3 } }, index.h("div", { class: { "checked-tab-description": true, "stackable-description": this.tabs.length <= 3 } }, index.h("p", null, element.label), index.h("p", { class: { "tab-caption": true, selected: element.selected } }, element.caption)), index.h("div", { class: { "stackable-checkmark": this.tabs.length <= 3 } }, index.h("duet-checkmark", { theme: this.theme, checked: element.selected, type: "radio", "presentation-only": true, center: true })))) : (element.label)));
243
+ }, onClick: () => this.onTabSelect(index$1), onKeyDown: ev => this.handleKeyDown(ev) }, this.variation === "checked" ? (index.h("div", { class: { "checked-tab-content": true, "stackable-checked-tab-content": this.tabs.length <= 3 } }, index.h("div", { class: { "checked-tab-description": true, "stackable-description": this.tabs.length <= 3 } }, index.h("p", null, element.label), index.h("p", { class: { "tab-caption": true, selected: element.selected } }, element.caption)), index.h("div", { class: { "stackable-checkmark": this.tabs.length <= 3 } }, index.h("duet-checkmark", { theme: this.theme, checked: element.selected, type: "radio", "presentation-only": true, center: true })))) : (element.label)));
229
244
  });
230
245
  if (this.scrolls) {
231
246
  return (index.h("duet-scrollable", { selected: this.selected, identifier: this.identifier }, renderedTabs));
@@ -251,6 +266,7 @@ const DuetTabGroup = class {
251
266
  this.margin = "auto";
252
267
  this.padding = "auto";
253
268
  this.setTabIndex = false;
269
+ this.tabChangeConfirm = false;
254
270
  }
255
271
  /**
256
272
  * Component lifecycle events.
@@ -357,7 +373,7 @@ const DuetTabGroup = class {
357
373
  "duet-tab-plain-scrolling": this.variation === "plain-scrolling",
358
374
  "duet-tab-group-scrolls": this.scrolls,
359
375
  "duet-tab-group-collapses": this.collapses,
360
- }, "aria-label": this.accessibleLabel }, !isSwipeScrollable && this.tabs.length > 3 && this.collapses && (index.h("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.openTab(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
376
+ }, "aria-label": this.accessibleLabel }, !isSwipeScrollable && this.tabs.length > 3 && this.collapses && (index.h("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.onTabSelect(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
361
377
  return { label: tab.label, value: index.toString() };
362
378
  }) })), index.h("div", { role: "tablist", class: {
363
379
  "duet-m-0": this.margin === "none" || this.variation === "checked",
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const isInternetExplorer = require('./is-internet-explorer-91361c56.js');
10
10
 
11
11
  const duetSectionLayoutCss = "*,*::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-m-0{margin-top:0 !important;margin-bottom:0 !important}@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{display:block;width:100%}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const stringUtils = require('./string-utils-5cadd058.js');
@@ -67,6 +67,19 @@ const DuetSelect = class {
67
67
  component: "duet-select",
68
68
  });
69
69
  };
70
+ this.getDescribedBy = () => {
71
+ const describedBy = [];
72
+ if (this.isCaptionVisible && this.topCaptionId) {
73
+ describedBy.push(this.topCaptionId);
74
+ }
75
+ if (this.accessibleDescribedBy) {
76
+ describedBy.push(this.accessibleDescribedBy);
77
+ }
78
+ if (this.error) {
79
+ describedBy.push(this.errorId);
80
+ }
81
+ return describedBy.length > 0 ? describedBy.join(" ") : null;
82
+ };
70
83
  this.processedItems = null;
71
84
  this.variation = "default";
72
85
  this.accessibleActiveDescendant = undefined;
@@ -129,7 +142,7 @@ const DuetSelect = class {
129
142
  return item ? item.label : this.placeholder || "";
130
143
  }
131
144
  renderOption(option) {
132
- return (index.h("option", { value: option.value, key: option.value, selected: this.value === option.value, disabled: option.disabled }, option.label));
145
+ return (index.h("option", { "aria-label": option.ariaLabel, value: option.value, key: option.value, selected: this.value === option.value, disabled: option.disabled }, option.label));
133
146
  }
134
147
  renderOptionGroup(group) {
135
148
  return (index.h("optgroup", { key: group.label, label: group.label, disabled: group.disabled }, group.options.map(option => this.renderOption(option))));
@@ -151,7 +164,7 @@ const DuetSelect = class {
151
164
  "duet-select-variation-tiny": this.variation === "tiny",
152
165
  "duet-input-top-caption-shown": this.isCaptionVisible,
153
166
  "has-error": !!this.error,
154
- } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), index.h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": `${this.errorId} ${this.labelId}`, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-errormessage": this.error ? this.errorId : null, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required, "aria-describedby": this.accessibleDescribedBy }, this.placeholder && (index.h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (index.h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
167
+ } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), index.h("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), index.h("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": this.labelId, "aria-describedby": this.getDescribedBy(), "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required }, this.placeholder && (index.h("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (index.h("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
155
168
  return isOptionGroup(item) ? this.renderOptionGroup(item) : this.renderOption(item);
156
169
  }))), index.h("div", { class: {
157
170
  "duet-select": true,
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-44df1d37.js');
11
11
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetSlideoutLinkCss = "*,*::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;width:100%;height:100%}.duet-slideout-link{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 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:inherit;font-weight:inherit;line-height:1.25;color:inherit;text-align:left;text-decoration:none}.duet-slideout-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-slideout-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-slideout-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-slideout-link.active span{position:relative}.duet-slideout-link.active span::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:var(--active-height, 2px);content:\"\";background:rgb(0, 119, 179);transform:var(--active-translate-y, translateY(2px))}.duet-slideout-link.active.duet-theme-turva span::after{background:rgb(198, 12, 48)}.duet-slideout-link.small{font-size:1rem;font-weight:600}.duet-slideout-link.small span::after{--active-height:1px;--active-translate-y:1px}.duet-slideout-link.medium{font-size:1.25rem;font-weight:600}.duet-slideout-link.large{font-size:1.5rem;font-weight:800}.duet-slideout-link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}slot[name=description]::slotted(*){display:block;padding:8px 0 0;font-size:1rem;font-size:1.25;font-weight:400;color:rgb(101, 119, 135)}.duet-theme-turva slot[name=description]::slotted(*){color:rgb(68, 68, 69)}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetSlideoutPanelDropdownCss = "*,*::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;width:100%;height:100%}:host slot:not([name=label])::slotted(*){position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}:host([open]) slot:not([name=label])::slotted(*){top:0;opacity:1}.duet-slideout-panel-dropdown{position:relative;width:100%;height:100%}.duet-slideout-panel-dropdown button{position:relative;display:flex;gap:20px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:8px 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:1.25rem;font-weight:800;line-height:1.25;color:rgb(0, 41, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel-dropdown button .label{position:relative;display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-slideout-panel-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-slideout-panel-dropdown button.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:calc(100% - 18px);height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px)}.duet-slideout-panel-dropdown .items{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:1000px;padding:4px 20px 8px 44px;overflow-y:auto;visibility:visible;transition:max-height 0.3s ease-in, padding-bottom 0.3s ease-in;-ms-overflow-style:none;scrollbar-width:none}.duet-slideout-panel-dropdown .items::-webkit-scrollbar{display:none}.duet-slideout-panel-dropdown .items.hidden{max-height:0;padding:0;overflow:hidden;visibility:hidden;transition:max-height 0.3s ease-out, padding-bottom 0.3s ease-out}.duet-slideout-panel-dropdown.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-slideout-panel-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-slideout-panel-dropdown.duet-theme-turva button.active .label::after{background:rgb(198, 12, 48)}slot{--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:400;color:rgb(0, 41, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}slot[name=label]{font-size:1rem;font-weight:600}";
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
- const focusUtils = require('./focus-utils-46e27452.js');
10
+ const focusUtils = require('./focus-utils-05197b44.js');
11
11
  const languageUtils = require('./language-utils-44df1d37.js');
12
12
  const tokenUtils = require('./token-utils-4bfb15d4.js');
13
13
  require('./string-utils-5cadd058.js');
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
- const focusUtils = require('./focus-utils-46e27452.js');
10
+ const focusUtils = require('./focus-utils-05197b44.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
12
12
  const languageUtils = require('./language-utils-44df1d37.js');
13
13
  const tokenUtils = require('./token-utils-4bfb15d4.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const tokens = require('./tokens-21b244ee.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const tokens = require('./tokens-21b244ee.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const tokens = require('./tokens-21b244ee.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const inputUtils = require('./input-utils-b5e8f524.js');
@@ -36,6 +36,7 @@ const DuetTextarea = class {
36
36
  this.topCaptionPlaceholderId = createId.createID("DuetCaptionPlaceholderTop");
37
37
  this.labelId = createId.createID("DuetLabel");
38
38
  this.errorId = createId.createID("DuetError");
39
+ this.characterCountId = createId.createID("DuetCharacterCount");
39
40
  this.disallowPatternRegex = null;
40
41
  /**
41
42
  * Component event handling.
@@ -68,12 +69,31 @@ const DuetTextarea = class {
68
69
  });
69
70
  };
70
71
  this.handleFocus = (ev) => {
72
+ if (this.counter) {
73
+ this.hiddenCounterLabel.textContent = `${Math.max(this.maxlength - this.value.length, 0)}/${this.maxlength} ${this.counterLabel}`;
74
+ }
71
75
  this.duetFocus.emit({
72
76
  originalEvent: ev,
73
77
  value: this.value,
74
78
  component: "duet-textarea",
75
79
  });
76
80
  };
81
+ this.getDescribedBy = () => {
82
+ const describedBy = [];
83
+ if (this.isCaptionVisible && this.topCaptionId) {
84
+ describedBy.push(this.topCaptionId);
85
+ }
86
+ if (this.accessibleDescribedBy) {
87
+ describedBy.push(this.accessibleDescribedBy);
88
+ }
89
+ if (this.error) {
90
+ describedBy.push(this.errorId);
91
+ }
92
+ if (this.counter) {
93
+ describedBy.push(this.characterCountId);
94
+ }
95
+ return describedBy.length > 0 ? describedBy.join(" ") : null;
96
+ };
77
97
  this.margin = "auto";
78
98
  this.accessibleActiveDescendant = undefined;
79
99
  this.accessibleAutocomplete = undefined;
@@ -148,9 +168,9 @@ const DuetTextarea = class {
148
168
  "duet-label-hidden": this.labelHidden,
149
169
  "duet-input-top-caption-shown": this.isCaptionVisible,
150
170
  "has-error": !!this.error,
151
- } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), index.h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), index.h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy
152
- ? `${this.errorId} ${this.labelId} ${this.accessibleLabelledBy}`
153
- : `${this.errorId} ${this.labelId} `, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-errormessage": this.error ? this.errorId : null, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), index.h("duet-grid", { alignment: "stretch" }, index.h("duet-grid-item", { margin: "none", fill: true }, index.h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && index.h("span", null, this.error))), index.h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (index.h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
171
+ } }, index.h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (index.h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (index.h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), index.h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (index.h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), index.h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), index.h("duet-grid", { alignment: "stretch" }, index.h("duet-grid-item", { margin: "none", fill: true }, index.h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && index.h("span", null, this.error))), index.h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (index.h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))), this.counter && (index.h("duet-visually-hidden", { class: "duet-visually-hidden", id: this.characterCountId, ref: el => {
172
+ this.hiddenCounterLabel = el;
173
+ } })))));
154
174
  }
155
175
  get element() { return index.getElement(this); }
156
176
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetToolbarLinkCss = "*,*::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;height:100%}.duet-toolbar-link{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;white-space:nowrap}.duet-toolbar-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-toolbar-link:hover{color:rgb(0, 41, 77);background:rgb(243, 249, 252)}.duet-toolbar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}.duet-toolbar-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-toolbar-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-toolbar-link.active{color:rgb(0, 41, 77)}.duet-toolbar-link.active::after{position:absolute;top:auto;bottom:1px;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(1px)}.duet-toolbar-link.active::after.duet-theme-turva{background:rgb(198, 12, 48)}.duet-toolbar-link.active.duet-theme-turva{color:rgb(23, 28, 58)}.duet-toolbar-link.active.duet-theme-turva::after{background:rgb(198, 12, 48)}";
@@ -17,6 +17,7 @@ const DuetToolbarLink = class {
17
17
  this.active = false;
18
18
  this.href = "#";
19
19
  this.icon = undefined;
20
+ this.accessibleLabel = undefined;
20
21
  }
21
22
  /**
22
23
  * Component lifecycle events.
@@ -29,7 +30,7 @@ const DuetToolbarLink = class {
29
30
  * Always the last one in the class.
30
31
  */
31
32
  render() {
32
- return (index.h(index.Host, null, index.h("a", { class: { "duet-toolbar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, "aria-current": this.active ? "true" : "false" }, this.icon && (index.h("duet-icon", { size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), index.h("slot", null))));
33
+ return (index.h(index.Host, null, index.h("a", { class: { "duet-toolbar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (index.h("duet-icon", { size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), index.h("slot", null))));
33
34
  }
34
35
  get element() { return index.getElement(this); }
35
36
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetToolbarCss = "*,*::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;width:100%}.duet-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}.duet-toolbar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1384px;height:36px;margin:0 28px;border-bottom:1px solid rgb(225, 227, 230)}.duet-toolbar .list{display:flex;align-items:center;justify-content:space-between;height:100%;list-style-type:none}.duet-toolbar ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-toolbar.duet-theme-turva{background:rgb(255, 255, 255)}.duet-toolbar.duet-theme-turva .container{border-bottom:1px solid rgb(228, 228, 230)}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-44df1d37.js');
@@ -168,6 +168,12 @@ const DuetTooltip = class {
168
168
  }
169
169
  }, 100);
170
170
  }
171
+ handleWindowResize() {
172
+ clearTimeout(this.resizeTimer);
173
+ this.resizeTimer = setTimeout(() => {
174
+ this.handleHorizontalVisibility();
175
+ }, 100);
176
+ }
171
177
  handleDocumentClick(e) {
172
178
  if (!this.active) {
173
179
  return;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
  const tokens_module = require('./tokens.module-d402cfac.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
 
10
10
  const DuetUploadAriaStatus = class {
11
11
  constructor(hostRef) {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-8512a70b.js');
8
+ const index = require('./index-eee9d583.js');
9
9
 
10
10
  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}";
11
11