@duetds/components 5.4.2 → 6.0.1

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 (261) hide show
  1. package/hydrate/index.js +41 -13
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +5 -3
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +4 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +17 -8
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +10 -2
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +13 -5
  23. package/lib/cjs/duet-hero.cjs.entry.js +3 -2
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +1 -1
  45. package/lib/cjs/{focus-utils-9226aef7.js → focus-utils-fd9066aa.js} +1 -1
  46. package/lib/cjs/{index-60a8ec8a.js → index-782371bf.js} +1 -1
  47. package/lib/cjs/loader.cjs.js +1 -1
  48. package/lib/collection/components/duet-alert/duet-alert.js +5 -3
  49. package/lib/collection/components/duet-choice/duet-choice.css +5 -0
  50. package/lib/collection/components/duet-choice/duet-choice.js +8 -3
  51. package/lib/collection/components/duet-choice-group/duet-choice-group.js +11 -4
  52. package/lib/collection/components/duet-footer/duet-footer.js +28 -2
  53. package/lib/collection/components/duet-header/duet-header.js +30 -4
  54. package/lib/collection/components/duet-heading/duet-heading.css +4 -0
  55. package/lib/collection/components/duet-heading/duet-heading.js +4 -3
  56. package/lib/collection/components/duet-hero/duet-hero.js +4 -2
  57. package/lib/custom-elements-bundle/index.js +45 -17
  58. package/lib/duet/duet.esm.js +1 -1
  59. package/lib/duet/duet.js +1 -1
  60. package/lib/duet/{p-6e3f764f.system.entry.js → p-00326a18.system.entry.js} +1 -1
  61. package/lib/duet/{p-6f1d6649.entry.js → p-01e852b6.entry.js} +1 -1
  62. package/lib/duet/{p-5f528fa2.entry.js → p-02b954d7.entry.js} +1 -1
  63. package/lib/duet/{p-e3017ffc.entry.js → p-03826c8b.entry.js} +1 -1
  64. package/lib/duet/{p-62303524.system.entry.js → p-044f081d.system.entry.js} +1 -1
  65. package/lib/duet/{p-838ef01e.system.entry.js → p-06384a91.system.entry.js} +1 -1
  66. package/lib/duet/{p-84310e48.system.entry.js → p-0674bacc.system.entry.js} +1 -1
  67. package/lib/duet/{p-f6f30fb7.system.entry.js → p-06fb0807.system.entry.js} +2 -2
  68. package/lib/duet/{p-b2ac632f.system.entry.js → p-07ff2572.system.entry.js} +1 -1
  69. package/lib/duet/p-0992ac3c.system.entry.js +4 -0
  70. package/lib/duet/{p-67ed94fa.system.entry.js → p-0d2f32c1.system.entry.js} +1 -1
  71. package/lib/duet/{p-b004cbd3.entry.js → p-1230cbde.entry.js} +1 -1
  72. package/lib/duet/{p-c694e7fb.system.entry.js → p-136d7507.system.entry.js} +1 -1
  73. package/lib/duet/{p-fdb0277c.system.entry.js → p-1371eb11.system.entry.js} +1 -1
  74. package/lib/duet/{p-46d9a853.entry.js → p-163eb1ef.entry.js} +1 -1
  75. package/lib/duet/{p-dfd9a9ff.entry.js → p-185593ce.entry.js} +1 -1
  76. package/lib/duet/{p-ea12c081.system.entry.js → p-19065f78.system.entry.js} +1 -1
  77. package/lib/duet/{p-aefb80e3.entry.js → p-1b2cbc9a.entry.js} +1 -1
  78. package/lib/duet/{p-6ab6ce4f.system.entry.js → p-1ea75629.system.entry.js} +1 -1
  79. package/lib/duet/{p-2ac07ac9.entry.js → p-22422d69.entry.js} +1 -1
  80. package/lib/duet/{p-70e567e9.entry.js → p-28dbd53d.entry.js} +1 -1
  81. package/lib/duet/{p-e358c599.entry.js → p-294c5ef8.entry.js} +1 -1
  82. package/lib/duet/{p-817ef07d.system.entry.js → p-2bbd194f.system.entry.js} +1 -1
  83. package/lib/duet/{p-bf8f3b14.entry.js → p-32cbeb94.entry.js} +1 -1
  84. package/lib/duet/{p-65821960.entry.js → p-345abbb7.entry.js} +1 -1
  85. package/lib/duet/{p-f661ebf9.system.entry.js → p-34b39449.system.entry.js} +1 -1
  86. package/lib/duet/p-3630c99b.entry.js +4 -0
  87. package/lib/duet/{p-309e3417.system.js → p-369257a1.system.js} +1 -1
  88. package/lib/duet/p-41c9677e.entry.js +4 -0
  89. package/lib/duet/{p-a91bb73d.entry.js → p-443ec645.entry.js} +1 -1
  90. package/lib/duet/{p-526e6d8e.system.entry.js → p-47ddb203.system.entry.js} +1 -1
  91. package/lib/duet/{p-675d713b.entry.js → p-4828a9d7.entry.js} +1 -1
  92. package/lib/duet/{p-99bf8545.js → p-4b71d359.js} +1 -1
  93. package/lib/duet/{p-98ca5a08.system.entry.js → p-4d5428f3.system.entry.js} +2 -2
  94. package/lib/duet/{p-8e1cf2fb.system.entry.js → p-4f39beb8.system.entry.js} +1 -1
  95. package/lib/duet/p-50068109.entry.js +4 -0
  96. package/lib/duet/{p-64cbe9b7.system.entry.js → p-52ccd386.system.entry.js} +1 -1
  97. package/lib/duet/{p-451adbf4.entry.js → p-56ab2e17.entry.js} +1 -1
  98. package/lib/duet/{p-bc24eeda.entry.js → p-56e5aa53.entry.js} +1 -1
  99. package/lib/duet/{p-56a80c32.system.entry.js → p-5836fb8d.system.entry.js} +1 -1
  100. package/lib/duet/{p-9205c79a.system.entry.js → p-59018c03.system.entry.js} +1 -1
  101. package/lib/duet/{p-8bf92f1e.system.entry.js → p-5964b2cf.system.entry.js} +1 -1
  102. package/lib/duet/{p-bec4d094.system.entry.js → p-5a5a3749.system.entry.js} +1 -1
  103. package/lib/duet/{p-77e3591e.entry.js → p-5bbda980.entry.js} +1 -1
  104. package/lib/duet/{p-97631cdc.entry.js → p-629cca4a.entry.js} +1 -1
  105. package/lib/duet/{p-faf6cfe8.entry.js → p-631db09b.entry.js} +1 -1
  106. package/lib/duet/{p-48a036c1.system.entry.js → p-6635203a.system.entry.js} +1 -1
  107. package/lib/duet/{p-590e8508.entry.js → p-6a405a01.entry.js} +1 -1
  108. package/lib/duet/{p-12606a4b.entry.js → p-6b6b356f.entry.js} +1 -1
  109. package/lib/duet/{p-79948b47.system.entry.js → p-6dafe588.system.entry.js} +1 -1
  110. package/lib/duet/{p-4dd79e38.system.entry.js → p-6e111c28.system.entry.js} +1 -1
  111. package/lib/duet/p-77d5e6c4.entry.js +4 -0
  112. package/lib/duet/p-79742e5d.system.entry.js +4 -0
  113. package/lib/duet/{p-f2dce86d.entry.js → p-7bb54705.entry.js} +1 -1
  114. package/lib/duet/{p-5a5117d4.entry.js → p-7d825baf.entry.js} +1 -1
  115. package/lib/duet/{p-ffadc9ea.system.entry.js → p-7fbecc7e.system.entry.js} +1 -1
  116. package/lib/duet/{p-97130a4c.entry.js → p-85c0701c.entry.js} +1 -1
  117. package/lib/duet/{p-6e64cd02.js → p-8b5df7ef.js} +1 -1
  118. package/lib/duet/{p-ac86999f.system.entry.js → p-90aed783.system.entry.js} +1 -1
  119. package/lib/duet/{p-89f50fd8.system.js → p-925664c5.system.js} +1 -1
  120. package/lib/duet/{p-30fc343d.system.entry.js → p-92dda555.system.entry.js} +1 -1
  121. package/lib/duet/{p-0dbd00e1.system.entry.js → p-9b024702.system.entry.js} +1 -1
  122. package/lib/duet/{p-b70f2ae2.system.entry.js → p-9caa1e99.system.entry.js} +1 -1
  123. package/lib/duet/{p-56f17656.entry.js → p-9e3dffb7.entry.js} +1 -1
  124. package/lib/duet/{p-80d16341.system.entry.js → p-9e9b9a1b.system.entry.js} +1 -1
  125. package/lib/duet/{p-ef2f6881.entry.js → p-9ff7b903.entry.js} +1 -1
  126. package/lib/duet/{p-5ea398eb.entry.js → p-a122e9c2.entry.js} +1 -1
  127. package/lib/duet/p-a31bbc70.entry.js +4 -0
  128. package/lib/duet/p-a7a7f9ee.system.entry.js +4 -0
  129. package/lib/duet/{p-322676e3.system.entry.js → p-aa484907.system.entry.js} +1 -1
  130. package/lib/duet/{p-fe03f359.system.js → p-ad0774b5.system.js} +1 -1
  131. package/lib/duet/{p-2b155bd9.entry.js → p-ad1f9106.entry.js} +1 -1
  132. package/lib/duet/p-b55ed703.entry.js +4 -0
  133. package/lib/duet/p-bce94596.entry.js +4 -0
  134. package/lib/duet/{p-6255147e.system.entry.js → p-bfbd1c92.system.entry.js} +1 -1
  135. package/lib/duet/p-c81dbdd8.system.entry.js +4 -0
  136. package/lib/duet/{p-440e2c47.entry.js → p-c82b473c.entry.js} +1 -1
  137. package/lib/duet/{p-9c9fbda5.system.entry.js → p-c9ae37b1.system.entry.js} +1 -1
  138. package/lib/duet/{p-a03485f8.entry.js → p-d0f47541.entry.js} +1 -1
  139. package/lib/duet/{p-28f87990.entry.js → p-d0f85a74.entry.js} +1 -1
  140. package/lib/duet/{p-67734fad.entry.js → p-d1386178.entry.js} +1 -1
  141. package/lib/duet/{p-c383ceb4.system.entry.js → p-d21f3363.system.entry.js} +1 -1
  142. package/lib/duet/{p-d3d6e75d.entry.js → p-d4474dfa.entry.js} +1 -1
  143. package/lib/duet/{p-9df52009.system.entry.js → p-db3206cb.system.entry.js} +1 -1
  144. package/lib/duet/{p-63aea0dc.system.entry.js → p-db9acbac.system.entry.js} +1 -1
  145. package/lib/duet/{p-f2831cda.system.entry.js → p-ea4225cf.system.entry.js} +1 -1
  146. package/lib/duet/{p-7d0051ea.entry.js → p-fa0f88a4.entry.js} +1 -1
  147. package/lib/duet/{p-e5b22358.entry.js → p-fb0b9a3d.entry.js} +1 -1
  148. package/lib/duet/{p-46b83696.system.entry.js → p-fffc2efd.system.entry.js} +1 -1
  149. package/lib/esm/duet-action-button.entry.js +1 -1
  150. package/lib/esm/duet-alert.entry.js +5 -3
  151. package/lib/esm/duet-badge.entry.js +1 -1
  152. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  153. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  154. package/lib/esm/duet-button_2.entry.js +1 -1
  155. package/lib/esm/duet-caption_4.entry.js +4 -3
  156. package/lib/esm/duet-card.entry.js +1 -1
  157. package/lib/esm/duet-checkbox.entry.js +1 -1
  158. package/lib/esm/duet-choice_2.entry.js +17 -8
  159. package/lib/esm/duet-collapsible.entry.js +1 -1
  160. package/lib/esm/duet-combobox.entry.js +1 -1
  161. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  162. package/lib/esm/duet-date-picker.entry.js +2 -2
  163. package/lib/esm/duet-divider_2.entry.js +1 -1
  164. package/lib/esm/duet-editable-table_3.entry.js +1 -1
  165. package/lib/esm/duet-empty-state.entry.js +1 -1
  166. package/lib/esm/duet-fieldset.entry.js +1 -1
  167. package/lib/esm/duet-footer.entry.js +10 -2
  168. package/lib/esm/duet-grid_2.entry.js +1 -1
  169. package/lib/esm/duet-header_2.entry.js +13 -5
  170. package/lib/esm/duet-hero.entry.js +3 -2
  171. package/lib/esm/duet-icon.entry.js +1 -1
  172. package/lib/esm/duet-input_2.entry.js +1 -1
  173. package/lib/esm/duet-layout.entry.js +1 -1
  174. package/lib/esm/duet-list_2.entry.js +1 -1
  175. package/lib/esm/duet-modal.entry.js +2 -2
  176. package/lib/esm/duet-notification_2.entry.js +1 -1
  177. package/lib/esm/duet-number-input.entry.js +1 -1
  178. package/lib/esm/duet-pagination_2.entry.js +1 -1
  179. package/lib/esm/duet-progress.entry.js +1 -1
  180. package/lib/esm/duet-radio_2.entry.js +1 -1
  181. package/lib/esm/duet-range-slider.entry.js +1 -1
  182. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  183. package/lib/esm/duet-select.entry.js +1 -1
  184. package/lib/esm/duet-step_2.entry.js +1 -1
  185. package/lib/esm/duet-textarea.entry.js +1 -1
  186. package/lib/esm/duet-toggle.entry.js +1 -1
  187. package/lib/esm/duet-tooltip.entry.js +1 -1
  188. package/lib/esm/duet-tray.entry.js +1 -1
  189. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  190. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  191. package/lib/esm/duet.js +1 -1
  192. package/lib/esm/{focus-utils-8dc04c1c.js → focus-utils-f19397eb.js} +1 -1
  193. package/lib/esm/{index-e1964887.js → index-5b851882.js} +1 -1
  194. package/lib/esm/loader.js +1 -1
  195. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  196. package/lib/esm-es5/duet-alert.entry.js +1 -1
  197. package/lib/esm-es5/duet-badge.entry.js +1 -1
  198. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  199. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  200. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  201. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  202. package/lib/esm-es5/duet-card.entry.js +1 -1
  203. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  204. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  205. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  206. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  207. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  208. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  209. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  210. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  211. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  212. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  213. package/lib/esm-es5/duet-footer.entry.js +1 -1
  214. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  215. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  216. package/lib/esm-es5/duet-hero.entry.js +1 -1
  217. package/lib/esm-es5/duet-icon.entry.js +1 -1
  218. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  219. package/lib/esm-es5/duet-layout.entry.js +1 -1
  220. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  221. package/lib/esm-es5/duet-modal.entry.js +1 -1
  222. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  223. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  224. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-progress.entry.js +1 -1
  226. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  227. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  228. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  229. package/lib/esm-es5/duet-select.entry.js +1 -1
  230. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  231. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  232. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  233. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  234. package/lib/esm-es5/duet-tray.entry.js +1 -1
  235. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  236. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  237. package/lib/esm-es5/duet.js +1 -1
  238. package/lib/esm-es5/focus-utils-f19397eb.js +4 -0
  239. package/lib/esm-es5/{index-e1964887.js → index-5b851882.js} +1 -1
  240. package/lib/esm-es5/loader.js +1 -1
  241. package/lib/types/components/duet-alert/duet-alert.d.ts +1 -0
  242. package/lib/types/components/duet-choice/duet-choice.d.ts +4 -0
  243. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
  244. package/lib/types/components/duet-footer/duet-footer.d.ts +11 -0
  245. package/lib/types/components/duet-header/duet-header.d.ts +11 -0
  246. package/lib/types/components/duet-heading/duet-heading.d.ts +2 -2
  247. package/lib/types/components/duet-hero/duet-hero.d.ts +2 -0
  248. package/lib/types/components.d.ts +10 -2
  249. package/package.json +6 -6
  250. package/lib/duet/p-07a2ad03.entry.js +0 -4
  251. package/lib/duet/p-21321528.system.entry.js +0 -4
  252. package/lib/duet/p-33a0c070.system.entry.js +0 -4
  253. package/lib/duet/p-5c1646f2.entry.js +0 -4
  254. package/lib/duet/p-6c5d3def.entry.js +0 -4
  255. package/lib/duet/p-7dfc475d.entry.js +0 -4
  256. package/lib/duet/p-a806d616.entry.js +0 -4
  257. package/lib/duet/p-b28e6872.system.entry.js +0 -4
  258. package/lib/duet/p-c918ce45.system.entry.js +0 -4
  259. package/lib/duet/p-c9f244f6.entry.js +0 -4
  260. package/lib/duet/p-f30eb0fd.entry.js +0 -4
  261. package/lib/esm-es5/focus-utils-8dc04c1c.js +0 -4
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-60a8ec8a.js');
8
+ const index = require('./index-782371bf.js');
9
9
  const tokens_module = require('./tokens.module-ef598645.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-60a8ec8a.js');
8
+ const index = require('./index-782371bf.js');
9
9
 
10
10
  const DuetUploadAriaStatus = class {
11
11
  constructor(hostRef) {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-60a8ec8a.js');
8
+ const index = require('./index-782371bf.js');
9
9
 
10
10
  const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}";
11
11
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-60a8ec8a.js');
6
+ const index = require('./index-782371bf.js');
7
7
  const appGlobals = require('./app-globals-a032b236.js');
8
8
 
9
9
  /*
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-60a8ec8a.js');
6
+ const index = require('./index-782371bf.js');
7
7
 
8
8
  const focusElement = (element) => {
9
9
  if ("setFocus" in element) {
@@ -24,7 +24,7 @@ function _interopNamespace(e) {
24
24
  }
25
25
 
26
26
  const NAMESPACE = 'duet';
27
- const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.5.2"};
27
+ const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"3.0.1"};
28
28
 
29
29
  let scopeId;
30
30
  let contentRef;
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-60a8ec8a.js');
8
+ const index = require('./index-782371bf.js');
9
9
  const appGlobals = require('./app-globals-a032b236.js');
10
10
 
11
11
  /*
@@ -3,9 +3,11 @@
3
3
  */
4
4
  import { Component, Event, h, Host, Prop, State } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
+ import { createID } from "../../utils/create-id";
6
7
  import { getLocaleString } from "../../utils/language-utils";
7
8
  export class DuetAlert {
8
9
  constructor() {
10
+ this.descriptiveId = createID("DuetAlert");
9
11
  /**
10
12
  * Theme of the card.
11
13
  */
@@ -85,7 +87,7 @@ export class DuetAlert {
85
87
  render() {
86
88
  const closeColor = this.theme === "turva" ? "secondary-turva" : "secondary";
87
89
  const role = this.variation === "danger" || this.variation === "warning" ? "alert" : "status";
88
- return (h(Host, { tabindex: "0", class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined },
90
+ return (h(Host, { class: { "duet-theme-turva": this.theme === "turva", "duet-alert-is-dismissed": this.isDismissed }, role: this.announcements ? role : undefined },
89
91
  h("div", { class: {
90
92
  "duet-alert": true,
91
93
  "duet-alert-has-icon": !!this.icon,
@@ -98,10 +100,10 @@ export class DuetAlert {
98
100
  h("div", { class: "duet-alert-container" },
99
101
  this.icon && (h("div", { class: "duet-alert-icon" },
100
102
  h("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))),
101
- h("span", null,
103
+ h("span", { id: this.descriptiveId },
102
104
  h("slot", null))),
103
105
  this.dismissible && (h("div", { class: "duet-alert-dismiss" },
104
- h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
106
+ h("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
105
107
  }
106
108
  static get is() { return "duet-alert"; }
107
109
  static get encapsulation() { return "shadow"; }
@@ -124,6 +124,11 @@
124
124
  border-radius: 4px;
125
125
  transition: background-color 150ms ease;
126
126
  }
127
+ .duet-choice-label.has-before-text .duet-choice-card-icon,
128
+ .duet-choice-label.has-before-text .duet-choice-card-text {
129
+ align-self: flex-start;
130
+ margin-top: 0.25rem;
131
+ }
127
132
  .duet-choice-label > div:last-child {
128
133
  flex: 1;
129
134
  align-self: flex-start;
@@ -11,6 +11,8 @@ import { isEscapeKey, isKeyboardClick, isQuestionKey } from "../../utils/keyboar
11
11
  import { getLanguage, getLocaleString } from "../../utils/language-utils";
12
12
  /**
13
13
  * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot.
14
+ * @slot label - Label content.
15
+ * @slot before-text - Content before text can be for example icons or images.
14
16
  * @slot info - Info content. Anything inserted into this slot is displayed in a collapsible info box.
15
17
  * @slot collapsible_header - header that is only added to collapsible element, this header should be used when the components collapsible area contains additional interactive elements (such as form items) and should be user for a short description of the content below it, it is mandatory for good accessibility to use this - and aria-decribe-by will point to it. If you use the collapsible area with simple text - describe-by will point to this area
16
18
  * @slot additional - Additional content. Anything inserted into this slot is displayed as additional content under the label and caption
@@ -205,6 +207,8 @@ export class DuetChoice {
205
207
  this.hasInfo = !!this.element.querySelector("[slot='info']");
206
208
  this.hasHeader = !!this.element.querySelector('[slot="header"]');
207
209
  this.hasAdditional = !!this.element.querySelector("[slot='additional']");
210
+ this.hasLabel = !!this.element.querySelector("[slot='label']");
211
+ this.hasBeforeText = !!this.element.querySelector("[slot='before-text']");
208
212
  }
209
213
  /**
210
214
  * Component event handling.
@@ -300,11 +304,12 @@ export class DuetChoice {
300
304
  "duet-p-0": this.padding === "none",
301
305
  } },
302
306
  h("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }),
303
- h("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering }, onClick: this.onClick },
307
+ h("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering, "has-before-text": this.hasBeforeText }, onClick: this.onClick },
308
+ this.hasBeforeText && h("slot", { name: "before-text" }),
304
309
  this.icon && (h("div", { class: "duet-choice-card-icon" },
305
310
  h("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))),
306
- h("div", null,
307
- h("div", null, this.label),
311
+ h("div", { class: "duet-choice-card-text" },
312
+ h("div", null, this.hasLabel ? h("slot", { name: "label" }) : this.label),
308
313
  this.caption && (h("div", null,
309
314
  h("duet-spacer", { size: "xx-small" }),
310
315
  h("duet-caption", { margin: "none", selected: this.checked }, this.caption))),
@@ -4,6 +4,7 @@
4
4
  import { Build, Component, Element, h, Host, Prop, Watch } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common/themeable-component";
6
6
  import { findCheckedOption, watchForOptions } from "../../utils/watch-options";
7
+ const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice)";
7
8
  export class DuetChoiceGroup {
8
9
  constructor() {
9
10
  /**
@@ -49,6 +50,9 @@ export class DuetChoiceGroup {
49
50
  * makes sure that contents are stacked vertically on mobile.
50
51
  */
51
52
  this.responsive = false;
53
+ this.getChoices = () => {
54
+ return Array.from(this.element.querySelectorAll(duetChoiceSelector));
55
+ };
52
56
  /**
53
57
  * Component event handling.
54
58
  */
@@ -74,7 +78,7 @@ export class DuetChoiceGroup {
74
78
  }
75
79
  const el = this.element;
76
80
  if (this.value === undefined) {
77
- const choice = findCheckedOption(el, ":scope > duet-choice");
81
+ const choice = findCheckedOption(el, duetChoiceSelector);
78
82
  if (choice !== undefined) {
79
83
  await choice.componentOnReady();
80
84
  if (this.value === undefined) {
@@ -82,10 +86,13 @@ export class DuetChoiceGroup {
82
86
  }
83
87
  }
84
88
  }
85
- this.mutationO = watchForOptions(el, ":scope > duet-choice", newOption => {
89
+ this.mutationO = watchForOptions(el, duetChoiceSelector, newOption => {
86
90
  if (newOption !== undefined) {
87
91
  newOption.componentOnReady().then(() => {
88
- this.value = newOption.value;
92
+ const choices = this.getChoices();
93
+ if (choices.includes(newOption)) {
94
+ this.value = newOption.value;
95
+ }
89
96
  });
90
97
  }
91
98
  else {
@@ -114,7 +121,7 @@ export class DuetChoiceGroup {
114
121
  * Make sure we get all choices first so values are up to date prior
115
122
  * to caching the choice group value
116
123
  */
117
- const choices = Array.from(this.element.querySelectorAll(":scope > duet-choice, :scope .duet-choice-group > duet-choice"));
124
+ const choices = this.getChoices();
118
125
  const { value } = this;
119
126
  let hasChecked = false;
120
127
  // Walk the DOM in reverse order, since the last selected one wins
@@ -94,6 +94,13 @@ export class DuetFooter {
94
94
  this.handleClick(e);
95
95
  this.duetItemClick.emit(e);
96
96
  };
97
+ this.emitDuetEvent = (ev, data) => {
98
+ this.duetEvent.emit({
99
+ component: "duet-footer",
100
+ data,
101
+ originalEvent: ev,
102
+ });
103
+ };
97
104
  }
98
105
  /**
99
106
  * Component lifecycle events.
@@ -127,7 +134,7 @@ export class DuetFooter {
127
134
  this.variation !== "simple" && (h("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })),
128
135
  this.processedItems &&
129
136
  this.variation !== "simple" &&
130
- this.processedItems.map(item => (h("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) },
137
+ this.processedItems.map(item => (h("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) },
131
138
  h("div", { class: "duet-footer-icon" },
132
139
  h("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })),
133
140
  h("span", null, item.label),
@@ -138,7 +145,7 @@ export class DuetFooter {
138
145
  h("slot", { name: "extra" }),
139
146
  h("p", { class: "duet-footer-menu", part: "menu" },
140
147
  h("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`),
141
- h("div", { class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, null, this.processedMenu.map(item => (h("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) },
148
+ h("div", { class: "duet-footer-menu-links" }, this.processedMenu && (h(Fragment, null, this.processedMenu.map(item => (h("a", { 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) },
142
149
  item.label,
143
150
  item.external && (h(Fragment, null,
144
151
  h("duet-visually-hidden", null,
@@ -458,6 +465,25 @@ export class DuetFooter {
458
465
  }
459
466
  }
460
467
  }
468
+ }, {
469
+ "method": "duetEvent",
470
+ "name": "duetEvent",
471
+ "bubbles": true,
472
+ "cancelable": true,
473
+ "composed": true,
474
+ "docs": {
475
+ "tags": [],
476
+ "text": "General event stream for the following events:\nitem: onMouseEnter, onTouchDown;\nmenuItem: onMouseEnter, onTouchDown;.\nYou can prevent\nthe default browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via\n**event.detail.data**."
477
+ },
478
+ "complexType": {
479
+ "original": "DuetFooterChangeEvent",
480
+ "resolved": "{ component: \"duet-footer\"; data: DuetFooterItem | DuetFooterIconItem; originalEvent: Event; }",
481
+ "references": {
482
+ "DuetFooterChangeEvent": {
483
+ "location": "local"
484
+ }
485
+ }
486
+ }
461
487
  }]; }
462
488
  static get elementRef() { return "element"; }
463
489
  static get watchers() { return [{
@@ -330,6 +330,13 @@ export class DuetHeader {
330
330
  }, 300);
331
331
  }
332
332
  };
333
+ this.emitDuetEvent = (ev, data) => {
334
+ this.duetEvent.emit({
335
+ component: "duet-header",
336
+ data,
337
+ originalEvent: ev,
338
+ });
339
+ };
333
340
  }
334
341
  /**
335
342
  * Component lifecycle events.
@@ -589,7 +596,7 @@ export class DuetHeader {
589
596
  !this.openMenu &&
590
597
  item.items &&
591
598
  !item.items.some(s => s.active === true)),
592
- }, href: item.href || "#", id: item.id || `header-item-${itemIndex}`, onClick: event => this.handleItemClick(event, item) },
599
+ }, href: item.href || "#", id: item.id || `header-item-${itemIndex}`, onClick: event => this.handleItemClick(event, item), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item) },
593
600
  item.label,
594
601
  item.badge && h("div", { class: "duet-header-badge" })),
595
602
  item.items &&
@@ -607,7 +614,7 @@ export class DuetHeader {
607
614
  secondLevelItem.items.map(thirdLevelItem => (h("a", { class: {
608
615
  "duet-header-item": true,
609
616
  active: thirdLevelItem.active === true,
610
- }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" },
617
+ }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" },
611
618
  thirdLevelItem.icon && (h("div", { class: "duet-header-icon" },
612
619
  h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))),
613
620
  h("span", null, thirdLevelItem.label),
@@ -644,7 +651,7 @@ export class DuetHeader {
644
651
  skipToLabel(),
645
652
  h("div", { class: "logo-and-segment" },
646
653
  h("div", null, largeLogo()),
647
- this.processedItems && (h(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (h("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" },
654
+ this.processedItems && (h(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (h("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, item), onTouchStart: event => this.emitDuetEvent(event, item), target: item.external ? "_blank" : "_self" },
648
655
  item.icon && (h("div", { class: "duet-header-icon" },
649
656
  h("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))),
650
657
  h("span", null, item.label),
@@ -655,7 +662,7 @@ export class DuetHeader {
655
662
  .map((secondLevelItem, secondLevelItemIndex) => {
656
663
  const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
657
664
  return (h(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
658
- secondLevelItem.items.map(thirdLevelItem => (h("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" },
665
+ secondLevelItem.items.map(thirdLevelItem => (h("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), onMouseEnter: event => this.emitDuetEvent(event, thirdLevelItem), onTouchStart: event => this.emitDuetEvent(event, thirdLevelItem), target: thirdLevelItem.external ? "_blank" : "_self" },
659
666
  thirdLevelItem.icon && (h("div", { class: "duet-header-icon" },
660
667
  h("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))),
661
668
  h("span", null, thirdLevelItem.label),
@@ -1338,6 +1345,25 @@ export class DuetHeader {
1338
1345
  }
1339
1346
  }
1340
1347
  }
1348
+ }, {
1349
+ "method": "duetEvent",
1350
+ "name": "duetEvent",
1351
+ "bubbles": true,
1352
+ "cancelable": true,
1353
+ "composed": true,
1354
+ "docs": {
1355
+ "tags": [],
1356
+ "text": "General event stream for the following events:\nitem: onMouseEnter, onTouchDown;\nmenuItem: onMouseEnter, onTouchDown;.\nYou can prevent\nthe default browser functionality by calling **event.detail.originalEvent.preventDefault()**\ninside your listener. Additionally, the passed data is available via\n**event.detail.data**."
1357
+ },
1358
+ "complexType": {
1359
+ "original": "DuetHeaderChangeEvent",
1360
+ "resolved": "{ originalEvent: Event; data: DuetHeaderItem | DuetHeaderLanguageItem | DuetHeaderSession; component: \"duet-header\"; }",
1361
+ "references": {
1362
+ "DuetHeaderChangeEvent": {
1363
+ "location": "local"
1364
+ }
1365
+ }
1366
+ }
1341
1367
  }]; }
1342
1368
  static get methods() { return {
1343
1369
  "closeMenus": {
@@ -237,6 +237,10 @@
237
237
  .duet-heading.h6.duet-heading-border {
238
238
  padding-bottom: 16px;
239
239
  }
240
+ .duet-heading.duet-normal, .duet-heading.duet-theme-turva.duet-normal {
241
+ font-style: normal !important;
242
+ font-weight: 400 !important;
243
+ }
240
244
  .duet-heading.duet-semibold, .duet-heading.duet-theme-turva.duet-semibold {
241
245
  font-style: normal !important;
242
246
  font-weight: 600 !important;
@@ -20,7 +20,7 @@ export class DuetHeading {
20
20
  */
21
21
  this.border = false;
22
22
  /**
23
- * This property allows you to set semibold font weight for all sizes
23
+ * This property allows you to set normal or semibold font weight for all sizes
24
24
  * when needed.
25
25
  */
26
26
  this.weight = "auto";
@@ -55,6 +55,7 @@ export class DuetHeading {
55
55
  "duet-heading": true,
56
56
  "duet-heading-border": this.border !== false,
57
57
  "duet-heading-border-solid": this.border === "solid",
58
+ "duet-normal": this.weight === "normal",
58
59
  "duet-semibold": this.weight === "semibold",
59
60
  "duet-heading-hyphenate": this.hyphenate,
60
61
  "duet-m-0": this.margin === "none",
@@ -163,7 +164,7 @@ export class DuetHeading {
163
164
  "mutable": false,
164
165
  "complexType": {
165
166
  "original": "DuetHeadingWeight",
166
- "resolved": "\"auto\" | \"semibold\"",
167
+ "resolved": "\"auto\" | \"normal\" | \"semibold\"",
167
168
  "references": {
168
169
  "DuetHeadingWeight": {
169
170
  "location": "local"
@@ -174,7 +175,7 @@ export class DuetHeading {
174
175
  "optional": false,
175
176
  "docs": {
176
177
  "tags": [],
177
- "text": "This property allows you to set semibold font weight for all sizes\nwhen needed."
178
+ "text": "This property allows you to set normal or semibold font weight for all sizes\nwhen needed."
178
179
  },
179
180
  "attribute": "weight",
180
181
  "reflect": false,
@@ -9,6 +9,7 @@ import { getLanguage, getLocaleString } from "../../utils/language-utils";
9
9
  import { parsePossibleJSON } from "../../utils/string-utils";
10
10
  /**
11
11
  * @part duet-hero - piercing selector for styling the hero container
12
+ * @part duet-hero-text - piercing selector for styling the hero text container
12
13
  * @slot default - This is an unamed slot for a text or extra button that is placed after any buttons (or list item)
13
14
  * @slot badge - This is a slot for a status badge that sits next to pre-heading inside the hero component.
14
15
  * @slot bottom - This is a slot for content under the main hero content.
@@ -136,6 +137,7 @@ export class DuetHero {
136
137
  */
137
138
  componentWillLoad() {
138
139
  inheritGlobalTheme(this);
140
+ this.hasHeadingSlot = !!this.element.querySelector('[slot="heading"]');
139
141
  this.refresh();
140
142
  }
141
143
  /**
@@ -214,10 +216,10 @@ export class DuetHero {
214
216
  analyticsId: this.processedBack.analyticsId,
215
217
  }) }, this.processedBack.label))),
216
218
  (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (h("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })),
217
- h("div", { class: "duet-hero-text" },
219
+ h("div", { class: "duet-hero-text", part: "duet-hero-text" },
218
220
  this.preHeading && (h("duet-paragraph", { margin: "none", class: "duet-hero-pre" }, this.preHeading)),
219
221
  h("slot", { name: "badge" }),
220
- h("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: this.variation === "default" ? "gray-lightest" : "", visualLevel: this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1" }, this.heading ? this.heading : h("slot", { name: "heading" })),
222
+ (this.heading || this.hasHeadingSlot) && (h("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: this.variation === "default" ? "gray-lightest" : "", visualLevel: this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1" }, this.heading ? this.heading : h("slot", { name: "heading" }))),
221
223
  this.description && (h("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)),
222
224
  (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (h("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (h("duet-list-item", null,
223
225
  h("span", { slot: "label" }, item.label),