@duetds/components 10.3.1 → 10.4.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 (425) hide show
  1. package/hydrate/index.js +329 -264
  2. package/hydrate/index.mjs +329 -264
  3. package/lib/cjs/{a11y-utils-dXXDBTyF.js → a11y-utils-BXDHn_nL.js} +1 -1
  4. package/lib/cjs/{app-globals-CyPV2FZK.js → app-globals-Bs3-XKhd.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +5 -5
  8. package/lib/cjs/duet-banner.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
  14. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +7 -5
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +15 -13
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +26 -9
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -8
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +8 -8
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +14 -7
  31. package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-hero.cjs.entry.js +9 -9
  33. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +17 -13
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +12 -12
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +8 -8
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -16
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +21 -11
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -5
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +10 -8
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +10 -10
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
  70. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +7 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +14 -21
  79. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +9 -9
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +4 -4
  87. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-DQ-I8x2z.js → errorcodes.utils-W6UQ3hgy.js} +1 -1
  93. package/lib/cjs/{focus-utils-DstNW4_h.js → focus-utils-KTKpjKRi.js} +1 -1
  94. package/lib/cjs/{index-B_QTwXEx.js → index-C7Yvi8y8.js} +5 -5
  95. package/lib/cjs/{label-yAj5CKm3.js → label-DZ63Z3SI.js} +1 -1
  96. package/lib/cjs/{language-utils-DjtvVntE.js → language-utils-BsevPDrN.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-YUU0XWn9.js → slot-utils-DIDW777s.js} +2 -2
  99. package/lib/cjs/{themeable-component-h3OzJgCb.js → themeable-component-hQ83w5_A.js} +1 -1
  100. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  101. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  102. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  103. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  104. package/lib/collection/components/duet-chip/duet-chip.js +4 -2
  105. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  106. package/lib/collection/components/duet-choice/duet-choice.js +9 -36
  107. package/lib/collection/components/duet-choice-group/duet-choice-group.js +2 -2
  108. package/lib/collection/components/duet-combobox/duet-combobox.js +22 -5
  109. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  110. package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -1
  111. package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
  112. package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
  113. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  114. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  115. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  116. package/lib/collection/components/duet-grid/duet-grid.css +23 -0
  117. package/lib/collection/components/duet-grid/duet-grid.js +29 -2
  118. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  119. package/lib/collection/components/duet-heading/duet-heading.css +62 -0
  120. package/lib/collection/components/duet-heading/duet-heading.js +40 -2
  121. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  122. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  123. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  124. package/lib/collection/components/duet-input/duet-input.css +11 -2
  125. package/lib/collection/components/duet-input/duet-input.js +11 -7
  126. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  127. package/lib/collection/components/duet-link/duet-link.js +2 -2
  128. package/lib/collection/components/duet-list/duet-list.js +1 -1
  129. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  130. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  131. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  132. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  133. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  134. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  135. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  136. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  137. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  138. package/lib/collection/components/duet-multiselect/duet-multiselect.css +11 -2
  139. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  140. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  141. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  142. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  143. package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
  144. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  145. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  146. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  147. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  148. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  149. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -3
  150. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  151. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  152. package/lib/collection/components/duet-radio/duet-radio.js +6 -4
  153. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  154. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  155. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  156. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  157. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  158. package/lib/collection/components/duet-select/duet-select.css +11 -2
  159. package/lib/collection/components/duet-select/duet-select.js +5 -5
  160. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  161. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  162. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  163. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  164. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  165. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  166. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  167. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  168. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  169. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  170. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  171. package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
  172. package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -2
  173. package/lib/collection/components/duet-step/duet-step.js +2 -2
  174. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  175. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  176. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  177. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  178. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  179. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  180. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  181. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  182. package/lib/collection/components/duet-table/duet-table.js +2 -2
  183. package/lib/collection/components/duet-textarea/duet-textarea.css +11 -2
  184. package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
  185. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  186. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  187. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  188. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  189. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  190. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  191. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
  192. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  193. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  194. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  195. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  196. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  197. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  198. package/lib/collection/utils/slot-utils.js +1 -1
  199. package/lib/duet/duet.esm.js +1 -1
  200. package/lib/duet/p--fmK3qPb.js +4 -0
  201. package/lib/duet/{p-4b8293b3.entry.js → p-01f3e30c.entry.js} +1 -1
  202. package/lib/duet/p-0395eb34.entry.js +4 -0
  203. package/lib/duet/{p-bfc75bb9.entry.js → p-0453edd0.entry.js} +1 -1
  204. package/lib/duet/p-07aa40df.entry.js +4 -0
  205. package/lib/duet/{p-b9a54319.entry.js → p-07c4b435.entry.js} +1 -1
  206. package/lib/duet/{p-8a28f86e.entry.js → p-0eb0e582.entry.js} +1 -1
  207. package/lib/duet/{p-ce4d9add.entry.js → p-104ddbf2.entry.js} +1 -1
  208. package/lib/duet/{p-0ccecf5b.entry.js → p-12e4e9b6.entry.js} +1 -1
  209. package/lib/duet/{p-fca9c5c4.entry.js → p-13b7f4e0.entry.js} +1 -1
  210. package/lib/duet/{p-c8e520b6.entry.js → p-14d4a45a.entry.js} +1 -1
  211. package/lib/duet/{p-5fb1092c.entry.js → p-1666aeaf.entry.js} +1 -1
  212. package/lib/duet/{p-f55f8bd9.entry.js → p-1705b6cf.entry.js} +1 -1
  213. package/lib/duet/{p-b4c18ee6.entry.js → p-184d53a7.entry.js} +1 -1
  214. package/lib/duet/{p-f15ab3b8.entry.js → p-1bdef0e0.entry.js} +1 -1
  215. package/lib/duet/p-1dcbbd67.entry.js +4 -0
  216. package/lib/duet/{p-301b8664.entry.js → p-1ed82a27.entry.js} +1 -1
  217. package/lib/duet/{p-d8bc628c.entry.js → p-1ee400e7.entry.js} +1 -1
  218. package/lib/duet/p-2168e431.entry.js +4 -0
  219. package/lib/duet/{p-BUWuSkQW.js → p-2HU78SJ-.js} +1 -1
  220. package/lib/duet/{p-3d00efb7.entry.js → p-2d43de54.entry.js} +1 -1
  221. package/lib/duet/{p-ae778cb1.entry.js → p-2e413951.entry.js} +1 -1
  222. package/lib/duet/{p-5c9530f1.entry.js → p-3361387d.entry.js} +1 -1
  223. package/lib/duet/p-3648404d.entry.js +4 -0
  224. package/lib/duet/{p-a6bec2da.entry.js → p-376f9d06.entry.js} +1 -1
  225. package/lib/duet/{p-86166f8d.entry.js → p-3bd45b5b.entry.js} +1 -1
  226. package/lib/duet/{p-b6dc4395.entry.js → p-3c26d300.entry.js} +1 -1
  227. package/lib/duet/{p-a8229728.entry.js → p-428db44b.entry.js} +1 -1
  228. package/lib/duet/p-4420973e.entry.js +4 -0
  229. package/lib/duet/{p-e9c2eb66.entry.js → p-455e8ebe.entry.js} +1 -1
  230. package/lib/duet/{p-162a0691.entry.js → p-46300680.entry.js} +1 -1
  231. package/lib/duet/{p-06f17fe7.entry.js → p-494755d0.entry.js} +1 -1
  232. package/lib/duet/{p-278ef4d8.entry.js → p-4c5a8ed3.entry.js} +1 -1
  233. package/lib/duet/{p-ecf69f6d.entry.js → p-4d39941c.entry.js} +1 -1
  234. package/lib/duet/p-4f7b0699.entry.js +4 -0
  235. package/lib/duet/p-526fa31c.entry.js +4 -0
  236. package/lib/duet/p-58496fb1.entry.js +4 -0
  237. package/lib/duet/p-58a70b3d.entry.js +4 -0
  238. package/lib/duet/{p-245c0535.entry.js → p-592a6542.entry.js} +1 -1
  239. package/lib/duet/p-5c8c691b.entry.js +4 -0
  240. package/lib/duet/p-5dde8fbb.entry.js +4 -0
  241. package/lib/duet/{p-6cffc5b7.entry.js → p-5ffc4081.entry.js} +1 -1
  242. package/lib/duet/{p-2e126e15.entry.js → p-61b6962a.entry.js} +1 -1
  243. package/lib/duet/{p-efa1cd0b.entry.js → p-6988c81c.entry.js} +1 -1
  244. package/lib/duet/{p-f71d04ce.entry.js → p-73ed0008.entry.js} +1 -1
  245. package/lib/duet/{p-3d0a716c.entry.js → p-7a2ca711.entry.js} +1 -1
  246. package/lib/duet/{p-12b2d402.entry.js → p-7a5066b8.entry.js} +1 -1
  247. package/lib/duet/{p-ec689a7c.entry.js → p-7a668cee.entry.js} +1 -1
  248. package/lib/duet/p-7e640c8e.entry.js +4 -0
  249. package/lib/duet/{p-17c063a3.entry.js → p-7eaa1fb5.entry.js} +1 -1
  250. package/lib/duet/p-81332db1.entry.js +4 -0
  251. package/lib/duet/{p-898d5701.entry.js → p-816caa58.entry.js} +1 -1
  252. package/lib/duet/{p-690beb31.entry.js → p-84420fbf.entry.js} +1 -1
  253. package/lib/duet/{p-ed750cdf.entry.js → p-870dc953.entry.js} +1 -1
  254. package/lib/duet/{p-93abd97a.entry.js → p-87bb797c.entry.js} +1 -1
  255. package/lib/duet/p-9d8027aa.entry.js +4 -0
  256. package/lib/duet/{p-B6Z_1gqI.js → p-BW3SZS4F.js} +1 -1
  257. package/lib/duet/{p-CW11pVgw.js → p-Chf7ZRmW.js} +1 -1
  258. package/lib/duet/p-CtBx3Trd.js +4 -0
  259. package/lib/duet/{p-DrqQiRTn.js → p-Cwhi6_oZ.js} +1 -1
  260. package/lib/duet/p-D2EBd3cT.js +4 -0
  261. package/lib/duet/p-DCDM41Ef.js +4 -0
  262. package/lib/duet/{p-DFAnksuG.js → p-DWIjWGAD.js} +1 -1
  263. package/lib/duet/{p-2d963ab0.entry.js → p-a4a1b8e3.entry.js} +1 -1
  264. package/lib/duet/p-a4db8c29.entry.js +4 -0
  265. package/lib/duet/{p-18eada94.entry.js → p-a63327c3.entry.js} +1 -1
  266. package/lib/duet/{p-0cc2921b.entry.js → p-a690a165.entry.js} +1 -1
  267. package/lib/duet/{p-3eba33cd.entry.js → p-a7bb038a.entry.js} +1 -1
  268. package/lib/duet/{p-d7506eaa.entry.js → p-adecab91.entry.js} +1 -1
  269. package/lib/duet/p-af9c8169.entry.js +4 -0
  270. package/lib/duet/{p-d2e74e89.entry.js → p-afd7d87a.entry.js} +1 -1
  271. package/lib/duet/{p-3a45c3a4.entry.js → p-b3ec9b98.entry.js} +1 -1
  272. package/lib/duet/{p-25b4886a.entry.js → p-b64b3e2f.entry.js} +1 -1
  273. package/lib/duet/{p-4856f07c.entry.js → p-bcced6eb.entry.js} +1 -1
  274. package/lib/duet/{p-608ebd47.entry.js → p-c1d4542d.entry.js} +1 -1
  275. package/lib/duet/{p-fe00331c.entry.js → p-c71f6942.entry.js} +1 -1
  276. package/lib/duet/p-c7851c15.entry.js +4 -0
  277. package/lib/duet/{p-234f4365.entry.js → p-cbd1069e.entry.js} +1 -1
  278. package/lib/duet/p-cd4f52a9.entry.js +4 -0
  279. package/lib/duet/{p-5fb783eb.entry.js → p-d0a54e6d.entry.js} +1 -1
  280. package/lib/duet/p-d181c624.entry.js +4 -0
  281. package/lib/duet/{p-de4b0518.entry.js → p-d2c04a7e.entry.js} +1 -1
  282. package/lib/duet/{p-1e168d4b.entry.js → p-d2c91ed0.entry.js} +1 -1
  283. package/lib/duet/p-d3dac8af.entry.js +4 -0
  284. package/lib/duet/{p-968546f6.entry.js → p-dc87f3f4.entry.js} +1 -1
  285. package/lib/duet/{p-d83f38c7.entry.js → p-dfd55180.entry.js} +1 -1
  286. package/lib/duet/{p-44a97d21.entry.js → p-e8bd6dab.entry.js} +1 -1
  287. package/lib/duet/{p-bdf6a296.entry.js → p-e9ed96cf.entry.js} +1 -1
  288. package/lib/duet/p-eab349f2.entry.js +4 -0
  289. package/lib/duet/{p-07b9b6c3.entry.js → p-eebf150c.entry.js} +1 -1
  290. package/lib/duet/{p-806c4ab8.entry.js → p-f210e405.entry.js} +1 -1
  291. package/lib/duet/{p-67b3a01a.entry.js → p-f600e215.entry.js} +1 -1
  292. package/lib/duet/{p-a73b7110.entry.js → p-f652a9c7.entry.js} +1 -1
  293. package/lib/duet/{p-65350441.entry.js → p-fbce84d5.entry.js} +1 -1
  294. package/lib/duet/{p-17413943.entry.js → p-fea479fd.entry.js} +1 -1
  295. package/lib/esm/{a11y-utils-D66Lzlz5.js → a11y-utils-sgAajRY0.js} +1 -1
  296. package/lib/esm/{app-globals-G9KPoeGD.js → app-globals-NNQmI_gc.js} +1 -1
  297. package/lib/esm/duet-action-button.entry.js +3 -3
  298. package/lib/esm/duet-alert.entry.js +4 -4
  299. package/lib/esm/duet-badge.entry.js +5 -5
  300. package/lib/esm/duet-banner.entry.js +3 -3
  301. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  302. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  303. package/lib/esm/duet-button_2.entry.js +4 -4
  304. package/lib/esm/duet-callout.entry.js +5 -5
  305. package/lib/esm/duet-caption_4.entry.js +12 -12
  306. package/lib/esm/duet-card.entry.js +3 -3
  307. package/lib/esm/duet-checkbox.entry.js +3 -3
  308. package/lib/esm/duet-checkmark.entry.js +4 -4
  309. package/lib/esm/duet-chip.entry.js +7 -5
  310. package/lib/esm/duet-choice_2.entry.js +15 -13
  311. package/lib/esm/duet-collapsible.entry.js +3 -3
  312. package/lib/esm/duet-combobox.entry.js +26 -9
  313. package/lib/esm/duet-contact-card.entry.js +5 -5
  314. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  315. package/lib/esm/duet-date-picker.entry.js +7 -7
  316. package/lib/esm/duet-divider_2.entry.js +3 -3
  317. package/lib/esm/duet-editable-table_3.entry.js +8 -8
  318. package/lib/esm/duet-empty-state.entry.js +33 -7
  319. package/lib/esm/duet-fieldset.entry.js +6 -6
  320. package/lib/esm/duet-file-chooser.entry.js +3 -3
  321. package/lib/esm/duet-footer.entry.js +8 -8
  322. package/lib/esm/duet-grid_2.entry.js +14 -7
  323. package/lib/esm/duet-header_2.entry.js +4 -4
  324. package/lib/esm/duet-hero.entry.js +9 -9
  325. package/lib/esm/duet-icon.entry.js +5 -5
  326. package/lib/esm/duet-indicator.entry.js +5 -5
  327. package/lib/esm/duet-input_2.entry.js +17 -13
  328. package/lib/esm/duet-layout.entry.js +7 -7
  329. package/lib/esm/duet-list_2.entry.js +5 -5
  330. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  331. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  332. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  333. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  334. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  335. package/lib/esm/duet-menu-bar.entry.js +6 -6
  336. package/lib/esm/duet-modal.entry.js +12 -12
  337. package/lib/esm/duet-multiselect.entry.js +11 -11
  338. package/lib/esm/duet-nav.entry.js +3 -3
  339. package/lib/esm/duet-notification_2.entry.js +9 -9
  340. package/lib/esm/duet-number-input.entry.js +8 -8
  341. package/lib/esm/duet-overlay.entry.js +3 -3
  342. package/lib/esm/duet-page-heading.entry.js +4 -4
  343. package/lib/esm/duet-pagination_2.entry.js +16 -16
  344. package/lib/esm/duet-panel.entry.js +4 -4
  345. package/lib/esm/duet-phone-input.entry.js +4 -4
  346. package/lib/esm/duet-popup-menu_2.entry.js +21 -11
  347. package/lib/esm/duet-progress.entry.js +3 -3
  348. package/lib/esm/duet-promo-card.entry.js +5 -5
  349. package/lib/esm/duet-radio_2.entry.js +10 -8
  350. package/lib/esm/duet-range-slider.entry.js +6 -6
  351. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  352. package/lib/esm/duet-section-layout.entry.js +4 -4
  353. package/lib/esm/duet-select.entry.js +10 -10
  354. package/lib/esm/duet-shaped-image.entry.js +4 -4
  355. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  356. package/lib/esm/duet-share-chart.entry.js +6 -6
  357. package/lib/esm/duet-show-more.entry.js +5 -5
  358. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  359. package/lib/esm/duet-slideout-link.entry.js +7 -7
  360. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  361. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  362. package/lib/esm/duet-slideout.entry.js +10 -10
  363. package/lib/esm/duet-status-icon.entry.js +7 -3
  364. package/lib/esm/duet-step_2.entry.js +6 -6
  365. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  366. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  367. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  368. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  369. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  370. package/lib/esm/duet-textarea.entry.js +14 -21
  371. package/lib/esm/duet-toggle.entry.js +8 -8
  372. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  373. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  374. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  375. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  376. package/lib/esm/duet-toolbar.entry.js +4 -4
  377. package/lib/esm/duet-tooltip-button_2.entry.js +9 -9
  378. package/lib/esm/duet-tooltip.entry.js +4 -4
  379. package/lib/esm/duet-tray.entry.js +5 -5
  380. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  381. package/lib/esm/duet-upload-item.entry.js +6 -6
  382. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  383. package/lib/esm/duet.js +4 -4
  384. package/lib/esm/{errorcodes.utils-C6zptXiM.js → errorcodes.utils-CqW0-HM8.js} +1 -1
  385. package/lib/esm/{focus-utils-YZ2ticmM.js → focus-utils-Dokkd7xz.js} +1 -1
  386. package/lib/esm/{index-DrqQiRTn.js → index-Cwhi6_oZ.js} +5 -5
  387. package/lib/esm/{label-CnTwCD-3.js → label-CyQlly6Z.js} +1 -1
  388. package/lib/esm/{language-utils-BEG0cFmw.js → language-utils-LZh-sc2s.js} +1 -1
  389. package/lib/esm/loader.js +4 -4
  390. package/lib/esm/{slot-utils-Dzrezpl3.js → slot-utils-CEZnAp61.js} +2 -2
  391. package/lib/esm/{themeable-component-BLql61nC.js → themeable-component-D_FVcjsD.js} +1 -1
  392. package/lib/types/common-types.d.ts +11 -28
  393. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  394. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
  395. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  396. package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
  397. package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
  398. package/lib/types/components.d.ts +72 -6
  399. package/package.json +5 -5
  400. package/lib/duet/p-0a80de40.entry.js +0 -4
  401. package/lib/duet/p-10a326fa.entry.js +0 -4
  402. package/lib/duet/p-162993d2.entry.js +0 -4
  403. package/lib/duet/p-29599dc5.entry.js +0 -4
  404. package/lib/duet/p-2ac11077.entry.js +0 -4
  405. package/lib/duet/p-419b96b6.entry.js +0 -4
  406. package/lib/duet/p-550bfab9.entry.js +0 -4
  407. package/lib/duet/p-5c60eca3.entry.js +0 -4
  408. package/lib/duet/p-6e1b9cc8.entry.js +0 -4
  409. package/lib/duet/p-7ce31e10.entry.js +0 -4
  410. package/lib/duet/p-9172ba70.entry.js +0 -4
  411. package/lib/duet/p-BQVGvl4H.js +0 -4
  412. package/lib/duet/p-CLZq8YfV.js +0 -4
  413. package/lib/duet/p-D2JvSVnG.js +0 -4
  414. package/lib/duet/p-ELbbzMVZ.js +0 -4
  415. package/lib/duet/p-a3ad5622.entry.js +0 -4
  416. package/lib/duet/p-b1d91a91.entry.js +0 -4
  417. package/lib/duet/p-b9be36c8.entry.js +0 -4
  418. package/lib/duet/p-bdae48d3.entry.js +0 -4
  419. package/lib/duet/p-c8d10c67.entry.js +0 -4
  420. package/lib/duet/p-da275568.entry.js +0 -4
  421. package/lib/duet/p-dc5682d8.entry.js +0 -4
  422. package/lib/duet/p-e050ed5c.entry.js +0 -4
  423. package/lib/duet/p-ec5f40a5.entry.js +0 -4
  424. package/lib/duet/p-f68a4a23.entry.js +0 -4
  425. package/lib/duet/p-f8e26f21.entry.js +0 -4
@@ -176,7 +176,9 @@ export class DuetChoice {
176
176
  input.disabled = this.getDisabled();
177
177
  input.id = this.identifier || this.choiceId;
178
178
  input.type = this.type;
179
- input.name = this.name;
179
+ if (input.name !== this.name) {
180
+ input.name = this.name;
181
+ }
180
182
  input.value = this.value;
181
183
  input.checked = this.checked;
182
184
  input.required = this.required;
@@ -422,7 +424,7 @@ export class DuetChoice {
422
424
  * Always the last one in the class.
423
425
  */
424
426
  render() {
425
- return (h(Host, { key: '20fca5910765c8cca647f5632a5b922957ab3295', class: {
427
+ return (h(Host, { key: 'c4b3a5c501d38245acc5af3e2b9f544bd0bf7072', class: {
426
428
  horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
427
429
  [`horizontal-responsive-${this.groupResponsive}`]: this.groupDirection === "horizontal" && !!this.groupResponsive,
428
430
  "vertical-stretch": this.groupDirection === "horizontal",
@@ -431,10 +433,10 @@ export class DuetChoice {
431
433
  "duet-theme-turva": this.theme === "turva",
432
434
  "no-hover": this.isHovering,
433
435
  disabled: this.getDisabled(),
434
- } }, h("div", { key: 'fd4d2187540b58f67ba2215fb1e92ae80e1bda59', class: {
436
+ } }, h("div", { key: '795598769dac455ce019fafc78a0da012fab367e', class: {
435
437
  "duet-choice-card-flextainer": true,
436
438
  "duet-theme-turva": this.theme === "turva",
437
- } }, h("div", { key: '767518376936e2ac6b0317ed2961c9832a9540f9', class: {
439
+ } }, h("div", { key: '7c2d292a71e2c29410fe1b25b23f21d2331a2441', class: {
438
440
  "duet-choice-card": true,
439
441
  "has-icon": !!this.icon,
440
442
  "has-info": this.hasInfo,
@@ -443,16 +445,16 @@ export class DuetChoice {
443
445
  collapsible: this.collapsible,
444
446
  "collapsible-force-expanded": this.collapsibleForceExpanded,
445
447
  "duet-p-0": this.padding === "none",
446
- } }, h("slot", { key: '3218ec3ce6232219942048b1dc4720e6544d5a8e', name: "choiceinput" }), h("label", { key: '43d66fc0a5fbe3dc91ba24b1b9a61bfe1565c9c4', class: {
448
+ } }, h("slot", { key: '7c8737f5f56691e6d91b1ef6aa88d4d429a91853', name: "choiceinput" }), h("label", { key: '956d1a8a3e617e20822cb45e16510552377c689a', class: {
447
449
  "duet-choice-label": true,
448
450
  "has-before-text": this.hasBeforeText,
449
451
  checked: this.checked,
450
452
  focus: this.focus,
451
453
  disabled: this.getDisabled(),
452
- }, onClick: this.onClick }, this.hasBeforeText && h("slot", { key: '144d416819882f6ef4d1b7e8fc2de04e045e9e6f', name: "before-text" }), this.icon && (h("div", { key: 'adfb01ba2ba8dd118a9780ec2e01db2efa75c0ce', class: "duet-choice-card-icon" }, h("duet-icon", { key: 'abf48b519c4d60cc2ce9923eaf6a1830061a13a6', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h("div", { key: 'ddccee835dbdc2c123fc51ec2ced2539515f5e07', class: "duet-choice-card-text" }, h("div", { key: '68c2770f71856d031a720d03242809bcae202624' }, this.hasLabel ? h("slot", { name: "label" }) : this.label), this.caption && (h("div", { key: '67a7ead271ee52570028c6f2ce64267c9b7e687d' }, h("duet-spacer", { key: 'eb726497b2e68a5ddc43486af8fa621e4a620dd0', size: "xx-small" }), h("duet-caption", { key: '7656a138b5d881f6aaa5ce978816d550d30debd4', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h("div", { key: 'ed0700c59f2e492ba38dd03f1157332ac5794003' }, h("duet-spacer", { key: 'e45435defc128599b911095c8d845a4b19b5085c', size: "xx-small" }), h("slot", { key: 'aff1622080409265769aad87862ad14e6f4e96a1', name: "additional" })))), h("div", { key: '01f506c4af993b10b3f651a4175a3f93288ffac4' }, h("div", { key: '9d328e36a1e61a1ebec8bc5bab0fdbce0ba03cc2', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h("div", { key: 'ebad90b11052d439d9a9c3243fa32a621d770215', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h("button", { key: 'a1d78aab1bd360876936e79ad1c8a00d534ad2d5', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
454
+ }, onClick: this.onClick }, this.hasBeforeText && h("slot", { key: '8e06e00faf592c2217bcdf4125de0a3fbe688226', name: "before-text" }), this.icon && (h("div", { key: 'a03eb510213a5dacea0ea1a8fba5c59e3f7b5adf', class: "duet-choice-card-icon" }, h("duet-icon", { key: '6f1da454489ebc91e044c73bcaa72e4dc0cbc434', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h("div", { key: '7ae5d20c3621b1ea86a08e01752a1501f4c6141f', class: "duet-choice-card-text" }, h("div", { key: '48924d49aa8990d06b898d5e859d3259340424f3' }, this.hasLabel ? h("slot", { name: "label" }) : this.label), this.caption && (h("div", { key: '159e947250b2e752ede4b9e1cc239a17beb56e4a' }, h("duet-spacer", { key: '841d4ceb579eafb87c381f78c4a62d6943480702', size: "xx-small" }), h("duet-caption", { key: 'da80efff2d5db1ac58bcba1074d2acd8ebe49fc4', margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h("div", { key: '990e772b8ed9d22a20f5a6718d5884d49135b6b1' }, h("duet-spacer", { key: '691495c8aeb63a55951a36c28f15bcb049c9d36e', size: "xx-small" }), h("slot", { key: 'ba5ca5f8c750aa685ae9560f482401e315e1700b', name: "additional" })))), h("div", { key: 'a5a27faf19b806f0cbe5d78c751acbc05cd70a4e' }, h("div", { key: '5191f1bc54972485f2850139cf7dedb0c66e0f69', class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h("div", { key: 'abe835c0eb8f2917a1e1e87b883d9a43c8883ae6', class: "duet-checkmark" }))))), this.hasInfo && !this.collapsible && (h("button", { key: '232418bd6f978e77039ebea2bdea0388efeae571', ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
453
455
  "duet-choice-info-toggle": true,
454
456
  "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: '8c394a1cc633e65e9f8c9162fbe4c361e37a15f6', class: "duet-choice-info-icon" }, h("duet-icon", { key: '52c25fe2a72346e9efde109af0736ec6673dfc0e', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (h("span", { key: 'dda02c201e7874c64ed98b6b48e30f734bc8ecb8', id: `${this.choiceId}-collapsible-notification`, hidden: true }, this.collapsibleNotification)), this.collapsible || this.hasInfo ? (h("div", { class: this.getClassNames(), id: this.expandId }, h("span", { class: {
457
+ }, 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: 'cd5726ddd6b87acb1c4a8b0661906c4555c8371a', class: "duet-choice-info-icon" }, h("duet-icon", { key: 'd2d3d9bc3e7862c2f01ba3b2ad27dd7662c0a8a4', icon: infoIcon.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible && (h("span", { key: 'eab4a0209ba1f4fe2bb7a4be8971f843a67b77e6', 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
458
  "duet-choice-section-visible": this.collapsible ? this.getExpanded() : this.isInfoOpen,
457
459
  "duet-choice-section-hidden": this.collapsible ? !this.getExpanded() : !this.isInfoOpen,
458
460
  } }, 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));
@@ -1316,32 +1318,3 @@ export class DuetChoice {
1316
1318
  }
1317
1319
  static get elementRef() { return "element"; }
1318
1320
  }
1319
- /*
1320
-
1321
- {this.type === "checkbox" && (
1322
- <input
1323
- class="duet-choice-input"
1324
- type={this.type}
1325
- onFocus={this.onFocus}
1326
- onBlur={this.onBlur}
1327
- onChange={this.onChange}
1328
- disabled={this.getDisabled()}
1329
- required={this.required}
1330
- id={identifier}
1331
- name={this.name}
1332
- value={this.value}
1333
- checked={this.checked}
1334
- aria-label={this.getLabel()}
1335
- aria-controls={this.accessibleControls}
1336
- aria-activedescendant={this.accessibleActiveDescendant}
1337
- aria-labelledby={this.accessibleLabelledBy}
1338
- aria-details={this.accessibleDetails}
1339
- aria-description={this.accessibleDescription}
1340
- aria-owns={this.accessibleOwns}
1341
- aria-describedby={this.getAriaDescribedby()}
1342
- onKeyDown={this.handleKeyDown}
1343
- ref={input => (this.focusableElement = input)}
1344
- ></input>
1345
- )}
1346
-
1347
- */
@@ -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: '76d5ad8cc7a9f59c9ab08932b3e6e6596ff1f9d0', onDuetChange: this.onSelect, onDuetChoiceReady: this.onChoiceReady, class: {
186
+ return (h(Host, { key: '39267534dcf19f7f942ef44d869d302552ad8463', 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: 'ade69113f55cbcc86f0504f857ede704aa4c0075', 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: '388b1ccb2ac2ba51cb35dbe6f9f824183f0d3f0f', slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), h("slot", { key: '104f30e94ea5413347edb6abc1975fcd9ae8ad6c', name: "tooltip", slot: "tooltip" }), h("div", { key: 'af118f2f9fef2e7c2a6aa8d242bdd0cb4001f328', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, h("slot", { key: 'ebb96354e1a32cb4821ad6700e0cdbe1087ee815' })))));
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: '390312b35af123116ec5919b31f61d9499559813', name: "tooltip", slot: "tooltip" }), h("div", { key: 'fb68426f6c7feac6c767511bcaccfb6585515e3e', class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, h("slot", { key: '5b26fd1d7d1239fdcdcb6d736445a6366995c3bc' })))));
194
194
  }
195
195
  static get is() { return "duet-choice-group"; }
196
196
  static get encapsulation() { return "shadow"; }
@@ -20,6 +20,7 @@ export class DuetCombobox {
20
20
  this.activeDescendantId = createID("duet-combobox-active-descendant");
21
21
  this.isAndroidDevice = ((_b = (_a = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.indexOf("android")) > -1 || null;
22
22
  this.isInsideModal = false;
23
+ this.labelClick = false;
23
24
  this.resizeObserver = new ResizeObserver(debounce(entries => {
24
25
  var _a, _b, _c;
25
26
  // otherwise, something is wrong, expecting 1 element only
@@ -104,8 +105,18 @@ export class DuetCombobox {
104
105
  const newValue = e.detail.value;
105
106
  this.inputValue = newValue;
106
107
  };
107
- this.onInputClick = () => {
108
- this.popupMenuController = this.input.nativeInputElement;
108
+ this.onInputClick = e => {
109
+ const composedPath = e.composedPath();
110
+ if (composedPath && composedPath[1].nodeName === "LABEL") {
111
+ this.labelClick = true;
112
+ this.listOpen = false;
113
+ return;
114
+ }
115
+ if (this.labelClick || (composedPath && composedPath[0].nodeName !== "INPUT")) {
116
+ this.labelClick = false;
117
+ this.listOpen = false;
118
+ return;
119
+ }
109
120
  // change listOpen on next tick so popup controller is set when open changes
110
121
  setTimeout(() => {
111
122
  var _a, _b;
@@ -183,7 +194,6 @@ export class DuetCombobox {
183
194
  return;
184
195
  }
185
196
  nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
186
- this.popupMenuController = this.input.nativeInputElement;
187
197
  // change listOpen on next tick so popup controller is set when open changes
188
198
  setTimeout(() => {
189
199
  this.listOpen = true;
@@ -356,7 +366,7 @@ export class DuetCombobox {
356
366
  this.input.chips = this.multiple;
357
367
  this.input.addEventListener("duetChange", this.onInputChange);
358
368
  this.input.addEventListener("duetInput", this.onInputTyping);
359
- this.input.addEventListener("click", this.onInputClick);
369
+ this.element.addEventListener("click", this.onInputClick);
360
370
  //add correct aria attributes to the input element
361
371
  this.input.role = "combobox";
362
372
  this.input.accessibleExpanded = this.listOpen ? "true" : "false";
@@ -366,13 +376,20 @@ export class DuetCombobox {
366
376
  this.element.addEventListener("keydown", this.onKeyDown);
367
377
  connectLanguageChangeObserver(this, { prop: "accessibleLabels", defaults: "accessibleLabelDefaults" });
368
378
  this.processListOpenChange();
379
+ setTimeout(() => {
380
+ var _a;
381
+ const nativeInputElement = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeInputElement;
382
+ if (nativeInputElement && this.popupMenuController !== nativeInputElement) {
383
+ this.popupMenuController = nativeInputElement;
384
+ }
385
+ }, 100);
369
386
  }
370
387
  disconnectedCallback() {
371
388
  if (Build.isServer) {
372
389
  return;
373
390
  }
374
391
  this.input.removeEventListener("duetChange", this.onInputChange);
375
- this.input.removeEventListener("click", this.onInputClick);
392
+ this.element.removeEventListener("click", this.onInputClick);
376
393
  this.element.removeEventListener("keydown", this.onKeyDown);
377
394
  this.resizeObserver.disconnect();
378
395
  disconnectLanguageChangeObserver(this);
@@ -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: 'a08fac4daef7586a885d4556d27260feb027d4fb', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: 'd70cc29e06be46210e3150661f16bcf19fab27b1', class: {
50
+ return (h(Host, { key: 'a29a3dab2ac7fb3079f2c1a159af7f4e7b5c226b', class: { "duet-m-0": this.margin === "none" } }, h("div", { key: '14753b1f4fc3901aa2285d438c612e66619fabb5', 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: '4cde139368ebb252e83638d0634671f2167b14a0' }, this.name && (h("duet-heading", { key: 'c91fe7f5ef066de893cfa2fb4018e9b17e5e66af', class: "name", level: "h3", margin: "none", theme: theme }, this.name)), this.description && (h("duet-paragraph", { key: '9ef8bdab5f11c125115cfa147428327131e6086a', class: "description", margin: "none", theme: theme }, this.description)), this.email && (h("div", { key: 'd07bbb21d8963247655a3b172e26c9f1becc2fd2', class: "email" }, h("duet-icon", { key: 'd25b13911b29302d0eabc8f715e13ff59b473c7f', name: "navigation-message", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: '2765a6cbc0fb671c3cb8a37d7ac2fe578f369cfe', url: `mailto:${this.email}`, accessibleLabel: `Email: ${this.email}`, theme: theme }, this.email))), this.phone && (h("div", { key: 'fcbed4d2a82ed0ee1e90665f5e42f10bfdcaf344', class: "phone" }, h("duet-icon", { key: '17233a8a4863c68255e207c23de3667437bd1177', name: "form-tel", size: "x-small", color: "primary-dark", margin: "none", theme: theme }), h("duet-link", { key: '0a49811728ddfd13096701fe9d33c54722554107', url: `tel:${this.phone}`, accessibleLabel: `${this.phoneLabel[this.language]}: ${this.phone}`, theme: theme }, this.phone)))), this.buttonUrl && this.buttonText && (h("div", { key: 'eb199cf8f4f83cb7ebebbfb2e791c78b6424091e', class: "call-to-action" }, h("duet-button", { key: 'c8e0d2d72d5b15a74b0d7fd79a595c6ffddf6f7e', variation: "default", icon: this.buttonIcon, fixed: true, margin: "none", url: this.buttonUrl, theme: theme }, this.buttonText))), h("div", { key: '5e2f0915b883c85ad3bca3f54b62347af8250749' }), h("slot", { key: '388383ea2ca2a756a28d13bdbf521cd85094526a' }))));
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' }))));
54
54
  }
55
55
  static get is() { return "duet-contact-card"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -179,7 +179,6 @@
179
179
  pointer-events: none;
180
180
  cursor: not-allowed;
181
181
  background: rgb(245, 248, 250) !important;
182
- border: 0 !important;
183
182
  }
184
183
  .duet-date-button:disabled::before {
185
184
  display: none;
@@ -40,10 +40,63 @@
40
40
  color: rgb(8, 42, 77);
41
41
  text-align: center;
42
42
  background: rgb(245, 248, 250);
43
- border-radius: 4px;
43
+ border-radius: 12px;
44
+ }
45
+ .duet-empty-state.padding-small {
46
+ padding: 36px;
47
+ }
48
+ .duet-empty-state.padding-large {
49
+ padding: 72px;
50
+ }
51
+ .duet-empty-state.warning {
52
+ background: rgb(255, 247, 221);
53
+ }
54
+ .duet-empty-state.duet-no-background {
55
+ background: none;
56
+ }
57
+ .duet-empty-state > div {
58
+ max-width: 800px;
59
+ margin: auto;
60
+ }
61
+ .duet-empty-state .duet-empty-state-heading {
62
+ font-size: 4vw;
63
+ font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
64
+ font-style: normal;
65
+ font-weight: 600;
66
+ line-height: 1.25;
67
+ color: rgb(8, 42, 77);
68
+ letter-spacing: 0;
69
+ }
70
+ @media (max-width: 27.5rem) {
71
+ .duet-empty-state .duet-empty-state-heading {
72
+ font-size: 1.1rem;
73
+ }
74
+ }
75
+ @media (min-width: 28.4090909091rem) {
76
+ .duet-empty-state .duet-empty-state-heading {
77
+ font-size: 1.1363636364rem;
78
+ }
79
+ }
80
+ @container (width < 576px) {
81
+ .duet-empty-state {
82
+ padding: 36px;
83
+ }
84
+ .duet-empty-state.padding-small {
85
+ padding: 28px;
86
+ }
87
+ .duet-empty-state.padding-large {
88
+ padding: 48px;
89
+ }
44
90
  }
45
91
 
46
- .duet-empty-state.duet-theme-turva {
92
+ .duet-theme-turva.duet-empty-state {
47
93
  color: rgb(23, 42, 59);
94
+ }
95
+ .duet-theme-turva.duet-empty-state:not(.warning):not(.duet-no-background) {
48
96
  background: rgb(245, 246, 247);
97
+ }
98
+ .duet-theme-turva.duet-empty-state .duet-empty-state-heading {
99
+ font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
100
+ font-weight: 700;
101
+ color: rgb(23, 42, 59);
49
102
  }
@@ -10,9 +10,26 @@ export class DuetEmptyState {
10
10
  */
11
11
  this.theme = "";
12
12
  /**
13
- * Icon shown in the empty state component.
13
+ * The variation of the empty state component. Use "warning" when the empty state is due to an error.
14
+ */
15
+ this.variation = "default";
16
+ /**
17
+ * Set background to "none" when no background is wanted, e.g. inside a table.
18
+ */
19
+ this.background = "auto";
20
+ /**
21
+ * Icon shown in the empty state component. For warning variation a status icon is always used.
22
+ * Use value "none" for no icon at all.
14
23
  */
15
24
  this.icon = "messaging-question";
25
+ /**
26
+ * Heading to show above the component content
27
+ */
28
+ this.heading = "";
29
+ /**
30
+ * Padding of the empty state component
31
+ */
32
+ this.padding = "medium";
16
33
  /**
17
34
  * The size of the empty state message.
18
35
  */
@@ -24,16 +41,25 @@ export class DuetEmptyState {
24
41
  componentWillLoad() {
25
42
  inheritGlobalTheme(this);
26
43
  }
44
+ getIcon() {
45
+ const size = this.size === "small" ? "large" : "x-large";
46
+ if (this.variation === "warning") {
47
+ return h("duet-status-icon", { variation: "warning", size: size, strong: true });
48
+ }
49
+ return h("duet-icon", { color: "currentColor", name: this.icon, size: size });
50
+ }
27
51
  /**
28
52
  * render() function
29
53
  * Always the last one in the class.
30
54
  */
31
55
  render() {
32
- return (h(Host, { key: '9018087936c4abe5adead5d4fe62991ea84b3dc1' }, h("div", { key: 'a0aa84fb06673f4d741891019a98fd7d4f03b174', class: {
56
+ return (h(Host, { key: '83c41a104ebe8f29f18a2d0754a822981edd2204' }, h("div", { key: 'c2b928a204ec58089c46368f0e7a73f2f6880633', class: {
33
57
  "duet-empty-state": true,
58
+ [this.variation]: true,
59
+ [`padding-${this.padding}`]: true,
34
60
  "duet-theme-turva": this.theme === "turva",
35
- "duet-is-small": this.size === "small",
36
- } }, h("duet-icon", { key: '8d9265fb0946a832c1c386b139b28b775ade9936', color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), h("div", { key: '87abfa72d165e96e3ca1798ab0023e13d540d757' }, h("slot", { key: 'fc437b4821cbc146906f8c33aa06d4718a0584b2' })))));
61
+ "duet-no-background": this.background === "none",
62
+ } }, this.icon !== "none" && this.getIcon(), this.heading && (h("div", { key: '8b6f183f2022ef6a5d00b93cb4b345d93e310d45' }, h("strong", { key: 'fd7369964488e3821b00cbf3493fa873ee5a969e', class: "duet-empty-state-heading" }, this.heading), h("duet-spacer", { key: '7b96f48b9587efa581fc84b2205a32e839e03ee7', size: "x-small" }))), h("div", { key: 'ea6a1f4c70a824c705e8f644f8e58f9768db8317' }, h("slot", { key: '77c8aa58fa27abf0635ea22f22fd7d5c06d151dc' })))));
37
63
  }
38
64
  static get is() { return "duet-empty-state"; }
39
65
  static get encapsulation() { return "shadow"; }
@@ -75,12 +101,58 @@ export class DuetEmptyState {
75
101
  "reflect": false,
76
102
  "defaultValue": "\"\""
77
103
  },
104
+ "variation": {
105
+ "type": "string",
106
+ "attribute": "variation",
107
+ "mutable": false,
108
+ "complexType": {
109
+ "original": "DuetEmptyStateStatus",
110
+ "resolved": "\"default\" | \"warning\"",
111
+ "references": {
112
+ "DuetEmptyStateStatus": {
113
+ "location": "local",
114
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-empty-state/duet-empty-state.tsx",
115
+ "id": "src/components/duet-empty-state/duet-empty-state.tsx::DuetEmptyStateStatus"
116
+ }
117
+ }
118
+ },
119
+ "required": false,
120
+ "optional": false,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": "The variation of the empty state component. Use \"warning\" when the empty state is due to an error."
124
+ },
125
+ "getter": false,
126
+ "setter": false,
127
+ "reflect": false,
128
+ "defaultValue": "\"default\""
129
+ },
130
+ "background": {
131
+ "type": "string",
132
+ "attribute": "background",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "\"auto\" | \"none\"",
136
+ "resolved": "\"auto\" | \"none\"",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "Set background to \"none\" when no background is wanted, e.g. inside a table."
144
+ },
145
+ "getter": false,
146
+ "setter": false,
147
+ "reflect": false,
148
+ "defaultValue": "\"auto\""
149
+ },
78
150
  "icon": {
79
151
  "type": "string",
80
152
  "attribute": "icon",
81
153
  "mutable": false,
82
154
  "complexType": {
83
- "original": "DuetIconName",
155
+ "original": "DuetIconName | \"none\"",
84
156
  "resolved": "string",
85
157
  "references": {
86
158
  "DuetIconName": {
@@ -94,13 +166,59 @@ export class DuetEmptyState {
94
166
  "optional": false,
95
167
  "docs": {
96
168
  "tags": [],
97
- "text": "Icon shown in the empty state component."
169
+ "text": "Icon shown in the empty state component. For warning variation a status icon is always used.\nUse value \"none\" for no icon at all."
98
170
  },
99
171
  "getter": false,
100
172
  "setter": false,
101
173
  "reflect": false,
102
174
  "defaultValue": "\"messaging-question\""
103
175
  },
176
+ "heading": {
177
+ "type": "string",
178
+ "attribute": "heading",
179
+ "mutable": false,
180
+ "complexType": {
181
+ "original": "string",
182
+ "resolved": "string",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": "Heading to show above the component content"
190
+ },
191
+ "getter": false,
192
+ "setter": false,
193
+ "reflect": false,
194
+ "defaultValue": "\"\""
195
+ },
196
+ "padding": {
197
+ "type": "string",
198
+ "attribute": "padding",
199
+ "mutable": false,
200
+ "complexType": {
201
+ "original": "DuetEmptyStatePadding",
202
+ "resolved": "\"large\" | \"medium\" | \"small\"",
203
+ "references": {
204
+ "DuetEmptyStatePadding": {
205
+ "location": "local",
206
+ "path": "/Users/juha-matti.laaksonen/duetds/packages/components/src/components/duet-empty-state/duet-empty-state.tsx",
207
+ "id": "src/components/duet-empty-state/duet-empty-state.tsx::DuetEmptyStatePadding"
208
+ }
209
+ }
210
+ },
211
+ "required": false,
212
+ "optional": false,
213
+ "docs": {
214
+ "tags": [],
215
+ "text": "Padding of the empty state component"
216
+ },
217
+ "getter": false,
218
+ "setter": false,
219
+ "reflect": false,
220
+ "defaultValue": "\"medium\""
221
+ },
104
222
  "size": {
105
223
  "type": "string",
106
224
  "attribute": "size",
@@ -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: '150ed749bb02f820ab14416d153e67cea52dc29e', class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { key: '17055f020b42050cfc12e5954edaac9c6658788e', "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
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,
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: '1cf7a2d88bbcea640fe06e19ce4b2d633be56c3b', id: this.labelId }, h(this.labelHeadingLevel, { key: 'aec7db3663b9cc1c1ac2205ab103c708c56a0573' }, this.label), this.caption && h("span", { key: '849cec9875e1713b0c53ee81ffdcb33b501a78b1' }, this.caption)), h("div", { key: '319c243237ed47fe584e7498514a3f392d9b8b19', class: {
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: {
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: 'c69484583f6027412eb7d50a33af3db48a4b9755', class: "duet-fieldset-label" }, h("span", { key: 'b8df8f29e780738665c0a054399d1d1f97f5e7ea', "aria-hidden": "true" }, this.label), h("slot", { key: '18d94da36179d4ba5b78c3ed6ac83f41d401c067', onSlotchange: this.checkHasTooltip, name: "tooltip" })), this.caption && (h("div", { key: '5ceb8c432f19ab8b18d04ce12f6463e563a7459a', class: "duet-fieldset-caption", "aria-hidden": "true" }, h("duet-caption", { key: 'c6f433f3e47f2e2fdedcbc158d169ab6bea4a0a0', theme: this.theme, margin: "none" }, this.caption)))), h("slot", { key: 'b8a61deb6211c5abbc806d2762088fcedb936873' }), h("span", { key: 'a6c68e7ef61365792b92fc6ef7290d3b3a3cdd65', 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: '4fea45e086a99437a8f7ddc0e1617a3a6046beed', class: { "duet-m-0": this.lastItemIsChip } }, this.error)))));
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)))));
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: '4990de1bf699e3f0daea24f507a9b9e252b11d9a' }, h("duet-visually-hidden", { key: '0a226f6f53a8da89230e81df8be61a2413c44af1', "aria-hidden": "true" }, h("input", { key: 'a8a8e3bfc73847a74ea8dc8dff0da0c16d510e15', ref: input => {
51
+ return (h(Host, { key: '96ed40ea2f9ae846c2ad9654c04511e312933fcd' }, h("duet-visually-hidden", { key: '2092c91fbf71c47a422748e27741c8a2695d4d5f', "aria-hidden": "true" }, h("input", { key: '1e83b554493c852b23e14bd801f8c48a42c8790e', ref: input => {
52
52
  this.nativeInput = input;
53
53
  }, type: "file", class: {
54
54
  "duet-upload": true,
@@ -160,16 +160,16 @@ export class DuetFooter {
160
160
  render() {
161
161
  const text = getLocaleString(i18n, this.language);
162
162
  const copyrightLabel = this.theme === "turva" ? text.turva : text.lahi;
163
- return (h("footer", { key: 'cded4930f82ba556fe630d4295e351cbbb2082e2', class: {
163
+ return (h("footer", { key: '803a027abb0c9d387f880a40cf4fa48cfdc96ab0', class: {
164
164
  "duet-footer": true,
165
165
  "duet-m-0": this.margin === "none",
166
166
  "duet-theme-turva": this.theme === "turva",
167
167
  "duet-footer-simple": this.variation === "simple",
168
- }, "aria-label": this.accessibleLabel }, h("div", { key: '937096c43e34404c84fa15418efd41c5692f6ac1', class: "duet-footer-wrapper" }, this.variation !== "simple" && (h("div", { key: '865c6932f382aba543ca23c1bd4ab5aab4885b0a', class: {
168
+ }, "aria-label": this.accessibleLabel }, h("div", { key: '46da624a2ea71bc94e7029110f2aa4b264e21a0b', class: "duet-footer-wrapper" }, this.variation !== "simple" && (h("div", { key: 'bb5d3de968dc4d893e002294a3ab5106ca3676ad', class: {
169
169
  "duet-footer-top": true,
170
170
  "duet-has-info": this.hasInfoSlot,
171
- }, part: "top" }, h("div", { key: '5a4e9f746ddacca61409f6d398474e142ddffe81', class: "footer-top-logo" }, h("duet-logo", { key: '9a80fbca3c693fdc4a659b4644b0de9ed23c6773', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), h("div", { key: 'ca9651a3a6c65b51931f237bc81d6f95fe779134', class: "footer-top-right-container" }, h("slot", { key: '7c84d38abbbc5618d311e8ef263a4a1aef8ae2b7', name: "info" }), h("div", { key: '488bde039351fbbf7618daaaa071b3420662e317', class: "footer-top-items" }, this.processedItems &&
172
- this.processedItems.map((item, index) => (h(Fragment, null, index > 0 && h("duet-spacer", { size: "x-large", direction: "horizontal" }), h("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), h("slot", { key: '33805ebcfc7766486807318270595db1deedbb24', name: "extra" }), h("p", { key: '90ac218478d2659b7f74bb370d8066fd7ef7cf1c', class: "duet-footer-menu", part: "menu" }, h("span", { key: '957a273602b782e88c3e4bd9ae639a68cfd8b966', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), h("span", { key: 'd96e17ca5743ed26b331ecd377b6210dcf3e5a2a', class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, { key: 'b1495de197bbd8ab5a4ca4c0feddf656e4bfc0b3' }, this.processedMenu.map(item => (h("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (h(Fragment, null, h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h("span", { class: "duet-footer-external" }, h("duet-icon", { icon: newWindowIconSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), h("p", { key: '8be41d3d9944acb6903a6f3caff06d6f8f9cd5cc', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
171
+ }, part: "top" }, h("div", { key: 'a3c27f3c9fbf54263b0e632307fe2ed39aeb9e46', class: "footer-top-logo" }, h("duet-logo", { key: '5f7440b81f78389724830f3e843c71de140ae05d', href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), h("div", { key: 'f0a8b5cdda02fbd0fbff1015320572900e12a16e', class: "footer-top-right-container" }, h("slot", { key: '2c9e48c0350b76dbb74c59cfbca727d1c579b7a5', name: "info" }), h("div", { key: '4df2f42f2dc49b084a94de90de892adac97866c9', class: "footer-top-items" }, this.processedItems &&
172
+ this.processedItems.map((item, index) => (h(Fragment, null, index > 0 && h("duet-spacer", { size: "x-large", direction: "horizontal" }), h("duet-button", { ref: element => this.setDataAttributes(element, item), theme: this.theme, id: item.id, class: "duet-footer-link", variation: "plain", margin: "none", fixed: true, negative: true, url: item.href, external: item.external, icon: this.getTopItemButtonIcon(item), "icon-right": !this.isMessagingLink(item.href), "icon-size": this.isMessagingLink(item.href) ? "medium" : "medium-small", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label)))))))), h("slot", { key: '51d5f56fe14519205709b1cb02bcfa1b87e6a3c2', name: "extra" }), h("p", { key: '3e2b620a21d109d0f4119d5b2a8a1a5c1404ec5c', class: "duet-footer-menu", part: "menu" }, h("span", { key: '9a5becef9ceb454715ee6f560e3f9df8ae72357a', class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), h("span", { key: '34b3c5e0d44b6a0497b7983ddde14380175618cc', class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, { key: 'd7defe3bd130ba7fb71731f71860351dbca3d726' }, this.processedMenu.map(item => (h("a", { ref: element => this.setDataAttributes(element, item), href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) }, item.label, item.external && (h(Fragment, null, h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h("span", { class: "duet-footer-external" }, h("duet-icon", { icon: newWindowIconSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/")))))))), h("p", { key: '4c708db5c94a113edcda458bd9375cdb382a3237', class: "duet-footer-copyright duet-footer-copyright-mobile" }, `${copyrightLabel} ${new Date().getFullYear()}`))));
173
173
  }
174
174
  static get is() { return "duet-footer"; }
175
175
  static get encapsulation() { return "shadow"; }
@@ -389,6 +389,29 @@
389
389
  }
390
390
  }
391
391
 
392
+ :host(.duet-grid-variation-grid.duet-grid-no-row-gap) {
393
+ row-gap: 0;
394
+ }
395
+
396
+ :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {
397
+ column-gap: 0;
398
+ }
399
+ @media (min-width: 48em) {
400
+ :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {
401
+ grid-template-columns: repeat(8, 83px);
402
+ }
403
+ }
404
+ @media (min-width: 62em) {
405
+ :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {
406
+ grid-template-columns: repeat(12, minmax(0, 1fr));
407
+ }
408
+ }
409
+ @media (min-width: 76.25em) {
410
+ :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {
411
+ grid-template-columns: repeat(12, 91.6666666667px);
412
+ }
413
+ }
414
+
392
415
  :host(.duet-grid-variation-grid.duet-grid-template-small) ::slotted(*) {
393
416
  grid-column: 1/span 4;
394
417
  }
@@ -44,6 +44,11 @@ export class DuetGrid {
44
44
  * CSS grid based templates that can be used to create pre-defined layouts.
45
45
  */
46
46
  this.gridTemplate = null;
47
+ /**
48
+ * When gridTemplate is used, gridTemplateGap sets the row and column gaps. With two values the first
49
+ * is row-gap and the second column-gap. Does not apply to button-grid.
50
+ */
51
+ this.gridTemplateGap = "auto";
47
52
  }
48
53
  validateAlignment() {
49
54
  if (this.alignment === "form_distribute") {
@@ -203,7 +208,7 @@ export class DuetGrid {
203
208
  * Always the last one in the class.
204
209
  */
205
210
  render() {
206
- return (h(Host, { key: 'ad66e7c93a876e1c16fcd3e463dfbac854f9572b', class: {
211
+ return (h(Host, { key: 'e83b3b47e6285da96df9121db761bc7c5feddd65', class: {
207
212
  "duet-grid": true,
208
213
  "duet-no-stacking": !this.responsive,
209
214
  "duet-grid-align-top": this.alignment === "top", // flex-start
@@ -230,7 +235,9 @@ export class DuetGrid {
230
235
  "duet-grid-row-reverse": this.rowReverse,
231
236
  [`duet-grid-variation-${this.gridTemplate ? "grid" : "flex"}`]: true,
232
237
  [`duet-grid-template-${this.gridTemplate}`]: true,
233
- } }, h("slot", { key: 'cb6c2453668b0a2ea8b90eb003a61f78585576a0' })));
238
+ "duet-grid-no-row-gap": this.gridTemplateGap.startsWith("none") && this.gridTemplate !== "button-grid",
239
+ "duet-grid-no-column-gap": this.gridTemplateGap.endsWith("none") && this.gridTemplate !== "button-grid",
240
+ } }, h("slot", { key: 'f53c15eef6edec556ff4200a95675a2feb5574e4' })));
234
241
  }
235
242
  static get is() { return "duet-grid"; }
236
243
  static get encapsulation() { return "shadow"; }
@@ -435,6 +442,26 @@ export class DuetGrid {
435
442
  "setter": false,
436
443
  "reflect": false,
437
444
  "defaultValue": "null"
445
+ },
446
+ "gridTemplateGap": {
447
+ "type": "string",
448
+ "attribute": "grid-template-gap",
449
+ "mutable": false,
450
+ "complexType": {
451
+ "original": "\"auto\" | \"none\" | \"auto none\" | \"none auto\"",
452
+ "resolved": "\"auto none\" | \"auto\" | \"none auto\" | \"none\"",
453
+ "references": {}
454
+ },
455
+ "required": false,
456
+ "optional": false,
457
+ "docs": {
458
+ "tags": [],
459
+ "text": "When gridTemplate is used, gridTemplateGap sets the row and column gaps. With two values the first\nis row-gap and the second column-gap. Does not apply to button-grid."
460
+ },
461
+ "getter": false,
462
+ "setter": false,
463
+ "reflect": false,
464
+ "defaultValue": "\"auto\""
438
465
  }
439
466
  };
440
467
  }