@duetds/components 10.3.1 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/hydrate/index.js +501 -306
  2. package/hydrate/index.mjs +501 -306
  3. package/lib/cjs/{a11y-utils-dXXDBTyF.js → a11y-utils-DaAO4N9d.js} +1 -1
  4. package/lib/cjs/{app-globals-CyPV2FZK.js → app-globals-CHNvdfQj.js} +1 -1
  5. package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
  6. package/lib/cjs/duet-alert.cjs.entry.js +4 -4
  7. package/lib/cjs/duet-badge.cjs.entry.js +29 -6
  8. package/lib/cjs/duet-banner.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
  10. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
  11. package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
  12. package/lib/cjs/duet-callout.cjs.entry.js +5 -5
  13. package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
  14. package/lib/cjs/duet-card.cjs.entry.js +3 -3
  15. package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
  16. package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
  17. package/lib/cjs/duet-chip.cjs.entry.js +8 -9
  18. package/lib/cjs/duet-choice_2.cjs.entry.js +22 -22
  19. package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
  20. package/lib/cjs/duet-combobox.cjs.entry.js +26 -10
  21. package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
  22. package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
  23. package/lib/cjs/duet-date-picker.cjs.entry.js +11 -10
  24. package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
  25. package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
  26. package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
  27. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
  28. package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
  29. package/lib/cjs/duet-footer.cjs.entry.js +8 -8
  30. package/lib/cjs/duet-grid_2.cjs.entry.js +15 -8
  31. package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
  32. package/lib/cjs/duet-hero.cjs.entry.js +9 -9
  33. package/lib/cjs/duet-icon.cjs.entry.js +5 -5
  34. package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
  35. package/lib/cjs/duet-input_2.cjs.entry.js +79 -18
  36. package/lib/cjs/duet-layout.cjs.entry.js +7 -7
  37. package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
  38. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
  39. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
  40. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
  41. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
  42. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
  43. package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
  44. package/lib/cjs/duet-modal.cjs.entry.js +12 -12
  45. package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
  46. package/lib/cjs/duet-nav.cjs.entry.js +3 -3
  47. package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
  48. package/lib/cjs/duet-number-input.cjs.entry.js +13 -11
  49. package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
  50. package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
  51. package/lib/cjs/duet-pagination_2.cjs.entry.js +17 -18
  52. package/lib/cjs/duet-panel.cjs.entry.js +4 -4
  53. package/lib/cjs/duet-phone-input.cjs.entry.js +17 -5
  54. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +21 -11
  55. package/lib/cjs/duet-progress.cjs.entry.js +3 -3
  56. package/lib/cjs/duet-promo-card.cjs.entry.js +5 -5
  57. package/lib/cjs/duet-radio_2.cjs.entry.js +10 -11
  58. package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
  59. package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
  60. package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
  61. package/lib/cjs/duet-select.cjs.entry.js +10 -10
  62. package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
  63. package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
  64. package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
  65. package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
  66. package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
  67. package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
  68. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
  69. package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
  70. package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
  71. package/lib/cjs/duet-status-icon.cjs.entry.js +7 -3
  72. package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
  73. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
  74. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
  75. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
  76. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
  77. package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
  78. package/lib/cjs/duet-textarea.cjs.entry.js +14 -21
  79. package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
  80. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
  81. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
  82. package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
  83. package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
  84. package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
  85. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +13 -11
  86. package/lib/cjs/duet-tooltip.cjs.entry.js +24 -7
  87. package/lib/cjs/duet-tray.cjs.entry.js +5 -5
  88. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
  89. package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
  90. package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
  91. package/lib/cjs/duet.cjs.js +3 -3
  92. package/lib/cjs/{errorcodes.utils-DQ-I8x2z.js → errorcodes.utils-Dkf_MfrJ.js} +1 -1
  93. package/lib/cjs/{focus-utils-DstNW4_h.js → focus-utils-BuGg0Oha.js} +1 -1
  94. package/lib/cjs/{index-B_QTwXEx.js → index-ZxE6MB5V.js} +5 -5
  95. package/lib/cjs/{label-yAj5CKm3.js → label-CpPOBfjS.js} +1 -1
  96. package/lib/cjs/{language-utils-DjtvVntE.js → language-utils-C7Z0KYg-.js} +1 -1
  97. package/lib/cjs/loader.cjs.js +3 -3
  98. package/lib/cjs/{slot-utils-YUU0XWn9.js → slot-utils-BXdHT3A1.js} +2 -2
  99. package/lib/cjs/{themeable-component-h3OzJgCb.js → themeable-component-CIDaln0Z.js} +1 -1
  100. package/lib/collection/components/duet-badge/duet-badge.css +66 -5
  101. package/lib/collection/components/duet-badge/duet-badge.js +49 -2
  102. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
  103. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
  104. package/lib/collection/components/duet-button/duet-button.css +5 -0
  105. package/lib/collection/components/duet-callout/duet-callout.js +2 -2
  106. package/lib/collection/components/duet-chip/duet-chip.js +5 -6
  107. package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
  108. package/lib/collection/components/duet-choice/duet-choice.js +12 -39
  109. package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
  110. package/lib/collection/components/duet-combobox/duet-combobox.js +22 -6
  111. package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
  112. package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -1
  113. package/lib/collection/components/duet-date-picker/duet-date-picker.js +5 -2
  114. package/lib/collection/components/duet-divider/duet-divider.js +1 -1
  115. package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
  116. package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
  117. package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
  118. package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
  119. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
  120. package/lib/collection/components/duet-footer/duet-footer.js +4 -4
  121. package/lib/collection/components/duet-grid/duet-grid.css +23 -0
  122. package/lib/collection/components/duet-grid/duet-grid.js +29 -2
  123. package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
  124. package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
  125. package/lib/collection/components/duet-heading/duet-heading.css +62 -0
  126. package/lib/collection/components/duet-heading/duet-heading.js +40 -2
  127. package/lib/collection/components/duet-hero/duet-hero.js +5 -5
  128. package/lib/collection/components/duet-icon/duet-icon.js +3 -3
  129. package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
  130. package/lib/collection/components/duet-input/duet-input.css +49 -5
  131. package/lib/collection/components/duet-input/duet-input.js +152 -15
  132. package/lib/collection/components/duet-layout/duet-layout.js +5 -5
  133. package/lib/collection/components/duet-link/duet-link.js +2 -2
  134. package/lib/collection/components/duet-list/duet-list.js +1 -1
  135. package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
  136. package/lib/collection/components/duet-logo/duet-logo.js +1 -1
  137. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
  138. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
  139. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
  140. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
  141. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
  142. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
  143. package/lib/collection/components/duet-modal/duet-modal.js +7 -7
  144. package/lib/collection/components/duet-multiselect/duet-multiselect.css +11 -2
  145. package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
  146. package/lib/collection/components/duet-nav/duet-nav.js +1 -1
  147. package/lib/collection/components/duet-notification/duet-notification.js +2 -2
  148. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
  149. package/lib/collection/components/duet-number-input/duet-number-input.js +10 -9
  150. package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
  151. package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
  152. package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
  153. package/lib/collection/components/duet-pagination/duet-pagination.js +12 -13
  154. package/lib/collection/components/duet-panel/duet-panel.js +2 -2
  155. package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
  156. package/lib/collection/components/duet-phone-input/duet-phone-input.js +13 -1
  157. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -3
  158. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
  159. package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
  160. package/lib/collection/components/duet-radio/duet-radio.js +6 -7
  161. package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
  162. package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
  163. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
  164. package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
  165. package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
  166. package/lib/collection/components/duet-select/duet-select.css +11 -2
  167. package/lib/collection/components/duet-select/duet-select.js +5 -5
  168. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
  169. package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
  170. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
  171. package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
  172. package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
  173. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
  174. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
  175. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
  176. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
  177. package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
  178. package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
  179. package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
  180. package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -2
  181. package/lib/collection/components/duet-step/duet-step.js +2 -2
  182. package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
  183. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
  184. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
  185. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
  186. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
  187. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
  188. package/lib/collection/components/duet-tab/duet-tab.js +2 -2
  189. package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
  190. package/lib/collection/components/duet-table/duet-table.js +2 -2
  191. package/lib/collection/components/duet-textarea/duet-textarea.css +11 -2
  192. package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
  193. package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
  194. package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
  195. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
  196. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
  197. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
  198. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
  199. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
  200. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
  201. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
  202. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
  203. package/lib/collection/components/duet-tooltip/duet-tooltip.js +47 -4
  204. package/lib/collection/components/duet-tray/duet-tray.js +2 -2
  205. package/lib/collection/components/duet-upload/duet-upload.js +2 -2
  206. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
  207. package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
  208. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  209. package/lib/collection/utils/math.utils.js +1 -0
  210. package/lib/collection/utils/slot-utils.js +1 -1
  211. package/lib/duet/duet.esm.js +1 -1
  212. package/lib/duet/{p-c8e520b6.entry.js → p-02d8e844.entry.js} +1 -1
  213. package/lib/duet/p-06297bd8.entry.js +4 -0
  214. package/lib/duet/p-0c04f9f5.entry.js +4 -0
  215. package/lib/duet/p-110c7572.entry.js +4 -0
  216. package/lib/duet/p-18a8ea12.entry.js +4 -0
  217. package/lib/duet/{p-d8bc628c.entry.js → p-19863cdf.entry.js} +1 -1
  218. package/lib/duet/p-1bca9931.entry.js +4 -0
  219. package/lib/duet/{p-0cc2921b.entry.js → p-1da7703d.entry.js} +1 -1
  220. package/lib/duet/{p-690beb31.entry.js → p-20a8ef81.entry.js} +1 -1
  221. package/lib/duet/p-268b3066.entry.js +4 -0
  222. package/lib/duet/{p-2e126e15.entry.js → p-2dd7d75e.entry.js} +1 -1
  223. package/lib/duet/{p-5fb1092c.entry.js → p-2f8a47e2.entry.js} +1 -1
  224. package/lib/duet/{p-608ebd47.entry.js → p-30108edc.entry.js} +1 -1
  225. package/lib/duet/{p-3a45c3a4.entry.js → p-317a1fc0.entry.js} +1 -1
  226. package/lib/duet/{p-ae778cb1.entry.js → p-317e81f3.entry.js} +1 -1
  227. package/lib/duet/p-3277233e.entry.js +4 -0
  228. package/lib/duet/{p-efa1cd0b.entry.js → p-3690576a.entry.js} +1 -1
  229. package/lib/duet/{p-d7506eaa.entry.js → p-38973524.entry.js} +1 -1
  230. package/lib/duet/{p-3d00efb7.entry.js → p-3b2fba0f.entry.js} +1 -1
  231. package/lib/duet/{p-4b8293b3.entry.js → p-3f35fce3.entry.js} +1 -1
  232. package/lib/duet/p-3f3c6e64.entry.js +4 -0
  233. package/lib/duet/{p-06f17fe7.entry.js → p-3f7afd87.entry.js} +1 -1
  234. package/lib/duet/p-407f7f03.entry.js +4 -0
  235. package/lib/duet/p-40fa7371.entry.js +4 -0
  236. package/lib/duet/p-42ec7305.entry.js +4 -0
  237. package/lib/duet/p-43e076b5.entry.js +4 -0
  238. package/lib/duet/p-443af533.entry.js +4 -0
  239. package/lib/duet/{p-2d963ab0.entry.js → p-461d4089.entry.js} +1 -1
  240. package/lib/duet/p-4af6a8ed.entry.js +4 -0
  241. package/lib/duet/{p-ecf69f6d.entry.js → p-4b7f1244.entry.js} +1 -1
  242. package/lib/duet/{p-18eada94.entry.js → p-516397ba.entry.js} +1 -1
  243. package/lib/duet/p-5284c707.entry.js +4 -0
  244. package/lib/duet/{p-1e168d4b.entry.js → p-52beb436.entry.js} +1 -1
  245. package/lib/duet/p-5c9f443c.entry.js +4 -0
  246. package/lib/duet/{p-968546f6.entry.js → p-5f5f72d4.entry.js} +1 -1
  247. package/lib/duet/p-5lFzA17H.js +4 -0
  248. package/lib/duet/{p-a6bec2da.entry.js → p-61ec0e1c.entry.js} +1 -1
  249. package/lib/duet/{p-07b9b6c3.entry.js → p-6b469225.entry.js} +1 -1
  250. package/lib/duet/{p-10a326fa.entry.js → p-6ef683d5.entry.js} +1 -1
  251. package/lib/duet/{p-de4b0518.entry.js → p-70612314.entry.js} +1 -1
  252. package/lib/duet/{p-6cffc5b7.entry.js → p-70961edb.entry.js} +1 -1
  253. package/lib/duet/p-7294c37d.entry.js +4 -0
  254. package/lib/duet/{p-7ce31e10.entry.js → p-72b504ef.entry.js} +1 -1
  255. package/lib/duet/p-734249e0.entry.js +4 -0
  256. package/lib/duet/{p-4856f07c.entry.js → p-7353ee4c.entry.js} +1 -1
  257. package/lib/duet/p-74aac967.entry.js +4 -0
  258. package/lib/duet/{p-ed750cdf.entry.js → p-7c08fd87.entry.js} +1 -1
  259. package/lib/duet/{p-44a97d21.entry.js → p-7eea47d5.entry.js} +1 -1
  260. package/lib/duet/{p-86166f8d.entry.js → p-7fd39204.entry.js} +1 -1
  261. package/lib/duet/{p-898d5701.entry.js → p-8012c7bc.entry.js} +1 -1
  262. package/lib/duet/{p-162a0691.entry.js → p-829db926.entry.js} +1 -1
  263. package/lib/duet/p-83238bf3.entry.js +4 -0
  264. package/lib/duet/{p-25b4886a.entry.js → p-833802f9.entry.js} +1 -1
  265. package/lib/duet/{p-2ac11077.entry.js → p-86ffd3cb.entry.js} +1 -1
  266. package/lib/duet/{p-8a28f86e.entry.js → p-871620d3.entry.js} +1 -1
  267. package/lib/duet/{p-d2e74e89.entry.js → p-8ace1eb4.entry.js} +1 -1
  268. package/lib/duet/p-8b0dfbd7.entry.js +4 -0
  269. package/lib/duet/p-93ff8fe4.entry.js +4 -0
  270. package/lib/duet/{p-a8229728.entry.js → p-9ae7aaef.entry.js} +1 -1
  271. package/lib/duet/{p-f71d04ce.entry.js → p-9c9811ba.entry.js} +1 -1
  272. package/lib/duet/{p-f15ab3b8.entry.js → p-9e1a59d1.entry.js} +1 -1
  273. package/lib/duet/{p-DrqQiRTn.js → p-B2cboDWM.js} +1 -1
  274. package/lib/duet/{p-CW11pVgw.js → p-B8-N_qjs.js} +1 -1
  275. package/lib/duet/p-BzYmwX5_.js +4 -0
  276. package/lib/duet/{p-BUWuSkQW.js → p-C5Yfx2kd.js} +1 -1
  277. package/lib/duet/{p-DFAnksuG.js → p-CFqvB5PA.js} +1 -1
  278. package/lib/duet/p-Cg4m_WHe.js +4 -0
  279. package/lib/duet/{p-B6Z_1gqI.js → p-R3pTP2Oy.js} +1 -1
  280. package/lib/duet/p-a068c086.entry.js +4 -0
  281. package/lib/duet/p-a483117e.entry.js +4 -0
  282. package/lib/duet/p-a5177d32.entry.js +4 -0
  283. package/lib/duet/{p-65350441.entry.js → p-a8876b3d.entry.js} +1 -1
  284. package/lib/duet/{p-5c9530f1.entry.js → p-a9104184.entry.js} +1 -1
  285. package/lib/duet/{p-b4c18ee6.entry.js → p-b1326cbb.entry.js} +1 -1
  286. package/lib/duet/{p-17413943.entry.js → p-b747f6e9.entry.js} +1 -1
  287. package/lib/duet/{p-12b2d402.entry.js → p-bdbf0fae.entry.js} +1 -1
  288. package/lib/duet/{p-b6dc4395.entry.js → p-c1afac0d.entry.js} +1 -1
  289. package/lib/duet/p-c2026c6b.entry.js +4 -0
  290. package/lib/duet/{p-301b8664.entry.js → p-c216e746.entry.js} +1 -1
  291. package/lib/duet/{p-bfc75bb9.entry.js → p-c54be349.entry.js} +1 -1
  292. package/lib/duet/{p-fca9c5c4.entry.js → p-cb6c4158.entry.js} +1 -1
  293. package/lib/duet/{p-278ef4d8.entry.js → p-cbcee3e2.entry.js} +1 -1
  294. package/lib/duet/{p-0ccecf5b.entry.js → p-d3b5c997.entry.js} +1 -1
  295. package/lib/duet/{p-ec689a7c.entry.js → p-d3baa815.entry.js} +1 -1
  296. package/lib/duet/{p-f55f8bd9.entry.js → p-d5f90dbc.entry.js} +1 -1
  297. package/lib/duet/{p-b9a54319.entry.js → p-d6f0afa5.entry.js} +1 -1
  298. package/lib/duet/{p-d83f38c7.entry.js → p-d779fe42.entry.js} +1 -1
  299. package/lib/duet/{p-806c4ab8.entry.js → p-dedf6a32.entry.js} +1 -1
  300. package/lib/duet/{p-5fb783eb.entry.js → p-e08dce92.entry.js} +1 -1
  301. package/lib/duet/{p-fe00331c.entry.js → p-e7f2359a.entry.js} +1 -1
  302. package/lib/duet/{p-419b96b6.entry.js → p-efa4eecc.entry.js} +1 -1
  303. package/lib/duet/p-f040706c.entry.js +4 -0
  304. package/lib/duet/{p-17c063a3.entry.js → p-fa13ffe9.entry.js} +1 -1
  305. package/lib/duet/{p-93abd97a.entry.js → p-fe829b53.entry.js} +1 -1
  306. package/lib/duet/p-s8EL6NG5.js +4 -0
  307. package/lib/esm/{a11y-utils-D66Lzlz5.js → a11y-utils-ChN5Nhxh.js} +1 -1
  308. package/lib/esm/{app-globals-G9KPoeGD.js → app-globals-4kCk2rkO.js} +1 -1
  309. package/lib/esm/duet-action-button.entry.js +3 -3
  310. package/lib/esm/duet-alert.entry.js +4 -4
  311. package/lib/esm/duet-badge.entry.js +29 -6
  312. package/lib/esm/duet-banner.entry.js +3 -3
  313. package/lib/esm/duet-breadcrumb.entry.js +6 -6
  314. package/lib/esm/duet-breadcrumbs.entry.js +5 -5
  315. package/lib/esm/duet-button_2.entry.js +5 -5
  316. package/lib/esm/duet-callout.entry.js +5 -5
  317. package/lib/esm/duet-caption_4.entry.js +12 -12
  318. package/lib/esm/duet-card.entry.js +3 -3
  319. package/lib/esm/duet-checkbox.entry.js +3 -3
  320. package/lib/esm/duet-checkmark.entry.js +4 -4
  321. package/lib/esm/duet-chip.entry.js +8 -9
  322. package/lib/esm/duet-choice_2.entry.js +22 -22
  323. package/lib/esm/duet-collapsible.entry.js +3 -3
  324. package/lib/esm/duet-combobox.entry.js +26 -10
  325. package/lib/esm/duet-contact-card.entry.js +5 -5
  326. package/lib/esm/duet-cookie-consent.entry.js +2 -2
  327. package/lib/esm/duet-date-picker.entry.js +11 -10
  328. package/lib/esm/duet-divider_2.entry.js +4 -4
  329. package/lib/esm/duet-editable-table_3.entry.js +10 -10
  330. package/lib/esm/duet-empty-state.entry.js +33 -7
  331. package/lib/esm/duet-fieldset.entry.js +6 -6
  332. package/lib/esm/duet-file-chooser.entry.js +3 -3
  333. package/lib/esm/duet-footer.entry.js +8 -8
  334. package/lib/esm/duet-grid_2.entry.js +15 -8
  335. package/lib/esm/duet-header_2.entry.js +4 -4
  336. package/lib/esm/duet-hero.entry.js +9 -9
  337. package/lib/esm/duet-icon.entry.js +5 -5
  338. package/lib/esm/duet-indicator.entry.js +5 -5
  339. package/lib/esm/duet-input_2.entry.js +79 -18
  340. package/lib/esm/duet-layout.entry.js +7 -7
  341. package/lib/esm/duet-list_2.entry.js +5 -5
  342. package/lib/esm/duet-menu-bar-button.entry.js +4 -4
  343. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
  344. package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
  345. package/lib/esm/duet-menu-bar-item.entry.js +7 -7
  346. package/lib/esm/duet-menu-bar-link.entry.js +4 -4
  347. package/lib/esm/duet-menu-bar.entry.js +6 -6
  348. package/lib/esm/duet-modal.entry.js +12 -12
  349. package/lib/esm/duet-multiselect.entry.js +11 -11
  350. package/lib/esm/duet-nav.entry.js +3 -3
  351. package/lib/esm/duet-notification_2.entry.js +9 -9
  352. package/lib/esm/duet-number-input.entry.js +13 -11
  353. package/lib/esm/duet-overlay.entry.js +3 -3
  354. package/lib/esm/duet-page-heading.entry.js +20 -5
  355. package/lib/esm/duet-pagination_2.entry.js +17 -18
  356. package/lib/esm/duet-panel.entry.js +4 -4
  357. package/lib/esm/duet-phone-input.entry.js +17 -5
  358. package/lib/esm/duet-popup-menu_2.entry.js +21 -11
  359. package/lib/esm/duet-progress.entry.js +3 -3
  360. package/lib/esm/duet-promo-card.entry.js +5 -5
  361. package/lib/esm/duet-radio_2.entry.js +10 -11
  362. package/lib/esm/duet-range-slider.entry.js +6 -6
  363. package/lib/esm/duet-scrollable_3.entry.js +15 -15
  364. package/lib/esm/duet-section-layout.entry.js +4 -4
  365. package/lib/esm/duet-select.entry.js +10 -10
  366. package/lib/esm/duet-shaped-image.entry.js +4 -4
  367. package/lib/esm/duet-share-chart-item.entry.js +2 -2
  368. package/lib/esm/duet-share-chart.entry.js +6 -6
  369. package/lib/esm/duet-show-more.entry.js +5 -5
  370. package/lib/esm/duet-slideout-lang.entry.js +4 -4
  371. package/lib/esm/duet-slideout-link.entry.js +7 -7
  372. package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
  373. package/lib/esm/duet-slideout-panel.entry.js +11 -11
  374. package/lib/esm/duet-slideout.entry.js +10 -10
  375. package/lib/esm/duet-status-icon.entry.js +7 -3
  376. package/lib/esm/duet-step_2.entry.js +6 -6
  377. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
  378. package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
  379. package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
  380. package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
  381. package/lib/esm/duet-submenu-bar.entry.js +7 -7
  382. package/lib/esm/duet-textarea.entry.js +14 -21
  383. package/lib/esm/duet-toggle.entry.js +8 -8
  384. package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
  385. package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
  386. package/lib/esm/duet-toolbar-item.entry.js +8 -8
  387. package/lib/esm/duet-toolbar-link.entry.js +4 -4
  388. package/lib/esm/duet-toolbar.entry.js +4 -4
  389. package/lib/esm/duet-tooltip-button_2.entry.js +13 -11
  390. package/lib/esm/duet-tooltip.entry.js +25 -8
  391. package/lib/esm/duet-tray.entry.js +5 -5
  392. package/lib/esm/duet-upload-aria-status.entry.js +2 -2
  393. package/lib/esm/duet-upload-item.entry.js +6 -6
  394. package/lib/esm/duet-visually-hidden.entry.js +2 -2
  395. package/lib/esm/duet.js +4 -4
  396. package/lib/esm/{errorcodes.utils-C6zptXiM.js → errorcodes.utils-DuFCu_27.js} +1 -1
  397. package/lib/esm/{focus-utils-YZ2ticmM.js → focus-utils-CFswdkeD.js} +1 -1
  398. package/lib/esm/{index-DrqQiRTn.js → index-B2cboDWM.js} +5 -5
  399. package/lib/esm/{label-CnTwCD-3.js → label-CJxIWUOT.js} +1 -1
  400. package/lib/esm/{language-utils-BEG0cFmw.js → language-utils-C4M4ASkT.js} +1 -1
  401. package/lib/esm/loader.js +4 -4
  402. package/lib/esm/{slot-utils-Dzrezpl3.js → slot-utils--sNK1DNn.js} +2 -2
  403. package/lib/esm/{themeable-component-BLql61nC.js → themeable-component-BBi3552X.js} +1 -1
  404. package/lib/types/common-types.d.ts +11 -28
  405. package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
  406. package/lib/types/components/duet-chip/duet-chip.d.ts +1 -1
  407. package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
  408. package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
  409. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  410. package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
  411. package/lib/types/components/duet-input/duet-input.d.ts +31 -3
  412. package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
  413. package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
  414. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +2 -0
  415. package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
  416. package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
  417. package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
  418. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
  419. package/lib/types/components.d.ts +151 -14
  420. package/lib/types/utils/math.utils.d.ts +1 -0
  421. package/package.json +5 -5
  422. package/lib/duet/p-0a80de40.entry.js +0 -4
  423. package/lib/duet/p-162993d2.entry.js +0 -4
  424. package/lib/duet/p-234f4365.entry.js +0 -4
  425. package/lib/duet/p-245c0535.entry.js +0 -4
  426. package/lib/duet/p-29599dc5.entry.js +0 -4
  427. package/lib/duet/p-3d0a716c.entry.js +0 -4
  428. package/lib/duet/p-3eba33cd.entry.js +0 -4
  429. package/lib/duet/p-550bfab9.entry.js +0 -4
  430. package/lib/duet/p-5c60eca3.entry.js +0 -4
  431. package/lib/duet/p-67b3a01a.entry.js +0 -4
  432. package/lib/duet/p-6e1b9cc8.entry.js +0 -4
  433. package/lib/duet/p-9172ba70.entry.js +0 -4
  434. package/lib/duet/p-BQVGvl4H.js +0 -4
  435. package/lib/duet/p-CLZq8YfV.js +0 -4
  436. package/lib/duet/p-D2JvSVnG.js +0 -4
  437. package/lib/duet/p-ELbbzMVZ.js +0 -4
  438. package/lib/duet/p-a3ad5622.entry.js +0 -4
  439. package/lib/duet/p-a73b7110.entry.js +0 -4
  440. package/lib/duet/p-b1d91a91.entry.js +0 -4
  441. package/lib/duet/p-b9be36c8.entry.js +0 -4
  442. package/lib/duet/p-bdae48d3.entry.js +0 -4
  443. package/lib/duet/p-bdf6a296.entry.js +0 -4
  444. package/lib/duet/p-c8d10c67.entry.js +0 -4
  445. package/lib/duet/p-ce4d9add.entry.js +0 -4
  446. package/lib/duet/p-da275568.entry.js +0 -4
  447. package/lib/duet/p-dc5682d8.entry.js +0 -4
  448. package/lib/duet/p-e050ed5c.entry.js +0 -4
  449. package/lib/duet/p-e9c2eb66.entry.js +0 -4
  450. package/lib/duet/p-ec5f40a5.entry.js +0 -4
  451. package/lib/duet/p-f68a4a23.entry.js +0 -4
  452. package/lib/duet/p-f8e26f21.entry.js +0 -4
@@ -66,6 +66,19 @@
66
66
  height: 20px;
67
67
  pointer-events: none;
68
68
  }
69
+ .duet-tooltip-button.duet-tooltip-button-in-badge {
70
+ width: 16px;
71
+ min-width: 16px;
72
+ height: 16px;
73
+ color: inherit;
74
+ }
75
+ .duet-tooltip-button.duet-tooltip-button-in-badge:focus {
76
+ outline: 0 !important;
77
+ }
78
+ .duet-tooltip-button.duet-tooltip-button-in-badge svg {
79
+ width: 12px;
80
+ height: 12px;
81
+ }
69
82
 
70
83
  .duet-tooltip-button-has-label {
71
84
  margin-right: 0;
@@ -86,14 +99,15 @@
86
99
  white-space: normal;
87
100
  }
88
101
 
89
- .duet-tooltip-button.duet-theme-turva {
102
+ .duet-theme-turva.duet-tooltip-button {
90
103
  color: rgb(230, 23, 64);
91
104
  }
92
-
93
- .duet-tooltip-button.duet-theme-turva:hover {
105
+ .duet-theme-turva.duet-tooltip-button:hover {
94
106
  color: rgb(230, 23, 64);
95
107
  }
96
-
108
+ .duet-theme-turva.duet-tooltip-button.duet-tooltip-button-in-badge {
109
+ color: inherit;
110
+ }
97
111
  .duet-theme-turva .duet-tooltip-label {
98
112
  font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
99
113
  }
@@ -13,6 +13,7 @@ export class DuetTooltipButton {
13
13
  this.label = "";
14
14
  this.theme = "";
15
15
  this.negative = false;
16
+ this.inBadge = false;
16
17
  }
17
18
  /**
18
19
  * Component lifecycle events.
@@ -36,13 +37,14 @@ export class DuetTooltipButton {
36
37
  * Always the last one in the class.
37
38
  */
38
39
  render() {
39
- const visuallyHidden = h("duet-visually-hidden", { key: '70a82f2c22f0f4f4550e15b1e7ec8c526e3c122e' }, this.accessibleLabel);
40
- return (h(Host, { key: '19556e89ed879d642f95db9e14dfe6350af14858' }, h("button", { key: '2b2fab3108b3575da91c00ad81a763d776476b28', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
40
+ const visuallyHidden = h("duet-visually-hidden", { key: 'ded762f4e7856c8f1c4d095463a406e98f7b82f0' }, this.accessibleLabel);
41
+ return (h(Host, { key: '6711d2a89b2dc210baf333a0c0023e78b7d5697f' }, h("button", { key: '1d9e860f68303cbe9f78df1b29643d27d266168c', ref: el => (this.buttonElement = el), "aria-controls": this.tooltipId, "aria-expanded": this.active ? "true" : "false", type: "button", class: {
41
42
  "duet-tooltip-button": true,
42
43
  "duet-tooltip-button-has-label": !!this.label,
43
44
  "duet-theme-turva": this.theme === "turva",
44
45
  "duet-tooltip-button-negative": this.negative,
45
- } }, h("svg", { key: 'b665bf9fc4f777eed4e4e152c394adce11fc4f4e', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '2f25f9fefa3c82c6f182507c79d3a9cf904fa009', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), h("circle", { key: '2b0bea40ebef849a5faf6958f2d6da457180eaa1', cx: "11.625", cy: "7.125", r: "1.125" }), h("path", { key: '44744f79a997b131473388d0e02347277d04c42e', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (h("span", { class: "duet-tooltip-label" }, this.label, visuallyHidden)) : (visuallyHidden))));
46
+ "duet-tooltip-button-in-badge": this.inBadge,
47
+ } }, h("svg", { key: 'c9891f25e887b6d7a7a4abac4df3a70e4ddf384a', "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '9bd8e387ee6d5a371c80a5f2804661463b044875', d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), h("circle", { key: '438bd9ee6f284ee38e3dab022b945fce9f1623ed', cx: "11.625", cy: "7.125", r: "1.125" }), h("path", { key: '210feefcda3be6b66e077942f3e55129a2492277', d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (h("span", { class: "duet-tooltip-label" }, this.label, visuallyHidden)) : (visuallyHidden))));
46
48
  }
47
49
  static get is() { return "duet-tooltip-button"; }
48
50
  static get encapsulation() { return "shadow"; }
@@ -180,6 +182,26 @@ export class DuetTooltipButton {
180
182
  "getter": false,
181
183
  "setter": false,
182
184
  "reflect": false
185
+ },
186
+ "inBadge": {
187
+ "type": "boolean",
188
+ "attribute": "in-badge",
189
+ "mutable": false,
190
+ "complexType": {
191
+ "original": "boolean",
192
+ "resolved": "boolean",
193
+ "references": {}
194
+ },
195
+ "required": false,
196
+ "optional": false,
197
+ "docs": {
198
+ "tags": [],
199
+ "text": ""
200
+ },
201
+ "getter": false,
202
+ "setter": false,
203
+ "reflect": false,
204
+ "defaultValue": "false"
183
205
  }
184
206
  };
185
207
  }
@@ -49,7 +49,7 @@
49
49
  pointer-events: none;
50
50
  }
51
51
  .duet-tooltip .arrow.bottom, .duet-tooltip .arrow.bottom-start, .duet-tooltip .arrow.bottom-end {
52
- top: -20px;
52
+ top: -21px;
53
53
  }
54
54
  .duet-tooltip .arrow-container {
55
55
  position: relative;
@@ -53,14 +53,14 @@ export class DuetTooltipPopup {
53
53
  this.contentEl.focus();
54
54
  }
55
55
  render() {
56
- return (h(Host, { key: 'cf44855d08d69141e629987f9ba2fdccdcdc21d7' }, h("div", { key: 'bf7580b8ecdf58b6c93c3c21cbb362234cc699b4', class: {
56
+ return (h(Host, { key: '29d3de91254dc1a869484f580648311e15f56b30' }, h("div", { key: '662564b5f5fc5f057084ca43fbe0d5d63fa2dc9f', class: {
57
57
  "duet-tooltip": true,
58
58
  "duet-theme-turva": this.theme === "turva",
59
59
  "duet-tooltip-active": this.active === true,
60
- } }, h(FocusGuard, { key: '6f5a516e23035e8e0b9c2951ef4a10243b564d17', moveFocusTo: this.buttonEl }), h("div", { key: '3d1031a521b8085ee786692f678a599fe7c02512', ref: element => (this.contentEl = element), class: {
60
+ } }, h(FocusGuard, { key: '92e046c9658d3e58aa005493211c2e80b7f6d4e9', moveFocusTo: this.buttonEl }), h("div", { key: '13dec9440e718fa77cb153d95cc85767b363b560', ref: element => (this.contentEl = element), class: {
61
61
  "duet-tooltip-content-area": true,
62
62
  "duet-theme-turva": this.theme === "turva",
63
- }, tabindex: -1, id: this.tooltipId }, h("slot", { key: 'f40fff5023fe51f2413b7a2cc3fd4fcae353502e' })), h("div", { key: 'e549848c426e3056c540a3b7aa808f05416bb5b3', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, h("div", { key: '21e7fddb4ee364c03887c4238dfe3d23beb97ac3', class: { "arrow-container": true, [this.placement]: true } })), h("button", { key: 'fbef02a023d8b1943a812811e574c9953dce843e', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, h("duet-icon", { key: '7b4b8aaac8a97ede79cb3390f2e85159dbc0e61f', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), h("duet-visually-hidden", { key: '9fd02bc99e3fdb9791575525da12a2998d40334a' }, this.accessibleCloseLabel)), h(FocusGuard, { key: '794b71cceb911fbcfdf27110c0d08bd5da230944', moveFocusTo: this.contentEl }))));
63
+ }, tabindex: -1, id: this.tooltipId }, h("slot", { key: '2b64af48cdfa6caeed19a5f2d013b46d99e4bfde' })), h("div", { key: '77032302c1bef1d1b58194dfae5cc3f4e53a2bd4', ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, h("div", { key: '5cf2ad060245b552eacc2cb4baf7d23bd167fefa', class: { "arrow-container": true, [this.placement]: true } })), h("button", { key: 'd2c072d73e9c1830d9dda8cbdddcabb926741a58', type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, h("duet-icon", { key: '3139344fdf52410ea53e3fd84fc2c464c446e696', name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), h("duet-visually-hidden", { key: '45770929e752f3292cfb55a302c4bbb788ae7d52' }, this.accessibleCloseLabel)), h(FocusGuard, { key: 'b88bd4a634b78548fb910db91e2b3263cb7e5bd2', moveFocusTo: this.contentEl }))));
64
64
  }
65
65
  static get is() { return "duet-tooltip-popup"; }
66
66
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@
2
2
  * Built with Duet Design System
3
3
  */
4
4
  import { media_query_large, media_query_medium } from "@duetds/tokens/lib/tokens.json";
5
- import { arrow, autoUpdate, computePosition, flip, shift } from "@floating-ui/dom";
5
+ import { arrow, autoUpdate, computePosition, flip, offset, shift } from "@floating-ui/dom";
6
6
  import { Build, h, Host } from "@stencil/core";
7
7
  import { inheritGlobalTheme } from "../../common";
8
8
  import { createID } from "../../utils/create-id";
@@ -163,9 +163,13 @@ export class DuetTooltip {
163
163
  // Not closing via this.closeTooltip() as it calls this.updatePlacement() causing an infinite loop
164
164
  this.active = false;
165
165
  }
166
- const position = await computePosition(this.buttonEl, this.popupElement, {
166
+ const middleware = [flip(), shift({ padding: 5 }), arrow({ element: this.arrowEl })];
167
+ if (this.badgeElement) {
168
+ middleware.unshift(offset(10));
169
+ }
170
+ const position = await computePosition(this.badgeElement || this.buttonEl, this.popupElement, {
167
171
  placement,
168
- middleware: [flip(), shift({ padding: 5 }), arrow({ element: this.arrowEl })],
172
+ middleware,
169
173
  });
170
174
  this.tooltipY = position.y;
171
175
  this.tooltipX = position.x;
@@ -173,6 +177,12 @@ export class DuetTooltip {
173
177
  this.arrowY = (_a = position.middlewareData.arrow) === null || _a === void 0 ? void 0 : _a.y;
174
178
  this.arrowX = (_b = position.middlewareData.arrow) === null || _b === void 0 ? void 0 : _b.x;
175
179
  };
180
+ this.badgeClick = (ev) => {
181
+ if (ev.composedPath().includes(this.buttonEl)) {
182
+ return;
183
+ }
184
+ this.buttonEl.click();
185
+ };
176
186
  }
177
187
  /**
178
188
  * Component lifecycle events.
@@ -216,9 +226,16 @@ export class DuetTooltip {
216
226
  cloneDefaultSlotContent(this.element, this.popupElement);
217
227
  this.firstRender = false;
218
228
  }
229
+ if (this.badgeElement) {
230
+ this.badgeElement.removeEventListener("click", this.badgeClick);
231
+ this.badgeElement.addEventListener("click", this.badgeClick);
232
+ }
219
233
  }
220
234
  disconnectedCallback() {
221
235
  disconnectLanguageChangeObserver(this);
236
+ if (this.badgeElement) {
237
+ this.badgeElement.removeEventListener("click", this.badgeClick);
238
+ }
222
239
  }
223
240
  handleDocumentClick(e) {
224
241
  if (!this.active) {
@@ -273,7 +290,7 @@ export class DuetTooltip {
273
290
  return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.buttonActive, tooltipId: this.tooltipId, label: this.label, accessibleLabel: (this.accessibleInputLabel && `${this.accessibleInputLabel}, ${this.accessibleLabel}`) ||
274
291
  (this.accessibleAboutLabel &&
275
292
  `${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`) ||
276
- this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme, negative: this.negative }), h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, hidden: this.hidePopUp, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null))));
293
+ this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme, negative: this.negative, "in-badge": !!this.badgeElement }), h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, hidden: this.hidePopUp, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null))));
277
294
  }
278
295
  static get is() { return "duet-tooltip"; }
279
296
  static get encapsulation() { return "shadow"; }
@@ -643,6 +660,32 @@ export class DuetTooltip {
643
660
  "setter": false,
644
661
  "reflect": false,
645
662
  "defaultValue": "false"
663
+ },
664
+ "badgeElement": {
665
+ "type": "unknown",
666
+ "attribute": "badge-element",
667
+ "mutable": false,
668
+ "complexType": {
669
+ "original": "HTMLDuetBadgeElement",
670
+ "resolved": "HTMLDuetBadgeElement",
671
+ "references": {
672
+ "HTMLDuetBadgeElement": {
673
+ "location": "global",
674
+ "id": "global::HTMLDuetBadgeElement"
675
+ }
676
+ }
677
+ },
678
+ "required": false,
679
+ "optional": false,
680
+ "docs": {
681
+ "tags": [{
682
+ "name": "internal",
683
+ "text": "When used inside a duet-badge"
684
+ }],
685
+ "text": ""
686
+ },
687
+ "getter": false,
688
+ "setter": false
646
689
  }
647
690
  };
648
691
  }
@@ -129,14 +129,14 @@ export class DuetTray {
129
129
  * Always the last one in the class.
130
130
  */
131
131
  render() {
132
- return (h("div", { key: '4feb3ea8d6067ec6d82c6eaf9225fe6728bd4acc', class: {
132
+ return (h("div", { key: '62e6d87f9a5ff9a959bd15fea1a0b6d4f2f78018', class: {
133
133
  "duet-tray": true,
134
134
  "duet-tray-is-active": this.active,
135
135
  "duet-tray-is-hidden": this.hiddenState,
136
136
  "duet-tray-is-responsive": this.responsive,
137
137
  "duet-theme-turva": this.theme === "turva",
138
138
  "duet-tray-is-expandable": this.hasAdditionalContent,
139
- } }, h("div", { key: 'c51904bcc9f3d0297da08c32952be7ea690bafc8', class: "duet-tray-default-content", role: "status" }, h("slot", { key: '52e8b11bdf354f65b34fb1d6d2facbf636a01758' })), this.hasAdditionalContent && (h(Fragment, { key: '86e6560df02094fcc7b7df9146c34c47923d89eb' }, h("button", { key: '000c5472ff2f7f1a0ffe6e796817a51fcaecd856', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, h("duet-icon", { key: '02489a52896b40ce4916a3b6dfcdd40d36212251', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), h("duet-visually-hidden", { key: '866528d950899fe557f6023f8f9ca79e9545fd15' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), h("div", { key: 'c3400e3dda10617ffd45395e46247ef88a2157a8', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, h("div", { key: 'f2176a2e171dfae93254cba98d31e13855c3b0e5', class: "duet-tray-expandable-content" }, h("slot", { key: '21d7e1276815c885a9832fcdb87ffbd96fe8a03c', name: "additional" })))))));
139
+ } }, h("div", { key: 'f1c78227de8998333acf857905e95c6d6be25937', class: "duet-tray-default-content", role: "status" }, h("slot", { key: 'd7748f81620cd98c5a8b35a18e344302d756a0a0' })), this.hasAdditionalContent && (h(Fragment, { key: 'f87597291a46075ceda6d114fe67ffa1df52870b' }, h("button", { key: '2886b0325718e16d0c904fa327ceb3d8c318d7bf', "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, h("duet-icon", { key: 'afe046c5fc6baf22268fe063cd0c6d2bd0e661ea', name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), h("duet-visually-hidden", { key: '44c04a86d76063ef62ecd3544f25a09a1d6901dc' }, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), h("div", { key: '89aa1e7d332a1d8aa649eaff0c798bfaf6349964', id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, h("div", { key: 'ad9f9814c60e70a8a19a0872d3006fcdd4d36f62', class: "duet-tray-expandable-content" }, h("slot", { key: 'd319a5002fb41dbd3f7d036c881a064a5f2dd832', name: "additional" })))))));
140
140
  }
141
141
  static get is() { return "duet-tray"; }
142
142
  static get encapsulation() { return "shadow"; }
@@ -953,10 +953,10 @@ export class DuetUpload {
953
953
  this.externalUploadButton.accessibleLabel = `${this.externalUploadButton.innerText}. ${caption}`;
954
954
  }
955
955
  // @ts-ignore
956
- return (h(Host, { key: 'dc222a10613a05aa4d56526accf4f20d09a85524', class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { key: 'afd3bbefc25846e30ea0a4a3dd6fef490cfce55d', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, h("slot", { key: '9927e358eb190f2023f863d4de2306390d71fc8b', name: "header" }), !this.files.size && (h("duet-empty-state", { key: '843385b600508604aeed2894ae0d13134c4726d0', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { key: 'c75ef6ac779000de5dee49f7793a01dcad735808', margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { key: 'f9756746a31507f1dca930bdf7fea75ccf2c577b', name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { key: 'b88ca83dcc669708410ac4ff2ab95c171909bcfd', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && h("slot", { key: 'cf7410f30e64f19d7dfc05848cae516c3c4c4998', name: "filefooter" }), h("slot", { key: '3d6ae7f015427bc576b46bcbad37ad21c75c5cff', name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { key: 'd9839e2f61e00879f0fe4d804b76884eb3a3c426', margin: "none", size: "small" }, h("div", { key: '0793e849c010f2611e8c30fc9a1adfd5739036ca', class: "upload-bottom-caption" }, caption))), h("slot", { key: 'aea1cf5e8be9c04cfe942a63b609304b89dbd3bf', name: "afterfooter" }), !this.hideButton && (h(Fragment, { key: '5bc3f7808057aecbe5a082aa960cfd0179a5ebb8' }, h("duet-spacer", { key: 'dea860e2657fdd9d826a56ed1cbd3c29c27a6566', size: "large" }), h("duet-button", { key: 'd2e2120f450bd44190d819bcc8b7d3193a2fd7f1', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
956
+ return (h(Host, { key: 'fe296e7a1f173e1f9d106725647de568270f7381', class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { key: '72451c8e8021c8efdbef350e92d5d00db671f5eb', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, h("slot", { key: '120762b8d74276d518b1a4aa5ebc9267bb821b86', name: "header" }), !this.files.size && (h("duet-empty-state", { key: '7d1685f051c1607ed5984f21ca0306cffb135f9c', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { key: '4341d78e97e8842976517a9427dad1fb79f15600', margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { key: 'ebd5fcbee689a2d69689a66da5770057f959e05b', name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { key: 'da8d067ccff2b9de4ef7036d28538c3e1a99813a', invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && h("slot", { key: '72fb36ce235d388cf811d0b1e2689e673f166aee', name: "filefooter" }), h("slot", { key: '1f0f3dc31f01636b94567622dc365a743bb9c555', name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { key: '071ab836a62ea4c49ab66af59eebf8fd8e6ac0a1', margin: "none", size: "small" }, h("div", { key: '8cb3bbe8afe46260ee01de1ccfec1171ad7d15b3', class: "upload-bottom-caption" }, caption))), h("slot", { key: '6ccb7bba76d874455cb6c6e4cde19fb4f3118c84', name: "afterfooter" }), !this.hideButton && (h(Fragment, { key: 'fb69a17ce2cd8ab89382b3a88aaf11c3ec5111d3' }, h("duet-spacer", { key: 'd12382964296660b0138d5e7cb23119d9ba51315', size: "large" }), h("duet-button", { key: '585b1a6670caf0810ea89a1dc930b4cb7a45c09a', id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel || `${this.buttonLabel}. ${caption}`, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
957
957
  this.bytesMaxReached ||
958
958
  this.filesToUploadExceedsLimit ||
959
- this.filesToUploadTotalSizeIsAboveMax) && (h(Fragment, { key: 'fcf6947ea9fd60eb05745627ea9bcfdc0a186ae2' }, h("duet-spacer", { key: '0d8d15f15c9dcecb7749d481e29073be66c1e77f', size: "medium" }), h("duet-alert", { key: '392a1d62012973d5e0b730a58ad3d97c48db3256', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), h("duet-visually-hidden", { key: 'ecf1098f5d21721d322bc382ff218b2b374e907a', "aria-hidden": "true" }, h("input", { key: 'd47f7522e739d1bda7407882e7ceda5f3e416b3d', ref: input => {
959
+ this.filesToUploadTotalSizeIsAboveMax) && (h(Fragment, { key: '2c6faea7f05f92b8156afb6125ed218230d03a9b' }, h("duet-spacer", { key: '0a03717e16ad6080343f46e9cea6235fe7c95fb3', size: "medium" }), h("duet-alert", { key: '6e455df241d9c0371a4ac45e9d7f11f9d5b2469a', part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), h("duet-visually-hidden", { key: '0dcf57e2b593b8b4581b9516300d7fcf93a94ded', "aria-hidden": "true" }, h("input", { key: '8c8089792d4049c26b827d1b543bd9ddaaba326b', ref: input => {
960
960
  this.nativeInput = input;
961
961
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
962
962
  "duet-upload": true,
@@ -85,7 +85,7 @@ export class DuetUploadAriaStatus {
85
85
  * Always the last one in the class.
86
86
  */
87
87
  render() {
88
- return (h(Host, { key: '2084d67e27f201170cb0915e97235481a8f42ff6', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, h("duet-visually-hidden", { key: 'f774f8926c1f2500866e4b50781cf83a1263b0c2' }, this.statusMessage)));
88
+ return (h(Host, { key: '8da58752d98bfb8c52ddcd1d48112711fd2ea5c6', role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, h("duet-visually-hidden", { key: '78ecb9ee37907bdbdb174bf58b75af88b2edfbd1' }, this.statusMessage)));
89
89
  }
90
90
  static get is() { return "duet-upload-aria-status"; }
91
91
  static get encapsulation() { return "shadow"; }
@@ -73,9 +73,9 @@ export class DuetUploadItem {
73
73
  const { uid, meta, item } = this.data;
74
74
  const Badges = meta && meta.badges ? (h("span", null, meta.badges.map(badgeText => (h("duet-badge", { color: "primary" }, badgeText))))) : undefined;
75
75
  const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${item.name}`;
76
- return (h("div", { key: 'a4236da565d327c0745c1d0838cb8521c9aeacd2', class: {
76
+ return (h("div", { key: '6ce0c4b0b64b9726755ba74c037759bfa90d0a1a', class: {
77
77
  "upload-item-row": true,
78
- } }, this.showCategory && (h("div", { key: 'ded27f92a61d2f8e793c6132eefce939935f4560', class: "item-categories" }, h("duet-heading", { key: '945bf9ec37ef6aa7abfec637e991ec9fa531e998', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), h("div", { key: 'f1bddfee393d02f814bc46ff678ca6ecfffde402', class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (h("duet-heading", { key: '40831fd68ebd159d9c1ed6fa01c1563b25842f92', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), h("div", { key: '36bb6e40d039ff13d87b6499a27db274a4ad47a9', class: "item-actions" }, this.actions.map(actionItem => {
78
+ } }, this.showCategory && (h("div", { key: 'a54b15975dfb0b72019838f7b77009c974b9e4bf', class: "item-categories" }, h("duet-heading", { key: '1f71cfd6a0573e176e7874fa14005afc36d7a885', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), h("div", { key: '5788235ef6265f08adbc17020fccb8fa8ba5bb77', class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (h("duet-heading", { key: '43235e4073c7cb9c3b81c9efd2c58c3938c5503c', class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), h("div", { key: '5d69daba599aec48c4a98ca0f1543a9dbbead4b3', class: "item-actions" }, this.actions.map(actionItem => {
79
79
  return (h("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} `, accessibleTitle: this.getActionButtonTitle(actionItem), ref: button => (this.actionButton = button) }));
80
80
  }))));
81
81
  }
@@ -8,7 +8,7 @@ export class DuetVisuallyHidden {
8
8
  * Always the last one in the class.
9
9
  */
10
10
  render() {
11
- return (h(Host, { key: '2ac2536c5fb762954d328da1080105d92292c8b4', class: "duet-visually-hidden" }, h("slot", { key: '4f58c2bdca5f9d629586174be225448f22662155' })));
11
+ return (h(Host, { key: 'ef47dba78565c8af97e21ac63b93ca377c20f0dc', class: "duet-visually-hidden" }, h("slot", { key: '228e005804125169d172ba680bed0f6955aa13a0' })));
12
12
  }
13
13
  static get is() { return "duet-visually-hidden"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -57,3 +57,4 @@ export function ConvertToEnUS(value, locale, replaceThousands = false) {
57
57
  }
58
58
  export const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
59
59
  export const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
60
+ export const isInteger = (val) => val === Math.round(val);
@@ -96,7 +96,7 @@ export const proxyInputToSlot = (element, id, name, value, required, checked = u
96
96
  return;
97
97
  }
98
98
  input.id = id;
99
- if (name !== undefined && name !== null) {
99
+ if (name !== undefined && name !== null && input.name !== name) {
100
100
  input.name = name;
101
101
  }
102
102
  if (required) {