@duetds/components 8.1.4 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/hydrate/index.js +225 -131
  2. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +3 -3
  5. package/lib/cjs/duet-banner.cjs.entry.js +7 -5
  6. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-button_2.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-callout.cjs.entry.js +4 -3
  10. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  11. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  12. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-chip.cjs.entry.js +22 -3
  15. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  17. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  18. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  21. package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
  22. package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -3
  23. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
  28. package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-hero.cjs.entry.js +3 -2
  30. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  31. package/lib/cjs/duet-input_2.cjs.entry.js +9 -5
  32. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +2 -2
  35. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
  37. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +2 -2
  38. package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
  39. package/lib/cjs/duet-modal.cjs.entry.js +18 -5
  40. package/lib/cjs/duet-multiselect.cjs.entry.js +4 -2
  41. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
  46. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +4 -3
  47. package/lib/cjs/duet-popup-menu.cjs.entry.js +14 -13
  48. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -4
  50. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-range-slider.cjs.entry.js +5 -3
  52. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  53. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-select.cjs.entry.js +4 -2
  55. package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
  56. package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  58. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  59. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-slideout.cjs.entry.js +91 -99
  62. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  63. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
  65. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
  66. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  67. package/lib/cjs/duet-textarea.cjs.entry.js +4 -2
  68. package/lib/cjs/duet-toggle.cjs.entry.js +4 -2
  69. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  70. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  71. package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
  72. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  73. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
  74. package/lib/cjs/duet-tooltip.cjs.entry.js +12 -3
  75. package/lib/cjs/duet-tray.cjs.entry.js +2 -2
  76. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  77. package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
  78. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  79. package/lib/cjs/duet.cjs.js +2 -2
  80. package/lib/cjs/{focus-utils-fd4fdee9.js → focus-utils-1780ee53.js} +1 -1
  81. package/lib/cjs/{index-6ea7b876.js → index-8595e0c1.js} +1 -1
  82. package/lib/cjs/loader.cjs.js +2 -2
  83. package/lib/cjs/slot-utils-6c81bd09.js +20 -0
  84. package/lib/cjs/{token-utils-a5356b00.js → token-utils-c672402d.js} +1 -1
  85. package/lib/cjs/{tokens-51cfbe11.js → tokens-c3eecae6.js} +1 -1
  86. package/lib/cjs/{tokens.module-ce5f9579.js → tokens.module-bc323a09.js} +1 -1
  87. package/lib/collection/common/focusable-component.js +1 -0
  88. package/lib/collection/common/opener-component.js +1 -0
  89. package/lib/collection/components/duet-badge/duet-badge.css +1 -0
  90. package/lib/collection/components/duet-badge/duet-badge.js +1 -1
  91. package/lib/collection/components/duet-banner/duet-banner.css +3 -0
  92. package/lib/collection/components/duet-banner/duet-banner.js +8 -1
  93. package/lib/collection/components/duet-button/duet-button.css +1 -0
  94. package/lib/collection/components/duet-button/duet-button.js +2 -2
  95. package/lib/collection/components/duet-callout/duet-callout.css +18 -1
  96. package/lib/collection/components/duet-callout/duet-callout.js +3 -2
  97. package/lib/collection/components/duet-chip/duet-chip.css +2 -2
  98. package/lib/collection/components/duet-chip/duet-chip.js +55 -1
  99. package/lib/collection/components/duet-hero/duet-hero.js +5 -4
  100. package/lib/collection/components/duet-icon/duet-icon.css +1 -0
  101. package/lib/collection/components/duet-icon/duet-icon.js +1 -1
  102. package/lib/collection/components/duet-input/duet-input.js +43 -1
  103. package/lib/collection/components/duet-label/duet-label.css +7 -0
  104. package/lib/collection/components/duet-label/duet-label.js +26 -0
  105. package/lib/collection/components/duet-modal/duet-modal.css +105 -16
  106. package/lib/collection/components/duet-modal/duet-modal.js +40 -3
  107. package/lib/collection/components/duet-multiselect/duet-multiselect.js +43 -1
  108. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +43 -14
  109. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +4 -0
  110. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +20 -1
  111. package/lib/collection/components/duet-promo-card/duet-promo-card.js +8 -1
  112. package/lib/collection/components/duet-range-slider/duet-range-slider.js +43 -1
  113. package/lib/collection/components/duet-select/duet-select.js +43 -1
  114. package/lib/collection/components/duet-slideout/duet-slideout.css +35 -0
  115. package/lib/collection/components/duet-slideout/duet-slideout.js +114 -123
  116. package/lib/collection/components/duet-textarea/duet-textarea.js +43 -1
  117. package/lib/collection/components/duet-toggle/duet-toggle.js +43 -1
  118. package/lib/collection/components/duet-tooltip/duet-tooltip.js +27 -1
  119. package/lib/collection/utils/slot-utils.js +16 -0
  120. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  121. package/lib/dist-custom-elements/duet-alert.js +1 -1
  122. package/lib/dist-custom-elements/duet-badge.js +1 -1
  123. package/lib/dist-custom-elements/duet-banner.js +10 -14
  124. package/lib/dist-custom-elements/duet-breadcrumb.js +3 -3
  125. package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
  126. package/lib/dist-custom-elements/duet-button.js +1 -1
  127. package/lib/dist-custom-elements/duet-callout.js +6 -11
  128. package/lib/dist-custom-elements/duet-caption.js +1 -1
  129. package/lib/dist-custom-elements/duet-card.js +4 -4
  130. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  131. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  132. package/lib/dist-custom-elements/duet-chip.js +25 -4
  133. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  134. package/lib/dist-custom-elements/duet-choice.js +5 -5
  135. package/lib/dist-custom-elements/duet-collapsible.js +3 -3
  136. package/lib/dist-custom-elements/duet-combobox.js +2 -2
  137. package/lib/dist-custom-elements/duet-contact-card.js +8 -8
  138. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  139. package/lib/dist-custom-elements/duet-date-picker.js +12 -12
  140. package/lib/dist-custom-elements/duet-divider.js +1 -1
  141. package/lib/dist-custom-elements/duet-editable-table.js +7 -7
  142. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  143. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  144. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  145. package/lib/dist-custom-elements/duet-footer.js +4 -4
  146. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  147. package/lib/dist-custom-elements/duet-grid.js +1 -1
  148. package/lib/dist-custom-elements/duet-header.js +9 -9
  149. package/lib/dist-custom-elements/duet-heading.js +1 -1
  150. package/lib/dist-custom-elements/duet-hero.js +11 -10
  151. package/lib/dist-custom-elements/duet-icon.js +1 -1
  152. package/lib/dist-custom-elements/duet-input.js +1 -1
  153. package/lib/dist-custom-elements/duet-label.js +1 -1
  154. package/lib/dist-custom-elements/duet-layout.js +1 -1
  155. package/lib/dist-custom-elements/duet-link.js +1 -1
  156. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  157. package/lib/dist-custom-elements/duet-list.js +1 -1
  158. package/lib/dist-custom-elements/duet-logo.js +1 -1
  159. package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
  160. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
  161. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
  162. package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
  163. package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
  164. package/lib/dist-custom-elements/duet-modal.js +24 -10
  165. package/lib/dist-custom-elements/duet-multiselect.js +14 -10
  166. package/lib/dist-custom-elements/duet-nav.js +1 -1
  167. package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
  168. package/lib/dist-custom-elements/duet-notification.js +2 -2
  169. package/lib/dist-custom-elements/duet-number-input.js +11 -11
  170. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  171. package/lib/dist-custom-elements/duet-pagination.js +14 -14
  172. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  173. package/lib/dist-custom-elements/duet-popup-menu-item.js +6 -4
  174. package/lib/dist-custom-elements/duet-popup-menu.js +15 -13
  175. package/lib/dist-custom-elements/duet-progress.js +1 -1
  176. package/lib/dist-custom-elements/duet-promo-card.js +6 -5
  177. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  178. package/lib/dist-custom-elements/duet-radio.js +1 -1
  179. package/lib/dist-custom-elements/duet-range-slider.js +8 -4
  180. package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
  181. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  182. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  183. package/lib/dist-custom-elements/duet-select.js +1 -1
  184. package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
  185. package/lib/dist-custom-elements/duet-show-more.js +5 -5
  186. package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
  187. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  188. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  189. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  190. package/lib/dist-custom-elements/duet-slideout.js +97 -103
  191. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  192. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  193. package/lib/dist-custom-elements/duet-step.js +4 -4
  194. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  195. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  196. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
  197. package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
  198. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  199. package/lib/dist-custom-elements/duet-tab-group.js +13 -13
  200. package/lib/dist-custom-elements/duet-tab.js +1 -1
  201. package/lib/dist-custom-elements/duet-table.js +1 -1
  202. package/lib/dist-custom-elements/duet-textarea.js +15 -11
  203. package/lib/dist-custom-elements/duet-toggle.js +7 -3
  204. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  205. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  206. package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
  207. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  208. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  209. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  210. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  211. package/lib/dist-custom-elements/duet-tray.js +4 -4
  212. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  213. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  214. package/lib/dist-custom-elements/duet-upload.js +18 -18
  215. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  216. package/lib/dist-custom-elements/index.js +1 -1
  217. package/lib/dist-custom-elements/{p-077e5396.js → p-0297efef.js} +10 -10
  218. package/lib/dist-custom-elements/{p-d18ca3d9.js → p-0aef3ad3.js} +2 -2
  219. package/lib/dist-custom-elements/{p-8aaaefdf.js → p-13916d96.js} +2 -2
  220. package/lib/dist-custom-elements/p-15d5aa46.js +60 -0
  221. package/lib/dist-custom-elements/p-188d76d4.js +205 -0
  222. package/lib/dist-custom-elements/{p-19fc0434.js → p-1b55b8aa.js} +1 -1
  223. package/lib/dist-custom-elements/{p-98dcc2eb.js → p-27efc5ff.js} +3 -3
  224. package/lib/dist-custom-elements/{p-5f8459bd.js → p-30fe9f1c.js} +13 -9
  225. package/lib/dist-custom-elements/{p-c9808777.js → p-3bb00966.js} +15 -11
  226. package/lib/dist-custom-elements/{p-9b14643e.js → p-4086f5d7.js} +2 -2
  227. package/lib/dist-custom-elements/{p-36cee998.js → p-5c8435c6.js} +5 -5
  228. package/lib/dist-custom-elements/{p-802e0cd4.js → p-63997028.js} +17 -7
  229. package/lib/dist-custom-elements/{p-9c5b3e92.js → p-679f9f84.js} +1 -1
  230. package/lib/dist-custom-elements/{p-59fdca12.js → p-6a6a112e.js} +2 -2
  231. package/lib/dist-custom-elements/{p-506c2666.js → p-7b59279f.js} +6 -3
  232. package/lib/dist-custom-elements/{p-f91938ae.js → p-80cc1a6e.js} +2 -2
  233. package/lib/dist-custom-elements/{p-1ed786bc.js → p-811f6b14.js} +1 -1
  234. package/lib/dist-custom-elements/{p-4091ca56.js → p-8313084c.js} +1 -1
  235. package/lib/dist-custom-elements/{p-18ec08ac.js → p-8371f4c9.js} +4 -4
  236. package/lib/dist-custom-elements/{p-482e780b.js → p-8aeece22.js} +2 -2
  237. package/lib/dist-custom-elements/{p-0d74f436.js → p-8f9c9ce8.js} +2 -2
  238. package/lib/dist-custom-elements/{p-2eb72ea1.js → p-929cc9d5.js} +1 -1
  239. package/lib/dist-custom-elements/{p-5b14ef9f.js → p-98aea896.js} +1 -1
  240. package/lib/dist-custom-elements/{p-d94a9d9c.js → p-9e103db0.js} +1 -1
  241. package/lib/dist-custom-elements/{p-ff50aff2.js → p-9f454015.js} +3 -3
  242. package/lib/dist-custom-elements/{p-91facf89.js → p-a5057e42.js} +2 -2
  243. package/lib/dist-custom-elements/p-bb24a019.js +18 -0
  244. package/lib/dist-custom-elements/{p-7a6cf439.js → p-d072d3f7.js} +8 -8
  245. package/lib/dist-custom-elements/{p-2941d90a.js → p-d07f9fcc.js} +1 -1
  246. package/lib/dist-custom-elements/{p-2b56c0d7.js → p-d37a3cec.js} +1 -1
  247. package/lib/{esm/tokens-04106a43.js → dist-custom-elements/p-d81ec707.js} +1 -1
  248. package/lib/dist-custom-elements/{p-57e61e85.js → p-d87fd2f0.js} +3 -3
  249. package/lib/dist-custom-elements/{p-7c5f9c80.js → p-dbaac77a.js} +5 -5
  250. package/lib/dist-custom-elements/{p-583ae9d7.js → p-e5e0a9d5.js} +2 -2
  251. package/lib/dist-custom-elements/{p-8c81a26f.js → p-e93fe17b.js} +2 -2
  252. package/lib/dist-custom-elements/{p-d68c9433.js → p-ee518783.js} +1 -1
  253. package/lib/dist-custom-elements/{p-e078836c.js → p-ef9c200e.js} +1 -1
  254. package/lib/dist-custom-elements/{p-bb59b14d.js → p-f992d96f.js} +2 -2
  255. package/lib/duet/duet.esm.js +1 -1
  256. package/lib/duet/duet.js +1 -1
  257. package/lib/duet/{p-4a2adee6.entry.js → p-00af1839.entry.js} +1 -1
  258. package/lib/duet/p-03504efc.entry.js +4 -0
  259. package/lib/duet/{p-4dc81aa3.system.entry.js → p-07639744.system.entry.js} +1 -1
  260. package/lib/duet/{p-b931d3fa.system.entry.js → p-0b1e9389.system.entry.js} +1 -1
  261. package/lib/duet/p-0b2e2097.system.entry.js +4 -0
  262. package/lib/duet/{p-e50ab4d3.system.entry.js → p-0c4251d2.system.entry.js} +1 -1
  263. package/lib/duet/{p-8ec9245a.entry.js → p-0d546b56.entry.js} +1 -1
  264. package/lib/duet/{p-620c416c.entry.js → p-0ee8f124.entry.js} +1 -1
  265. package/lib/duet/p-0f6f152d.entry.js +4 -0
  266. package/lib/duet/{p-b2af386a.system.entry.js → p-0fb3d28c.system.entry.js} +1 -1
  267. package/lib/duet/{p-2c34a804.entry.js → p-1069a865.entry.js} +1 -1
  268. package/lib/duet/{p-78777bcf.entry.js → p-10e05065.entry.js} +1 -1
  269. package/lib/duet/p-13241469.system.entry.js +4 -0
  270. package/lib/duet/{p-cbbe6410.entry.js → p-145de3e0.entry.js} +1 -1
  271. package/lib/duet/{p-e12b3d60.system.js → p-15fde8cc.system.js} +1 -1
  272. package/lib/duet/{p-07c3d88d.entry.js → p-189f31b8.entry.js} +1 -1
  273. package/lib/duet/p-1d3f4925.entry.js +4 -0
  274. package/lib/duet/p-1ebb5d23.entry.js +4 -0
  275. package/lib/duet/{p-1b46db77.entry.js → p-1fcccba8.entry.js} +1 -1
  276. package/lib/duet/{p-906c13df.entry.js → p-204a1ab8.entry.js} +1 -1
  277. package/lib/duet/{p-04c3f872.system.entry.js → p-2073966b.system.entry.js} +1 -1
  278. package/lib/duet/{p-60d0817e.system.entry.js → p-22df3386.system.entry.js} +1 -1
  279. package/lib/duet/{p-c34e419e.system.entry.js → p-23043e9e.system.entry.js} +1 -1
  280. package/lib/duet/{p-9bd338fd.system.js → p-23354cf7.system.js} +1 -1
  281. package/lib/duet/{p-7768931c.system.entry.js → p-26a30f41.system.entry.js} +1 -1
  282. package/lib/duet/{p-4175e48c.system.entry.js → p-26e6c296.system.entry.js} +1 -1
  283. package/lib/duet/{p-2590ca65.system.entry.js → p-2975e980.system.entry.js} +1 -1
  284. package/lib/duet/{p-a020bf81.system.entry.js → p-2f2a6fbf.system.entry.js} +1 -1
  285. package/lib/duet/{p-ce50e4c0.system.entry.js → p-3120a193.system.entry.js} +1 -1
  286. package/lib/duet/{p-2cc17967.system.entry.js → p-31215119.system.entry.js} +1 -1
  287. package/lib/duet/{p-d6938dce.entry.js → p-342a250d.entry.js} +1 -1
  288. package/lib/duet/{p-be3bf41a.system.entry.js → p-3809955c.system.entry.js} +1 -1
  289. package/lib/duet/{p-b7be1375.entry.js → p-39aac14c.entry.js} +1 -1
  290. package/lib/duet/{p-f1faaa0b.system.entry.js → p-3e7d63ff.system.entry.js} +1 -1
  291. package/lib/duet/{p-0360829b.entry.js → p-414cc15d.entry.js} +1 -1
  292. package/lib/duet/{p-f08a7552.system.entry.js → p-4350eaaa.system.entry.js} +1 -1
  293. package/lib/duet/{p-5d6e1173.entry.js → p-462326bc.entry.js} +1 -1
  294. package/lib/duet/p-46bc086c.system.entry.js +4 -0
  295. package/lib/duet/p-485f3748.system.entry.js +4 -0
  296. package/lib/duet/{p-c73db725.system.entry.js → p-508c6401.system.entry.js} +1 -1
  297. package/lib/duet/p-50ebc951.system.entry.js +4 -0
  298. package/lib/duet/{p-d26b9e1f.system.entry.js → p-51b802fe.system.entry.js} +1 -1
  299. package/lib/duet/{p-a9b6b8d5.entry.js → p-5224b8e7.entry.js} +1 -1
  300. package/lib/duet/{p-4b745f4d.entry.js → p-52811ee4.entry.js} +1 -1
  301. package/lib/duet/{p-c65851ca.entry.js → p-529b0ef8.entry.js} +1 -1
  302. package/lib/duet/{p-c45c621f.js → p-52bcdf36.js} +1 -1
  303. package/lib/duet/{p-8f504a32.system.entry.js → p-530dc869.system.entry.js} +2 -2
  304. package/lib/duet/{p-ea5bad4c.entry.js → p-531c259f.entry.js} +1 -1
  305. package/lib/duet/{p-c1e6dcf6.entry.js → p-57a29655.entry.js} +1 -1
  306. package/lib/duet/{p-2c139545.entry.js → p-57b54fc2.entry.js} +1 -1
  307. package/lib/duet/{p-63150ee3.system.entry.js → p-5983c4c1.system.entry.js} +1 -1
  308. package/lib/duet/{p-993f5974.entry.js → p-59d78e4a.entry.js} +1 -1
  309. package/lib/duet/p-5a5fb62b.system.entry.js +4 -0
  310. package/lib/duet/{p-3865240e.system.entry.js → p-5a8c6db7.system.entry.js} +1 -1
  311. package/lib/duet/{p-82461381.system.entry.js → p-5b2d1616.system.entry.js} +1 -1
  312. package/lib/duet/{p-711c2a2b.system.js → p-5b8477c2.system.js} +1 -1
  313. package/lib/duet/{p-fee4d237.system.entry.js → p-5bd11cd6.system.entry.js} +1 -1
  314. package/lib/duet/{p-1a8494b0.system.entry.js → p-5ed4cad9.system.entry.js} +1 -1
  315. package/lib/duet/{p-0142d94d.entry.js → p-600af4ae.entry.js} +1 -1
  316. package/lib/duet/{p-1e0df043.system.entry.js → p-6073f3e6.system.entry.js} +1 -1
  317. package/lib/duet/p-61a76b2b.system.js +4 -0
  318. package/lib/duet/p-61ab4c50.system.entry.js +4 -0
  319. package/lib/duet/{p-103ab767.system.entry.js → p-62a1697f.system.entry.js} +1 -1
  320. package/lib/duet/{p-42959a52.entry.js → p-62cd7e30.entry.js} +1 -1
  321. package/lib/duet/{p-64c8cce6.entry.js → p-62d30a58.entry.js} +1 -1
  322. package/lib/duet/{p-cf6c967a.entry.js → p-6374b7ea.entry.js} +1 -1
  323. package/lib/duet/{p-9f05508d.entry.js → p-641be297.entry.js} +1 -1
  324. package/lib/duet/{p-5b27ed7e.entry.js → p-64737ee3.entry.js} +1 -1
  325. package/lib/duet/{p-c9a6ad4d.entry.js → p-6484d791.entry.js} +1 -1
  326. package/lib/duet/{p-dc4697ce.system.entry.js → p-692d016e.system.entry.js} +1 -1
  327. package/lib/duet/{p-d206ba69.entry.js → p-697addd1.entry.js} +1 -1
  328. package/lib/duet/p-6e53e390.system.entry.js +4 -0
  329. package/lib/duet/{p-702810e3.system.entry.js → p-73ec169a.system.entry.js} +1 -1
  330. package/lib/duet/{p-9894f629.system.entry.js → p-7576d859.system.entry.js} +1 -1
  331. package/lib/duet/{p-582b7fa7.system.entry.js → p-7694b9fa.system.entry.js} +1 -1
  332. package/lib/duet/{p-6bad895a.system.entry.js → p-7b57105a.system.entry.js} +1 -1
  333. package/lib/duet/{p-9b8c4a19.entry.js → p-7bced88e.entry.js} +1 -1
  334. package/lib/duet/{p-441595f6.entry.js → p-7ceb2a64.entry.js} +1 -1
  335. package/lib/duet/p-7d4f3ee9.entry.js +4 -0
  336. package/lib/duet/{p-066f078b.entry.js → p-7f06df0d.entry.js} +1 -1
  337. package/lib/duet/{p-68967bb9.entry.js → p-7fed706e.entry.js} +1 -1
  338. package/lib/duet/{p-6f9e49da.system.entry.js → p-7ff65dc0.system.entry.js} +1 -1
  339. package/lib/duet/{p-60be4608.system.entry.js → p-802d6f86.system.entry.js} +1 -1
  340. package/lib/duet/p-81c39b69.js +4 -0
  341. package/lib/duet/{p-42f92e6f.entry.js → p-8214bafd.entry.js} +1 -1
  342. package/lib/duet/p-876456fd.entry.js +4 -0
  343. package/lib/duet/{p-d189500a.entry.js → p-87653f71.entry.js} +1 -1
  344. package/lib/duet/{p-722a4867.entry.js → p-877c5c97.entry.js} +1 -1
  345. package/lib/duet/p-89aa11c5.system.entry.js +4 -0
  346. package/lib/duet/p-8a08dc1c.system.entry.js +4 -0
  347. package/lib/duet/{p-95ca3440.system.entry.js → p-8b7288e6.system.entry.js} +1 -1
  348. package/lib/duet/{p-b627091f.system.entry.js → p-8c8752c1.system.entry.js} +1 -1
  349. package/lib/duet/{p-314d5b44.entry.js → p-8c9f4ffd.entry.js} +1 -1
  350. package/lib/duet/{p-67eee05e.system.entry.js → p-8ca7b2fa.system.entry.js} +1 -1
  351. package/lib/duet/{p-010986d1.system.entry.js → p-8dbc03c1.system.entry.js} +1 -1
  352. package/lib/duet/{p-f587e799.entry.js → p-90f13f5e.entry.js} +1 -1
  353. package/lib/duet/p-9333f3f2.entry.js +4 -0
  354. package/lib/duet/{p-45a16be3.system.js → p-95eca09b.system.js} +1 -1
  355. package/lib/duet/{p-5cbc1b17.entry.js → p-97c30079.entry.js} +1 -1
  356. package/lib/duet/p-99269e38.system.js +4 -0
  357. package/lib/duet/p-9a43d193.entry.js +4 -0
  358. package/lib/duet/{p-edd0d41d.system.entry.js → p-9a5fd97c.system.entry.js} +1 -1
  359. package/lib/duet/p-9a7c25f2.entry.js +4 -0
  360. package/lib/duet/{p-ee9d7b51.system.entry.js → p-9ad8c8d4.system.entry.js} +1 -1
  361. package/lib/duet/{p-3515cd72.system.entry.js → p-9d328100.system.entry.js} +1 -1
  362. package/lib/duet/{p-18322745.system.entry.js → p-9de27a8f.system.entry.js} +1 -1
  363. package/lib/duet/{p-e5c0b71a.js → p-9dff8650.js} +1 -1
  364. package/lib/duet/{p-1d11b3b6.entry.js → p-9f939b40.entry.js} +1 -1
  365. package/lib/duet/{p-ac6f456f.system.entry.js → p-9fd8cf3b.system.entry.js} +1 -1
  366. package/lib/duet/{p-eadbc1cf.entry.js → p-9fffb1b4.entry.js} +1 -1
  367. package/lib/duet/p-a13bb243.entry.js +4 -0
  368. package/lib/duet/{p-a075ba4d.entry.js → p-a37947f2.entry.js} +1 -1
  369. package/lib/duet/{p-ce0ffc6e.system.entry.js → p-a658fd46.system.entry.js} +1 -1
  370. package/lib/duet/{p-69ba8b52.entry.js → p-a6a7278c.entry.js} +1 -1
  371. package/lib/duet/{p-b2d010fa.entry.js → p-a71dfbc3.entry.js} +1 -1
  372. package/lib/duet/{p-252baa0d.entry.js → p-a7788ac6.entry.js} +1 -1
  373. package/lib/duet/{p-bdbe3e35.system.entry.js → p-a871d5b1.system.entry.js} +1 -1
  374. package/lib/duet/p-a904b928.entry.js +4 -0
  375. package/lib/duet/{p-f866c944.entry.js → p-a9fb2dad.entry.js} +1 -1
  376. package/lib/duet/{p-24edf4ed.entry.js → p-a9fee462.entry.js} +1 -1
  377. package/lib/duet/{p-d94c8c20.entry.js → p-aad8ab06.entry.js} +1 -1
  378. package/lib/duet/{p-db09c828.system.entry.js → p-ac10c490.system.entry.js} +1 -1
  379. package/lib/duet/{p-8ae84c52.entry.js → p-ac607868.entry.js} +1 -1
  380. package/lib/duet/{p-a09af712.system.entry.js → p-acad0f72.system.entry.js} +1 -1
  381. package/lib/duet/p-aefc858d.entry.js +4 -0
  382. package/lib/duet/{p-244387a0.entry.js → p-af1bc725.entry.js} +1 -1
  383. package/lib/duet/{p-6020800c.system.entry.js → p-af4af7bb.system.entry.js} +1 -1
  384. package/lib/duet/p-b099522e.system.entry.js +4 -0
  385. package/lib/duet/{p-2d366120.system.entry.js → p-b1afb239.system.entry.js} +1 -1
  386. package/lib/duet/{p-8e7dc4ed.system.entry.js → p-b1e84ea2.system.entry.js} +1 -1
  387. package/lib/duet/p-b2608fe2.system.entry.js +4 -0
  388. package/lib/duet/p-b2744aa5.entry.js +4 -0
  389. package/lib/duet/{p-1db3121f.system.entry.js → p-b3a4cb83.system.entry.js} +1 -1
  390. package/lib/duet/{p-84031069.entry.js → p-b4ebdbc3.entry.js} +1 -1
  391. package/lib/duet/{p-ab63306b.entry.js → p-b61c49de.entry.js} +1 -1
  392. package/lib/duet/p-bb24a019.js +4 -0
  393. package/lib/duet/{p-600f3cf8.system.entry.js → p-bb507da0.system.entry.js} +1 -1
  394. package/lib/duet/p-c233d99d.entry.js +4 -0
  395. package/lib/duet/{p-ecf9b56e.system.entry.js → p-c2552968.system.entry.js} +1 -1
  396. package/lib/duet/{p-d053b6be.system.entry.js → p-c521eae3.system.entry.js} +1 -1
  397. package/lib/duet/p-d20b8b82.entry.js +4 -0
  398. package/lib/duet/{p-86251661.system.entry.js → p-d241457a.system.entry.js} +1 -1
  399. package/lib/duet/{p-dba6c1ee.entry.js → p-d577a8d9.entry.js} +1 -1
  400. package/lib/duet/{p-90378229.system.entry.js → p-d6b7c83c.system.entry.js} +1 -1
  401. package/lib/duet/{p-5e849463.js → p-d81ec707.js} +1 -1
  402. package/lib/duet/{p-4fe09b26.system.entry.js → p-d9af65c8.system.entry.js} +1 -1
  403. package/lib/duet/{p-7130f6d6.system.entry.js → p-db73a673.system.entry.js} +1 -1
  404. package/lib/duet/{p-261014df.system.entry.js → p-def2db15.system.entry.js} +1 -1
  405. package/lib/duet/{p-426ba263.entry.js → p-e006f206.entry.js} +1 -1
  406. package/lib/duet/{p-98e033d1.entry.js → p-e108f77f.entry.js} +1 -1
  407. package/lib/duet/{p-21774475.system.js → p-e1868c94.system.js} +1 -1
  408. package/lib/duet/{p-954c7df4.system.entry.js → p-e4cec0cd.system.entry.js} +1 -1
  409. package/lib/duet/{p-77e1b69b.entry.js → p-e55b0091.entry.js} +1 -1
  410. package/lib/duet/{p-f781276f.system.entry.js → p-e634de62.system.entry.js} +1 -1
  411. package/lib/duet/{p-645a4cd3.system.entry.js → p-e87e976f.system.entry.js} +1 -1
  412. package/lib/duet/p-e9dc6d6c.entry.js +4 -0
  413. package/lib/duet/{p-53229ab4.system.entry.js → p-ebc55747.system.entry.js} +1 -1
  414. package/lib/duet/p-ecb2cbbf.entry.js +4 -0
  415. package/lib/duet/{p-a2541d8a.entry.js → p-efa1441d.entry.js} +1 -1
  416. package/lib/duet/p-f041d166.entry.js +4 -0
  417. package/lib/duet/{p-b9157c7e.js → p-f2aa1623.js} +1 -1
  418. package/lib/duet/{p-c6b5368b.entry.js → p-f4551b33.entry.js} +1 -1
  419. package/lib/duet/p-f52a6fc5.system.entry.js +4 -0
  420. package/lib/duet/p-f5909e7f.entry.js +4 -0
  421. package/lib/duet/{p-f7e4069c.entry.js → p-f603773e.entry.js} +1 -1
  422. package/lib/duet/{p-e4231291.system.entry.js → p-fd8935c8.system.entry.js} +1 -1
  423. package/lib/duet/{p-ab9b7324.system.entry.js → p-fef7a17b.system.entry.js} +1 -1
  424. package/lib/esm/duet-action-button.entry.js +3 -3
  425. package/lib/esm/duet-alert.entry.js +1 -1
  426. package/lib/esm/duet-badge.entry.js +3 -3
  427. package/lib/esm/duet-banner.entry.js +7 -5
  428. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  429. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  430. package/lib/esm/duet-button_2.entry.js +6 -6
  431. package/lib/esm/duet-callout.entry.js +4 -3
  432. package/lib/esm/duet-caption_4.entry.js +3 -3
  433. package/lib/esm/duet-card.entry.js +3 -3
  434. package/lib/esm/duet-checkbox.entry.js +1 -1
  435. package/lib/esm/duet-checkmark.entry.js +1 -1
  436. package/lib/esm/duet-chip.entry.js +22 -3
  437. package/lib/esm/duet-choice_2.entry.js +2 -2
  438. package/lib/esm/duet-collapsible.entry.js +2 -2
  439. package/lib/esm/duet-combobox.entry.js +1 -1
  440. package/lib/esm/duet-contact-card.entry.js +1 -1
  441. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  442. package/lib/esm/duet-date-picker.entry.js +2 -2
  443. package/lib/esm/duet-divider_2.entry.js +3 -3
  444. package/lib/esm/duet-editable-table_3.entry.js +3 -3
  445. package/lib/esm/duet-empty-state.entry.js +1 -1
  446. package/lib/esm/duet-fieldset.entry.js +1 -1
  447. package/lib/esm/duet-file-chooser.entry.js +1 -1
  448. package/lib/esm/duet-footer.entry.js +1 -1
  449. package/lib/esm/duet-grid_2.entry.js +2 -2
  450. package/lib/esm/duet-header_2.entry.js +3 -3
  451. package/lib/esm/duet-hero.entry.js +3 -2
  452. package/lib/esm/duet-icon.entry.js +5 -5
  453. package/lib/esm/duet-input_2.entry.js +9 -5
  454. package/lib/esm/duet-layout.entry.js +1 -1
  455. package/lib/esm/duet-list_2.entry.js +1 -1
  456. package/lib/esm/duet-menu-bar-button.entry.js +2 -2
  457. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
  458. package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
  459. package/lib/esm/duet-menu-bar-link.entry.js +2 -2
  460. package/lib/esm/duet-menu-bar.entry.js +2 -2
  461. package/lib/esm/duet-modal.entry.js +18 -5
  462. package/lib/esm/duet-multiselect.entry.js +4 -2
  463. package/lib/esm/duet-nav.entry.js +1 -1
  464. package/lib/esm/duet-notification_2.entry.js +1 -1
  465. package/lib/esm/duet-number-input.entry.js +1 -1
  466. package/lib/esm/duet-page-heading.entry.js +1 -1
  467. package/lib/esm/duet-pagination_2.entry.js +3 -3
  468. package/lib/esm/duet-popup-menu-item.entry.js +4 -3
  469. package/lib/esm/duet-popup-menu.entry.js +14 -13
  470. package/lib/esm/duet-progress.entry.js +1 -1
  471. package/lib/esm/duet-promo-card.entry.js +5 -4
  472. package/lib/esm/duet-radio_2.entry.js +1 -1
  473. package/lib/esm/duet-range-slider.entry.js +5 -3
  474. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  475. package/lib/esm/duet-section-layout.entry.js +1 -1
  476. package/lib/esm/duet-select.entry.js +4 -2
  477. package/lib/esm/duet-shaped-image.entry.js +1 -1
  478. package/lib/esm/duet-show-more.entry.js +1 -1
  479. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  480. package/lib/esm/duet-slideout-link.entry.js +1 -1
  481. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  482. package/lib/esm/duet-slideout-panel.entry.js +4 -4
  483. package/lib/esm/duet-slideout.entry.js +92 -100
  484. package/lib/esm/duet-step_2.entry.js +1 -1
  485. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  486. package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
  487. package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
  488. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  489. package/lib/esm/duet-textarea.entry.js +4 -2
  490. package/lib/esm/duet-toggle.entry.js +4 -2
  491. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  492. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  493. package/lib/esm/duet-toolbar-link.entry.js +1 -1
  494. package/lib/esm/duet-toolbar.entry.js +1 -1
  495. package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
  496. package/lib/esm/duet-tooltip.entry.js +12 -3
  497. package/lib/esm/duet-tray.entry.js +2 -2
  498. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  499. package/lib/esm/duet-upload-item.entry.js +1 -1
  500. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  501. package/lib/esm/duet.js +3 -3
  502. package/lib/esm/{focus-utils-8f59f0fc.js → focus-utils-d168d36c.js} +1 -1
  503. package/lib/esm/{index-6a5abb95.js → index-5c989c52.js} +1 -1
  504. package/lib/esm/loader.js +3 -3
  505. package/lib/esm/slot-utils-07ba4363.js +18 -0
  506. package/lib/esm/{token-utils-ece867a8.js → token-utils-d09165bc.js} +1 -1
  507. package/lib/{dist-custom-elements/p-5e849463.js → esm/tokens-30d01e1d.js} +1 -1
  508. package/lib/esm/{tokens.module-7a2f9c49.js → tokens.module-c9866649.js} +1 -1
  509. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  510. package/lib/esm-es5/duet-alert.entry.js +1 -1
  511. package/lib/esm-es5/duet-badge.entry.js +1 -1
  512. package/lib/esm-es5/duet-banner.entry.js +1 -1
  513. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  514. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  515. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  516. package/lib/esm-es5/duet-callout.entry.js +1 -1
  517. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  518. package/lib/esm-es5/duet-card.entry.js +1 -1
  519. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  520. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  521. package/lib/esm-es5/duet-chip.entry.js +1 -1
  522. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  523. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  524. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  525. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  526. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  527. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  528. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  529. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  530. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  531. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  532. package/lib/esm-es5/duet-file-chooser.entry.js +2 -2
  533. package/lib/esm-es5/duet-footer.entry.js +1 -1
  534. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  535. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  536. package/lib/esm-es5/duet-hero.entry.js +2 -2
  537. package/lib/esm-es5/duet-icon.entry.js +1 -1
  538. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  539. package/lib/esm-es5/duet-layout.entry.js +1 -1
  540. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  541. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  542. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  543. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  544. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  545. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  546. package/lib/esm-es5/duet-modal.entry.js +2 -2
  547. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  548. package/lib/esm-es5/duet-nav.entry.js +1 -1
  549. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  550. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  551. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  552. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  553. package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
  554. package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
  555. package/lib/esm-es5/duet-progress.entry.js +1 -1
  556. package/lib/esm-es5/duet-promo-card.entry.js +1 -1
  557. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  558. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  559. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  560. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  561. package/lib/esm-es5/duet-select.entry.js +1 -1
  562. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  563. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  564. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  565. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  566. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  567. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  568. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  569. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  570. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  571. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  572. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  573. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  574. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  575. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  576. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  577. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  578. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  579. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  580. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  581. package/lib/esm-es5/duet-tooltip.entry.js +2 -2
  582. package/lib/esm-es5/duet-tray.entry.js +1 -1
  583. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  584. package/lib/esm-es5/duet-upload-item.entry.js +1 -1
  585. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  586. package/lib/esm-es5/duet.js +1 -1
  587. package/lib/esm-es5/{focus-utils-8f59f0fc.js → focus-utils-d168d36c.js} +1 -1
  588. package/lib/esm-es5/{index-6a5abb95.js → index-5c989c52.js} +1 -1
  589. package/lib/esm-es5/loader.js +1 -1
  590. package/lib/esm-es5/slot-utils-07ba4363.js +4 -0
  591. package/lib/esm-es5/{token-utils-ece867a8.js → token-utils-d09165bc.js} +1 -1
  592. package/lib/esm-es5/{tokens-04106a43.js → tokens-30d01e1d.js} +1 -1
  593. package/lib/esm-es5/{tokens.module-7a2f9c49.js → tokens.module-c9866649.js} +1 -1
  594. package/lib/types/common/focusable-component.d.ts +4 -0
  595. package/lib/types/common/index.d.ts +2 -0
  596. package/lib/types/common/opener-component.d.ts +5 -0
  597. package/lib/types/common-types.d.ts +2 -0
  598. package/lib/types/components/duet-banner/duet-banner.d.ts +5 -0
  599. package/lib/types/components/duet-callout/duet-callout.d.ts +1 -1
  600. package/lib/types/components/duet-chip/duet-chip.d.ts +13 -1
  601. package/lib/types/components/duet-hero/duet-hero.d.ts +3 -3
  602. package/lib/types/components/duet-input/duet-input.d.ts +9 -1
  603. package/lib/types/components/duet-label/duet-label.d.ts +5 -1
  604. package/lib/types/components/duet-modal/duet-modal.d.ts +7 -0
  605. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +9 -1
  606. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +7 -3
  607. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +4 -0
  608. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +6 -0
  609. package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +9 -1
  610. package/lib/types/components/duet-select/duet-select.d.ts +9 -1
  611. package/lib/types/components/duet-slideout/duet-slideout.d.ts +22 -18
  612. package/lib/types/components/duet-textarea/duet-textarea.d.ts +9 -1
  613. package/lib/types/components/duet-toggle/duet-toggle.d.ts +9 -1
  614. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  615. package/lib/types/components.d.ts +160 -6
  616. package/lib/types/utils/slot-utils.d.ts +2 -0
  617. package/package.json +7 -7
  618. package/lib/dist-custom-elements/p-88b5a225.js +0 -205
  619. package/lib/dist-custom-elements/p-b06b80ce.js +0 -60
  620. package/lib/duet/p-00f75643.system.entry.js +0 -4
  621. package/lib/duet/p-0660a9a6.entry.js +0 -4
  622. package/lib/duet/p-088ac559.entry.js +0 -4
  623. package/lib/duet/p-0b2ff6ce.system.entry.js +0 -4
  624. package/lib/duet/p-164be464.entry.js +0 -4
  625. package/lib/duet/p-180c61a0.entry.js +0 -4
  626. package/lib/duet/p-18aaa40c.entry.js +0 -4
  627. package/lib/duet/p-210adc0e.system.entry.js +0 -4
  628. package/lib/duet/p-23914c18.entry.js +0 -4
  629. package/lib/duet/p-2858bbdf.entry.js +0 -4
  630. package/lib/duet/p-38df728c.system.entry.js +0 -4
  631. package/lib/duet/p-41203a2d.entry.js +0 -4
  632. package/lib/duet/p-474f53fe.entry.js +0 -4
  633. package/lib/duet/p-4a130ebf.system.entry.js +0 -4
  634. package/lib/duet/p-4bfc3a15.entry.js +0 -4
  635. package/lib/duet/p-4d3ef5ea.system.entry.js +0 -4
  636. package/lib/duet/p-4e9b4950.entry.js +0 -4
  637. package/lib/duet/p-5373f6cf.system.entry.js +0 -4
  638. package/lib/duet/p-53e33daf.js +0 -4
  639. package/lib/duet/p-594ffed9.entry.js +0 -4
  640. package/lib/duet/p-5eaf9a5e.entry.js +0 -4
  641. package/lib/duet/p-64e16fb9.system.js +0 -4
  642. package/lib/duet/p-7ad157c2.entry.js +0 -4
  643. package/lib/duet/p-9eb39bd3.system.entry.js +0 -4
  644. package/lib/duet/p-ac09ef10.entry.js +0 -4
  645. package/lib/duet/p-bc7e75a7.entry.js +0 -4
  646. package/lib/duet/p-cd13fb8f.system.entry.js +0 -4
  647. package/lib/duet/p-d125d287.system.entry.js +0 -4
  648. package/lib/duet/p-d1a42e5b.system.entry.js +0 -4
  649. package/lib/duet/p-e0aa8284.system.entry.js +0 -4
  650. package/lib/duet/p-e0e5597f.entry.js +0 -4
  651. package/lib/duet/p-e836814b.entry.js +0 -4
  652. package/lib/duet/p-f81647e9.system.entry.js +0 -4
  653. package/lib/duet/p-fb6a8b36.entry.js +0 -4
@@ -140,6 +140,8 @@ export class DuetChip {
140
140
  this.name = undefined;
141
141
  this.checked = false;
142
142
  this.disabled = false;
143
+ this.accessibleExpanded = undefined;
144
+ this.accessiblePopup = "false";
143
145
  }
144
146
  clearOtherRadioButtons() {
145
147
  if (this.variation === "radio" && this.checked) {
@@ -164,6 +166,23 @@ export class DuetChip {
164
166
  disconnectedCallback() {
165
167
  unsubscribeTabbingChange(this);
166
168
  }
169
+ getAccessibleExpanded() {
170
+ if (this.accessibleExpanded != null) {
171
+ return (!!this.accessibleExpanded).toString();
172
+ }
173
+ if (this.popupElement) {
174
+ return this.popupOpen ? "true" : "false";
175
+ }
176
+ return undefined;
177
+ }
178
+ getAccessiblePopup() {
179
+ if (this.popupElement) {
180
+ return "true";
181
+ }
182
+ else {
183
+ return this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined;
184
+ }
185
+ }
167
186
  /**
168
187
  * Sets focus. Use this method instead of the global focus().
169
188
  */
@@ -190,7 +209,7 @@ export class DuetChip {
190
209
  onBlur: this.onBlur,
191
210
  ref: el => (this.focusableElement = el),
192
211
  };
193
- return (h(Host, null, this.variation === "button" && (h("div", { class: classes }, h("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), h("div", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", null)))), this.variation === "input" && (h("div", { class: classes }, h("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), h("div", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", null)), h("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, h("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (h("div", { class: classes }, h("input", Object.assign({ "aria-haspopup": this.popupElement && "menu", "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popupElement ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), h("label", { htmlFor: identifier }, h("div", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), h("slot", null), this.popupElement && (h("div", { class: "duet-chip-popup-disclosure" }, h("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (h("div", { class: classes }, h("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), h("label", { htmlFor: identifier }, h("div", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), h("slot", null))))));
212
+ return (h(Host, null, this.variation === "button" && (h("span", { class: classes }, h("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), h("span", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", null)))), this.variation === "input" && (h("span", { class: classes }, h("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), h("span", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", null)), h("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, h("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (h("span", { class: classes }, h("input", Object.assign({ "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), h("label", { htmlFor: identifier }, h("span", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), h("slot", null), this.popupElement && (h("span", { class: "duet-chip-popup-disclosure" }, h("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (h("span", { class: classes }, h("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), h("label", { htmlFor: identifier }, h("span", { class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), h("slot", null))))));
194
213
  }
195
214
  static get is() { return "duet-chip"; }
196
215
  static get encapsulation() { return "shadow"; }
@@ -398,6 +417,41 @@ export class DuetChip {
398
417
  "attribute": "disabled",
399
418
  "reflect": false,
400
419
  "defaultValue": "false"
420
+ },
421
+ "accessibleExpanded": {
422
+ "type": "boolean",
423
+ "mutable": true,
424
+ "complexType": {
425
+ "original": "boolean",
426
+ "resolved": "boolean",
427
+ "references": {}
428
+ },
429
+ "required": false,
430
+ "optional": false,
431
+ "docs": {
432
+ "tags": [],
433
+ "text": "If the component expands or collapses adjacent content, then use this property\nto add the aria-expanded attribute to the opening element. Set the value to convey\nthe current expanded (true) or collapsed (false) state of the content."
434
+ },
435
+ "attribute": "accessible-expanded",
436
+ "reflect": true
437
+ },
438
+ "accessiblePopup": {
439
+ "type": "string",
440
+ "mutable": true,
441
+ "complexType": {
442
+ "original": "string",
443
+ "resolved": "string",
444
+ "references": {}
445
+ },
446
+ "required": false,
447
+ "optional": false,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": "Use this property to add an aria-haspopup attribute."
451
+ },
452
+ "attribute": "accessible-popup",
453
+ "reflect": true,
454
+ "defaultValue": "\"false\""
401
455
  }
402
456
  };
403
457
  }
@@ -6,6 +6,7 @@ import { h } from "@stencil/core";
6
6
  import { DuetStringsExternalDefaults } from "../../common-strings";
7
7
  import { inheritGlobalTheme } from "../../common/themeable-component";
8
8
  import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
9
+ import { slotElementCheck } from "../../utils/slot-utils";
9
10
  import { parsePossibleJSON } from "../../utils/string-utils";
10
11
  /**
11
12
  * @part duet-hero - piercing selector for styling the hero container
@@ -13,9 +14,9 @@ import { parsePossibleJSON } from "../../utils/string-utils";
13
14
  * @slot default - This is an unamed slot for a text or extra button that is placed after any buttons (or list item)
14
15
  * @slot badge - This is a slot for a status badge that sits next to pre-heading inside the hero component.
15
16
  * @slot bottom - This is a slot for content under the main hero content.
16
- * @slot pre-heading - This is a slot for pre-heading content inside the hero component.
17
- * @slot heading - This is a slot for heading content inside the hero component.
18
- * @slot subheading - This is a slot for heading content inside the hero component. Only usable with campaign, section variations.
17
+ * @slot pre-heading - This is a slot for pre-heading content inside the hero component. Only usable with gray variation. Only span should be used in this slot.
18
+ * @slot heading - This is a slot for heading content inside the hero component. Only span should be used in this slot.
19
+ * @slot subheading - This is a slot for heading content inside the hero component. Only usable with campaign, section variations. Only span should be used in this slot.
19
20
  */
20
21
  export class DuetHero {
21
22
  constructor() {
@@ -178,7 +179,7 @@ export class DuetHero {
178
179
  href: this.processedBack.href,
179
180
  id: this.processedBack.id,
180
181
  analyticsId: this.processedBack.analyticsId,
181
- }) }, this.processedBack.label))), (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 })), h("div", { class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (h("duet-paragraph", { margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium" }, this.preHeading ? (this.preHeading) : (h("div", null, h("slot", { name: "pre-heading" }))))), h("slot", { name: "badge" }), (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: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto" }, this.heading ? (this.heading) : (h("div", null, h("slot", { name: "heading" }))))), campaignOrSection && this.hasSubHeadingSlot && (h("duet-heading", { theme: this.theme, level: this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, h("div", null, h("slot", { name: "subheading" })))), this.description && (h("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (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, h("span", { slot: "label" }, item.label), h("span", { slot: "value" }, item.value)))))), this.buttonLabel && (h("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), h("span", { class: "duet-hero-slot-unnamed" }, h("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (h("div", { class: "duet-hero-links" }, this.processedActions.map(item => (h("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, h("div", { class: "duet-hero-action-icon" }, h("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), h("span", null, item.label), item.external && h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (h("div", { class: "duet-hero-action-arrow" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
182
+ }) }, this.processedBack.label))), (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 })), h("div", { class: { "duet-hero-text": true }, part: "duet-hero-text" }, (this.preHeading || this.hasPreHeadingSlot) && (h("duet-paragraph", { margin: "none", class: "duet-hero-pre", size: this.variation === "content" ? "small" : "medium" }, this.preHeading ? (this.preHeading) : (h("span", null, h("slot", { name: "pre-heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), h("slot", { name: "badge" }), (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: headingColor, visualLevel: headingVisualLevel, margin: campaignOrSection ? "none" : "auto" }, this.heading ? (this.heading) : (h("span", null, h("slot", { name: "heading", onSlotchange: ev => slotElementCheck(ev, this, "span") }))))), campaignOrSection && this.hasSubHeadingSlot && (h("duet-heading", { theme: this.theme, level: this.subHeadingLevel, class: { "duet-hero-subheading": true }, color: this.theme === "turva" ? "secondary-turva" : "secondary", visualLevel: "h2" }, h("span", null, h("slot", { name: "subheading", onSlotchange: ev => slotElementCheck(ev, this, "span") })))), this.description && (h("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (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, h("span", { slot: "label" }, item.label), h("span", { slot: "value" }, item.value)))))), this.buttonLabel && (h("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), h("span", { class: "duet-hero-slot-unnamed" }, h("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (h("div", { class: "duet-hero-links" }, this.processedActions.map(item => (h("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, h("div", { class: "duet-hero-action-icon" }, h("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), h("span", null, item.label), item.external && h("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (h("div", { class: "duet-hero-action-arrow" }, h("duet-icon", { icon: newWindowIcon.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image &&
182
183
  this.variation !== "image" &&
183
184
  !campaignOrSection &&
184
185
  this.variation !== "product" &&
@@ -52,6 +52,7 @@
52
52
  .duet-icon {
53
53
  -webkit-user-select: none;
54
54
  user-select: none;
55
+ display: block;
55
56
  width: 100%;
56
57
  height: 100%;
57
58
  transform-origin: top center;
@@ -78,7 +78,7 @@ export class DuetIcon {
78
78
  "duet-m-0": this.margin === "none",
79
79
  "duet-icon-has-outline": !!this.outline,
80
80
  "duet-icon-has-background": !!this.background,
81
- } }, h("div", { "aria-hidden": "true", style: styles, class: {
81
+ } }, h("span", { "aria-hidden": "true", style: styles, class: {
82
82
  "duet-icon": true,
83
83
  [this.size]: true,
84
84
  "duet-theme-turva": this.theme === "turva",
@@ -170,6 +170,8 @@ export class DuetInput {
170
170
  this.type = "text";
171
171
  this.variation = "default";
172
172
  this.label = "Label";
173
+ this.labelColor = undefined;
174
+ this.labelWeight = undefined;
173
175
  this.error = "";
174
176
  this.labelHidden = false;
175
177
  this.numericKeyboard = false;
@@ -313,7 +315,7 @@ export class DuetInput {
313
315
  "has-clear": this.clear,
314
316
  "has-focus": this.isFocused,
315
317
  disabled: this.disabled,
316
- } }, h("div", { class: "duet-input-label-container" }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip))), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), h("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
318
+ } }, h("div", { class: "duet-input-label-container" }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip))), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), h("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
317
319
  "duet-input": true,
318
320
  disabled: this.disabled,
319
321
  "is-number": this.component === "number",
@@ -792,6 +794,46 @@ export class DuetInput {
792
794
  "reflect": false,
793
795
  "defaultValue": "\"Label\""
794
796
  },
797
+ "labelColor": {
798
+ "type": "string",
799
+ "mutable": true,
800
+ "complexType": {
801
+ "original": "string",
802
+ "resolved": "string",
803
+ "references": {}
804
+ },
805
+ "required": false,
806
+ "optional": false,
807
+ "docs": {
808
+ "tags": [],
809
+ "text": "Color of the label."
810
+ },
811
+ "attribute": "label-color",
812
+ "reflect": false
813
+ },
814
+ "labelWeight": {
815
+ "type": "string",
816
+ "mutable": true,
817
+ "complexType": {
818
+ "original": "DuetTextFontWeight",
819
+ "resolved": "\"normal\" | \"semi-bold\"",
820
+ "references": {
821
+ "DuetTextFontWeight": {
822
+ "location": "import",
823
+ "path": "../../common-types",
824
+ "id": "src/common-types.d.ts::DuetTextFontWeight"
825
+ }
826
+ }
827
+ },
828
+ "required": false,
829
+ "optional": false,
830
+ "docs": {
831
+ "tags": [],
832
+ "text": "Font weight of the label."
833
+ },
834
+ "attribute": "label-weight",
835
+ "reflect": false
836
+ },
795
837
  "error": {
796
838
  "type": "string",
797
839
  "mutable": false,
@@ -77,6 +77,13 @@ label span {
77
77
  font-size: 0.875rem;
78
78
  }
79
79
 
80
+ :host(.duet-weight-normal) label {
81
+ font-weight: 400 !important;
82
+ }
83
+ :host(.duet-weight-normal) label span {
84
+ font-weight: 400 !important;
85
+ }
86
+
80
87
  :host(.duet-theme-turva) label {
81
88
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
82
89
  color: rgb(23, 28, 58);
@@ -10,6 +10,7 @@ export class DuetLabel {
10
10
  this.for = undefined;
11
11
  this.margin = "auto";
12
12
  this.size = "medium";
13
+ this.weight = "semi-bold";
13
14
  this.color = "";
14
15
  }
15
16
  /**
@@ -33,6 +34,7 @@ export class DuetLabel {
33
34
  "duet-theme-turva": this.theme === "turva",
34
35
  "duet-small-margin": this.margin === "small",
35
36
  "duet-m-0": this.margin === "none",
37
+ [`duet-weight-${this.weight}`]: true,
36
38
  } }, h("label", { htmlFor: this.for, style: { color } }, h("span", null, h("slot", null)))));
37
39
  }
38
40
  static get is() { return "duet-label"; }
@@ -138,6 +140,30 @@ export class DuetLabel {
138
140
  "reflect": false,
139
141
  "defaultValue": "\"medium\""
140
142
  },
143
+ "weight": {
144
+ "type": "string",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "DuetTextFontWeight",
148
+ "resolved": "\"normal\" | \"semi-bold\"",
149
+ "references": {
150
+ "DuetTextFontWeight": {
151
+ "location": "import",
152
+ "path": "../../common-types",
153
+ "id": "src/common-types.d.ts::DuetTextFontWeight"
154
+ }
155
+ }
156
+ },
157
+ "required": false,
158
+ "optional": false,
159
+ "docs": {
160
+ "tags": [],
161
+ "text": "Controls the weight of the label."
162
+ },
163
+ "attribute": "weight",
164
+ "reflect": false,
165
+ "defaultValue": "\"semi-bold\""
166
+ },
141
167
  "color": {
142
168
  "type": "string",
143
169
  "mutable": false,
@@ -49,6 +49,9 @@
49
49
  .duet-modal-overlay.duet-disable-transitions {
50
50
  transition: none;
51
51
  }
52
+ .duet-modal-overlay.duet-modal-slide-up {
53
+ overflow: hidden;
54
+ }
52
55
 
53
56
  ::slotted(img) {
54
57
  width: 100%;
@@ -66,11 +69,47 @@
66
69
  padding: 48px 16px;
67
70
  }
68
71
  }
72
+ .duet-modal-inner.duet-modal-slide-up {
73
+ align-items: stretch;
74
+ justify-content: center;
75
+ height: 100%;
76
+ padding-top: 48px;
77
+ padding-bottom: 0;
78
+ overflow: hidden;
79
+ }
80
+ .duet-modal-inner.duet-modal-slide-up::after {
81
+ position: absolute;
82
+ bottom: 0;
83
+ z-index: 300;
84
+ display: block;
85
+ width: 100%;
86
+ max-width: 686px;
87
+ height: 48px;
88
+ margin: auto;
89
+ pointer-events: none;
90
+ content: "";
91
+ background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255));
92
+ }
93
+ .duet-modal-inner.duet-modal-slide-up::after.small {
94
+ max-width: 545px;
95
+ }
96
+ .duet-modal-inner.duet-modal-slide-up::after.large {
97
+ max-width: 100%;
98
+ }
99
+ @media (min-width: 36em) {
100
+ .duet-modal-inner.duet-modal-slide-up::after.large {
101
+ max-width: 1110px;
102
+ }
103
+ }
69
104
  @media (max-width: 35.9375em) {
70
- .duet-modal-inner.duet-modal-large {
105
+ .duet-modal-inner.large {
71
106
  padding-right: 0;
72
107
  padding-left: 0;
73
108
  }
109
+ .duet-modal-inner.duet-modal-slide-up {
110
+ padding: 0;
111
+ padding-top: 28px;
112
+ }
74
113
  }
75
114
 
76
115
  .duet-modal {
@@ -100,6 +139,10 @@
100
139
  transition-delay: 200ms;
101
140
  transform: none;
102
141
  }
142
+ .duet-modal-active .duet-modal.slide-up {
143
+ top: 0;
144
+ transition: top 600ms ease;
145
+ }
103
146
  .duet-disable-transitions .duet-modal {
104
147
  transition: none;
105
148
  }
@@ -114,63 +157,94 @@
114
157
  max-width: 1110px;
115
158
  }
116
159
  }
160
+ .duet-modal.slide-up {
161
+ top: 100vh;
162
+ margin: 0;
163
+ border-radius: 4px 4px 0 0;
164
+ opacity: 1;
165
+ transition: top 600ms ease;
166
+ }
167
+ @media (max-width: 35.9375em) {
168
+ .duet-modal.slide-up {
169
+ border-radius: 16px 16px 0 0;
170
+ }
171
+ }
172
+ .duet-modal.duet-modal-has-sticky-header {
173
+ height: 100%;
174
+ overflow: auto;
175
+ }
117
176
  .duet-modal:focus {
118
177
  outline: 0;
119
178
  }
120
179
 
121
- .duet-modal-body {
180
+ .duet-modal-body,
181
+ .duet-modal-sticky-header {
122
182
  width: 100%;
123
183
  padding: 36px 28px;
124
184
  }
125
- .duet-modal-body.duet-modal-gutter-none {
185
+ .duet-modal-body.duet-modal-gutter-none,
186
+ .duet-modal-sticky-header.duet-modal-gutter-none {
126
187
  padding: 0 !important;
127
188
  }
128
- .duet-modal-body.duet-modal-gutter-small {
189
+ .duet-modal-body.duet-modal-gutter-small,
190
+ .duet-modal-sticky-header.duet-modal-gutter-small {
129
191
  padding: 36px 20px;
130
192
  }
131
- .duet-modal-body.duet-modal-gutter-large {
193
+ .duet-modal-body.duet-modal-gutter-large,
194
+ .duet-modal-sticky-header.duet-modal-gutter-large {
132
195
  padding: 48px 36px;
133
196
  }
134
197
  @media (max-width: 22.5em) {
135
- .duet-modal-body {
198
+ .duet-modal-body,
199
+ .duet-modal-sticky-header {
136
200
  padding: 36px 20px;
137
201
  }
138
- .duet-modal-body.duet-modal-gutter-large {
202
+ .duet-modal-body.duet-modal-gutter-large,
203
+ .duet-modal-sticky-header.duet-modal-gutter-large {
139
204
  padding: 48px 28px;
140
205
  }
141
206
  }
142
207
  @media (max-width: 35.9375em) {
143
- .duet-modal-body {
208
+ .duet-modal-body,
209
+ .duet-modal-sticky-header {
144
210
  padding: 36px 20px;
145
211
  }
146
- .duet-modal-body.duet-modal-gutter-large {
212
+ .duet-modal-body.duet-modal-gutter-large,
213
+ .duet-modal-sticky-header.duet-modal-gutter-large {
147
214
  padding: 48px 36px;
148
215
  }
149
216
  }
150
217
  @media (min-width: 36em) {
151
- .duet-modal-body {
218
+ .duet-modal-body,
219
+ .duet-modal-sticky-header {
152
220
  padding: 36px;
153
221
  }
154
- .duet-modal-body.duet-modal-gutter-large {
222
+ .duet-modal-body.duet-modal-gutter-large,
223
+ .duet-modal-sticky-header.duet-modal-gutter-large {
155
224
  padding: 28px 72px;
156
225
  }
157
226
  }
158
227
  @media (min-width: 48em) {
159
- .duet-modal-body {
228
+ .duet-modal-body,
229
+ .duet-modal-sticky-header {
160
230
  padding: 36px 72px;
161
231
  }
162
- .duet-modal-body.duet-modal-gutter-large {
232
+ .duet-modal-body.duet-modal-gutter-large,
233
+ .duet-modal-sticky-header.duet-modal-gutter-large {
163
234
  padding: 36px 72px;
164
235
  }
165
236
  }
166
237
  @media (min-width: 76.25em) {
167
- .duet-modal-body {
238
+ .duet-modal-body,
239
+ .duet-modal-sticky-header {
168
240
  padding: 36px 48px 48px;
169
241
  }
170
- .duet-modal-body.duet-modal-gutter-large {
242
+ .duet-modal-body.duet-modal-gutter-large,
243
+ .duet-modal-sticky-header.duet-modal-gutter-large {
171
244
  padding: 48px 94px;
172
245
  }
173
- .small .duet-modal-body {
246
+ .small .duet-modal-body,
247
+ .small .duet-modal-sticky-header {
174
248
  padding: 36px 48px;
175
249
  }
176
250
  }
@@ -179,6 +253,21 @@
179
253
  text-align: center;
180
254
  }
181
255
 
256
+ .duet-modal-sticky-header {
257
+ position: sticky;
258
+ top: 0;
259
+ z-index: 200;
260
+ display: block;
261
+ padding-bottom: 12px;
262
+ text-align: left;
263
+ background: rgb(243, 249, 252);
264
+ border-bottom: 1px solid rgb(225, 227, 230);
265
+ }
266
+ .duet-theme-turva .duet-modal-sticky-header {
267
+ background: rgb(245, 245, 247);
268
+ border-bottom: 1px solid rgb(228, 228, 230);
269
+ }
270
+
182
271
  .duet-modal-close {
183
272
  position: absolute;
184
273
  top: 12px;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { h } from "@stencil/core";
5
5
  import { disableBodyScroll, enableBodyScroll } from "body-scroll-lock/lib/bodyScrollLock.es6.js";
6
- import { inheritGlobalTheme } from "../../common";
6
+ import { hasSlot, inheritGlobalTheme } from "../../common";
7
7
  import { createID } from "../../utils/create-id";
8
8
  import { focusElement, FocusGuard } from "../../utils/focus-utils";
9
9
  import { isEscapeKey } from "../../utils/keyboard-utils";
@@ -14,6 +14,7 @@ import { Teleport } from "../../utils/teleport";
14
14
  // This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
15
15
  const TRANSITION_MS = 600;
16
16
  /**
17
+ * @slot sticky-header - Content will be fixed to the top of the modal when scrolling, typically used with slide-up variation for e.g. a search input
17
18
  * @slot top - This is a slot that takes any content and will be displayed as the first thing in the hero area (typically an image)
18
19
  */
19
20
  export class DuetModal {
@@ -24,6 +25,7 @@ export class DuetModal {
24
25
  */
25
26
  this.modalId = createID("DuetModal");
26
27
  this.slotDefaultId = createID("DuetModal-default-slot");
28
+ this.hasStickyHeader = false;
27
29
  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;
28
30
  this.isSafariBrowser = /^((?!chrome|android).)*safari/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
29
31
  this.handleAndroidResizeEvents = () => {
@@ -54,6 +56,7 @@ export class DuetModal {
54
56
  this.accessibleLabel = undefined;
55
57
  this.accessibleDetails = undefined;
56
58
  this.accessibleDescription = undefined;
59
+ this.variation = "default";
57
60
  this.gutterSize = "medium";
58
61
  this.theme = "";
59
62
  this.heading = "";
@@ -105,6 +108,7 @@ export class DuetModal {
105
108
  * Component lifecycle events.
106
109
  */
107
110
  componentWillLoad() {
111
+ this.hasStickyHeader = hasSlot(this.element, "sticky-header");
108
112
  inheritGlobalTheme(this);
109
113
  }
110
114
  componentDidLoad() {
@@ -172,6 +176,7 @@ export class DuetModal {
172
176
  var _a;
173
177
  let iconColor = "primary";
174
178
  let closeColor = "secondary";
179
+ const closingButton = (h("div", { class: "duet-modal-close" }, h("duet-button", { ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })));
175
180
  if (this.theme === "turva") {
176
181
  iconColor = "primary-turva";
177
182
  closeColor = "secondary-turva";
@@ -180,9 +185,12 @@ export class DuetModal {
180
185
  "duet-modal-overlay": true,
181
186
  "duet-theme-turva": this.theme === "turva",
182
187
  "duet-modal-active": this.open,
188
+ "duet-modal-slide-up": this.variation === "slide-up",
189
+ "duet-modal-has-sticky-header": this.hasStickyHeader,
183
190
  } }, h(FocusGuard, { moveFocusTo: this.buttonEl }), h("div", { ref: modalInner => (this.modalInnerEl = modalInner), class: {
184
191
  "duet-modal-inner": true,
185
- "duet-modal-large": this.size === "large",
192
+ [this.size]: true,
193
+ "duet-modal-slide-up": this.variation === "slide-up",
186
194
  }, onClick: e => {
187
195
  if (this.closeOnBlur) {
188
196
  const source = e.target || e.srcElement;
@@ -190,7 +198,12 @@ export class DuetModal {
190
198
  this.closeModal(e);
191
199
  }
192
200
  }
193
- } }, h("div", { class: { "duet-modal": true, [this.size]: true } }, this.gutterSize !== "none" && h("duet-spacer", null), h("div", { class: "duet-modal-close" }, h("duet-button", { ref: button => (this.buttonEl = button), variation: "plain", accessibleLabel: this.accessibleCloseLabel, color: closeColor, iconSize: "large", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: ev => this.closeModal(ev), fixed: true })), h("div", { class: {
201
+ } }, h("div", { class: {
202
+ "duet-modal": true,
203
+ "duet-modal-has-sticky-header": this.hasStickyHeader,
204
+ [this.size]: true,
205
+ [this.variation]: true,
206
+ } }, this.gutterSize !== "none" && !this.hasStickyHeader && h("duet-spacer", null), this.hasStickyHeader ? (h("div", { class: "duet-modal-sticky-header" }, closingButton, h("slot", { name: "sticky-header" }))) : (closingButton), h("div", { class: {
194
207
  "duet-modal-body": true,
195
208
  "duet-modal-gutter-none": this.gutterSize === "none",
196
209
  "duet-modal-gutter-small": this.gutterSize === "small",
@@ -401,6 +414,30 @@ export class DuetModal {
401
414
  "reflect": false,
402
415
  "defaultValue": "undefined"
403
416
  },
417
+ "variation": {
418
+ "type": "string",
419
+ "mutable": false,
420
+ "complexType": {
421
+ "original": "DuetModalVariation",
422
+ "resolved": "\"default\" | \"slide-up\"",
423
+ "references": {
424
+ "DuetModalVariation": {
425
+ "location": "local",
426
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-modal/duet-modal.tsx",
427
+ "id": "src/components/duet-modal/duet-modal.tsx::DuetModalVariation"
428
+ }
429
+ }
430
+ },
431
+ "required": false,
432
+ "optional": false,
433
+ "docs": {
434
+ "tags": [],
435
+ "text": "Variation of the modal window."
436
+ },
437
+ "attribute": "variation",
438
+ "reflect": false,
439
+ "defaultValue": "\"default\""
440
+ },
404
441
  "gutterSize": {
405
442
  "type": "string",
406
443
  "mutable": false,