@duetds/components 10.0.0-alpha.31 → 10.0.0-alpha.32

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 (341) hide show
  1. package/hydrate/index.js +73 -56
  2. package/hydrate/index.mjs +73 -56
  3. package/lib/cjs/{a11y-utils-DDfmTUFZ.js → a11y-utils-gRNAWDsE.js} +1 -1
  4. package/lib/cjs/{app-globals-BUWupN9p.js → app-globals-IqxTFC9D.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +4 -4
  8. package/lib/cjs/duet-banner.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +6 -6
  12. package/lib/cjs/duet-callout.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +11 -11
  14. package/lib/cjs/duet-card.cjs.entry.js +5 -5
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-chip.cjs.entry.js +4 -4
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +5 -5
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +5 -5
  20. package/lib/cjs/duet-combobox.cjs.entry.js +4 -4
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +6 -6
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +11 -8
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +3 -3
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
  32. package/lib/cjs/duet-hero.cjs.entry.js +4 -4
  33. package/lib/cjs/duet-icon.cjs.entry.js +4 -4
  34. package/lib/cjs/duet-indicator.cjs.entry.js +3 -3
  35. package/lib/cjs/duet-input_2.cjs.entry.js +7 -7
  36. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +5 -5
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
  44. package/lib/cjs/duet-modal.cjs.entry.js +7 -7
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +6 -6
  46. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +4 -4
  48. package/lib/cjs/duet-number-input.cjs.entry.js +5 -5
  49. package/lib/cjs/duet-overlay.cjs.entry.js +2 -2
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +2 -2
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +5 -5
  52. package/lib/cjs/duet-panel.cjs.entry.js +2 -2
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +5 -5
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +5 -5
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +6 -6
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +4 -4
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +6 -6
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-select.cjs.entry.js +5 -5
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +3 -3
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +3 -3
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +5 -5
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +2 -2
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +7 -7
  70. package/lib/cjs/duet-slideout.cjs.entry.js +7 -7
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +2 -2
  72. package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +3 -3
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +5 -5
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +3 -3
  78. package/lib/cjs/duet-textarea.cjs.entry.js +50 -34
  79. package/lib/cjs/duet-toggle.cjs.entry.js +5 -5
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +2 -2
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +5 -5
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +2 -2
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  87. package/lib/cjs/duet-tray.cjs.entry.js +4 -4
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +4 -4
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-HU_3reMl.js → errorcodes.utils-CI6sFyqj.js} +1 -1
  93. package/lib/cjs/{focus-utils-DHGNKs9U.js → focus-utils-D6oLee8e.js} +1 -1
  94. package/lib/cjs/{index-CKsfMbRW.js → index-CZgR8hZO.js} +1 -1
  95. package/lib/cjs/{label-DbnS5tex.js → label-DLhV0DOC.js} +1 -1
  96. package/lib/cjs/{language-utils-CYOjMfnd.js → language-utils-iTAyJvsm.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-D4QyzHw3.js → slot-utils-CnfGuEKm.js} +1 -1
  99. package/lib/cjs/{themeable-component-BuC0WY98.js → themeable-component-lQsgCsDa.js} +1 -1
  100. package/lib/cjs/{token-utils-COKjUxmn.js → token-utils-BJtlJxnJ.js} +1 -1
  101. package/lib/cjs/{tokens-9aevMbB1.js → tokens-BxWzRxOl.js} +3 -3
  102. package/lib/cjs/{tokens.module-Bhh9B2g8.js → tokens.module-DJt2h4FX.js} +3 -3
  103. package/lib/collection/components/duet-badge/duet-badge.css +1 -1
  104. package/lib/collection/components/duet-banner/duet-banner.css +1 -1
  105. package/lib/collection/components/duet-button/duet-button.css +7 -7
  106. package/lib/collection/components/duet-chip/duet-chip.css +1 -1
  107. package/lib/collection/components/duet-choice/duet-choice.css +2 -2
  108. package/lib/collection/components/duet-collapsible/duet-collapsible.css +1 -1
  109. package/lib/collection/components/duet-link/duet-link.css +27 -13
  110. package/lib/collection/components/duet-link/duet-link.js +3 -3
  111. package/lib/collection/components/duet-logo/duet-logo.css +1 -1
  112. package/lib/collection/components/duet-multiselect/duet-multiselect.css +1 -1
  113. package/lib/collection/components/duet-number-input/duet-number-input.css +1 -1
  114. package/lib/collection/components/duet-phone-input/duet-phone-input.css +1 -1
  115. package/lib/collection/components/duet-promo-card/duet-promo-card.css +1 -1
  116. package/lib/collection/components/duet-radio/duet-radio.css +2 -2
  117. package/lib/collection/components/duet-range-slider/duet-range-slider.css +1 -1
  118. package/lib/collection/components/duet-select/duet-select.css +1 -1
  119. package/lib/collection/components/duet-table/duet-table.js +3 -3
  120. package/lib/collection/components/duet-textarea/duet-textarea.css +1 -1
  121. package/lib/collection/components/duet-textarea/duet-textarea.js +57 -33
  122. package/lib/collection/components/duet-toggle/duet-toggle.css +1 -1
  123. package/lib/duet/duet.esm.js +1 -1
  124. package/lib/duet/p-086ada06.entry.js +4 -0
  125. package/lib/duet/{p-18c37a64.entry.js → p-092f1ba3.entry.js} +1 -1
  126. package/lib/duet/{p-b9869df2.entry.js → p-0a7a967d.entry.js} +1 -1
  127. package/lib/duet/{p-7def72b6.entry.js → p-0ad4c0ed.entry.js} +1 -1
  128. package/lib/duet/{p-ea010c0c.entry.js → p-0c434757.entry.js} +1 -1
  129. package/lib/duet/{p-fe5f6bf5.entry.js → p-10dda4be.entry.js} +1 -1
  130. package/lib/duet/{p-987f395f.entry.js → p-10fcd200.entry.js} +1 -1
  131. package/lib/duet/{p-208c5266.entry.js → p-15f436de.entry.js} +1 -1
  132. package/lib/duet/{p-82a8d1b8.entry.js → p-1ccd58c5.entry.js} +1 -1
  133. package/lib/duet/{p-b171fbba.entry.js → p-1db13f0b.entry.js} +1 -1
  134. package/lib/duet/{p-7e14f2af.entry.js → p-1e0686a9.entry.js} +1 -1
  135. package/lib/duet/{p-7159567b.entry.js → p-242aa821.entry.js} +1 -1
  136. package/lib/duet/{p-cbc310dc.entry.js → p-2444ec8f.entry.js} +1 -1
  137. package/lib/duet/{p-581bd1e2.entry.js → p-289ccd98.entry.js} +1 -1
  138. package/lib/duet/{p-83471afa.entry.js → p-2e2c2a19.entry.js} +1 -1
  139. package/lib/duet/{p-76906326.entry.js → p-2ecc650a.entry.js} +1 -1
  140. package/lib/duet/{p-fcd416b7.entry.js → p-310bb92b.entry.js} +1 -1
  141. package/lib/duet/{p-2a1cbe32.entry.js → p-34450295.entry.js} +1 -1
  142. package/lib/duet/{p-594e10ea.entry.js → p-345e2183.entry.js} +1 -1
  143. package/lib/duet/{p-3aecdd96.entry.js → p-3604860c.entry.js} +1 -1
  144. package/lib/duet/p-37b2ee9a.entry.js +4 -0
  145. package/lib/duet/{p-4b6399eb.entry.js → p-40870281.entry.js} +1 -1
  146. package/lib/duet/{p-28568a2e.entry.js → p-40a23d13.entry.js} +1 -1
  147. package/lib/duet/{p-391d7483.entry.js → p-4d965642.entry.js} +1 -1
  148. package/lib/duet/{p-15d39d1f.entry.js → p-4f06d471.entry.js} +1 -1
  149. package/lib/duet/{p-9e0e21eb.entry.js → p-4fe07ef0.entry.js} +1 -1
  150. package/lib/duet/p-50825938.entry.js +4 -0
  151. package/lib/duet/{p-c392eb8d.entry.js → p-53cae335.entry.js} +1 -1
  152. package/lib/duet/{p-c6b031aa.entry.js → p-5809592e.entry.js} +1 -1
  153. package/lib/duet/{p-1ff6c95a.entry.js → p-598e5e73.entry.js} +1 -1
  154. package/lib/duet/{p-534e3e7e.entry.js → p-5f184ba7.entry.js} +1 -1
  155. package/lib/duet/p-632e7663.entry.js +4 -0
  156. package/lib/duet/{p-f9010948.entry.js → p-672539ed.entry.js} +1 -1
  157. package/lib/duet/{p-91f53c07.entry.js → p-68a068da.entry.js} +1 -1
  158. package/lib/duet/{p-5540e106.entry.js → p-69b51723.entry.js} +1 -1
  159. package/lib/duet/p-6aa7994d.entry.js +4 -0
  160. package/lib/duet/{p-e71cd888.entry.js → p-6fc4b281.entry.js} +1 -1
  161. package/lib/duet/{p-94e4dcc5.entry.js → p-739c6384.entry.js} +1 -1
  162. package/lib/duet/{p-0d373228.entry.js → p-764400c1.entry.js} +1 -1
  163. package/lib/duet/{p-e16141aa.entry.js → p-7e71334f.entry.js} +1 -1
  164. package/lib/duet/{p-f1e8ef6c.entry.js → p-82dce6d4.entry.js} +1 -1
  165. package/lib/duet/p-8a49f99d.entry.js +4 -0
  166. package/lib/duet/{p-75a6c4ea.entry.js → p-8f4d8ad8.entry.js} +1 -1
  167. package/lib/duet/{p-509d502b.entry.js → p-936fb185.entry.js} +1 -1
  168. package/lib/duet/{p-4a6a79ac.entry.js → p-936fdded.entry.js} +1 -1
  169. package/lib/duet/{p-3555559c.entry.js → p-949677c5.entry.js} +1 -1
  170. package/lib/duet/{p-93e08345.entry.js → p-962271e5.entry.js} +1 -1
  171. package/lib/duet/{p-49cec27c.entry.js → p-98719175.entry.js} +1 -1
  172. package/lib/duet/{p-69fcd700.entry.js → p-989bad93.entry.js} +1 -1
  173. package/lib/duet/{p-ea333ff9.entry.js → p-9eac0547.entry.js} +1 -1
  174. package/lib/duet/{p-B0SZpElh.js → p-B4KFAMK0.js} +1 -1
  175. package/lib/duet/p-BDAqOMlM.js +4 -0
  176. package/lib/duet/{p-BVAkfiYN.js → p-BZUiUO2r.js} +1 -1
  177. package/lib/duet/{p-Df3Doz7n.js → p-Bg75Vqqq.js} +1 -1
  178. package/lib/duet/{p-zqnwKSPV.js → p-BuGwN6pE.js} +1 -1
  179. package/lib/duet/p-CmXKRkHp.js +4 -0
  180. package/lib/duet/{p-BO8h6fkS.js → p-CvYfTat-.js} +1 -1
  181. package/lib/duet/p-DOuLHrH5.js +4 -0
  182. package/lib/duet/p-DoYaLdz3.js +4 -0
  183. package/lib/duet/p-NibHwfQi.js +4 -0
  184. package/lib/duet/{p-5c0847ed.entry.js → p-a04be8ca.entry.js} +1 -1
  185. package/lib/duet/{p-d618c7d5.entry.js → p-a102a6aa.entry.js} +1 -1
  186. package/lib/duet/{p-4266fbf1.entry.js → p-a3b21740.entry.js} +1 -1
  187. package/lib/duet/{p-23ab5f9a.entry.js → p-a597acb6.entry.js} +1 -1
  188. package/lib/duet/{p-e05b9e89.entry.js → p-acd1befc.entry.js} +1 -1
  189. package/lib/duet/{p-7d8a853a.entry.js → p-b23c29f7.entry.js} +1 -1
  190. package/lib/duet/{p-e832a646.entry.js → p-b308c0c2.entry.js} +1 -1
  191. package/lib/duet/{p-d3edd251.entry.js → p-b57ee80f.entry.js} +1 -1
  192. package/lib/duet/{p-9f038082.entry.js → p-b8741a8d.entry.js} +1 -1
  193. package/lib/duet/{p-3d6a1cbd.entry.js → p-b8de3ad9.entry.js} +1 -1
  194. package/lib/duet/{p-83ea7a2c.entry.js → p-b9123cc0.entry.js} +1 -1
  195. package/lib/duet/{p-c2ca49c2.entry.js → p-bfbadbcb.entry.js} +1 -1
  196. package/lib/duet/{p-4e05a8a2.entry.js → p-c0130fb4.entry.js} +1 -1
  197. package/lib/duet/{p-22297e2c.entry.js → p-c1a3211b.entry.js} +1 -1
  198. package/lib/duet/{p-60102fbf.entry.js → p-c211c485.entry.js} +1 -1
  199. package/lib/duet/p-c2b71972.entry.js +4 -0
  200. package/lib/duet/{p-5eaf6c14.entry.js → p-c9f7f4ae.entry.js} +1 -1
  201. package/lib/duet/{p-ddcc5283.entry.js → p-cc1c4f4e.entry.js} +1 -1
  202. package/lib/duet/p-d1ca5023.entry.js +4 -0
  203. package/lib/duet/{p-8c4cf422.entry.js → p-d6675d5a.entry.js} +1 -1
  204. package/lib/duet/p-d687723c.entry.js +4 -0
  205. package/lib/duet/{p-53eddd20.entry.js → p-d7a53137.entry.js} +1 -1
  206. package/lib/duet/p-da4ac3b6.entry.js +4 -0
  207. package/lib/duet/{p-16caa5b6.entry.js → p-da53bd51.entry.js} +1 -1
  208. package/lib/duet/{p-5470d3ee.entry.js → p-dd0ef23d.entry.js} +1 -1
  209. package/lib/duet/{p-c0942782.entry.js → p-dd2f230e.entry.js} +1 -1
  210. package/lib/duet/{p-6952b6c4.entry.js → p-dd6b0719.entry.js} +1 -1
  211. package/lib/duet/{p-7587023c.entry.js → p-dd95273b.entry.js} +1 -1
  212. package/lib/duet/{p-72c34073.entry.js → p-e1de05fd.entry.js} +1 -1
  213. package/lib/duet/p-e83797f5.entry.js +4 -0
  214. package/lib/duet/{p-8fc3ee0c.entry.js → p-eb331c3a.entry.js} +1 -1
  215. package/lib/duet/{p-309afd7a.entry.js → p-eb781bf8.entry.js} +1 -1
  216. package/lib/duet/{p-06db096d.entry.js → p-f157de7a.entry.js} +1 -1
  217. package/lib/duet/{p-eadd1f00.entry.js → p-f9ccb081.entry.js} +1 -1
  218. package/lib/duet/{p-e6f0473b.entry.js → p-fb1c1409.entry.js} +1 -1
  219. package/lib/duet/p-fc4091da.entry.js +4 -0
  220. package/lib/duet/{p-D8ISRP9m.js → p-n6rJZ22e.js} +1 -1
  221. package/lib/duet/{p-J96UYMqg.js → p-piYiXb5x.js} +1 -1
  222. package/lib/esm/{a11y-utils-Cm7NmtQF.js → a11y-utils-C8mMYav1.js} +1 -1
  223. package/lib/esm/{app-globals-BfoWvhn6.js → app-globals-BM9EbF8c.js} +1 -1
  224. package/lib/esm/duet-action-button.entry.js +5 -5
  225. package/lib/esm/duet-alert.entry.js +4 -4
  226. package/lib/esm/duet-badge.entry.js +4 -4
  227. package/lib/esm/duet-banner.entry.js +6 -6
  228. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  229. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  230. package/lib/esm/duet-button_2.entry.js +6 -6
  231. package/lib/esm/duet-callout.entry.js +3 -3
  232. package/lib/esm/duet-caption_4.entry.js +11 -11
  233. package/lib/esm/duet-card.entry.js +5 -5
  234. package/lib/esm/duet-checkbox.entry.js +2 -2
  235. package/lib/esm/duet-checkmark.entry.js +2 -2
  236. package/lib/esm/duet-chip.entry.js +4 -4
  237. package/lib/esm/duet-choice_2.entry.js +5 -5
  238. package/lib/esm/duet-collapsible.entry.js +5 -5
  239. package/lib/esm/duet-combobox.entry.js +4 -4
  240. package/lib/esm/duet-contact-card.entry.js +3 -3
  241. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  242. package/lib/esm/duet-date-picker.entry.js +6 -6
  243. package/lib/esm/duet-divider_2.entry.js +4 -4
  244. package/lib/esm/duet-editable-table_3.entry.js +11 -8
  245. package/lib/esm/duet-empty-state.entry.js +2 -2
  246. package/lib/esm/duet-fieldset.entry.js +3 -3
  247. package/lib/esm/duet-file-chooser.entry.js +2 -2
  248. package/lib/esm/duet-footer.entry.js +4 -4
  249. package/lib/esm/duet-grid_2.entry.js +2 -2
  250. package/lib/esm/duet-header_2.entry.js +7 -7
  251. package/lib/esm/duet-hero.entry.js +4 -4
  252. package/lib/esm/duet-icon.entry.js +4 -4
  253. package/lib/esm/duet-indicator.entry.js +3 -3
  254. package/lib/esm/duet-input_2.entry.js +7 -7
  255. package/lib/esm/duet-layout.entry.js +2 -2
  256. package/lib/esm/duet-list_2.entry.js +2 -2
  257. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  258. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  259. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  260. package/lib/esm/duet-menu-bar-item.entry.js +5 -5
  261. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  262. package/lib/esm/duet-menu-bar.entry.js +3 -3
  263. package/lib/esm/duet-modal.entry.js +7 -7
  264. package/lib/esm/duet-multiselect.entry.js +6 -6
  265. package/lib/esm/duet-nav.entry.js +2 -2
  266. package/lib/esm/duet-notification_2.entry.js +4 -4
  267. package/lib/esm/duet-number-input.entry.js +5 -5
  268. package/lib/esm/duet-overlay.entry.js +2 -2
  269. package/lib/esm/duet-page-heading.entry.js +2 -2
  270. package/lib/esm/duet-pagination_2.entry.js +5 -5
  271. package/lib/esm/duet-panel.entry.js +2 -2
  272. package/lib/esm/duet-phone-input.entry.js +5 -5
  273. package/lib/esm/duet-popup-menu_2.entry.js +5 -5
  274. package/lib/esm/duet-progress.entry.js +3 -3
  275. package/lib/esm/duet-promo-card.entry.js +6 -6
  276. package/lib/esm/duet-radio_2.entry.js +4 -4
  277. package/lib/esm/duet-range-slider.entry.js +6 -6
  278. package/lib/esm/duet-scrollable_3.entry.js +6 -6
  279. package/lib/esm/duet-section-layout.entry.js +1 -1
  280. package/lib/esm/duet-select.entry.js +5 -5
  281. package/lib/esm/duet-shaped-image.entry.js +2 -2
  282. package/lib/esm/duet-share-chart-item.entry.js +1 -1
  283. package/lib/esm/duet-share-chart.entry.js +6 -6
  284. package/lib/esm/duet-show-more.entry.js +3 -3
  285. package/lib/esm/duet-slideout-lang.entry.js +3 -3
  286. package/lib/esm/duet-slideout-link.entry.js +5 -5
  287. package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
  288. package/lib/esm/duet-slideout-panel.entry.js +7 -7
  289. package/lib/esm/duet-slideout.entry.js +7 -7
  290. package/lib/esm/duet-status-icon.entry.js +2 -2
  291. package/lib/esm/duet-step_2.entry.js +3 -3
  292. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  293. package/lib/esm/duet-submenu-bar-dropdown.entry.js +3 -3
  294. package/lib/esm/duet-submenu-bar-item.entry.js +5 -5
  295. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  296. package/lib/esm/duet-submenu-bar.entry.js +3 -3
  297. package/lib/esm/duet-textarea.entry.js +50 -34
  298. package/lib/esm/duet-toggle.entry.js +5 -5
  299. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  300. package/lib/esm/duet-toolbar-dropdown.entry.js +2 -2
  301. package/lib/esm/duet-toolbar-item.entry.js +5 -5
  302. package/lib/esm/duet-toolbar-link.entry.js +2 -2
  303. package/lib/esm/duet-toolbar.entry.js +2 -2
  304. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  305. package/lib/esm/duet-tooltip.entry.js +5 -5
  306. package/lib/esm/duet-tray.entry.js +4 -4
  307. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  308. package/lib/esm/duet-upload-item.entry.js +4 -4
  309. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  310. package/lib/esm/duet.js +4 -4
  311. package/lib/esm/{errorcodes.utils-DCSMydPz.js → errorcodes.utils-Dx5bYlis.js} +1 -1
  312. package/lib/esm/{focus-utils-C8cj1ygp.js → focus-utils-C9Mfpzkg.js} +1 -1
  313. package/lib/esm/{index-BVAkfiYN.js → index-BZUiUO2r.js} +1 -1
  314. package/lib/esm/{label-Cqxj4RVo.js → label-DA07U81d.js} +1 -1
  315. package/lib/esm/{language-utils-uFQZRSPE.js → language-utils-DBHdig-k.js} +1 -1
  316. package/lib/esm/loader.js +4 -4
  317. package/lib/esm/{slot-utils-D8NnYUf2.js → slot-utils-CiYHolIk.js} +1 -1
  318. package/lib/esm/{themeable-component-B8TGOi99.js → themeable-component-CMi71I41.js} +1 -1
  319. package/lib/esm/{token-utils-Dw-GA7-4.js → token-utils-Dks4GBDa.js} +1 -1
  320. package/lib/esm/{tokens-DcQPCCbT.js → tokens-DOuLHrH5.js} +3 -3
  321. package/lib/esm/{tokens.module-Bh9dkusU.js → tokens.module-BDAqOMlM.js} +3 -3
  322. package/lib/types/components/duet-textarea/duet-textarea.d.ts +13 -7
  323. package/lib/types/components.d.ts +4 -4
  324. package/package.json +15 -9
  325. package/lib/duet/p-1e78e2c1.entry.js +0 -4
  326. package/lib/duet/p-26948251.entry.js +0 -4
  327. package/lib/duet/p-2892dd48.entry.js +0 -4
  328. package/lib/duet/p-4a54f0ec.entry.js +0 -4
  329. package/lib/duet/p-Bh9dkusU.js +0 -4
  330. package/lib/duet/p-Bpx9VxA7.js +0 -4
  331. package/lib/duet/p-CSVmZZ1n.js +0 -4
  332. package/lib/duet/p-DcQPCCbT.js +0 -4
  333. package/lib/duet/p-b95c5ccf.entry.js +0 -4
  334. package/lib/duet/p-c05e4dae.entry.js +0 -4
  335. package/lib/duet/p-c9000a76.entry.js +0 -4
  336. package/lib/duet/p-d3812b9c.entry.js +0 -4
  337. package/lib/duet/p-e2a75d7e.entry.js +0 -4
  338. package/lib/duet/p-e59a56b9.entry.js +0 -4
  339. package/lib/duet/p-e9a32cd5.entry.js +0 -4
  340. package/lib/duet/p-ff8f848e.entry.js +0 -4
  341. package/lib/duet/p-s4mQ--kV.js +0 -4
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
 
7
7
  const duetShapedImageCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{-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\");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-repeat:no-repeat;transform:none}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}";
8
8
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
5
 
6
6
  const DuetShareChartItem = class {
7
7
  constructor(hostRef) {
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
6
- import { f as formatNumber } from './language-utils-uFQZRSPE.js';
7
- import { g as getElementsFromDefaultSlot } from './slot-utils-D8NnYUf2.js';
8
- import { g as getColorByName } from './token-utils-Dw-GA7-4.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
+ import { f as formatNumber } from './language-utils-DBHdig-k.js';
7
+ import { g as getElementsFromDefaultSlot } from './slot-utils-CiYHolIk.js';
8
+ import { g as getColorByName } from './token-utils-Dks4GBDa.js';
9
9
  import './string-utils-C6E9F6QT.js';
10
- import './tokens.module-Bh9dkusU.js';
10
+ import './tokens.module-BDAqOMlM.js';
11
11
 
12
12
  const duetShareChartCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-share-chart-horizontal-bar{height:16px;margin-bottom:20px;border-radius:4px}.duet-share-chart-horizontal-bar .duet-share-chart-share{box-sizing:border-box;display:inline-block;height:16px;border-color:rgb(255, 255, 255);border-style:solid;border-width:0 1px}.duet-share-chart-horizontal-bar .duet-share-chart-share:first-child{border-left-width:0;border-radius:4px 0 0 4px}.duet-share-chart-horizontal-bar .duet-share-chart-share:last-child{border-right-width:0;border-radius:0 4px 4px 0}.duet-share-chart-item-list{padding:0 4px;margin:0;list-style:none}.duet-share-chart-item-list li{display:flex;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;color:rgb(8, 42, 77)}.duet-share-chart-item-list li.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-share-chart-item-list span{display:inline-block}.duet-share-chart-item-list .duet-share-chart-item-color{flex-shrink:0;width:12px;height:12px;margin-top:calc((1.5rem - 12px) / 2);margin-right:12px;border-radius:4px}.duet-share-chart-item-list .duet-share-chart-item-value{font-weight:600}:host(.duet-theme-turva2) .duet-share-chart-item-list li.duet-theme-turva{color:rgb(23, 42, 59)}";
13
13
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
  import { c as createID } from './create-id-Cfr_DJqU.js';
7
7
  import { i as isKeyboardClick } from './keyboard-utils-Db8rvjPI.js';
8
- import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-uFQZRSPE.js';
8
+ import { a as getLanguage, g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-DBHdig-k.js';
9
9
  import './string-utils-C6E9F6QT.js';
10
10
 
11
11
  const duetShowMoreCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block}.duet-show-more{margin-bottom:16px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:rgb(8, 42, 77)}.duet-show-more.duet-m-0{margin:0 !important}.duet-show-more .slotted-content{display:none}.duet-show-more.open .slotted-content{display:block}.duet-show-more .content:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-show-more .content:focus,.duet-show-more .content:focus.duet-theme-turva,.duet-theme-turva2 .duet-show-more .content:focus,.duet-show-more .content:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-show-more.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)}:host(.duet-theme-turva2) .duet-show-more.duet-theme-turva{color:rgb(23, 42, 59)}";
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
6
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-uFQZRSPE.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
+ import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-DBHdig-k.js';
7
7
  import './string-utils-C6E9F6QT.js';
8
8
 
9
9
  const duetSlideoutLangCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-slideout-lang{display:flex;gap:16px;align-items:center;justify-content:flex-start;width:min-content;white-space:nowrap}::slotted(*){position:relative}::slotted(:not(:first-child)){padding-right:0;padding-left:0.5rem}::slotted(:not(:last-child))::after{position:absolute;top:25%;right:-14px;width:2px;height:50%;content:\"\";background:rgb(8, 42, 77)}.duet-theme-turva ::slotted(:not(:last-child))::after{background:rgb(23, 28, 58)}:host(.duet-theme-turva2) .duet-theme-turva ::slotted(:not(:last-child))::after{background:rgb(23, 42, 59)}";
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
5
  import { n as newWindowIcon } from './action-new-window-small-EH8_HdAm.js';
6
6
  import { a as DuetStringsExternalDefaults } from './common-strings-BWvtXbhA.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
8
- import { g as getAccessibleLinkLabel } from './a11y-utils-Cm7NmtQF.js';
9
- import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-uFQZRSPE.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
8
+ import { g as getAccessibleLinkLabel } from './a11y-utils-C8mMYav1.js';
9
+ import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-DBHdig-k.js';
10
10
  import './_commonjsHelpers-DvwKrUS6.js';
11
- import './slot-utils-D8NnYUf2.js';
11
+ import './slot-utils-CiYHolIk.js';
12
12
  import './string-utils-C6E9F6QT.js';
13
13
 
14
14
  const duetSlideoutLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}.duet-slideout-link{position:relative;display:flex;gap:16px;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:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-link:focus,.duet-slideout-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout-link:focus,.duet-slideout-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.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.active span{position:relative}.duet-slideout-link.active .label-content::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:1rem;font-weight:600}.duet-slideout-link.large{font-size:1.25rem;font-weight:800}.duet-slideout-link .label{display:flex;gap:8px;align-items:center;justify-content:space-between;width:100%}.duet-slideout-link .label-container{display:flex;gap:8px;align-items:center;justify-content:flex-start;width:100%}.duet-slideout-link .external-icon{width:10px;height:10px}.duet-slideout-link.medium .external-icon,.duet-slideout-link.large .external-icon{width:12px;height:12px}slot[name=description]::slotted(*){display:block;padding:8px 0 0;font-size:1rem;font-size:1.25;font-weight:400;color:rgb(98, 121, 138)}.duet-theme-turva slot[name=description]::slotted(*){color:rgb(113, 118, 132)}:host(.duet-theme-turva2) .duet-slideout-link.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-slideout-link.duet-theme-turva.active .label-content::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) slot[name=description]::slotted(*){color:rgb(23, 42, 59)}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
 
7
7
  const duetSlideoutPanelDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;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:16px;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(8, 42, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-slideout-panel-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel-dropdown button:focus,.duet-slideout-panel-dropdown button:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout-panel-dropdown button:focus,.duet-slideout-panel-dropdown button:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel-dropdown button .label{position:relative;display:flex;gap:0.5rem;align-items:center;justify-content:center}.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;visibility:visible;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:1000px;padding:4px 20px 8px 36px;overflow-y:auto;scrollbar-width:none;transition:max-height 0.3s ease-in, padding-bottom 0.3s ease-in;-ms-overflow-style:none}.duet-slideout-panel-dropdown .items::-webkit-scrollbar{display:none}.duet-slideout-panel-dropdown .items.hidden{visibility:hidden;max-height:0;padding:0;overflow: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.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(8, 42, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}slot[name=label]{font-size:1rem;font-weight:600}:host(.duet-theme-turva2) .duet-slideout-panel-dropdown.duet-theme-turva button{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-slideout-panel-dropdown.duet-theme-turva button.active .label::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) slot{color:rgb(23, 42, 59)}";
8
8
 
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
  import { e as enableBodyScroll, d as disableBodyScroll } from './body-scroll-C6CAT054.js';
7
- import { F as FocusGuard } from './focus-utils-C8cj1ygp.js';
8
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-uFQZRSPE.js';
9
- import { h as hasSlot } from './slot-utils-D8NnYUf2.js';
10
- import { g as getColorByName } from './token-utils-Dw-GA7-4.js';
7
+ import { F as FocusGuard } from './focus-utils-C9Mfpzkg.js';
8
+ import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-DBHdig-k.js';
9
+ import { h as hasSlot } from './slot-utils-CiYHolIk.js';
10
+ import { g as getColorByName } from './token-utils-Dks4GBDa.js';
11
11
  import './string-utils-C6E9F6QT.js';
12
- import './tokens.module-Bh9dkusU.js';
12
+ import './tokens.module-BDAqOMlM.js';
13
13
 
14
14
  const duetSlideoutPanelCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}: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{position:relative;height:100%}.duet-slideout-panel .link{position:relative;display:flex;gap:16px;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.5rem;font-weight:800;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-slideout-panel .link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .link:focus,.duet-slideout-panel .link:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout-panel .link:focus,.duet-slideout-panel .link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .link .duet-slideout-icon{position:relative;display:inline-flex;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-slideout-panel .link .duet-slideout-icon{margin-right:8px}}.duet-slideout-panel .link .label{display:flex;gap:0.5rem;align-items:center;justify-content:space-between;width:100%}.duet-slideout-panel .link .label-text.small{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.medium{font-size:1rem;font-weight:600}.duet-slideout-panel .link .label-text.large{font-size:1.25rem;font-weight:800}.duet-slideout-panel .link.active .label-text{position:relative}.duet-slideout-panel .link.active .label-text.small::after{height:1px;transform:translateY(1px)}.duet-slideout-panel .link.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:2px;content:\"\";background:rgb(0, 119, 179);transform:translateY(2px)}.duet-slideout-panel .dialog{position:fixed;top:0;right:0;z-index:600;visibility:visible;width:min(450px, 100%);height:100%;overflow-y:auto}.duet-slideout-panel .dialog.hidden{visibility:hidden}.duet-slideout-panel .dialog.hidden .top .back,.duet-slideout-panel .dialog.hidden .top span{opacity:0}.duet-slideout-panel .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout-panel .top-container.has-sticky-header-slot .top{background:rgb(240, 247, 250)}.duet-slideout-panel .top-container.has-sticky-header-slot .sticky-header{display:block;padding:0 16px}.duet-slideout-panel .top{display:flex;align-items:center;justify-content:space-between;padding:4px}.duet-slideout-panel .top .back{opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .close:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .back:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout-panel .top .back:focus,.duet-slideout-panel .top .back:focus.duet-theme-turva2,.duet-theme-turva .duet-slideout-panel .top .close:focus,.duet-slideout-panel .top .close:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout-panel .top .close:focus,.duet-slideout-panel .top .close:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout-panel .top duet-icon{padding:16px}.duet-slideout-panel .top span{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.1rem;font-weight:700;line-height:1.5;color:rgb(8, 42, 77);opacity:1;transition:top 0.3s ease-in, opacity 0.3s ease-in}.duet-slideout-panel .sticky-header{display:none;width:100%;padding:0 1.5rem;margin-bottom:20px;background:rgb(240, 247, 250);border-bottom:1px solid rgb(212, 223, 229)}.duet-slideout-panel .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:12px 20px;overflow-y:auto;color:rgb(8, 42, 77)}@media (min-width: 36em){.duet-slideout-panel .items{padding:16px 28px}}.duet-slideout-panel duet-indicator{top:4px}.duet-slideout-panel.duet-theme-turva .link{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.duet-theme-turva .link.active .label-text::after{background:rgb(198, 12, 48)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(245, 247, 250)}.duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(245, 247, 250);border-bottom:1px solid rgb(222, 224, 228)}.duet-slideout-panel.duet-theme-turva .top span{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)}slot:not([name=label]){--active-height:1px;--active-translate-y:translateY(1px);font-size:1rem;font-weight:600;color:rgb(8, 42, 77)}.duet-theme-turva slot:not([name=label]){color:rgb(23, 28, 58)}:host(.duet-theme-turva2) .duet-slideout-panel.duet-theme-turva .link{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-slideout-panel.duet-theme-turva .link.active .label-text::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .top{background:rgb(253, 247, 242)}:host(.duet-theme-turva2) .duet-slideout-panel.duet-theme-turva .has-sticky-header-slot .sticky-header{background:rgb(253, 247, 242);border-bottom-color:rgb(251, 225, 209)}:host(.duet-theme-turva2) .duet-slideout-panel.duet-theme-turva .top span{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) slot:not([name=label]){color:rgb(23, 42, 59)}";
15
15
 
@@ -1,17 +1,17 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
  import { e as enableBodyScroll, d as disableBodyScroll } from './body-scroll-C6CAT054.js';
7
- import { f as focusElement, F as FocusGuard } from './focus-utils-C8cj1ygp.js';
7
+ import { f as focusElement, F as FocusGuard } from './focus-utils-C9Mfpzkg.js';
8
8
  import { a as isEscapeKey } from './keyboard-utils-Db8rvjPI.js';
9
- import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-uFQZRSPE.js';
10
- import { h as hasSlot } from './slot-utils-D8NnYUf2.js';
9
+ import { a as getLanguage, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver, g as getLocaleString } from './language-utils-DBHdig-k.js';
10
+ import { h as hasSlot } from './slot-utils-CiYHolIk.js';
11
11
  import { T as Teleport } from './teleport-CooAqTCj.js';
12
- import { g as getColorByName } from './token-utils-Dw-GA7-4.js';
12
+ import { g as getColorByName } from './token-utils-Dks4GBDa.js';
13
13
  import './string-utils-C6E9F6QT.js';
14
- import './tokens.module-Bh9dkusU.js';
14
+ import './tokens.module-BDAqOMlM.js';
15
15
 
16
16
  const duetSlideoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:absolute;height:100%}::slotted(*){position:relative;visibility:hidden;width:100%;opacity:0;transition:opacity 300ms ease;transition-delay:300ms}:host([open]:not([open=false])) ::slotted(*){visibility:visible;opacity:1}:host(:not([open])) ::slotted(duet-slideout-panel){display:none}.duet-slideout{display:flex;align-items:center;height: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(8, 42, 77)}.duet-slideout.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)}@media (min-width: 62em){.duet-slideout.duet-theme-turva .desktop-bg{background:rgb(23, 28, 58)}}.duet-slideout .dialog{position:fixed;top:0;right:0;bottom:0;left:auto;z-index:600;width:min(450px, 100%);padding-bottom:75px;overflow-y:auto;box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1) inset;transition:bottom 300ms ease;transition-delay:0s}.duet-slideout .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout .dialog .top-container.has-sticky-header-slot{position:sticky;top:0;z-index:200}.duet-slideout .dialog .top-container.has-sticky-header-slot .top{background:rgb(255, 255, 255)}.duet-slideout .dialog .top-container.has-sticky-header-slot .sticky-header{display:block}.duet-slideout .dialog .top{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:4px;opacity:1;transition:opacity 300ms ease}.duet-slideout .dialog .top button{cursor:pointer}.duet-slideout .dialog .top button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-slideout .dialog .top button:focus,.duet-slideout .dialog .top button:focus.duet-theme-turva,.duet-theme-turva2 .duet-slideout .dialog .top button:focus,.duet-slideout .dialog .top button:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-slideout .dialog .top duet-icon{padding:16px}.duet-slideout .dialog .sticky-header{display:none;width:100%;padding:0 20px 20px;margin-bottom:20px;background:rgb(255, 255, 255);border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.duet-slideout .dialog .sticky-header{padding:0 28px 28px}}.duet-slideout .dialog .items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;padding:12px 20px;opacity:1;transition:padding 600ms ease, opacity 300ms ease;transition-delay:300ms}@media (min-width: 36em){.duet-slideout .dialog .items{padding:16px 28px}}.duet-slideout .dialog.hidden{bottom:100vh;visibility:hidden;pointer-events:none;transition:300ms ease}.duet-slideout .dialog.hidden .items{padding-top:28px;opacity:0}.duet-slideout .dialog.hidden .top{opacity:0}.duet-slideout.duet-theme-turva .dialog{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1) inset}.duet-slideout.duet-theme-turva .dialog:not(.modal){box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}.duet-slideout.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.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header{border-bottom:1px solid rgb(222, 224, 228)}slot{color:rgb(8, 42, 77)}.duet-theme-turva slot{color:rgb(23, 28, 58)}:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva{color:rgb(23, 42, 59)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva .desktop-bg{background:rgb(23, 42, 59)}}:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva button{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva button.active{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva button.active::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-slideout.duet-theme-turva .has-sticky-header-slot .sticky-header{border-bottom-color:rgb(212, 221, 226)}:host(.duet-theme-turva2) slot{color:rgb(23, 42, 59)}";
17
17
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BVAkfiYN.js';
5
- import { t as tokens } from './tokens-DcQPCCbT.js';
4
+ import { r as registerInstance, h, H as Host } from './index-BZUiUO2r.js';
5
+ import { t as tokens } from './tokens-DOuLHrH5.js';
6
6
 
7
7
  const DuetStatusIcon = class {
8
8
  constructor(hostRef) {
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-BVAkfiYN.js';
4
+ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-BZUiUO2r.js';
5
5
  import { g as getDefaultExportFromCjs } from './_commonjsHelpers-DvwKrUS6.js';
6
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
6
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
7
7
  import { c as createID } from './create-id-Cfr_DJqU.js';
8
8
  import { i as isKeyboardClick, s as subscribeTabbingChange, u as unsubscribeTabbingChange } from './keyboard-utils-Db8rvjPI.js';
9
9
  import { d as DuetStringsListStepOfTotal } from './common-strings-BWvtXbhA.js';
10
- import { a as getLanguage, g as getLocaleString } from './language-utils-uFQZRSPE.js';
10
+ import { a as getLanguage, g as getLocaleString } from './language-utils-DBHdig-k.js';
11
11
  import './string-utils-C6E9F6QT.js';
12
12
 
13
13
  var actionEdit2;
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
  import { a as isEscapeKey } from './keyboard-utils-Db8rvjPI.js';
7
7
 
8
8
  const duetSubmenuBarDropdownLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}.duet-submenu-bar-dropdown-link{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-start;height:100%;padding:8px 20px 8px 60px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:rgb(8, 42, 77);text-align:left;text-decoration:none}.duet-submenu-bar-dropdown-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-dropdown-link:focus,.duet-submenu-bar-dropdown-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar-dropdown-link:focus,.duet-submenu-bar-dropdown-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar-dropdown-link .label-container{display:flex;flex:1;gap:12px;align-items:center;justify-content:flex-start}@media (min-width: 62em){.duet-submenu-bar-dropdown-link{padding:0.5rem 8px;font-size:1rem;line-height:1.5}}.duet-submenu-bar-dropdown-link.active .label{position:relative}.duet-submenu-bar-dropdown-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}.duet-submenu-bar-dropdown-link.active .active-check{display:none}.duet-submenu-bar-dropdown-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-submenu-bar-dropdown-link.duet-theme-turva.active .label::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown-link.active{background:rgb(240, 247, 250)}.duet-submenu-bar-dropdown-link.active .label::after{display:none}.duet-submenu-bar-dropdown-link.active .active-check{display:block}.duet-submenu-bar-dropdown-link.active.duet-theme-turva{background:rgb(245, 247, 250)}.duet-submenu-bar-dropdown-link:hover{background:rgb(228, 241, 247)}.duet-submenu-bar-dropdown-link:hover.duet-theme-turva{background:rgb(222, 224, 228)}}.duet-submenu-bar-dropdown-link.highlight{color:rgb(0, 119, 179)}.duet-submenu-bar-dropdown-link.highlight.duet-theme-turva{color:rgb(126, 2, 35)}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown-link.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown-link.duet-theme-turva.active .label::after{background:rgb(230, 23, 64)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-dropdown-link.duet-theme-turva.active{background:rgb(253, 247, 242)}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown-link.duet-theme-turva:hover{background:rgb(251, 225, 209)}}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown-link.duet-theme-turva.highlight{color:rgb(230, 23, 64)}";
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { a as media_query_large } from './tokens-DcQPCCbT.js';
6
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { a as media_query_large } from './tokens-DOuLHrH5.js';
6
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
7
7
  import { a as isEscapeKey } from './keyboard-utils-Db8rvjPI.js';
8
8
 
9
9
  const duetSubmenuBarDropdownCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-dropdown{position:relative;height:100%}.duet-submenu-bar-dropdown button{position:relative;display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:center;text-decoration:none;cursor:pointer}.duet-submenu-bar-dropdown button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-dropdown button:focus,.duet-submenu-bar-dropdown button:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar-dropdown button:focus,.duet-submenu-bar-dropdown button:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 62em){.duet-submenu-bar-dropdown button{flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;font-size:0.875rem;color:rgb(0, 75, 129)}}.duet-submenu-bar-dropdown button .label{display:flex;gap:5px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar-dropdown button.open{background:rgb(228, 241, 247)}}.duet-submenu-bar-dropdown button.open .caret{transform:rotate(180deg)}.duet-submenu-bar-dropdown button.active .label-text{position:relative}.duet-submenu-bar-dropdown button.active .label-text::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-dropdown button.active .label-text::after{display:none}}@media (min-width: 62em){.duet-submenu-bar-dropdown button .caret{position:absolute;right:12px}.duet-submenu-bar-dropdown button:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-dropdown button:hover.active{color:rgb(8, 42, 77)}.duet-theme-turva .duet-submenu-bar-dropdown button:hover.active{color:rgb(23, 28, 58)}.duet-submenu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-theme-turva .duet-submenu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-submenu-bar-dropdown button.active::after,.duet-submenu-bar-dropdown button.open::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}.duet-theme-turva .duet-submenu-bar-dropdown button.active::after,.duet-theme-turva .duet-submenu-bar-dropdown button.open::after{background:rgb(198, 12, 48)}}.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-dropdown .submenu-bar-dropdown-icon{width:16px;height:16px}}.duet-submenu-bar-dropdown .items{display:flex;visibility:visible;flex-direction:column;align-items:center;justify-content:center;max-height:1000px;padding:4px 0 16px;overflow-y:auto;color:rgb(8, 42, 77);scrollbar-width:none;transition:max-height 0.3s ease-in, padding 0.3s ease-in;-ms-overflow-style:none}.duet-submenu-bar-dropdown .items::-webkit-scrollbar{display:none}@media (min-width: 62em){.duet-submenu-bar-dropdown .items{position:absolute;top:93%;z-index:600;min-width:320px;padding:8px;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);transition:none}}.duet-submenu-bar-dropdown .items.hidden{visibility:hidden;max-height:0;padding:0;overflow:hidden;transition:max-height 0.3s ease-in, padding 0.3s ease-in}.duet-submenu-bar-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)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(222, 224, 228)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.active,.duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(126, 2, 35)}}.duet-submenu-bar-dropdown.duet-theme-turva button.active::after,.duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(126, 2, 35)}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(222, 224, 228)}}@media (min-width: 62em){.duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button{color:rgb(23, 42, 59)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button:hover{background:rgb(251, 225, 209)}}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.active .label-text::after,:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.open .label-text::after{background:rgb(230, 23, 64)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.active,:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.open{color:rgb(140, 0, 30)}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.active::after,:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.open::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva button.open{background:rgb(251, 225, 209)}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-dropdown.duet-theme-turva .items{background:rgb(255, 255, 255)}}";
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
5
  import { n as newWindowIcon } from './action-new-window-small-EH8_HdAm.js';
6
6
  import { a as DuetStringsExternalDefaults } from './common-strings-BWvtXbhA.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
8
- import { g as getAccessibleLinkLabel } from './a11y-utils-Cm7NmtQF.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
8
+ import { g as getAccessibleLinkLabel } from './a11y-utils-C8mMYav1.js';
9
9
  import { a as isEscapeKey } from './keyboard-utils-Db8rvjPI.js';
10
- import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-uFQZRSPE.js';
10
+ import { g as getLocaleString, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-DBHdig-k.js';
11
11
  import './_commonjsHelpers-DvwKrUS6.js';
12
- import './slot-utils-D8NnYUf2.js';
12
+ import './slot-utils-CiYHolIk.js';
13
13
  import './string-utils-C6E9F6QT.js';
14
14
 
15
15
  const duetSubmenuBarItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-item{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:auto;height:100%;padding:12px 1.5rem;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:600;line-height:1.25;color:rgb(0, 75, 129);text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer}.duet-submenu-bar-item:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-item:focus,.duet-submenu-bar-item:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar-item:focus,.duet-submenu-bar-item:focus.duet-theme-turva2{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar-item .label{display:flex;gap:5px;align-items:center;justify-content:center}.duet-submenu-bar-item .leading-icon,.duet-submenu-bar-item .trailing-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-item .leading-icon,.duet-submenu-bar-item .trailing-icon{width:16px;height:16px}}.duet-submenu-bar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-submenu-bar-item .external-icon{width:10px;height:10px}.duet-submenu-bar-item .trailing-icon{position:absolute;right:12px}.duet-submenu-bar-item[aria-expanded=true]{background:rgb(228, 241, 247)}.duet-submenu-bar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}.duet-submenu-bar-item.active{color:rgb(0, 119, 179)}.duet-submenu-bar-item.active.duet-theme-turva{color:rgb(126, 2, 35)}.duet-submenu-bar-item.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}.duet-submenu-bar-item.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-submenu-bar-item.duet-theme-turva.active .label::after{background:rgb(126, 2, 35)}.duet-submenu-bar-item.duet-theme-turva.active::after{background:rgb(126, 2, 35)}.duet-submenu-bar-item:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-item:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(222, 224, 228)}.duet-submenu-bar-item:hover.duet-theme-turva.active{color:rgb(126, 2, 35)}:host(.duet-theme-turva2) .duet-submenu-bar-item.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-submenu-bar-item.active.duet-theme-turva{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-item.duet-theme-turva.active .label::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-item.duet-theme-turva.active::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-item.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(251, 225, 209)}:host(.duet-theme-turva2) .duet-submenu-bar-item.duet-theme-turva:hover.active{color:rgb(230, 23, 64)}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
6
  import { a as isEscapeKey } from './keyboard-utils-Db8rvjPI.js';
7
7
 
8
8
  const duetSubmenuBarLinkCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;color:rgb(8, 42, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 75, 129)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(126, 2, 35)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:\"\";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}}.duet-submenu-bar-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-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(126, 2, 35)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(126, 2, 35)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 28, 58);background:rgb(222, 224, 228)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(126, 2, 35)}}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(230, 23, 64)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(251, 225, 209)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover.active{color:rgb(230, 23, 64)}}";
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { a as media_query_large } from './tokens-DcQPCCbT.js';
4
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { a as media_query_large } from './tokens-DOuLHrH5.js';
6
6
  import { e as enableBodyScroll, d as disableBodyScroll } from './bodyScrollLock.es6-B1B-PPrh.js';
7
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
7
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
8
8
 
9
9
  const duetSubmenuBarCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;pointer-events:none}:host *{pointer-events:auto}:host(:not([open])) ::slotted(duet-submenu-bar-dropdown){display:none}@media (min-width: 62em){:host(:not([open])) ::slotted(duet-submenu-bar-dropdown){display:inherit}}.duet-submenu-bar{position:relative;top:0;z-index:1;background:rgb(240, 247, 250);transition:top 0.4s}.duet-submenu-bar.hidden{top:-200px}@media (min-width: 62em){.duet-submenu-bar{border-bottom:1px solid rgb(198, 225, 238)}}.duet-submenu-bar button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 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:0.875rem;font-weight:400;line-height:1.25;color:rgb(8, 42, 77)}.duet-submenu-bar button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar button:focus,.duet-submenu-bar button:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar button:focus,.duet-submenu-bar button:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar button.active .caret{transform:rotate(180deg)}.duet-submenu-bar button .label{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){.duet-submenu-bar button{display:none}}.duet-submenu-bar .menu-container{position:absolute;z-index:399;width:100%}.duet-submenu-bar .menu-container.hidden{visibility:hidden;max-height:0;overflow:hidden}@media (min-width: 62em){.duet-submenu-bar .menu-container,.duet-submenu-bar .menu-container.hidden{position:static;z-index:auto;visibility:visible;max-height:unset;overflow:visible}}.duet-submenu-bar .items{visibility:visible;width:100%;height:70vh;overflow-y:scroll;background:rgb(240, 247, 250);border-bottom:1px solid rgb(181, 198, 208)}.duet-submenu-bar .items ::slotted(*){position:relative}.duet-submenu-bar .items.hidden{visibility:hidden;max-height:0;overflow:hidden;border-bottom:0 solid rgb(181, 198, 208)}.duet-submenu-bar .items .list-padding{padding-bottom:188px}@media (min-width: 62em){.duet-submenu-bar .items .list{display:flex;align-items:center;justify-content:space-between;height:100%}.duet-submenu-bar .items,.duet-submenu-bar .items.hidden{position:static;z-index:auto;display:flex;visibility:visible;flex-direction:row;align-items:center;justify-content:center;height:auto;max-height:unset;overflow:visible;border:0}.duet-submenu-bar .items .list-padding{display:none;padding-bottom:0}}.duet-submenu-bar.duet-theme-turva{background:rgb(245, 247, 250);border-bottom:1px solid rgb(222, 224, 228)}.duet-submenu-bar.duet-theme-turva .items{background:rgb(245, 247, 250)}.duet-submenu-bar.duet-theme-turva .mobile-background{background:rgb(23, 28, 58)}.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow{box-shadow:0 2px 6px 0 rgba(23, 28, 58, 0.07)}@media (min-width: 62em){.duet-submenu-bar.duet-theme-turva .shadow-container .top-shadow{box-shadow:0 3px 6px 0 rgba(23, 28, 58, 0.1)}}:host(.duet-theme-turva2) .duet-submenu-bar.duet-theme-turva{background:rgb(253, 247, 242);border-bottom-color:rgb(251, 225, 209)}:host(.duet-theme-turva2) .duet-submenu-bar.duet-theme-turva .items{background:rgb(253, 247, 242)}:host(.duet-theme-turva2) .duet-submenu-bar.duet-theme-turva .mobile-background{background:rgb(23, 42, 59)}";
10
10
 
@@ -1,25 +1,24 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BVAkfiYN.js';
5
- import { i as inheritGlobalTheme } from './themeable-component-B8TGOi99.js';
6
- import { D as DuetInternalLabel } from './label-Cqxj4RVo.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-BZUiUO2r.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-CMi71I41.js';
6
+ import { D as DuetInternalLabel } from './label-DA07U81d.js';
7
7
  import { c as createID } from './create-id-Cfr_DJqU.js';
8
8
  import { c as cleanValue } from './input-utils-CLDy7YaM.js';
9
- import { g as getLocaleString, f as formatNumber, c as connectLanguageChangeObserver, d as disconnectLanguageChangeObserver } from './language-utils-uFQZRSPE.js';
10
- import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-D8NnYUf2.js';
9
+ import { d as debounce } from './js-utils-BlUsLmbQ.js';
10
+ import { a as getLanguage, f as formatNumber } from './language-utils-DBHdig-k.js';
11
+ import { c as checkNamedSlotElement, p as proxyInputToSlot } from './slot-utils-CiYHolIk.js';
11
12
  import './string-utils-C6E9F6QT.js';
12
13
 
13
- const duetTextareaCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type{margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}duet-tooltip,::slotted(duet-tooltip){position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){position:relative;top:4px;right:auto}}.duet-textarea-container{position:relative;width:100%;height:100%}.duet-textarea-container .duet-input-top-caption{display:none}.duet-textarea-container.duet-input-top-caption-shown .duet-input-top-caption{display:flex !important}.duet-textarea-wrapper{position:relative}.duet-textarea-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);resize:vertical;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:4px;transition:150ms ease}.duet-textarea:focus{outline:2px solid;outline-offset:0;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva,.duet-theme-turva2 .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva2{outline:2px solid;outline-offset:0;outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva .duet-textarea{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(143, 147, 158)}.has-error .duet-textarea{border-color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error .duet-textarea{border-color:rgb(214, 28, 82) !important}.duet-textarea::-webkit-input-placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva .duet-textarea::-webkit-input-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus::-webkit-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus::-webkit-input-placeholder{color:rgb(199, 202, 207)}.duet-textarea::-moz-placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-theme-turva .duet-textarea::-moz-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus::-moz-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus::-moz-placeholder{color:rgb(199, 202, 207)}.duet-textarea:-ms-input-placeholder{color:rgb(98, 121, 138)}.duet-theme-turva .duet-textarea:-ms-input-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus:-ms-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus:-ms-input-placeholder{color:rgb(199, 202, 207)}.duet-textarea[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}.duet-theme-turva .duet-textarea[disabled]{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250) !important;border-color:rgb(245, 247, 250) !important}.duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(8, 42, 77);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva .duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(23, 28, 58)}.duet-textarea[disabled]::-moz-placeholder{color:rgb(8, 42, 77);opacity:1 !important}.duet-theme-turva .duet-textarea[disabled]::-moz-placeholder{color:rgb(23, 28, 58)}.duet-textarea[disabled]:-ms-input-placeholder{color:rgb(8, 42, 77)}.duet-theme-turva .duet-textarea[disabled]:-ms-input-placeholder{color:rgb(23, 28, 58)}.duet-textarea:hover:not(:disabled){outline:2px solid;outline-color:rgb(98, 121, 138);outline-offset:-1px}.duet-theme-turva .duet-textarea:hover:not(:disabled),.duet-textarea:hover:not(:disabled).duet-theme-turva,.duet-theme-turva2 .duet-textarea:hover:not(:disabled),.duet-textarea:hover:not(:disabled).duet-theme-turva2{outline-color:rgb(120, 145, 164)}.has-error .duet-textarea:hover:not(:disabled){outline:1px solid;outline-color:rgb(214, 28, 82);outline-offset:-1px}.duet-textarea:focus{border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 28, 58)}.has-error .duet-textarea:focus{outline:1px solid;outline-color:rgb(214, 28, 82);outline-offset:-1px}.duet-textarea:not(:focus):not(:hover):invalid{outline:none}.duet-textarea-help{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;line-height:1.25}.duet-textarea-help span{display:block;margin-top:8px}.duet-theme-turva .duet-textarea-help{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(143, 147, 158)}.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-theme-turva.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-label-hidden .duet-internal-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-character-count{display:block;margin:8px 0 0 auto}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]{background:rgb(245, 246, 247) !important;border-color:rgb(245, 246, 247) !important}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:-webkit-input-placeholder{color:rgb(120, 145, 164)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus::-webkit-input-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus::-moz-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus:-ms-input-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]::-moz-placeholder{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]:-ms-input-placeholder{color:rgb(23, 42, 59)}";
14
+ const duetTextareaCss = ".duet-internal-label{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;line-height:1.25;color:rgb(8, 42, 77);text-align:left;word-break:break-word;cursor:default}.duet-internal-label.duet-p-0{padding:0 !important}.duet-internal-label.duet-m-0{margin:0 !important}.duet-internal-label span{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-internal-label.duet-m-0{margin-bottom:0 !important}.duet-internal-label.duet-small-margin{margin-top:8px !important;margin-bottom:4px !important}.duet-internal-label.duet-has-tooltip{padding-right:48px}@media (min-width: 48em){.duet-internal-label.duet-has-tooltip{padding-right:0}}.duet-internal-label.duet-internal-label-small{font-size:0.875rem}.duet-internal-label.duet-internal-label-small span{font-size:0.875rem}.duet-internal-label.duet-weight-normal{font-weight:400 !important}.duet-internal-label.duet-weight-normal span{font-weight:400 !important}.duet-internal-label.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}:host:last-child,:host:last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host:last-of-type:not(:last-child){margin-right:16px !important}@media (min-width: 36em){:host{width:calc(50% - 16px - 3px)}:host.duet-expand{width:100% !important}}:host(.duet-m-0){margin:0 !important}duet-tooltip,::slotted(duet-tooltip){position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip,::slotted(duet-tooltip){position:relative;top:4px;right:auto}}.duet-textarea-container{position:relative;width:100%;height:100%}.duet-textarea-container .duet-input-top-caption{display:none}.duet-textarea-container.duet-input-top-caption-shown .duet-input-top-caption{display:flex !important}.duet-textarea-wrapper{position:relative}.duet-textarea-placeholder{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgb(255, 255, 255)}.duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);resize:vertical;background:rgb(255, 255, 255);border:1px solid rgb(127, 150, 165);border-radius:4px;transition:150ms ease}.duet-textarea:focus{outline:2px solid;outline-offset:0;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva,.duet-theme-turva2 .duet-textarea:focus,.duet-textarea:focus.duet-theme-turva2{outline:2px solid;outline-offset:0;outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva .duet-textarea{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(143, 147, 158)}.has-error .duet-textarea{border-color:rgb(214, 28, 82) !important}.duet-theme-turva.has-error .duet-textarea{border-color:rgb(214, 28, 82) !important}.duet-textarea::-webkit-input-placeholder{color:rgb(98, 121, 138);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva .duet-textarea::-webkit-input-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus::-webkit-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus::-webkit-input-placeholder{color:rgb(199, 202, 207)}.duet-textarea::-moz-placeholder{color:rgb(98, 121, 138);opacity:1 !important}.duet-theme-turva .duet-textarea::-moz-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus::-moz-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus::-moz-placeholder{color:rgb(199, 202, 207)}.duet-textarea:-ms-input-placeholder{color:rgb(98, 121, 138)}.duet-theme-turva .duet-textarea:-ms-input-placeholder{color:rgb(143, 147, 158)}.duet-textarea:focus:-ms-input-placeholder{color:rgb(181, 198, 208)}.duet-theme-turva .duet-textarea:focus:-ms-input-placeholder{color:rgb(199, 202, 207)}.duet-textarea[disabled]{color:rgb(98, 121, 138) !important;cursor:not-allowed !important;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}.duet-theme-turva .duet-textarea[disabled]{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250) !important;border-color:rgb(245, 247, 250) !important}.duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(8, 42, 77);opacity:1 !important;transition:color 300ms ease}.duet-theme-turva .duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(23, 28, 58)}.duet-textarea[disabled]::-moz-placeholder{color:rgb(8, 42, 77);opacity:1 !important}.duet-theme-turva .duet-textarea[disabled]::-moz-placeholder{color:rgb(23, 28, 58)}.duet-textarea[disabled]:-ms-input-placeholder{color:rgb(8, 42, 77)}.duet-theme-turva .duet-textarea[disabled]:-ms-input-placeholder{color:rgb(23, 28, 58)}.duet-textarea:hover:not(:disabled){outline:2px solid;outline-color:rgb(98, 121, 138);outline-offset:-1px}.duet-theme-turva .duet-textarea:hover:not(:disabled),.duet-textarea:hover:not(:disabled).duet-theme-turva,.duet-theme-turva2 .duet-textarea:hover:not(:disabled),.duet-textarea:hover:not(:disabled).duet-theme-turva2{outline-color:rgb(120, 145, 164)}.has-error .duet-textarea:hover:not(:disabled){outline:1px solid;outline-color:rgb(214, 28, 82);outline-offset:-1px}.duet-textarea:focus{border-color:rgb(0, 119, 179);transition:none}.duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 28, 58)}.has-error .duet-textarea:focus{outline:1px solid;outline-color:rgb(214, 28, 82);outline-offset:-1px}.duet-textarea:not(:focus):not(:hover):invalid{outline:none}.duet-textarea-help{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;line-height:1.25}.duet-textarea-help span{display:block;margin-top:8px}.duet-theme-turva .duet-textarea-help{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(143, 147, 158)}.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-theme-turva.has-error .duet-textarea-help{color:rgb(214, 28, 82)}.duet-label-hidden .duet-internal-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-character-count{display:block;margin:8px 0 0 auto}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus{border-color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]{background:rgb(245, 246, 247) !important;border-color:rgb(245, 246, 247) !important}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:-webkit-input-placeholder{color:rgb(120, 145, 164)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus::-webkit-input-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus::-moz-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea:focus:-ms-input-placeholder{color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]::-webkit-input-placeholder{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]::-moz-placeholder{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva .duet-textarea[disabled]:-ms-input-placeholder{color:rgb(23, 42, 59)}";
14
15
 
15
- const CharacterCount = ({ value, maxlength, label, theme }) => {
16
+ const CharacterCount = ({ value, maxlength, theme }) => {
16
17
  if (maxlength == null) {
17
18
  return;
18
19
  }
19
20
  const length = value.length;
20
- const remainder = Math.max(maxlength - length, 0); // ensure we never have negative numbers
21
- const isApproachingLimit = remainder / maxlength <= 0.1; // <= 10% chars remaining
22
- return (h("div", { class: "duet-character-count" }, h("duet-caption", { margin: "none", theme: theme, size: "small" }, h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", class: "duet-textarea-counter-remaining" }, isApproachingLimit && `${remainder} ${label}`), h("span", { "aria-hidden": "true" }, length, "/", maxlength))));
21
+ return (h("div", { class: "duet-character-count" }, h("duet-caption", { margin: "none", theme: theme, size: "small" }, h("span", { "aria-hidden": "true" }, length, "/", maxlength))));
23
22
  };
24
23
  const DuetTextarea = class {
25
24
  constructor(hostRef) {
@@ -38,12 +37,15 @@ const DuetTextarea = class {
38
37
  this.labelId = createID("DuetLabel");
39
38
  this.errorId = createID("DuetError");
40
39
  this.characterCountId = createID("DuetCharacterCount");
40
+ this.visuallyHiddenCounterDebounceMS = 1000;
41
41
  this.disallowPatternRegex = null;
42
- this.counterLabelDefaults = {
43
- fi: "merkkiä jäljellä",
44
- en: "characters remaining",
45
- sv: "tecken kvar",
42
+ this.charactersRemainingLabel = {
43
+ // The comma in Finnish is to prevent use of partitive case for remaining
44
+ fi: "{remaining}, merkkiä jäljellä {max}{postfix}.",
45
+ en: "{remaining} characters remaining out of {max}.",
46
+ sv: "{remaining} tecken kvar av {max}.",
46
47
  };
48
+ this.language = getLanguage();
47
49
  /**
48
50
  * Controls the margin of the component.
49
51
  */
@@ -129,10 +131,9 @@ const DuetTextarea = class {
129
131
  */
130
132
  this.counter = false;
131
133
  /**
132
- * Accessible label for character counter.
133
- * @default fi: "merkkiä jäljellä", en: "characters remaining", sv: "tecken kvar"
134
+ * @deprecated, the visually hidden counter label is no longer changeable
134
135
  */
135
- this.counterLabel = getLocaleString(this.counterLabelDefaults);
136
+ this.counterLabel = "";
136
137
  /**
137
138
  * Component event handling.
138
139
  */
@@ -164,15 +165,23 @@ const DuetTextarea = class {
164
165
  });
165
166
  };
166
167
  this.handleFocus = (ev) => {
167
- if (this.counter) {
168
- this.hiddenCounterLabel.textContent = `${formatNumber(Math.max(this.maxlength - this.value.length, 0))}/${formatNumber(this.maxlength)} ${this.counterLabel}`;
169
- }
170
168
  this.duetFocus.emit({
171
169
  originalEvent: ev,
172
170
  value: this.value,
173
171
  component: "duet-textarea",
174
172
  });
175
173
  };
174
+ /**
175
+ * When the character limit has been reached and key is pressed, switch the
176
+ * visually hidden label temprorily to empty so it is re-read.
177
+ */
178
+ this.handleKeyDown = () => {
179
+ var _a;
180
+ if (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === this.maxlength) {
181
+ this.visuallyHiddenCounterText = "";
182
+ setTimeout(() => this.updateVisuallyHiddenCounterText(), 10);
183
+ }
184
+ };
176
185
  this.getDescribedBy = () => {
177
186
  const describedBy = [];
178
187
  if (this.isCaptionVisible && this.topCaptionId) {
@@ -184,7 +193,7 @@ const DuetTextarea = class {
184
193
  if (this.error) {
185
194
  describedBy.push(this.errorId);
186
195
  }
187
- if (this.counter) {
196
+ if (this.counter && this.maxlength) {
188
197
  describedBy.push(this.characterCountId);
189
198
  }
190
199
  return describedBy.length > 0 ? describedBy.join(" ") : null;
@@ -196,6 +205,11 @@ const DuetTextarea = class {
196
205
  get validity() {
197
206
  return this.nativeInput.validity;
198
207
  }
208
+ valueChange(newValue, oldValue) {
209
+ if (newValue !== oldValue) {
210
+ debounce(() => this.updateVisuallyHiddenCounterText(), this.visuallyHiddenCounterDebounceMS)();
211
+ }
212
+ }
199
213
  disallowedPatternChange() {
200
214
  this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "gu") : null;
201
215
  }
@@ -206,19 +220,22 @@ const DuetTextarea = class {
206
220
  inheritGlobalTheme(this);
207
221
  this.disallowedPatternChange();
208
222
  this.isCaptionVisible = !!this.caption;
223
+ this.updateVisuallyHiddenCounterText();
209
224
  checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
210
225
  if (this.counter && this.maxlength == null) {
211
226
  console.warn("[DUET WARNING]: counter will only take effect if maxlength is set");
212
227
  }
213
228
  }
214
- connectedCallback() {
215
- connectLanguageChangeObserver(this, {
216
- prop: "counterLabel",
217
- defaults: "counterLabelDefaults",
218
- });
219
- }
220
- disconnectedCallback() {
221
- disconnectLanguageChangeObserver(this);
229
+ updateVisuallyHiddenCounterText() {
230
+ var _a;
231
+ const remaining = formatNumber(Math.max(this.maxlength - (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0), 0));
232
+ // postfix is used only in Finnish
233
+ // with "a" for full hundreds or numbers ending with 2, 3, 6, or 8; with "ä" otherwise
234
+ const postfix = this.maxlength % 100 === 0 || [2, 3, 6, 8].includes(this.maxlength % 10) ? ":sta" : ":stä";
235
+ this.visuallyHiddenCounterText = this.charactersRemainingLabel[this.language]
236
+ .replace("{remaining}", remaining)
237
+ .replace("{max}", formatNumber(this.maxlength))
238
+ .replace("{postfix}", postfix);
222
239
  }
223
240
  componentDidRender() {
224
241
  proxyInputToSlot(this.element, this.proxyId, this.name, this.value, this.required);
@@ -236,22 +253,21 @@ const DuetTextarea = class {
236
253
  */
237
254
  render() {
238
255
  const identifier = this.identifier || this.textareaId;
239
- return (h(Host, { key: '624bdcddb58e1530c51ac379e2d274001b816883', class: {
256
+ return (h(Host, { key: '174c025b28759704200ac6bd9b20c07513796881', class: {
240
257
  "duet-m-0": this.margin === "none",
241
258
  "duet-has-counter": this.counter && !this.error,
242
259
  "duet-expand": this.expand,
243
- } }, h("div", { key: '7052a9e19e9394d91343b9c356317706491483e4', class: {
260
+ } }, h("div", { key: 'cb62d2c55014bfb821da50fbeb53bef3878f42a2', class: {
244
261
  "duet-textarea-container": true,
245
262
  "duet-theme-turva": this.theme === "turva",
246
263
  "duet-label-hidden": this.labelHidden,
247
264
  "duet-input-top-caption-shown": this.isCaptionVisible,
248
265
  "has-error": !!this.error,
249
- } }, h(DuetInternalLabel, { key: 'f485a02ef392a81b6ce9675943b97589ab104787', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { key: '2c6ad7e4e904a8296cd78c10f44b4059766fb6e8', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: 'a9574cd2fe26c7aae531900b941b9f599bbf4cbb', name: "tooltip" }), this.caption && (h("duet-caption", { key: '37ff8e38f41f97d150a8ded794acd5134cf396dd', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { key: '91d6f9e0aff8fa8cb1eb700cc8e942a761171427', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { key: 'f11e135d88137d819fefae10d48df76927122d5e', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { key: '21d58de3abc2c2befac4c05ba19ecc24931ff873', 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 })), h("duet-grid", { key: '5e20d51637a82792cc21934cd1047db4926f16c8', alignment: "stretch" }, h("duet-grid-item", { key: 'd661c25567e85f2371e473d41444e024f8396f3d', margin: "none", fill: true }, h("div", { key: '6953975b58cf0abb73c6577ad7a78ba46e88230b', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'a3609f7dfffead70a15375479ab2223f78eb3e50' }, this.error))), h("duet-grid-item", { key: 'c249410eedf7c2f384f9ce32ac03aeb29936a594', margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { key: 'abd891c68360549dd3c1a9ee0ff3dbeec5104049', theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))), this.counter && (h("duet-visually-hidden", { key: '45e036b9eb30379561d79b4822902ef31719a26e', class: "duet-visually-hidden", id: this.characterCountId, ref: el => {
250
- this.hiddenCounterLabel = el;
251
- } })))));
266
+ } }, h(DuetInternalLabel, { key: 'e60161bef26e445f508caa52d9ec36fad2e5a4d6', theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { key: '50d1b502ae2daeb5aa6b52a506f1b355b723ffd1', direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: '60cac12c58f83ea622fb1d55e4a548b424119c1c', name: "tooltip" }), this.caption && (h("duet-caption", { key: '57a5af01882adc799ae421d87c1a08e4d1a51ccd', id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { key: 'ba6e6f1f9afaf509a45b6ce58c3cf8e3345c62fe', class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { key: 'bdac513f777135b1c5fea678c622fe3b281f83c1', id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { key: '05e779176f391b62641944cf8e9004f82ed55af1', onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, 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 })), h("duet-grid", { key: '3f974cde13c49693404189ef820b30a47093cc01', alignment: "stretch" }, h("duet-grid-item", { key: '19fc220eed8890873a9bfcda21ccdce4214f125f', margin: "none", fill: true }, h("div", { key: 'ff672547fb887361bc8236db35e37c1c0f5d04ab', class: "duet-textarea-help duet-textarea-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'b6fdd99d426bc3e546bde21855954fd2a93c7e36' }, this.error))), h("duet-grid-item", { key: 'a11f7efc87417bf66c2bf07fdc4bff6ac4e77f9e', margin: "none", class: "duet-character-count-caption" }, this.counter && h(CharacterCount, { key: '0675d261eeecf2c833c95103f5d43688ea3bf663', theme: this.theme, value: this.value, maxlength: this.maxlength }))), this.counter && this.maxlength && (h("duet-visually-hidden", { key: 'ee10cca12e1c4f29483a33c1ed04f03ce01f3f36', id: this.characterCountId, class: "visually-hidden-counter" }, this.visuallyHiddenCounterText)))));
252
267
  }
253
268
  get element() { return getElement(this); }
254
269
  static get watchers() { return {
270
+ "value": ["valueChange"],
255
271
  "disallowPattern": ["disallowedPatternChange"]
256
272
  }; }
257
273
  };