@duetds/components 6.9.0 → 6.9.2

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 (564) hide show
  1. package/hydrate/index.js +332 -111
  2. package/lib/cjs/duet-action-button.cjs.entry.js +17 -2
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
  9. package/lib/cjs/duet-card.cjs.entry.js +9 -13
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
  12. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-combobox.cjs.entry.js +12 -2
  15. package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
  16. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  18. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-editable-table_3.cjs.entry.js +27 -12
  20. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-fieldset.cjs.entry.js +6 -2
  22. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-grid_2.cjs.entry.js +4 -2
  24. package/lib/cjs/duet-header_2.cjs.entry.js +15 -1
  25. package/lib/cjs/duet-hero.cjs.entry.js +15 -3
  26. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-input_2.cjs.entry.js +9 -14
  28. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  29. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +3 -2
  32. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -2
  34. package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  36. package/lib/cjs/duet-multiselect.cjs.entry.js +23 -3
  37. package/lib/cjs/duet-nav.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-notification_2.cjs.entry.js +15 -1
  39. package/lib/cjs/duet-number-input.cjs.entry.js +47 -27
  40. package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -3
  42. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  44. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  45. package/lib/cjs/duet-scrollable_3.cjs.entry.js +19 -3
  46. package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
  47. package/lib/cjs/duet-select.cjs.entry.js +17 -4
  48. package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
  49. package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
  50. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
  51. package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
  52. package/lib/cjs/duet-slideout.cjs.entry.js +3 -3
  53. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  54. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
  55. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +22 -7
  56. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
  57. package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
  58. package/lib/cjs/duet-textarea.cjs.entry.js +15 -4
  59. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  60. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
  61. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
  62. package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -2
  63. package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
  64. package/lib/cjs/duet-tooltip.cjs.entry.js +22 -1
  65. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  66. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  67. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  68. package/lib/cjs/duet.cjs.js +2 -2
  69. package/lib/cjs/{focus-utils-5c2e36e8.js → focus-utils-76896ff7.js} +1 -1
  70. package/lib/cjs/{index-92f0a873.js → index-0000eab8.js} +1 -1
  71. package/lib/cjs/loader.cjs.js +2 -2
  72. package/lib/collection/components/duet-action-button/duet-action-button.js +25 -6
  73. package/lib/collection/components/duet-card/duet-card.css +13 -10
  74. package/lib/collection/components/duet-card/duet-card.js +7 -11
  75. package/lib/collection/components/duet-combobox/duet-combobox.js +16 -3
  76. package/lib/collection/components/duet-editable-table/duet-editable-table.js +15 -3
  77. package/lib/collection/components/duet-fieldset/duet-fieldset.js +5 -1
  78. package/lib/collection/components/duet-grid/duet-grid.css +18 -0
  79. package/lib/collection/components/duet-grid/duet-grid.js +20 -0
  80. package/lib/collection/components/duet-header/duet-header.js +20 -4
  81. package/lib/collection/components/duet-heading/duet-heading.js +4 -1
  82. package/lib/collection/components/duet-hero/duet-hero.css +23 -3
  83. package/lib/collection/components/duet-hero/duet-hero.js +17 -3
  84. package/lib/collection/components/duet-input/duet-input.js +8 -13
  85. package/lib/collection/components/duet-link/duet-link.css +3 -0
  86. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +19 -1
  87. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +19 -1
  88. package/lib/collection/components/duet-multiselect/duet-multiselect.js +42 -4
  89. package/lib/collection/components/duet-notification/duet-notification.js +22 -5
  90. package/lib/collection/components/duet-number-input/duet-number-input.js +46 -26
  91. package/lib/collection/components/duet-pagination/duet-pagination.js +21 -5
  92. package/lib/collection/components/duet-select/duet-select.css +0 -4
  93. package/lib/collection/components/duet-select/duet-select.js +15 -2
  94. package/lib/collection/components/duet-slideout/duet-slideout.css +2 -0
  95. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +5 -21
  96. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +1 -0
  97. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +21 -5
  98. package/lib/collection/components/duet-tab-group/duet-tab-group.js +55 -2
  99. package/lib/collection/components/duet-table/duet-table.js +17 -1
  100. package/lib/collection/components/duet-textarea/duet-textarea.js +14 -3
  101. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +19 -1
  102. package/lib/collection/components/duet-tooltip/duet-tooltip.js +33 -4
  103. package/lib/collection/components/duet-upload/duet-upload.css +23 -10
  104. package/lib/collection/components/duet-upload/duet-upload.js +1 -1
  105. package/lib/collection/components/duet-upload/upload-item-header.js +1 -1
  106. package/lib/collection/components/duet-upload/upload-item.js +3 -3
  107. package/lib/dist-custom-elements/duet-action-button.js +1 -1
  108. package/lib/dist-custom-elements/duet-alert.js +1 -1
  109. package/lib/dist-custom-elements/duet-badge.js +1 -1
  110. package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
  111. package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -3
  112. package/lib/dist-custom-elements/duet-button.js +1 -1
  113. package/lib/dist-custom-elements/duet-caption.js +1 -1
  114. package/lib/dist-custom-elements/duet-card.js +11 -15
  115. package/lib/dist-custom-elements/duet-checkbox.js +1 -1
  116. package/lib/dist-custom-elements/duet-checkmark.js +1 -1
  117. package/lib/dist-custom-elements/duet-choice-group.js +6 -6
  118. package/lib/dist-custom-elements/duet-choice.js +6 -6
  119. package/lib/dist-custom-elements/duet-collapsible.js +2 -2
  120. package/lib/dist-custom-elements/duet-combobox.js +16 -5
  121. package/lib/dist-custom-elements/duet-contact-card.js +9 -9
  122. package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
  123. package/lib/dist-custom-elements/duet-date-picker.js +11 -11
  124. package/lib/dist-custom-elements/duet-divider.js +1 -1
  125. package/lib/dist-custom-elements/duet-editable-table.js +19 -11
  126. package/lib/dist-custom-elements/duet-empty-state.js +1 -1
  127. package/lib/dist-custom-elements/duet-fieldset.js +1 -1
  128. package/lib/dist-custom-elements/duet-footer.js +5 -5
  129. package/lib/dist-custom-elements/duet-grid-item.js +1 -1
  130. package/lib/dist-custom-elements/duet-grid.js +1 -1
  131. package/lib/dist-custom-elements/duet-header.js +26 -12
  132. package/lib/dist-custom-elements/duet-heading.js +1 -1
  133. package/lib/dist-custom-elements/duet-hero.js +25 -13
  134. package/lib/dist-custom-elements/duet-icon.js +1 -1
  135. package/lib/dist-custom-elements/duet-input.js +1 -1
  136. package/lib/dist-custom-elements/duet-label.js +1 -1
  137. package/lib/dist-custom-elements/duet-layout.js +1 -1
  138. package/lib/dist-custom-elements/duet-link.js +1 -1
  139. package/lib/dist-custom-elements/duet-list-item.js +1 -1
  140. package/lib/dist-custom-elements/duet-list.js +1 -1
  141. package/lib/dist-custom-elements/duet-logo.js +1 -1
  142. package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
  143. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -4
  144. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
  145. package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -3
  146. package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
  147. package/lib/dist-custom-elements/duet-modal.js +8 -8
  148. package/lib/dist-custom-elements/duet-multiselect.js +33 -11
  149. package/lib/dist-custom-elements/duet-nav.js +1 -1
  150. package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
  151. package/lib/dist-custom-elements/duet-notification.js +19 -5
  152. package/lib/dist-custom-elements/duet-number-input.js +56 -36
  153. package/lib/dist-custom-elements/duet-page-heading.js +2 -2
  154. package/lib/dist-custom-elements/duet-pagination.js +26 -12
  155. package/lib/dist-custom-elements/duet-paragraph.js +1 -1
  156. package/lib/dist-custom-elements/duet-progress.js +1 -1
  157. package/lib/dist-custom-elements/duet-radio-group.js +6 -6
  158. package/lib/dist-custom-elements/duet-radio.js +1 -1
  159. package/lib/dist-custom-elements/duet-range-slider.js +2 -2
  160. package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
  161. package/lib/dist-custom-elements/duet-scrollable.js +1 -1
  162. package/lib/dist-custom-elements/duet-section-layout.js +1 -1
  163. package/lib/dist-custom-elements/duet-select.js +1 -1
  164. package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
  165. package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
  166. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
  167. package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
  168. package/lib/dist-custom-elements/duet-slideout.js +4 -4
  169. package/lib/dist-custom-elements/duet-spacer.js +1 -1
  170. package/lib/dist-custom-elements/duet-spinner.js +1 -1
  171. package/lib/dist-custom-elements/duet-step.js +4 -4
  172. package/lib/dist-custom-elements/duet-stepper.js +2 -2
  173. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
  174. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +24 -8
  175. package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
  176. package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
  177. package/lib/dist-custom-elements/duet-tab-group.js +29 -12
  178. package/lib/dist-custom-elements/duet-tab.js +2 -2
  179. package/lib/dist-custom-elements/duet-table.js +1 -1
  180. package/lib/dist-custom-elements/duet-textarea.js +22 -11
  181. package/lib/dist-custom-elements/duet-toggle.js +2 -2
  182. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
  183. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
  184. package/lib/dist-custom-elements/duet-toolbar-link.js +6 -4
  185. package/lib/dist-custom-elements/duet-toolbar.js +1 -1
  186. package/lib/dist-custom-elements/duet-tooltip.js +1 -1
  187. package/lib/dist-custom-elements/duet-tray.js +4 -4
  188. package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
  189. package/lib/dist-custom-elements/duet-upload.js +24 -27
  190. package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
  191. package/lib/dist-custom-elements/index.js +1 -1
  192. package/lib/dist-custom-elements/{p-6c05e879.js → p-076452be.js} +1 -1
  193. package/lib/dist-custom-elements/{p-26d32594.js → p-0dee6e51.js} +28 -7
  194. package/lib/dist-custom-elements/{p-17d43428.js → p-148a04af.js} +5 -5
  195. package/lib/dist-custom-elements/{p-7a4bdb83.js → p-14d7b7b1.js} +1 -1
  196. package/lib/dist-custom-elements/{p-c820f65e.js → p-16da1a85.js} +2 -2
  197. package/lib/dist-custom-elements/{p-e1de0408.js → p-1b34ed71.js} +1 -1
  198. package/lib/dist-custom-elements/{p-41ef88f4.js → p-29b0c53d.js} +22 -6
  199. package/lib/dist-custom-elements/{p-9eba8647.js → p-2a7fe62b.js} +7 -3
  200. package/lib/dist-custom-elements/{p-d6bcc527.js → p-3ee0a1f0.js} +1 -1
  201. package/lib/dist-custom-elements/{p-a1ee31fb.js → p-427c3c85.js} +1 -1
  202. package/lib/dist-custom-elements/{p-353d6d0c.js → p-4672c5f9.js} +1 -1
  203. package/lib/dist-custom-elements/{p-c01c91d6.js → p-61d6063e.js} +2 -2
  204. package/lib/dist-custom-elements/p-685671d3.js +248 -0
  205. package/lib/dist-custom-elements/{p-49848110.js → p-6b75d471.js} +1 -1
  206. package/lib/dist-custom-elements/{p-4b4a086d.js → p-74eab201.js} +17 -22
  207. package/lib/dist-custom-elements/{p-29b2c3bb.js → p-773afd9d.js} +1 -1
  208. package/lib/dist-custom-elements/{p-d0dea200.js → p-80c873a7.js} +1 -1
  209. package/lib/dist-custom-elements/p-81ad703b.js +183 -0
  210. package/lib/dist-custom-elements/{p-dde8e436.js → p-8810d94c.js} +5 -5
  211. package/lib/dist-custom-elements/{p-47ba781e.js → p-a2640cf0.js} +15 -2
  212. package/lib/dist-custom-elements/{p-9d23386f.js → p-a98f3c53.js} +1 -1
  213. package/lib/dist-custom-elements/{p-85fd8f09.js → p-aa856cf3.js} +1 -1
  214. package/lib/dist-custom-elements/{p-c4a3d30d.js → p-b1c2d128.js} +1 -1
  215. package/lib/dist-custom-elements/{p-890a9b12.js → p-b8590b9e.js} +2 -2
  216. package/lib/dist-custom-elements/{p-1bf112be.js → p-b8bdb756.js} +1 -1
  217. package/lib/dist-custom-elements/{p-7199196e.js → p-b9713025.js} +3 -3
  218. package/lib/dist-custom-elements/{p-a56cc313.js → p-c06566bd.js} +2 -2
  219. package/lib/dist-custom-elements/{p-276e05ab.js → p-cf8e064c.js} +6 -6
  220. package/lib/dist-custom-elements/{p-0d1b84db.js → p-d0a476fa.js} +1 -1
  221. package/lib/dist-custom-elements/{p-945a2c0c.js → p-d6ebe136.js} +2 -2
  222. package/lib/dist-custom-elements/{p-19ad4945.js → p-d9374d44.js} +1 -1
  223. package/lib/dist-custom-elements/{p-d6a4de03.js → p-fb9ea1e2.js} +1 -1
  224. package/lib/duet/duet.esm.js +1 -1
  225. package/lib/duet/duet.js +1 -1
  226. package/lib/duet/p-00492553.entry.js +4 -0
  227. package/lib/duet/p-00a6021a.entry.js +4 -0
  228. package/lib/duet/{p-c832c83e.system.entry.js → p-04b466d9.system.entry.js} +1 -1
  229. package/lib/duet/{p-4ab70001.system.entry.js → p-0956191f.system.entry.js} +1 -1
  230. package/lib/duet/{p-a5b5f3e2.system.entry.js → p-0b99b63a.system.entry.js} +1 -1
  231. package/lib/duet/p-0c7ba24e.entry.js +4 -0
  232. package/lib/duet/p-0fd03676.entry.js +4 -0
  233. package/lib/duet/{p-d7c0027e.entry.js → p-0febc106.entry.js} +1 -1
  234. package/lib/duet/{p-7d4e2e96.system.entry.js → p-10c8dcce.system.entry.js} +1 -1
  235. package/lib/duet/p-18417d31.system.entry.js +4 -0
  236. package/lib/duet/{p-26ebc753.system.entry.js → p-1a494e83.system.entry.js} +1 -1
  237. package/lib/duet/{p-93f3e158.system.entry.js → p-1af260c2.system.entry.js} +1 -1
  238. package/lib/duet/{p-4136d211.entry.js → p-1b53a027.entry.js} +1 -1
  239. package/lib/duet/p-1d4d1191.entry.js +4 -0
  240. package/lib/duet/p-1d6d12db.entry.js +4 -0
  241. package/lib/duet/{p-8f0579d1.entry.js → p-1f782abb.entry.js} +1 -1
  242. package/lib/duet/{p-29193196.entry.js → p-255e7c67.entry.js} +1 -1
  243. package/lib/duet/p-25608db1.entry.js +4 -0
  244. package/lib/duet/{p-190507d4.system.entry.js → p-2578566b.system.entry.js} +1 -1
  245. package/lib/duet/{p-5743852f.system.js → p-2852d734.system.js} +1 -1
  246. package/lib/duet/{p-ce108a20.entry.js → p-2ee96e3b.entry.js} +1 -1
  247. package/lib/duet/{p-84eb3d96.system.entry.js → p-30574b01.system.entry.js} +1 -1
  248. package/lib/duet/{p-d8de0d06.entry.js → p-3337b7b5.entry.js} +1 -1
  249. package/lib/duet/{p-48bab8b6.entry.js → p-335ce078.entry.js} +1 -1
  250. package/lib/duet/p-39311463.system.entry.js +4 -0
  251. package/lib/duet/{p-c7507f6b.system.entry.js → p-3eb4385b.system.entry.js} +2 -2
  252. package/lib/duet/{p-f7ff8b67.entry.js → p-3f823f65.entry.js} +1 -1
  253. package/lib/duet/p-40c8612e.entry.js +4 -0
  254. package/lib/duet/{p-7dc36831.system.js → p-473e553e.system.js} +1 -1
  255. package/lib/duet/{p-2b4f4c85.system.entry.js → p-4cf4097a.system.entry.js} +1 -1
  256. package/lib/duet/{p-7a53ff56.entry.js → p-4f054589.entry.js} +1 -1
  257. package/lib/duet/{p-7c32523b.system.entry.js → p-51b95a0b.system.entry.js} +1 -1
  258. package/lib/duet/{p-ef31120e.system.entry.js → p-5368ccf3.system.entry.js} +1 -1
  259. package/lib/duet/{p-d503fd3d.entry.js → p-57a480c6.entry.js} +1 -1
  260. package/lib/duet/{p-17d1d5ee.entry.js → p-5925af50.entry.js} +1 -1
  261. package/lib/duet/p-59dbe033.system.entry.js +4 -0
  262. package/lib/duet/{p-65b119a7.system.entry.js → p-5a0a47c5.system.entry.js} +1 -1
  263. package/lib/duet/{p-5047ae3d.entry.js → p-5dc301ad.entry.js} +1 -1
  264. package/lib/duet/{p-4b02643a.system.entry.js → p-612c5794.system.entry.js} +1 -1
  265. package/lib/duet/{p-ad82c633.system.entry.js → p-619129a1.system.entry.js} +1 -1
  266. package/lib/duet/{p-d563682c.entry.js → p-6288a8f7.entry.js} +1 -1
  267. package/lib/duet/{p-8b123c27.system.entry.js → p-62e5eda4.system.entry.js} +1 -1
  268. package/lib/duet/p-62ee8769.system.entry.js +4 -0
  269. package/lib/duet/{p-1bfff197.system.entry.js → p-64a97121.system.entry.js} +1 -1
  270. package/lib/duet/{p-cc7f7692.entry.js → p-65c666a0.entry.js} +1 -1
  271. package/lib/duet/p-66d17a50.entry.js +4 -0
  272. package/lib/duet/{p-049f7427.entry.js → p-68436d9b.entry.js} +1 -1
  273. package/lib/duet/{p-fc8b03f3.system.entry.js → p-6a23db40.system.entry.js} +1 -1
  274. package/lib/duet/{p-f173da98.entry.js → p-6b3d47fc.entry.js} +1 -1
  275. package/lib/duet/{p-568c7b6d.entry.js → p-6bec8453.entry.js} +1 -1
  276. package/lib/duet/{p-e9cea31c.entry.js → p-6cccad3a.entry.js} +1 -1
  277. package/lib/duet/{p-643dd974.entry.js → p-6dd7d693.entry.js} +1 -1
  278. package/lib/duet/{p-07e54b8a.entry.js → p-71012a41.entry.js} +1 -1
  279. package/lib/duet/{p-bc89db28.entry.js → p-711128a1.entry.js} +1 -1
  280. package/lib/duet/{p-c3495075.system.entry.js → p-71da4ed1.system.entry.js} +1 -1
  281. package/lib/duet/{p-1de4b105.system.entry.js → p-74d84deb.system.entry.js} +1 -1
  282. package/lib/duet/{p-80bc3db3.entry.js → p-754a1a94.entry.js} +1 -1
  283. package/lib/duet/{p-702a9390.entry.js → p-779234b0.entry.js} +1 -1
  284. package/lib/duet/p-78ce7a07.entry.js +4 -0
  285. package/lib/duet/{p-2b94fb6c.entry.js → p-79f6c24a.entry.js} +1 -1
  286. package/lib/duet/p-7e739548.system.entry.js +4 -0
  287. package/lib/duet/{p-7fd9b8b6.system.entry.js → p-7e96a306.system.entry.js} +1 -1
  288. package/lib/duet/{p-de06c5ff.entry.js → p-7f9cc019.entry.js} +1 -1
  289. package/lib/duet/{p-c91aaa04.system.entry.js → p-81236c93.system.entry.js} +1 -1
  290. package/lib/duet/{p-38680e94.system.entry.js → p-815cbab7.system.entry.js} +1 -1
  291. package/lib/duet/p-82398d82.entry.js +4 -0
  292. package/lib/duet/{p-5576e447.system.entry.js → p-840cdccb.system.entry.js} +1 -1
  293. package/lib/duet/{p-aac361b8.entry.js → p-86fede3f.entry.js} +1 -1
  294. package/lib/duet/{p-c073eb55.system.entry.js → p-8d1ccbc2.system.entry.js} +1 -1
  295. package/lib/duet/{p-addd277e.system.entry.js → p-8d482808.system.entry.js} +1 -1
  296. package/lib/duet/p-8ef91f59.entry.js +4 -0
  297. package/lib/duet/{p-b1b1160e.system.entry.js → p-8efc476e.system.entry.js} +1 -1
  298. package/lib/duet/{p-be3c04fb.entry.js → p-8f2834ae.entry.js} +1 -1
  299. package/lib/duet/p-8f3d5e14.system.entry.js +4 -0
  300. package/lib/duet/{p-2faa3962.entry.js → p-905d2cc8.entry.js} +1 -1
  301. package/lib/duet/{p-628c4fc7.system.entry.js → p-911c761b.system.entry.js} +1 -1
  302. package/lib/duet/{p-b16b89c3.system.entry.js → p-93562bf8.system.entry.js} +1 -1
  303. package/lib/duet/{p-7f2a16b3.entry.js → p-93da242f.entry.js} +1 -1
  304. package/lib/duet/{p-2184a285.system.entry.js → p-9446df5b.system.entry.js} +1 -1
  305. package/lib/duet/p-94760aea.entry.js +4 -0
  306. package/lib/duet/{p-9f5446d7.system.entry.js → p-97d314bb.system.entry.js} +1 -1
  307. package/lib/duet/{p-95f020cc.system.entry.js → p-9885878c.system.entry.js} +1 -1
  308. package/lib/duet/{p-e71cb6f4.entry.js → p-98d99400.entry.js} +1 -1
  309. package/lib/duet/p-9b75cec2.system.entry.js +4 -0
  310. package/lib/duet/{p-72585f83.entry.js → p-9e1585bd.entry.js} +1 -1
  311. package/lib/duet/{p-fad8bcee.system.entry.js → p-9e3c843a.system.entry.js} +1 -1
  312. package/lib/duet/p-9fb2e28a.js +4 -0
  313. package/lib/duet/p-a2728f08.system.entry.js +4 -0
  314. package/lib/duet/{p-7a5077a2.system.entry.js → p-a8c9268c.system.entry.js} +1 -1
  315. package/lib/duet/{p-e8a6eda7.system.entry.js → p-ac25aad5.system.entry.js} +1 -1
  316. package/lib/duet/{p-44bbf984.entry.js → p-b12261bb.entry.js} +1 -1
  317. package/lib/duet/p-b31e663e.system.entry.js +4 -0
  318. package/lib/duet/{p-fa7a4245.entry.js → p-b44b12af.entry.js} +1 -1
  319. package/lib/duet/{p-faaa6249.entry.js → p-b78eeeff.entry.js} +1 -1
  320. package/lib/duet/{p-c518f7da.system.entry.js → p-b8c2b5f2.system.entry.js} +1 -1
  321. package/lib/duet/p-b92f06ff.system.entry.js +4 -0
  322. package/lib/duet/p-bc169783.entry.js +4 -0
  323. package/lib/duet/{p-2e822cf0.entry.js → p-bed02d40.entry.js} +1 -1
  324. package/lib/duet/p-bf097e1b.entry.js +4 -0
  325. package/lib/duet/{p-58b9c7b4.system.entry.js → p-c19e2d81.system.entry.js} +1 -1
  326. package/lib/duet/{p-2a80caf9.entry.js → p-c2d2a2d2.entry.js} +1 -1
  327. package/lib/duet/{p-2e69c81b.entry.js → p-c3164a3c.entry.js} +1 -1
  328. package/lib/duet/p-c4266675.entry.js +4 -0
  329. package/lib/duet/{p-78f49cbf.system.entry.js → p-c919efff.system.entry.js} +1 -1
  330. package/lib/duet/{p-12ee9a23.system.entry.js → p-c9dcf840.system.entry.js} +1 -1
  331. package/lib/duet/p-cf3c27e4.system.entry.js +4 -0
  332. package/lib/duet/p-cf5f89af.entry.js +4 -0
  333. package/lib/duet/{p-d3da2989.system.entry.js → p-cf8b0da5.system.entry.js} +1 -1
  334. package/lib/duet/{p-6fe5922d.system.entry.js → p-cfcfd3fd.system.entry.js} +1 -1
  335. package/lib/duet/p-d225444d.entry.js +4 -0
  336. package/lib/duet/{p-02e23372.entry.js → p-d2abe34b.entry.js} +1 -1
  337. package/lib/duet/p-d5ac7213.entry.js +4 -0
  338. package/lib/duet/p-d658b29d.entry.js +4 -0
  339. package/lib/duet/{p-c4738155.system.entry.js → p-da2b07eb.system.entry.js} +1 -1
  340. package/lib/duet/p-db8ef99d.entry.js +4 -0
  341. package/lib/duet/{p-8760c0ee.system.entry.js → p-dbd0293b.system.entry.js} +1 -1
  342. package/lib/duet/{p-6326cade.system.entry.js → p-dbff88b5.system.entry.js} +1 -1
  343. package/lib/duet/{p-2ff8c614.entry.js → p-dcc18bd4.entry.js} +1 -1
  344. package/lib/duet/{p-835ea0dc.system.entry.js → p-e0ea4e90.system.entry.js} +1 -1
  345. package/lib/duet/p-e27bd167.entry.js +4 -0
  346. package/lib/duet/{p-2b0d6d66.system.entry.js → p-e6c16681.system.entry.js} +1 -1
  347. package/lib/duet/{p-723308e1.entry.js → p-e741b72a.entry.js} +1 -1
  348. package/lib/duet/{p-b3584ef1.system.entry.js → p-e7ba7e64.system.entry.js} +1 -1
  349. package/lib/duet/{p-c22a97ea.system.entry.js → p-e94fb66d.system.entry.js} +1 -1
  350. package/lib/duet/p-ea68c9e4.system.entry.js +4 -0
  351. package/lib/duet/{p-39c34fde.system.entry.js → p-eb6ec3b0.system.entry.js} +1 -1
  352. package/lib/duet/p-ebf82712.system.entry.js +4 -0
  353. package/lib/duet/{p-2c0d4d3c.entry.js → p-eefb5300.entry.js} +1 -1
  354. package/lib/duet/{p-1ef436d2.js → p-f235b6ff.js} +1 -1
  355. package/lib/duet/{p-c3e4e6a2.system.entry.js → p-f61cf0d1.system.entry.js} +1 -1
  356. package/lib/duet/{p-9aae9d2a.system.entry.js → p-f7393070.system.entry.js} +1 -1
  357. package/lib/duet/p-f96bb9f9.system.js +4 -0
  358. package/lib/duet/p-fb021333.entry.js +4 -0
  359. package/lib/duet/{p-47fb8005.system.entry.js → p-fb8a741c.system.entry.js} +1 -1
  360. package/lib/duet/{p-893d0a53.entry.js → p-fd377d28.entry.js} +1 -1
  361. package/lib/duet/{p-e57b04f0.entry.js → p-feac6e72.entry.js} +1 -1
  362. package/lib/duet/{p-a79f86b5.system.entry.js → p-ffdc54ad.system.entry.js} +1 -1
  363. package/lib/esm/duet-action-button.entry.js +18 -3
  364. package/lib/esm/duet-alert.entry.js +1 -1
  365. package/lib/esm/duet-badge.entry.js +1 -1
  366. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  367. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  368. package/lib/esm/duet-button_2.entry.js +1 -1
  369. package/lib/esm/duet-caption_4.entry.js +3 -3
  370. package/lib/esm/duet-card.entry.js +9 -13
  371. package/lib/esm/duet-checkbox.entry.js +1 -1
  372. package/lib/esm/duet-checkmark.entry.js +1 -1
  373. package/lib/esm/duet-choice_2.entry.js +2 -2
  374. package/lib/esm/duet-collapsible.entry.js +1 -1
  375. package/lib/esm/duet-combobox.entry.js +13 -3
  376. package/lib/esm/duet-contact-card.entry.js +1 -1
  377. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  378. package/lib/esm/duet-date-picker.entry.js +2 -2
  379. package/lib/esm/duet-divider_2.entry.js +1 -1
  380. package/lib/esm/duet-editable-table_3.entry.js +28 -13
  381. package/lib/esm/duet-empty-state.entry.js +1 -1
  382. package/lib/esm/duet-fieldset.entry.js +6 -2
  383. package/lib/esm/duet-footer.entry.js +1 -1
  384. package/lib/esm/duet-grid_2.entry.js +4 -2
  385. package/lib/esm/duet-header_2.entry.js +15 -1
  386. package/lib/esm/duet-hero.entry.js +16 -4
  387. package/lib/esm/duet-icon.entry.js +1 -1
  388. package/lib/esm/duet-input_2.entry.js +9 -14
  389. package/lib/esm/duet-layout.entry.js +1 -1
  390. package/lib/esm/duet-list_2.entry.js +1 -1
  391. package/lib/esm/duet-menu-bar-button.entry.js +1 -1
  392. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -2
  393. package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
  394. package/lib/esm/duet-menu-bar-link.entry.js +3 -2
  395. package/lib/esm/duet-menu-bar.entry.js +1 -1
  396. package/lib/esm/duet-modal.entry.js +2 -2
  397. package/lib/esm/duet-multiselect.entry.js +24 -4
  398. package/lib/esm/duet-nav.entry.js +1 -1
  399. package/lib/esm/duet-notification_2.entry.js +16 -2
  400. package/lib/esm/duet-number-input.entry.js +47 -27
  401. package/lib/esm/duet-page-heading.entry.js +1 -1
  402. package/lib/esm/duet-pagination_2.entry.js +17 -4
  403. package/lib/esm/duet-progress.entry.js +1 -1
  404. package/lib/esm/duet-radio_2.entry.js +1 -1
  405. package/lib/esm/duet-range-slider.entry.js +1 -1
  406. package/lib/esm/duet-scrollable_3.entry.js +19 -3
  407. package/lib/esm/duet-section-layout.entry.js +1 -1
  408. package/lib/esm/duet-select.entry.js +17 -4
  409. package/lib/esm/duet-slideout-lang.entry.js +1 -1
  410. package/lib/esm/duet-slideout-link.entry.js +1 -1
  411. package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
  412. package/lib/esm/duet-slideout-panel.entry.js +2 -2
  413. package/lib/esm/duet-slideout.entry.js +3 -3
  414. package/lib/esm/duet-step_2.entry.js +1 -1
  415. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
  416. package/lib/esm/duet-submenu-bar-dropdown.entry.js +22 -7
  417. package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
  418. package/lib/esm/duet-submenu-bar.entry.js +2 -2
  419. package/lib/esm/duet-textarea.entry.js +15 -4
  420. package/lib/esm/duet-toggle.entry.js +1 -1
  421. package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
  422. package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
  423. package/lib/esm/duet-toolbar-link.entry.js +3 -2
  424. package/lib/esm/duet-toolbar.entry.js +1 -1
  425. package/lib/esm/duet-tooltip.entry.js +23 -2
  426. package/lib/esm/duet-tray.entry.js +1 -1
  427. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  428. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  429. package/lib/esm/duet.js +3 -3
  430. package/lib/esm/{focus-utils-123e9cba.js → focus-utils-6a919f2a.js} +1 -1
  431. package/lib/esm/{index-9d169c3d.js → index-13f57135.js} +1 -1
  432. package/lib/esm/loader.js +3 -3
  433. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  434. package/lib/esm-es5/duet-alert.entry.js +1 -1
  435. package/lib/esm-es5/duet-badge.entry.js +1 -1
  436. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  437. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  438. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  439. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  440. package/lib/esm-es5/duet-card.entry.js +1 -1
  441. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  442. package/lib/esm-es5/duet-checkmark.entry.js +1 -1
  443. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  444. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  445. package/lib/esm-es5/duet-combobox.entry.js +2 -2
  446. package/lib/esm-es5/duet-contact-card.entry.js +1 -1
  447. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  448. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  449. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  450. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  451. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  452. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  453. package/lib/esm-es5/duet-footer.entry.js +1 -1
  454. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  455. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  456. package/lib/esm-es5/duet-hero.entry.js +1 -1
  457. package/lib/esm-es5/duet-icon.entry.js +2 -2
  458. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  459. package/lib/esm-es5/duet-layout.entry.js +1 -1
  460. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  461. package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
  462. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
  463. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
  464. package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
  465. package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
  466. package/lib/esm-es5/duet-modal.entry.js +1 -1
  467. package/lib/esm-es5/duet-multiselect.entry.js +2 -2
  468. package/lib/esm-es5/duet-nav.entry.js +1 -1
  469. package/lib/esm-es5/duet-notification_2.entry.js +2 -2
  470. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  471. package/lib/esm-es5/duet-page-heading.entry.js +1 -1
  472. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  473. package/lib/esm-es5/duet-progress.entry.js +1 -1
  474. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  475. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  476. package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
  477. package/lib/esm-es5/duet-section-layout.entry.js +1 -1
  478. package/lib/esm-es5/duet-select.entry.js +1 -1
  479. package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
  480. package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
  481. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
  482. package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
  483. package/lib/esm-es5/duet-slideout.entry.js +1 -1
  484. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  485. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
  486. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
  487. package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
  488. package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
  489. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  490. package/lib/esm-es5/duet-toggle.entry.js +2 -2
  491. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
  492. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
  493. package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
  494. package/lib/esm-es5/duet-toolbar.entry.js +1 -1
  495. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  496. package/lib/esm-es5/duet-tray.entry.js +1 -1
  497. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  498. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  499. package/lib/esm-es5/duet.js +1 -1
  500. package/lib/esm-es5/{focus-utils-123e9cba.js → focus-utils-6a919f2a.js} +1 -1
  501. package/lib/esm-es5/{index-9d169c3d.js → index-13f57135.js} +1 -1
  502. package/lib/esm-es5/loader.js +1 -1
  503. package/lib/types/components/duet-action-button/duet-action-button.d.ts +8 -1
  504. package/lib/types/components/duet-combobox/duet-combobox.d.ts +3 -1
  505. package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +4 -1
  506. package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
  507. package/lib/types/components/duet-header/duet-header.d.ts +1 -0
  508. package/lib/types/components/duet-heading/duet-heading.d.ts +3 -0
  509. package/lib/types/components/duet-hero/duet-hero.d.ts +3 -0
  510. package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +6 -0
  511. package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +6 -0
  512. package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +9 -1
  513. package/lib/types/components/duet-notification/duet-notification.d.ts +3 -0
  514. package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
  515. package/lib/types/components/duet-pagination/duet-pagination.d.ts +5 -1
  516. package/lib/types/components/duet-select/duet-select.d.ts +1 -0
  517. package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +2 -1
  518. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +10 -0
  519. package/lib/types/components/duet-table/duet-table.d.ts +6 -1
  520. package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
  521. package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +6 -0
  522. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +5 -0
  523. package/lib/types/components.d.ts +52 -0
  524. package/package.json +5 -5
  525. package/lib/dist-custom-elements/p-132f2514.js +0 -235
  526. package/lib/dist-custom-elements/p-e48e8201.js +0 -180
  527. package/lib/duet/p-00e57f9b.system.entry.js +0 -4
  528. package/lib/duet/p-1710310b.entry.js +0 -4
  529. package/lib/duet/p-18843061.entry.js +0 -4
  530. package/lib/duet/p-197dba64.system.entry.js +0 -4
  531. package/lib/duet/p-1d283741.system.entry.js +0 -4
  532. package/lib/duet/p-21d08944.entry.js +0 -4
  533. package/lib/duet/p-21d4df80.entry.js +0 -4
  534. package/lib/duet/p-2a89686a.entry.js +0 -4
  535. package/lib/duet/p-459b8e74.system.entry.js +0 -4
  536. package/lib/duet/p-45a64d20.entry.js +0 -4
  537. package/lib/duet/p-5127e9fb.entry.js +0 -4
  538. package/lib/duet/p-52766fb1.entry.js +0 -4
  539. package/lib/duet/p-58d08fb8.entry.js +0 -4
  540. package/lib/duet/p-5c083efb.system.entry.js +0 -4
  541. package/lib/duet/p-5f872140.entry.js +0 -4
  542. package/lib/duet/p-6023d419.system.entry.js +0 -4
  543. package/lib/duet/p-6fe463e6.entry.js +0 -4
  544. package/lib/duet/p-72264693.entry.js +0 -4
  545. package/lib/duet/p-850b95d7.entry.js +0 -4
  546. package/lib/duet/p-8a963cd7.system.entry.js +0 -4
  547. package/lib/duet/p-8f60b4a4.entry.js +0 -4
  548. package/lib/duet/p-98c7286c.entry.js +0 -4
  549. package/lib/duet/p-9f9a14d7.entry.js +0 -4
  550. package/lib/duet/p-a3782a14.entry.js +0 -4
  551. package/lib/duet/p-a6a5458a.entry.js +0 -4
  552. package/lib/duet/p-acb0fbdc.system.entry.js +0 -4
  553. package/lib/duet/p-afb58e46.js +0 -4
  554. package/lib/duet/p-b421ea8a.system.entry.js +0 -4
  555. package/lib/duet/p-c0ac70a9.entry.js +0 -4
  556. package/lib/duet/p-c360334a.system.js +0 -4
  557. package/lib/duet/p-cb2bd40e.entry.js +0 -4
  558. package/lib/duet/p-d5474f30.system.entry.js +0 -4
  559. package/lib/duet/p-d8d3f485.system.entry.js +0 -4
  560. package/lib/duet/p-daa0dccd.entry.js +0 -4
  561. package/lib/duet/p-dc71bc89.entry.js +0 -4
  562. package/lib/duet/p-dcce6bad.entry.js +0 -4
  563. package/lib/duet/p-e73937e1.system.entry.js +0 -4
  564. package/lib/duet/p-f9c26b20.system.entry.js +0 -4
@@ -30,6 +30,20 @@ export class DuetTabGroup {
30
30
  button.focus();
31
31
  }
32
32
  };
33
+ this.onTabSelect = (tabIndex) => {
34
+ if (this.tabChangeConfirm) {
35
+ if (tabIndex !== this.selected) {
36
+ const event = {
37
+ value: tabIndex,
38
+ component: "duet-tab-group",
39
+ };
40
+ this.duetTabChangeRequested.emit(event);
41
+ }
42
+ }
43
+ else {
44
+ this.openTab(tabIndex);
45
+ }
46
+ };
33
47
  this.scrollToActive = () => {
34
48
  if (this.variation === "checked" || this.variation === "plain-scrolling") {
35
49
  setTimeout(() => {
@@ -47,7 +61,7 @@ export class DuetTabGroup {
47
61
  "duet-tab-button": true,
48
62
  "stackable-tab": this.variation === "checked" && this.tabs.length <= 3,
49
63
  selected: element.selected,
50
- }, onClick: () => this.openTab(index), onKeyDown: ev => this.handleKeyDown(ev) }, this.variation === "checked" ? (h("div", { class: { "checked-tab-content": true, "stackable-checked-tab-content": this.tabs.length <= 3 } }, h("div", { class: { "checked-tab-description": true, "stackable-description": this.tabs.length <= 3 } }, h("p", null, element.label), h("p", { class: { "tab-caption": true, selected: element.selected } }, element.caption)), h("div", { class: { "stackable-checkmark": this.tabs.length <= 3 } }, h("duet-checkmark", { theme: this.theme, checked: element.selected, type: "radio", "presentation-only": true, center: true })))) : (element.label)));
64
+ }, onClick: () => this.onTabSelect(index), onKeyDown: ev => this.handleKeyDown(ev) }, this.variation === "checked" ? (h("div", { class: { "checked-tab-content": true, "stackable-checked-tab-content": this.tabs.length <= 3 } }, h("div", { class: { "checked-tab-description": true, "stackable-description": this.tabs.length <= 3 } }, h("p", null, element.label), h("p", { class: { "tab-caption": true, selected: element.selected } }, element.caption)), h("div", { class: { "stackable-checkmark": this.tabs.length <= 3 } }, h("duet-checkmark", { theme: this.theme, checked: element.selected, type: "radio", "presentation-only": true, center: true })))) : (element.label)));
51
65
  });
52
66
  if (this.scrolls) {
53
67
  return (h("duet-scrollable", { selected: this.selected, identifier: this.identifier }, renderedTabs));
@@ -73,6 +87,7 @@ export class DuetTabGroup {
73
87
  this.margin = "auto";
74
88
  this.padding = "auto";
75
89
  this.setTabIndex = false;
90
+ this.tabChangeConfirm = false;
76
91
  }
77
92
  /**
78
93
  * Component lifecycle events.
@@ -179,7 +194,7 @@ export class DuetTabGroup {
179
194
  "duet-tab-plain-scrolling": this.variation === "plain-scrolling",
180
195
  "duet-tab-group-scrolls": this.scrolls,
181
196
  "duet-tab-group-collapses": this.collapses,
182
- }, "aria-label": this.accessibleLabel }, !isSwipeScrollable && this.tabs.length > 3 && this.collapses && (h("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.openTab(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
197
+ }, "aria-label": this.accessibleLabel }, !isSwipeScrollable && this.tabs.length > 3 && this.collapses && (h("duet-select", { value: this.selected.toString(), expand: true, label: this.label, labelHidden: this.labelHidden, theme: this.theme, onDuetChange: event => this.onTabSelect(Number(event.detail.value)), items: this.tabs.map((tab, index) => {
183
198
  return { label: tab.label, value: index.toString() };
184
199
  }) })), h("div", { role: "tablist", class: {
185
200
  "duet-m-0": this.margin === "none" || this.variation === "checked",
@@ -483,6 +498,24 @@ export class DuetTabGroup {
483
498
  "attribute": "set-tab-index",
484
499
  "reflect": false,
485
500
  "defaultValue": "false"
501
+ },
502
+ "tabChangeConfirm": {
503
+ "type": "boolean",
504
+ "mutable": false,
505
+ "complexType": {
506
+ "original": "boolean",
507
+ "resolved": "boolean",
508
+ "references": {}
509
+ },
510
+ "required": false,
511
+ "optional": false,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": "If this property is set to true, tab won't change immediately after clicking it.\nComponent will emit \"duetTabChangeRequested\" event, and it needs to be handled manually in order to change tab."
515
+ },
516
+ "attribute": "tab-change-confirm",
517
+ "reflect": false,
518
+ "defaultValue": "false"
486
519
  }
487
520
  };
488
521
  }
@@ -536,6 +569,26 @@ export class DuetTabGroup {
536
569
  }
537
570
  }
538
571
  }
572
+ }, {
573
+ "method": "duetTabChangeRequested",
574
+ "name": "duetTabChangeRequested",
575
+ "bubbles": true,
576
+ "cancelable": true,
577
+ "composed": true,
578
+ "docs": {
579
+ "tags": [],
580
+ "text": "Event raised when new tab is clicked and \"tabChangeConfirm\" property is set to true"
581
+ },
582
+ "complexType": {
583
+ "original": "DuetTabGroupEvent",
584
+ "resolved": "{ component: \"duet-tab-group\"; value: number; }",
585
+ "references": {
586
+ "DuetTabGroupEvent": {
587
+ "location": "local",
588
+ "path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tab-group/duet-tab-group.tsx"
589
+ }
590
+ }
591
+ }
539
592
  }];
540
593
  }
541
594
  static get methods() {
@@ -5,6 +5,7 @@ import { sizeHeader, sizeNavigation } from "@duetds/tokens";
5
5
  import { Build, h, Host } from "@stencil/core";
6
6
  import { inheritGlobalTheme } from "../../common/themeable-component";
7
7
  import { debounce } from "../../utils/js-utils";
8
+ import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, } from "../../utils/language-utils";
8
9
  import { breakpointTokensUpTo, breakpointToToken } from "../../utils/token-utils";
9
10
  const stickyTopValues = {
10
11
  none: 0,
@@ -23,6 +24,7 @@ export class DuetTable {
23
24
  this.matchesBreakpoint = breakpointTokensUpTo.includes(this.breakpoint) ? !mq.matches : mq.matches;
24
25
  };
25
26
  this.matchesBreakpoint = true;
27
+ this.language = getLanguage();
26
28
  this.theme = undefined;
27
29
  this.margin = "auto";
28
30
  this.variation = "striped";
@@ -31,6 +33,11 @@ export class DuetTable {
31
33
  this.breakpoint = "small";
32
34
  this.hideHeadVisually = false;
33
35
  }
36
+ watchLanguageStateHandler(newValue, oldValue) {
37
+ if (newValue !== oldValue) {
38
+ setTimeout(() => this.copyHeadingsToCells(), 50);
39
+ }
40
+ }
34
41
  connectedCallback() {
35
42
  if (Build.isServer) {
36
43
  return;
@@ -65,6 +72,7 @@ export class DuetTable {
65
72
  // that way we avoid dealing with any initial changes
66
73
  // and only get genuine mutations as rows are added/removed
67
74
  this.observer ? this.observer.takeRecords() : null;
75
+ connectLanguageChangeObserver(this);
68
76
  }
69
77
  disconnectedCallback() {
70
78
  if (Build.isServer) {
@@ -75,6 +83,7 @@ export class DuetTable {
75
83
  this.mq.removeListener(this.handleMediaQueryChange);
76
84
  this.mq = null;
77
85
  this.matchesBreakpoint = true;
86
+ disconnectLanguageChangeObserver(this);
78
87
  }
79
88
  /**
80
89
  * Local methods.
@@ -270,8 +279,15 @@ export class DuetTable {
270
279
  }
271
280
  static get states() {
272
281
  return {
273
- "matchesBreakpoint": {}
282
+ "matchesBreakpoint": {},
283
+ "language": {}
274
284
  };
275
285
  }
276
286
  static get elementRef() { return "element"; }
287
+ static get watchers() {
288
+ return [{
289
+ "propName": "language",
290
+ "methodName": "watchLanguageStateHandler"
291
+ }];
292
+ }
277
293
  }
@@ -62,6 +62,19 @@ export class DuetTextarea {
62
62
  component: "duet-textarea",
63
63
  });
64
64
  };
65
+ this.getDescribedBy = () => {
66
+ const describedBy = [];
67
+ if (this.isCaptionVisible && this.topCaptionId) {
68
+ describedBy.push(this.topCaptionId);
69
+ }
70
+ if (this.accessibleDescribedBy) {
71
+ describedBy.push(this.accessibleDescribedBy);
72
+ }
73
+ if (this.error) {
74
+ describedBy.push(this.errorId);
75
+ }
76
+ return describedBy.length > 0 ? describedBy.join(" ") : null;
77
+ };
65
78
  this.margin = "auto";
66
79
  this.accessibleActiveDescendant = undefined;
67
80
  this.accessibleAutocomplete = undefined;
@@ -136,9 +149,7 @@ export class DuetTextarea {
136
149
  "duet-label-hidden": this.labelHidden,
137
150
  "duet-input-top-caption-shown": this.isCaptionVisible,
138
151
  "has-error": !!this.error,
139
- } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy
140
- ? `${this.errorId} ${this.labelId} ${this.accessibleLabelledBy}`
141
- : `${this.errorId} ${this.labelId} `, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-errormessage": this.error ? this.errorId : null, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
152
+ } }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": "polite", "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
142
153
  }
143
154
  static get is() { return "duet-textarea"; }
144
155
  static get encapsulation() { return "scoped"; }
@@ -9,6 +9,7 @@ export class DuetToolbarLink {
9
9
  this.active = false;
10
10
  this.href = "#";
11
11
  this.icon = undefined;
12
+ this.accessibleLabel = undefined;
12
13
  }
13
14
  /**
14
15
  * Component lifecycle events.
@@ -21,7 +22,7 @@ export class DuetToolbarLink {
21
22
  * Always the last one in the class.
22
23
  */
23
24
  render() {
24
- return (h(Host, null, h("a", { class: { "duet-toolbar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, "aria-current": this.active ? "true" : "false" }, this.icon && (h("duet-icon", { size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), h("slot", null))));
25
+ return (h(Host, null, h("a", { class: { "duet-toolbar-link": true, "duet-theme-turva": this.theme === "turva", active: this.active }, href: this.href, "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel }, this.icon && (h("duet-icon", { size: "x-small", name: this.icon, margin: "none", theme: this.theme, color: "currentColor" })), h("slot", null))));
25
26
  }
26
27
  static get is() { return "duet-toolbar-link"; }
27
28
  static get encapsulation() { return "shadow"; }
@@ -113,6 +114,23 @@ export class DuetToolbarLink {
113
114
  "attribute": "icon",
114
115
  "reflect": true,
115
116
  "defaultValue": "undefined"
117
+ },
118
+ "accessibleLabel": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "string",
123
+ "resolved": "string",
124
+ "references": {}
125
+ },
126
+ "required": false,
127
+ "optional": false,
128
+ "docs": {
129
+ "tags": [],
130
+ "text": "Adds accessible label for the link that is only shown for screen readers.\nTypically, this label text replaces the visible text on the link for users\nwho use assistive technology."
131
+ },
132
+ "attribute": "accessible-label",
133
+ "reflect": false
116
134
  }
117
135
  };
118
136
  }
@@ -4,7 +4,7 @@
4
4
  import { h, Host } from "@stencil/core";
5
5
  import { inheritGlobalTheme } from "../../common";
6
6
  import { createID } from "../../utils/create-id";
7
- import { getLanguage, getLocaleString } from "../../utils/language-utils";
7
+ import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
8
8
  export class DuetTooltip {
9
9
  constructor() {
10
10
  /**
@@ -113,6 +113,14 @@ export class DuetTooltip {
113
113
  this.positionHorizontal = "0";
114
114
  this.active = false;
115
115
  }
116
+ watchLanguageStateHandler(newValue, oldValue) {
117
+ if (newValue !== oldValue && this.accessibleLabel === this.accessibleLabelDefault[oldValue]) {
118
+ this.accessibleLabel = getLocaleString(this.accessibleLabelDefault, newValue);
119
+ }
120
+ if (newValue !== oldValue && this.accessibleCloseLabel === this.accessibleCloseLabelDefault[oldValue]) {
121
+ this.accessibleCloseLabel = getLocaleString(this.accessibleCloseLabelDefault, newValue);
122
+ }
123
+ }
116
124
  /**
117
125
  * Component lifecycle events.
118
126
  */
@@ -133,6 +141,12 @@ export class DuetTooltip {
133
141
  }
134
142
  this.focusTarget = null;
135
143
  }
144
+ connectedCallback() {
145
+ connectLanguageChangeObserver(this);
146
+ }
147
+ disconnectedCallback() {
148
+ disconnectLanguageChangeObserver(this);
149
+ }
136
150
  /**
137
151
  * Component event handling.
138
152
  */
@@ -145,6 +159,12 @@ export class DuetTooltip {
145
159
  }
146
160
  }, 100);
147
161
  }
162
+ handleWindowResize() {
163
+ clearTimeout(this.resizeTimer);
164
+ this.resizeTimer = setTimeout(() => {
165
+ this.handleHorizontalVisibility();
166
+ }, 100);
167
+ }
148
168
  handleDocumentClick(e) {
149
169
  if (!this.active) {
150
170
  return;
@@ -287,7 +307,7 @@ export class DuetTooltip {
287
307
  },
288
308
  "accessibleLabel": {
289
309
  "type": "string",
290
- "mutable": false,
310
+ "mutable": true,
291
311
  "complexType": {
292
312
  "original": "string",
293
313
  "resolved": "string",
@@ -354,7 +374,7 @@ export class DuetTooltip {
354
374
  },
355
375
  "accessibleCloseLabel": {
356
376
  "type": "string",
357
- "mutable": false,
377
+ "mutable": true,
358
378
  "complexType": {
359
379
  "original": "string",
360
380
  "resolved": "string",
@@ -371,7 +391,7 @@ export class DuetTooltip {
371
391
  },
372
392
  "attribute": "accessible-close-label",
373
393
  "reflect": false,
374
- "defaultValue": "getLocaleString(this.accessibleCloseLabelDefault, this.language)"
394
+ "defaultValue": "getLocaleString(\n this.accessibleCloseLabelDefault,\n this.language\n )"
375
395
  },
376
396
  "label": {
377
397
  "type": "string",
@@ -503,6 +523,9 @@ export class DuetTooltip {
503
523
  static get elementRef() { return "element"; }
504
524
  static get watchers() {
505
525
  return [{
526
+ "propName": "language",
527
+ "methodName": "watchLanguageStateHandler"
528
+ }, {
506
529
  "propName": "active",
507
530
  "methodName": "handleActiveChange"
508
531
  }];
@@ -514,6 +537,12 @@ export class DuetTooltip {
514
537
  "target": "window",
515
538
  "capture": false,
516
539
  "passive": true
540
+ }, {
541
+ "name": "resize",
542
+ "method": "handleWindowResize",
543
+ "target": "window",
544
+ "capture": false,
545
+ "passive": true
517
546
  }, {
518
547
  "name": "click",
519
548
  "method": "handleDocumentClick",
@@ -34,6 +34,10 @@
34
34
  margin-top: 16px;
35
35
  }
36
36
 
37
+ ::slotted([slot=uploadfooter]) {
38
+ margin-top: 20px;
39
+ }
40
+
37
41
  .duet-upload {
38
42
  box-sizing: border-box;
39
43
  padding: 0;
@@ -109,13 +113,14 @@ duet-editable-table tfoot {
109
113
  }
110
114
 
111
115
  .upload-bottom-caption {
112
- margin-top: 8px;
113
- margin-bottom: 8px;
116
+ margin-top: 12px;
117
+ margin-bottom: 28px;
114
118
  }
115
119
 
116
120
  .items-header {
117
121
  display: none;
118
122
  flex-direction: row;
123
+ margin-bottom: 0;
119
124
  }
120
125
  @media (min-width: 36em) {
121
126
  .items-header {
@@ -138,7 +143,7 @@ duet-editable-table tfoot {
138
143
  .upload-item-row {
139
144
  display: flex;
140
145
  flex-direction: column;
141
- gap: 10px;
146
+ gap: 16px;
142
147
  align-content: center;
143
148
  align-items: center;
144
149
  padding: 16px 0 16px 0;
@@ -147,51 +152,59 @@ duet-editable-table tfoot {
147
152
  @media (min-width: 36em) {
148
153
  .upload-item-row {
149
154
  flex-direction: row;
155
+ gap: 10px;
150
156
  }
151
157
  }
152
158
  .upload-item-row .item-categories {
153
159
  width: 100%;
154
- margin-bottom: 8px;
155
160
  }
156
161
  @media (min-width: 36em) {
157
162
  .upload-item-row .item-categories {
158
163
  width: 35%;
159
164
  }
160
165
  }
161
- .upload-item-row .item-label {
166
+ .upload-item-row .item-name {
167
+ position: relative;
168
+ bottom: 2px;
162
169
  width: 100%;
163
- margin-bottom: 8px;
164
170
  text-align: left;
165
171
  }
166
172
  @media (min-width: 36em) {
167
- .upload-item-row .item-label {
173
+ .upload-item-row .item-name {
168
174
  width: 50%;
169
175
  }
170
- .upload-item-row .item-label.no-category {
176
+ .upload-item-row .item-name.no-category {
171
177
  width: 85%;
172
178
  }
173
179
  }
174
180
  .upload-item-row .item-categories .heading,
175
- .upload-item-row .item-label .heading {
181
+ .upload-item-row .item-name .heading {
176
182
  display: block;
177
183
  }
178
184
  @media (min-width: 36em) {
179
185
  .upload-item-row .item-categories .heading,
180
- .upload-item-row .item-label .heading {
186
+ .upload-item-row .item-name .heading {
181
187
  display: none;
182
188
  }
183
189
  }
184
190
  .upload-item-row .item-actions {
185
191
  width: 100%;
192
+ margin-left: -8px;
186
193
  text-align: left;
187
194
  }
188
195
  @media (min-width: 36em) {
189
196
  .upload-item-row .item-actions {
190
197
  width: 15%;
198
+ padding-top: 0;
199
+ margin-left: auto;
191
200
  text-align: right;
192
201
  }
193
202
  }
194
203
  .upload-item-row .duet-upload-item-name duet-icon {
195
204
  position: relative;
196
205
  top: 4px;
206
+ }
207
+ .upload-item-row .duet-upload-item-name duet-progress {
208
+ display: block;
209
+ margin-top: 16px;
197
210
  }
@@ -696,7 +696,7 @@ export class DuetUpload {
696
696
  this.externalUploadButton.ariaLabel = caption;
697
697
  }
698
698
  // @ts-ignore
699
- return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, h("slot", { name: "header" }), !this.files.size && (h("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { 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", { name: "filefooter" }), h("slot", { name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { size: "small" }, h("div", { class: "upload-bottom-caption" }, caption))), h("slot", { name: "afterfooter" }), h("duet-spacer", { size: "large" }), !this.hideButton && (h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "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)), h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (h("duet-alert", { 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))), h("duet-spacer", { size: "medium" }), h("duet-visually-hidden", { "aria-hidden": "true" }, h("input", { ref: input => {
699
+ return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, h("slot", { name: "header" }), !this.files.size && (h("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { name: "fileheader" }), !!this.files.size && (h("duet-upload-aria-status", { 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", { name: "filefooter" }), h("slot", { name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { margin: "none", size: "small" }, h("div", { class: "upload-bottom-caption" }, caption))), h("slot", { name: "afterfooter" }), !this.hideButton && (h(Fragment, null, h("duet-spacer", { size: "large" }), h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "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 || this.bytesMaxReached) && (h(Fragment, null, h("duet-spacer", { size: "medium" }), h("duet-alert", { 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)))), h("duet-visually-hidden", { "aria-hidden": "true" }, h("input", { ref: input => {
700
700
  this.nativeInput = input;
701
701
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
702
702
  "duet-upload": true,
@@ -4,5 +4,5 @@
4
4
  import { h } from "@stencil/core";
5
5
  import { getLocaleString } from "../../utils/language-utils";
6
6
  export const UploadItemHeader = ({ label, categoryLabel }) => {
7
- return (h("div", { class: "items-header" }, categoryLabel && (h("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold" }, getLocaleString(categoryLabel))), h("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold" }, getLocaleString(label))));
7
+ return (h("div", { class: "items-header" }, categoryLabel && (h("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none" }, getLocaleString(categoryLabel))), h("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none" }, getLocaleString(label))));
8
8
  };
@@ -11,7 +11,7 @@ export const UploadItem = ({ data, showLinks, type, actions, errorCodes, theme,
11
11
  const getFileNameLine = () => {
12
12
  switch (type) {
13
13
  case "inprogress":
14
- return (h("span", { class: "duet-upload-item-name" }, h("duet-paragraph", { class: "duet-upload-item-name", color: "gray-darker", margin: "none", weight: "semi-bold" }, h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }), h("duet-spacer", { size: "xx-small", direction: "horizontal" }), name), h("br", null), h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
14
+ return (h("span", { class: "duet-upload-item-name" }, h("duet-paragraph", { class: "duet-upload-item-name", color: "gray-darker", margin: "none", weight: "semi-bold" }, h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }), h("duet-spacer", { size: "xx-small", direction: "horizontal" }), name), h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
15
15
  case "pending":
16
16
  return (h("span", { class: "duet-upload-item-name" }, h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }), h("duet-spacer", { size: "xx-small", direction: "horizontal" }), name));
17
17
  case "failure":
@@ -22,11 +22,11 @@ export const UploadItem = ({ data, showLinks, type, actions, errorCodes, theme,
22
22
  };
23
23
  const ContentName = (h("span", { class: "duet-upload-item-name" }, h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }), h("duet-spacer", { size: "xx-small", direction: "horizontal" }), name));
24
24
  const SizeText = (h("span", { class: "duet-upload-item-size", style: { fontSize: "14px", fontWeight: "400" } }, "(", formatBytes(size), ")"));
25
- const Badges = meta && meta.badges ? (h("span", null, h("duet-spacer", { size: "xx-small" }), meta.badges.map(badgeText => (h("duet-badge", { color: "primary" }, badgeText))))) : undefined;
25
+ const Badges = meta && meta.badges ? (h("span", null, meta.badges.map(badgeText => (h("duet-badge", { color: "primary" }, badgeText))))) : undefined;
26
26
  const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${name}`;
27
27
  return (h("div", { class: {
28
28
  "upload-item-row": true,
29
- } }, showCategory && (h("div", { class: "item-categories" }, h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(categoryLabel)), Badges)), h("div", { class: { "item-label": true, "no-category": !showCategory } }, !!label && (h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(label))), getFileNameLine()), h("div", { class: "item-actions" }, actions.map(actionItem => {
29
+ } }, showCategory && (h("div", { class: "item-categories" }, h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(categoryLabel)), Badges)), h("div", { class: { "item-name": true, "no-category": !showCategory } }, !!label && (h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(label))), getFileNameLine()), h("div", { class: "item-actions" }, actions.map(actionItem => {
30
30
  return (h("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} ` }));
31
31
  }))));
32
32
  };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetActionButton$1, d as defineCustomElement$1 } from './p-41ef88f4.js';
4
+ import { D as DuetActionButton$1, d as defineCustomElement$1 } from './p-29b0c53d.js';
5
5
 
6
6
  const DuetActionButton = DuetActionButton$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetAlert$1, d as defineCustomElement$1 } from './p-276e05ab.js';
4
+ import { D as DuetAlert$1, d as defineCustomElement$1 } from './p-cf8e064c.js';
5
5
 
6
6
  const DuetAlert = DuetAlert$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetBadge$1, d as defineCustomElement$1 } from './p-49848110.js';
4
+ import { D as DuetBadge$1, d as defineCustomElement$1 } from './p-6b75d471.js';
5
5
 
6
6
  const DuetBadge = DuetBadge$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, d as Host } from './p-0d1b84db.js';
4
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d0a476fa.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
- import { d as defineCustomElement$2 } from './p-d6a4de03.js';
6
+ import { d as defineCustomElement$2 } from './p-fb9ea1e2.js';
7
7
 
8
8
  const duetBreadcrumbCss = "*,*::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:block;width:100%}.duet-breadcrumb{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;font-size:0.875rem;font-weight:inherit;color:rgb(0, 41, 77);text-decoration:none}.duet-breadcrumb:hover{color:rgb(0, 77, 128)}.duet-breadcrumb.duet-theme-turva{color:rgb(23, 28, 58)}.duet-breadcrumb.duet-theme-turva:hover{color:rgb(148, 9, 37)}.duet-breadcrumb:focus{outline:0}.duet-breadcrumb:active{opacity:0.75}:host(.user-is-tabbing) .duet-breadcrumb:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing) .duet-breadcrumb.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-breadcrumb.duet-breadcrumb-without-href:hover{color:rgb(0, 41, 77)}.duet-breadcrumb.duet-breadcrumb-without-href.duet-theme-turva:hover{color:rgb(23, 28, 58)}.duet-breadcrumb.duet-breadcrumb-without-href:active{opacity:1}";
9
9
 
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { p as proxyCustomElement, H, h, F as Fragment, d as Host } from './p-0d1b84db.js';
4
+ import { p as proxyCustomElement, H, h, F as Fragment, d as Host } from './p-d0a476fa.js';
5
5
  import { i as inheritGlobalTheme } from './p-4ebf1618.js';
6
- import { g as getLocaleString } from './p-6c05e879.js';
7
- import { d as defineCustomElement$2 } from './p-d6a4de03.js';
6
+ import { a as getLocaleString } from './p-076452be.js';
7
+ import { d as defineCustomElement$2 } from './p-fb9ea1e2.js';
8
8
 
9
9
  var actionArrowRightSmall={"title":"action-arrow-right-small","tags":"action arrow right small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M19.5 12a2.3 2.3 0 0 1-.78 1.729L7.568 23.54a1.847 1.847 0 0 1-2.439-2.773l9.752-8.579a.25.25 0 0 0 0-.376L5.129 3.233A1.847 1.847 0 0 1 7.568.46l11.148 9.808A2.31 2.31 0 0 1 19.5 12z\"/></svg>"};
10
10
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetButton$1, d as defineCustomElement$1 } from './p-dde8e436.js';
4
+ import { D as DuetButton$1, d as defineCustomElement$1 } from './p-8810d94c.js';
5
5
 
6
6
  const DuetButton = DuetButton$1;
7
7
  const defineCustomElement = defineCustomElement$1;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built with Duet Design System
3
3
  */
4
- import { D as DuetCaption$1, d as defineCustomElement$1 } from './p-29b2c3bb.js';
4
+ import { D as DuetCaption$1, d as defineCustomElement$1 } from './p-773afd9d.js';
5
5
 
6
6
  const DuetCaption = DuetCaption$1;
7
7
  const defineCustomElement = defineCustomElement$1;