@duetds/components 9.19.0 → 9.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. package/hydrate/index.js +237 -135
  2. package/lib/cjs/a11y-utils-13737afd.js +46 -0
  3. package/lib/cjs/{app-globals-a6c4e8f5.js → app-globals-dbb64a81.js} +1 -1
  4. package/lib/cjs/{common-strings-92c2f034.js → common-strings-ed188f52.js} +5 -4
  5. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  6. package/lib/cjs/duet-alert.cjs.entry.js +15 -12
  7. package/lib/cjs/duet-badge.cjs.entry.js +5 -5
  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 +7 -7
  12. package/lib/cjs/duet-callout.cjs.entry.js +3 -3
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
  14. package/lib/cjs/duet-card.cjs.entry.js +5 -5
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  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 +9 -8
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +15 -10
  20. package/lib/cjs/duet-combobox.cjs.entry.js +20 -15
  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 +5 -5
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  31. package/lib/cjs/duet-header_2.cjs.entry.js +8 -8
  32. package/lib/cjs/duet-hero.cjs.entry.js +18 -17
  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 +32 -8
  36. package/lib/cjs/duet-layout.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
  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 +6 -6
  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 +8 -8
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +5 -5
  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 +16 -12
  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 +5 -6
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +7 -7
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +14 -16
  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 +4 -4
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +31 -12
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-select.cjs.entry.js +5 -8
  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 +6 -6
  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 +15 -15
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +2 -2
  72. package/lib/cjs/duet-step_2.cjs.entry.js +4 -4
  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 +6 -6
  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 +48 -29
  79. package/lib/cjs/duet-toggle.cjs.entry.js +3 -3
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +6 -6
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
  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 +4 -4
  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-7e221216.js → errorcodes.utils-081cbf12.js} +1 -1
  93. package/lib/cjs/{focus-utils-6d8d093e.js → focus-utils-30936141.js} +1 -1
  94. package/lib/cjs/{index-1044eab0.js → index-3e2cb13d.js} +1 -1
  95. package/lib/cjs/{language-utils-b3314f13.js → language-utils-577f9daf.js} +1 -1
  96. package/lib/cjs/loader.cjs.js +3 -3
  97. package/lib/cjs/{slot-utils-0ce4686e.js → slot-utils-1e7a8d85.js} +1 -1
  98. package/lib/cjs/{themeable-component-3f7d616d.js → themeable-component-32848c09.js} +1 -1
  99. package/lib/cjs/{token-utils-955dd258.js → token-utils-3cc1c517.js} +1 -1
  100. package/lib/cjs/{tokens-bdaa8818.js → tokens-62c31e5d.js} +3 -3
  101. package/lib/cjs/{tokens.module-2358195b.js → tokens.module-db9df617.js} +3 -3
  102. package/lib/collection/common-strings.js +5 -4
  103. package/lib/collection/components/duet-alert/duet-alert.css +15 -6
  104. package/lib/collection/components/duet-alert/duet-alert.js +9 -6
  105. package/lib/collection/components/duet-badge/duet-badge.css +1 -1
  106. package/lib/collection/components/duet-banner/duet-banner.css +2 -1
  107. package/lib/collection/components/duet-button/duet-button.css +11 -7
  108. package/lib/collection/components/duet-checkbox/duet-checkbox.css +1 -1
  109. package/lib/collection/components/duet-chip/duet-chip.css +1 -1
  110. package/lib/collection/components/duet-choice/duet-choice.css +66 -4
  111. package/lib/collection/components/duet-choice/duet-choice.js +13 -6
  112. package/lib/collection/components/duet-choice-group/duet-choice-group.js +1 -1
  113. package/lib/collection/components/duet-collapsible/duet-collapsible.css +1 -1
  114. package/lib/collection/components/duet-collapsible/duet-collapsible.js +12 -7
  115. package/lib/collection/components/duet-combobox/duet-combobox.js +17 -11
  116. package/lib/collection/components/duet-date-picker/duet-date-picker.css +1 -1
  117. package/lib/collection/components/duet-hero/duet-hero.js +13 -12
  118. package/lib/collection/components/duet-input/duet-input.css +1 -1
  119. package/lib/collection/components/duet-input/duet-input.js +78 -5
  120. package/lib/collection/components/duet-link/duet-link.css +27 -13
  121. package/lib/collection/components/duet-link/duet-link.js +3 -3
  122. package/lib/collection/components/duet-list-item/duet-list-item.css +6 -6
  123. package/lib/collection/components/duet-logo/duet-logo.css +1 -1
  124. package/lib/collection/components/duet-multiselect/duet-multiselect.css +1 -1
  125. package/lib/collection/components/duet-number-input/duet-number-input.css +1 -1
  126. package/lib/collection/components/duet-number-input/duet-number-input.js +19 -15
  127. package/lib/collection/components/duet-panel/duet-panel.css +3 -2
  128. package/lib/collection/components/duet-panel/duet-panel.js +2 -3
  129. package/lib/collection/components/duet-phone-input/duet-phone-input.css +1 -1
  130. package/lib/collection/components/duet-phone-input/duet-phone-input.js +3 -3
  131. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +20 -23
  132. package/lib/collection/components/duet-promo-card/duet-promo-card.css +1 -1
  133. package/lib/collection/components/duet-radio/duet-radio.css +2 -2
  134. package/lib/collection/components/duet-range-slider/duet-range-slider.css +1 -1
  135. package/lib/collection/components/duet-scrollable/duet-scrollable.js +87 -6
  136. package/lib/collection/components/duet-select/duet-select.css +1 -1
  137. package/lib/collection/components/duet-select/duet-select.js +1 -4
  138. package/lib/collection/components/duet-slideout/duet-slideout.js +12 -12
  139. package/lib/collection/components/duet-table/duet-table.js +3 -3
  140. package/lib/collection/components/duet-textarea/duet-textarea.css +4 -1
  141. package/lib/collection/components/duet-textarea/duet-textarea.js +75 -29
  142. package/lib/collection/components/duet-toggle/duet-toggle.css +1 -1
  143. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +6 -0
  144. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +18 -0
  145. package/lib/collection/utils/a11y-utils.js +20 -0
  146. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  147. package/lib/dist-custom-elements/duet-alert.js +1 -1
  148. package/lib/dist-custom-elements/duet-badge.js +1 -1
  149. package/lib/dist-custom-elements/duet-banner.js +5 -5
  150. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  151. package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
  152. package/lib/dist-custom-elements/duet-button.js +1 -1
  153. package/lib/dist-custom-elements/duet-callout.js +2 -2
  154. package/lib/dist-custom-elements/duet-caption.js +1 -1
  155. package/lib/dist-custom-elements/duet-card.js +4 -4
  156. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  157. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  158. package/lib/dist-custom-elements/duet-chip.js +1 -1
  159. package/lib/dist-custom-elements/duet-choice-group.js +9 -9
  160. package/lib/dist-custom-elements/duet-choice.js +9 -8
  161. package/lib/dist-custom-elements/duet-collapsible.js +17 -12
  162. package/lib/dist-custom-elements/duet-combobox.js +32 -26
  163. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  164. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  165. package/lib/dist-custom-elements/duet-date-picker.js +14 -14
  166. package/lib/dist-custom-elements/duet-divider.js +1 -1
  167. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  168. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  169. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  170. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  171. package/lib/dist-custom-elements/duet-footer.js +8 -8
  172. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  173. package/lib/dist-custom-elements/duet-grid.js +1 -1
  174. package/lib/dist-custom-elements/duet-header.js +11 -11
  175. package/lib/dist-custom-elements/duet-heading.js +1 -1
  176. package/lib/dist-custom-elements/duet-hero.js +23 -22
  177. package/lib/dist-custom-elements/duet-icon.js +1 -1
  178. package/lib/dist-custom-elements/duet-indicator.js +1 -1
  179. package/lib/dist-custom-elements/duet-input.js +1 -1
  180. package/lib/dist-custom-elements/duet-label.js +1 -1
  181. package/lib/dist-custom-elements/duet-layout.js +1 -1
  182. package/lib/dist-custom-elements/duet-link.js +1 -1
  183. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  184. package/lib/dist-custom-elements/duet-list.js +1 -1
  185. package/lib/dist-custom-elements/duet-logo.js +1 -1
  186. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  187. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  188. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  189. package/lib/dist-custom-elements/duet-menu-bar-item.js +4 -4
  190. package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
  191. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  192. package/lib/dist-custom-elements/duet-modal.js +10 -10
  193. package/lib/dist-custom-elements/duet-multiselect.js +10 -10
  194. package/lib/dist-custom-elements/duet-nav.js +1 -1
  195. package/lib/dist-custom-elements/duet-notification-drawer.js +6 -6
  196. package/lib/dist-custom-elements/duet-notification.js +3 -3
  197. package/lib/dist-custom-elements/duet-number-input.js +23 -19
  198. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  199. package/lib/dist-custom-elements/duet-page-heading.js +3 -3
  200. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  201. package/lib/dist-custom-elements/duet-panel.js +4 -5
  202. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  203. package/lib/dist-custom-elements/duet-phone-input.js +20 -20
  204. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -1
  205. package/lib/dist-custom-elements/duet-popup-menu.js +1 -1
  206. package/lib/dist-custom-elements/duet-progress.js +1 -1
  207. package/lib/dist-custom-elements/duet-promo-card.js +5 -5
  208. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  209. package/lib/dist-custom-elements/duet-radio.js +2 -2
  210. package/lib/dist-custom-elements/duet-range-slider.js +4 -4
  211. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  212. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  213. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  214. package/lib/dist-custom-elements/duet-select.js +1 -1
  215. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  216. package/lib/dist-custom-elements/duet-share-chart-item.js +1 -1
  217. package/lib/dist-custom-elements/duet-share-chart.js +3 -3
  218. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  219. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  220. package/lib/dist-custom-elements/duet-slideout-link.js +4 -4
  221. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  222. package/lib/dist-custom-elements/duet-slideout-panel.js +5 -5
  223. package/lib/dist-custom-elements/duet-slideout.js +12 -12
  224. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  225. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  226. package/lib/dist-custom-elements/duet-status-icon.js +1 -1
  227. package/lib/dist-custom-elements/duet-step.js +4 -4
  228. package/lib/dist-custom-elements/duet-stepper.js +3 -3
  229. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  230. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  231. package/lib/dist-custom-elements/duet-submenu-bar-item.js +4 -4
  232. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  233. package/lib/dist-custom-elements/duet-submenu-bar.js +4 -4
  234. package/lib/dist-custom-elements/duet-tab-group.js +8 -8
  235. package/lib/dist-custom-elements/duet-tab.js +2 -2
  236. package/lib/dist-custom-elements/duet-table.js +1 -1
  237. package/lib/dist-custom-elements/duet-textarea.js +59 -36
  238. package/lib/dist-custom-elements/duet-toggle.js +3 -3
  239. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  240. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +3 -3
  241. package/lib/dist-custom-elements/duet-toolbar-item.js +6 -6
  242. package/lib/dist-custom-elements/duet-toolbar-link.js +3 -3
  243. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  244. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  245. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  246. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  247. package/lib/dist-custom-elements/duet-tray.js +4 -4
  248. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  249. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  250. package/lib/dist-custom-elements/duet-upload.js +20 -20
  251. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  252. package/lib/dist-custom-elements/index.js +1 -1
  253. package/lib/dist-custom-elements/{p-6b642a0f.js → p-04819623.js} +2 -2
  254. package/lib/dist-custom-elements/{p-822a3658.js → p-05128e11.js} +18 -15
  255. package/lib/dist-custom-elements/{p-e3318f50.js → p-06deb63a.js} +3 -3
  256. package/lib/dist-custom-elements/{p-36daddcc.js → p-0af6662f.js} +10 -13
  257. package/lib/dist-custom-elements/p-0d607aa5.js +43 -0
  258. package/lib/dist-custom-elements/{p-ed52e0d3.js → p-0dca88bc.js} +2 -2
  259. package/lib/dist-custom-elements/{p-0b65a85b.js → p-13d994c2.js} +40 -13
  260. package/lib/dist-custom-elements/{p-f407268e.js → p-1a349415.js} +5 -5
  261. package/lib/dist-custom-elements/{p-caaa84e9.js → p-20af19f0.js} +2 -2
  262. package/lib/dist-custom-elements/{p-b7a93f1c.js → p-2fc2a0b6.js} +5 -4
  263. package/lib/dist-custom-elements/{p-67617261.js → p-32b35eb2.js} +4 -4
  264. package/lib/dist-custom-elements/{p-a5acdbd1.js → p-3b89d7ab.js} +8 -5
  265. package/lib/dist-custom-elements/{p-27b0790d.js → p-46206871.js} +1 -1
  266. package/lib/dist-custom-elements/{p-738df69f.js → p-509dca55.js} +1 -1
  267. package/lib/dist-custom-elements/{p-71176ae5.js → p-515dedd9.js} +2 -2
  268. package/lib/dist-custom-elements/{p-59668efb.js → p-575b998e.js} +2 -2
  269. package/lib/dist-custom-elements/{p-1f32b9fd.js → p-5957bf62.js} +3 -3
  270. package/lib/dist-custom-elements/{p-370b0653.js → p-5a5372db.js} +1 -1
  271. package/lib/dist-custom-elements/{p-6ca748e5.js → p-659b46dc.js} +2 -2
  272. package/lib/dist-custom-elements/{p-bebe4e35.js → p-6d3db687.js} +1 -1
  273. package/lib/dist-custom-elements/{p-b3c2ecbc.js → p-721934fb.js} +2 -2
  274. package/lib/dist-custom-elements/{p-c972a96e.js → p-7ac368f3.js} +3 -3
  275. package/lib/dist-custom-elements/{p-de31461b.js → p-7f5a8d4f.js} +10 -10
  276. package/lib/dist-custom-elements/p-7fae118b.js +318 -0
  277. package/lib/dist-custom-elements/{p-586d4e77.js → p-856877ce.js} +1 -1
  278. package/lib/dist-custom-elements/{p-c224f527.js → p-856c21c2.js} +1 -1
  279. package/lib/dist-custom-elements/{p-c936343b.js → p-87838af5.js} +3 -3
  280. package/lib/dist-custom-elements/{p-388d3f27.js → p-92614803.js} +2 -2
  281. package/lib/dist-custom-elements/{p-e14bb6cb.js → p-94bcb496.js} +2 -2
  282. package/lib/dist-custom-elements/{p-0c92061d.js → p-9c152299.js} +2 -2
  283. package/lib/dist-custom-elements/{p-58dd40d8.js → p-9cc4be6b.js} +1 -1
  284. package/lib/dist-custom-elements/{p-0ba28ed9.js → p-9ff3d312.js} +4 -4
  285. package/lib/dist-custom-elements/{p-6e61da36.js → p-a2165a78.js} +2 -2
  286. package/lib/dist-custom-elements/p-a9d05a66.js +58 -0
  287. package/lib/dist-custom-elements/{p-a10e2105.js → p-af66a878.js} +2 -2
  288. package/lib/dist-custom-elements/{p-6bde0f88.js → p-b1dab6b7.js} +1 -1
  289. package/lib/dist-custom-elements/{p-4e7c6547.js → p-b5757906.js} +3 -3
  290. package/lib/dist-custom-elements/{p-d62457b3.js → p-b9dfe8fb.js} +2 -2
  291. package/lib/dist-custom-elements/{p-6611bb3c.js → p-c00e6485.js} +34 -12
  292. package/lib/dist-custom-elements/{p-da422056.js → p-c9b0406e.js} +2 -2
  293. package/lib/dist-custom-elements/{p-318f7157.js → p-cd6aad6d.js} +9 -9
  294. package/lib/dist-custom-elements/{p-9ee646c7.js → p-d2461d13.js} +1 -1
  295. package/lib/dist-custom-elements/{p-4d81562b.js → p-e8f9e11c.js} +6 -6
  296. package/lib/dist-custom-elements/{p-73cfbf89.js → p-f6889d60.js} +3 -3
  297. package/lib/dist-custom-elements/{p-bc5d9435.js → p-fc39349f.js} +21 -24
  298. package/lib/dist-custom-elements/{p-6cc7b04f.js → p-ffd3c3bf.js} +1 -1
  299. package/lib/duet/duet.esm.js +1 -1
  300. package/lib/duet/duet.js +1 -1
  301. package/lib/duet/{p-801de8a1.js → p-0117fffd.js} +1 -1
  302. package/lib/duet/p-0196e419.system.entry.js +4 -0
  303. package/lib/duet/{p-fe1ac373.entry.js → p-01bfa80a.entry.js} +1 -1
  304. package/lib/duet/{p-20da5e5e.entry.js → p-01c4784d.entry.js} +1 -1
  305. package/lib/duet/{p-62065bae.entry.js → p-021aad93.entry.js} +1 -1
  306. package/lib/duet/{p-568074aa.system.entry.js → p-02b0b46e.system.entry.js} +1 -1
  307. package/lib/duet/{p-f1cd0117.entry.js → p-08a6fe81.entry.js} +1 -1
  308. package/lib/duet/p-08bafedd.entry.js +4 -0
  309. package/lib/duet/{p-5173ee52.system.entry.js → p-0a04f223.system.entry.js} +1 -1
  310. package/lib/duet/{p-d9a48ce2.system.entry.js → p-0a55a31e.system.entry.js} +1 -1
  311. package/lib/duet/{p-42fc2f19.entry.js → p-0a5bad04.entry.js} +1 -1
  312. package/lib/duet/{p-0353b07b.entry.js → p-0b393b45.entry.js} +1 -1
  313. package/lib/duet/{p-5b3f7cac.system.entry.js → p-0b4d95a3.system.entry.js} +1 -1
  314. package/lib/duet/{p-4f10a6a2.entry.js → p-0d93d5d6.entry.js} +1 -1
  315. package/lib/duet/{p-975a3215.system.entry.js → p-0dd9cb8f.system.entry.js} +1 -1
  316. package/lib/duet/{p-f051365a.system.entry.js → p-0ea89bc3.system.entry.js} +1 -1
  317. package/lib/duet/{p-f67270bc.entry.js → p-108a8449.entry.js} +1 -1
  318. package/lib/duet/{p-14ac8312.entry.js → p-11484af4.entry.js} +1 -1
  319. package/lib/duet/{p-cbe272ff.system.entry.js → p-1188bd88.system.entry.js} +1 -1
  320. package/lib/duet/p-1255ca3c.entry.js +4 -0
  321. package/lib/duet/{p-96c0a423.system.entry.js → p-147036df.system.entry.js} +2 -2
  322. package/lib/duet/p-1640e9ef.system.entry.js +4 -0
  323. package/lib/duet/p-171fef9f.entry.js +4 -0
  324. package/lib/duet/{p-22b9e7b9.system.js → p-17b4723d.system.js} +1 -1
  325. package/lib/duet/{p-6b3b79fe.system.entry.js → p-1c7c636b.system.entry.js} +1 -1
  326. package/lib/duet/{p-343ed54b.system.entry.js → p-1ca77377.system.entry.js} +1 -1
  327. package/lib/duet/{p-da0d4e53.system.entry.js → p-1e748fe7.system.entry.js} +1 -1
  328. package/lib/duet/{p-a8e575f2.entry.js → p-1fc499eb.entry.js} +1 -1
  329. package/lib/duet/{p-22a0d711.entry.js → p-2072e2e3.entry.js} +1 -1
  330. package/lib/duet/p-218f197d.entry.js +4 -0
  331. package/lib/duet/{p-654d2c52.entry.js → p-295d819b.entry.js} +1 -1
  332. package/lib/duet/{p-3c009b49.entry.js → p-29620cb8.entry.js} +1 -1
  333. package/lib/duet/{p-e6f0be75.entry.js → p-2bbce6ff.entry.js} +1 -1
  334. package/lib/duet/{p-5e747ef8.system.entry.js → p-2d09e690.system.entry.js} +1 -1
  335. package/lib/duet/p-2dad2417.system.entry.js +4 -0
  336. package/lib/duet/{p-b8789b13.system.entry.js → p-2ed33090.system.entry.js} +1 -1
  337. package/lib/duet/{p-c311a973.entry.js → p-2f4670b2.entry.js} +1 -1
  338. package/lib/duet/p-2f938e05.js +4 -0
  339. package/lib/duet/{p-d838a9ab.system.entry.js → p-32672a70.system.entry.js} +1 -1
  340. package/lib/duet/{p-ef3c6cfe.system.entry.js → p-32c11792.system.entry.js} +1 -1
  341. package/lib/duet/{p-04608f57.system.entry.js → p-34679792.system.entry.js} +1 -1
  342. package/lib/duet/p-3639064f.entry.js +4 -0
  343. package/lib/duet/{p-30528008.system.entry.js → p-364bf8a5.system.entry.js} +1 -1
  344. package/lib/duet/p-3682e272.entry.js +4 -0
  345. package/lib/duet/{p-3164c809.system.entry.js → p-3707f843.system.entry.js} +1 -1
  346. package/lib/duet/{p-e4695812.entry.js → p-37558e94.entry.js} +1 -1
  347. package/lib/duet/p-37a2bf8f.system.entry.js +4 -0
  348. package/lib/duet/p-38209530.system.entry.js +4 -0
  349. package/lib/duet/{p-d0799d89.entry.js → p-3aa1dda7.entry.js} +1 -1
  350. package/lib/duet/{p-f0a6103e.js → p-3aa7b734.js} +1 -1
  351. package/lib/duet/p-3ae93bdc.entry.js +4 -0
  352. package/lib/duet/{p-0834979e.entry.js → p-3e04b125.entry.js} +1 -1
  353. package/lib/duet/{p-31dc3df9.entry.js → p-3f51641e.entry.js} +1 -1
  354. package/lib/duet/p-430e0441.entry.js +4 -0
  355. package/lib/duet/p-442b1388.system.entry.js +4 -0
  356. package/lib/duet/p-453db857.system.js +4 -0
  357. package/lib/duet/{p-f8a583d7.system.entry.js → p-47ae2ce5.system.entry.js} +1 -1
  358. package/lib/duet/{p-94421fff.entry.js → p-488d5317.entry.js} +1 -1
  359. package/lib/duet/p-4b688090.js +4 -0
  360. package/lib/duet/{p-8e150d9e.entry.js → p-4c3e8006.entry.js} +1 -1
  361. package/lib/duet/p-4cfffc05.system.js +4 -0
  362. package/lib/duet/{p-370d2601.system.entry.js → p-4d3b8094.system.entry.js} +1 -1
  363. package/lib/duet/p-4d584eba.entry.js +4 -0
  364. package/lib/duet/{p-fa878282.entry.js → p-5075f682.entry.js} +1 -1
  365. package/lib/duet/{p-cd94ea4d.entry.js → p-528f9e22.entry.js} +1 -1
  366. package/lib/duet/{p-0dda51a5.system.entry.js → p-5298d270.system.entry.js} +1 -1
  367. package/lib/duet/{p-9fe69b29.js → p-56def387.js} +1 -1
  368. package/lib/duet/p-57e55fe5.system.entry.js +4 -0
  369. package/lib/duet/{p-2a2a7f85.js → p-59cee476.js} +1 -1
  370. package/lib/duet/{p-d51bbbc5.entry.js → p-5b094a81.entry.js} +1 -1
  371. package/lib/duet/{p-52ea64b7.entry.js → p-5b7b0c49.entry.js} +1 -1
  372. package/lib/duet/{p-5bdebddc.system.entry.js → p-5d078192.system.entry.js} +1 -1
  373. package/lib/duet/p-620790ec.entry.js +4 -0
  374. package/lib/duet/{p-3b2e4c1d.js → p-6251429e.js} +1 -1
  375. package/lib/duet/{p-8f38dd1f.entry.js → p-62d45619.entry.js} +1 -1
  376. package/lib/duet/{p-087cfec4.system.entry.js → p-646fb027.system.entry.js} +1 -1
  377. package/lib/duet/p-64714348.system.entry.js +4 -0
  378. package/lib/duet/{p-454d2e52.entry.js → p-67150100.entry.js} +1 -1
  379. package/lib/duet/{p-1f5071fd.system.js → p-6746f86c.system.js} +1 -1
  380. package/lib/duet/{p-0932bf00.system.entry.js → p-68b94462.system.entry.js} +1 -1
  381. package/lib/duet/{p-3fbd1e41.entry.js → p-693c2594.entry.js} +1 -1
  382. package/lib/duet/{p-e42f6025.system.entry.js → p-69a0ce45.system.entry.js} +1 -1
  383. package/lib/duet/{p-0eff2032.system.entry.js → p-6f677d93.system.entry.js} +1 -1
  384. package/lib/duet/{p-5f1353eb.system.entry.js → p-6fe0a923.system.entry.js} +1 -1
  385. package/lib/duet/{p-1a8ef4df.system.entry.js → p-7013d95e.system.entry.js} +1 -1
  386. package/lib/duet/{p-e4819f63.entry.js → p-71be2ee6.entry.js} +1 -1
  387. package/lib/duet/{p-083738b6.system.js → p-7231eb9d.system.js} +1 -1
  388. package/lib/duet/{p-614797cd.system.entry.js → p-742e23f2.system.entry.js} +1 -1
  389. package/lib/duet/p-743372d1.system.entry.js +4 -0
  390. package/lib/duet/{p-6ec70ae7.system.entry.js → p-74a10d90.system.entry.js} +1 -1
  391. package/lib/duet/{p-4af8fdc9.entry.js → p-765ce7e2.entry.js} +1 -1
  392. package/lib/duet/{p-67acb8a1.entry.js → p-76f86b9a.entry.js} +1 -1
  393. package/lib/duet/{p-1122796e.entry.js → p-77b52060.entry.js} +1 -1
  394. package/lib/duet/{p-074c91c7.entry.js → p-7948f709.entry.js} +1 -1
  395. package/lib/duet/p-7ac368f3.js +4 -0
  396. package/lib/duet/{p-31492c23.system.entry.js → p-7d56359b.system.entry.js} +1 -1
  397. package/lib/duet/p-81dc0c8c.system.js +4 -0
  398. package/lib/duet/{p-87633fff.system.js → p-83cfc05d.system.js} +1 -1
  399. package/lib/duet/{p-7a9b2555.system.entry.js → p-850c54b0.system.entry.js} +1 -1
  400. package/lib/duet/p-88c60955.entry.js +4 -0
  401. package/lib/duet/p-8a10a26e.entry.js +4 -0
  402. package/lib/duet/{p-9718c106.js → p-8b34b6a1.js} +1 -1
  403. package/lib/duet/{p-544af526.entry.js → p-8cb64ea1.entry.js} +1 -1
  404. package/lib/duet/{p-1853a8d1.system.entry.js → p-8ccbbbc7.system.entry.js} +1 -1
  405. package/lib/duet/{p-a081ba40.system.entry.js → p-8d28efb9.system.entry.js} +1 -1
  406. package/lib/duet/{p-f8ca9352.entry.js → p-8e21ea72.entry.js} +1 -1
  407. package/lib/duet/{p-9f79df76.system.entry.js → p-8e6085d1.system.entry.js} +1 -1
  408. package/lib/duet/{p-ab5a725f.system.entry.js → p-8f7fcfb5.system.entry.js} +1 -1
  409. package/lib/duet/p-8fe2a9bf.entry.js +4 -0
  410. package/lib/duet/p-8fe65a80.system.entry.js +4 -0
  411. package/lib/duet/{p-3f85b6e1.system.entry.js → p-90157004.system.entry.js} +1 -1
  412. package/lib/duet/p-90fcd0a4.system.entry.js +4 -0
  413. package/lib/duet/{p-522ea2bc.system.entry.js → p-9220dbb1.system.entry.js} +1 -1
  414. package/lib/duet/{p-912d1e35.entry.js → p-9277533c.entry.js} +1 -1
  415. package/lib/duet/{p-b259aa2e.entry.js → p-94341565.entry.js} +1 -1
  416. package/lib/duet/{p-f744061c.system.entry.js → p-9453fcb3.system.entry.js} +1 -1
  417. package/lib/duet/{p-10190357.entry.js → p-97d956fb.entry.js} +1 -1
  418. package/lib/duet/{p-a723ed36.entry.js → p-9bfd9d0e.entry.js} +1 -1
  419. package/lib/duet/p-9f3b0efe.entry.js +4 -0
  420. package/lib/duet/{p-396f0210.system.entry.js → p-9f6855fa.system.entry.js} +1 -1
  421. package/lib/duet/{p-9309d30f.system.entry.js → p-a2173e10.system.entry.js} +2 -2
  422. package/lib/duet/p-a44268b2.system.entry.js +4 -0
  423. package/lib/duet/{p-8fe4c3f3.entry.js → p-a579ae4d.entry.js} +1 -1
  424. package/lib/duet/{p-9d6c1403.system.js → p-a71f0bcb.system.js} +1 -1
  425. package/lib/duet/{p-f428124a.entry.js → p-a744d677.entry.js} +1 -1
  426. package/lib/duet/{p-de665458.entry.js → p-a9d0200d.entry.js} +1 -1
  427. package/lib/duet/p-ab79bc5b.system.entry.js +4 -0
  428. package/lib/duet/{p-a44bb8ed.system.entry.js → p-ae03cb6d.system.entry.js} +1 -1
  429. package/lib/duet/{p-ae0f818b.entry.js → p-ae220bba.entry.js} +1 -1
  430. package/lib/duet/p-af9c927e.system.entry.js +4 -0
  431. package/lib/duet/p-b0af0dbc.js +4 -0
  432. package/lib/duet/{p-d647ee04.system.entry.js → p-b0b59b81.system.entry.js} +1 -1
  433. package/lib/duet/p-b1e60f97.system.js +4 -0
  434. package/lib/duet/p-b52a7760.entry.js +4 -0
  435. package/lib/duet/p-b9aec534.js +4 -0
  436. package/lib/duet/{p-0db56130.system.js → p-bb332c66.system.js} +1 -1
  437. package/lib/duet/{p-47853cbb.entry.js → p-bb8ae835.entry.js} +1 -1
  438. package/lib/duet/{p-d40c555f.system.entry.js → p-bd56c1a2.system.entry.js} +1 -1
  439. package/lib/duet/p-c2040676.entry.js +4 -0
  440. package/lib/duet/p-c33b42c3.entry.js +4 -0
  441. package/lib/duet/p-c38c24d6.entry.js +4 -0
  442. package/lib/duet/{p-6a74bdc7.entry.js → p-c3c20651.entry.js} +1 -1
  443. package/lib/duet/{p-33c2b5bc.system.entry.js → p-c3dc699e.system.entry.js} +1 -1
  444. package/lib/duet/p-c4b5fabf.system.entry.js +4 -0
  445. package/lib/duet/p-c5415db0.system.entry.js +4 -0
  446. package/lib/duet/{p-696e260a.system.entry.js → p-c6e2ee1a.system.entry.js} +1 -1
  447. package/lib/duet/{p-8f63f345.entry.js → p-c754edc5.entry.js} +1 -1
  448. package/lib/duet/{p-e59c5a32.system.js → p-c801dc04.system.js} +1 -1
  449. package/lib/duet/{p-e7ee0ec6.entry.js → p-c842f2d4.entry.js} +1 -1
  450. package/lib/duet/{p-dbe544da.system.entry.js → p-c908691b.system.entry.js} +1 -1
  451. package/lib/duet/{p-3ebd766d.entry.js → p-c9d80470.entry.js} +1 -1
  452. package/lib/duet/{p-df475aba.entry.js → p-cb31529a.entry.js} +1 -1
  453. package/lib/duet/p-cb9b90ca.system.entry.js +4 -0
  454. package/lib/duet/{p-9b7e8ab5.system.entry.js → p-cd2b9ea5.system.entry.js} +1 -1
  455. package/lib/duet/{p-78fd95ce.system.entry.js → p-cda010aa.system.entry.js} +1 -1
  456. package/lib/duet/{p-dc52f8b3.entry.js → p-ce1092fb.entry.js} +1 -1
  457. package/lib/duet/{p-567e98c3.system.entry.js → p-ceb72dbf.system.entry.js} +1 -1
  458. package/lib/duet/p-cec33ac2.entry.js +4 -0
  459. package/lib/duet/{p-db94518e.entry.js → p-ceef0aa6.entry.js} +1 -1
  460. package/lib/duet/p-cf597b70.js +4 -0
  461. package/lib/duet/{p-73c92818.system.entry.js → p-cf7c7b31.system.entry.js} +2 -2
  462. package/lib/duet/{p-ebb705ea.entry.js → p-d049d71c.entry.js} +1 -1
  463. package/lib/duet/{p-c45a6eb5.entry.js → p-d1b57119.entry.js} +1 -1
  464. package/lib/duet/{p-74a07533.system.entry.js → p-d2bbf06d.system.entry.js} +1 -1
  465. package/lib/duet/{p-27e23edc.system.entry.js → p-d402bc88.system.entry.js} +1 -1
  466. package/lib/duet/p-d8c928d7.system.entry.js +4 -0
  467. package/lib/duet/p-da78c7c2.system.entry.js +4 -0
  468. package/lib/duet/{p-ff1d5ca4.system.entry.js → p-db051207.system.entry.js} +1 -1
  469. package/lib/duet/{p-c6b3efe7.system.entry.js → p-dbd06bd8.system.entry.js} +1 -1
  470. package/lib/duet/p-dcfc4c0f.system.entry.js +4 -0
  471. package/lib/duet/{p-ba9b82ac.entry.js → p-deb9517b.entry.js} +1 -1
  472. package/lib/duet/{p-7a2bb47e.system.entry.js → p-df506bc2.system.entry.js} +1 -1
  473. package/lib/duet/{p-5a366583.entry.js → p-e06917a1.entry.js} +1 -1
  474. package/lib/duet/p-e124a98d.system.entry.js +4 -0
  475. package/lib/duet/{p-0738c052.system.entry.js → p-e32bf9f7.system.entry.js} +1 -1
  476. package/lib/duet/{p-d5fca58a.entry.js → p-e57b46d9.entry.js} +1 -1
  477. package/lib/duet/{p-b2121bec.entry.js → p-e5e9d602.entry.js} +1 -1
  478. package/lib/duet/p-e68bc090.system.entry.js +4 -0
  479. package/lib/duet/p-e6ea7449.entry.js +4 -0
  480. package/lib/duet/p-ed178fc9.system.entry.js +4 -0
  481. package/lib/duet/{p-5d338cf8.entry.js → p-ed7e4450.entry.js} +1 -1
  482. package/lib/duet/{p-858e5593.entry.js → p-edb2b160.entry.js} +1 -1
  483. package/lib/duet/{p-3a134c72.entry.js → p-ef15807a.entry.js} +1 -1
  484. package/lib/duet/{p-f8a8bf99.system.entry.js → p-f0ae8c0f.system.entry.js} +2 -2
  485. package/lib/duet/p-f3098989.entry.js +4 -0
  486. package/lib/duet/p-f37dae2f.system.entry.js +4 -0
  487. package/lib/duet/{p-8e1def15.system.js → p-f392387c.system.js} +1 -1
  488. package/lib/duet/{p-fc8f1bed.system.entry.js → p-f3f34fe0.system.entry.js} +1 -1
  489. package/lib/duet/p-f4939b4a.system.entry.js +4 -0
  490. package/lib/duet/{p-b786f573.entry.js → p-f49c6050.entry.js} +1 -1
  491. package/lib/duet/{p-43bbba35.system.js → p-f6e20b20.system.js} +1 -1
  492. package/lib/duet/p-f8bfbd2d.entry.js +4 -0
  493. package/lib/duet/p-f8c7cc95.entry.js +4 -0
  494. package/lib/duet/{p-94f50cf0.system.entry.js → p-fa06e91a.system.entry.js} +1 -1
  495. package/lib/duet/{p-ff5f3e09.system.entry.js → p-fe0a02b8.system.entry.js} +1 -1
  496. package/lib/duet/{p-3c312b08.entry.js → p-fe5a2b41.entry.js} +1 -1
  497. package/lib/duet/{p-457b0314.entry.js → p-fedc902d.entry.js} +1 -1
  498. package/lib/esm/a11y-utils-04e1285d.js +43 -0
  499. package/lib/esm/{app-globals-143619f5.js → app-globals-1de03b2e.js} +1 -1
  500. package/lib/esm/{common-strings-1274857d.js → common-strings-5f78fe4e.js} +5 -4
  501. package/lib/esm/duet-action-button.entry.js +5 -5
  502. package/lib/esm/duet-alert.entry.js +15 -12
  503. package/lib/esm/duet-badge.entry.js +5 -5
  504. package/lib/esm/duet-banner.entry.js +6 -6
  505. package/lib/esm/duet-breadcrumb.entry.js +2 -2
  506. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  507. package/lib/esm/duet-button_2.entry.js +7 -7
  508. package/lib/esm/duet-callout.entry.js +3 -3
  509. package/lib/esm/duet-caption_4.entry.js +12 -12
  510. package/lib/esm/duet-card.entry.js +5 -5
  511. package/lib/esm/duet-checkbox.entry.js +3 -3
  512. package/lib/esm/duet-checkmark.entry.js +2 -2
  513. package/lib/esm/duet-chip.entry.js +4 -4
  514. package/lib/esm/duet-choice_2.entry.js +9 -8
  515. package/lib/esm/duet-collapsible.entry.js +15 -10
  516. package/lib/esm/duet-combobox.entry.js +20 -15
  517. package/lib/esm/duet-contact-card.entry.js +3 -3
  518. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  519. package/lib/esm/duet-date-picker.entry.js +6 -6
  520. package/lib/esm/duet-divider_2.entry.js +4 -4
  521. package/lib/esm/duet-editable-table_3.entry.js +11 -8
  522. package/lib/esm/duet-empty-state.entry.js +2 -2
  523. package/lib/esm/duet-fieldset.entry.js +3 -3
  524. package/lib/esm/duet-file-chooser.entry.js +2 -2
  525. package/lib/esm/duet-footer.entry.js +5 -5
  526. package/lib/esm/duet-grid_2.entry.js +2 -2
  527. package/lib/esm/duet-header_2.entry.js +8 -8
  528. package/lib/esm/duet-hero.entry.js +18 -17
  529. package/lib/esm/duet-icon.entry.js +4 -4
  530. package/lib/esm/duet-indicator.entry.js +3 -3
  531. package/lib/esm/duet-input_2.entry.js +32 -8
  532. package/lib/esm/duet-layout.entry.js +2 -2
  533. package/lib/esm/duet-list_2.entry.js +3 -3
  534. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  535. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
  536. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  537. package/lib/esm/duet-menu-bar-item.entry.js +6 -6
  538. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  539. package/lib/esm/duet-menu-bar.entry.js +3 -3
  540. package/lib/esm/duet-modal.entry.js +8 -8
  541. package/lib/esm/duet-multiselect.entry.js +5 -5
  542. package/lib/esm/duet-nav.entry.js +2 -2
  543. package/lib/esm/duet-notification_2.entry.js +4 -4
  544. package/lib/esm/duet-number-input.entry.js +16 -12
  545. package/lib/esm/duet-overlay.entry.js +2 -2
  546. package/lib/esm/duet-page-heading.entry.js +2 -2
  547. package/lib/esm/duet-pagination_2.entry.js +5 -5
  548. package/lib/esm/duet-panel.entry.js +5 -6
  549. package/lib/esm/duet-phone-input.entry.js +7 -7
  550. package/lib/esm/duet-popup-menu_2.entry.js +14 -16
  551. package/lib/esm/duet-progress.entry.js +3 -3
  552. package/lib/esm/duet-promo-card.entry.js +6 -6
  553. package/lib/esm/duet-radio_2.entry.js +4 -4
  554. package/lib/esm/duet-range-slider.entry.js +4 -4
  555. package/lib/esm/duet-scrollable_3.entry.js +31 -12
  556. package/lib/esm/duet-section-layout.entry.js +1 -1
  557. package/lib/esm/duet-select.entry.js +5 -8
  558. package/lib/esm/duet-shaped-image.entry.js +2 -2
  559. package/lib/esm/duet-share-chart-item.entry.js +1 -1
  560. package/lib/esm/duet-share-chart.entry.js +6 -6
  561. package/lib/esm/duet-show-more.entry.js +3 -3
  562. package/lib/esm/duet-slideout-lang.entry.js +3 -3
  563. package/lib/esm/duet-slideout-link.entry.js +6 -6
  564. package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
  565. package/lib/esm/duet-slideout-panel.entry.js +7 -7
  566. package/lib/esm/duet-slideout.entry.js +15 -15
  567. package/lib/esm/duet-status-icon.entry.js +2 -2
  568. package/lib/esm/duet-step_2.entry.js +4 -4
  569. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
  570. package/lib/esm/duet-submenu-bar-dropdown.entry.js +3 -3
  571. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  572. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  573. package/lib/esm/duet-submenu-bar.entry.js +3 -3
  574. package/lib/esm/duet-textarea.entry.js +48 -29
  575. package/lib/esm/duet-toggle.entry.js +3 -3
  576. package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
  577. package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
  578. package/lib/esm/duet-toolbar-item.entry.js +6 -6
  579. package/lib/esm/duet-toolbar-link.entry.js +3 -3
  580. package/lib/esm/duet-toolbar.entry.js +2 -2
  581. package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
  582. package/lib/esm/duet-tooltip.entry.js +4 -4
  583. package/lib/esm/duet-tray.entry.js +4 -4
  584. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  585. package/lib/esm/duet-upload-item.entry.js +4 -4
  586. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  587. package/lib/esm/duet.js +4 -4
  588. package/lib/esm/{errorcodes.utils-1e9af184.js → errorcodes.utils-e3c3fbe7.js} +1 -1
  589. package/lib/esm/{focus-utils-d80e0fff.js → focus-utils-8dcbe898.js} +1 -1
  590. package/lib/esm/{index-8edff080.js → index-e0645409.js} +1 -1
  591. package/lib/esm/{language-utils-da0a98a7.js → language-utils-5c6108e9.js} +1 -1
  592. package/lib/esm/loader.js +4 -4
  593. package/lib/esm/{slot-utils-86873bd2.js → slot-utils-0bb6f129.js} +1 -1
  594. package/lib/esm/{themeable-component-19d01405.js → themeable-component-f1c77a5d.js} +1 -1
  595. package/lib/esm/{token-utils-d02c20ff.js → token-utils-0d5e28a7.js} +1 -1
  596. package/lib/esm/{tokens-1fd83076.js → tokens-1702323a.js} +3 -3
  597. package/lib/esm/{tokens.module-7b07911f.js → tokens.module-7ae22e26.js} +3 -3
  598. package/lib/esm-es5/a11y-utils-04e1285d.js +4 -0
  599. package/lib/esm-es5/{app-globals-143619f5.js → app-globals-1de03b2e.js} +1 -1
  600. package/lib/esm-es5/{common-strings-1274857d.js → common-strings-5f78fe4e.js} +1 -1
  601. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  602. package/lib/esm-es5/duet-alert.entry.js +2 -2
  603. package/lib/esm-es5/duet-badge.entry.js +1 -1
  604. package/lib/esm-es5/duet-banner.entry.js +1 -1
  605. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  606. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  607. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  608. package/lib/esm-es5/duet-callout.entry.js +1 -1
  609. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  610. package/lib/esm-es5/duet-card.entry.js +1 -1
  611. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  612. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  613. package/lib/esm-es5/duet-chip.entry.js +1 -1
  614. package/lib/esm-es5/duet-choice_2.entry.js +2 -2
  615. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  616. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  617. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  618. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  619. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  620. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  621. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  622. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  623. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  624. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  625. package/lib/esm-es5/duet-footer.entry.js +1 -1
  626. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  627. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  628. package/lib/esm-es5/duet-hero.entry.js +1 -1
  629. package/lib/esm-es5/duet-icon.entry.js +1 -1
  630. package/lib/esm-es5/duet-indicator.entry.js +1 -1
  631. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  632. package/lib/esm-es5/duet-layout.entry.js +1 -1
  633. package/lib/esm-es5/duet-list_2.entry.js +2 -2
  634. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  635. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  636. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  637. package/lib/esm-es5/duet-menu-bar-item.entry.js +1 -1
  638. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  639. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  640. package/lib/esm-es5/duet-modal.entry.js +1 -1
  641. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  642. package/lib/esm-es5/duet-nav.entry.js +1 -1
  643. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  644. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  645. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  646. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  647. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  648. package/lib/esm-es5/duet-panel.entry.js +1 -1
  649. package/lib/esm-es5/duet-phone-input.entry.js +1 -1
  650. package/lib/esm-es5/duet-popup-menu_2.entry.js +2 -2
  651. package/lib/esm-es5/duet-progress.entry.js +1 -1
  652. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  653. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  654. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  655. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  656. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  657. package/lib/esm-es5/duet-select.entry.js +2 -2
  658. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  659. package/lib/esm-es5/duet-share-chart-item.entry.js +1 -1
  660. package/lib/esm-es5/duet-share-chart.entry.js +1 -1
  661. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  662. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  663. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  664. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  665. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  666. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  667. package/lib/esm-es5/duet-status-icon.entry.js +1 -1
  668. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  669. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  670. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  671. package/lib/esm-es5/duet-submenu-bar-item.entry.js +1 -1
  672. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  673. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  674. package/lib/esm-es5/duet-textarea.entry.js +2 -2
  675. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  676. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  677. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  678. package/lib/esm-es5/duet-toolbar-item.entry.js +1 -1
  679. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  680. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  681. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  682. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  683. package/lib/esm-es5/duet-tray.entry.js +1 -1
  684. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  685. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  686. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  687. package/lib/esm-es5/duet.js +1 -1
  688. package/lib/esm-es5/{errorcodes.utils-1e9af184.js → errorcodes.utils-e3c3fbe7.js} +1 -1
  689. package/lib/esm-es5/{focus-utils-d80e0fff.js → focus-utils-8dcbe898.js} +1 -1
  690. package/lib/esm-es5/{index-8edff080.js → index-e0645409.js} +1 -1
  691. package/lib/esm-es5/{language-utils-da0a98a7.js → language-utils-5c6108e9.js} +1 -1
  692. package/lib/esm-es5/loader.js +1 -1
  693. package/lib/esm-es5/{slot-utils-86873bd2.js → slot-utils-0bb6f129.js} +1 -1
  694. package/lib/esm-es5/{themeable-component-19d01405.js → themeable-component-f1c77a5d.js} +1 -1
  695. package/lib/esm-es5/{token-utils-d02c20ff.js → token-utils-0d5e28a7.js} +1 -1
  696. package/lib/esm-es5/tokens-1702323a.js +4 -0
  697. package/lib/esm-es5/tokens.module-7ae22e26.js +4 -0
  698. package/lib/types/components/duet-choice/duet-choice.d.ts +3 -3
  699. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
  700. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  701. package/lib/types/components/duet-input/duet-input.d.ts +12 -1
  702. package/lib/types/components/duet-number-input/duet-number-input.d.ts +8 -6
  703. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +4 -4
  704. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +13 -0
  705. package/lib/types/components/duet-select/duet-select.d.ts +0 -1
  706. package/lib/types/components/duet-slideout/duet-slideout.d.ts +4 -4
  707. package/lib/types/components/duet-textarea/duet-textarea.d.ts +17 -7
  708. package/lib/types/components.d.ts +58 -27
  709. package/lib/types/utils/a11y-utils.d.ts +11 -0
  710. package/package.json +5 -5
  711. package/lib/cjs/a11y-utils-27715462.js +0 -25
  712. package/lib/dist-custom-elements/p-6b2617d7.js +0 -58
  713. package/lib/dist-custom-elements/p-e89676de.js +0 -318
  714. package/lib/dist-custom-elements/p-f8d1e874.js +0 -23
  715. package/lib/duet/p-00fdc8a5.entry.js +0 -4
  716. package/lib/duet/p-0407196d.system.entry.js +0 -4
  717. package/lib/duet/p-06317021.system.entry.js +0 -4
  718. package/lib/duet/p-0fb9f963.system.entry.js +0 -4
  719. package/lib/duet/p-0fd2949d.entry.js +0 -4
  720. package/lib/duet/p-117a0379.system.entry.js +0 -4
  721. package/lib/duet/p-1aabfaed.entry.js +0 -4
  722. package/lib/duet/p-23a14a5a.system.entry.js +0 -4
  723. package/lib/duet/p-24954951.js +0 -4
  724. package/lib/duet/p-2e209e01.system.entry.js +0 -4
  725. package/lib/duet/p-342c967e.system.entry.js +0 -4
  726. package/lib/duet/p-36678b00.entry.js +0 -4
  727. package/lib/duet/p-36f85144.entry.js +0 -4
  728. package/lib/duet/p-3815b0dd.system.entry.js +0 -4
  729. package/lib/duet/p-38fb1743.entry.js +0 -4
  730. package/lib/duet/p-3c8067bd.entry.js +0 -4
  731. package/lib/duet/p-403c3143.system.entry.js +0 -4
  732. package/lib/duet/p-44a37072.entry.js +0 -4
  733. package/lib/duet/p-451c3aab.system.entry.js +0 -4
  734. package/lib/duet/p-47387024.system.entry.js +0 -4
  735. package/lib/duet/p-4d6d92ad.system.entry.js +0 -4
  736. package/lib/duet/p-5162f6cd.entry.js +0 -4
  737. package/lib/duet/p-52a20f17.entry.js +0 -4
  738. package/lib/duet/p-542e6df7.system.entry.js +0 -4
  739. package/lib/duet/p-55bbe82e.system.entry.js +0 -4
  740. package/lib/duet/p-5a8d14bf.system.entry.js +0 -4
  741. package/lib/duet/p-5fc75c92.entry.js +0 -4
  742. package/lib/duet/p-64766118.js +0 -4
  743. package/lib/duet/p-6daf8a1b.js +0 -4
  744. package/lib/duet/p-799ca114.entry.js +0 -4
  745. package/lib/duet/p-8693fac0.system.entry.js +0 -4
  746. package/lib/duet/p-9148808e.entry.js +0 -4
  747. package/lib/duet/p-9461adf1.system.entry.js +0 -4
  748. package/lib/duet/p-987df55c.system.entry.js +0 -4
  749. package/lib/duet/p-9d8ac94e.entry.js +0 -4
  750. package/lib/duet/p-9d9457bf.js +0 -4
  751. package/lib/duet/p-9e34f749.system.entry.js +0 -4
  752. package/lib/duet/p-a4a80b80.system.entry.js +0 -4
  753. package/lib/duet/p-ac04269e.entry.js +0 -4
  754. package/lib/duet/p-ae0fd651.entry.js +0 -4
  755. package/lib/duet/p-b111d93d.system.entry.js +0 -4
  756. package/lib/duet/p-b70a5218.system.entry.js +0 -4
  757. package/lib/duet/p-b81ac5ae.system.js +0 -4
  758. package/lib/duet/p-b8688298.entry.js +0 -4
  759. package/lib/duet/p-bb6c5d9b.entry.js +0 -4
  760. package/lib/duet/p-c88bd45b.system.js +0 -4
  761. package/lib/duet/p-c972a96e.js +0 -4
  762. package/lib/duet/p-cc300171.system.entry.js +0 -4
  763. package/lib/duet/p-d0dbbd18.entry.js +0 -4
  764. package/lib/duet/p-d20c3b70.entry.js +0 -4
  765. package/lib/duet/p-d21f9230.system.js +0 -4
  766. package/lib/duet/p-db0ba7b6.system.js +0 -4
  767. package/lib/duet/p-e919fa07.entry.js +0 -4
  768. package/lib/duet/p-ebfbee15.system.entry.js +0 -4
  769. package/lib/duet/p-f856fc6d.system.entry.js +0 -4
  770. package/lib/duet/p-f9051bab.js +0 -4
  771. package/lib/duet/p-fc9aafe5.entry.js +0 -4
  772. package/lib/duet/p-fd34a664.entry.js +0 -4
  773. package/lib/esm/a11y-utils-35c2f182.js +0 -23
  774. package/lib/esm-es5/a11y-utils-35c2f182.js +0 -4
  775. package/lib/esm-es5/tokens-1fd83076.js +0 -4
  776. package/lib/esm-es5/tokens.module-7b07911f.js +0 -4
@@ -36,7 +36,7 @@
36
36
  :host(.duet-link-button):last-child, :host(.duet-link-button):last-of-type {
37
37
  margin-right: 0 !important;
38
38
  }
39
- [alignment=form-distribute] > :host(.duet-link-button):last-of-type {
39
+ [alignment=form-distribute] > :host(.duet-link-button):last-of-type:not(:last-child) {
40
40
  margin-right: 8px !important;
41
41
  }
42
42
 
@@ -158,6 +158,10 @@ button {
158
158
  .block-center.duet-link.none {
159
159
  padding: 0;
160
160
  }
161
+ .block.duet-link:hover .duet-link-content,
162
+ .block-center.duet-link:hover .duet-link-content {
163
+ color: rgb(0, 97, 155);
164
+ }
161
165
  .block .block__icon,
162
166
  .block-center .block__icon {
163
167
  display: flex;
@@ -433,30 +437,40 @@ button {
433
437
  }
434
438
  }
435
439
 
436
- :host(.duet-theme-turva2) .duet-link.duet-theme-turva {
440
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link {
437
441
  color: rgb(185, 3, 41);
438
442
  }
439
- :host(.duet-theme-turva2) .duet-link.duet-theme-turva:hover {
443
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link:hover {
440
444
  color: rgb(140, 0, 30);
441
445
  }
442
- :host(.duet-theme-turva2) .duet-tab-to-link.duet-theme-turva {
443
- color: rgb(23, 42, 59);
444
- }
445
- :host(.duet-theme-turva2) .duet-link.button.duet-theme-turva,
446
- :host(.duet-theme-turva2) .duet-link.list-button.duet-theme-turva {
446
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.button, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button {
447
447
  border-color: rgb(178, 194, 205);
448
448
  }
449
- :host(.duet-theme-turva2) .duet-link.button.duet-theme-turva .duet-link-content,
450
- :host(.duet-theme-turva2) .duet-link.list-button.duet-theme-turva .duet-link-content {
449
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.button .duet-link-content, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button .duet-link-content {
451
450
  color: rgb(23, 42, 59);
452
451
  }
453
- :host(.duet-theme-turva2) .duet-link.button.duet-theme-turva:hover {
452
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.button:hover {
454
453
  outline-color: rgb(230, 23, 64);
455
454
  border-color: rgb(230, 23, 64);
456
455
  }
457
- :host(.duet-theme-turva2) .duet-link.list-button.duet-theme-turva:hover {
456
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button:hover {
458
457
  border-color: rgb(178, 194, 205);
459
458
  }
460
- :host(.duet-theme-turva2) .duet-link.list-button.duet-theme-turva:hover .duet-link-content {
459
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button:hover .duet-link-content {
461
460
  color: rgb(230, 23, 64);
461
+ }
462
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center {
463
+ color: rgb(23, 42, 59);
464
+ }
465
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block .duet-link-content, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center .duet-link-content {
466
+ color: rgb(23, 42, 59);
467
+ }
468
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block:hover, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center:hover {
469
+ color: rgb(185, 3, 41);
470
+ }
471
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block:hover .duet-link-content, :host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center:hover .duet-link-content {
472
+ color: rgb(185, 3, 41);
473
+ }
474
+ :host(.duet-theme-turva2) .duet-theme-turva.duet-tab-to-link {
475
+ color: rgb(23, 42, 59);
462
476
  }
@@ -94,7 +94,7 @@ export class DuetLink {
94
94
  return (h(Fragment, null, h("span", { class: "duet-link-content", part: "duet-link-content" }, h("slot", null)), Build.isBrowser && (this.resolvedDownload || this.external) && this.variation === "default" && (h(Fragment, null, h("span", { class: "duet-link-icon-tail" }, "\u00A0", h("duet-icon", { icon: this.resolvedDownload ? downloadIcon.svg : newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" }))))));
95
95
  }
96
96
  renderBlockContent() {
97
- return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { class: this.iconResponsive ? "icon-responsive" : "", size: "auto", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderDefaultContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary-dark" }))));
97
+ return (h(Fragment, null, this.icon && (h("span", { class: "block__icon" }, h("duet-icon", { class: this.iconResponsive ? "icon-responsive" : "", size: "auto", name: this.icon, margin: "none", color: this.iconColor }))), h("span", { class: "block__content" }, this.renderDefaultContent()), h("span", { class: "block__chevron", part: "block-chevron" }, h("duet-icon", { class: "block__chevron-icon", icon: this.external ? newWindowIconLarge.svg : chevronIcon.svg, size: "x-small", margin: "none", color: "primary" }))));
98
98
  }
99
99
  renderButtonCardContent() {
100
100
  const iconWrapStyle = {
@@ -123,10 +123,10 @@ export class DuetLink {
123
123
  const Tag = !this.url && this.variation !== "default" ? "button" : "a";
124
124
  const role = !this.url && this.variation === "default" ? "button" : null;
125
125
  const isButton = Tag === "button";
126
- return (h(Host, { key: 'd83502af54d3fa4f2aec80d7082a5a6969207a39', class: {
126
+ return (h(Host, { key: 'bcb9fe0becd4120ea1e5f71539e54bce7b8dd9e5', class: {
127
127
  [`duet-link-${this.variation}`]: true,
128
128
  "duet-m-0": this.margin === "none",
129
- } }, h(Tag, { key: '534e9bcb74e02dc050ac1986b251f08215c8aa7d', href: this.url, class: {
129
+ } }, h(Tag, { key: '6c49284e34742515619fed318a67bc7f62484a74', href: this.url, class: {
130
130
  "duet-link": true,
131
131
  "duet-link-is-external": this.external,
132
132
  "duet-link-is-download": !!this.download,
@@ -110,13 +110,13 @@
110
110
  color: rgb(23, 28, 58);
111
111
  }
112
112
 
113
- :host(.duet-list-striped:nth-child(odd)) dt,
114
- :host(.duet-list-striped:nth-child(odd)) dd {
113
+ :host(.duet-list-striped:nth-of-type(odd)) dt,
114
+ :host(.duet-list-striped:nth-of-type(odd)) dd {
115
115
  background: rgb(245, 248, 250);
116
116
  }
117
117
 
118
- :host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,
119
- :host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd {
118
+ :host(.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dt,
119
+ :host(.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dd {
120
120
  background: rgb(245, 247, 250);
121
121
  }
122
122
 
@@ -436,8 +436,8 @@
436
436
  color: rgb(23, 42, 59);
437
437
  }
438
438
 
439
- :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,
440
- :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-child(odd)) dd {
439
+ :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dt,
440
+ :host(.duet-theme-turva2.duet-list-striped.duet-theme-turva:nth-of-type(odd)) dd {
441
441
  background: rgb(245, 246, 247);
442
442
  }
443
443
 
@@ -28,7 +28,7 @@
28
28
  :host:last-child, :host:last-of-type {
29
29
  margin-right: 0 !important;
30
30
  }
31
- [alignment=form-distribute] > :host:last-of-type {
31
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
32
32
  margin-right: 8px !important;
33
33
  }
34
34
 
@@ -30,7 +30,7 @@
30
30
  :host:last-child, :host:last-of-type {
31
31
  margin-right: 0 !important;
32
32
  }
33
- [alignment=form-distribute] > :host:last-of-type {
33
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
34
34
  margin-right: 16px !important;
35
35
  }
36
36
  @media (min-width: 36em) {
@@ -33,7 +33,7 @@
33
33
  :host:last-child, :host:last-of-type {
34
34
  margin-right: 0 !important;
35
35
  }
36
- [alignment=form-distribute] > :host:last-of-type {
36
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
37
37
  margin-right: 16px !important;
38
38
  }
39
39
  @media (min-width: 36em) {
@@ -197,15 +197,15 @@ export class DuetNumberInput {
197
197
  this.accessibleLive = getLocaleString(this.accessibleLiveDefaults, this.language);
198
198
  this.accessibleLiveEnabled = true;
199
199
  this.accessibleAddDefaults = {
200
- fi: "Lisää summaan",
201
- en: "Add to the amount",
202
- sv: "Lägg till beloppet",
200
+ fi: "Lisää {step} {unit}",
201
+ en: "Add {step} {unit}",
202
+ sv: "Lägg till {step} {unit}",
203
203
  };
204
204
  this.accessibleAdd = getLocaleString(this.accessibleAddDefaults, this.language);
205
205
  this.accessibleSubtractDefaults = {
206
- fi: "Vähennä summasta",
207
- en: "Subtract from the amount",
208
- sv: "Dra från beloppet",
206
+ fi: "Vähennä {step} {unit}",
207
+ en: "Subtract {step} {unit}",
208
+ sv: "Subtrahera {step} {unit}",
209
209
  };
210
210
  this.accessibleSubtract = getLocaleString(this.accessibleSubtractDefaults, this.language);
211
211
  this.theme = "";
@@ -302,7 +302,11 @@ export class DuetNumberInput {
302
302
  "duet-theme-turva": this.theme === "turva",
303
303
  "duet-expand": this.expand,
304
304
  "duet-m-0": this.margin === "none",
305
- } }, h("div", { class: "duet-number-container" }, h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, h("slot", { name: "tooltip" }), h("div", { class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, h("duet-visually-hidden", null, this.accessibleSubtract, " ", this.step), h("duet-icon", { icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, h("duet-visually-hidden", null, this.accessibleAdd, " ", this.step), h("duet-icon", { icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
305
+ } }, h("div", { class: "duet-number-container" }, h("duet-input", { ref: input => (this.duetInputElement = input), onDuetChange: event => this.handleChange(event), onDuetFocus: this.handleFocus, onDuetBlur: event => this.handleBlur(event), onKeyDown: event => this.handleKeyDown(event), label: this.label, value: this.value ? `${this.value}${this.getUnitString()}` : "", error: this.error, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": cleanedValue != null ? cleanedValue : "", maxlength: maxlength, name: this.name, component: "number", required: this.required, disabled: this.disabled, role: this.role, labelHidden: this.labelHidden, tooltip: this.tooltip, identifier: identifier, theme: this.theme, margin: "none", expand: true, numericKeyboard: true, autoComplete: "off", type: "text", accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleLabelledBy: this.accessibleLabelledBy, accessibleDescription: this.accessibleDescription, accessibleDetails: this.accessibleDetails, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy }, h("slot", { name: "tooltip" }), h("div", { class: { "duet-number-buttons": true, "duet-no-label": this.labelHidden } }, h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue == null || cleanedValue === this.min ? "true" : "false", class: "duet-number-button duet-number-button-subtract", onClick: this.subtract, type: "button" }, h("duet-visually-hidden", null, this.accessibleSubtract
306
+ .replace(/\{\s*step\s*\}/, `${this.step}`)
307
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), h("duet-icon", { icon: subtractIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })), h("button", { "aria-controls": identifier, disabled: this.disabled, "aria-disabled": cleanedValue === this.max ? "true" : "false", class: "duet-number-button duet-number-button-add", onClick: this.add, type: "button" }, h("duet-visually-hidden", null, this.accessibleAdd
308
+ .replace(/\{\s*step\s*\}/, `${this.step}`)
309
+ .replace(/\{\s*unit\s*\}/, `${this.unit}`)), h("duet-icon", { icon: addIcon.svg, size: "small", margin: "none", color: this.theme === "turva" ? "secondary-turva" : "secondary" })))), this.accessibleLiveEnabled && (h("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "all" }, this.formatAnnouncement())))));
306
310
  }
307
311
  static get is() { return "duet-number-input"; }
308
312
  static get encapsulation() { return "scoped"; }
@@ -623,7 +627,7 @@ export class DuetNumberInput {
623
627
  "docs": {
624
628
  "tags": [{
625
629
  "name": "default",
626
- "text": "{fi: \"Lis\u00E4\u00E4 summaan\", en: \"Add to the amount\", sv: \"L\u00E4gg till beloppet\"}"
630
+ "text": "{fi: \"Lis\u00E4\u00E4 {step} {unit}\", en: \"Add {step} {unit}\", sv: \"L\u00E4gg till {step} {unit}\"}"
627
631
  }],
628
632
  "text": "Defaults for accessibleAdd"
629
633
  },
@@ -631,7 +635,7 @@ export class DuetNumberInput {
631
635
  "setter": false,
632
636
  "attribute": "accessible-add-default",
633
637
  "reflect": false,
634
- "defaultValue": "{\n fi: \"Lis\u00E4\u00E4 summaan\",\n en: \"Add to the amount\",\n sv: \"L\u00E4gg till beloppet\",\n }"
638
+ "defaultValue": "{\n fi: \"Lis\u00E4\u00E4 {step} {unit}\",\n en: \"Add {step} {unit}\",\n sv: \"L\u00E4gg till {step} {unit}\",\n }"
635
639
  },
636
640
  "accessibleAdd": {
637
641
  "type": "string",
@@ -646,9 +650,9 @@ export class DuetNumberInput {
646
650
  "docs": {
647
651
  "tags": [{
648
652
  "name": "default",
649
- "text": "{fi: \"Lis\u00E4\u00E4 summaan\", en: \"Add to the amount\", sv: \"L\u00E4gg till beloppet\"}"
653
+ "text": "{fi: \"Lis\u00E4\u00E4 {step} {unit}\", en: \"Add {step} {unit}\", sv: \"L\u00E4gg till {step} {unit}\"}"
650
654
  }],
651
- "text": "Accessible label for the add button that is read for screen reader users."
655
+ "text": "Accessible label for the add button that is read for screen reader users. The placeholders {step} and {unit}\nare replaced with respective properties."
652
656
  },
653
657
  "getter": false,
654
658
  "setter": false,
@@ -675,7 +679,7 @@ export class DuetNumberInput {
675
679
  "docs": {
676
680
  "tags": [{
677
681
  "name": "default",
678
- "text": "{fi: \"V\u00E4henn\u00E4 summasta\", en: \"Subtract from the amount\", sv: \"Dra fr\u00E5n beloppet\"}"
682
+ "text": "{fi: \"V\u00E4henn {step} {unit}\u00E4\", en: \"Subtract {step} {unit}\", sv: \"Sutrahera {step} {unit}\"}"
679
683
  }],
680
684
  "text": "Defaults for accessibleSubtract"
681
685
  },
@@ -683,7 +687,7 @@ export class DuetNumberInput {
683
687
  "setter": false,
684
688
  "attribute": "accessible-subtract-defaults",
685
689
  "reflect": false,
686
- "defaultValue": "{\n fi: \"V\u00E4henn\u00E4 summasta\",\n en: \"Subtract from the amount\",\n sv: \"Dra fr\u00E5n beloppet\",\n }"
690
+ "defaultValue": "{\n fi: \"V\u00E4henn\u00E4 {step} {unit}\",\n en: \"Subtract {step} {unit}\",\n sv: \"Subtrahera {step} {unit}\",\n }"
687
691
  },
688
692
  "accessibleSubtract": {
689
693
  "type": "string",
@@ -698,9 +702,9 @@ export class DuetNumberInput {
698
702
  "docs": {
699
703
  "tags": [{
700
704
  "name": "default",
701
- "text": "{fi: \"V\u00E4henn\u00E4 summasta\", en: \"Subtract from the amount\", sv: \"Dra fr\u00E5n beloppet\"}"
705
+ "text": "{fi: \"V\u00E4henn\u00E4 {step} {unit}\", en: \"Subtract {step} {unit}\", sv: \"Sutrahera {step} {unit}\"}"
702
706
  }],
703
- "text": "Accessible label for the subtract button that is read for screen reader users."
707
+ "text": "Accessible label for the subtract button that is read for screen reader users. The placeholders {step} and {unit}\nare replaced with respective properties."
704
708
  },
705
709
  "getter": false,
706
710
  "setter": false,
@@ -17,8 +17,9 @@
17
17
  margin: 12px 0 28px 0;
18
18
  }
19
19
  }
20
- :host .duet-m-0 {
21
- margin: 0 !important;
20
+
21
+ :host(.duet-m-0) {
22
+ margin: 0;
22
23
  }
23
24
 
24
25
  .duet-panel {
@@ -21,15 +21,14 @@ export class DuetPanel {
21
21
  inheritGlobalTheme(this);
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: '8b846b25b51818d64ede169d7eb7a178e7620658' }, h("section", { key: '9825b3985ca00766d50876ba21a7cf4fc8aa1e64', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
24
+ return (h(Host, { key: 'b5e4419a744dda0b43c018dbf8c353f69899bcf3', class: { "duet-m-0": this.margin === "none" } }, h("section", { key: '6bcaa57151e39e90884a89dc2cbc87839754c4ef', "aria-label": this.accessibleLabel, "aria-labelledby": this.accessibleLabelledBy, "aria-describedby": this.accessibleDescribedBy, class: {
25
25
  "duet-panel": true,
26
26
  "duet-theme-turva": this.theme === "turva",
27
27
  [this.variation.split("-")[0]]: true,
28
28
  [this.variation.split("-")[1]]: true,
29
29
  [`padding-${this.padding}`]: true,
30
30
  border: this.border,
31
- "duet-m-0": this.margin === "none",
32
- } }, h("slot", { key: 'c5470707b941b16e0ea79c1a13b6b9b6056f4e22' }))));
31
+ } }, h("slot", { key: '8bb284bc305964b85745e72b13c7fad3348b626e' }))));
33
32
  }
34
33
  static get is() { return "duet-panel"; }
35
34
  static get encapsulation() { return "shadow"; }
@@ -40,7 +40,7 @@ span.flag-container {
40
40
  :host:last-child, :host:last-of-type {
41
41
  margin-right: 0 !important;
42
42
  }
43
- [alignment=form-distribute] > :host:last-of-type {
43
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
44
44
  margin-right: 16px !important;
45
45
  }
46
46
  @media (min-width: 36em) {
@@ -152,7 +152,7 @@ export class DuetPhoneInput {
152
152
  return (_c = (_b = (_a = this.duetInputElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.replace(/\s/g, "")) !== null && _c !== void 0 ? _c : "";
153
153
  }
154
154
  set value(val) {
155
- if (!this.duetInputElement) {
155
+ if (!this.duetInputElement || !this.countryCodePopup) {
156
156
  this.pendingValue = val;
157
157
  }
158
158
  else {
@@ -177,7 +177,7 @@ export class DuetPhoneInput {
177
177
  }
178
178
  componentDidLoad() {
179
179
  if (this.pendingValue) {
180
- this.duetInputElement.value = this.pendingValue;
180
+ this.value = this.pendingValue;
181
181
  }
182
182
  }
183
183
  connectedCallback() {
@@ -697,7 +697,7 @@ export class DuetPhoneInput {
697
697
  },
698
698
  "value": {
699
699
  "type": "string",
700
- "mutable": false,
700
+ "mutable": true,
701
701
  "complexType": {
702
702
  "original": "string",
703
703
  "resolved": "string",
@@ -5,6 +5,7 @@ import { spaceXSmall } from "@duetds/tokens";
5
5
  import { autoUpdate, computePosition, flip, offset, shift } from "@floating-ui/dom";
6
6
  import { Build, h, Host, } from "@stencil/core";
7
7
  import { inheritGlobalTheme } from "../../common";
8
+ import { setOpenerExpanded } from "../../utils/a11y-utils";
8
9
  import { focusElement } from "../../utils/focus-utils";
9
10
  import { isArrowDownKey, isArrowUpKey, isEscapeKey, isTabKey } from "../../utils/keyboard-utils";
10
11
  import { getLanguage } from "../../utils/language-utils";
@@ -27,8 +28,7 @@ export class DuetPopupMenu {
27
28
  }
28
29
  try {
29
30
  const button = element;
30
- button.accessiblePopup = "true";
31
- button.accessibleExpanded = false;
31
+ setOpenerExpanded(button, false);
32
32
  if (this.controllerIcon) {
33
33
  button.setAttribute("trailing-icon", "action-arrow-down-small");
34
34
  }
@@ -254,13 +254,13 @@ export class DuetPopupMenu {
254
254
  if (!!newValue === !!oldValue) {
255
255
  return;
256
256
  }
257
+ if (this.openButton) {
258
+ setOpenerExpanded(this.openButton, this.open);
259
+ }
257
260
  if (this.open && !oldValue) {
258
261
  const autoUpdateConfig = {
259
262
  ancestorScroll: !this.forcePlacement,
260
263
  };
261
- if (this.openButton) {
262
- this.openButton.accessibleExpanded = true;
263
- }
264
264
  if (this.accessibleRole !== "listbox") {
265
265
  this.teleport.makeSiblingsInert();
266
266
  }
@@ -281,9 +281,6 @@ export class DuetPopupMenu {
281
281
  }, 200);
282
282
  }
283
283
  else if (!this.open && oldValue) {
284
- if (this.openButton) {
285
- this.openButton.accessibleExpanded = false;
286
- }
287
284
  // Clean up autoUpdate when closed
288
285
  if (this.autoUpdateCleanup) {
289
286
  this.autoUpdateCleanup();
@@ -355,17 +352,17 @@ export class DuetPopupMenu {
355
352
  overflowY: "auto",
356
353
  height: this.popupMenuStyleHeight,
357
354
  };
358
- return (h(Host, { key: '8162bd3dcf089f1fbd0890ba90752b8375845e02' }, h("div", { key: 'a960165406ca70e48975935be91407e196af3acb', ref: element => {
355
+ return (h(Host, { key: '4492ab7c249dc54ff4351d7307705dbda42197df' }, h("div", { key: '440058efaafdc50cf0e8dc6aff3b00ac4e446d1b', ref: element => {
359
356
  this.menuElement = element;
360
357
  }, style: styles, class: {
361
358
  open: this.open,
362
359
  "duet-popup-menu-list": true,
363
360
  "duet-theme-turva": this.theme === "turva",
364
361
  "scroll-visible": this.scrollLimit < this.itemElements.length,
365
- }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, this.showFilterInput && (h("div", { key: '41ff2d5c37e1b82432abe9ae940120c4f27c2de7' }, h("duet-input", { key: 'aeeebdf64aa13db39dc6bb49e9a33a9eddf71171', ref: el => (this.filterInput = el), label: this.filterLabel[this.language], "label-hidden": true, expand: true, margin: "none", type: "search", onDuetInput: this.filterItems, onKeyDown: this.handleKeyDownOnFilter }), h("duet-visually-hidden", { key: '22bffb507bc56003ed6df5c58255bba01938e985' }, h("span", { key: '2720b44f182bd5590999b37d4ac9157bf3d72a1c', role: "status" }, `
362
+ }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, this.showFilterInput && (h("div", { key: '625ca4c7f0d8daaddfac0b399637af6604bd8744' }, h("duet-input", { key: 'd046c9db74fa05e4f753105b201f731c56846716', ref: el => (this.filterInput = el), label: this.filterLabel[this.language], "label-hidden": true, expand: true, margin: "none", type: "search", onDuetInput: this.filterItems, onKeyDown: this.handleKeyDownOnFilter }), h("duet-visually-hidden", { key: 'a7774edb80cd2e8ceb1ea422db22ef4253a8e3cc' }, h("span", { key: 'a83bd1d5d6468c2d93aef69c2b175a2c28722593', role: "status" }, `
366
363
  ${this.filterResultCount}/${this.itemElements.length}
367
364
  ${this.filterResultCountLabel[this.language]}
368
- `)), h("duet-spacer", { key: 'ab6b1d79410935e50a5c6a15fc5f66d141ee5590', size: "xx-small" }))), h("slot", { key: '6265f5a9f3cde710961b4e815da45501016f4056' }))));
365
+ `)), h("duet-spacer", { key: 'd60bc86becbbc4d00aef492cd84df10e820e80b5', size: "xx-small" }))), h("slot", { key: 'f8959e360869e9aa3c0c67227f851b8272faf5ca' }))));
369
366
  }
370
367
  static get is() { return "duet-popup-menu"; }
371
368
  static get encapsulation() { return "shadow"; }
@@ -472,17 +469,17 @@ export class DuetPopupMenu {
472
469
  "type": "string",
473
470
  "mutable": false,
474
471
  "complexType": {
475
- "original": "string | HTMLDuetInputElement | (HTMLElement & FocusableComponent & OpenerComponent)",
476
- "resolved": "HTMLDuetInputElement | HTMLElement & FocusableComponent & OpenerComponent | string",
472
+ "original": "string | HTMLElement | HTMLDuetInputElement | (HTMLElement & FocusableComponent & OpenerComponent)",
473
+ "resolved": "HTMLDuetInputElement | HTMLElement | HTMLElement & FocusableComponent & OpenerComponent | string",
477
474
  "references": {
478
- "HTMLDuetInputElement": {
479
- "location": "global",
480
- "id": "global::HTMLDuetInputElement"
481
- },
482
475
  "HTMLElement": {
483
476
  "location": "global",
484
477
  "id": "global::HTMLElement"
485
478
  },
479
+ "HTMLDuetInputElement": {
480
+ "location": "global",
481
+ "id": "global::HTMLDuetInputElement"
482
+ },
486
483
  "FocusableComponent": {
487
484
  "location": "import",
488
485
  "path": "../../common",
@@ -510,17 +507,17 @@ export class DuetPopupMenu {
510
507
  "type": "string",
511
508
  "mutable": false,
512
509
  "complexType": {
513
- "original": "string | HTMLDuetInputElement | (HTMLElement & FocusableComponent & OpenerComponent)",
514
- "resolved": "HTMLDuetInputElement | HTMLElement & FocusableComponent & OpenerComponent | string",
510
+ "original": "string | HTMLElement | HTMLDuetInputElement | (HTMLElement & FocusableComponent & OpenerComponent)",
511
+ "resolved": "HTMLDuetInputElement | HTMLElement | HTMLElement & FocusableComponent & OpenerComponent | string",
515
512
  "references": {
516
- "HTMLDuetInputElement": {
517
- "location": "global",
518
- "id": "global::HTMLDuetInputElement"
519
- },
520
513
  "HTMLElement": {
521
514
  "location": "global",
522
515
  "id": "global::HTMLElement"
523
516
  },
517
+ "HTMLDuetInputElement": {
518
+ "location": "global",
519
+ "id": "global::HTMLDuetInputElement"
520
+ },
524
521
  "FocusableComponent": {
525
522
  "location": "import",
526
523
  "path": "../../common",
@@ -28,7 +28,7 @@
28
28
  :host:last-child, :host:last-of-type {
29
29
  margin-right: 0 !important;
30
30
  }
31
- [alignment=form-distribute] > :host:last-of-type {
31
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
32
32
  margin-right: 4px !important;
33
33
  }
34
34
 
@@ -30,7 +30,7 @@
30
30
  :host:last-child, :host:last-of-type {
31
31
  margin-right: 0 !important;
32
32
  }
33
- [alignment=form-distribute] > :host:last-of-type {
33
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
34
34
  margin-right: 28px !important;
35
35
  }
36
36
 
@@ -55,7 +55,7 @@
55
55
  :host(.horizontal-responsive):last-child, :host(.horizontal-responsive):last-of-type {
56
56
  margin-right: 0 !important;
57
57
  }
58
- [alignment=form-distribute] > :host(.horizontal-responsive):last-of-type {
58
+ [alignment=form-distribute] > :host(.horizontal-responsive):last-of-type:not(:last-child) {
59
59
  margin-right: 28px !important;
60
60
  }
61
61
  :host(.horizontal-responsive) .duet-label .duet-label-content {
@@ -31,7 +31,7 @@
31
31
  :host:last-child, :host:last-of-type {
32
32
  margin-right: 0 !important;
33
33
  }
34
- [alignment=form-distribute] > :host:last-of-type {
34
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
35
35
  margin-right: 16px !important;
36
36
  }
37
37
  @media (min-width: 36em) {
@@ -67,6 +67,25 @@ export class DuetScrollable {
67
67
  disconnectedCallback() {
68
68
  this.resizeObserver.disconnect();
69
69
  }
70
+ /**
71
+ * Scrolls the scrollable so that the desired item is visible
72
+ * @param itemIndex The first item is 1
73
+ */
74
+ async scrollToItem(itemIndex) {
75
+ this.scrollToElement(itemIndex - 1, "center");
76
+ }
77
+ /**
78
+ * Scrolls the scrollable so that the first item is visible
79
+ */
80
+ async scrollToStart() {
81
+ this.scrollToElement(0, "center");
82
+ }
83
+ /**
84
+ * Scrolls the scrollable so that the last item is visible
85
+ */
86
+ async scrollToEnd() {
87
+ this.scrollToElement(this.getScrollPaneElements().length - 1, "center");
88
+ }
70
89
  /**
71
90
  * Private methods.
72
91
  */
@@ -142,7 +161,7 @@ export class DuetScrollable {
142
161
  this.scrollPaneAtStart = false;
143
162
  }
144
163
  // Round both values to handle sub-pixel precision issues
145
- const visibleContentWidth = Math.round(container.clientWidth + container.scrollLeft + this.getOverlayWidth());
164
+ const visibleContentWidth = Math.ceil(container.clientWidth + container.scrollLeft + this.getOverlayWidth());
146
165
  const totalContentWidth = Math.round(container.scrollWidth);
147
166
  this.scrollPaneAtEnd = visibleContentWidth >= totalContentWidth;
148
167
  }
@@ -228,18 +247,18 @@ export class DuetScrollable {
228
247
  * Always the last one in the class.
229
248
  */
230
249
  render() {
231
- return (h(Host, { key: '3858f9356ec3ea38a7c475ce2d2fff6485827f82', class: {
250
+ return (h(Host, { key: '5dccde443367903cd786fcfddc57728395a7ea94', class: {
232
251
  "duet-theme-turva": this.theme === "turva",
233
252
  "duet-theme-default": this.theme === "default",
234
- } }, this.hasCollapseButtonLabelSlot && (h("div", { key: 'b142496c0e6686103983b537b53ccdc7e8cae7c0', class: {
253
+ } }, this.hasCollapseButtonLabelSlot && (h("div", { key: '1c6725c97fa1701963139257653a25377eace462', class: {
235
254
  collapse: true,
236
255
  hide: !this.needsScrolling && !this.collapsed,
237
- } }, h("duet-button", { key: '50d5f6266a0f0432cd1dd752a00260d5246890d3', variation: "plain", margin: "none", "center-text": true, onClick: () => this.collapsedOnClick() }, h("slot", { key: '5c05fd2e927df5ebd7b5c2cec3112013b58cec01', name: "collapse-button-label" })))), h("div", { key: '33f0efaf3fcc09241a9e75fa75b86ef093bc811f', class: {
256
+ } }, h("duet-button", { key: '848338c8377121539a2873ebb90b46e7d4929d4e', variation: "plain", margin: "none", "center-text": true, onClick: () => this.collapsedOnClick() }, h("slot", { key: '8792f3c6219b939e2a82bd04c01661c66cf58bc2', name: "collapse-button-label" })))), h("div", { key: '84dbb203e6d64d0ddc7b8359acc47125ef0407a1', class: {
238
257
  "duet-scrollable-items": true,
239
258
  buttons: this.buttons,
240
259
  center: this.center,
241
260
  "duet-theme-turva": this.theme === "turva",
242
- } }, this.buttons && this.renderButton("left"), h("div", { key: '6b0f1e40aa5c8406b448e93bcecb8343a0a883a3', class: {
261
+ } }, this.buttons && this.renderButton("left"), h("div", { key: '313888e6a6a495b6b39feaafd17c437e82cb01a6', class: {
243
262
  "duet-scrollable-list": true,
244
263
  [`duet-scrollable-list--${this.buttonPosition}`]: true,
245
264
  [`gap-${this.gap}`]: true,
@@ -247,7 +266,7 @@ export class DuetScrollable {
247
266
  [`duet-overflow-padding--${this.padding}`]: this.padding !== "none",
248
267
  [`duet-scrollable-list--${this.buttonPosition}`]: this.buttonPosition === "absolute",
249
268
  "duet-scrollable-stretch": this.stretch,
250
- }, onScroll: () => this.updateScrollButtons(), ref: element => (this.scrollPaneElement = element) }, h("slot", { key: '77747e312df865dc66478dd32fcf87507bde8016' })), this.buttons && this.renderButton("right"))));
269
+ }, onScroll: () => this.updateScrollButtons(), ref: element => (this.scrollPaneElement = element) }, h("slot", { key: '4a918b666f4c729953a1b2849cb05f9d6e2f9414' })), this.buttons && this.renderButton("right"))));
251
270
  }
252
271
  static get is() { return "duet-scrollable"; }
253
272
  static get encapsulation() { return "shadow"; }
@@ -514,6 +533,68 @@ export class DuetScrollable {
514
533
  "childrenData": {}
515
534
  };
516
535
  }
536
+ static get methods() {
537
+ return {
538
+ "scrollToItem": {
539
+ "complexType": {
540
+ "signature": "(itemIndex: number) => Promise<void>",
541
+ "parameters": [{
542
+ "name": "itemIndex",
543
+ "type": "number",
544
+ "docs": "The first item is 1"
545
+ }],
546
+ "references": {
547
+ "Promise": {
548
+ "location": "global",
549
+ "id": "global::Promise"
550
+ }
551
+ },
552
+ "return": "Promise<void>"
553
+ },
554
+ "docs": {
555
+ "text": "Scrolls the scrollable so that the desired item is visible",
556
+ "tags": [{
557
+ "name": "param",
558
+ "text": "itemIndex The first item is 1"
559
+ }]
560
+ }
561
+ },
562
+ "scrollToStart": {
563
+ "complexType": {
564
+ "signature": "() => Promise<void>",
565
+ "parameters": [],
566
+ "references": {
567
+ "Promise": {
568
+ "location": "global",
569
+ "id": "global::Promise"
570
+ }
571
+ },
572
+ "return": "Promise<void>"
573
+ },
574
+ "docs": {
575
+ "text": "Scrolls the scrollable so that the first item is visible",
576
+ "tags": []
577
+ }
578
+ },
579
+ "scrollToEnd": {
580
+ "complexType": {
581
+ "signature": "() => Promise<void>",
582
+ "parameters": [],
583
+ "references": {
584
+ "Promise": {
585
+ "location": "global",
586
+ "id": "global::Promise"
587
+ }
588
+ },
589
+ "return": "Promise<void>"
590
+ },
591
+ "docs": {
592
+ "text": "Scrolls the scrollable so that the last item is visible",
593
+ "tags": []
594
+ }
595
+ }
596
+ };
597
+ }
517
598
  static get elementRef() { return "element"; }
518
599
  static get watchers() {
519
600
  return [{
@@ -30,7 +30,7 @@
30
30
  :host:last-child, :host:last-of-type {
31
31
  margin-right: 0 !important;
32
32
  }
33
- [alignment=form-distribute] > :host:last-of-type {
33
+ [alignment=form-distribute] > :host:last-of-type:not(:last-child) {
34
34
  margin-right: 16px !important;
35
35
  }
36
36
  @media (min-width: 36em) {