@duetds/components 9.1.2 → 9.2.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 (828) hide show
  1. package/hydrate/index.js +581 -354
  2. package/lib/cjs/a11y-utils-76311b95.js +20 -0
  3. package/lib/cjs/{app-globals-75ae6194.js → app-globals-940f10af.js} +1 -1
  4. package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
  5. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  6. package/lib/cjs/duet-badge.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-banner.cjs.entry.js +4 -4
  8. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  9. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
  10. package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
  11. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-caption_4.cjs.entry.js +14 -25
  13. package/lib/cjs/duet-card.cjs.entry.js +4 -4
  14. package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
  15. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  16. package/lib/cjs/duet-chip_3.cjs.entry.js +653 -0
  17. package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
  18. package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
  19. package/lib/cjs/duet-combobox.cjs.entry.js +43 -39
  20. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  21. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  22. package/lib/cjs/duet-date-picker.cjs.entry.js +5 -5
  23. package/lib/cjs/duet-divider_2.cjs.entry.js +5 -5
  24. package/lib/cjs/duet-editable-table_3.cjs.entry.js +11 -11
  25. package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
  26. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  27. package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-footer.cjs.entry.js +4 -4
  29. package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
  30. package/lib/cjs/duet-header_2.cjs.entry.js +6 -6
  31. package/lib/cjs/duet-hero.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-icon.cjs.entry.js +6 -6
  33. package/lib/cjs/duet-input_2.cjs.entry.js +101 -12
  34. package/lib/cjs/duet-layout.cjs.entry.js +7 -10
  35. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  36. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +3 -3
  37. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  38. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  39. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +24 -6
  40. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
  41. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  42. package/lib/cjs/duet-modal.cjs.entry.js +11 -11
  43. package/lib/cjs/duet-multiselect.cjs.entry.js +9 -9
  44. package/lib/cjs/duet-nav.cjs.entry.js +2 -2
  45. package/lib/cjs/duet-notification_2.cjs.entry.js +8 -8
  46. package/lib/cjs/duet-number-input.cjs.entry.js +4 -4
  47. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  48. package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
  49. package/lib/cjs/duet-pagination_2.cjs.entry.js +19 -19
  50. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  51. package/lib/cjs/duet-promo-card.cjs.entry.js +7 -7
  52. package/lib/cjs/duet-radio_2.cjs.entry.js +3 -3
  53. package/lib/cjs/duet-range-slider.cjs.entry.js +3 -3
  54. package/lib/cjs/duet-scrollable_3.cjs.entry.js +49 -28
  55. package/lib/cjs/duet-section-layout.cjs.entry.js +5 -6
  56. package/lib/cjs/duet-select.cjs.entry.js +3 -3
  57. package/lib/cjs/duet-shaped-image.cjs.entry.js +3 -3
  58. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  59. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  60. package/lib/cjs/duet-slideout-link.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  62. package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
  63. package/lib/cjs/duet-slideout.cjs.entry.js +11 -11
  64. package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
  65. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  66. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
  67. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +23 -5
  68. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  69. package/lib/cjs/duet-submenu-bar.cjs.entry.js +8 -8
  70. package/lib/cjs/duet-textarea.cjs.entry.js +7 -7
  71. package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
  72. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  73. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  74. package/lib/cjs/duet-toolbar-item.cjs.entry.js +25 -6
  75. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  76. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  77. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +8 -8
  78. package/lib/cjs/duet-tooltip.cjs.entry.js +3 -3
  79. package/lib/cjs/duet-tray.cjs.entry.js +6 -6
  80. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  81. package/lib/cjs/duet-upload-item.cjs.entry.js +5 -5
  82. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  83. package/lib/cjs/duet.cjs.js +3 -3
  84. package/lib/cjs/{errorcodes.utils-388375fb.js → errorcodes.utils-a9512b40.js} +1 -1
  85. package/lib/cjs/{focus-utils-8bf2f9fe.js → focus-utils-c9b32897.js} +1 -1
  86. package/lib/cjs/{index-9e6f7e53.js → index-ce05ed4b.js} +1 -1
  87. package/lib/cjs/{language-utils-0eb766d8.js → language-utils-04d69d6b.js} +1 -1
  88. package/lib/cjs/loader.cjs.js +3 -3
  89. package/lib/cjs/{slot-utils-0975145c.js → slot-utils-83d6d31e.js} +1 -1
  90. package/lib/cjs/{token-utils-ecc7f5a1.js → token-utils-453a4e75.js} +1 -1
  91. package/lib/cjs/{tokens-1c133754.js → tokens-57e06fe4.js} +25 -25
  92. package/lib/cjs/{tokens.module-cf303205.js → tokens.module-fcba867f.js} +25 -25
  93. package/lib/collection/components/duet-action-button/duet-action-button.css +7 -7
  94. package/lib/collection/components/duet-alert/duet-alert.css +12 -12
  95. package/lib/collection/components/duet-badge/duet-badge.css +18 -18
  96. package/lib/collection/components/duet-badge/duet-badge.js +2 -2
  97. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  98. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +7 -7
  99. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  100. package/lib/collection/components/duet-button/duet-button.css +39 -39
  101. package/lib/collection/components/duet-callout/duet-callout.css +2 -2
  102. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  103. package/lib/collection/components/duet-caption/duet-caption.css +2 -2
  104. package/lib/collection/components/duet-card/duet-card.css +6 -6
  105. package/lib/collection/components/duet-checkbox/duet-checkbox.css +16 -16
  106. package/lib/collection/components/duet-chip/duet-chip.css +83 -28
  107. package/lib/collection/components/duet-chip/duet-chip.js +102 -6
  108. package/lib/collection/components/duet-choice/duet-checkmark.css +6 -6
  109. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  110. package/lib/collection/components/duet-choice/duet-choice.css +50 -50
  111. package/lib/collection/components/duet-collapsible/duet-collapsible.css +4 -4
  112. package/lib/collection/components/duet-combobox/duet-combobox-select.js +4 -8
  113. package/lib/collection/components/duet-combobox/duet-combobox.css +4 -81
  114. package/lib/collection/components/duet-combobox/duet-combobox.js +37 -25
  115. package/lib/collection/components/duet-contact-card/duet-contact-card.css +1 -1
  116. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  117. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.css +2 -2
  118. package/lib/collection/components/duet-date-picker/duet-date-picker.css +26 -26
  119. package/lib/collection/components/duet-divider/duet-divider.css +2 -2
  120. package/lib/collection/components/duet-empty-state/duet-empty-state.css +2 -2
  121. package/lib/collection/components/duet-fieldset/duet-fieldset.css +3 -3
  122. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  123. package/lib/collection/components/duet-footer/duet-footer.css +5 -5
  124. package/lib/collection/components/duet-grid-item/duet-grid-item.css +1 -1
  125. package/lib/collection/components/duet-header/duet-header.css +42 -42
  126. package/lib/collection/components/duet-heading/duet-heading.css +3 -3
  127. package/lib/collection/components/duet-hero/duet-hero.css +13 -13
  128. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  129. package/lib/collection/components/duet-input/duet-input.css +39 -37
  130. package/lib/collection/components/duet-input/duet-input.js +96 -7
  131. package/lib/collection/components/duet-label/duet-label.css +1 -1
  132. package/lib/collection/components/duet-layout/duet-layout.css +24 -19
  133. package/lib/collection/components/duet-layout/duet-layout.js +4 -7
  134. package/lib/collection/components/duet-link/duet-link.css +9 -9
  135. package/lib/collection/components/duet-link/duet-link.js +4 -15
  136. package/lib/collection/components/duet-list/duet-list.js +1 -1
  137. package/lib/collection/components/duet-list-item/duet-list-item.css +8 -8
  138. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  139. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  140. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +5 -3
  141. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +2 -2
  142. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  143. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +2 -2
  144. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  145. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +3 -3
  146. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  147. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +4 -1
  148. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +87 -4
  149. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  150. package/lib/collection/components/duet-modal/duet-modal.css +6 -6
  151. package/lib/collection/components/duet-modal/duet-modal.js +6 -6
  152. package/lib/collection/components/duet-multiselect/duet-multiselect.css +24 -24
  153. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  154. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  155. package/lib/collection/components/duet-notification/duet-notification.css +9 -9
  156. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  157. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +12 -12
  158. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +2 -2
  159. package/lib/collection/components/duet-number-input/duet-number-input.css +5 -5
  160. package/lib/collection/components/duet-overlay/duet-overlay.css +1 -1
  161. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  162. package/lib/collection/components/duet-page-heading/duet-page-heading.css +2 -2
  163. package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
  164. package/lib/collection/components/duet-pagination/duet-pagination.css +1 -1
  165. package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
  166. package/lib/collection/components/duet-paragraph/duet-paragraph.css +3 -3
  167. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  168. package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +1 -1
  169. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +44 -10
  170. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +13 -5
  171. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +26 -3
  172. package/lib/collection/components/duet-progress/duet-progress.css +6 -6
  173. package/lib/collection/components/duet-promo-card/duet-promo-card.css +1 -1
  174. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  175. package/lib/collection/components/duet-radio/duet-radio.css +10 -10
  176. package/lib/collection/components/duet-range-slider/duet-range-slider.css +21 -21
  177. package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +1 -1
  178. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  179. package/lib/collection/components/duet-scrollable/duet-scrollable.css +3 -0
  180. package/lib/collection/components/duet-scrollable/duet-scrollable.js +38 -16
  181. package/lib/collection/components/duet-section-layout/duet-section-layout.css +24 -15
  182. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -4
  183. package/lib/collection/components/duet-select/duet-select.css +18 -18
  184. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  185. package/lib/collection/components/duet-show-more/duet-show-more.css +1 -1
  186. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  187. package/lib/collection/components/duet-slideout/duet-slideout.css +8 -8
  188. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  189. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.css +1 -1
  190. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  191. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +2 -2
  192. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  193. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +10 -10
  194. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  195. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +2 -2
  196. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  197. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  198. package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
  199. package/lib/collection/components/duet-step/duet-step.css +4 -4
  200. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  201. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +9 -9
  202. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  203. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +11 -11
  204. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  205. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +6 -6
  206. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  207. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.css +13 -9
  208. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +86 -3
  209. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +9 -9
  210. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  211. package/lib/collection/components/duet-tab-group/duet-tab-group.css +27 -27
  212. package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
  213. package/lib/collection/components/duet-table/duet-table.css +30 -30
  214. package/lib/collection/components/duet-table/duet-table.js +2 -2
  215. package/lib/collection/components/duet-textarea/duet-textarea.css +27 -27
  216. package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
  217. package/lib/collection/components/duet-toggle/duet-toggle.css +4 -4
  218. package/lib/collection/components/duet-toolbar/duet-toolbar.css +2 -2
  219. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  220. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +11 -11
  221. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  222. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +5 -5
  223. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  224. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +23 -11
  225. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +88 -4
  226. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +8 -8
  227. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  228. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +2 -2
  229. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +2 -2
  230. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +10 -10
  231. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +2 -2
  232. package/lib/collection/components/duet-tray/duet-tray.css +8 -8
  233. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  234. package/lib/collection/components/duet-upload/duet-upload.css +1 -1
  235. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  236. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  237. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  238. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  239. package/lib/collection/utils/a11y-utils.js +16 -0
  240. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  241. package/lib/dist-custom-elements/duet-alert.js +1 -1
  242. package/lib/dist-custom-elements/duet-badge.js +1 -1
  243. package/lib/dist-custom-elements/duet-banner.js +4 -4
  244. package/lib/dist-custom-elements/duet-breadcrumb.js +8 -8
  245. package/lib/dist-custom-elements/duet-breadcrumbs.js +5 -5
  246. package/lib/dist-custom-elements/duet-button.js +1 -1
  247. package/lib/dist-custom-elements/duet-callout.js +5 -5
  248. package/lib/dist-custom-elements/duet-caption.js +1 -1
  249. package/lib/dist-custom-elements/duet-card.js +6 -6
  250. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  251. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  252. package/lib/dist-custom-elements/duet-chip.js +1 -1
  253. package/lib/dist-custom-elements/duet-choice-group.js +8 -8
  254. package/lib/dist-custom-elements/duet-choice.js +6 -6
  255. package/lib/dist-custom-elements/duet-collapsible.js +5 -5
  256. package/lib/dist-custom-elements/duet-combobox.js +80 -58
  257. package/lib/dist-custom-elements/duet-contact-card.js +11 -11
  258. package/lib/dist-custom-elements/duet-cookie-consent.js +8 -8
  259. package/lib/dist-custom-elements/duet-date-picker.js +14 -14
  260. package/lib/dist-custom-elements/duet-divider.js +1 -1
  261. package/lib/dist-custom-elements/duet-editable-table.js +8 -8
  262. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  263. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  264. package/lib/dist-custom-elements/duet-file-chooser.js +2 -2
  265. package/lib/dist-custom-elements/duet-footer.js +9 -9
  266. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  267. package/lib/dist-custom-elements/duet-grid.js +1 -1
  268. package/lib/dist-custom-elements/duet-header.js +11 -11
  269. package/lib/dist-custom-elements/duet-heading.js +1 -1
  270. package/lib/dist-custom-elements/duet-hero.js +10 -10
  271. package/lib/dist-custom-elements/duet-icon.js +1 -1
  272. package/lib/dist-custom-elements/duet-input.js +1 -1
  273. package/lib/dist-custom-elements/duet-label.js +1 -1
  274. package/lib/dist-custom-elements/duet-layout.js +6 -9
  275. package/lib/dist-custom-elements/duet-link.js +1 -1
  276. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  277. package/lib/dist-custom-elements/duet-list.js +1 -1
  278. package/lib/dist-custom-elements/duet-logo.js +1 -1
  279. package/lib/dist-custom-elements/duet-menu-bar-button.js +4 -4
  280. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
  281. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +8 -8
  282. package/lib/dist-custom-elements/duet-menu-bar-item.js +27 -7
  283. package/lib/dist-custom-elements/duet-menu-bar-link.js +4 -4
  284. package/lib/dist-custom-elements/duet-menu-bar.js +6 -6
  285. package/lib/dist-custom-elements/duet-modal.js +16 -16
  286. package/lib/dist-custom-elements/duet-multiselect.js +16 -16
  287. package/lib/dist-custom-elements/duet-nav.js +2 -2
  288. package/lib/dist-custom-elements/duet-notification-drawer.js +8 -8
  289. package/lib/dist-custom-elements/duet-notification.js +6 -6
  290. package/lib/dist-custom-elements/duet-number-input.js +13 -13
  291. package/lib/dist-custom-elements/duet-overlay.js +1 -1
  292. package/lib/dist-custom-elements/duet-page-heading.js +5 -5
  293. package/lib/dist-custom-elements/duet-pagination.js +27 -27
  294. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  295. package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -111
  296. package/lib/dist-custom-elements/duet-popup-menu.js +1 -277
  297. package/lib/dist-custom-elements/duet-progress.js +1 -1
  298. package/lib/dist-custom-elements/duet-promo-card.js +7 -7
  299. package/lib/dist-custom-elements/duet-radio-group.js +8 -8
  300. package/lib/dist-custom-elements/duet-radio.js +2 -2
  301. package/lib/dist-custom-elements/duet-range-slider.js +5 -5
  302. package/lib/dist-custom-elements/duet-range-stepper.js +8 -8
  303. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  304. package/lib/dist-custom-elements/duet-section-layout.js +5 -6
  305. package/lib/dist-custom-elements/duet-select.js +1 -1
  306. package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
  307. package/lib/dist-custom-elements/duet-show-more.js +1 -1
  308. package/lib/dist-custom-elements/duet-slideout-lang.js +4 -4
  309. package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
  310. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +7 -7
  311. package/lib/dist-custom-elements/duet-slideout-panel.js +10 -10
  312. package/lib/dist-custom-elements/duet-slideout.js +10 -10
  313. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  314. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  315. package/lib/dist-custom-elements/duet-step.js +6 -6
  316. package/lib/dist-custom-elements/duet-stepper.js +3 -3
  317. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
  318. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +9 -9
  319. package/lib/dist-custom-elements/duet-submenu-bar-item.js +27 -7
  320. package/lib/dist-custom-elements/duet-submenu-bar-link.js +5 -5
  321. package/lib/dist-custom-elements/duet-submenu-bar.js +10 -10
  322. package/lib/dist-custom-elements/duet-tab-group.js +20 -20
  323. package/lib/dist-custom-elements/duet-tab.js +3 -3
  324. package/lib/dist-custom-elements/duet-table.js +1 -1
  325. package/lib/dist-custom-elements/duet-textarea.js +14 -14
  326. package/lib/dist-custom-elements/duet-toggle.js +4 -4
  327. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
  328. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +8 -8
  329. package/lib/dist-custom-elements/duet-toolbar-item.js +28 -7
  330. package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
  331. package/lib/dist-custom-elements/duet-toolbar.js +4 -4
  332. package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
  333. package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
  334. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  335. package/lib/dist-custom-elements/duet-tray.js +8 -8
  336. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  337. package/lib/dist-custom-elements/duet-upload-item.js +1 -1
  338. package/lib/dist-custom-elements/duet-upload.js +22 -22
  339. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  340. package/lib/dist-custom-elements/index.js +1 -1
  341. package/lib/dist-custom-elements/p-01dec611.js +368 -0
  342. package/lib/dist-custom-elements/{p-9635880c.js → p-0cf30970.js} +6 -6
  343. package/lib/dist-custom-elements/{p-dc26d4a2.js → p-0e77715d.js} +25 -25
  344. package/lib/dist-custom-elements/{p-926dfd0d.js → p-1149a5f1.js} +1 -1
  345. package/lib/dist-custom-elements/{p-7dfb4906.js → p-14903ee8.js} +6 -6
  346. package/lib/dist-custom-elements/{p-53d15ae4.js → p-1749d98a.js} +43 -22
  347. package/lib/dist-custom-elements/{p-8979d055.js → p-1cea02c6.js} +3 -3
  348. package/lib/dist-custom-elements/{p-cc58e64e.js → p-1cf7db2a.js} +3 -3
  349. package/lib/dist-custom-elements/{p-c5f82e3b.js → p-28807fbd.js} +2 -2
  350. package/lib/dist-custom-elements/{p-132de48f.js → p-29c84284.js} +4 -4
  351. package/lib/dist-custom-elements/{p-434e64ad.js → p-2cc77e29.js} +9 -9
  352. package/lib/dist-custom-elements/{p-cd8e9097.js → p-329cec9e.js} +2 -2
  353. package/lib/dist-custom-elements/{p-7a8eda34.js → p-3883514c.js} +5 -5
  354. package/lib/dist-custom-elements/{p-39b4be25.js → p-3d136f5c.js} +8 -8
  355. package/lib/dist-custom-elements/{p-1e7abd9f.js → p-55342fcd.js} +8 -19
  356. package/lib/dist-custom-elements/{p-b1aa75c1.js → p-55989a50.js} +7 -7
  357. package/lib/dist-custom-elements/p-570cecb0.js +119 -0
  358. package/lib/dist-custom-elements/{p-16a278f4.js → p-5e4809d5.js} +6 -6
  359. package/lib/dist-custom-elements/{p-a1979351.js → p-6fdef72e.js} +2 -2
  360. package/lib/dist-custom-elements/{p-00d7b302.js → p-72bc5f40.js} +3 -3
  361. package/lib/dist-custom-elements/{p-6081e535.js → p-782759f5.js} +2 -2
  362. package/lib/dist-custom-elements/{p-3caf29d6.js → p-791ee647.js} +2 -2
  363. package/lib/dist-custom-elements/{p-52618a53.js → p-87248c43.js} +3 -3
  364. package/lib/dist-custom-elements/{p-a7559bee.js → p-95fb5b4b.js} +7 -7
  365. package/lib/dist-custom-elements/{p-e399097c.js → p-9f461090.js} +3 -3
  366. package/lib/dist-custom-elements/{p-fac41d14.js → p-9fa78368.js} +1 -1
  367. package/lib/dist-custom-elements/{p-8acea31f.js → p-a407fdb5.js} +3 -3
  368. package/lib/dist-custom-elements/{p-11d8af72.js → p-a89ea763.js} +6 -6
  369. package/lib/dist-custom-elements/{p-fdc2bf62.js → p-aa53a402.js} +12 -12
  370. package/lib/dist-custom-elements/{p-7a7a6a7b.js → p-aad2ab95.js} +9 -9
  371. package/lib/dist-custom-elements/{p-ddb9e9be.js → p-ab30a756.js} +4 -4
  372. package/lib/{esm/duet-popup-menu.entry.js → dist-custom-elements/p-ae917476.js} +69 -20
  373. package/lib/dist-custom-elements/{p-401837cb.js → p-b87d1e74.js} +4 -4
  374. package/lib/dist-custom-elements/{p-7c8f29a0.js → p-be13a7a6.js} +6 -6
  375. package/lib/dist-custom-elements/{p-239cfc2e.js → p-c43f0450.js} +3 -3
  376. package/lib/dist-custom-elements/{p-c77f9e4d.js → p-c8e032e9.js} +4 -4
  377. package/lib/dist-custom-elements/{p-785686e3.js → p-ca700701.js} +1 -1
  378. package/lib/dist-custom-elements/{p-5f658e84.js → p-d00e8f90.js} +107 -18
  379. package/lib/dist-custom-elements/{p-f5924b7d.js → p-d551ba52.js} +2 -2
  380. package/lib/dist-custom-elements/{p-f43704a4.js → p-e685687b.js} +2 -2
  381. package/lib/dist-custom-elements/{p-bec25ec5.js → p-e8594dcd.js} +3 -3
  382. package/lib/dist-custom-elements/p-f0cc5629.js +18 -0
  383. package/lib/dist-custom-elements/{p-74f689ae.js → p-f1a4011f.js} +5 -5
  384. package/lib/{esm/tokens-e0e3d241.js → dist-custom-elements/p-f6000a03.js} +25 -25
  385. package/lib/duet/duet.esm.js +1 -1
  386. package/lib/duet/duet.js +1 -1
  387. package/lib/duet/{p-a1af9ad9.system.entry.js → p-033a796b.system.entry.js} +1 -1
  388. package/lib/duet/{p-5e2f8206.js → p-03ebb87c.js} +1 -1
  389. package/lib/duet/{p-ab78e681.entry.js → p-09f97fb6.entry.js} +1 -1
  390. package/lib/duet/{p-946101a9.js → p-0e91ae89.js} +1 -1
  391. package/lib/duet/{p-14dc7cf5.entry.js → p-0f61ec4f.entry.js} +1 -1
  392. package/lib/duet/{p-8f1823c2.system.entry.js → p-102d7289.system.entry.js} +1 -1
  393. package/lib/duet/p-1117cfde.system.entry.js +4 -0
  394. package/lib/duet/{p-8c84e41c.entry.js → p-1261a1b5.entry.js} +1 -1
  395. package/lib/duet/{p-8f2af04b.system.entry.js → p-13f6afbe.system.entry.js} +1 -1
  396. package/lib/duet/{p-dcf097a9.system.entry.js → p-14a83e9e.system.entry.js} +1 -1
  397. package/lib/duet/{p-e20b0d90.entry.js → p-151b3794.entry.js} +1 -1
  398. package/lib/duet/{p-91bf41a8.system.entry.js → p-16a3016e.system.entry.js} +1 -1
  399. package/lib/duet/p-16e3f6f0.system.entry.js +4 -0
  400. package/lib/duet/{p-7e06948d.entry.js → p-16ee7d09.entry.js} +1 -1
  401. package/lib/duet/p-176154a9.system.entry.js +4 -0
  402. package/lib/duet/{p-f8d41de4.entry.js → p-186dc204.entry.js} +1 -1
  403. package/lib/duet/{p-a4a42c3e.system.entry.js → p-19097787.system.entry.js} +1 -1
  404. package/lib/duet/{p-5e502442.system.entry.js → p-1f32a819.system.entry.js} +1 -1
  405. package/lib/duet/{p-33ca3555.system.entry.js → p-1fb804dc.system.entry.js} +1 -1
  406. package/lib/duet/{p-123e5149.entry.js → p-2091f634.entry.js} +1 -1
  407. package/lib/duet/{p-35bf92a1.system.entry.js → p-22b59f78.system.entry.js} +1 -1
  408. package/lib/duet/{p-50428ca6.entry.js → p-231b853e.entry.js} +1 -1
  409. package/lib/duet/p-25deb7be.system.entry.js +4 -0
  410. package/lib/duet/p-28d2739c.entry.js +4 -0
  411. package/lib/duet/p-2b0552dc.system.entry.js +4 -0
  412. package/lib/duet/{p-8aaadc21.system.entry.js → p-2c42ece3.system.entry.js} +1 -1
  413. package/lib/duet/{p-85f4d527.entry.js → p-306faf90.entry.js} +1 -1
  414. package/lib/duet/p-30947766.entry.js +4 -0
  415. package/lib/duet/{p-2349ea53.entry.js → p-312f509d.entry.js} +1 -1
  416. package/lib/duet/p-3363aa75.entry.js +4 -0
  417. package/lib/duet/{p-f6c25420.system.entry.js → p-36b2ad26.system.entry.js} +1 -1
  418. package/lib/duet/{p-695da2aa.entry.js → p-375948ff.entry.js} +1 -1
  419. package/lib/duet/p-37b8bb50.system.entry.js +4 -0
  420. package/lib/duet/p-386c614c.system.entry.js +4 -0
  421. package/lib/duet/{p-d3101c8a.system.js → p-39fb8819.system.js} +1 -1
  422. package/lib/duet/{p-03eab84c.system.entry.js → p-3beb1c58.system.entry.js} +1 -1
  423. package/lib/duet/{p-12155eae.system.entry.js → p-3c0373cb.system.entry.js} +1 -1
  424. package/lib/duet/{p-e95fa292.js → p-3d9a63aa.js} +1 -1
  425. package/lib/duet/{p-d5e996fd.entry.js → p-3e13fb5c.entry.js} +1 -1
  426. package/lib/duet/{p-c7aea431.entry.js → p-3e15a291.entry.js} +1 -1
  427. package/lib/duet/{p-31ee8ad8.entry.js → p-4068cfee.entry.js} +1 -1
  428. package/lib/duet/{p-20a0e98c.entry.js → p-408a9ccb.entry.js} +1 -1
  429. package/lib/duet/p-4217dab3.system.entry.js +4 -0
  430. package/lib/duet/{p-6d11c049.entry.js → p-446f79d6.entry.js} +1 -1
  431. package/lib/duet/p-46030b7e.entry.js +4 -0
  432. package/lib/duet/{p-c3035dee.system.entry.js → p-48c61eee.system.entry.js} +1 -1
  433. package/lib/duet/p-48c90346.system.js +4 -0
  434. package/lib/duet/p-495d8962.system.entry.js +4 -0
  435. package/lib/duet/{p-bfb824c6.entry.js → p-497263c5.entry.js} +1 -1
  436. package/lib/duet/{p-0d9de644.entry.js → p-4a657e92.entry.js} +1 -1
  437. package/lib/duet/p-4d20e324.system.entry.js +4 -0
  438. package/lib/duet/{p-2c999efc.entry.js → p-50bf90d6.entry.js} +1 -1
  439. package/lib/duet/{p-0853dd3b.system.js → p-514b6b5b.system.js} +1 -1
  440. package/lib/duet/{p-5432aefa.system.entry.js → p-528db5b3.system.entry.js} +1 -1
  441. package/lib/duet/{p-eb8bf9ea.entry.js → p-529aff73.entry.js} +1 -1
  442. package/lib/duet/p-54fbe5c8.entry.js +4 -0
  443. package/lib/duet/p-599c6ee4.system.entry.js +4 -0
  444. package/lib/duet/p-5f6a8312.system.entry.js +4 -0
  445. package/lib/duet/{p-bf40b101.entry.js → p-5fe9bbe0.entry.js} +1 -1
  446. package/lib/duet/p-60754704.entry.js +4 -0
  447. package/lib/duet/p-61fe7d32.entry.js +4 -0
  448. package/lib/duet/{p-3b668f9d.system.entry.js → p-64030845.system.entry.js} +2 -2
  449. package/lib/duet/{p-4f47944f.system.entry.js → p-646fcab7.system.entry.js} +1 -1
  450. package/lib/duet/{p-2f891fbb.system.js → p-6a95a2e3.system.js} +1 -1
  451. package/lib/duet/p-6adc0389.system.entry.js +4 -0
  452. package/lib/duet/{p-697c4f57.entry.js → p-6f106108.entry.js} +1 -1
  453. package/lib/duet/{p-471c18e5.system.entry.js → p-6f53cfb2.system.entry.js} +1 -1
  454. package/lib/duet/{p-fd40d190.system.entry.js → p-739bfa4e.system.entry.js} +1 -1
  455. package/lib/duet/{p-0487aadb.system.entry.js → p-753333e9.system.entry.js} +1 -1
  456. package/lib/duet/{p-8507509a.js → p-75e078ac.js} +1 -1
  457. package/lib/duet/{p-e05007a2.system.entry.js → p-7712eb09.system.entry.js} +1 -1
  458. package/lib/duet/{p-730ac0b8.entry.js → p-783cc158.entry.js} +1 -1
  459. package/lib/duet/{p-8de97e36.entry.js → p-7863c54a.entry.js} +1 -1
  460. package/lib/duet/p-7a3ae8a9.system.js +4 -0
  461. package/lib/duet/{p-11d01633.system.entry.js → p-7a41aff3.system.entry.js} +1 -1
  462. package/lib/duet/{p-4f7a0a49.entry.js → p-7b6bacd8.entry.js} +1 -1
  463. package/lib/duet/{p-6cd9ae43.entry.js → p-7db5f5b6.entry.js} +1 -1
  464. package/lib/duet/p-7f94c928.entry.js +4 -0
  465. package/lib/duet/{p-0fee15c1.system.js → p-8002cdbf.system.js} +1 -1
  466. package/lib/duet/p-8002d713.system.entry.js +4 -0
  467. package/lib/duet/{p-758cb2a2.system.entry.js → p-8087cdcd.system.entry.js} +1 -1
  468. package/lib/duet/{p-3affe362.entry.js → p-81168888.entry.js} +1 -1
  469. package/lib/duet/{p-4a689653.system.js → p-832862b7.system.js} +1 -1
  470. package/lib/duet/{p-91374fa5.system.entry.js → p-832e5af8.system.entry.js} +1 -1
  471. package/lib/duet/{p-73170927.entry.js → p-8486a863.entry.js} +1 -1
  472. package/lib/duet/{p-9ea9329f.entry.js → p-84b5b372.entry.js} +1 -1
  473. package/lib/duet/p-8b3b5673.js +4 -0
  474. package/lib/duet/{p-ae6de40d.entry.js → p-8bee5b14.entry.js} +1 -1
  475. package/lib/duet/{p-a2ddcf90.entry.js → p-8c95d7e7.entry.js} +1 -1
  476. package/lib/duet/p-8d947a43.system.entry.js +4 -0
  477. package/lib/duet/{p-012938af.system.entry.js → p-91b2664a.system.entry.js} +1 -1
  478. package/lib/duet/p-94eab61e.system.js +4 -0
  479. package/lib/duet/{p-8cb3b550.system.entry.js → p-961a7a42.system.entry.js} +1 -1
  480. package/lib/duet/{p-76ebeb39.system.entry.js → p-962a7ed7.system.entry.js} +1 -1
  481. package/lib/duet/p-9832a62e.system.entry.js +4 -0
  482. package/lib/duet/{p-ea7dccdf.system.entry.js → p-9abe2d23.system.entry.js} +1 -1
  483. package/lib/duet/p-9c50306c.system.entry.js +4 -0
  484. package/lib/duet/{p-c3524f86.system.entry.js → p-9c5717a5.system.entry.js} +1 -1
  485. package/lib/duet/p-9d0d4329.system.entry.js +4 -0
  486. package/lib/duet/p-9d7aea44.entry.js +4 -0
  487. package/lib/duet/{p-60327ec6.system.entry.js → p-a033bafa.system.entry.js} +1 -1
  488. package/lib/duet/p-a0c1c7d8.system.entry.js +4 -0
  489. package/lib/duet/p-a0ffaabf.entry.js +4 -0
  490. package/lib/duet/{p-2b3b6d33.entry.js → p-a1e13f21.entry.js} +1 -1
  491. package/lib/duet/{p-8a9f676f.system.entry.js → p-a838f364.system.entry.js} +1 -1
  492. package/lib/duet/{p-934124e4.entry.js → p-a90efe08.entry.js} +1 -1
  493. package/lib/duet/{p-86f0eef8.system.entry.js → p-aba65c68.system.entry.js} +1 -1
  494. package/lib/duet/{p-5ed66d93.entry.js → p-ac538db7.entry.js} +1 -1
  495. package/lib/duet/p-adcd2fb3.entry.js +4 -0
  496. package/lib/duet/{p-ebca186a.system.entry.js → p-b224ee72.system.entry.js} +1 -1
  497. package/lib/duet/{p-966bf379.system.entry.js → p-b274ebde.system.entry.js} +1 -1
  498. package/lib/duet/{p-eb8ddb2c.entry.js → p-b2f64f34.entry.js} +1 -1
  499. package/lib/duet/{p-541301b8.system.entry.js → p-b3ab4a17.system.entry.js} +1 -1
  500. package/lib/duet/{p-e1e9de91.entry.js → p-b4df4c57.entry.js} +1 -1
  501. package/lib/duet/p-b4e4bf04.system.entry.js +4 -0
  502. package/lib/duet/{p-6e0ff6ff.entry.js → p-b5443923.entry.js} +1 -1
  503. package/lib/duet/p-b657f08f.system.entry.js +4 -0
  504. package/lib/duet/{p-64da9c94.system.entry.js → p-ba4bdb0d.system.entry.js} +1 -1
  505. package/lib/duet/{p-00f584d4.js → p-bb2d58bc.js} +1 -1
  506. package/lib/duet/{p-7cc379a7.system.entry.js → p-bc2be70e.system.entry.js} +1 -1
  507. package/lib/duet/p-bc50d23b.entry.js +4 -0
  508. package/lib/duet/{p-9070bf89.system.entry.js → p-bd2768a5.system.entry.js} +1 -1
  509. package/lib/duet/p-c1b1b16d.entry.js +4 -0
  510. package/lib/duet/{p-ecde67f6.entry.js → p-c8783040.entry.js} +1 -1
  511. package/lib/duet/p-cade991a.entry.js +4 -0
  512. package/lib/duet/{p-6c917ed9.entry.js → p-cca4a7db.entry.js} +1 -1
  513. package/lib/duet/p-ccf2bc0a.system.entry.js +4 -0
  514. package/lib/duet/{p-dc7c2dc7.system.entry.js → p-cd0e3537.system.entry.js} +1 -1
  515. package/lib/duet/{p-cf05a9a4.entry.js → p-ce754f76.entry.js} +1 -1
  516. package/lib/duet/{p-b839f59a.system.entry.js → p-ce7987e8.system.entry.js} +1 -1
  517. package/lib/duet/{p-6df59cfe.entry.js → p-cf1206a8.entry.js} +1 -1
  518. package/lib/duet/p-d08a89dc.entry.js +4 -0
  519. package/lib/duet/{p-0b249181.js → p-d11659fd.js} +1 -1
  520. package/lib/duet/p-d22c889b.entry.js +4 -0
  521. package/lib/duet/{p-de5b2f37.system.js → p-d6c69f62.system.js} +1 -1
  522. package/lib/duet/p-d6e16c5d.entry.js +4 -0
  523. package/lib/duet/{p-fc3f42ab.entry.js → p-d6fbbecc.entry.js} +1 -1
  524. package/lib/duet/{p-fe661e98.system.entry.js → p-d8d99c33.system.entry.js} +1 -1
  525. package/lib/duet/{p-064b79e8.entry.js → p-d9ad612c.entry.js} +1 -1
  526. package/lib/duet/{p-22c7d5ee.entry.js → p-d9b32ab3.entry.js} +1 -1
  527. package/lib/duet/{p-d4cf8310.system.entry.js → p-db2c01b7.system.entry.js} +1 -1
  528. package/lib/duet/{p-f368439a.entry.js → p-dcbb4af4.entry.js} +1 -1
  529. package/lib/duet/p-defbfc15.js +4 -0
  530. package/lib/duet/{p-9e4c6ea7.system.js → p-dfbd0dd7.system.js} +1 -1
  531. package/lib/duet/{p-0e255314.system.entry.js → p-e2122bd3.system.entry.js} +1 -1
  532. package/lib/duet/p-e4c8559c.system.js +4 -0
  533. package/lib/duet/p-e5997320.entry.js +4 -0
  534. package/lib/duet/{p-5cd8706b.entry.js → p-e6596826.entry.js} +1 -1
  535. package/lib/duet/{p-4ab05bd1.system.entry.js → p-e7f0d18b.system.entry.js} +1 -1
  536. package/lib/duet/{p-18766573.entry.js → p-e8d31be7.entry.js} +1 -1
  537. package/lib/duet/{p-493a25c0.system.entry.js → p-ead4b210.system.entry.js} +1 -1
  538. package/lib/duet/{p-754100c9.system.entry.js → p-eaeee3a3.system.entry.js} +1 -1
  539. package/lib/duet/{p-6faa9435.system.entry.js → p-eb26c1f5.system.entry.js} +1 -1
  540. package/lib/duet/{p-d46a310c.entry.js → p-eb9677dc.entry.js} +1 -1
  541. package/lib/duet/{p-5446b2c4.entry.js → p-ec58f8ee.entry.js} +1 -1
  542. package/lib/duet/{p-7f96f678.entry.js → p-ec5d2407.entry.js} +1 -1
  543. package/lib/duet/{p-30f2d20a.entry.js → p-ec70084a.entry.js} +1 -1
  544. package/lib/duet/p-ee067380.system.entry.js +4 -0
  545. package/lib/duet/{p-902c3cbe.system.entry.js → p-ee52d40a.system.entry.js} +1 -1
  546. package/lib/duet/{p-c3573c7a.entry.js → p-f0634b57.entry.js} +1 -1
  547. package/lib/duet/p-f0cc5629.js +4 -0
  548. package/lib/duet/{p-337009ba.system.entry.js → p-f28acd06.system.entry.js} +1 -1
  549. package/lib/duet/{p-0b2e581f.entry.js → p-f2957e8e.entry.js} +1 -1
  550. package/lib/duet/{p-8cacd5d4.entry.js → p-f33f42ce.entry.js} +1 -1
  551. package/lib/duet/p-f40c4ff4.entry.js +4 -0
  552. package/lib/duet/{p-632363b9.system.entry.js → p-f48366d3.system.entry.js} +1 -1
  553. package/lib/duet/p-f6000a03.js +4 -0
  554. package/lib/duet/{p-c5332265.system.entry.js → p-f6471762.system.entry.js} +2 -2
  555. package/lib/duet/{p-36637566.system.entry.js → p-f749aa8a.system.entry.js} +2 -2
  556. package/lib/duet/{p-997146fa.system.entry.js → p-f930128c.system.entry.js} +2 -2
  557. package/lib/duet/{p-8980f13e.entry.js → p-fa2ef682.entry.js} +1 -1
  558. package/lib/duet/p-fa3e0628.system.entry.js +4 -0
  559. package/lib/duet/{p-62cf9516.entry.js → p-fbcd3fb7.entry.js} +1 -1
  560. package/lib/duet/p-fc100c70.entry.js +4 -0
  561. package/lib/duet/{p-236df5f1.entry.js → p-fccf2ddc.entry.js} +1 -1
  562. package/lib/duet/{p-2526c848.entry.js → p-fd5d4f14.entry.js} +1 -1
  563. package/lib/duet/p-fdbc3f6c.entry.js +4 -0
  564. package/lib/duet/{p-191f51da.system.entry.js → p-fdbc9c7f.system.entry.js} +1 -1
  565. package/lib/duet/{p-a1a10757.system.entry.js → p-ffdfb64b.system.entry.js} +2 -2
  566. package/lib/esm/a11y-utils-92930863.js +18 -0
  567. package/lib/esm/{app-globals-6cbf18ba.js → app-globals-19322ff1.js} +1 -1
  568. package/lib/esm/duet-action-button.entry.js +5 -5
  569. package/lib/esm/duet-alert.entry.js +4 -4
  570. package/lib/esm/duet-badge.entry.js +4 -4
  571. package/lib/esm/duet-banner.entry.js +4 -4
  572. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  573. package/lib/esm/duet-breadcrumbs.entry.js +7 -7
  574. package/lib/esm/duet-button_2.entry.js +7 -7
  575. package/lib/esm/duet-callout.entry.js +5 -5
  576. package/lib/esm/duet-caption_4.entry.js +14 -25
  577. package/lib/esm/duet-card.entry.js +4 -4
  578. package/lib/esm/duet-checkbox.entry.js +2 -2
  579. package/lib/esm/duet-checkmark.entry.js +4 -4
  580. package/lib/esm/duet-chip_3.entry.js +647 -0
  581. package/lib/esm/duet-choice_2.entry.js +4 -4
  582. package/lib/esm/duet-collapsible.entry.js +4 -4
  583. package/lib/esm/duet-combobox.entry.js +44 -40
  584. package/lib/esm/duet-contact-card.entry.js +5 -5
  585. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  586. package/lib/esm/duet-date-picker.entry.js +5 -5
  587. package/lib/esm/duet-divider_2.entry.js +5 -5
  588. package/lib/esm/duet-editable-table_3.entry.js +11 -11
  589. package/lib/esm/duet-empty-state.entry.js +2 -2
  590. package/lib/esm/duet-fieldset.entry.js +6 -6
  591. package/lib/esm/duet-file-chooser.entry.js +1 -1
  592. package/lib/esm/duet-footer.entry.js +4 -4
  593. package/lib/esm/duet-grid_2.entry.js +3 -3
  594. package/lib/esm/duet-header_2.entry.js +6 -6
  595. package/lib/esm/duet-hero.entry.js +4 -4
  596. package/lib/esm/duet-icon.entry.js +6 -6
  597. package/lib/esm/duet-input_2.entry.js +102 -13
  598. package/lib/esm/duet-layout.entry.js +7 -10
  599. package/lib/esm/duet-list_2.entry.js +5 -5
  600. package/lib/esm/duet-menu-bar-button.entry.js +3 -3
  601. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  602. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  603. package/lib/esm/duet-menu-bar-item.entry.js +24 -6
  604. package/lib/esm/duet-menu-bar-link.entry.js +3 -3
  605. package/lib/esm/duet-menu-bar.entry.js +6 -6
  606. package/lib/esm/duet-modal.entry.js +11 -11
  607. package/lib/esm/duet-multiselect.entry.js +9 -9
  608. package/lib/esm/duet-nav.entry.js +2 -2
  609. package/lib/esm/duet-notification_2.entry.js +8 -8
  610. package/lib/esm/duet-number-input.entry.js +4 -4
  611. package/lib/esm/duet-overlay.entry.js +3 -3
  612. package/lib/esm/duet-page-heading.entry.js +4 -4
  613. package/lib/esm/duet-pagination_2.entry.js +19 -19
  614. package/lib/esm/duet-progress.entry.js +3 -3
  615. package/lib/esm/duet-promo-card.entry.js +7 -7
  616. package/lib/esm/duet-radio_2.entry.js +3 -3
  617. package/lib/esm/duet-range-slider.entry.js +3 -3
  618. package/lib/esm/duet-scrollable_3.entry.js +49 -28
  619. package/lib/esm/duet-section-layout.entry.js +5 -6
  620. package/lib/esm/duet-select.entry.js +3 -3
  621. package/lib/esm/duet-shaped-image.entry.js +3 -3
  622. package/lib/esm/duet-show-more.entry.js +5 -5
  623. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  624. package/lib/esm/duet-slideout-link.entry.js +4 -4
  625. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  626. package/lib/esm/duet-slideout-panel.entry.js +13 -13
  627. package/lib/esm/duet-slideout.entry.js +11 -11
  628. package/lib/esm/duet-step_2.entry.js +3 -3
  629. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  630. package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
  631. package/lib/esm/duet-submenu-bar-item.entry.js +23 -5
  632. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  633. package/lib/esm/duet-submenu-bar.entry.js +8 -8
  634. package/lib/esm/duet-textarea.entry.js +7 -7
  635. package/lib/esm/duet-toggle.entry.js +2 -2
  636. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  637. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  638. package/lib/esm/duet-toolbar-item.entry.js +25 -6
  639. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  640. package/lib/esm/duet-toolbar.entry.js +4 -4
  641. package/lib/esm/duet-tooltip-button_2.entry.js +8 -8
  642. package/lib/esm/duet-tooltip.entry.js +3 -3
  643. package/lib/esm/duet-tray.entry.js +6 -6
  644. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  645. package/lib/esm/duet-upload-item.entry.js +5 -5
  646. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  647. package/lib/esm/duet.js +4 -4
  648. package/lib/esm/{errorcodes.utils-2a3a0ed1.js → errorcodes.utils-953f4d47.js} +1 -1
  649. package/lib/esm/{focus-utils-1e2c1ed7.js → focus-utils-5147573d.js} +1 -1
  650. package/lib/esm/{index-f384e24a.js → index-940c081d.js} +1 -1
  651. package/lib/esm/{language-utils-b0c1f3cd.js → language-utils-b0c1eb01.js} +1 -1
  652. package/lib/esm/loader.js +4 -4
  653. package/lib/esm/{slot-utils-e698dc9e.js → slot-utils-4a318cb9.js} +1 -1
  654. package/lib/esm/{token-utils-54a23ef5.js → token-utils-3c2fb643.js} +1 -1
  655. package/lib/{dist-custom-elements/p-d5c7ae62.js → esm/tokens-84fb2357.js} +25 -25
  656. package/lib/esm/{tokens.module-b5fab24a.js → tokens.module-216c2ae9.js} +25 -25
  657. package/lib/esm-es5/a11y-utils-92930863.js +4 -0
  658. package/lib/esm-es5/{app-globals-6cbf18ba.js → app-globals-19322ff1.js} +1 -1
  659. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  660. package/lib/esm-es5/duet-alert.entry.js +1 -1
  661. package/lib/esm-es5/duet-badge.entry.js +1 -1
  662. package/lib/esm-es5/duet-banner.entry.js +1 -1
  663. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  664. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  665. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  666. package/lib/esm-es5/duet-callout.entry.js +1 -1
  667. package/lib/esm-es5/duet-caption_4.entry.js +2 -2
  668. package/lib/esm-es5/duet-card.entry.js +1 -1
  669. package/lib/esm-es5/duet-checkbox.entry.js +2 -2
  670. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  671. package/lib/esm-es5/duet-chip_3.entry.js +4 -0
  672. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  673. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  674. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  675. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  676. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  677. package/lib/esm-es5/duet-date-picker.entry.js +2 -2
  678. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  679. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  680. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  681. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  682. package/lib/esm-es5/duet-file-chooser.entry.js +1 -1
  683. package/lib/esm-es5/duet-footer.entry.js +1 -1
  684. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  685. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  686. package/lib/esm-es5/duet-hero.entry.js +1 -1
  687. package/lib/esm-es5/duet-icon.entry.js +1 -1
  688. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  689. package/lib/esm-es5/duet-layout.entry.js +1 -1
  690. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  691. package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
  692. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  693. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
  694. package/lib/esm-es5/duet-menu-bar-item.entry.js +2 -2
  695. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  696. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  697. package/lib/esm-es5/duet-modal.entry.js +1 -1
  698. package/lib/esm-es5/duet-multiselect.entry.js +1 -1
  699. package/lib/esm-es5/duet-nav.entry.js +1 -1
  700. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  701. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  702. package/lib/esm-es5/duet-overlay.entry.js +1 -1
  703. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  704. package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
  705. package/lib/esm-es5/duet-progress.entry.js +1 -1
  706. package/lib/esm-es5/duet-promo-card.entry.js +2 -2
  707. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  708. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  709. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  710. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  711. package/lib/esm-es5/duet-select.entry.js +1 -1
  712. package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
  713. package/lib/esm-es5/duet-show-more.entry.js +1 -1
  714. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  715. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  716. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
  717. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  718. package/lib/esm-es5/duet-slideout.entry.js +2 -2
  719. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  720. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  721. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  722. package/lib/esm-es5/duet-submenu-bar-item.entry.js +2 -2
  723. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  724. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  725. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  726. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  727. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  728. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  729. package/lib/esm-es5/duet-toolbar-item.entry.js +2 -2
  730. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  731. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  732. package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
  733. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  734. package/lib/esm-es5/duet-tray.entry.js +1 -1
  735. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  736. package/lib/esm-es5/duet-upload-item.entry.js +2 -2
  737. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  738. package/lib/esm-es5/duet.js +1 -1
  739. package/lib/esm-es5/{errorcodes.utils-2a3a0ed1.js → errorcodes.utils-953f4d47.js} +1 -1
  740. package/lib/esm-es5/focus-utils-5147573d.js +4 -0
  741. package/lib/esm-es5/{index-f384e24a.js → index-940c081d.js} +1 -1
  742. package/lib/esm-es5/{language-utils-b0c1f3cd.js → language-utils-b0c1eb01.js} +1 -1
  743. package/lib/esm-es5/loader.js +1 -1
  744. package/lib/esm-es5/{slot-utils-e698dc9e.js → slot-utils-4a318cb9.js} +1 -1
  745. package/lib/esm-es5/{token-utils-54a23ef5.js → token-utils-3c2fb643.js} +1 -1
  746. package/lib/esm-es5/tokens-84fb2357.js +4 -0
  747. package/lib/esm-es5/tokens.module-216c2ae9.js +4 -0
  748. package/lib/types/components/duet-chip/duet-chip.d.ts +24 -2
  749. package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +2 -1
  750. package/lib/types/components/duet-combobox/duet-combobox.d.ts +3 -1
  751. package/lib/types/components/duet-input/duet-input.d.ts +22 -1
  752. package/lib/types/components/duet-link/duet-link.d.ts +0 -1
  753. package/lib/types/components/duet-menu-bar-item/duet-menu-bar-item.d.ts +17 -0
  754. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +7 -2
  755. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +6 -1
  756. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +4 -0
  757. package/lib/types/components/duet-submenu-bar-item/duet-submenu-bar-item.d.ts +17 -0
  758. package/lib/types/components/duet-toolbar-item/duet-toolbar-item.d.ts +17 -0
  759. package/lib/types/components.d.ts +112 -10
  760. package/lib/types/utils/a11y-utils.d.ts +11 -0
  761. package/package.json +4 -4
  762. package/lib/cjs/duet-chip.cjs.entry.js +0 -290
  763. package/lib/cjs/duet-popup-menu-item.cjs.entry.js +0 -83
  764. package/lib/cjs/duet-popup-menu.cjs.entry.js +0 -250
  765. package/lib/dist-custom-elements/p-9ef37cc5.js +0 -327
  766. package/lib/duet/p-01ce7028.system.entry.js +0 -4
  767. package/lib/duet/p-04085d32.entry.js +0 -4
  768. package/lib/duet/p-053113a9.system.entry.js +0 -4
  769. package/lib/duet/p-08727974.entry.js +0 -4
  770. package/lib/duet/p-1b5ce17e.system.entry.js +0 -4
  771. package/lib/duet/p-1c8c9651.entry.js +0 -4
  772. package/lib/duet/p-20393f34.system.entry.js +0 -4
  773. package/lib/duet/p-22a5ac0a.entry.js +0 -4
  774. package/lib/duet/p-22cb3c28.system.entry.js +0 -4
  775. package/lib/duet/p-26c71746.system.js +0 -4
  776. package/lib/duet/p-2e108879.js +0 -4
  777. package/lib/duet/p-2fc10b59.entry.js +0 -4
  778. package/lib/duet/p-3233973c.system.entry.js +0 -4
  779. package/lib/duet/p-344d401b.entry.js +0 -4
  780. package/lib/duet/p-38ab5505.entry.js +0 -4
  781. package/lib/duet/p-3a5b7cf7.system.entry.js +0 -4
  782. package/lib/duet/p-45d596e8.entry.js +0 -4
  783. package/lib/duet/p-47e4eada.entry.js +0 -4
  784. package/lib/duet/p-50c83774.js +0 -4
  785. package/lib/duet/p-54f1f550.system.entry.js +0 -4
  786. package/lib/duet/p-59ae9e27.system.entry.js +0 -4
  787. package/lib/duet/p-63f80431.system.entry.js +0 -4
  788. package/lib/duet/p-6a0ed208.entry.js +0 -4
  789. package/lib/duet/p-6a34f6be.entry.js +0 -4
  790. package/lib/duet/p-6d405ca2.system.entry.js +0 -4
  791. package/lib/duet/p-6e8ebe18.entry.js +0 -4
  792. package/lib/duet/p-6fde361f.system.entry.js +0 -4
  793. package/lib/duet/p-76eec0c0.system.entry.js +0 -4
  794. package/lib/duet/p-86ba2e23.entry.js +0 -4
  795. package/lib/duet/p-8ab41ea5.entry.js +0 -4
  796. package/lib/duet/p-8d25bac7.entry.js +0 -4
  797. package/lib/duet/p-91115d1e.system.js +0 -4
  798. package/lib/duet/p-9d3ef1e0.system.entry.js +0 -4
  799. package/lib/duet/p-9d521ea1.system.entry.js +0 -4
  800. package/lib/duet/p-a2c01fc7.system.entry.js +0 -4
  801. package/lib/duet/p-a365e326.entry.js +0 -4
  802. package/lib/duet/p-a81e7736.entry.js +0 -4
  803. package/lib/duet/p-aa8648b3.system.entry.js +0 -4
  804. package/lib/duet/p-ae4cd43d.entry.js +0 -4
  805. package/lib/duet/p-b3bbea88.system.entry.js +0 -4
  806. package/lib/duet/p-b5aaa528.system.entry.js +0 -4
  807. package/lib/duet/p-b64eb2b3.system.entry.js +0 -4
  808. package/lib/duet/p-b93605ee.system.entry.js +0 -4
  809. package/lib/duet/p-c2ca9373.entry.js +0 -4
  810. package/lib/duet/p-cb9d279b.system.entry.js +0 -4
  811. package/lib/duet/p-ce289a58.system.entry.js +0 -4
  812. package/lib/duet/p-d3b84b94.entry.js +0 -4
  813. package/lib/duet/p-d5c7ae62.js +0 -4
  814. package/lib/duet/p-e408682d.system.entry.js +0 -4
  815. package/lib/duet/p-e69bd7e8.entry.js +0 -4
  816. package/lib/duet/p-ea445202.system.entry.js +0 -4
  817. package/lib/duet/p-ec6a0e13.entry.js +0 -4
  818. package/lib/duet/p-f1bf4f9e.entry.js +0 -4
  819. package/lib/duet/p-f5063a7d.system.js +0 -4
  820. package/lib/duet/p-f9eb5cbb.system.entry.js +0 -4
  821. package/lib/esm/duet-chip.entry.js +0 -286
  822. package/lib/esm/duet-popup-menu-item.entry.js +0 -79
  823. package/lib/esm-es5/duet-chip.entry.js +0 -4
  824. package/lib/esm-es5/duet-popup-menu-item.entry.js +0 -4
  825. package/lib/esm-es5/duet-popup-menu.entry.js +0 -4
  826. package/lib/esm-es5/focus-utils-1e2c1ed7.js +0 -4
  827. package/lib/esm-es5/tokens-e0e3d241.js +0 -4
  828. package/lib/esm-es5/tokens.module-b5fab24a.js +0 -4
@@ -0,0 +1,647 @@
1
+ /*!
2
+ * Built with Duet Design System
3
+ */
4
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-940c081d.js';
5
+ import { i as inheritGlobalTheme } from './themeable-component-860041c5.js';
6
+ import { c as createID } from './create-id-149a1b6d.js';
7
+ import { s as subscribeTabbingChange, u as unsubscribeTabbingChange, f as isEscapeKey, c as isArrowDownKey, b as isArrowUpKey, o as isTabKey } from './keyboard-utils-439bcc8b.js';
8
+ import { g as getLocaleString } from './language-utils-b0c1eb01.js';
9
+ import { o as offset, f as flip, c as computePosition } from './floating-ui.dom.esm-ebc91b33.js';
10
+ import { f as focusElement } from './focus-utils-5147573d.js';
11
+ import { T as Teleport } from './teleport-546f382d.js';
12
+ import './string-utils-192eb3c8.js';
13
+
14
+ const duetChipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.input){margin-top:6px !important;margin-right:0 !important;margin-bottom:6px !important;margin-left:4px !important}.duet-chip-container{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(181, 198, 208);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}.duet-chip-container.duet-p-0{padding:0 !important}.duet-chip-container.duet-m-0{margin:0 !important}.duet-chip-container.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(199, 202, 207)}.duet-chip-container.duet-theme-turva:hover{border-color:rgb(198, 12, 48)}.duet-chip-container:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-disabled{color:rgb(98, 121, 138) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}.duet-chip-container.duet-chip-disabled.duet-theme-turva{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-disabled:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-disabled button,.duet-chip-container.duet-chip-disabled label{cursor:default}.duet-chip-container button,.duet-chip-container label{display:flex;align-items:center;width:100%;height:100%;padding:8px 14px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;line-height:1rem;color:rgb(8, 42, 77) !important;cursor:pointer}.duet-chip-container button:focus,.duet-chip-container label:focus{outline:none}.duet-chip-container .duet-chip-icon-container{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container{width:24px;height:16px;padding-right:10px}.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container{padding-right:11px;padding-left:3px}.duet-chip-container.duet-chip-has-icon button,.duet-chip-container.duet-chip-has-icon label{padding-left:10px}.duet-chip-container.duet-chip-has-popup button,.duet-chip-container.duet-chip-has-popup label{padding-right:8px}.duet-chip-container duet-icon:not(.check-mark){width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container duet-icon.check-mark{width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked,.duet-chip-container.duet-chip-radio-checked{padding:0 !important;background:rgb(228, 241, 247);border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-filter-checked:hover,.duet-chip-container.duet-chip-radio-checked:hover{background:rgb(198, 225, 238)}.duet-chip-container.duet-chip-filter-checked.chip-has-icon button,.duet-chip-container.duet-chip-filter-checked.chip-has-icon label,.duet-chip-container.duet-chip-radio-checked.chip-has-icon button,.duet-chip-container.duet-chip-radio-checked.chip-has-icon label{padding-left:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container{padding-right:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark),.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark){width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark{width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(198, 12, 48)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover{background:rgb(222, 224, 228)}.duet-chip-container .duet-chip-popup-disclosure{padding-right:4.5px;padding-left:12.5px}.duet-chip-container .duet-chip-popup-disclosure duet-icon{transition:transform 300ms ease}.duet-chip-container.duet-chip-filter-popup-open{background:rgb(240, 247, 250);border-color:rgb(240, 247, 250)}.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon{transform:rotate(180deg)}.duet-chip-container.duet-chip-input:hover{padding:1px !important;border-color:rgb(181, 198, 208);border-width:1px}.duet-chip-container.duet-chip-input.duet-chip-hover,.duet-chip-container.duet-chip-input.duet-chip-selected{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-input.duet-chip-hover .duet-chip-remove-button,.duet-chip-container.duet-chip-input.duet-chip-selected .duet-chip-remove-button{right:0;width:34px;height:34px;background:transparent}.duet-chip-container.duet-chip-input.duet-chip-delete-focus{background:rgb(240, 247, 250)}.duet-chip-container.duet-chip-input .duet-chip-input-button{margin-right:22px}.duet-chip-container.duet-chip-input .duet-chip-remove-button{position:absolute;top:-1px;right:-1px;width:36px;height:36px;padding-left:10px;border:3px solid transparent;border-radius:8px}.duet-chip-container.duet-chip-input .duet-chip-remove-button:hover{background:rgb(217, 236, 245);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-chip-selected{background:rgb(240, 247, 250)}.duet-chip-container.duet-chip-input.duet-chip-selected.duet-chip-hover{background:rgb(217, 236, 245)}.duet-chip-container.duet-chip-input.duet-chip-selected .duet-chip-remove-button:hover{background:rgb(198, 225, 238);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-theme-turva:hover{border-color:rgb(199, 202, 207)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-hover{border-color:rgb(198, 12, 48)}.duet-chip-container.duet-chip-input.duet-theme-turva .duet-chip-remove-button:hover{background:rgb(255, 241, 241)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected{background:rgb(255, 241, 241)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected.duet-chip-hover{background:rgb(255, 213, 215);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected .duet-chip-remove-button:hover{background:rgb(255, 185, 190);background-clip:padding-box}.duet-chip-container.large button,.duet-chip-container.large label{padding:15px 22px}:host(.user-is-tabbing) .duet-chip-focus,:host(.user-is-tabbing) .duet-chip-delete-focus .duet-chip-remove-button{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva,:host(.user-is-tabbing) .duet-chip-delete-focus .duet-chip-remove-button.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-chip-container input,*::slotted([slot=input]){position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;margin:0;cursor:pointer;border-width:2px;border-radius:8px;opacity:0;appearance:none}*::slotted([slot=input]:not([aria-disabled=true])){z-index:1}";
15
+ const DuetChipStyle0 = duetChipCss;
16
+
17
+ const DuetChip = class {
18
+ constructor(hostRef) {
19
+ registerInstance(this, hostRef);
20
+ this.duetChange = createEvent(this, "duetChange", 3);
21
+ this.duetRemove = createEvent(this, "duetRemove", 3);
22
+ this.duetFocus = createEvent(this, "duetFocus", 7);
23
+ this.duetBlur = createEvent(this, "duetBlur", 7);
24
+ /**
25
+ * Own Properties.
26
+ */
27
+ this.chipId = createID("DuetChip");
28
+ this.deleteLabels = {
29
+ fi: "Poista",
30
+ en: "Remove",
31
+ sv: "Ta bort",
32
+ };
33
+ this.selectedForDeletionLabels = {
34
+ fi: "Valittu, poista askelpalautinnäppäimellä",
35
+ en: "Selected, remove with backspace",
36
+ sv: "Valt, ta bort med backsteg",
37
+ };
38
+ this.enforceNoDisabledSelected = () => {
39
+ if (this.disabled && this.checked) {
40
+ console.error("Duet error: pre-selected chip may not be disabled");
41
+ this.disabled = false;
42
+ }
43
+ };
44
+ this.radioInputListenersRemove = radioInput => {
45
+ radioInput.removeEventListener("change", this.onRadioChange);
46
+ radioInput.removeEventListener("click", this.onRadioClick);
47
+ radioInput.removeEventListener("focus", this.onFocus);
48
+ radioInput.removeEventListener("blur", this.onBlur);
49
+ };
50
+ this.radioInputListenersAdd = radioInput => {
51
+ radioInput.addEventListener("change", this.onRadioChange);
52
+ radioInput.addEventListener("click", this.onRadioClick);
53
+ radioInput.addEventListener("focus", this.onFocus);
54
+ radioInput.addEventListener("blur", this.onBlur);
55
+ };
56
+ this.radioInputSetUp = () => {
57
+ const slotInput = this.element.querySelector("input[slot=input]");
58
+ const radioInput = slotInput || document.createElement("input");
59
+ radioInput.slot = "input";
60
+ radioInput.ariaDisabled = this.disabled ? "true" : undefined;
61
+ radioInput.id = this.identifier || this.chipId;
62
+ radioInput.type = "radio";
63
+ radioInput.name = this.name;
64
+ radioInput.value = this.value;
65
+ radioInput.checked = this.checked;
66
+ if (slotInput) {
67
+ this.radioInputListenersRemove(radioInput);
68
+ }
69
+ else {
70
+ this.element.appendChild(radioInput);
71
+ }
72
+ this.radioInputListenersAdd(radioInput);
73
+ this.focusableElement = radioInput;
74
+ };
75
+ this.popupSetUp = () => {
76
+ const popup = document.querySelector(`duet-popup-menu#${this.popup}`);
77
+ if (popup) {
78
+ this.popupElement = popup;
79
+ popup.controller = this.element;
80
+ const originalText = this.element.textContent;
81
+ const originalValue = this.value;
82
+ if (!popup.id) {
83
+ popup.id = "popup-menu";
84
+ }
85
+ popup.addEventListener("duetToggle", (evt) => {
86
+ this.popupOpen = evt.detail.open;
87
+ });
88
+ const clearActive = () => {
89
+ popup.querySelectorAll("duet-popup-menu-item").forEach(item => {
90
+ item.active = false;
91
+ });
92
+ };
93
+ popup.querySelectorAll("duet-popup-menu-item").forEach(item => {
94
+ item.addEventListener("click", evt => {
95
+ var _a;
96
+ const value = (_a = item.value) !== null && _a !== void 0 ? _a : item.innerText;
97
+ if (!item.active) {
98
+ clearActive();
99
+ item.active = true;
100
+ this.element.textContent = item.innerText;
101
+ this.value = value;
102
+ this.checked = true;
103
+ }
104
+ else {
105
+ clearActive();
106
+ this.element.textContent = originalText;
107
+ this.value = originalValue;
108
+ this.checked = false;
109
+ }
110
+ this.emitChange(evt);
111
+ // A workaround to the difference of event handling between the browers.
112
+ // Chrome will emit a separate click event on the chip after the popup is closed, resulting popup.toggle() to
113
+ // open the popup again. Firefox does not have this behavior.
114
+ setTimeout(() => {
115
+ if (this.popupElement.isOpen()) {
116
+ this.popupElement.hide();
117
+ }
118
+ });
119
+ });
120
+ });
121
+ }
122
+ };
123
+ /**
124
+ * Component event handling.
125
+ */
126
+ this.onFocus = (ev) => {
127
+ this.focus = true;
128
+ this.duetFocus.emit({
129
+ originalEvent: ev,
130
+ checked: this.checked,
131
+ value: this.value,
132
+ component: "duet-chip",
133
+ });
134
+ };
135
+ this.onBlur = (ev) => {
136
+ this.focus = false;
137
+ this.duetBlur.emit({
138
+ originalEvent: ev,
139
+ checked: this.checked,
140
+ value: this.value,
141
+ component: "duet-chip",
142
+ });
143
+ };
144
+ this.emitChange = originalEvent => {
145
+ this.duetChange.emit({
146
+ originalEvent,
147
+ checked: this.checked,
148
+ value: this.value,
149
+ component: "duet-chip",
150
+ });
151
+ };
152
+ /**
153
+ * Change checked state and emit duetChange event.
154
+ */
155
+ this.onFilterChange = (evt) => {
156
+ this.checked = !this.checked;
157
+ this.emitChange(evt);
158
+ };
159
+ /**
160
+ * Change checked state and emit duetChange event.
161
+ */
162
+ this.onRadioChange = (evt) => {
163
+ const input = this.focusableElement;
164
+ const inputChecked = input.checked;
165
+ this.checked = inputChecked;
166
+ this.emitChange(evt);
167
+ };
168
+ this.onRadioClick = (evt) => {
169
+ if (this.disabled) {
170
+ evt.preventDefault();
171
+ }
172
+ };
173
+ /**
174
+ * Stop propagation and prevent default if popup is present, as the popup controls value and checked state.
175
+ */
176
+ this.onFilterClick = (evt) => {
177
+ if (this.disabled) {
178
+ evt.stopPropagation();
179
+ evt.preventDefault();
180
+ return;
181
+ }
182
+ if (this.popupElement) {
183
+ evt.stopPropagation();
184
+ evt.preventDefault();
185
+ this.popupElement.toggle();
186
+ }
187
+ };
188
+ /**
189
+ * Remove input chip
190
+ */
191
+ this.onRemoveClick = (evt) => {
192
+ evt === null || evt === void 0 ? void 0 : evt.stopPropagation();
193
+ evt === null || evt === void 0 ? void 0 : evt.preventDefault();
194
+ this.duetRemove.emit({
195
+ originalEvent: evt,
196
+ checked: this.checked,
197
+ value: this.value,
198
+ component: "duet-chip",
199
+ });
200
+ this.element.remove();
201
+ };
202
+ this.focus = false;
203
+ this.popupElement = undefined;
204
+ this.popupOpen = undefined;
205
+ this.inputChipHover = false;
206
+ this.inputChipDeleteFocus = false;
207
+ this.accessibleLabel = undefined;
208
+ this.variation = "button";
209
+ this.size = "medium";
210
+ this.popup = undefined;
211
+ this.icon = "";
212
+ this.theme = "";
213
+ this.identifier = undefined;
214
+ this.value = undefined;
215
+ this.name = undefined;
216
+ this.selected = false;
217
+ this.checked = false;
218
+ this.disabled = false;
219
+ this.accessibleExpanded = undefined;
220
+ this.accessiblePopup = "false";
221
+ }
222
+ clearOtherRadioButtons() {
223
+ if (this.variation === "radio" && this.checked) {
224
+ const chips = document.querySelectorAll(`duet-chip[variation="radio"][name="${this.name}"]`);
225
+ chips.forEach(chip => {
226
+ if (chip !== this.element) {
227
+ chip.checked = false;
228
+ }
229
+ });
230
+ }
231
+ }
232
+ /**
233
+ * Component lifecycle events.
234
+ */
235
+ componentWillLoad() {
236
+ inheritGlobalTheme(this);
237
+ this.popupSetUp();
238
+ this.enforceNoDisabledSelected();
239
+ }
240
+ connectedCallback() {
241
+ subscribeTabbingChange(this);
242
+ }
243
+ disconnectedCallback() {
244
+ unsubscribeTabbingChange(this);
245
+ }
246
+ componentDidRender() {
247
+ if (this.variation === "radio") {
248
+ this.radioInputSetUp();
249
+ }
250
+ }
251
+ getAccessibleExpanded() {
252
+ if (this.accessibleExpanded != null) {
253
+ return (!!this.accessibleExpanded).toString();
254
+ }
255
+ if (this.popupElement) {
256
+ return this.popupOpen ? "true" : "false";
257
+ }
258
+ return undefined;
259
+ }
260
+ getAccessiblePopup() {
261
+ if (this.popupElement) {
262
+ return "true";
263
+ }
264
+ else {
265
+ return this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined;
266
+ }
267
+ }
268
+ getAccessibleDeleteLabel() {
269
+ return `${getLocaleString(this.deleteLabels)} ${this.element.textContent}`;
270
+ }
271
+ getAccessibleInputChipLabel() {
272
+ return `${this.element.textContent}${this.selected ? ` (${getLocaleString(this.selectedForDeletionLabels)}) ` : ""},`;
273
+ }
274
+ /**
275
+ * Sets focus. Use this method instead of the global focus().
276
+ */
277
+ async setFocus(options) {
278
+ setTimeout(() => this.focusableElement.focus(options), 200);
279
+ }
280
+ /**
281
+ * @internal
282
+ */
283
+ async setDeleteFocus() {
284
+ setTimeout(() => this.deleteButtonElement.focus(), 200);
285
+ }
286
+ /**
287
+ * Removes input chip. Use this method instead of the native remove() so the component can
288
+ * emit appropriate event
289
+ */
290
+ async removeChip() {
291
+ this.onRemoveClick();
292
+ }
293
+ render() {
294
+ var _a;
295
+ const identifier = this.identifier || this.chipId;
296
+ const classes = {
297
+ "duet-chip-container": true,
298
+ [`duet-chip-${this.variation}`]: true,
299
+ "duet-chip-focus": this.focus,
300
+ "duet-chip-selected": this.selected,
301
+ "duet-chip-hover": this.inputChipHover,
302
+ "duet-chip-delete-focus": this.inputChipDeleteFocus,
303
+ "duet-chip-has-icon": !!this.icon,
304
+ "duet-chip-has-popup": this.variation === "filter" && !!this.popupElement,
305
+ "duet-theme-turva": this.theme === "turva",
306
+ "duet-chip-filter-checked": this.variation === "filter" && this.checked,
307
+ "duet-chip-radio-checked": this.variation === "radio" && this.checked,
308
+ "duet-chip-filter-popup-open": this.popupOpen,
309
+ "duet-chip-disabled": this.disabled,
310
+ [this.size]: true,
311
+ };
312
+ const focusHandlers = {
313
+ onFocus: this.onFocus,
314
+ onBlur: this.onBlur,
315
+ ref: el => (this.focusableElement = el),
316
+ };
317
+ return (h(Host, { key: 'a1e4d371f57abce15c06aa88bf2faab012bde60a', class: { [this.variation]: true } }, this.variation === "button" && (h("span", { key: '48b8e4b70be8c4511a33be55c6fd25ec850fe1c2', class: classes }, h("button", Object.assign({ key: '1e92c0aff2f7d6817644759f8fc0a338a12e651e', 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", { key: 'f0dfef6892bc184005d490ad2d1d5f9ff5c21fe9', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: '490e975ca8e0573278761ac8fe978a5bac7f1188', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: '1e44610c8ab2868243517a700bfdb9e5adbd5d0d' })))), this.variation === "input" && (h("span", { key: 'b4340e31757471ddf6e7e326c4738a34f57d668c', class: classes, "aria-label": this.getAccessibleInputChipLabel() }, h("button", Object.assign({ key: 'dbb4afd5b7f46baa28a026ff4531db068eac8980', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), h("span", { key: '6e871c13f043685a2bd1fbf484256e801437a86b', class: "duet-chip-icon-container" }, this.icon && (h("duet-icon", { key: '74c2893dc01e6e13a2baf628908c5f92a3bfc9d5', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), h("slot", { key: 'f0600d50d6bc3a1b549d9d7b8a3c62d4d02ab53f' })), h("button", { key: '70055da94df9cb43034d6b70e63c2748ca91eee5', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, h("duet-icon", { key: '1201fc54755c07ce2bbadfc2ec8aa29d5faa43eb', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (h("span", { key: 'c6c3ddfc24d0bce8113029c644f01c5eceee6936', class: classes }, h("input", Object.assign({ key: 'dae5813deea4c2b7798852027cc65d2be069fa05', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), h("label", { key: '5c7534979701b02d02649f0b77aadfae19568c15', htmlFor: identifier }, this.icon && (h("span", { key: 'a92359d55dae65066120c53db2f8fcfa09f89904', class: "duet-chip-icon-container" }, h("duet-icon", { key: '9193a5782a8848231e53276b90b0ce2e665e2812', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: '78717f62e085fb0528f6ee7b141691f6c7555f42', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: '7c210530d8bb610ac7aaadd0f4a7510ddd020d12' }), this.popupElement && (h("span", { key: '2a6053db849ac7543ce7649c94a3fda09d7dd2f3', class: "duet-chip-popup-disclosure" }, h("duet-icon", { key: 'e21b78ef1b4fca374c1112e4d492ed57f8ab9cab', name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (h("span", { key: 'a964e2e03bfbf19d8a01f8475ee6d4b81c671c76', class: classes }, h("slot", { key: '3b64cb528868bf3f36b83bfe613df41d7ee17513', name: "input" }), h("label", { key: 'f3f52816c1229c2446f51642bcba073e95d44139', htmlFor: identifier }, this.icon && (h("span", { key: 'e5d0dbadb5b2cc473dd1ad618bdc3f0e00d3f02c', class: "duet-chip-icon-container" }, h("duet-icon", { key: '498cf093393d6b44a60aad4b73520d4f3ebecde2', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), h("duet-icon", { key: '153615d1f9923f824ca91a8799dfaebb9489ad47', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), h("slot", { key: '6f89ed2bcee2e5cdf1b6505f04be602fad04b904' }))))));
318
+ }
319
+ get element() { return getElement(this); }
320
+ static get watchers() { return {
321
+ "checked": ["clearOtherRadioButtons"]
322
+ }; }
323
+ };
324
+ DuetChip.style = DuetChipStyle0;
325
+
326
+ const duetPopupMenuCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(8, 42, 77);list-style:none;visibility:hidden !important;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255)}";
327
+ const DuetPopupMenuStyle0 = duetPopupMenuCss;
328
+
329
+ const DuetPopupMenu = class {
330
+ constructor(hostRef) {
331
+ registerInstance(this, hostRef);
332
+ this.duetToggle = createEvent(this, "duetToggle", 7);
333
+ this.setOpenButton = (element) => {
334
+ if (!element) {
335
+ return;
336
+ }
337
+ try {
338
+ const button = element;
339
+ button.accessiblePopup = "true";
340
+ button.accessibleExpanded = false;
341
+ if (this.controllerIcon) {
342
+ button.setAttribute("trailing-icon", "action-arrow-down-small");
343
+ }
344
+ this.openButton = button;
345
+ }
346
+ catch (_e) { }
347
+ };
348
+ this.openButtonEventListener = () => {
349
+ this.toggle();
350
+ };
351
+ this.updatePlacement = async () => {
352
+ if (!this.openButton) {
353
+ return;
354
+ }
355
+ const middleware = [
356
+ offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }),
357
+ flip({ mainAxis: !this.forcePlacement }),
358
+ ];
359
+ const coordinates = await computePosition(this.openButton, this.menuElement, {
360
+ middleware,
361
+ placement: this.placement,
362
+ strategy: this.position,
363
+ });
364
+ this.menuY = coordinates.y;
365
+ this.menuX = coordinates.x;
366
+ };
367
+ this.open = false;
368
+ this.menuY = undefined;
369
+ this.menuX = undefined;
370
+ this.accessibleLabel = undefined;
371
+ this.accessibleRole = "menu";
372
+ this.theme = "";
373
+ this.skipTeleport = undefined;
374
+ this.controller = undefined;
375
+ this.placement = "bottom-start";
376
+ this.forcePlacement = false;
377
+ this.position = "absolute";
378
+ this.mainAxisOffset = 0;
379
+ this.crossAxisOffset = 0;
380
+ this.controllerIcon = "action-arrow-down-small";
381
+ }
382
+ /**
383
+ * Component lifecycle events.
384
+ */
385
+ componentWillLoad() {
386
+ inheritGlobalTheme(this);
387
+ }
388
+ componentDidLoad() {
389
+ {
390
+ this.updatePlacement();
391
+ }
392
+ }
393
+ connectedCallback() {
394
+ this.handleControllerChange(this.controller, null);
395
+ if (!this.teleport) {
396
+ this.teleport = new Teleport(this.element);
397
+ }
398
+ if (this.teleport) {
399
+ this.teleport.activate();
400
+ }
401
+ }
402
+ disconnectedCallback() {
403
+ if (this.openButton) {
404
+ this.openButton.removeEventListener("click", this.openButtonEventListener);
405
+ if (this.controllerIcon) {
406
+ this.openButton.removeAttribute("trailing-icon");
407
+ }
408
+ }
409
+ }
410
+ /**
411
+ * Component event handling.
412
+ */
413
+ handleKeyUp(evt) {
414
+ if (this.open) {
415
+ // When Esc is pressed the menu should be closed
416
+ if (isEscapeKey(evt)) {
417
+ this.focusOpenButton();
418
+ this.hide();
419
+ }
420
+ }
421
+ }
422
+ async handleKeyDown(evt) {
423
+ if (this.open) {
424
+ if (isArrowDownKey(evt)) {
425
+ evt.preventDefault();
426
+ const current = await this.getFocusedItemIndex();
427
+ if (current !== -1) {
428
+ if (current < this.itemElements.length - 1) {
429
+ this.itemElements[current + 1].setFocus();
430
+ }
431
+ else {
432
+ this.itemElements[0].setFocus();
433
+ }
434
+ }
435
+ }
436
+ if (isArrowUpKey(evt)) {
437
+ evt.preventDefault();
438
+ const current = await this.getFocusedItemIndex();
439
+ if (current !== -1) {
440
+ if (current === 0) {
441
+ this.itemElements[this.itemElements.length - 1].setFocus();
442
+ }
443
+ else {
444
+ this.itemElements[current - 1].setFocus();
445
+ }
446
+ }
447
+ }
448
+ if (isTabKey(evt) && this.accessibleRole === "menu") {
449
+ evt.preventDefault();
450
+ this.hide();
451
+ }
452
+ }
453
+ }
454
+ handleClick(evt) {
455
+ const isClickOutside = evt.composedPath().every(node => node !== this.element && node !== this.openButton);
456
+ if (this.open && isClickOutside) {
457
+ this.hide();
458
+ }
459
+ }
460
+ /**
461
+ * isOpen.
462
+ */
463
+ async isOpen() {
464
+ return this.open;
465
+ }
466
+ /**
467
+ * Show.
468
+ */
469
+ async show() {
470
+ this.open = true;
471
+ }
472
+ /**
473
+ * Hide.
474
+ */
475
+ async hide() {
476
+ this.open = false;
477
+ }
478
+ /**
479
+ * Toggle.
480
+ */
481
+ async toggle() {
482
+ if (this.open) {
483
+ this.hide();
484
+ }
485
+ else {
486
+ this.show();
487
+ }
488
+ }
489
+ handleControllerChange(newValue, oldValue) {
490
+ if (!!newValue === !!oldValue) {
491
+ return;
492
+ }
493
+ if (typeof this.controller === "string") {
494
+ this.setOpenButton(document.getElementById(this.controller));
495
+ if (this.openButton) {
496
+ this.openButton.addEventListener("click", this.openButtonEventListener);
497
+ }
498
+ }
499
+ else {
500
+ this.setOpenButton(this.controller);
501
+ }
502
+ }
503
+ handleOpenChange(newValue, oldValue) {
504
+ if (!!newValue === !!oldValue) {
505
+ return;
506
+ }
507
+ if (this.open && !oldValue) {
508
+ if (this.openButton) {
509
+ this.openButton.accessibleExpanded = true;
510
+ }
511
+ if (this.accessibleRole !== "listbox") {
512
+ this.teleport.makeSiblingsInert();
513
+ }
514
+ this.updatePlacement();
515
+ setTimeout(() => {
516
+ if (this.accessibleRole === "menu") {
517
+ this.itemElements[0].setFocus();
518
+ }
519
+ this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
520
+ }, 200);
521
+ }
522
+ else if (!this.open && oldValue) {
523
+ if (this.openButton) {
524
+ this.openButton.accessibleExpanded = false;
525
+ }
526
+ setTimeout(() => {
527
+ if (this.accessibleRole === "menu") {
528
+ this.focusOpenButton();
529
+ }
530
+ this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
531
+ if (this.accessibleRole !== "listbox") {
532
+ this.teleport.removeInertFromSiblings();
533
+ }
534
+ }, 200);
535
+ }
536
+ }
537
+ focusOpenButton() {
538
+ if (this.open) {
539
+ focusElement(this.openButton);
540
+ }
541
+ }
542
+ get itemElements() {
543
+ return Array.from(this.element.querySelectorAll(":scope duet-popup-menu-item"));
544
+ }
545
+ async getFocusedItemIndex() {
546
+ const items = this.itemElements;
547
+ for (let i = 0; i < items.length; i++) {
548
+ if (await items[i].isFocused()) {
549
+ return i;
550
+ }
551
+ }
552
+ return -1;
553
+ }
554
+ render() {
555
+ const styles = {
556
+ top: `${this.menuY}px`,
557
+ left: `${this.menuX}px`,
558
+ position: this.position,
559
+ overflowY: "auto",
560
+ };
561
+ return (h(Host, { key: '389d4d1b46db081d29a7fa8d57fd65f9c113f7a9' }, h("div", { key: '8d5e47a1dac1f4a7b17aed4aa69afed4cfa44a39', ref: element => {
562
+ this.menuElement = element;
563
+ }, style: styles, class: { open: this.open, "duet-popup-menu-list": true, "duet-theme-turva": this.theme === "turva" }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, h("slot", { key: '09fc711a6dc838d9e345a694c5e45c09a01bf4ed' }))));
564
+ }
565
+ get element() { return getElement(this); }
566
+ static get watchers() { return {
567
+ "controller": ["handleControllerChange"],
568
+ "open": ["handleOpenChange"]
569
+ }; }
570
+ };
571
+ DuetPopupMenu.style = DuetPopupMenuStyle0;
572
+
573
+ const duetPopupMenuItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.duet-popup-menu-item{display:flex;flex-grow:1;gap:12px;align-items:center;height:100%;padding:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-popup-menu-item:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-popup-menu-item:focus,.duet-popup-menu-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-popup-menu-item.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-popup-menu-item.active{background:rgb(240, 247, 250)}.duet-popup-menu-item.active.duet-theme-turva{background:rgb(245, 247, 250)}.duet-popup-menu-item:hover{background:rgb(228, 241, 247)}.duet-popup-menu-item:hover.duet-theme-turva{background:rgb(222, 224, 228)}.duet-popup-menu-item .duet-popup-menu-item-label{flex-grow:1}.duet-popup-menu-item .duet-popup-menu-item-trailing{padding-left:20px}.active-descendant{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .active-descendant,.active-descendant.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
574
+ const DuetPopupMenuItemStyle0 = duetPopupMenuItemCss;
575
+
576
+ const DuetPopupMenuItem = class {
577
+ constructor(hostRef) {
578
+ registerInstance(this, hostRef);
579
+ this.duetFocus = createEvent(this, "duetFocus", 7);
580
+ this.duetBlur = createEvent(this, "duetBlur", 7);
581
+ /**
582
+ * Component event handling.
583
+ */
584
+ this.onFocus = (ev) => {
585
+ this.focus = true;
586
+ this.duetFocus.emit({
587
+ originalEvent: ev,
588
+ value: this.value,
589
+ component: "duet-popup-menu-item",
590
+ });
591
+ };
592
+ this.onBlur = (ev) => {
593
+ this.focus = false;
594
+ this.duetBlur.emit({
595
+ originalEvent: ev,
596
+ value: this.value,
597
+ component: "duet-popup-menu-item",
598
+ });
599
+ };
600
+ this.focus = false;
601
+ this.accessibleLabel = undefined;
602
+ this.accessibleRole = "menuitem";
603
+ this.theme = "";
604
+ this.url = undefined;
605
+ this.external = false;
606
+ this.targetLanguage = undefined;
607
+ this.value = undefined;
608
+ this.leadingIcon = undefined;
609
+ this.leadingIconColor = undefined;
610
+ this.trailingIcon = undefined;
611
+ this.trailingText = undefined;
612
+ this.active = false;
613
+ this.activeDescendant = false;
614
+ }
615
+ /**
616
+ * Component lifecycle events.
617
+ */
618
+ componentWillLoad() {
619
+ inheritGlobalTheme(this);
620
+ }
621
+ /**
622
+ * Sets focus. Use this method instead of the global focus().
623
+ */
624
+ async setFocus(options) {
625
+ setTimeout(() => this.itemElement.focus(options), 200);
626
+ }
627
+ /**
628
+ * isFocused.
629
+ */
630
+ async isFocused() {
631
+ return this.focus;
632
+ }
633
+ render() {
634
+ const TagName = this.url ? "a" : "button";
635
+ const classes = {
636
+ "duet-popup-menu-item": true,
637
+ active: this.active,
638
+ "duet-theme-turva": this.theme === "turva",
639
+ "active-descendant": this.activeDescendant,
640
+ };
641
+ return (h(Host, { key: 'e53141f7390844d3bd55d5204d7dac9334248fdc', role: this.accessibleRole }, h(TagName, { key: '73fe7bb5b8cc6fa57b12e0d210edc4ef25dd401b', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "menuitem" || "option" ? -1 : 0, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage }, this.leadingIcon && (h("duet-icon", { key: '3fd892272f52814da4c8f14ea7bec580a160e858', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), h("span", { key: '51b7da7f29ef0f85344e02b1a85aa185bca9b26a', class: "duet-popup-menu-item-label" }, h("slot", { key: '9a72c7fcaeeafe89741760d84c91382b31ab798f' })), (this.trailingIcon || this.active) && (h("duet-icon", { key: '1ddf8f956adbe24208d16c33fe28fde167babcb2', name: this.active ? "messaging-checked-small" : this.trailingIcon, size: this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && h("span", { key: '30aa34505231dbe1a78af9256920294e967a559a', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
642
+ }
643
+ get element() { return getElement(this); }
644
+ };
645
+ DuetPopupMenuItem.style = DuetPopupMenuItemStyle0;
646
+
647
+ export { DuetChip as duet_chip, DuetPopupMenu as duet_popup_menu, DuetPopupMenuItem as duet_popup_menu_item };