@duetds/components 10.1.0 → 10.2.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 (438) hide show
  1. package/hydrate/index.js +342 -265
  2. package/hydrate/index.mjs +342 -265
  3. package/lib/cjs/{a11y-utils-DzwEPbds.js → a11y-utils-Dt4L3QkG.js} +1 -1
  4. package/lib/cjs/{app-globals-BtFYkwDf.js → app-globals-1gECxmAH.js} +1 -1
  5. package/lib/cjs/{common-strings-CC6Xpjb8.js → common-strings-DMaSb4Ld.js} +8 -1
  6. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  7. package/lib/cjs/duet-alert.cjs.entry.js +5 -5
  8. package/lib/cjs/duet-badge.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-banner.cjs.entry.js +5 -5
  10. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  11. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  12. package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
  13. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  14. package/lib/cjs/duet-caption_4.cjs.entry.js +22 -16
  15. package/lib/cjs/duet-card.cjs.entry.js +5 -5
  16. package/lib/cjs/duet-checkbox.cjs.entry.js +19 -5
  17. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  18. package/lib/cjs/duet-chip.cjs.entry.js +4 -4
  19. package/lib/cjs/duet-choice_2.cjs.entry.js +13 -13
  20. package/lib/cjs/duet-collapsible.cjs.entry.js +6 -6
  21. package/lib/cjs/duet-combobox.cjs.entry.js +32 -11
  22. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  23. package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
  24. package/lib/cjs/duet-date-picker.cjs.entry.js +9 -9
  25. package/lib/cjs/duet-divider_2.cjs.entry.js +6 -6
  26. package/lib/cjs/duet-editable-table_3.cjs.entry.js +12 -12
  27. package/lib/cjs/duet-empty-state.cjs.entry.js +4 -4
  28. package/lib/cjs/duet-fieldset.cjs.entry.js +7 -7
  29. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-footer.cjs.entry.js +25 -18
  31. package/lib/cjs/duet-grid_2.cjs.entry.js +7 -6
  32. package/lib/cjs/duet-header_2.cjs.entry.js +8 -8
  33. package/lib/cjs/duet-hero.cjs.entry.js +11 -11
  34. package/lib/cjs/duet-icon.cjs.entry.js +7 -7
  35. package/lib/cjs/duet-indicator.cjs.entry.js +4 -4
  36. package/lib/cjs/duet-input_2.cjs.entry.js +13 -13
  37. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  38. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  39. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  41. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  42. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +8 -8
  43. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  44. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  45. package/lib/cjs/duet-modal.cjs.entry.js +15 -15
  46. package/lib/cjs/duet-multiselect.cjs.entry.js +10 -10
  47. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  48. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  49. package/lib/cjs/duet-number-input.cjs.entry.js +8 -8
  50. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  51. package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
  52. package/lib/cjs/duet-pagination_2.cjs.entry.js +18 -18
  53. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  54. package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
  55. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +12 -12
  56. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  57. package/lib/cjs/duet-promo-card.cjs.entry.js +7 -7
  58. package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
  59. package/lib/cjs/duet-range-slider.cjs.entry.js +7 -7
  60. package/lib/cjs/duet-scrollable_3.cjs.entry.js +17 -17
  61. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  62. package/lib/cjs/duet-select.cjs.entry.js +9 -9
  63. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  64. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-share-chart.cjs.entry.js +8 -8
  66. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  67. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  68. package/lib/cjs/duet-slideout-link.cjs.entry.js +8 -8
  69. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  70. package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
  71. package/lib/cjs/duet-slideout.cjs.entry.js +12 -12
  72. package/lib/cjs/duet-status-icon.cjs.entry.js +4 -4
  73. package/lib/cjs/duet-step_2.cjs.entry.js +7 -7
  74. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  75. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  76. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +7 -7
  77. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  78. package/lib/cjs/duet-submenu-bar.cjs.entry.js +8 -8
  79. package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toggle.cjs.entry.js +25 -7
  81. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  82. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  83. package/lib/cjs/duet-toolbar-item.cjs.entry.js +9 -9
  84. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  86. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +9 -9
  87. package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-tray.cjs.entry.js +6 -6
  89. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  90. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  91. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  92. package/lib/cjs/duet.cjs.js +3 -3
  93. package/lib/cjs/{errorcodes.utils-BuseNrD9.js → errorcodes.utils-DtuBPKs3.js} +1 -1
  94. package/lib/cjs/{focus-utils-Cbk0cnOs.js → focus-utils-n84nLLND.js} +1 -1
  95. package/lib/cjs/{index-blgG8IJB.js → index-BfggyC6D.js} +1 -1
  96. package/lib/cjs/{label-DeanNJa0.js → label-CFsg_9mi.js} +1 -1
  97. package/lib/cjs/{language-utils-DWW8tvkB.js → language-utils-UQJMUCLw.js} +1 -1
  98. package/lib/cjs/loader.cjs.js +3 -3
  99. package/lib/cjs/{slot-utils-Byx247xX.js → slot-utils-BEQnfNX2.js} +1 -1
  100. package/lib/cjs/{themeable-component-DcR7DztR.js → themeable-component-BkwBlXGz.js} +1 -1
  101. package/lib/cjs/{token-utils-BJtlJxnJ.js → token-utils-GXq9O-4F.js} +1 -1
  102. package/lib/cjs/{tokens-BxWzRxOl.js → tokens-DZMc8s3K.js} +3 -0
  103. package/lib/cjs/{tokens.module-DJt2h4FX.js → tokens.module-Bc3oSOjD.js} +3 -0
  104. package/lib/collection/common-strings.js +7 -1
  105. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  106. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  107. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  108. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  109. package/lib/collection/components/duet-checkbox/duet-checkbox.css +11 -2
  110. package/lib/collection/components/duet-checkbox/duet-checkbox.js +24 -2
  111. package/lib/collection/components/duet-chip/duet-chip.js +1 -1
  112. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  113. package/lib/collection/components/duet-choice/duet-choice.js +6 -6
  114. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  115. package/lib/collection/components/duet-collapsible/duet-collapsible.js +2 -2
  116. package/lib/collection/components/duet-combobox/duet-combobox.css +0 -5
  117. package/lib/collection/components/duet-combobox/duet-combobox.js +27 -6
  118. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  119. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
  120. package/lib/collection/components/duet-date-picker/duet-date-picker.css +2 -2
  121. package/lib/collection/components/duet-date-picker/duet-date-picker.js +2 -2
  122. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  123. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  124. package/lib/collection/components/duet-empty-state/duet-empty-state.js +2 -2
  125. package/lib/collection/components/duet-fieldset/duet-fieldset.css +2 -17
  126. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  127. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  128. package/lib/collection/components/duet-footer/duet-footer.js +20 -13
  129. package/lib/collection/components/duet-grid/duet-grid.js +2 -2
  130. package/lib/collection/components/duet-grid-item/duet-grid-item.js +3 -2
  131. package/lib/collection/components/duet-heading/duet-heading.js +2 -2
  132. package/lib/collection/components/duet-hero/duet-hero.css +1 -0
  133. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  134. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  135. package/lib/collection/components/duet-indicator/duet-indicator.js +1 -1
  136. package/lib/collection/components/duet-input/duet-input.js +6 -6
  137. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  138. package/lib/collection/components/duet-link/duet-link.css +42 -8
  139. package/lib/collection/components/duet-link/duet-link.js +11 -5
  140. package/lib/collection/components/duet-list/duet-list.js +1 -1
  141. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  142. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  143. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  144. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  145. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  146. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  147. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  148. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  149. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  150. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  151. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  152. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  153. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  154. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  155. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  156. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  157. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  158. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  159. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  160. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +3 -3
  161. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  162. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  163. package/lib/collection/components/duet-radio/duet-radio.js +3 -3
  164. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  165. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  166. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  167. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  168. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  169. package/lib/collection/components/duet-select/duet-select.js +5 -5
  170. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  171. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  172. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  173. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  174. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  175. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  176. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  177. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  178. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  179. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  180. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  181. package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
  182. package/lib/collection/components/duet-step/duet-step.js +2 -2
  183. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  184. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  185. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  186. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  187. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  188. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  189. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  190. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  191. package/lib/collection/components/duet-table/duet-table.js +2 -2
  192. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
  193. package/lib/collection/components/duet-toggle/duet-toggle.css +22 -9
  194. package/lib/collection/components/duet-toggle/duet-toggle.js +84 -2
  195. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  196. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  197. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  198. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  199. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  200. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  201. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  202. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  203. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  204. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  205. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  206. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  207. package/lib/duet/duet.esm.js +1 -1
  208. package/lib/duet/{p-83c7bfe0.entry.js → p-01ede40e.entry.js} +1 -1
  209. package/lib/duet/{p-ab74c20e.entry.js → p-0c677bac.entry.js} +1 -1
  210. package/lib/duet/{p-8f2fbd03.entry.js → p-0e6feeaf.entry.js} +1 -1
  211. package/lib/duet/{p-4862f0c6.entry.js → p-10d943ea.entry.js} +1 -1
  212. package/lib/duet/{p-b2f22262.entry.js → p-11e17622.entry.js} +1 -1
  213. package/lib/duet/{p-6cf8e63d.entry.js → p-16db57d6.entry.js} +1 -1
  214. package/lib/duet/{p-e195c5e2.entry.js → p-19dfac00.entry.js} +1 -1
  215. package/lib/duet/{p-a9692b2a.entry.js → p-1a9f5440.entry.js} +1 -1
  216. package/lib/duet/{p-1d8da041.entry.js → p-1b1018d1.entry.js} +1 -1
  217. package/lib/duet/p-1e4903a7.entry.js +4 -0
  218. package/lib/duet/{p-36d2a441.entry.js → p-1e82c441.entry.js} +1 -1
  219. package/lib/duet/{p-960ada39.entry.js → p-1f76c77a.entry.js} +1 -1
  220. package/lib/duet/{p-8857eb7b.entry.js → p-2871d3f5.entry.js} +1 -1
  221. package/lib/duet/{p-2d0eb4b5.entry.js → p-2a1db046.entry.js} +1 -1
  222. package/lib/duet/{p-14d64261.entry.js → p-2b41b6c3.entry.js} +1 -1
  223. package/lib/duet/{p-e7c058b0.entry.js → p-2d813dd9.entry.js} +1 -1
  224. package/lib/duet/{p-d26c644d.entry.js → p-2e99a3d1.entry.js} +1 -1
  225. package/lib/duet/{p-486a4bc6.entry.js → p-308328c0.entry.js} +1 -1
  226. package/lib/duet/p-31c03dbc.entry.js +4 -0
  227. package/lib/duet/p-32ae38d2.entry.js +4 -0
  228. package/lib/duet/p-3650e089.entry.js +4 -0
  229. package/lib/duet/{p-43f15ad6.entry.js → p-3b6f0ed3.entry.js} +1 -1
  230. package/lib/duet/{p-4d14780b.entry.js → p-3c19d851.entry.js} +1 -1
  231. package/lib/duet/{p-dc57fff7.entry.js → p-3d85dbf7.entry.js} +1 -1
  232. package/lib/duet/p-3dd1304e.entry.js +4 -0
  233. package/lib/duet/{p-bb8634c4.entry.js → p-413ccfee.entry.js} +1 -1
  234. package/lib/duet/{p-04c9c13e.entry.js → p-45f8d839.entry.js} +1 -1
  235. package/lib/duet/{p-3b52f20d.entry.js → p-493b240f.entry.js} +1 -1
  236. package/lib/duet/{p-e3780362.entry.js → p-4f16859a.entry.js} +1 -1
  237. package/lib/duet/{p-320e4688.entry.js → p-50f80b6c.entry.js} +1 -1
  238. package/lib/duet/{p-1380370e.entry.js → p-5302f338.entry.js} +1 -1
  239. package/lib/duet/{p-40956ec6.entry.js → p-549e68da.entry.js} +1 -1
  240. package/lib/duet/{p-a28d4312.entry.js → p-6333c633.entry.js} +1 -1
  241. package/lib/duet/{p-bd0ad7c3.entry.js → p-6969647c.entry.js} +1 -1
  242. package/lib/duet/{p-d4e2e471.entry.js → p-6b06705f.entry.js} +1 -1
  243. package/lib/duet/{p-dc4d385d.entry.js → p-6b9ac7ea.entry.js} +1 -1
  244. package/lib/duet/{p-d9f504b7.entry.js → p-6bddd7b7.entry.js} +1 -1
  245. package/lib/duet/{p-db22799a.entry.js → p-7515a195.entry.js} +1 -1
  246. package/lib/duet/{p-24f206ab.entry.js → p-7916d25e.entry.js} +1 -1
  247. package/lib/duet/{p-6662042f.entry.js → p-81e55a2f.entry.js} +1 -1
  248. package/lib/duet/{p-ec5b54f3.entry.js → p-82ed09c9.entry.js} +1 -1
  249. package/lib/duet/{p-2c4f4896.entry.js → p-89cba286.entry.js} +1 -1
  250. package/lib/duet/p-8RjiAqaE.js +4 -0
  251. package/lib/duet/{p-140b87f4.entry.js → p-8a9ad498.entry.js} +1 -1
  252. package/lib/duet/{p-0d1a4928.entry.js → p-8ecfef50.entry.js} +1 -1
  253. package/lib/duet/{p-3a108321.entry.js → p-8f43c23a.entry.js} +1 -1
  254. package/lib/duet/{p-6qQ9c51e.js → p-8odxhfeD.js} +1 -1
  255. package/lib/duet/{p-d8ebfd49.entry.js → p-9289e2d6.entry.js} +1 -1
  256. package/lib/duet/{p-9dc2b0d2.entry.js → p-9bcb57a9.entry.js} +1 -1
  257. package/lib/duet/{p-57ba8f5f.entry.js → p-9efde101.entry.js} +1 -1
  258. package/lib/duet/{p-1U75pxcR.js → p-BcVbsW_2.js} +1 -1
  259. package/lib/duet/p-BhRNiBUo.js +4 -0
  260. package/lib/duet/p-BxH0r0DA.js +5 -0
  261. package/lib/duet/p-C-hMrqKD.js +4 -0
  262. package/lib/duet/{p-CxgSYSyh.js → p-C7D5HRhY.js} +1 -1
  263. package/lib/duet/p-CKemMSHL.js +4 -0
  264. package/lib/duet/p-CjSEMtsI.js +4 -0
  265. package/lib/duet/{p-Bg75Vqqq.js → p-D7VOYHjg.js} +1 -1
  266. package/lib/duet/p-DMjxD3N-.js +4 -0
  267. package/lib/duet/p-LYJwm2Mz.js +4 -0
  268. package/lib/duet/{p-fe34272e.entry.js → p-a408c8ef.entry.js} +1 -1
  269. package/lib/duet/{p-9ee8ddc9.entry.js → p-a8b8aa7f.entry.js} +1 -1
  270. package/lib/duet/{p-bcb8d390.entry.js → p-abb3a02c.entry.js} +1 -1
  271. package/lib/duet/{p-90981fbb.entry.js → p-ad2d810a.entry.js} +1 -1
  272. package/lib/duet/{p-a1e60676.entry.js → p-ad86f19c.entry.js} +1 -1
  273. package/lib/duet/{p-276f8827.entry.js → p-ad8929e4.entry.js} +1 -1
  274. package/lib/duet/p-aef55e42.entry.js +4 -0
  275. package/lib/duet/{p-823522c9.entry.js → p-b178aa13.entry.js} +1 -1
  276. package/lib/duet/{p-7a8f23b7.entry.js → p-b8fe3df0.entry.js} +1 -1
  277. package/lib/duet/{p-4de6cd49.entry.js → p-b9327667.entry.js} +1 -1
  278. package/lib/duet/{p-9fd10aed.entry.js → p-b9c35e5e.entry.js} +1 -1
  279. package/lib/duet/{p-6043a6de.entry.js → p-bbaa683a.entry.js} +1 -1
  280. package/lib/duet/{p-93303c68.entry.js → p-bdb10c77.entry.js} +1 -1
  281. package/lib/duet/{p-72c7816e.entry.js → p-bdd24cc6.entry.js} +1 -1
  282. package/lib/duet/p-be91dd8c.entry.js +4 -0
  283. package/lib/duet/{p-d31cafc9.entry.js → p-cb90478e.entry.js} +1 -1
  284. package/lib/duet/{p-de255274.entry.js → p-cdc6285c.entry.js} +1 -1
  285. package/lib/duet/{p-e2e7b3bd.entry.js → p-d1db3194.entry.js} +1 -1
  286. package/lib/duet/{p-f6720f8c.entry.js → p-d2c50765.entry.js} +1 -1
  287. package/lib/duet/{p-6862c7d5.entry.js → p-d625732a.entry.js} +1 -1
  288. package/lib/duet/{p-f6f6b960.entry.js → p-d8ddd6aa.entry.js} +1 -1
  289. package/lib/duet/{p-6b2823ed.entry.js → p-d948db17.entry.js} +1 -1
  290. package/lib/duet/{p-ac_1YilV.js → p-dX4lCxX-.js} +1 -1
  291. package/lib/duet/{p-db594a93.entry.js → p-dc7b2908.entry.js} +1 -1
  292. package/lib/duet/{p-fb4ab1f5.entry.js → p-dfb7e2a4.entry.js} +1 -1
  293. package/lib/duet/p-e042f54a.entry.js +4 -0
  294. package/lib/duet/{p-b2464865.entry.js → p-e197cf15.entry.js} +1 -1
  295. package/lib/duet/p-e21285ad.entry.js +4 -0
  296. package/lib/duet/p-e5173b25.entry.js +4 -0
  297. package/lib/duet/p-e6a05ef9.entry.js +4 -0
  298. package/lib/duet/{p-29e677bc.entry.js → p-ecad641c.entry.js} +1 -1
  299. package/lib/duet/{p-ba39d3ad.entry.js → p-ed84afb6.entry.js} +1 -1
  300. package/lib/duet/p-ee7e1387.entry.js +4 -0
  301. package/lib/duet/{p-581e1e08.entry.js → p-f2cc172e.entry.js} +1 -1
  302. package/lib/duet/p-f55ffe76.entry.js +4 -0
  303. package/lib/duet/{p-fd120a7b.entry.js → p-f80c76b3.entry.js} +1 -1
  304. package/lib/duet/{p-ca3fe683.entry.js → p-f920d7a8.entry.js} +1 -1
  305. package/lib/duet/{p-de639eff.entry.js → p-fc427a9c.entry.js} +1 -1
  306. package/lib/duet/{p-d35a4b95.entry.js → p-fd1bf11b.entry.js} +1 -1
  307. package/lib/esm/{a11y-utils-BuWx2D09.js → a11y-utils-Cc259XJX.js} +1 -1
  308. package/lib/esm/{app-globals-DRDLN5wE.js → app-globals-CIsV7gbu.js} +1 -1
  309. package/lib/esm/{common-strings-CVPfl9fc.js → common-strings-8RjiAqaE.js} +8 -2
  310. package/lib/esm/duet-action-button.entry.js +5 -5
  311. package/lib/esm/duet-alert.entry.js +5 -5
  312. package/lib/esm/duet-badge.entry.js +6 -6
  313. package/lib/esm/duet-banner.entry.js +5 -5
  314. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  315. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  316. package/lib/esm/duet-button_2.entry.js +7 -7
  317. package/lib/esm/duet-callout.entry.js +5 -5
  318. package/lib/esm/duet-caption_4.entry.js +22 -16
  319. package/lib/esm/duet-card.entry.js +5 -5
  320. package/lib/esm/duet-checkbox.entry.js +19 -5
  321. package/lib/esm/duet-checkmark.entry.js +4 -4
  322. package/lib/esm/duet-chip.entry.js +4 -4
  323. package/lib/esm/duet-choice_2.entry.js +13 -13
  324. package/lib/esm/duet-collapsible.entry.js +6 -6
  325. package/lib/esm/duet-combobox.entry.js +33 -12
  326. package/lib/esm/duet-contact-card.entry.js +5 -5
  327. package/lib/esm/duet-cookie-consent.entry.js +3 -3
  328. package/lib/esm/duet-date-picker.entry.js +9 -9
  329. package/lib/esm/duet-divider_2.entry.js +6 -6
  330. package/lib/esm/duet-editable-table_3.entry.js +12 -12
  331. package/lib/esm/duet-empty-state.entry.js +4 -4
  332. package/lib/esm/duet-fieldset.entry.js +7 -7
  333. package/lib/esm/duet-file-chooser.entry.js +3 -3
  334. package/lib/esm/duet-footer.entry.js +25 -18
  335. package/lib/esm/duet-grid_2.entry.js +7 -6
  336. package/lib/esm/duet-header_2.entry.js +8 -8
  337. package/lib/esm/duet-hero.entry.js +11 -11
  338. package/lib/esm/duet-icon.entry.js +7 -7
  339. package/lib/esm/duet-indicator.entry.js +4 -4
  340. package/lib/esm/duet-input_2.entry.js +13 -13
  341. package/lib/esm/duet-layout.entry.js +7 -7
  342. package/lib/esm/duet-list_2.entry.js +5 -5
  343. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  344. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  345. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  346. package/lib/esm/duet-menu-bar-item.entry.js +8 -8
  347. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  348. package/lib/esm/duet-menu-bar.entry.js +6 -6
  349. package/lib/esm/duet-modal.entry.js +15 -15
  350. package/lib/esm/duet-multiselect.entry.js +10 -10
  351. package/lib/esm/duet-nav.entry.js +3 -3
  352. package/lib/esm/duet-notification_2.entry.js +9 -9
  353. package/lib/esm/duet-number-input.entry.js +8 -8
  354. package/lib/esm/duet-overlay.entry.js +3 -3
  355. package/lib/esm/duet-page-heading.entry.js +4 -4
  356. package/lib/esm/duet-pagination_2.entry.js +18 -18
  357. package/lib/esm/duet-panel.entry.js +4 -4
  358. package/lib/esm/duet-phone-input.entry.js +4 -4
  359. package/lib/esm/duet-popup-menu_2.entry.js +12 -12
  360. package/lib/esm/duet-progress.entry.js +3 -3
  361. package/lib/esm/duet-promo-card.entry.js +7 -7
  362. package/lib/esm/duet-radio_2.entry.js +7 -7
  363. package/lib/esm/duet-range-slider.entry.js +7 -7
  364. package/lib/esm/duet-scrollable_3.entry.js +17 -17
  365. package/lib/esm/duet-section-layout.entry.js +4 -4
  366. package/lib/esm/duet-select.entry.js +9 -9
  367. package/lib/esm/duet-shaped-image.entry.js +4 -4
  368. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  369. package/lib/esm/duet-share-chart.entry.js +8 -8
  370. package/lib/esm/duet-show-more.entry.js +5 -5
  371. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  372. package/lib/esm/duet-slideout-link.entry.js +8 -8
  373. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  374. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  375. package/lib/esm/duet-slideout.entry.js +12 -12
  376. package/lib/esm/duet-status-icon.entry.js +4 -4
  377. package/lib/esm/duet-step_2.entry.js +7 -7
  378. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  379. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  380. package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
  381. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  382. package/lib/esm/duet-submenu-bar.entry.js +8 -8
  383. package/lib/esm/duet-textarea.entry.js +8 -8
  384. package/lib/esm/duet-toggle.entry.js +25 -7
  385. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  386. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  387. package/lib/esm/duet-toolbar-item.entry.js +9 -9
  388. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  389. package/lib/esm/duet-toolbar.entry.js +4 -4
  390. package/lib/esm/duet-tooltip-button_2.entry.js +9 -9
  391. package/lib/esm/duet-tooltip.entry.js +5 -5
  392. package/lib/esm/duet-tray.entry.js +6 -6
  393. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  394. package/lib/esm/duet-upload-item.entry.js +6 -6
  395. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  396. package/lib/esm/duet.js +4 -4
  397. package/lib/esm/{errorcodes.utils-CjUqHglR.js → errorcodes.utils-KnjOo5JF.js} +1 -1
  398. package/lib/esm/{focus-utils-Do5KtPgs.js → focus-utils-Cgrh4d7y.js} +1 -1
  399. package/lib/esm/{index-BhYt_2Vd.js → index-BxH0r0DA.js} +1 -1
  400. package/lib/esm/{label-BRuShBbJ.js → label-DA-iWWhe.js} +1 -1
  401. package/lib/esm/{language-utils-D2jecvOr.js → language-utils-BqCiY8zW.js} +1 -1
  402. package/lib/esm/loader.js +4 -4
  403. package/lib/esm/{slot-utils-nDLvv_4O.js → slot-utils-Bi4BkMYE.js} +1 -1
  404. package/lib/esm/{themeable-component-C0nhBgYw.js → themeable-component-EeTaKAPP.js} +1 -1
  405. package/lib/esm/{token-utils-Dks4GBDa.js → token-utils-ibPg9tBe.js} +1 -1
  406. package/lib/esm/{tokens-DOuLHrH5.js → tokens-CjSEMtsI.js} +3 -0
  407. package/lib/esm/{tokens.module-BDAqOMlM.js → tokens.module-C-hMrqKD.js} +3 -1
  408. package/lib/types/common-strings.d.ts +1 -0
  409. package/lib/types/common-types.d.ts +8 -1
  410. package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +6 -0
  411. package/lib/types/components/duet-combobox/duet-combobox.d.ts +4 -0
  412. package/lib/types/components/duet-footer/duet-footer.d.ts +2 -0
  413. package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +4 -0
  414. package/lib/types/components/duet-link/duet-link.d.ts +3 -1
  415. package/lib/types/components/duet-toggle/duet-toggle.d.ts +16 -0
  416. package/lib/types/components.d.ts +28 -2
  417. package/package.json +5 -5
  418. package/lib/duet/p-01ce999b.entry.js +0 -4
  419. package/lib/duet/p-0fabcede.entry.js +0 -4
  420. package/lib/duet/p-141f03da.entry.js +0 -4
  421. package/lib/duet/p-28325583.entry.js +0 -4
  422. package/lib/duet/p-30ae4852.entry.js +0 -4
  423. package/lib/duet/p-540fc47b.entry.js +0 -4
  424. package/lib/duet/p-5db08755.entry.js +0 -4
  425. package/lib/duet/p-5f329414.entry.js +0 -4
  426. package/lib/duet/p-6d90a89c.entry.js +0 -4
  427. package/lib/duet/p-90eed96d.entry.js +0 -4
  428. package/lib/duet/p-94f1de2c.entry.js +0 -4
  429. package/lib/duet/p-B0pM7dNk.js +0 -4
  430. package/lib/duet/p-BDAqOMlM.js +0 -4
  431. package/lib/duet/p-BhYt_2Vd.js +0 -5
  432. package/lib/duet/p-BtxOyTe3.js +0 -4
  433. package/lib/duet/p-CVPfl9fc.js +0 -4
  434. package/lib/duet/p-DJzDRf9m.js +0 -4
  435. package/lib/duet/p-DOuLHrH5.js +0 -4
  436. package/lib/duet/p-a9cf57f5.entry.js +0 -4
  437. package/lib/duet/p-afabb51f.entry.js +0 -4
  438. package/lib/duet/p-xwlQQBxs.js +0 -4
@@ -4,13 +4,19 @@
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { createID } from "../../utils/create-id";
7
+ import { hasSlot } from "../../utils/slot-utils";
8
+ /**
9
+ * @slot after-label - Shows content seamlessly after the label. Unlike with the label, here you can have links and other markup.
10
+ */
7
11
  export class DuetCheckbox {
8
12
  constructor() {
9
13
  /**
10
14
  * Own Properties.
11
15
  */
12
16
  this.checkboxId = createID("DuetCheckbox");
17
+ this.afterLabelId = createID("DuetCheckboxAfterLabel");
13
18
  this.errorId = createID("DuetError");
19
+ this.hasAfterLabelSlot = false;
14
20
  /**
15
21
  * Controls the margin of the component.
16
22
  */
@@ -116,6 +122,7 @@ export class DuetCheckbox {
116
122
  */
117
123
  componentWillLoad() {
118
124
  inheritGlobalTheme(this);
125
+ this.hasAfterLabelSlot = hasSlot(this.element, "after-label");
119
126
  if (this.value === undefined) {
120
127
  this.value = this.identifier;
121
128
  }
@@ -127,17 +134,27 @@ export class DuetCheckbox {
127
134
  async setFocus(options) {
128
135
  this.nativeInput.focus(options);
129
136
  }
137
+ getAriaDetails() {
138
+ const details = [];
139
+ if (this.accessibleDetails) {
140
+ details.push(this.accessibleDetails);
141
+ }
142
+ if (this.hasAfterLabelSlot) {
143
+ details.push(this.afterLabelId);
144
+ }
145
+ return details.join(" ");
146
+ }
130
147
  /**
131
148
  * render() function
132
149
  * Always the last one in the class.
133
150
  */
134
151
  render() {
135
152
  const identifier = this.identifier || this.checkboxId;
136
- return (h(Host, { key: '6b86df6df409dddb234482222ed98aa1856f36a9', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: '84c3d4918deb9b887a13156b0437760a25b6808a', class: {
153
+ return (h(Host, { key: '89b58639dd5439529654ebe6791968205c6a0dcc', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: '4fbfc9f9546310625a3767dae94b2ae517b3f7d8', class: {
137
154
  "duet-checkbox-container": true,
138
155
  "duet-label-hidden": this.labelHidden,
139
156
  "duet-theme-turva": this.theme === "turva",
140
- } }, h("input", { key: 'b1ed311c0d079e07e83a5a27ff963d79b3e2dc76', ref: input => (this.nativeInput = input), type: "checkbox", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, class: { "duet-checkbox": true, disabled: this.disabled }, checked: this.checked, disabled: this.disabled, tabindex: this.accessibleIndex, "aria-invalid": this.error ? "true" : "false", "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-selected": this.accessibleSelected, required: this.required, role: this.role, name: this.name, id: identifier }), h("label", { key: '9950f2962f0c64ef59616f9968ecaf0f01c12c44', class: "duet-label", htmlFor: identifier }, h("span", { key: '9030e64b2d5364eff9c0e7c693aa43ed1637b205' }, this.label)), h("div", { key: '38ed5e4c0de52f6118818acc06424024c5333195', class: "duet-checkbox-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: '70f692619ec92896fc2c287a1c39f9aa5d5eebd0' }, this.error)))));
157
+ } }, h("input", { key: 'ddd0f55c22714aa512410996c1dbe3236e9583c4', ref: input => (this.nativeInput = input), type: "checkbox", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, class: { "duet-checkbox": true, disabled: this.disabled }, checked: this.checked, disabled: this.disabled, tabindex: this.accessibleIndex, "aria-invalid": this.error ? "true" : "false", "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.getAriaDetails(), "aria-description": this.accessibleDescription, "aria-selected": this.accessibleSelected, required: this.required, role: this.role, name: this.name, id: identifier }), h("label", { key: '7944e807c4a8fcaafc9eff276db3966aa9c40c2b', class: "duet-label", htmlFor: identifier }, h("span", { key: 'b47a404400a92048a27be9d518269e1df8fb6aa3' }, this.label)), h("div", { key: '1aa8a524fc1166a166d663a8cedfecac82db681e', class: "duet-after-label", id: this.afterLabelId }, h("slot", { key: '6c9ea33f6cf0082e06196679183eeb43e3a2067d', name: "after-label" })), h("div", { key: 'a050694cc104b9c1ceae613ae2b6fa689ca36768', class: "duet-checkbox-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'ed6d7890a72979f4e4245cd84f55ee992ef6f6af' }, this.error)))));
141
158
  }
142
159
  static get is() { return "duet-checkbox"; }
143
160
  static get encapsulation() { return "shadow"; }
@@ -598,6 +615,11 @@ export class DuetCheckbox {
598
615
  }
599
616
  };
600
617
  }
618
+ static get states() {
619
+ return {
620
+ "hasAfterLabelSlot": {}
621
+ };
622
+ }
601
623
  static get events() {
602
624
  return [{
603
625
  "method": "duetChange",
@@ -332,7 +332,7 @@ export class DuetChip {
332
332
  onBlur: this.onBlur,
333
333
  ref: el => (this.focusableElement = el),
334
334
  };
335
- return (h(Host, { key: 'fec47aedb512eead9eb64575e8f98b678e53f41d', class: { [this.variation]: true } }, this.variation === "button" && (h("span", { key: 'eff19ffc79c16ebd3bacbbdf5fb02ce1feb26c49', class: classes }, h("button", Object.assign({ key: '7e2f2da2eb55db53d182bab0283746543bbf7052', id: identifier, "aria-label": this.accessibleLabel, "aria-haspopup": this.getAccessiblePopup(), "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), h("span", { key: '8ed98fe02241fe8ba40388532df90c056697a8eb', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: 'c9e40650866119a9c8609bce2525fb2e0ae7a4b7', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: '91d3860bd84c5665487440a84dc7139cc057da9b' })))), this.variation === "input" && (h("span", { key: '0edd53d2a0b5eaf47e8a7ba9260997ab8a893a90', class: classes, "aria-label": this.getAccessibleInputChipLabel() }, h("button", Object.assign({ key: '1390d0b60f05efe534ce7a93e0fd1e1013b4fcf7', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), h("span", { key: 'a77442337da66dcca7e46eac520ea2601a0f200e', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: 'a95497c8e5dd1fbeb97715f19678c66448fc3981', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: 'b4d281bfb01a611d911b4ee1780c1c36df499943' })), h("button", { key: '621d6fc5dc6d2f820ab8f570921ee8335d6992dd', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, h("duet-icon", { key: 'bc8ef1b7a5026b38f088507488e372eb94fe24d3', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (h("span", { key: 'a23d77fb07a75d9dad213738cde1b8f7fc065a75', class: classes }, h("input", Object.assign({ key: 'bece465fae4c3428c895cb1e28f5bb370f7226d7', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), h("label", { key: 'c8ca07278535a0735aaf0b3609b057b7b07d73a7', htmlFor: identifier }, this.icon && (h("span", { key: 'b2040b8ad45d57cae370db873126f6af04103e35', class: "duet-chip-icon-container" }, h("duet-icon", { key: 'de63c47bcd290a7bb278d18044dcbb59f3d36bdd', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: 'e85e6a5937affd776ad433d0fff928e2985606f6', name: "messaging-checked-small", size: this.size === "large" ? "x-small" : "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: 'be966f534808d4c13283c7a428b8bd5f220f57ac' }), this.popupElement && (h("span", { key: '1f3d21e7eba82aa859081602aa42a9f84d320de2', class: "duet-chip-popup-disclosure" }, h("duet-icon", { key: 'af6883b215be51bbfd4d4a763f9a7f93a3196368', name: "action-arrow-down-small", size: this.size === "large" ? "xx-small" : "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (h("span", { key: '30bd7e485658623c6bb9ee6f72f6e90a145fcd62', class: classes }, h("slot", { key: 'da5cb9135a68d3d76a81d5c129b4065dc79dcb58', name: "input" }), h("label", { key: 'bc19df62252b9a253d26bc989c6c8120c89d56a3', htmlFor: identifier }, this.icon && (h("span", { key: 'd35af1432d982b9ba952abed1395b90748501f11', class: "duet-chip-icon-container" }, h("duet-icon", { key: 'd75598a3891d73aaac169b59201294c462fe3e5c', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: '88a3bbd9d095a53fef6b723f96fc3818b28889db', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: '7c2b2e07d9b91726f23248f13abe2c7a0816ddfe' }))))));
335
+ return (h(Host, { key: 'e26aa34e15b03e670a0f3f0e0d4cc24a237434bd', class: { [this.variation]: true } }, this.variation === "button" && (h("span", { key: '9f57e595caa81d8d4b84394b3a4a49fbdf19da48', class: classes }, h("button", Object.assign({ key: 'd68d62140116bf1fbb975b9b6b0453ff209e02c1', id: identifier, "aria-label": this.accessibleLabel, "aria-haspopup": this.getAccessiblePopup(), "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), h("span", { key: 'ddf0a95c86a07ebed9110017d6a0bd77e47a3e95', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: 'd6adb6765da92cb43ed0c408ecd8bea4221047a8', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: 'ce3208e6913557213ca536866493c7765bc2cb77' })))), this.variation === "input" && (h("span", { key: '75ec4e277b428b7e34bd5366b9a487c16c886ae9', class: classes, "aria-label": this.getAccessibleInputChipLabel() }, h("button", Object.assign({ key: '92de738c0bd52efb610ecc97056827f0af9a1252', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), h("span", { key: 'ff2ae73783f77320559096261e367a6d5496c9fb', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: 'f8ac9cb89ed8e949a37944938652b62008fc19c7', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: 'aaf69ef9eb8e5b3f48a68e4a01a70b2272d469ae' })), h("button", { key: 'fe3a6dcce274c4f812c58da61c30f97707ef5767', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, h("duet-icon", { key: 'e548beece645e839b0b43bfcd131764db993bf9f', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (h("span", { key: 'e5fd9ed10732bda6ab5ce6a44297a923c251badb', class: classes }, h("input", Object.assign({ key: '86e4c71d067982fef1537d4ab02e9c28d20696b3', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), h("label", { key: 'd7f775b63603946790ea8e4412cde73865c49683', htmlFor: identifier }, this.icon && (h("span", { key: '274d90f5406d6dd2d7d7386b1b4bdec927781a5c', class: "duet-chip-icon-container" }, h("duet-icon", { key: '5425392636f14e79e52edb733baec19b330be1b4', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: '34eadef6cfac6361f4069f673efd04df0c6de0cc', name: "messaging-checked-small", size: this.size === "large" ? "x-small" : "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: '6f33a83d88ab32af90c49a61aa55459c1c6a4e27' }), this.popupElement && (h("span", { key: 'efccfca32d5aefd8c0f6d8da8c39941f93fafa73', class: "duet-chip-popup-disclosure" }, h("duet-icon", { key: '49d87cd5a7e0b1249c9b484ab6ffb949b32a9d0a', name: "action-arrow-down-small", size: this.size === "large" ? "xx-small" : "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (h("span", { key: '34755198707218679008f8d3f1345f378a9f1be8', class: classes }, h("slot", { key: 'c2fec1770e3e9916e9a456519bdb73461d00e32c', name: "input" }), h("label", { key: '34286b6515f0c2f96d8ebb84f8c99a9ecdca76c2', htmlFor: identifier }, this.icon && (h("span", { key: '5fbfe0a0c184a04844eccc440c042fae5f5321be', class: "duet-chip-icon-container" }, h("duet-icon", { key: 'c0ada34d07c59029ef1961d0d60f9e801e8e38cc', name: this.icon, size: this.size === "large" ? "small" : "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: '4b2626e45a9078b5ea6993183f57c5a0bfdc38c8', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: 'a4b9352bda8b5f9e9ce1912d07159c77844a4580' }))))));
336
336
  }
337
337
  static get is() { return "duet-chip"; }
338
338
  static get encapsulation() { return "shadow"; }
@@ -33,11 +33,11 @@ export class DuetCheckmark {
33
33
  inheritGlobalTheme(this);
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: '9f320db3e8549d7d12de134f013789c1f412b947', class: { "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'a8fe605a230fd34d9714bd5194c281b87394bd24', role: this.presentationOnly ? "presentation" : null, class: { checked: this.checked } }, h("div", { key: '91fabdc145a023efc8317ef543296d4e5e2509d9', class: {
36
+ return (h(Host, { key: '77d8d9cfa205def19022cd899ab98eb36007d2e2', class: { "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'b93b32d626ceca01d12390209e700eef8665fd8b', role: this.presentationOnly ? "presentation" : null, class: { checked: this.checked } }, h("div", { key: 'fa4d7323cf416248275604e05b261bc1f542ea6e', class: {
37
37
  "duet-checkmark-container": true,
38
38
  center: this.center,
39
39
  "duet-checkmark-radio": this.type === "radio",
40
- } }, this.checked && h("div", { key: '9a418c3b3cd7c451f52003eb5efe16e90a4d5841', class: "duet-checkmark" })))));
40
+ } }, this.checked && h("div", { key: 'd2a988ecdd6f5d41ce318365966515ff92c252c6', class: "duet-checkmark" })))));
41
41
  }
42
42
  static get is() { return "duet-checkmark"; }
43
43
  static get originalStyleUrls() {
@@ -422,7 +422,7 @@ export class DuetChoice {
422
422
  * Always the last one in the class.
423
423
  */
424
424
  render() {
425
- return (h(Host, { key: '74c4b0c1afd04d78513d2f428df66aea0c755a30', class: {
425
+ return (h(Host, { key: '583ef635169af9972811ec71576988fa12c1ad9a', class: {
426
426
  horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
427
427
  [`horizontal-responsive-${this.groupResponsive}`]: this.groupDirection === "horizontal" && !!this.groupResponsive,
428
428
  "vertical-stretch": this.groupDirection === "horizontal",
@@ -431,10 +431,10 @@ export class DuetChoice {
431
431
  "duet-theme-turva": this.theme === "turva",
432
432
  "no-hover": this.isHovering,
433
433
  disabled: this.getDisabled(),
434
- } }, h("div", { key: '40f23ef0315551c972d13462c800fbc08170bb60', class: {
434
+ } }, h("div", { key: 'ca64fbe3bb8291ad36305267c7e1ea02355ebc5c', class: {
435
435
  "duet-choice-card-flextainer": true,
436
436
  "duet-theme-turva": this.theme === "turva",
437
- } }, h("div", { key: '0cc5f080734a81eb10bc8810c3416f8cc16a0d25', class: {
437
+ } }, h("div", { key: 'cad7111f70511cf2f1dbe0e9db6c00c0f2e038ad', class: {
438
438
  "duet-choice-card": true,
439
439
  "has-icon": !!this.icon,
440
440
  "has-info": this.hasInfo,
@@ -443,16 +443,16 @@ export class DuetChoice {
443
443
  collapsible: this.collapsible,
444
444
  "collapsible-force-expanded": this.collapsibleForceExpanded,
445
445
  "duet-p-0": this.padding === "none",
446
- } }, h("slot", { key: '65d5bb2cd8c8c0b4f5ed9811b38b48b7335c0df4', name: "choiceinput" }), h("label", { key: '98b47986d36a16dc5349cd465c5273dc463aab1b', class: {
446
+ } }, h("slot", { key: 'bb7405107756f726503cf0e17278761d9f68386e', name: "choiceinput" }), h("label", { key: '0ae8fc10a14a1b68cf78e7fe65164cc4ac4471f4', class: {
447
447
  "duet-choice-label": true,
448
448
  "has-before-text": this.hasBeforeText,
449
449
  checked: this.checked,
450
450
  focus: this.focus,
451
451
  disabled: this.getDisabled(),
452
- }, onClick: this.onClick }, this.hasBeforeText && h("slot", { key: 'b29fd679de70ab070b1b821dc4a2c8e091914073', name: "before-text" }), this.icon && (h("div", { key: '1881e659c9c7c4fbdb0935e54850f4f70c28975f', class: "duet-choice-card-icon" }, h("duet-icon", { key: '91d0be349f26a8c0f0bfae30ce809d6c98fdf833', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h("div", { key: 'e38af0b72bbd56517fc3cd08db6bd0e35d1941a0', class: "duet-choice-card-text" }, h("div", { key: 'afe1e13db8d21c88042eb740b03920c60ca3f0b8' }, this.hasLabel ? h("slot", { name: "label" }) : this.label), this.caption && (h("div", { key: 'db42771f819ba0b951458505be33fa27d96c626e' }, h("duet-spacer", { key: 'ece32f47f5c075f949156ae62ea4d53f2bc9a75a', size: "xx-small" }), h("duet-caption", { key: 'eb570008d5b29058acbe690a92e93cfaa66810e7', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h("div", { key: 'ddd0d7cf3e349528ae6ec6c013df72449aae340a' }, h("duet-spacer", { key: 'b8b542af5b875cb32591d12125726441bfc71927', size: "xx-small" }), h("slot", { key: '40409b224b5b2acdd0689cadc4332b8bff4750d9', name: "additional" })))), h("div", { key: 'ad56ee344580c7cb2a9abca5651375dd9d725e24' }, h("div", { key: '2c5bdf19e1001fd6bb57bfe3b2cdc44c217c64f7', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h("div", { key: 'cfea1353992716f4d965ce0db1869d9914db7bc6', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h("button", { key: 'c3073fdf9da1c74366e9fd43a07321587db86374', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
452
+ }, onClick: this.onClick }, this.hasBeforeText && h("slot", { key: '174aa0372dd6cce4bc695425fc0f4f9b9ef51e89', name: "before-text" }), this.icon && (h("div", { key: '1d8c96fbbb225864342228a15026d56c2288ba7c', class: "duet-choice-card-icon" }, h("duet-icon", { key: '737fc607c29c5178a62c6981571c1624e3a7d993', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h("div", { key: 'e97966ca1b32ac47460f193997509eda09904469', class: "duet-choice-card-text" }, h("div", { key: 'df684a3bf298011052b12e8a8a781f537403a1a0' }, this.hasLabel ? h("slot", { name: "label" }) : this.label), this.caption && (h("div", { key: 'eb703567d8b2d2a3d940af79c3e36e339b16358e' }, h("duet-spacer", { key: '2a260bd1fa121622e21c8e64952c14a8fdf7e40f', size: "xx-small" }), h("duet-caption", { key: 'ca97833b65e235dc4316249086e099f33cbea465', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h("div", { key: 'bce4fd584082e0a2d2b6e72ba5ffb32487c55564' }, h("duet-spacer", { key: '40efa3cc50c5636c85cfab0e4ba9e96aafad8f79', size: "xx-small" }), h("slot", { key: 'db4d24e43aa875de213391981ed2b841137337aa', name: "additional" })))), h("div", { key: '496255f50229c21cf645b9b2a0a3c10db73cee12' }, h("div", { key: '90180fd834fc6a1f39cc6dcea6a61133961cbdaf', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h("div", { key: '1d6455f6915d00399fdb586aca6b0ee2a622d2da', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h("button", { key: '8897ce9328e49c68fef9b9901e8e6f271cd484d9', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
453
453
  "duet-choice-info-toggle": true,
454
454
  "duet-theme-turva": this.theme === "turva",
455
- }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.getDisabled(), "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button", onKeyUp: e => this.handleEscape(e) }, h("div", { key: '6fa70b3e97c81f44e8d4bdce9d1511680a19d674', class: "duet-choice-info-icon" }, h("duet-icon", { key: '2129ca97e0d1e45ca69cd17ad0dd5de7fd4dfafb', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (h("span", { key: '4990fa0e4b60b0e87076113b5e302b06d55d566f', id: `${this.choiceId}-collapsible-notification`, hidden: true }, this.collapsibleNotification)), this.collapsible || this.hasInfo ? (h("div", { class: this.getClassNames(), id: this.expandId }, h("span", { class: {
455
+ }, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.getDisabled(), "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button", onKeyUp: e => this.handleEscape(e) }, h("div", { key: 'cd0cc7ea1a4d1f7dfaf0a0cc0f2296c71d3b5d43', class: "duet-choice-info-icon" }, h("duet-icon", { key: '62c25ce3534a78c7f7b5cf5c7cdc53caaf42435a', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (h("span", { key: 'efa969656f43120c9b8670160671c1c0c9630714', id: `${this.choiceId}-collapsible-notification`, hidden: true }, this.collapsibleNotification)), this.collapsible || this.hasInfo ? (h("div", { class: this.getClassNames(), id: this.expandId }, h("span", { class: {
456
456
  "duet-choice-section-visible": this.collapsible ? this.getExpanded() : this.isInfoOpen,
457
457
  "duet-choice-section-hidden": this.collapsible ? !this.getExpanded() : !this.isInfoOpen,
458
458
  } }, h("span", { id: this.headerId }, h("slot", { name: "header" })), this.hasInfo ? (h("span", { ref: span => (this.infoContainer = span), tabindex: "-1", class: "duet-choice-info-container", onKeyUp: e => this.handleEscape(e) }, h("span", null, h("slot", { name: "info" })), h("slot", null))) : (h("span", { id: `${this.choiceId}-collapsible-content` }, h("slot", null)))))) : null));
@@ -183,14 +183,14 @@ export class DuetChoiceGroup {
183
183
  * Always the last one in the class.
184
184
  */
185
185
  render() {
186
- return (h(Host, { key: '39267534dcf19f7f942ef44d869d302552ad8463', onDuetChange: this.onSelect, onDuetChoiceReady: this.onChoiceReady, class: {
186
+ return (h(Host, { key: '91ad25e9ae34e334eb8c94c39477915350324fe4', onDuetChange: this.onSelect, onDuetChoiceReady: this.onChoiceReady, class: {
187
187
  horizontal: this.direction === "horizontal",
188
188
  "duet-choice-group-breakpoint-x-small": this.responsive && this.breakpoint === "x-small",
189
189
  "duet-choice-group-breakpoint-small": this.responsive && this.breakpoint === "small",
190
190
  "duet-choice-group-breakpoint-medium": this.responsive && this.breakpoint === "medium",
191
191
  "duet-choice-group-breakpoint-large": this.responsive && this.breakpoint === "large",
192
192
  "duet-choice-group-breakpoint-x-large": this.responsive && this.breakpoint === "x-large",
193
- } }, h("duet-fieldset", { key: '1e292babf2206d42d58c46f88bed02959e595dc1', label: this.label, labelHidden: this.labelHidden, compactLabel: true, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (h("duet-tooltip", { key: '435735b34c7f437aba23bda2eebd7fa78aa30f3d', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), h("slot", { key: '898fe0c09e0b5ba4c62d21af1c06f8c0353c0e08', name: "tooltip" }), h("div", { key: 'de8a0372a7be4adb5c97bccb01c1ef11d71a012b', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, h("slot", { key: '28a116e0e58afe8867e9bd3229dc618895961301' })))));
193
+ } }, h("duet-fieldset", { key: '8be987ee15a23906a771c28b844ae283ca5df13c', label: this.label, labelHidden: this.labelHidden, compactLabel: true, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme, "accessible-live-error": this.accessibleLiveError }, this.tooltip && (h("duet-tooltip", { key: 'fb25c9c926cc1e47bf9147112634d1c2f792dfb5', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), h("slot", { key: '9236736c2872c5ab10bccad8c12ee2819bf41270', name: "tooltip" }), h("div", { key: '5cb0b64392398f6535d947c142ae27a794820dec', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, h("slot", { key: 'eddef456160e825d9a44fcade7482e854de79824' })))));
194
194
  }
195
195
  static get is() { return "duet-choice-group"; }
196
196
  static get encapsulation() { return "shadow"; }
@@ -177,7 +177,7 @@ export class DuetCollapsible {
177
177
  */
178
178
  render() {
179
179
  const HeadingTagName = this.headingTags.includes(this.headingLevel) ? this.headingLevel : "div";
180
- return (h(Host, { key: '33d42aa6613b1c4c8d7789ad32a4bc0e02cab4ad', class: { "duet-m-0": this.margin === "none", negative: this.negative } }, h(HeadingTagName, { key: '091f0117124e76f5f87b226fe216b69f587d706f' }, h("button", { key: 'efec916eea29062394e6e3938c1d26bf2efc1620', class: {
180
+ return (h(Host, { key: 'fd4435676c3862734ae74dc5a3f87b8eab2f70f4', class: { "duet-m-0": this.margin === "none", negative: this.negative } }, h(HeadingTagName, { key: 'a8cebd440d7d71ec114617e5fb99929f577c4519' }, h("button", { key: '20835d6fa2e0dd36cc25d5400f31d29f00123c08', class: {
181
181
  "duet-collapsible-heading": true,
182
182
  "duet-collapsible-heading-centered": this.centerHeading,
183
183
  "duet-theme-turva": this.theme === "turva",
@@ -185,7 +185,7 @@ export class DuetCollapsible {
185
185
  "has-after-heading": this.hasAfterHeadingSlot,
186
186
  "full-width": this.headingFullWidth,
187
187
  "has-caption": !!this.caption,
188
- }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.getAccessibleLabel(), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: '933b0f2222b12e28df931954684fee098ce514e1', class: "duet-collapsible-heading-wrapper" }, h("div", { key: '11e4a5a8651be923cd1504af680534ed0ce74814', class: "duet-collapsible-heading-icon" }, h("duet-icon", { key: '01d74d252e5642f53f549a6bafe82dc709186355', margin: "none", size: this.getEquivalentIconSize(), icon: icon.svg })), h("div", { key: '4f61ec6445ea77d863d9fd61c670a981a88ca99a', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading ? this.heading : h("slot", { name: "heading" })), this.hasAfterHeadingSlot && (h("div", { key: '0a73d177f1fa62144044b314f07461b20a830d2b', part: "duet-collapsible-after-heading" }, h("slot", { key: '0a38479abd24db8891c488e7fdf19787ed9e9a55', name: "after-heading" })))), this.caption && (h("div", { key: 'b31a6d8a198093d28fa0fd0a552c0806ce86a986', class: "duet-collapsible-heading-caption" }, h("duet-caption", { key: 'b13eeb284c4e904f8782660acdf72201269288a2', size: "small", margin: "none" }, this.caption))))), h("div", { key: '7529c3164f4b457b85430f62e61d05648f1a5db4', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, h("slot", { key: '0124d76ffc82a087323436e7629a0bcbe535fc83' }))));
188
+ }, style: { "font-size": this.getFontSizeFromTokens() }, role: "button", ref: button => (this.nativeButton = button), "aria-label": this.getAccessibleLabel(), "aria-expanded": this.open ? "true" : "false", "aria-controls": this.id, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: '5efe212565a40b4805d565c6856ef080f3b0b696', class: "duet-collapsible-heading-wrapper" }, h("div", { key: '09dde2b49aa4b3aee5ae10e6cd6ffee6bdd75faa', class: "duet-collapsible-heading-icon" }, h("duet-icon", { key: '6bc4d5b4d62dcd39c6b03a37f0879d19d9b56f14', margin: "none", size: this.getEquivalentIconSize(), icon: icon.svg })), h("div", { key: 'cc07686af44301b10a541149bffc8df833a294f3', class: "duet-collapsible-heading-content", part: "duet-collapsible-heading-content" }, this.heading ? this.heading : h("slot", { name: "heading" })), this.hasAfterHeadingSlot && (h("div", { key: '83f79853695547594c25a1b017c0653d4e4edc7d', part: "duet-collapsible-after-heading" }, h("slot", { key: '47dd2ce6d896f75c6814594899604aa15e9a98cd', name: "after-heading" })))), this.caption && (h("div", { key: 'ebd4561054092f312999f98f8e859bd193cb9613', class: "duet-collapsible-heading-caption" }, h("duet-caption", { key: 'f620061ec26eed524ee27e417d6fb1e828fc04e8', size: "small", margin: "none" }, this.caption))))), h("div", { key: '4a2de882c742fbd31fb4c1ce959e9c081cf1a15d', id: this.id, class: { "duet-collapsible-content": true, "duet-theme-turva": this.theme === "turva" }, part: "duet-collapsible-content" }, h("slot", { key: '7efd617c6d79dba957e02d3a7ea4677629c64ef7' }))));
189
189
  }
190
190
  static get is() { return "duet-collapsible"; }
191
191
  static get encapsulation() { return "shadow"; }
@@ -25,11 +25,6 @@
25
25
  color: rgb(23, 28, 58);
26
26
  }
27
27
 
28
- .combobox-menu-container {
29
- width: var(--popup-width);
30
- max-height: 200px;
31
- }
32
-
33
28
  :host(.duet-theme-turva2.duet-theme-turva) {
34
29
  color: rgb(23, 42, 59);
35
30
  }
@@ -10,6 +10,8 @@ import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLan
10
10
  import { getElementsFromDefaultSlot } from "../../utils/slot-utils";
11
11
  import { parsePossibleJSON } from "../../utils/string-utils";
12
12
  import { DuetComboBoxSelect } from "./duet-combobox-select";
13
+ import { fontSizeMedium, lineHeightMedium, spaceXSmall } from "@duetds/tokens";
14
+ const POPUP_MENU_SIZE = 5;
13
15
  export class DuetCombobox {
14
16
  constructor() {
15
17
  var _a, _b;
@@ -160,7 +162,7 @@ export class DuetCombobox {
160
162
  return;
161
163
  }
162
164
  if (isEscapeKey(e) || isTabKey(e)) {
163
- if (this.listOpen) {
165
+ if (isEscapeKey(e) && this.listOpen) {
164
166
  e.preventDefault();
165
167
  }
166
168
  this.updateInputText(true);
@@ -171,18 +173,21 @@ export class DuetCombobox {
171
173
  //handle arrow up/down navigation
172
174
  let nextActiveItem = this.activeItem;
173
175
  if (isArrowUpKey(e)) {
174
- e.preventDefault();
175
176
  nextActiveItem = this.activeItem - 1;
176
177
  }
177
- else if (isArrowDownKey(e)) {
178
+ if (isArrowDownKey(e)) {
178
179
  if (((_c = (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) < this.minCharacters) {
179
180
  return;
180
181
  }
181
- e.preventDefault();
182
182
  nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
183
- this.listOpen = true;
183
+ this.popupMenuController = this.input.nativeInputElement;
184
+ // change listOpen on next tick so popup controller is set when open changes
185
+ setTimeout(() => {
186
+ this.listOpen = true;
187
+ });
184
188
  }
185
189
  if (isArrowDownKey(e) || isArrowUpKey(e)) {
190
+ e.preventDefault();
186
191
  if (nextActiveItem < 0 || !nextActiveItem) {
187
192
  nextActiveItem = 0;
188
193
  }
@@ -579,19 +584,35 @@ export class DuetCombobox {
579
584
  }
580
585
  return items;
581
586
  }
587
+ /**
588
+ * As the div.combobox-menu-container is inside popup-menu's shadow DOM, external styles don't work
589
+ */
590
+ getMenuContainerStyles() {
591
+ const fontSize = parseInt(fontSizeMedium) * 16; // rem to px
592
+ const lineHeight = parseFloat(lineHeightMedium) * fontSize;
593
+ const verticalPadding = 2 * parseInt(spaceXSmall);
594
+ return {
595
+ "max-height": `${POPUP_MENU_SIZE * (lineHeight + verticalPadding)}px`,
596
+ width: "var(--popup-width)",
597
+ };
598
+ }
582
599
  /**
583
600
  * render() function
584
601
  * Always the last one in the class.
585
602
  */
586
603
  render() {
604
+ var _a;
587
605
  if (Build.isServer) {
588
606
  return;
589
607
  }
608
+ // As the popup is anchored to the native input inside duet-input, we need to adjust positioning
609
+ const horizontalOffset = -1 * ((_a = this.input.nativeInputElement) === null || _a === void 0 ? void 0 : _a.offsetLeft); // need to calculate on every render, as we may have chips
610
+ const verticalOffset = 2; // focused input has 2px outline
590
611
  const selectElements = this.returnFilteredOrNonFiltered();
591
612
  return (h(Host, { class: {
592
613
  "duet-combobox": true,
593
614
  [`duet-theme-${this.theme}`]: true,
594
- } }, h("slot", null), h("div", null, h("duet-popup-menu", { id: this.listBoxId, controller: this.popupMenuController, ref: el => (this.listContainer = el), accessibleRole: "listbox", allowVerticalFlip: false, class: { "duet-skip-teleport-inert": this.isInsideModal } }, h("div", { class: "combobox-menu-container" }, this.listOpen &&
615
+ } }, h("slot", null), h("div", null, h("duet-popup-menu", { id: this.listBoxId, controller: this.popupMenuController, ref: el => (this.listContainer = el), accessibleRole: "listbox", allowVerticalFlip: false, mainAxisOffset: verticalOffset, crossAxisOffset: horizontalOffset, class: { "duet-skip-teleport-inert": this.isInsideModal } }, h("div", { class: "combobox-menu-container", style: this.getMenuContainerStyles() }, this.listOpen &&
595
616
  selectElements.map((item, index) => {
596
617
  return (h(DuetComboBoxSelect, { id: this.activeDescendantId, item: item, activeDescendant: index === this.activeItem, selected: this.selectedItems.has(item.id), search: this.inputValue, clickHandler: e => this.onListClick(e, item), label: this.formatLabel(item, index, selectElements.length, this.processedItems.length), isAndroidDevice: this.isAndroidDevice }));
597
618
  }), h("duet-spacer", { size: "x-small" }))))));
@@ -47,10 +47,10 @@ export class DuetContactCard {
47
47
  render() {
48
48
  const isTurva = this.theme === "turva";
49
49
  const theme = isTurva ? "turva" : "default";
50
- return (h(Host, { key: 'a29a3dab2ac7fb3079f2c1a159af7f4e7b5c226b', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: '14753b1f4fc3901aa2285d438c612e66619fabb5', class: {
50
+ return (h(Host, { key: '6cf20cb225b22fbb826b136c3909234684d30e3d', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: '24e57cbe34b4d01ff024fe8128d3168b61e61af6', class: {
51
51
  "duet-contact-card": true,
52
52
  "duet-theme-turva": this.theme === "turva",
53
- }, role: "group", "aria-label": this.name }, this.image ? h("img", { class: "image", src: this.image, alt: this.name }) : h("div", null), h("div", { key: 'dc77c6904966d2b6438391dd2c827832ffe86325' }, this.name && (h("duet-heading", { key: 'a10e331782d05726446653615ba8effbb1de3257', class: "name", level: "h3", margin: "none", theme: theme }, this.name)), this.description && (h("duet-paragraph", { key: '3f49dc9a8933eb5551f259e2dcca7f434f8e5082', class: "description", margin: "none", theme: theme }, this.description)), this.email && (h("div", { key: '99ad9df72533f48e298153aeadf18cb50e37d1e9', class: "email" }, h("duet-icon", { key: 'cbe804f4877e52df6f678ace315efe098b3ef914', name: "navigation-message", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: 'e909d9bc1096700ef5fb6d7a1e87c499d585d4dd', url: `mailto:${this.email}`, accessibleLabel: `Email: ${this.email}`, theme: theme }, this.email))), this.phone && (h("div", { key: 'fe217c26608f2f461999844a3a00fe335c1e4509', class: "phone" }, h("duet-icon", { key: '1194445745ecb176f6fcc39a18c3e233921524d9', name: "form-tel", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: 'b83e145b7909c3ef697932ff1cf95d223d4a4b14', url: `tel:${this.phone}`, accessibleLabel: `${this.phoneLabel[this.language]}: ${this.phone}`, theme: theme }, this.phone)))), this.buttonUrl && this.buttonText && (h("div", { key: 'fdb27957cd0b60be23e8b4df7f062da5cc3eafc1', class: "call-to-action" }, h("duet-button", { key: 'f7cd81b4f2712057ee507a9f0f01e59121e7960e', variation: "default", icon: this.buttonIcon, fixed: true, margin: "none", url: this.buttonUrl, theme: theme }, this.buttonText))), h("div", { key: 'b3a716a438e7793ef194ae0b1067d926b75e0925' }), h("slot", { key: '3d4bea81e03b40457deb9fd0731c14a9b80d465e' }))));
53
+ }, role: "group", "aria-label": this.name }, this.image ? h("img", { class: "image", src: this.image, alt: this.name }) : h("div", null), h("div", { key: 'f3c40c440d2d9dd97e3c1e24817d60e62f6347f0' }, this.name && (h("duet-heading", { key: 'cde7a70f10cfdd45e801c9ef923e116b2ee12e42', class: "name", level: "h3", margin: "none", theme: theme }, this.name)), this.description && (h("duet-paragraph", { key: '1c855114d2101701a8b39f75fe8b2ae76d5ffe57', class: "description", margin: "none", theme: theme }, this.description)), this.email && (h("div", { key: 'b552b0f0de5e16059e77ee518e2087d24a2171c4', class: "email" }, h("duet-icon", { key: '2048a5cb8e29d7d664c984c72031cdfd1894e0a6', name: "navigation-message", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: '6e2a9b632e0fb1df3efd51dc66d6df1891eaa3a1', url: `mailto:${this.email}`, accessibleLabel: `Email: ${this.email}`, theme: theme }, this.email))), this.phone && (h("div", { key: '1a263f67d1844f9c2ba334ba24ebc32d9faf4b86', class: "phone" }, h("duet-icon", { key: 'dab3c18ed7f4c092aa8644ef6d9a915854c9e33d', name: "form-tel", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: '68c6b2ff4480300f563b7d8d65fb4d47160fcd8b', url: `tel:${this.phone}`, accessibleLabel: `${this.phoneLabel[this.language]}: ${this.phone}`, theme: theme }, this.phone)))), this.buttonUrl && this.buttonText && (h("div", { key: '70288a25480b39a333831a129def567c99f202b7', class: "call-to-action" }, h("duet-button", { key: 'c5fccd74b8b2b6b4917b464c5e723c657e326bb0', variation: "default", icon: this.buttonIcon, fixed: true, margin: "none", url: this.buttonUrl, theme: theme }, this.buttonText))), h("div", { key: '9fd8e574534d15aa89eaac786c257586a6f9f845' }), h("slot", { key: 'ab0fa1cc3232c70441d441e4c673b8b562ffbe92' }))));
54
54
  }
55
55
  static get is() { return "duet-contact-card"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -46,7 +46,7 @@ export class DuetCookieConsent {
46
46
  * Always the last one in the class.
47
47
  */
48
48
  render() {
49
- return (h(Host, { key: '1f83ab5838f565e3dee5a11151f17c13009c0e7d', tabindex: "-1", class: { "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'e4a913e6c68d60f6c8237e35f5bf8b23d6a8be97', class: { "duet-cookie-consent": true, "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'd594b4b907a5b770c58630163e35c3f358172db6', class: "duet-cookie-consent-content" }, h("div", { key: 'f8c60f7176d18f1519252e03035ffe3ded682811', class: "expand" }, h("slot", { key: '764178fb0a91f3ef68a07050d9f3d4b84b2e3757' })), h("duet-spacer", { key: '82473e1be587999e8b0e714843f3edb1dd9b9161', size: "large", direction: "horizontal" }), h("div", { key: 'b70b7134335e98505b9a485daf9849e3e7453be2' }, h("duet-button", { key: 'e721e4a7d82f0b68949924fab5ea4f82386d31f5', variation: "negative", size: "small", onClick: this.handleClick, margin: "none", "aria-label": this.accessibleLabel, theme: this.theme }, "OK"))))));
49
+ return (h(Host, { key: 'a0945b87dc3ca428ebb77b5bafc937d26fe77b58', tabindex: "-1", class: { "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'e4870573df557f7b4d7a6075afbd04fc23f54ff1', class: { "duet-cookie-consent": true, "duet-theme-turva": this.theme === "turva" } }, h("div", { key: 'd0f1b43a014ccc35c9845c8c4117a8552eee8209', class: "duet-cookie-consent-content" }, h("div", { key: '98d8e55937ee5afda2a8d975ebb0d4e5aefc0014', class: "expand" }, h("slot", { key: '5529c9819da700b849bbf3e0f4b4c93cf4da6015' })), h("duet-spacer", { key: '82e710ce0de7d91f931cbb2177d6470f77701ec4', size: "large", direction: "horizontal" }), h("div", { key: '9cbf5dd3a7d82025a0912ca016b67e1b0f0022fc' }, h("duet-button", { key: '50a246e22443b54c881d40063c0405f07d7190dc', variation: "negative", size: "small", onClick: this.handleClick, margin: "none", "aria-label": this.accessibleLabel, theme: this.theme }, "OK"))))));
50
50
  }
51
51
  static get is() { return "duet-cookie-consent"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -537,7 +537,7 @@
537
537
  .duet-theme-turva .duet-date-dialog-mobile-header {
538
538
  border-color: rgb(199, 202, 207);
539
539
  }
540
- .duet-date-dialog-mobile-header duet-label {
540
+ .duet-date-dialog-mobile-header label {
541
541
  display: inline-block;
542
542
  max-width: 84%;
543
543
  overflow: hidden;
@@ -545,7 +545,7 @@
545
545
  white-space: nowrap;
546
546
  }
547
547
  @media (min-width: 36em) {
548
- .duet-date-dialog-mobile-header duet-label {
548
+ .duet-date-dialog-mobile-header label {
549
549
  display: none;
550
550
  }
551
551
  }
@@ -480,13 +480,13 @@ export class DuetDatePicker {
480
480
  if (maxDate) {
481
481
  maxYear = Math.min(maxYear, maxDate.getFullYear());
482
482
  }
483
- return (h(Host, { key: '37f45a71c4032ac634736a6920fb025734c3bbe2', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { key: '61c829b503df044c1b67f460b7dacd7398078cba', class: "duet-date" }, h(DatePickerInput, { key: '8a04908b051939c5c8eb85cf7efdeac0d3a21d6c', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error || (!this.disableBuiltInErrors && this.internalValidityError) || null, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h("div", { key: 'acd43f63f5682534c6bf78625fe43c6c86a46dc0', class: {
483
+ return (h(Host, { key: '2f9dd355a80f9ed65cc0cfa90d674f426bad4c59', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" } }, h("div", { key: '8c023088cf474e2b460139486e85974f53963981', class: "duet-date" }, h(DatePickerInput, { key: '0c678c083138be043f01d6df1522e385a7ee122a', hasFocus: this.inputHasFocus, value: this.value, valueAsDate: valueAsDate, formattedValue: this.inputValue, language: this.language, onInput: this.handleInputChange, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.toggleOpen, name: this.name, disabled: this.disabled, error: this.error || (!this.disableBuiltInErrors && this.internalValidityError) || null, role: this.role, required: this.required, theme: this.theme, tooltip: this.tooltip, tooltipDirection: this.tooltipDirection, labelHidden: this.labelHidden, placeholder: this.placeholder, inputLabel: this.label, identifier: this.identifier, buttonRef: element => (this.datePickerButton = element), inputRef: element => (this.datePickerInput = element), accessibleActiveDescendant: this.accessibleActiveDescendant, accessibleControls: this.accessibleControls, accessibleOwns: this.accessibleOwns, accessibleDescribedBy: this.accessibleDescribedBy, accessibleLiveError: this.accessibleLiveError, echoPlaceholder: this.echoPlaceholder, caption: this.caption })), h("div", { key: 'efec9f5c773e36d4e418dac06036390b50bff2a5', class: {
484
484
  "duet-theme-turva": this.theme === "turva",
485
485
  "duet-date-dialog": true,
486
486
  left: this.direction === "left",
487
487
  error: !!this.error,
488
488
  active: this.open,
489
- }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("duet-overlay", { key: '88bd9a51351af2edf1e2e07f155c1eabbff10646', visible: this.open, "display-device": "x-small" }), h(FocusGuard, { key: '08fa3fd43496f0250e63598a879eb03ff81ade36', moveFocusTo: this.focusedDayNode }), h("div", { key: 'a7d8dd867afa616cd47543b8c47a160b710b70f3', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { key: '81c99489839f6ceb28ac6f25f73a0d92f054b0bc', "aria-live": "polite" }, text.keyboardInstruction), h("div", { key: '404552e44ed007048db39d1d20108c6c38aca2bf', class: "duet-date-dialog-mobile-header" }, h(DuetInternalLabel, { key: 'd49183b544c8e2a4a23ca281a62b3c4be8a90ebf', margin: "none" }, this.label), h("button", { key: '3adb95e86f08e23c1b60e6e19ec3d9d23467f33f', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { key: 'c500a093b3fdae7155e3a5aed30539f009f156c2', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", { key: '1f23e50c6c479195a622d512ac4ee5d866ebcd9b' }, text.closeLabel))), h("div", { key: '662972a21f2c4cd532471209c9d49e51142f0b25', class: "duet-date-dialog-header" }, h("div", { key: 'fb7cbfa6f3ccded04f8d481447c5847a1293d535', class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", { key: '8aa30a4e48fcc57ee56d7564284ff219260e8d5f' }, h("h2", { key: '7a40dd8ca6344ac0ccf504ce73b476a3f5e4b0f6', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", { key: '7ef05a1a7fab5bebf6d24bc78bb9789efd85835e' }, h("label", { key: 'b93bb5d18acd17fb2bc22bc43c00d16199d254da', htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { key: '72f8d34639a3a7de933c91e781b9aafa8e3fb668', class: "duet-date-dialog-select" }, h("select", { key: 'a09e0ba04dfd0da49e8d141c8b2c520d49a6108d', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { key: '85e19eac15e8475ea1a891b49796c2999e9800b8', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: 'ae692bf29092ba59affd6258f57ef9dcc1847f2e' }, text.monthLabelsShort[focusedMonth]), h("duet-icon", { key: 'aed73b3af5c337b8e7ff70699106d3c685206ff1', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", { key: '860526bf60d4e94dfd2c19a5eabcd049b8273d82' }, h("label", { key: '6852a9ff1990eddd80f8c0edfa59cc762d68fcc9', htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { key: '28bf2d2a99952eb203a2198f558b7ccba9ae99c3', class: "duet-date-dialog-select" }, h("select", { key: 'efafa17aa2c9306af0ca13dbee83cdefeed076b2', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: '5d9f4154d302ea2733b72a2f613abd9f7f569be8', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: 'a6996b5aa61aa5227048b4eb1b8cb227b0dcda33' }, this.focusedDay.getFullYear()), h("duet-icon", { key: '6c999d099466d7b9ac2dd54ba7cf9b80732d82ef', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { key: '7c63a65698b7a07d10c9b75ad21a6c7585c99034', class: "duet-date-dialog-buttons" }, h("duet-action-button", { key: '3599aaffa6d0b601b35cfa244faa11b705724ef0', accessibleLabel: i18n[this.language].prevMonthLabel, actionName: i18n[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { key: 'dfff287908a10fd3b84abbd643af6d095bb70537', accessibleLabel: i18n[this.language].nextMonthLabel, actionName: i18n[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { key: '4f9b1c1fd0791045a5d04055e1c61182f11ebe86', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), h(FocusGuard, { key: '06daea4e6567faa83c290236d3bafd2ed6bb310e', moveFocusTo: this.closeButtonNode }))));
489
+ }, role: "dialog", "aria-modal": "true", "aria-hidden": this.open ? "false" : "true", "aria-labelledby": this.dialogLabelId, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, h("duet-overlay", { key: '130f52a0f0194b1186619bf6426f97a68c079c11', visible: this.open, "display-device": "x-small" }), h(FocusGuard, { key: 'b4c229e9d91c822d87702677e213f8753f344017', moveFocusTo: this.focusedDayNode }), h("div", { key: '3ce07367a559781b9872669665186af5572305ca', class: "duet-date-dialog-wrapper", onKeyDown: this.handleEscKey, ref: element => (this.dialogWrapperNode = element) }, h("duet-visually-hidden", { key: '7740bce6549fc3423947947f68d7e8950baa440d', "aria-live": "polite" }, text.keyboardInstruction), h("div", { key: '2d80551888be784d8ea12b74c43df593c4701e83', class: "duet-date-dialog-mobile-header" }, h(DuetInternalLabel, { key: '27d2994191b94efe00484fbd25d96537d6ed11b2', margin: "none" }, this.label), h("button", { key: '82cf74d2d7aff047562d13320496248d352c1e82', class: "duet-date-picker-close", ref: element => (this.closeButtonNode = element), onClick: () => this.hide(), type: "button" }, h("duet-icon", { key: '92b2e5fd52e4206c00acfd56e0d515d08e4527b1', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xx-small" }), h("duet-visually-hidden", { key: '738da11657cbac3ed52ef22490165f4ac76c6ea6' }, text.closeLabel))), h("div", { key: 'e8922fed8ac11149bb603c912d278c0b3843b214', class: "duet-date-dialog-header" }, h("div", { key: 'e922554dbea94dfa70e62983ee6a0b08f8e159d7', class: "duet-date-dialog-dropdowns" }, h("duet-visually-hidden", { key: '873ba9c661e3c280c88fffc510dcceab0b2d5863' }, h("h2", { key: 'c769e12a0c0c668164d25d7864a711d0f9268f09', id: this.dialogLabelId, "aria-live": "polite", "aria-atomic": "true" }, text.monthLabels[focusedMonth], " ", this.focusedDay.getFullYear())), h("duet-visually-hidden", { key: '5941e8d2cd0f5baec6001808c68cb4c51b37db86' }, h("label", { key: 'bee65da8486f65afe8d18e90b1daed308dda8864', htmlFor: this.monthSelectId }, text.monthSelectLabel)), h("div", { key: 'f9fd8b52eaa90fd555d737e2691b51260592101a', class: "duet-date-dialog-select" }, h("select", { key: '83b7003769bf0042228e2ed36ad4118e8f0f1ab2', id: this.monthSelectId, class: "duet-date-month-select", ref: element => (this.monthSelectNode = element), onChange: this.handleMonthSelect }, text.monthLabels.map((month, i) => (h("option", { key: month, value: i, selected: i === focusedMonth, disabled: !inRange(new Date(focusedYear, i, 1), minDate ? startOfMonth(minDate) : null, maxDate ? endOfMonth(maxDate) : null) }, month)))), h("div", { key: '1d9bbde4fcc96fbcaf2d714ecc34a58c755dfc7d', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: '3c4be7bf8fefa6ee1f5cede7eeb34ebfeaae35a1' }, text.monthLabelsShort[focusedMonth]), h("duet-icon", { key: '4eece4a65cb58ba45a30e4fd2cf179d61b05625f', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" }))), h("duet-visually-hidden", { key: '700e9f50a74a6113c33f149427169ae9917badc0' }, h("label", { key: 'c5f8403791830d9b0ad68ed66af8c3f1c26310e3', htmlFor: this.yearSelectId }, text.yearSelectLabel)), h("div", { key: '2c69022a45ab3effd4c907cc6d5c5a508bbb99f7', class: "duet-date-dialog-select" }, h("select", { key: 'fee0495e004775929f7b7aeb66278ac8b4fd003d', id: this.yearSelectId, class: "duet-date-year-select", onChange: this.handleYearSelect }, range(minYear, maxYear).map(year => (h("option", { key: year, selected: year === focusedYear }, year)))), h("div", { key: 'e50ff66c34ee36e965843e68e1fb3d26690ce1ed', class: "duet-date-dialog-select-label", "aria-hidden": "true" }, h("span", { key: '9808b372ac9fea0ce5c51acee5ee407d5906e3f1' }, this.focusedDay.getFullYear()), h("duet-icon", { key: '90c5c74c91d9e3df13e70987f66c2964feca8cf5', name: "action-arrow-down-small", color: "currentColor", margin: "none", size: "xxx-small" })))), h("div", { key: 'f66a8e9e9fba23a7a8c9d871f1ff0bbfa6b39b37', class: "duet-date-dialog-buttons" }, h("duet-action-button", { key: 'fe1df2d1456357c2ae731b66c302c45a33f40d06', accessibleLabel: i18n[this.language].prevMonthLabel, actionName: i18n[this.language].prevMonthLabel, class: "duet-date-dialog-prev", onClick: this.handlePreviousMonthClick, disabled: prevMonthDisabled, "icon-name": "action-arrow-left-small" }, text.prevMonthLabel), h("duet-action-button", { key: '86db10ad2c3d1ab190690ae65d4c778084194089', accessibleLabel: i18n[this.language].nextMonthLabel, actionName: i18n[this.language].nextMonthLabel, class: "duet-date-dialog-next", onClick: this.handleNextMonthClick, disabled: nextMonthDisabled, "icon-name": "action-arrow-right-small" }, text.nextMonthLabel))), h(DatePickerMonth, { key: '741527916476f5959328595373dc3e11b02b0df2', selectedDate: valueAsDate, focusedDate: this.focusedDay, onDateSelect: this.handleDaySelect, onKeyboardNavigation: this.handleKeyboardNavigation, labelledById: this.dialogLabelId, language: this.language, theme: this.theme, min: minDate, max: maxDate, focusedDayRef: element => (this.focusedDayNode = element), onFocusEnter: this.enableActiveFocus, onFocusExit: this.disableActiveFocus })), h(FocusGuard, { key: 'de920ae43a19a7ca9790056fd3a9f51a08039d4f', moveFocusTo: this.closeButtonNode }))));
490
490
  }
491
491
  static get is() { return "duet-date-picker"; }
492
492
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ export class DuetDivider {
32
32
  */
33
33
  render() {
34
34
  const background = getColorByName(this.color);
35
- return (h("div", { key: '99327b6d34622f91cf6916aecf6b544075d53573', class: {
35
+ return (h("div", { key: 'fc0e7562cb30da77115c7a07938f9d586df909d5', class: {
36
36
  "duet-m-0": this.margin === "none",
37
37
  "duet-m-s": this.margin === "small",
38
38
  "duet-divider": true,
@@ -206,7 +206,7 @@ export class DuetEditableTable {
206
206
  * Render Methods
207
207
  */
208
208
  render() {
209
- return (h(Host, { key: '05720c6ef38164df71b02c23fb45d3d84808c2ac', class: {
209
+ return (h(Host, { key: '5b1b28e6321b07a1d385c1945f15b0c110a8b068', class: {
210
210
  [`duet-editable-table-${this.variation}`]: true,
211
211
  "duet-editable-table": true,
212
212
  [`duet-editable-table-${this.theme}`]: true,
@@ -216,7 +216,7 @@ export class DuetEditableTable {
216
216
  "duet-editable-table-actions": !!this.actions,
217
217
  "duet-m-0": this.margin === "none",
218
218
  "duet-theme-turva": this.theme === "turva",
219
- } }, h("duet-table", { key: '52033d6f9c4e8ca460bacee6e2b8ea93da3b9eb8', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, h("table", { key: '7f0689d1e576d5f0c5324715feaf21ce21c42e97', role: this.accessibleRole }, h("caption", { key: '4e18555d5513dde6724a449d12030cc666937367' }, h("slot", { key: 'df9bcd3bde75a2669a08eb2ff0c67720750e5450', name: "tcaption" })), h("thead", { key: 'efbbe81840f6e9ae9e0cc91fee5653c43181f131' }, this.hasHeadSlotFirst && (h("tr", { key: '36d1a860bf16229740501f3b076b02125d1b3d85' }, h("td", { key: '24c22fca3cbfef4ab9e2582cf32bf967654b8b43', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: 'a02148a1d13dc8c3147b26da2f5aa84e3b359cdf', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (h("tr", { key: '7b7ab392f982f5f7ce4caa5e86f7a1062412aad2' }, h("td", { key: 'cd739dea8b81f3290bb86d7e977fa83d124fdd03', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '068a9f86388a25ca00944d8e9ecfbed6cf0e2cfe', name: "thead-last" }))))), h("tbody", { key: 'f65077b6dee57c962826c459ddb044d4230753c5' }, this.renderTableBody()), this.hasFootSlot && (h("tfoot", { key: 'eceeface4ad0a0bbb15dc188a343291cef04ec72' }, h("tr", { key: 'aff41dc81c24e09a03db4742bf6d51c17b8ce937' }, h("td", { key: '5d332218393462356c02ca19ff9c3398fbeb89a7', class: "duet-editable-table-footer-menu", colSpan: 99 }, h("slot", { key: 'b438187cfa67ef90452783e9522d106ecf9ab9d3', name: "tfoot" })))))))));
219
+ } }, h("duet-table", { key: '47a4b4e9d3acf3ca83e70c1aa4e7758e1f6cbbbe', class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint, "hide-head-visually": this.hideHeadVisually }, h("table", { key: '975344f17b9271b8ffa4264751aa2dae69279f45', role: this.accessibleRole }, h("caption", { key: 'e9039bfd4c5bf90f96856d13d993be7f13fa2d73' }, h("slot", { key: '38a7cd2c82e45ebcc080e1e20f3f77aa2a46973d', name: "tcaption" })), h("thead", { key: 'c4a02a18bfae96669f45328f6198dc52f43dd887' }, this.hasHeadSlotFirst && (h("tr", { key: 'af846dfeba040ddec43065803327195bea76a404' }, h("td", { key: 'c002827f8c8c6cce8d8d4415c80e4f39d4bb1ed6', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '5673bc937f4bc87b67f6112f59a1981ff7f02c79', name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (h("tr", { key: '79a45db93db0d6e5e35aade928f23032efdb821b' }, h("td", { key: 'fddd1434bf5a20188be229e5c3d9bde03b8d8dca', class: "duet-editable-table-actions-menu", colSpan: 99 }, h("slot", { key: '53b1ea3494b7e0f39426232f922a040eacf3a0f0', name: "thead-last" }))))), h("tbody", { key: 'b5d38eed528592d29f64f749e1938d0ff5b772b3' }, this.renderTableBody()), this.hasFootSlot && (h("tfoot", { key: 'e2ef34f7d078a7ac7b4a38cd5953b449ce682a23' }, h("tr", { key: '9f2a92be2f425c419abd5fa1a0a7fb763cc0426b' }, h("td", { key: 'da2eeda1f65004cc2c197dad36038dc4a60c2e8e', class: "duet-editable-table-footer-menu", colSpan: 99 }, h("slot", { key: '988c400cb8046f0544293b8e1555f7b213f9def6', name: "tfoot" })))))))));
220
220
  }
221
221
  static get is() { return "duet-editable-table"; }
222
222
  static get encapsulation() { return "shadow"; }
@@ -29,11 +29,11 @@ export class DuetEmptyState {
29
29
  * Always the last one in the class.
30
30
  */
31
31
  render() {
32
- return (h(Host, { key: '53de43734389ae17bb5cbbc201ea8221411a074a' }, h("div", { key: 'fea68b243812a88775a726280481b66fa1126920', class: {
32
+ return (h(Host, { key: '6b61854be0ee8b668d513de66e117b928cb4671b' }, h("div", { key: '62ab8dddad16464e202f9225d080cee855a8193d', class: {
33
33
  "duet-empty-state": true,
34
34
  "duet-theme-turva": this.theme === "turva",
35
35
  "duet-is-small": this.size === "small",
36
- } }, h("duet-icon", { key: '06f82828a03af6f565d8d9713da804c69142ed68', color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), h("div", { key: '1f4ff8862530081a93e9ed5da5db580fc4a310d9' }, h("slot", { key: '0b4a5d2aac8b20b27d08efea357960190a737507' })))));
36
+ } }, h("duet-icon", { key: '237ea5cd85e1be42a856c7b30e14022bb4cd824e', color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), h("div", { key: '9bb0471dfd59d78fc51b71eccce4830d47506a42' }, h("slot", { key: 'cdf540cdcc74733367bfc04d13ec9659bd2adb52' })))));
37
37
  }
38
38
  static get is() { return "duet-empty-state"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -68,20 +68,12 @@ fieldset legend {
68
68
 
69
69
  .duet-fieldset-label {
70
70
  margin-bottom: 12px !important;
71
+ display: flex;
71
72
  margin-top: 8px;
72
73
  }
73
74
  .duet-legend-has-caption .duet-fieldset-label {
74
75
  margin-bottom: 6px !important;
75
76
  }
76
- .duet-legend-has-tooltip .duet-fieldset-label {
77
- padding-right: 36px;
78
- }
79
- @media (min-width: 48em) {
80
- .duet-legend-has-tooltip .duet-fieldset-label {
81
- margin-bottom: 3px !important;
82
- padding-right: 0;
83
- }
84
- }
85
77
  @media (min-width: 48em) {
86
78
  .duet-legend-has-tooltip.duet-legend-has-caption .duet-fieldset-label {
87
79
  margin-bottom: -3px !important;
@@ -114,15 +106,8 @@ fieldset legend {
114
106
  }
115
107
 
116
108
  ::slotted(duet-tooltip) {
117
- position: absolute;
109
+ position: relative;
118
110
  top: 4px;
119
- right: 0;
120
- }
121
- @media (min-width: 48em) {
122
- ::slotted(duet-tooltip) {
123
- position: relative;
124
- right: auto;
125
- }
126
111
  }
127
112
 
128
113
  .duet-legend-hidden {
@@ -75,20 +75,20 @@ export class DuetFieldset {
75
75
  * Always the last one in the class.
76
76
  */
77
77
  render() {
78
- return (h(Host, { key: 'e1a788de39eaef07a1abaa996870dd726b226aee', class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { key: 'e7d2b6ecb24666f6a563d4923bb228bdf7e8820d', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
78
+ return (h(Host, { key: 'ac0f503ac6d41953e774ad46b418c8ea39ff4708', class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { key: 'b564273ca16fac8fbb500ab8bfc9dff72e579770', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
79
79
  // NVDA and VoiceOver do not yet support aria-errormessage
80
80
  // once they do, we can remove errors from the aria-describedby
81
81
  // aria-errormessage={this.error ? this.errorId : null}
82
82
  class: {
83
83
  "duet-fieldset": true,
84
84
  "duet-theme-turva": this.theme === "turva",
85
- } }, h("legend", { key: '9412c1763b18075c6c6d585389c3ac9d22542f64', id: this.labelId }, h(this.labelHeadingLevel, { key: '9c1c5cfef779deef96e68e7f3760f0eeec8d347a' }, this.label), this.caption && h("span", { key: 'd166f280495ee9e156e705fe52455b18c5a13ea2' }, this.caption)), h("div", { key: 'e390d201c421bbd2086946b4548dc98d5c58fead', class: {
85
+ } }, h("legend", { key: '607df92d8f78aaad01e4c80e33c17da55a52e20f', id: this.labelId }, h(this.labelHeadingLevel, { key: '33cee42411e380076885a046790cb8006088c5ed' }, this.label), this.caption && h("span", { key: '52c809bbe842c11a84e7d1a5c3083bfe92472d36' }, this.caption)), h("div", { key: 'aa297b27900d3a28a48bf8102b75e900896393ff', class: {
86
86
  "duet-legend-wrapper": true,
87
87
  "duet-legend-has-caption": !!this.caption,
88
88
  "duet-legend-has-tooltip": this.hasTooltip,
89
89
  "duet-legend-hidden": this.labelHidden,
90
90
  "duet-legend-compact": this.compactLabel,
91
- } }, h("div", { key: '10861fb7ec43cc4aec34ae9b04b1b191dd7a0d5c', class: "duet-fieldset-label" }, h("span", { key: '63b295dc887c75eb4bc062d214bb5b6a899e0f83', "aria-hidden": "true" }, this.label), h("slot", { key: 'dc154b5f9980e99c525884e32f7811e36fe634fc', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (h("div", { key: '1803a70997b3d2de928d501cfb86864bfa3af614', class: "duet-fieldset-caption", "aria-hidden": "true" }, h("duet-caption", { key: 'c574d64b9a375d0af50bc0bed35ea0418139f579', theme: this.theme, margin: "none" }, this.caption)))), h("slot", { key: '48665d8be4d66036d4d69090d7a98ee01f99dbac' }), h("span", { key: '9815f8bf073a39267673baf538de5908b52758e9', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: '93bfa1f3fb33cf3bc23055948b416a18369b8497', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
91
+ } }, h("div", { key: '3af22b271c143a074adee18554408291e3faa660', class: "duet-fieldset-label" }, h("span", { key: '939a883743e233ba83e8ff3328b18842b0c4eae4', "aria-hidden": "true" }, this.label), h("slot", { key: '822892f650b6c0f733cc58a1aee1654e21d1f1f6', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (h("div", { key: 'bc40348b978fc775d1007cdf3949e95d4d3b54e0', class: "duet-fieldset-caption", "aria-hidden": "true" }, h("duet-caption", { key: '3119b1a7963015c24d6324d5de47fc53cdfd748e', theme: this.theme, margin: "none" }, this.caption)))), h("slot", { key: 'fa922540a117205680098064372a70aefc0953ae' }), h("span", { key: 'ad8d4d59379d7a9f89e618754d46404eb5c3c664', class: "duet-fieldset-help duet-fieldset-error", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'c36abae3849393120d72e3781305cb2ce88b384c', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
92
92
  }
93
93
  static get is() { return "duet-fieldset"; }
94
94
  static get encapsulation() { return "shadow"; }
@@ -48,7 +48,7 @@ export class DuetUploadItem {
48
48
  inheritGlobalTheme(this);
49
49
  }
50
50
  render() {
51
- return (h(Host, { key: 'd6f332ceab0e71d4a1d4a31f67d8ebaaa1b2a74e' }, h("duet-visually-hidden", { key: 'd8a1e009bd303b11addfd69cde730a0158e65052', "aria-hidden": "true" }, h("input", { key: 'ed86a42e866d06c423e616b5b2ec3859483874e1', ref: input => {
51
+ return (h(Host, { key: '70aa98d57c2361a70abfd51e859679df65f68027' }, h("duet-visually-hidden", { key: '1c4899794b06709d24d5ff412141bf0e3714a8cb', "aria-hidden": "true" }, h("input", { key: 'ec3827c684ffbb3a4299720ef07f4c8590d0d6ed', ref: input => {
52
52
  this.nativeInput = input;
53
53
  }, type: "file", class: {
54
54
  "duet-upload": true,