@duetds/components 10.0.0-alpha.9 → 10.0.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 (1236) hide show
  1. package/hydrate/index.d.ts +38 -7
  2. package/hydrate/index.js +9485 -4052
  3. package/hydrate/index.mjs +46153 -0
  4. package/lib/cjs/_commonjsHelpers-4N64IRaP.js +10 -0
  5. package/lib/cjs/a11y-utils-DmZK4TTO.js +46 -0
  6. package/lib/cjs/action-arrow-down-small-CDsSJFvZ.js +21 -0
  7. package/lib/cjs/action-new-window-small-BWlVx6YN.js +21 -0
  8. package/lib/cjs/{app-globals-2b7fff72.js → app-globals-C35yvbFy.js} +2 -2
  9. package/lib/cjs/{common-strings-2984301e.js → common-strings-CC6Xpjb8.js} +30 -0
  10. package/lib/cjs/duet-action-button.cjs.entry.js +84 -29
  11. package/lib/cjs/duet-alert.cjs.entry.js +106 -49
  12. package/lib/cjs/duet-badge.cjs.entry.js +31 -9
  13. package/lib/cjs/duet-banner.cjs.entry.js +71 -28
  14. package/lib/cjs/duet-breadcrumb.cjs.entry.js +37 -26
  15. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +20 -14
  16. package/lib/cjs/duet-button_2.cjs.entry.js +152 -72
  17. package/lib/cjs/duet-callout.cjs.entry.js +13 -10
  18. package/lib/cjs/duet-caption_4.cjs.entry.js +212 -47
  19. package/lib/cjs/duet-card.cjs.entry.js +93 -35
  20. package/lib/cjs/duet-checkbox.cjs.entry.js +68 -32
  21. package/lib/cjs/duet-checkmark.cjs.entry.js +21 -9
  22. package/lib/cjs/duet-chip.cjs.entry.js +60 -33
  23. package/lib/cjs/duet-choice_2.cjs.entry.js +279 -130
  24. package/lib/cjs/duet-collapsible.cjs.entry.js +92 -33
  25. package/lib/cjs/duet-combobox.cjs.entry.js +99 -58
  26. package/lib/cjs/duet-contact-card.cjs.entry.js +17 -18
  27. package/lib/cjs/duet-cookie-consent.cjs.entry.js +14 -11
  28. package/lib/cjs/duet-date-picker.cjs.entry.js +158 -57
  29. package/lib/cjs/duet-divider_2.cjs.entry.js +30 -14
  30. package/lib/cjs/duet-editable-table_3.cjs.entry.js +556 -210
  31. package/lib/cjs/duet-empty-state.cjs.entry.js +15 -9
  32. package/lib/cjs/duet-fieldset.cjs.entry.js +51 -18
  33. package/lib/cjs/duet-file-chooser.cjs.entry.js +18 -11
  34. package/lib/cjs/duet-footer.cjs.entry.js +56 -30
  35. package/lib/cjs/duet-grid_2.cjs.entry.js +165 -64
  36. package/lib/cjs/duet-header_2.cjs.entry.js +302 -91
  37. package/lib/cjs/duet-hero.cjs.entry.js +159 -35
  38. package/lib/cjs/duet-icon.cjs.entry.js +64 -20
  39. package/lib/cjs/duet-indicator.cjs.entry.js +61 -0
  40. package/lib/cjs/duet-input_2.cjs.entry.js +225 -86
  41. package/lib/cjs/duet-layout.cjs.entry.js +33 -13
  42. package/lib/cjs/duet-list_2.cjs.entry.js +58 -14
  43. package/lib/cjs/duet-menu-bar-button.cjs.entry.js +24 -16
  44. package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +19 -14
  45. package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +21 -16
  46. package/lib/cjs/duet-menu-bar-item.cjs.entry.js +40 -19
  47. package/lib/cjs/duet-menu-bar-link.cjs.entry.js +18 -10
  48. package/lib/cjs/duet-menu-bar.cjs.entry.js +37 -59
  49. package/lib/cjs/duet-modal.cjs.entry.js +122 -35
  50. package/lib/cjs/duet-multiselect.cjs.entry.js +88 -42
  51. package/lib/cjs/duet-nav.cjs.entry.js +12 -8
  52. package/lib/cjs/duet-notification_2.cjs.entry.js +98 -32
  53. package/lib/cjs/duet-number-input.cjs.entry.js +191 -70
  54. package/lib/cjs/duet-overlay.cjs.entry.js +36 -14
  55. package/lib/cjs/duet-page-heading.cjs.entry.js +16 -11
  56. package/lib/cjs/duet-pagination_2.cjs.entry.js +162 -87
  57. package/lib/cjs/duet-panel.cjs.entry.js +52 -0
  58. package/lib/cjs/duet-phone-input.cjs.entry.js +115 -45
  59. package/lib/cjs/duet-popup-menu_2.cjs.entry.js +226 -102
  60. package/lib/cjs/duet-progress.cjs.entry.js +32 -13
  61. package/lib/cjs/duet-promo-card.cjs.entry.js +27 -13
  62. package/lib/cjs/duet-radio_2.cjs.entry.js +114 -55
  63. package/lib/cjs/duet-range-slider.cjs.entry.js +73 -37
  64. package/lib/cjs/duet-scrollable_3.cjs.entry.js +233 -88
  65. package/lib/cjs/duet-section-layout.cjs.entry.js +17 -10
  66. package/lib/cjs/duet-select.cjs.entry.js +89 -46
  67. package/lib/cjs/duet-shaped-image.cjs.entry.js +16 -11
  68. package/lib/cjs/duet-share-chart-item.cjs.entry.js +22 -0
  69. package/lib/cjs/duet-share-chart.cjs.entry.js +85 -0
  70. package/lib/cjs/duet-show-more.cjs.entry.js +81 -38
  71. package/lib/cjs/duet-slideout-lang.cjs.entry.js +10 -10
  72. package/lib/cjs/duet-slideout-link.cjs.entry.js +49 -16
  73. package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +25 -14
  74. package/lib/cjs/duet-slideout-panel.cjs.entry.js +50 -36
  75. package/lib/cjs/duet-slideout.cjs.entry.js +85 -52
  76. package/lib/cjs/duet-status-icon.cjs.entry.js +28 -15
  77. package/lib/cjs/duet-step_2.cjs.entry.js +72 -24
  78. package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +25 -10
  79. package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +27 -18
  80. package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +40 -19
  81. package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +18 -9
  82. package/lib/cjs/duet-submenu-bar.cjs.entry.js +27 -21
  83. package/lib/cjs/duet-textarea.cjs.entry.js +146 -71
  84. package/lib/cjs/duet-toggle.cjs.entry.js +50 -29
  85. package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +22 -11
  86. package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +27 -16
  87. package/lib/cjs/duet-toolbar-item.cjs.entry.js +46 -19
  88. package/lib/cjs/duet-toolbar-link.cjs.entry.js +21 -10
  89. package/lib/cjs/duet-toolbar.cjs.entry.js +12 -10
  90. package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +24 -27
  91. package/lib/cjs/duet-tooltip.cjs.entry.js +98 -46
  92. package/lib/cjs/duet-tray.cjs.entry.js +63 -24
  93. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +30 -11
  94. package/lib/cjs/duet-upload-item.cjs.entry.js +12 -22
  95. package/lib/cjs/duet-visually-hidden.cjs.entry.js +4 -7
  96. package/lib/cjs/duet.cjs.js +8 -8
  97. package/lib/cjs/{errorcodes.utils-e3a0f607.js → errorcodes.utils-lNwivqkj.js} +2 -2
  98. package/lib/cjs/floating-ui.dom.browser.min-Cj0r5YDz.js +709 -0
  99. package/lib/cjs/{focus-utils-47d23c45.js → focus-utils-DFa0zwT7.js} +1 -1
  100. package/lib/cjs/form-search-CzPfHB80.js +21 -0
  101. package/lib/cjs/{index-7b1d76ef.js → index-C0kw3uAi.js} +1853 -1361
  102. package/lib/cjs/{label-874fd84f.js → label-BJ7gT5C1.js} +1 -1
  103. package/lib/cjs/{language-utils-a6a152b8.js → language-utils-v37OZJFe.js} +10 -2
  104. package/lib/cjs/loader.cjs.js +3 -5
  105. package/lib/cjs/{slot-utils-7e6aa48b.js → slot-utils-DFmRJ2pY.js} +6 -1
  106. package/lib/cjs/{teleport-c6f8391a.js → teleport-D5NDbuu0.js} +22 -7
  107. package/lib/cjs/themeable-component-BEm0vuJc.js +74 -0
  108. package/lib/cjs/{token-utils-5000595c.js → token-utils-BJtlJxnJ.js} +80 -9
  109. package/lib/cjs/{tokens-57e06fe4.js → tokens-BxWzRxOl.js} +150 -8
  110. package/lib/cjs/{tokens.module-7c947029.js → tokens.module-DJt2h4FX.js} +99 -3
  111. package/lib/cjs/{watch-options-30a12622.js → watch-options-D4JNsU3B.js} +0 -20
  112. package/lib/collection/collection-manifest.json +5 -1
  113. package/lib/collection/common/themeable-component.js +61 -3
  114. package/lib/collection/common-strings.js +28 -0
  115. package/lib/collection/components/duet-action-button/duet-action-button.css +29 -12
  116. package/lib/collection/components/duet-action-button/duet-action-button.js +92 -33
  117. package/lib/collection/components/duet-alert/duet-alert.css +96 -58
  118. package/lib/collection/components/duet-alert/duet-alert.js +145 -58
  119. package/lib/collection/components/duet-badge/duet-badge.css +24 -9
  120. package/lib/collection/components/duet-badge/duet-badge.js +30 -6
  121. package/lib/collection/components/duet-banner/duet-banner.css +51 -24
  122. package/lib/collection/components/duet-banner/duet-banner.js +94 -29
  123. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +10 -8
  124. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +26 -28
  125. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +18 -7
  126. package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +15 -6
  127. package/lib/collection/components/duet-button/duet-button.css +140 -32
  128. package/lib/collection/components/duet-button/duet-button.js +169 -88
  129. package/lib/collection/components/duet-callout/duet-callout.css +7 -2
  130. package/lib/collection/components/duet-callout/duet-callout.js +10 -4
  131. package/lib/collection/components/duet-caption/duet-caption.css +7 -3
  132. package/lib/collection/components/duet-caption/duet-caption.js +18 -6
  133. package/lib/collection/components/duet-card/duet-card.css +48 -16
  134. package/lib/collection/components/duet-card/duet-card.js +131 -37
  135. package/lib/collection/components/duet-checkbox/duet-checkbox.css +30 -8
  136. package/lib/collection/components/duet-checkbox/duet-checkbox.js +86 -47
  137. package/lib/collection/components/duet-chip/duet-chip.css +66 -25
  138. package/lib/collection/components/duet-chip/duet-chip.js +67 -35
  139. package/lib/collection/components/duet-choice/duet-checkmark.css +4 -0
  140. package/lib/collection/components/duet-choice/duet-checkmark.js +22 -7
  141. package/lib/collection/components/duet-choice/duet-choice.css +160 -40
  142. package/lib/collection/components/duet-choice/duet-choice.js +241 -139
  143. package/lib/collection/components/duet-choice-group/duet-choice-group.css +4 -4
  144. package/lib/collection/components/duet-choice-group/duet-choice-group.js +109 -48
  145. package/lib/collection/components/duet-collapsible/duet-collapsible.css +36 -13
  146. package/lib/collection/components/duet-collapsible/duet-collapsible.js +97 -35
  147. package/lib/collection/components/duet-combobox/duet-combobox.css +9 -2
  148. package/lib/collection/components/duet-combobox/duet-combobox.js +103 -56
  149. package/lib/collection/components/duet-contact-card/duet-contact-card.css +8 -4
  150. package/lib/collection/components/duet-contact-card/duet-contact-card.js +21 -19
  151. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.css +23 -14
  152. package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +11 -5
  153. package/lib/collection/components/duet-date-picker/date-picker-day.js +6 -1
  154. package/lib/collection/components/duet-date-picker/date-utils.js +6 -1
  155. package/lib/collection/components/duet-date-picker/duet-date-picker.css +102 -45
  156. package/lib/collection/components/duet-date-picker/duet-date-picker.js +172 -69
  157. package/lib/collection/components/duet-divider/duet-divider.css +12 -6
  158. package/lib/collection/components/duet-divider/duet-divider.js +14 -4
  159. package/lib/collection/components/duet-editable-table/duet-editable-table.css +2 -2
  160. package/lib/collection/components/duet-editable-table/duet-editable-table.js +83 -26
  161. package/lib/collection/components/duet-empty-state/duet-empty-state.css +11 -6
  162. package/lib/collection/components/duet-empty-state/duet-empty-state.js +14 -5
  163. package/lib/collection/components/duet-fieldset/duet-fieldset.css +13 -6
  164. package/lib/collection/components/duet-fieldset/duet-fieldset.js +58 -20
  165. package/lib/collection/components/duet-file-chooser/duet-file-chooser.css +2 -2
  166. package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +17 -7
  167. package/lib/collection/components/duet-footer/duet-footer.css +43 -14
  168. package/lib/collection/components/duet-footer/duet-footer.js +55 -27
  169. package/lib/collection/components/duet-grid/duet-grid.css +2 -6
  170. package/lib/collection/components/duet-grid/duet-grid.js +144 -67
  171. package/lib/collection/components/duet-grid-item/duet-grid-item.css +6 -2
  172. package/lib/collection/components/duet-grid-item/duet-grid-item.js +40 -13
  173. package/lib/collection/components/duet-header/duet-header.css +165 -65
  174. package/lib/collection/components/duet-header/duet-header.js +165 -76
  175. package/lib/collection/components/duet-heading/duet-heading.css +11 -6
  176. package/lib/collection/components/duet-heading/duet-heading.js +38 -14
  177. package/lib/collection/components/duet-hero/duet-hero.css +326 -18
  178. package/lib/collection/components/duet-hero/duet-hero.js +197 -51
  179. package/lib/collection/components/duet-icon/duet-icon.css +17 -5
  180. package/lib/collection/components/duet-icon/duet-icon.js +71 -24
  181. package/lib/collection/components/duet-indicator/duet-indicator.css +50 -0
  182. package/lib/collection/components/duet-indicator/duet-indicator.js +138 -0
  183. package/lib/collection/components/duet-input/duet-input.css +142 -67
  184. package/lib/collection/components/duet-input/duet-input.js +312 -138
  185. package/lib/collection/components/duet-label/duet-label.css +8 -4
  186. package/lib/collection/components/duet-label/duet-label.js +23 -8
  187. package/lib/collection/components/duet-layout/duet-layout.css +4 -4
  188. package/lib/collection/components/duet-layout/duet-layout.js +35 -12
  189. package/lib/collection/components/duet-link/duet-link.css +144 -25
  190. package/lib/collection/components/duet-link/duet-link.js +120 -32
  191. package/lib/collection/components/duet-list/duet-list.css +4 -4
  192. package/lib/collection/components/duet-list/duet-list.js +38 -9
  193. package/lib/collection/components/duet-list-item/duet-list-item.css +29 -9
  194. package/lib/collection/components/duet-list-item/duet-list-item.js +50 -4
  195. package/lib/collection/components/duet-logo/duet-logo.css +36 -8
  196. package/lib/collection/components/duet-logo/duet-logo.js +111 -11
  197. package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +108 -6
  198. package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +59 -58
  199. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +17 -8
  200. package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +33 -22
  201. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +28 -12
  202. package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +20 -12
  203. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +19 -9
  204. package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +18 -10
  205. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +28 -10
  206. package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +39 -16
  207. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +25 -10
  208. package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +19 -8
  209. package/lib/collection/components/duet-modal/duet-modal.css +23 -25
  210. package/lib/collection/components/duet-modal/duet-modal.js +193 -39
  211. package/lib/collection/components/duet-multiselect/duet-multiselect.css +70 -29
  212. package/lib/collection/components/duet-multiselect/duet-multiselect.js +98 -48
  213. package/lib/collection/components/duet-nav/duet-nav.css +8 -4
  214. package/lib/collection/components/duet-nav/duet-nav.js +10 -3
  215. package/lib/collection/components/duet-notification/duet-notification.css +33 -26
  216. package/lib/collection/components/duet-notification/duet-notification.js +46 -9
  217. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +38 -36
  218. package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +57 -24
  219. package/lib/collection/components/duet-number-input/duet-number-input.css +29 -14
  220. package/lib/collection/components/duet-number-input/duet-number-input.js +204 -103
  221. package/lib/collection/components/duet-overlay/duet-overlay.css +5 -1
  222. package/lib/collection/components/duet-overlay/duet-overlay.js +40 -15
  223. package/lib/collection/components/duet-page-heading/duet-page-heading.css +44 -16
  224. package/lib/collection/components/duet-page-heading/duet-page-heading.js +17 -9
  225. package/lib/collection/components/duet-pagination/duet-pagination.css +8 -4
  226. package/lib/collection/components/duet-pagination/duet-pagination.js +130 -76
  227. package/lib/collection/components/duet-panel/duet-panel.css +99 -0
  228. package/lib/collection/components/duet-panel/duet-panel.js +233 -0
  229. package/lib/collection/components/duet-paragraph/duet-paragraph.css +19 -6
  230. package/lib/collection/components/duet-paragraph/duet-paragraph.js +29 -8
  231. package/lib/collection/components/duet-phone-input/duet-phone-input.css +46 -2
  232. package/lib/collection/components/duet-phone-input/duet-phone-input.js +207 -54
  233. package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +14 -6
  234. package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +183 -89
  235. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +30 -12
  236. package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +64 -29
  237. package/lib/collection/components/duet-progress/duet-progress.css +27 -8
  238. package/lib/collection/components/duet-progress/duet-progress.js +36 -14
  239. package/lib/collection/components/duet-promo-card/duet-promo-card.css +18 -12
  240. package/lib/collection/components/duet-promo-card/duet-promo-card.js +47 -11
  241. package/lib/collection/components/duet-radio/duet-radio.css +41 -8
  242. package/lib/collection/components/duet-radio/duet-radio.js +67 -49
  243. package/lib/collection/components/duet-radio-group/duet-radio-group.css +4 -4
  244. package/lib/collection/components/duet-radio-group/duet-radio-group.js +78 -30
  245. package/lib/collection/components/duet-range-slider/duet-range-slider.css +63 -18
  246. package/lib/collection/components/duet-range-slider/duet-range-slider.js +85 -46
  247. package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +8 -4
  248. package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +43 -14
  249. package/lib/collection/components/duet-scrollable/duet-scrollable.css +29 -19
  250. package/lib/collection/components/duet-scrollable/duet-scrollable.js +170 -29
  251. package/lib/collection/components/duet-section-layout/duet-section-layout.css +4 -4
  252. package/lib/collection/components/duet-section-layout/duet-section-layout.js +16 -6
  253. package/lib/collection/components/duet-select/duet-select.css +54 -23
  254. package/lib/collection/components/duet-select/duet-select.js +109 -63
  255. package/lib/collection/components/duet-shaped-image/duet-shaped-image.css +6 -6
  256. package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +17 -9
  257. package/lib/collection/components/duet-share-chart/duet-share-chart.css +82 -0
  258. package/lib/collection/components/duet-share-chart/duet-share-chart.js +141 -0
  259. package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +67 -0
  260. package/lib/collection/components/duet-show-more/duet-show-more.css +15 -8
  261. package/lib/collection/components/duet-show-more/duet-show-more.js +87 -37
  262. package/lib/collection/components/duet-slideout/duet-slideout.css +72 -40
  263. package/lib/collection/components/duet-slideout/duet-slideout.js +88 -50
  264. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.css +10 -6
  265. package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +5 -2
  266. package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +24 -11
  267. package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +50 -15
  268. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +63 -40
  269. package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +47 -30
  270. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +29 -16
  271. package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +25 -11
  272. package/lib/collection/components/duet-spacer/duet-spacer.css +2 -2
  273. package/lib/collection/components/duet-spacer/duet-spacer.js +14 -4
  274. package/lib/collection/components/duet-spinner/duet-spinner.css +10 -16
  275. package/lib/collection/components/duet-spinner/duet-spinner.js +21 -23
  276. package/lib/collection/components/duet-status-icon/duet-status-icon.js +30 -15
  277. package/lib/collection/components/duet-step/duet-step.css +28 -13
  278. package/lib/collection/components/duet-step/duet-step.js +25 -16
  279. package/lib/collection/components/duet-stepper/duet-stepper.css +4 -4
  280. package/lib/collection/components/duet-stepper/duet-stepper.js +45 -10
  281. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +34 -16
  282. package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +25 -16
  283. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +49 -15
  284. package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +25 -13
  285. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +29 -8
  286. package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +26 -8
  287. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.css +33 -10
  288. package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +38 -15
  289. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +34 -9
  290. package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +17 -5
  291. package/lib/collection/components/duet-tab/duet-tab.css +15 -11
  292. package/lib/collection/components/duet-tab/duet-tab.js +88 -24
  293. package/lib/collection/components/duet-tab-group/duet-tab-group.css +131 -85
  294. package/lib/collection/components/duet-tab-group/duet-tab-group.js +168 -51
  295. package/lib/collection/components/duet-table/duet-table-styles.js +68 -4
  296. package/lib/collection/components/duet-table/duet-table.js +43 -14
  297. package/lib/collection/components/duet-textarea/duet-textarea.css +67 -22
  298. package/lib/collection/components/duet-textarea/duet-textarea.js +227 -99
  299. package/lib/collection/components/duet-toggle/duet-toggle.css +26 -10
  300. package/lib/collection/components/duet-toggle/duet-toggle.js +62 -38
  301. package/lib/collection/components/duet-toolbar/duet-toolbar.css +11 -4
  302. package/lib/collection/components/duet-toolbar/duet-toolbar.js +11 -6
  303. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +42 -12
  304. package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +28 -14
  305. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +21 -8
  306. package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +23 -9
  307. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +52 -30
  308. package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +48 -19
  309. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +60 -10
  310. package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +23 -9
  311. package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +24 -14
  312. package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +9 -11
  313. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +48 -16
  314. package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +18 -14
  315. package/lib/collection/components/duet-tooltip/duet-tooltip.css +4 -4
  316. package/lib/collection/components/duet-tooltip/duet-tooltip.js +100 -45
  317. package/lib/collection/components/duet-tray/duet-tray.css +43 -27
  318. package/lib/collection/components/duet-tray/duet-tray.js +63 -21
  319. package/lib/collection/components/duet-upload/duet-upload.css +6 -6
  320. package/lib/collection/components/duet-upload/duet-upload.js +419 -213
  321. package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +35 -13
  322. package/lib/collection/components/duet-upload-item/duet-upload-item.js +17 -18
  323. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.css +3 -3
  324. package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
  325. package/lib/collection/index.js +1 -0
  326. package/lib/collection/utils/a11y-utils.js +20 -0
  327. package/lib/collection/utils/language-utils.js +7 -0
  328. package/lib/collection/utils/slot-utils.js +4 -0
  329. package/lib/collection/utils/teleport.js +22 -7
  330. package/lib/collection/utils/test-utils.js +2 -2
  331. package/lib/collection/utils/token-utils.js +59 -7
  332. package/lib/collection/utils/turva2-color-tokens.js +42 -0
  333. package/lib/duet/duet.esm.js +1 -1
  334. package/lib/duet/p-0393a2ca.entry.js +4 -0
  335. package/lib/duet/p-0b8da007.entry.js +4 -0
  336. package/lib/duet/p-0d2652f7.entry.js +4 -0
  337. package/lib/duet/p-0f746b98.entry.js +4 -0
  338. package/lib/duet/p-1061ece7.entry.js +4 -0
  339. package/lib/duet/p-10b89587.entry.js +4 -0
  340. package/lib/duet/p-155804fc.entry.js +4 -0
  341. package/lib/duet/p-1695a1dd.entry.js +4 -0
  342. package/lib/duet/p-1c122e53.entry.js +4 -0
  343. package/lib/duet/{p-8cbd3dfd.entry.js → p-1ede805a.entry.js} +1 -1
  344. package/lib/duet/p-1fc5668c.entry.js +4 -0
  345. package/lib/duet/p-203c2af3.entry.js +4 -0
  346. package/lib/duet/p-2170d5a6.entry.js +4 -0
  347. package/lib/duet/{p-597e4a0d.entry.js → p-2292ac97.entry.js} +1 -1
  348. package/lib/duet/p-23719bbb.entry.js +4 -0
  349. package/lib/duet/p-25a8b510.entry.js +4 -0
  350. package/lib/duet/p-267d0b7d.entry.js +4 -0
  351. package/lib/duet/{p-7d5c5b60.entry.js → p-333694e4.entry.js} +1 -1
  352. package/lib/duet/p-36e58097.entry.js +4 -0
  353. package/lib/duet/p-38159827.entry.js +4 -0
  354. package/lib/duet/p-3968d0e9.entry.js +4 -0
  355. package/lib/duet/p-39775eb6.entry.js +4 -0
  356. package/lib/duet/p-3f940846.entry.js +4 -0
  357. package/lib/duet/p-3fbe4a4b.entry.js +4 -0
  358. package/lib/duet/p-3hcgvjwC.js +4 -0
  359. package/lib/duet/p-40dc43ed.entry.js +4 -0
  360. package/lib/duet/p-4203ad81.entry.js +4 -0
  361. package/lib/duet/p-42c15472.entry.js +4 -0
  362. package/lib/duet/p-43129496.entry.js +4 -0
  363. package/lib/duet/p-44e37a84.entry.js +4 -0
  364. package/lib/duet/p-451c55fb.entry.js +4 -0
  365. package/lib/duet/p-475cc911.entry.js +4 -0
  366. package/lib/duet/p-47d446f9.entry.js +4 -0
  367. package/lib/duet/p-4966dc81.entry.js +4 -0
  368. package/lib/duet/{p-e5229df1.entry.js → p-4a86aee3.entry.js} +1 -1
  369. package/lib/duet/p-4cc6fbda.entry.js +4 -0
  370. package/lib/duet/p-4d49d2ad.entry.js +4 -0
  371. package/lib/duet/p-529c4873.entry.js +4 -0
  372. package/lib/duet/p-53cb5ddf.entry.js +4 -0
  373. package/lib/duet/p-55243d88.entry.js +4 -0
  374. package/lib/duet/p-581d7bf3.entry.js +4 -0
  375. package/lib/duet/p-58ab58da.entry.js +4 -0
  376. package/lib/duet/p-58f95bf2.entry.js +4 -0
  377. package/lib/duet/p-5c89aaf2.entry.js +4 -0
  378. package/lib/duet/p-5e15625d.entry.js +4 -0
  379. package/lib/duet/p-5iZMFvpJ.js +4 -0
  380. package/lib/duet/p-6be3d1ac.entry.js +4 -0
  381. package/lib/duet/p-6cb3031c.entry.js +4 -0
  382. package/lib/duet/p-7a4f44c2.entry.js +4 -0
  383. package/lib/duet/p-7b820413.entry.js +4 -0
  384. package/lib/duet/p-7be47e32.entry.js +4 -0
  385. package/lib/duet/{p-546cf344.entry.js → p-7d3681f4.entry.js} +1 -1
  386. package/lib/duet/p-80fd305f.entry.js +4 -0
  387. package/lib/duet/p-85074a3f.entry.js +4 -0
  388. package/lib/duet/p-871323e5.entry.js +4 -0
  389. package/lib/duet/p-88682993.entry.js +4 -0
  390. package/lib/duet/p-8885f050.entry.js +4 -0
  391. package/lib/duet/p-89c4434a.entry.js +4 -0
  392. package/lib/duet/p-8a5a900e.entry.js +4 -0
  393. package/lib/duet/p-96725230.entry.js +4 -0
  394. package/lib/duet/p-9c2ad6b1.entry.js +4 -0
  395. package/lib/duet/p-BDAqOMlM.js +4 -0
  396. package/lib/duet/p-BVgBUIYF.js +4 -0
  397. package/lib/duet/{p-81287261.js → p-B_NkY9T0.js} +1 -1
  398. package/lib/duet/p-BdCvOZ0R.js +4 -0
  399. package/lib/duet/p-Bg75Vqqq.js +4 -0
  400. package/lib/duet/p-BmMFVM-y.js +4 -0
  401. package/lib/duet/{p-b3d6e031.js → p-CDjWio68.js} +1 -1
  402. package/lib/duet/p-CVPfl9fc.js +4 -0
  403. package/lib/duet/p-CXz8FCgk.js +4 -0
  404. package/lib/duet/p-CooAqTCj.js +4 -0
  405. package/lib/duet/{p-083bbc28.js → p-DEoH9jLj.js} +1 -1
  406. package/lib/duet/p-DOuLHrH5.js +4 -0
  407. package/lib/duet/p-DXnMp1Z1.js +4 -0
  408. package/lib/duet/p-DYyVxyo8.js +4 -0
  409. package/lib/duet/{p-a45e3f8b.js → p-Db8rvjPI.js} +1 -1
  410. package/lib/duet/p-DvwKrUS6.js +4 -0
  411. package/lib/duet/p-EZOAO_vc.js +5 -0
  412. package/lib/duet/p-Tof9ag29.js +4 -0
  413. package/lib/duet/p-a05d9667.entry.js +4 -0
  414. package/lib/duet/p-a109719f.entry.js +4 -0
  415. package/lib/duet/p-a2c4fa32.entry.js +4 -0
  416. package/lib/duet/p-a3a61c66.entry.js +4 -0
  417. package/lib/duet/p-ac2a957c.entry.js +4 -0
  418. package/lib/duet/p-b4541648.entry.js +4 -0
  419. package/lib/duet/p-b4bf40a5.entry.js +4 -0
  420. package/lib/duet/p-b7d0d9fa.entry.js +4 -0
  421. package/lib/duet/p-baa33e33.entry.js +4 -0
  422. package/lib/duet/p-bd1c363d.entry.js +4 -0
  423. package/lib/duet/p-bda426ce.entry.js +4 -0
  424. package/lib/duet/p-c010c504.entry.js +4 -0
  425. package/lib/duet/p-c14ad166.entry.js +4 -0
  426. package/lib/duet/p-c3a79627.entry.js +4 -0
  427. package/lib/duet/p-d06af257.entry.js +4 -0
  428. package/lib/duet/p-d70babeb.entry.js +4 -0
  429. package/lib/duet/p-dc3f731a.entry.js +4 -0
  430. package/lib/duet/p-dc50ce9f.entry.js +4 -0
  431. package/lib/duet/p-dc53f89d.entry.js +4 -0
  432. package/lib/duet/p-e0054c71.entry.js +4 -0
  433. package/lib/duet/p-e26fee5b.entry.js +4 -0
  434. package/lib/duet/p-e528ba03.entry.js +4 -0
  435. package/lib/duet/p-e80de2cb.entry.js +4 -0
  436. package/lib/duet/p-eb6c0729.entry.js +4 -0
  437. package/lib/duet/p-ef206ef5.entry.js +4 -0
  438. package/lib/duet/p-f2fadb27.entry.js +4 -0
  439. package/lib/duet/p-fcbdf07c.entry.js +4 -0
  440. package/lib/duet/p-vVCYtBMj.js +4 -0
  441. package/lib/esm/_commonjsHelpers-DvwKrUS6.js +8 -0
  442. package/lib/esm/a11y-utils-By9FOQXs.js +43 -0
  443. package/lib/esm/action-arrow-down-small-Bk3GShyI.js +19 -0
  444. package/lib/esm/action-new-window-small-EH8_HdAm.js +19 -0
  445. package/lib/esm/{app-globals-e00fbe9c.js → app-globals-xm_WC7uO.js} +2 -2
  446. package/lib/esm/common-strings-CVPfl9fc.js +53 -0
  447. package/lib/esm/duet-action-button.entry.js +84 -27
  448. package/lib/esm/duet-alert.entry.js +106 -47
  449. package/lib/esm/duet-badge.entry.js +31 -7
  450. package/lib/esm/duet-banner.entry.js +71 -26
  451. package/lib/esm/duet-breadcrumb.entry.js +38 -25
  452. package/lib/esm/duet-breadcrumbs.entry.js +20 -12
  453. package/lib/esm/duet-button_2.entry.js +152 -70
  454. package/lib/esm/duet-callout.entry.js +13 -8
  455. package/lib/esm/duet-caption_4.entry.js +212 -45
  456. package/lib/esm/duet-card.entry.js +93 -33
  457. package/lib/esm/duet-checkbox.entry.js +68 -30
  458. package/lib/esm/duet-checkmark.entry.js +21 -7
  459. package/lib/esm/duet-chip.entry.js +60 -31
  460. package/lib/esm/duet-choice_2.entry.js +280 -129
  461. package/lib/esm/duet-collapsible.entry.js +92 -31
  462. package/lib/esm/duet-combobox.entry.js +99 -56
  463. package/lib/esm/duet-contact-card.entry.js +17 -16
  464. package/lib/esm/duet-cookie-consent.entry.js +14 -9
  465. package/lib/esm/duet-date-picker.entry.js +158 -55
  466. package/lib/esm/duet-divider_2.entry.js +30 -12
  467. package/lib/esm/duet-editable-table_3.entry.js +556 -208
  468. package/lib/esm/duet-empty-state.entry.js +15 -7
  469. package/lib/esm/duet-fieldset.entry.js +51 -16
  470. package/lib/esm/duet-file-chooser.entry.js +18 -9
  471. package/lib/esm/duet-footer.entry.js +56 -28
  472. package/lib/esm/duet-grid_2.entry.js +165 -62
  473. package/lib/esm/duet-header_2.entry.js +303 -90
  474. package/lib/esm/duet-hero.entry.js +159 -33
  475. package/lib/esm/duet-icon.entry.js +64 -18
  476. package/lib/esm/duet-indicator.entry.js +59 -0
  477. package/lib/esm/duet-input_2.entry.js +226 -85
  478. package/lib/esm/duet-layout.entry.js +33 -11
  479. package/lib/esm/duet-list_2.entry.js +58 -12
  480. package/lib/esm/duet-menu-bar-button.entry.js +24 -14
  481. package/lib/esm/duet-menu-bar-dropdown-link.entry.js +19 -12
  482. package/lib/esm/duet-menu-bar-dropdown.entry.js +21 -14
  483. package/lib/esm/duet-menu-bar-item.entry.js +40 -17
  484. package/lib/esm/duet-menu-bar-link.entry.js +18 -8
  485. package/lib/esm/duet-menu-bar.entry.js +37 -57
  486. package/lib/esm/duet-modal.entry.js +122 -33
  487. package/lib/esm/duet-multiselect.entry.js +88 -40
  488. package/lib/esm/duet-nav.entry.js +12 -6
  489. package/lib/esm/duet-notification_2.entry.js +98 -30
  490. package/lib/esm/duet-number-input.entry.js +192 -69
  491. package/lib/esm/duet-overlay.entry.js +36 -12
  492. package/lib/esm/duet-page-heading.entry.js +16 -9
  493. package/lib/esm/duet-pagination_2.entry.js +162 -85
  494. package/lib/esm/duet-panel.entry.js +50 -0
  495. package/lib/esm/duet-phone-input.entry.js +115 -43
  496. package/lib/esm/duet-popup-menu_2.entry.js +223 -97
  497. package/lib/esm/duet-progress.entry.js +32 -11
  498. package/lib/esm/duet-promo-card.entry.js +27 -11
  499. package/lib/esm/duet-radio_2.entry.js +114 -53
  500. package/lib/esm/duet-range-slider.entry.js +73 -35
  501. package/lib/esm/duet-scrollable_3.entry.js +233 -86
  502. package/lib/esm/duet-section-layout.entry.js +17 -8
  503. package/lib/esm/duet-select.entry.js +89 -44
  504. package/lib/esm/duet-shaped-image.entry.js +16 -9
  505. package/lib/esm/duet-share-chart-item.entry.js +20 -0
  506. package/lib/esm/duet-share-chart.entry.js +83 -0
  507. package/lib/esm/duet-show-more.entry.js +81 -36
  508. package/lib/esm/duet-slideout-lang.entry.js +10 -8
  509. package/lib/esm/duet-slideout-link.entry.js +49 -14
  510. package/lib/esm/duet-slideout-panel-dropdown.entry.js +25 -12
  511. package/lib/esm/duet-slideout-panel.entry.js +50 -34
  512. package/lib/esm/duet-slideout.entry.js +85 -50
  513. package/lib/esm/duet-status-icon.entry.js +28 -13
  514. package/lib/esm/duet-step_2.entry.js +73 -23
  515. package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +25 -8
  516. package/lib/esm/duet-submenu-bar-dropdown.entry.js +27 -16
  517. package/lib/esm/duet-submenu-bar-item.entry.js +40 -17
  518. package/lib/esm/duet-submenu-bar-link.entry.js +18 -7
  519. package/lib/esm/duet-submenu-bar.entry.js +27 -19
  520. package/lib/esm/duet-textarea.entry.js +146 -69
  521. package/lib/esm/duet-toggle.entry.js +50 -27
  522. package/lib/esm/duet-toolbar-dropdown-link.entry.js +22 -9
  523. package/lib/esm/duet-toolbar-dropdown.entry.js +27 -14
  524. package/lib/esm/duet-toolbar-item.entry.js +46 -17
  525. package/lib/esm/duet-toolbar-link.entry.js +21 -8
  526. package/lib/esm/duet-toolbar.entry.js +12 -8
  527. package/lib/esm/duet-tooltip-button_2.entry.js +24 -25
  528. package/lib/esm/duet-tooltip.entry.js +97 -43
  529. package/lib/esm/duet-tray.entry.js +63 -22
  530. package/lib/esm/duet-upload-aria-status.entry.js +30 -9
  531. package/lib/esm/duet-upload-item.entry.js +12 -20
  532. package/lib/esm/duet-visually-hidden.entry.js +4 -5
  533. package/lib/esm/duet.js +7 -6
  534. package/lib/esm/{errorcodes.utils-416994cc.js → errorcodes.utils-By8gaKwQ.js} +3 -3
  535. package/lib/esm/floating-ui.dom.browser.min-B_NkY9T0.js +702 -0
  536. package/lib/{dist-custom-elements/p-e30dc66d.js → esm/focus-utils-BVqqQKeY.js} +1 -1
  537. package/lib/esm/form-search-CevX33LA.js +19 -0
  538. package/lib/esm/{index-1a6cee61.js → index-EZOAO_vc.js} +1851 -1357
  539. package/lib/{dist-custom-elements/p-8db11326.js → esm/keyboard-utils-Db8rvjPI.js} +1 -1
  540. package/lib/{dist-custom-elements/p-42619f94.js → esm/label-Dji6BDQC.js} +1 -1
  541. package/lib/esm/{language-utils-8a9d5323.js → language-utils-COd-eoxb.js} +10 -3
  542. package/lib/esm/loader.js +4 -4
  543. package/lib/esm/{slot-utils-bf214ae5.js → slot-utils-BSu3Mnho.js} +6 -2
  544. package/lib/esm/{teleport-546f382d.js → teleport-CooAqTCj.js} +22 -7
  545. package/lib/esm/themeable-component-spmVa3d3.js +72 -0
  546. package/lib/{dist-custom-elements/p-0562173d.js → esm/token-utils-Dks4GBDa.js} +80 -10
  547. package/lib/esm/{tokens-84fb2357.js → tokens-DOuLHrH5.js} +151 -7
  548. package/lib/esm/{tokens.module-2d02f5ff.js → tokens.module-BDAqOMlM.js} +100 -4
  549. package/lib/{dist-custom-elements/p-7d8a2628.js → esm/watch-options-BmMFVM-y.js} +1 -20
  550. package/lib/index.js +1 -1
  551. package/lib/loader/cdn.js +1 -2
  552. package/lib/loader/index.cjs.js +1 -2
  553. package/lib/loader/index.es2017.js +0 -1
  554. package/lib/loader/index.js +1 -2
  555. package/lib/types/common-strings.d.ts +3 -0
  556. package/lib/types/common-types.d.ts +1 -1
  557. package/lib/types/components/duet-alert/duet-alert.d.ts +20 -10
  558. package/lib/types/components/duet-badge/duet-badge.d.ts +1 -0
  559. package/lib/types/components/duet-banner/duet-banner.d.ts +6 -0
  560. package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +2 -4
  561. package/lib/types/components/duet-card/duet-card.d.ts +10 -0
  562. package/lib/types/components/duet-chip/duet-chip.d.ts +1 -0
  563. package/lib/types/components/duet-choice/duet-choice.d.ts +4 -8
  564. package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +3 -2
  565. package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +4 -1
  566. package/lib/types/components/duet-combobox/duet-combobox.d.ts +2 -0
  567. package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +4 -0
  568. package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +3 -0
  569. package/lib/types/components/duet-grid/duet-grid.d.ts +9 -7
  570. package/lib/types/components/duet-hero/duet-hero.d.ts +9 -0
  571. package/lib/types/components/duet-indicator/duet-indicator.d.ts +24 -0
  572. package/lib/types/components/duet-input/duet-input.d.ts +21 -13
  573. package/lib/types/components/duet-link/duet-link.d.ts +3 -0
  574. package/lib/types/components/duet-list-item/duet-list-item.d.ts +9 -3
  575. package/lib/types/components/duet-logo/duet-logo.d.ts +8 -0
  576. package/lib/types/components/duet-menu-bar/duet-menu-bar.d.ts +5 -4
  577. package/lib/types/components/duet-modal/duet-modal.d.ts +17 -1
  578. package/lib/types/components/duet-notification/duet-notification.d.ts +1 -0
  579. package/lib/types/components/duet-number-input/duet-number-input.d.ts +13 -8
  580. package/lib/types/components/duet-overlay/duet-overlay.d.ts +4 -0
  581. package/lib/types/components/duet-panel/duet-panel.d.ts +47 -0
  582. package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
  583. package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +23 -1
  584. package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +10 -6
  585. package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
  586. package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +4 -0
  587. package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
  588. package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +18 -0
  589. package/lib/types/components/duet-select/duet-select.d.ts +2 -1
  590. package/lib/types/components/duet-share-chart/duet-share-chart.d.ts +34 -0
  591. package/lib/types/components/duet-share-chart-item/duet-share-chart-item.d.ts +13 -0
  592. package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
  593. package/lib/types/components/duet-slideout/duet-slideout.d.ts +4 -5
  594. package/lib/types/components/duet-spinner/duet-spinner.d.ts +6 -3
  595. package/lib/types/components/duet-status-icon/duet-status-icon.d.ts +1 -0
  596. package/lib/types/components/duet-stepper/duet-stepper.d.ts +5 -2
  597. package/lib/types/components/duet-tab/duet-tab.d.ts +10 -0
  598. package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +9 -0
  599. package/lib/types/components/duet-textarea/duet-textarea.d.ts +21 -9
  600. package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -1
  601. package/lib/types/components.d.ts +2126 -73
  602. package/lib/types/index.d.ts +1 -0
  603. package/lib/types/stencil-public-runtime.d.ts +35 -6
  604. package/lib/types/utils/a11y-utils.d.ts +11 -0
  605. package/lib/types/utils/language-utils.d.ts +1 -0
  606. package/lib/types/utils/slot-utils.d.ts +1 -0
  607. package/lib/types/utils/teleport.d.ts +4 -1
  608. package/lib/types/utils/token-utils.d.ts +4 -0
  609. package/lib/types/utils/turva2-color-tokens.d.ts +39 -0
  610. package/package.json +37 -17
  611. package/lib/cjs/a11y-utils-be617c0c.js +0 -25
  612. package/lib/cjs/action-arrow-down-small-ef77a2d1.js +0 -8
  613. package/lib/cjs/action-new-window-small-fa51dfb9.js +0 -8
  614. package/lib/cjs/floating-ui.dom.esm-806e7c53.js +0 -1355
  615. package/lib/cjs/form-search-d61b2843.js +0 -8
  616. package/lib/cjs/themeable-component-996b489c.js +0 -15
  617. package/lib/dist-custom-elements/duet-action-button.d.ts +0 -11
  618. package/lib/dist-custom-elements/duet-action-button.js +0 -9
  619. package/lib/dist-custom-elements/duet-alert.d.ts +0 -11
  620. package/lib/dist-custom-elements/duet-alert.js +0 -9
  621. package/lib/dist-custom-elements/duet-badge.d.ts +0 -11
  622. package/lib/dist-custom-elements/duet-badge.js +0 -9
  623. package/lib/dist-custom-elements/duet-banner.d.ts +0 -11
  624. package/lib/dist-custom-elements/duet-banner.js +0 -157
  625. package/lib/dist-custom-elements/duet-breadcrumb.d.ts +0 -11
  626. package/lib/dist-custom-elements/duet-breadcrumb.js +0 -101
  627. package/lib/dist-custom-elements/duet-breadcrumbs.d.ts +0 -11
  628. package/lib/dist-custom-elements/duet-breadcrumbs.js +0 -88
  629. package/lib/dist-custom-elements/duet-button.d.ts +0 -11
  630. package/lib/dist-custom-elements/duet-button.js +0 -9
  631. package/lib/dist-custom-elements/duet-callout.d.ts +0 -11
  632. package/lib/dist-custom-elements/duet-callout.js +0 -72
  633. package/lib/dist-custom-elements/duet-caption.d.ts +0 -11
  634. package/lib/dist-custom-elements/duet-caption.js +0 -9
  635. package/lib/dist-custom-elements/duet-card.d.ts +0 -11
  636. package/lib/dist-custom-elements/duet-card.js +0 -174
  637. package/lib/dist-custom-elements/duet-checkbox.d.ts +0 -11
  638. package/lib/dist-custom-elements/duet-checkbox.js +0 -9
  639. package/lib/dist-custom-elements/duet-checkmark.d.ts +0 -11
  640. package/lib/dist-custom-elements/duet-checkmark.js +0 -9
  641. package/lib/dist-custom-elements/duet-chip.d.ts +0 -11
  642. package/lib/dist-custom-elements/duet-chip.js +0 -9
  643. package/lib/dist-custom-elements/duet-choice-group.d.ts +0 -11
  644. package/lib/dist-custom-elements/duet-choice-group.js +0 -228
  645. package/lib/dist-custom-elements/duet-choice.d.ts +0 -11
  646. package/lib/dist-custom-elements/duet-choice.js +0 -454
  647. package/lib/dist-custom-elements/duet-collapsible.d.ts +0 -11
  648. package/lib/dist-custom-elements/duet-collapsible.js +0 -176
  649. package/lib/dist-custom-elements/duet-combobox.d.ts +0 -11
  650. package/lib/dist-custom-elements/duet-combobox.js +0 -702
  651. package/lib/dist-custom-elements/duet-contact-card.d.ts +0 -11
  652. package/lib/dist-custom-elements/duet-contact-card.js +0 -134
  653. package/lib/dist-custom-elements/duet-cookie-consent.d.ts +0 -11
  654. package/lib/dist-custom-elements/duet-cookie-consent.js +0 -106
  655. package/lib/dist-custom-elements/duet-date-picker.d.ts +0 -11
  656. package/lib/dist-custom-elements/duet-date-picker.js +0 -937
  657. package/lib/dist-custom-elements/duet-divider.d.ts +0 -11
  658. package/lib/dist-custom-elements/duet-divider.js +0 -9
  659. package/lib/dist-custom-elements/duet-editable-table.d.ts +0 -11
  660. package/lib/dist-custom-elements/duet-editable-table.js +0 -258
  661. package/lib/dist-custom-elements/duet-empty-state.d.ts +0 -11
  662. package/lib/dist-custom-elements/duet-empty-state.js +0 -9
  663. package/lib/dist-custom-elements/duet-fieldset.d.ts +0 -11
  664. package/lib/dist-custom-elements/duet-fieldset.js +0 -9
  665. package/lib/dist-custom-elements/duet-file-chooser.d.ts +0 -11
  666. package/lib/dist-custom-elements/duet-file-chooser.js +0 -86
  667. package/lib/dist-custom-elements/duet-footer.d.ts +0 -11
  668. package/lib/dist-custom-elements/duet-footer.js +0 -223
  669. package/lib/dist-custom-elements/duet-grid-item.d.ts +0 -11
  670. package/lib/dist-custom-elements/duet-grid-item.js +0 -9
  671. package/lib/dist-custom-elements/duet-grid.d.ts +0 -11
  672. package/lib/dist-custom-elements/duet-grid.js +0 -9
  673. package/lib/dist-custom-elements/duet-header.d.ts +0 -11
  674. package/lib/dist-custom-elements/duet-header.js +0 -698
  675. package/lib/dist-custom-elements/duet-heading.d.ts +0 -11
  676. package/lib/dist-custom-elements/duet-heading.js +0 -9
  677. package/lib/dist-custom-elements/duet-hero.d.ts +0 -11
  678. package/lib/dist-custom-elements/duet-hero.js +0 -299
  679. package/lib/dist-custom-elements/duet-icon.d.ts +0 -11
  680. package/lib/dist-custom-elements/duet-icon.js +0 -9
  681. package/lib/dist-custom-elements/duet-input.d.ts +0 -11
  682. package/lib/dist-custom-elements/duet-input.js +0 -9
  683. package/lib/dist-custom-elements/duet-label.d.ts +0 -11
  684. package/lib/dist-custom-elements/duet-label.js +0 -70
  685. package/lib/dist-custom-elements/duet-layout.d.ts +0 -11
  686. package/lib/dist-custom-elements/duet-layout.js +0 -94
  687. package/lib/dist-custom-elements/duet-link.d.ts +0 -11
  688. package/lib/dist-custom-elements/duet-link.js +0 -9
  689. package/lib/dist-custom-elements/duet-list-item.d.ts +0 -11
  690. package/lib/dist-custom-elements/duet-list-item.js +0 -9
  691. package/lib/dist-custom-elements/duet-list.d.ts +0 -11
  692. package/lib/dist-custom-elements/duet-list.js +0 -9
  693. package/lib/dist-custom-elements/duet-logo.d.ts +0 -11
  694. package/lib/dist-custom-elements/duet-logo.js +0 -9
  695. package/lib/dist-custom-elements/duet-menu-bar-button.d.ts +0 -11
  696. package/lib/dist-custom-elements/duet-menu-bar-button.js +0 -94
  697. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.d.ts +0 -11
  698. package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +0 -87
  699. package/lib/dist-custom-elements/duet-menu-bar-dropdown.d.ts +0 -11
  700. package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +0 -108
  701. package/lib/dist-custom-elements/duet-menu-bar-item.d.ts +0 -11
  702. package/lib/dist-custom-elements/duet-menu-bar-item.js +0 -108
  703. package/lib/dist-custom-elements/duet-menu-bar-link.d.ts +0 -11
  704. package/lib/dist-custom-elements/duet-menu-bar-link.js +0 -70
  705. package/lib/dist-custom-elements/duet-menu-bar.d.ts +0 -11
  706. package/lib/dist-custom-elements/duet-menu-bar.js +0 -207
  707. package/lib/dist-custom-elements/duet-modal.d.ts +0 -11
  708. package/lib/dist-custom-elements/duet-modal.js +0 -382
  709. package/lib/dist-custom-elements/duet-multiselect.d.ts +0 -11
  710. package/lib/dist-custom-elements/duet-multiselect.js +0 -346
  711. package/lib/dist-custom-elements/duet-nav.d.ts +0 -11
  712. package/lib/dist-custom-elements/duet-nav.js +0 -54
  713. package/lib/dist-custom-elements/duet-notification-drawer.d.ts +0 -11
  714. package/lib/dist-custom-elements/duet-notification-drawer.js +0 -168
  715. package/lib/dist-custom-elements/duet-notification.d.ts +0 -11
  716. package/lib/dist-custom-elements/duet-notification.js +0 -95
  717. package/lib/dist-custom-elements/duet-number-input.d.ts +0 -11
  718. package/lib/dist-custom-elements/duet-number-input.js +0 -484
  719. package/lib/dist-custom-elements/duet-overlay.d.ts +0 -11
  720. package/lib/dist-custom-elements/duet-overlay.js +0 -9
  721. package/lib/dist-custom-elements/duet-page-heading.d.ts +0 -11
  722. package/lib/dist-custom-elements/duet-page-heading.js +0 -87
  723. package/lib/dist-custom-elements/duet-pagination.d.ts +0 -11
  724. package/lib/dist-custom-elements/duet-pagination.js +0 -493
  725. package/lib/dist-custom-elements/duet-paragraph.d.ts +0 -11
  726. package/lib/dist-custom-elements/duet-paragraph.js +0 -9
  727. package/lib/dist-custom-elements/duet-phone-input.d.ts +0 -11
  728. package/lib/dist-custom-elements/duet-phone-input.js +0 -2122
  729. package/lib/dist-custom-elements/duet-popup-menu-item.d.ts +0 -11
  730. package/lib/dist-custom-elements/duet-popup-menu-item.js +0 -9
  731. package/lib/dist-custom-elements/duet-popup-menu.d.ts +0 -11
  732. package/lib/dist-custom-elements/duet-popup-menu.js +0 -9
  733. package/lib/dist-custom-elements/duet-progress.d.ts +0 -11
  734. package/lib/dist-custom-elements/duet-progress.js +0 -9
  735. package/lib/dist-custom-elements/duet-promo-card.d.ts +0 -11
  736. package/lib/dist-custom-elements/duet-promo-card.js +0 -105
  737. package/lib/dist-custom-elements/duet-radio-group.d.ts +0 -11
  738. package/lib/dist-custom-elements/duet-radio-group.js +0 -213
  739. package/lib/dist-custom-elements/duet-radio.d.ts +0 -11
  740. package/lib/dist-custom-elements/duet-radio.js +0 -230
  741. package/lib/dist-custom-elements/duet-range-slider.d.ts +0 -11
  742. package/lib/dist-custom-elements/duet-range-slider.js +0 -181
  743. package/lib/dist-custom-elements/duet-range-stepper.d.ts +0 -11
  744. package/lib/dist-custom-elements/duet-range-stepper.js +0 -234
  745. package/lib/dist-custom-elements/duet-scrollable.d.ts +0 -11
  746. package/lib/dist-custom-elements/duet-scrollable.js +0 -9
  747. package/lib/dist-custom-elements/duet-section-layout.d.ts +0 -11
  748. package/lib/dist-custom-elements/duet-section-layout.js +0 -56
  749. package/lib/dist-custom-elements/duet-select.d.ts +0 -11
  750. package/lib/dist-custom-elements/duet-select.js +0 -9
  751. package/lib/dist-custom-elements/duet-shaped-image.d.ts +0 -11
  752. package/lib/dist-custom-elements/duet-shaped-image.js +0 -64
  753. package/lib/dist-custom-elements/duet-show-more.d.ts +0 -11
  754. package/lib/dist-custom-elements/duet-show-more.js +0 -9
  755. package/lib/dist-custom-elements/duet-slideout-lang.d.ts +0 -11
  756. package/lib/dist-custom-elements/duet-slideout-lang.js +0 -76
  757. package/lib/dist-custom-elements/duet-slideout-link.d.ts +0 -11
  758. package/lib/dist-custom-elements/duet-slideout-link.js +0 -98
  759. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.d.ts +0 -11
  760. package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +0 -93
  761. package/lib/dist-custom-elements/duet-slideout-panel.d.ts +0 -11
  762. package/lib/dist-custom-elements/duet-slideout-panel.js +0 -224
  763. package/lib/dist-custom-elements/duet-slideout.d.ts +0 -11
  764. package/lib/dist-custom-elements/duet-slideout.js +0 -328
  765. package/lib/dist-custom-elements/duet-spacer.d.ts +0 -11
  766. package/lib/dist-custom-elements/duet-spacer.js +0 -9
  767. package/lib/dist-custom-elements/duet-spinner.d.ts +0 -11
  768. package/lib/dist-custom-elements/duet-spinner.js +0 -9
  769. package/lib/dist-custom-elements/duet-status-icon.d.ts +0 -11
  770. package/lib/dist-custom-elements/duet-status-icon.js +0 -111
  771. package/lib/dist-custom-elements/duet-step.d.ts +0 -11
  772. package/lib/dist-custom-elements/duet-step.js +0 -147
  773. package/lib/dist-custom-elements/duet-stepper.d.ts +0 -11
  774. package/lib/dist-custom-elements/duet-stepper.js +0 -151
  775. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.d.ts +0 -11
  776. package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +0 -81
  777. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.d.ts +0 -11
  778. package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +0 -152
  779. package/lib/dist-custom-elements/duet-submenu-bar-item.d.ts +0 -11
  780. package/lib/dist-custom-elements/duet-submenu-bar-item.js +0 -113
  781. package/lib/dist-custom-elements/duet-submenu-bar-link.d.ts +0 -11
  782. package/lib/dist-custom-elements/duet-submenu-bar-link.js +0 -72
  783. package/lib/dist-custom-elements/duet-submenu-bar.d.ts +0 -11
  784. package/lib/dist-custom-elements/duet-submenu-bar.js +0 -192
  785. package/lib/dist-custom-elements/duet-tab-group.d.ts +0 -11
  786. package/lib/dist-custom-elements/duet-tab-group.js +0 -312
  787. package/lib/dist-custom-elements/duet-tab.d.ts +0 -11
  788. package/lib/dist-custom-elements/duet-tab.js +0 -150
  789. package/lib/dist-custom-elements/duet-table.d.ts +0 -11
  790. package/lib/dist-custom-elements/duet-table.js +0 -9
  791. package/lib/dist-custom-elements/duet-textarea.d.ts +0 -11
  792. package/lib/dist-custom-elements/duet-textarea.js +0 -301
  793. package/lib/dist-custom-elements/duet-toggle.d.ts +0 -11
  794. package/lib/dist-custom-elements/duet-toggle.js +0 -146
  795. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.d.ts +0 -11
  796. package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +0 -80
  797. package/lib/dist-custom-elements/duet-toolbar-dropdown.d.ts +0 -11
  798. package/lib/dist-custom-elements/duet-toolbar-dropdown.js +0 -107
  799. package/lib/dist-custom-elements/duet-toolbar-item.d.ts +0 -11
  800. package/lib/dist-custom-elements/duet-toolbar-item.js +0 -120
  801. package/lib/dist-custom-elements/duet-toolbar-link.d.ts +0 -11
  802. package/lib/dist-custom-elements/duet-toolbar-link.js +0 -74
  803. package/lib/dist-custom-elements/duet-toolbar.d.ts +0 -11
  804. package/lib/dist-custom-elements/duet-toolbar.js +0 -67
  805. package/lib/dist-custom-elements/duet-tooltip-button.d.ts +0 -11
  806. package/lib/dist-custom-elements/duet-tooltip-button.js +0 -9
  807. package/lib/dist-custom-elements/duet-tooltip-popup.d.ts +0 -11
  808. package/lib/dist-custom-elements/duet-tooltip-popup.js +0 -9
  809. package/lib/dist-custom-elements/duet-tooltip.d.ts +0 -11
  810. package/lib/dist-custom-elements/duet-tooltip.js +0 -9
  811. package/lib/dist-custom-elements/duet-tray.d.ts +0 -11
  812. package/lib/dist-custom-elements/duet-tray.js +0 -146
  813. package/lib/dist-custom-elements/duet-upload-aria-status.d.ts +0 -11
  814. package/lib/dist-custom-elements/duet-upload-aria-status.js +0 -9
  815. package/lib/dist-custom-elements/duet-upload-item.d.ts +0 -11
  816. package/lib/dist-custom-elements/duet-upload-item.js +0 -9
  817. package/lib/dist-custom-elements/duet-upload.d.ts +0 -11
  818. package/lib/dist-custom-elements/duet-upload.js +0 -1444
  819. package/lib/dist-custom-elements/duet-visually-hidden.d.ts +0 -11
  820. package/lib/dist-custom-elements/duet-visually-hidden.js +0 -9
  821. package/lib/dist-custom-elements/index.d.ts +0 -33
  822. package/lib/dist-custom-elements/index.js +0 -29
  823. package/lib/dist-custom-elements/p-081025d8.js +0 -82
  824. package/lib/dist-custom-elements/p-0871ccd4.js +0 -56
  825. package/lib/dist-custom-elements/p-115c79b6.js +0 -6
  826. package/lib/dist-custom-elements/p-18248c41.js +0 -81
  827. package/lib/dist-custom-elements/p-196352e6.js +0 -39
  828. package/lib/dist-custom-elements/p-2768f969.js +0 -268
  829. package/lib/dist-custom-elements/p-30810e37.js +0 -60
  830. package/lib/dist-custom-elements/p-35375593.js +0 -161
  831. package/lib/dist-custom-elements/p-3c70317f.js +0 -63
  832. package/lib/dist-custom-elements/p-4150399b.js +0 -205
  833. package/lib/dist-custom-elements/p-548610a6.js +0 -2130
  834. package/lib/dist-custom-elements/p-592cf939.js +0 -102
  835. package/lib/dist-custom-elements/p-59782228.js +0 -61
  836. package/lib/dist-custom-elements/p-5d871374.js +0 -316
  837. package/lib/dist-custom-elements/p-5e91471a.js +0 -63
  838. package/lib/dist-custom-elements/p-60316b82.js +0 -642
  839. package/lib/dist-custom-elements/p-63963e6b.js +0 -124
  840. package/lib/dist-custom-elements/p-6620a58c.js +0 -607
  841. package/lib/dist-custom-elements/p-77667998.js +0 -232
  842. package/lib/dist-custom-elements/p-77d42564.js +0 -124
  843. package/lib/dist-custom-elements/p-8258c05e.js +0 -100
  844. package/lib/dist-custom-elements/p-8a840972.js +0 -194
  845. package/lib/dist-custom-elements/p-8d263ac9.js +0 -94
  846. package/lib/dist-custom-elements/p-91cdfcdd.js +0 -73
  847. package/lib/dist-custom-elements/p-940f9ee8.js +0 -1630
  848. package/lib/dist-custom-elements/p-993aea39.js +0 -175
  849. package/lib/dist-custom-elements/p-9df4cfa4.js +0 -25
  850. package/lib/dist-custom-elements/p-9e31e365.js +0 -214
  851. package/lib/dist-custom-elements/p-9ee4d52e.js +0 -321
  852. package/lib/dist-custom-elements/p-a9b78a2b.js +0 -441
  853. package/lib/dist-custom-elements/p-aaa7a7bd.js +0 -13
  854. package/lib/dist-custom-elements/p-aaa95dbc.js +0 -370
  855. package/lib/dist-custom-elements/p-ad615991.js +0 -115
  856. package/lib/dist-custom-elements/p-afb6f7fb.js +0 -23
  857. package/lib/dist-custom-elements/p-b322feac.js +0 -206
  858. package/lib/dist-custom-elements/p-b632bf7b.js +0 -178
  859. package/lib/dist-custom-elements/p-ca3cb21e.js +0 -116
  860. package/lib/dist-custom-elements/p-ccee2b7f.js +0 -127
  861. package/lib/dist-custom-elements/p-cea716f7.js +0 -503
  862. package/lib/dist-custom-elements/p-d004da5f.js +0 -6
  863. package/lib/dist-custom-elements/p-df2458b1.js +0 -80
  864. package/lib/dist-custom-elements/p-e58296e6.js +0 -110
  865. package/lib/dist-custom-elements/p-ed1ef4c3.js +0 -55
  866. package/lib/dist-custom-elements/p-ed6a907e.js +0 -61
  867. package/lib/dist-custom-elements/p-ed6f3abc.js +0 -165
  868. package/lib/dist-custom-elements/p-ee0c73c3.js +0 -50
  869. package/lib/dist-custom-elements/p-f11208c3.js +0 -6
  870. package/lib/dist-custom-elements/p-f4067b03.js +0 -154
  871. package/lib/dist-custom-elements/p-f6000a03.js +0 -753
  872. package/lib/dist-custom-elements/p-f6270dca.js +0 -83
  873. package/lib/duet/duet.js +0 -127
  874. package/lib/duet/p-00556ef0.entry.js +0 -4
  875. package/lib/duet/p-00e58acf.system.entry.js +0 -4
  876. package/lib/duet/p-02d914b6.system.js +0 -4
  877. package/lib/duet/p-03dfd146.system.entry.js +0 -4
  878. package/lib/duet/p-043d8cac.entry.js +0 -4
  879. package/lib/duet/p-053b71e6.system.js +0 -4
  880. package/lib/duet/p-078dc32d.system.js +0 -4
  881. package/lib/duet/p-097593e0.system.entry.js +0 -4
  882. package/lib/duet/p-0c4bbd65.system.js +0 -4
  883. package/lib/duet/p-0d7da85a.js +0 -4
  884. package/lib/duet/p-0dc9089b.system.js +0 -4
  885. package/lib/duet/p-115c79b6.js +0 -4
  886. package/lib/duet/p-12739ce5.entry.js +0 -4
  887. package/lib/duet/p-154681bc.system.entry.js +0 -4
  888. package/lib/duet/p-16bc0f6a.system.entry.js +0 -4
  889. package/lib/duet/p-20a9379e.entry.js +0 -4
  890. package/lib/duet/p-21124f63.system.entry.js +0 -4
  891. package/lib/duet/p-222fb4e2.entry.js +0 -4
  892. package/lib/duet/p-2306d206.entry.js +0 -4
  893. package/lib/duet/p-232405fe.system.entry.js +0 -4
  894. package/lib/duet/p-280babbe.entry.js +0 -4
  895. package/lib/duet/p-29cfae19.system.entry.js +0 -4
  896. package/lib/duet/p-2acb5228.system.entry.js +0 -4
  897. package/lib/duet/p-2bb44297.system.js +0 -4
  898. package/lib/duet/p-2d3cfed7.entry.js +0 -4
  899. package/lib/duet/p-2ea79237.entry.js +0 -4
  900. package/lib/duet/p-2f4a1c87.system.entry.js +0 -4
  901. package/lib/duet/p-30424dea.entry.js +0 -4
  902. package/lib/duet/p-32f2bb6f.system.entry.js +0 -4
  903. package/lib/duet/p-36d473db.entry.js +0 -4
  904. package/lib/duet/p-36e38e72.entry.js +0 -4
  905. package/lib/duet/p-380e506a.system.entry.js +0 -4
  906. package/lib/duet/p-3931d796.system.entry.js +0 -4
  907. package/lib/duet/p-396397f0.entry.js +0 -4
  908. package/lib/duet/p-39c8d5f4.entry.js +0 -4
  909. package/lib/duet/p-3c43bf45.system.entry.js +0 -4
  910. package/lib/duet/p-3c548017.entry.js +0 -4
  911. package/lib/duet/p-3edeecdd.system.entry.js +0 -4
  912. package/lib/duet/p-41982d26.system.js +0 -4
  913. package/lib/duet/p-422bf802.system.entry.js +0 -4
  914. package/lib/duet/p-42789990.system.entry.js +0 -4
  915. package/lib/duet/p-44ac35f1.entry.js +0 -4
  916. package/lib/duet/p-49957220.system.js +0 -4
  917. package/lib/duet/p-49cbde53.entry.js +0 -4
  918. package/lib/duet/p-49d89759.system.entry.js +0 -4
  919. package/lib/duet/p-4af1174c.entry.js +0 -4
  920. package/lib/duet/p-4bbc1e3f.system.entry.js +0 -4
  921. package/lib/duet/p-4cff3036.system.js +0 -4
  922. package/lib/duet/p-4d228791.entry.js +0 -4
  923. package/lib/duet/p-4e095335.entry.js +0 -4
  924. package/lib/duet/p-4f872b2e.system.entry.js +0 -4
  925. package/lib/duet/p-4f945200.system.js +0 -4
  926. package/lib/duet/p-4ffcbae2.entry.js +0 -4
  927. package/lib/duet/p-534baf68.system.entry.js +0 -4
  928. package/lib/duet/p-55b6ebd2.system.entry.js +0 -4
  929. package/lib/duet/p-565c967d.system.entry.js +0 -4
  930. package/lib/duet/p-56d5d3bd.system.entry.js +0 -4
  931. package/lib/duet/p-570fd695.system.entry.js +0 -4
  932. package/lib/duet/p-5a148896.entry.js +0 -4
  933. package/lib/duet/p-5a47d2bb.entry.js +0 -4
  934. package/lib/duet/p-5acfa4bf.entry.js +0 -4
  935. package/lib/duet/p-5b5a4a8f.entry.js +0 -4
  936. package/lib/duet/p-5cbadb53.system.entry.js +0 -4
  937. package/lib/duet/p-5cc339cf.entry.js +0 -4
  938. package/lib/duet/p-5d1a4238.entry.js +0 -4
  939. package/lib/duet/p-5e01a303.system.entry.js +0 -4
  940. package/lib/duet/p-5f668b4a.system.entry.js +0 -4
  941. package/lib/duet/p-5ffa7838.entry.js +0 -4
  942. package/lib/duet/p-61173f11.system.js +0 -5
  943. package/lib/duet/p-622e1ffc.js +0 -4
  944. package/lib/duet/p-64f2d5cf.system.entry.js +0 -4
  945. package/lib/duet/p-650c6251.system.entry.js +0 -4
  946. package/lib/duet/p-69e55527.system.entry.js +0 -4
  947. package/lib/duet/p-6ac3b242.entry.js +0 -4
  948. package/lib/duet/p-6ac7d70c.entry.js +0 -4
  949. package/lib/duet/p-6c8f09c8.system.entry.js +0 -4
  950. package/lib/duet/p-6eec1445.system.entry.js +0 -4
  951. package/lib/duet/p-6fc78573.entry.js +0 -4
  952. package/lib/duet/p-705dbeac.system.entry.js +0 -4
  953. package/lib/duet/p-71a37f03.entry.js +0 -4
  954. package/lib/duet/p-752fa0fc.system.js +0 -4
  955. package/lib/duet/p-760919c7.system.entry.js +0 -4
  956. package/lib/duet/p-7be5b9a7.js +0 -4
  957. package/lib/duet/p-7c119b9b.system.entry.js +0 -4
  958. package/lib/duet/p-7cd899ca.system.entry.js +0 -4
  959. package/lib/duet/p-7d8a2628.js +0 -4
  960. package/lib/duet/p-7ea9d8e4.system.entry.js +0 -4
  961. package/lib/duet/p-7fc6af46.system.entry.js +0 -4
  962. package/lib/duet/p-7fe5e652.entry.js +0 -4
  963. package/lib/duet/p-86038989.entry.js +0 -4
  964. package/lib/duet/p-872b746e.entry.js +0 -4
  965. package/lib/duet/p-875d3971.entry.js +0 -4
  966. package/lib/duet/p-88daf9bb.system.entry.js +0 -4
  967. package/lib/duet/p-89ac2008.system.entry.js +0 -4
  968. package/lib/duet/p-89cf1a91.system.js +0 -4
  969. package/lib/duet/p-8d43c8cf.entry.js +0 -4
  970. package/lib/duet/p-8f450e25.entry.js +0 -4
  971. package/lib/duet/p-8f477bd6.system.js +0 -4
  972. package/lib/duet/p-8faaaf5f.system.js +0 -4
  973. package/lib/duet/p-907b42ae.system.entry.js +0 -4
  974. package/lib/duet/p-9183c04b.system.entry.js +0 -4
  975. package/lib/duet/p-91b68d54.entry.js +0 -4
  976. package/lib/duet/p-92d47024.system.entry.js +0 -4
  977. package/lib/duet/p-939f268d.entry.js +0 -4
  978. package/lib/duet/p-93c115a9.system.entry.js +0 -4
  979. package/lib/duet/p-943bf2b1.system.entry.js +0 -4
  980. package/lib/duet/p-9592f6ba.entry.js +0 -4
  981. package/lib/duet/p-96d76a4b.entry.js +0 -4
  982. package/lib/duet/p-98636086.system.js +0 -4
  983. package/lib/duet/p-9a57fac7.entry.js +0 -4
  984. package/lib/duet/p-9b16ba14.system.entry.js +0 -4
  985. package/lib/duet/p-9b61d7b9.system.entry.js +0 -4
  986. package/lib/duet/p-9d429df0.system.entry.js +0 -4
  987. package/lib/duet/p-9e5b11f7.entry.js +0 -4
  988. package/lib/duet/p-9ee0f850.entry.js +0 -4
  989. package/lib/duet/p-a083b91a.js +0 -5
  990. package/lib/duet/p-a11e1a80.system.entry.js +0 -4
  991. package/lib/duet/p-a1e5f0d4.entry.js +0 -4
  992. package/lib/duet/p-a4b80c74.entry.js +0 -4
  993. package/lib/duet/p-a7b0d8ce.entry.js +0 -4
  994. package/lib/duet/p-aaa7a7bd.js +0 -4
  995. package/lib/duet/p-abc0c9c6.system.js +0 -4
  996. package/lib/duet/p-ad07b21e.system.entry.js +0 -4
  997. package/lib/duet/p-ad0d289a.system.entry.js +0 -4
  998. package/lib/duet/p-ad2b37b0.entry.js +0 -4
  999. package/lib/duet/p-adc2d7ce.system.entry.js +0 -4
  1000. package/lib/duet/p-aef92a68.entry.js +0 -4
  1001. package/lib/duet/p-afad5fd3.system.js +0 -4
  1002. package/lib/duet/p-b15523c2.entry.js +0 -4
  1003. package/lib/duet/p-b17984d6.system.entry.js +0 -4
  1004. package/lib/duet/p-b2df3729.entry.js +0 -4
  1005. package/lib/duet/p-b327a269.entry.js +0 -4
  1006. package/lib/duet/p-b33512d6.js +0 -4
  1007. package/lib/duet/p-b48b58e1.entry.js +0 -4
  1008. package/lib/duet/p-b864159a.system.js +0 -4
  1009. package/lib/duet/p-b8775dc1.system.entry.js +0 -4
  1010. package/lib/duet/p-ba03d034.system.js +0 -4
  1011. package/lib/duet/p-bbb92080.entry.js +0 -4
  1012. package/lib/duet/p-bd5b0381.entry.js +0 -4
  1013. package/lib/duet/p-bdb001df.entry.js +0 -4
  1014. package/lib/duet/p-be097905.entry.js +0 -4
  1015. package/lib/duet/p-beeb12f1.js +0 -4
  1016. package/lib/duet/p-c118fad4.js +0 -4
  1017. package/lib/duet/p-c1483141.entry.js +0 -4
  1018. package/lib/duet/p-c2e74c89.system.entry.js +0 -4
  1019. package/lib/duet/p-c40ee5d3.entry.js +0 -4
  1020. package/lib/duet/p-c480533b.entry.js +0 -4
  1021. package/lib/duet/p-c487869c.entry.js +0 -4
  1022. package/lib/duet/p-c507caa0.entry.js +0 -4
  1023. package/lib/duet/p-c58f3932.entry.js +0 -4
  1024. package/lib/duet/p-c5d88a34.system.entry.js +0 -4
  1025. package/lib/duet/p-c6bf2cc4.system.entry.js +0 -4
  1026. package/lib/duet/p-c6f29010.system.entry.js +0 -4
  1027. package/lib/duet/p-ca29569e.system.js +0 -4
  1028. package/lib/duet/p-ca3cb21e.js +0 -4
  1029. package/lib/duet/p-ca901ab9.entry.js +0 -4
  1030. package/lib/duet/p-cc5e6288.system.js +0 -4
  1031. package/lib/duet/p-cc67e773.js +0 -4
  1032. package/lib/duet/p-cdba12cc.system.js +0 -4
  1033. package/lib/duet/p-ce282523.entry.js +0 -4
  1034. package/lib/duet/p-cebffd48.system.entry.js +0 -4
  1035. package/lib/duet/p-cf2d66a9.system.entry.js +0 -4
  1036. package/lib/duet/p-cf511280.system.entry.js +0 -4
  1037. package/lib/duet/p-d004da5f.js +0 -4
  1038. package/lib/duet/p-d2875f04.system.entry.js +0 -4
  1039. package/lib/duet/p-d40b4a20.entry.js +0 -4
  1040. package/lib/duet/p-d4554cf2.entry.js +0 -4
  1041. package/lib/duet/p-d4ddd4d1.entry.js +0 -4
  1042. package/lib/duet/p-d5317013.system.entry.js +0 -4
  1043. package/lib/duet/p-d68e93e4.system.entry.js +0 -4
  1044. package/lib/duet/p-d6a321fd.system.entry.js +0 -4
  1045. package/lib/duet/p-d835a292.entry.js +0 -4
  1046. package/lib/duet/p-d840dcdc.system.entry.js +0 -4
  1047. package/lib/duet/p-dac4bc08.system.entry.js +0 -4
  1048. package/lib/duet/p-db2ccb9d.system.js +0 -4
  1049. package/lib/duet/p-e0b83f6c.system.entry.js +0 -4
  1050. package/lib/duet/p-e12066c8.system.js +0 -4
  1051. package/lib/duet/p-e216bea4.system.js +0 -4
  1052. package/lib/duet/p-e29d9d5b.system.entry.js +0 -4
  1053. package/lib/duet/p-e3857119.js +0 -4
  1054. package/lib/duet/p-e45d4dc4.system.entry.js +0 -4
  1055. package/lib/duet/p-e4c8559c.system.js +0 -4
  1056. package/lib/duet/p-e50214f5.system.entry.js +0 -4
  1057. package/lib/duet/p-e6b5a1c7.system.js +0 -4
  1058. package/lib/duet/p-e7c3186e.system.entry.js +0 -4
  1059. package/lib/duet/p-e89a92a9.entry.js +0 -4
  1060. package/lib/duet/p-eb02c981.system.entry.js +0 -4
  1061. package/lib/duet/p-ed086770.system.entry.js +0 -4
  1062. package/lib/duet/p-eebfe28d.system.entry.js +0 -4
  1063. package/lib/duet/p-ef520403.entry.js +0 -4
  1064. package/lib/duet/p-f0260e4c.entry.js +0 -4
  1065. package/lib/duet/p-f07eace6.system.entry.js +0 -4
  1066. package/lib/duet/p-f1083d8c.system.entry.js +0 -4
  1067. package/lib/duet/p-f10d7817.entry.js +0 -4
  1068. package/lib/duet/p-f11208c3.js +0 -4
  1069. package/lib/duet/p-f18245aa.system.entry.js +0 -4
  1070. package/lib/duet/p-f4063bd4.entry.js +0 -4
  1071. package/lib/duet/p-f56098f1.system.entry.js +0 -4
  1072. package/lib/duet/p-f6000a03.js +0 -4
  1073. package/lib/duet/p-f67921d2.system.entry.js +0 -4
  1074. package/lib/duet/p-f6b21d17.system.js +0 -4
  1075. package/lib/duet/p-f7fe4161.system.entry.js +0 -4
  1076. package/lib/duet/p-f97dd407.entry.js +0 -4
  1077. package/lib/duet/p-fcfae4d6.entry.js +0 -4
  1078. package/lib/esm/a11y-utils-c3a7fd7e.js +0 -23
  1079. package/lib/esm/action-arrow-down-small-82273dc8.js +0 -6
  1080. package/lib/esm/action-new-window-small-1945be91.js +0 -6
  1081. package/lib/esm/body-scroll-46854769.js +0 -234
  1082. package/lib/esm/bodyScrollLock.es6-ecbf187e.js +0 -184
  1083. package/lib/esm/common-strings-af765cad.js +0 -25
  1084. package/lib/esm/create-id-149a1b6d.js +0 -11
  1085. package/lib/esm/floating-ui.dom.esm-ebc91b33.js +0 -1348
  1086. package/lib/esm/focus-utils-7bc146cd.js +0 -18
  1087. package/lib/esm/form-search-ea8e19ae.js +0 -6
  1088. package/lib/esm/input-utils-85681162.js +0 -53
  1089. package/lib/esm/is-internet-explorer-2c48f686.js +0 -9
  1090. package/lib/esm/js-utils-9b9e0039.js +0 -47
  1091. package/lib/esm/keyboard-utils-daf80d44.js +0 -58
  1092. package/lib/esm/label-de5c8cbd.js +0 -20
  1093. package/lib/esm/polyfills/core-js.js +0 -11
  1094. package/lib/esm/polyfills/dom.js +0 -79
  1095. package/lib/esm/polyfills/es5-html-element.js +0 -1
  1096. package/lib/esm/polyfills/index.js +0 -34
  1097. package/lib/esm/polyfills/system.js +0 -6
  1098. package/lib/esm/string-utils-192eb3c8.js +0 -61
  1099. package/lib/esm/themeable-component-860041c5.js +0 -13
  1100. package/lib/esm/token-utils-b9ba8c5e.js +0 -138
  1101. package/lib/esm/watch-options-e96ecd92.js +0 -57
  1102. package/lib/esm-es5/a11y-utils-c3a7fd7e.js +0 -4
  1103. package/lib/esm-es5/action-arrow-down-small-82273dc8.js +0 -4
  1104. package/lib/esm-es5/action-new-window-small-1945be91.js +0 -4
  1105. package/lib/esm-es5/app-globals-e00fbe9c.js +0 -4
  1106. package/lib/esm-es5/body-scroll-46854769.js +0 -4
  1107. package/lib/esm-es5/bodyScrollLock.es6-ecbf187e.js +0 -4
  1108. package/lib/esm-es5/common-strings-af765cad.js +0 -4
  1109. package/lib/esm-es5/create-id-149a1b6d.js +0 -4
  1110. package/lib/esm-es5/duet-action-button.entry.js +0 -4
  1111. package/lib/esm-es5/duet-alert.entry.js +0 -4
  1112. package/lib/esm-es5/duet-badge.entry.js +0 -4
  1113. package/lib/esm-es5/duet-banner.entry.js +0 -4
  1114. package/lib/esm-es5/duet-breadcrumb.entry.js +0 -4
  1115. package/lib/esm-es5/duet-breadcrumbs.entry.js +0 -4
  1116. package/lib/esm-es5/duet-button_2.entry.js +0 -4
  1117. package/lib/esm-es5/duet-callout.entry.js +0 -4
  1118. package/lib/esm-es5/duet-caption_4.entry.js +0 -4
  1119. package/lib/esm-es5/duet-card.entry.js +0 -4
  1120. package/lib/esm-es5/duet-checkbox.entry.js +0 -4
  1121. package/lib/esm-es5/duet-checkmark.entry.js +0 -4
  1122. package/lib/esm-es5/duet-chip.entry.js +0 -4
  1123. package/lib/esm-es5/duet-choice_2.entry.js +0 -4
  1124. package/lib/esm-es5/duet-collapsible.entry.js +0 -4
  1125. package/lib/esm-es5/duet-combobox.entry.js +0 -4
  1126. package/lib/esm-es5/duet-contact-card.entry.js +0 -4
  1127. package/lib/esm-es5/duet-cookie-consent.entry.js +0 -4
  1128. package/lib/esm-es5/duet-date-picker.entry.js +0 -4
  1129. package/lib/esm-es5/duet-divider_2.entry.js +0 -4
  1130. package/lib/esm-es5/duet-editable-table_3.entry.js +0 -4
  1131. package/lib/esm-es5/duet-empty-state.entry.js +0 -4
  1132. package/lib/esm-es5/duet-fieldset.entry.js +0 -4
  1133. package/lib/esm-es5/duet-file-chooser.entry.js +0 -4
  1134. package/lib/esm-es5/duet-footer.entry.js +0 -4
  1135. package/lib/esm-es5/duet-grid_2.entry.js +0 -4
  1136. package/lib/esm-es5/duet-header_2.entry.js +0 -4
  1137. package/lib/esm-es5/duet-hero.entry.js +0 -4
  1138. package/lib/esm-es5/duet-icon.entry.js +0 -4
  1139. package/lib/esm-es5/duet-input_2.entry.js +0 -4
  1140. package/lib/esm-es5/duet-layout.entry.js +0 -4
  1141. package/lib/esm-es5/duet-list_2.entry.js +0 -4
  1142. package/lib/esm-es5/duet-menu-bar-button.entry.js +0 -4
  1143. package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +0 -4
  1144. package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +0 -4
  1145. package/lib/esm-es5/duet-menu-bar-item.entry.js +0 -4
  1146. package/lib/esm-es5/duet-menu-bar-link.entry.js +0 -4
  1147. package/lib/esm-es5/duet-menu-bar.entry.js +0 -4
  1148. package/lib/esm-es5/duet-modal.entry.js +0 -4
  1149. package/lib/esm-es5/duet-multiselect.entry.js +0 -4
  1150. package/lib/esm-es5/duet-nav.entry.js +0 -4
  1151. package/lib/esm-es5/duet-notification_2.entry.js +0 -4
  1152. package/lib/esm-es5/duet-number-input.entry.js +0 -4
  1153. package/lib/esm-es5/duet-overlay.entry.js +0 -4
  1154. package/lib/esm-es5/duet-page-heading.entry.js +0 -4
  1155. package/lib/esm-es5/duet-pagination_2.entry.js +0 -4
  1156. package/lib/esm-es5/duet-phone-input.entry.js +0 -4
  1157. package/lib/esm-es5/duet-popup-menu_2.entry.js +0 -4
  1158. package/lib/esm-es5/duet-progress.entry.js +0 -4
  1159. package/lib/esm-es5/duet-promo-card.entry.js +0 -4
  1160. package/lib/esm-es5/duet-radio_2.entry.js +0 -4
  1161. package/lib/esm-es5/duet-range-slider.entry.js +0 -4
  1162. package/lib/esm-es5/duet-scrollable_3.entry.js +0 -4
  1163. package/lib/esm-es5/duet-section-layout.entry.js +0 -4
  1164. package/lib/esm-es5/duet-select.entry.js +0 -4
  1165. package/lib/esm-es5/duet-shaped-image.entry.js +0 -4
  1166. package/lib/esm-es5/duet-show-more.entry.js +0 -4
  1167. package/lib/esm-es5/duet-slideout-lang.entry.js +0 -4
  1168. package/lib/esm-es5/duet-slideout-link.entry.js +0 -4
  1169. package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +0 -4
  1170. package/lib/esm-es5/duet-slideout-panel.entry.js +0 -4
  1171. package/lib/esm-es5/duet-slideout.entry.js +0 -4
  1172. package/lib/esm-es5/duet-status-icon.entry.js +0 -4
  1173. package/lib/esm-es5/duet-step_2.entry.js +0 -4
  1174. package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +0 -4
  1175. package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +0 -4
  1176. package/lib/esm-es5/duet-submenu-bar-item.entry.js +0 -4
  1177. package/lib/esm-es5/duet-submenu-bar-link.entry.js +0 -4
  1178. package/lib/esm-es5/duet-submenu-bar.entry.js +0 -4
  1179. package/lib/esm-es5/duet-textarea.entry.js +0 -4
  1180. package/lib/esm-es5/duet-toggle.entry.js +0 -4
  1181. package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +0 -4
  1182. package/lib/esm-es5/duet-toolbar-dropdown.entry.js +0 -4
  1183. package/lib/esm-es5/duet-toolbar-item.entry.js +0 -4
  1184. package/lib/esm-es5/duet-toolbar-link.entry.js +0 -4
  1185. package/lib/esm-es5/duet-toolbar.entry.js +0 -4
  1186. package/lib/esm-es5/duet-tooltip-button_2.entry.js +0 -4
  1187. package/lib/esm-es5/duet-tooltip.entry.js +0 -4
  1188. package/lib/esm-es5/duet-tray.entry.js +0 -4
  1189. package/lib/esm-es5/duet-upload-aria-status.entry.js +0 -4
  1190. package/lib/esm-es5/duet-upload-item.entry.js +0 -4
  1191. package/lib/esm-es5/duet-visually-hidden.entry.js +0 -4
  1192. package/lib/esm-es5/duet.js +0 -4
  1193. package/lib/esm-es5/errorcodes.utils-416994cc.js +0 -4
  1194. package/lib/esm-es5/floating-ui.dom.esm-ebc91b33.js +0 -4
  1195. package/lib/esm-es5/focus-utils-7bc146cd.js +0 -4
  1196. package/lib/esm-es5/form-search-ea8e19ae.js +0 -4
  1197. package/lib/esm-es5/index-1a6cee61.js +0 -4
  1198. package/lib/esm-es5/index.js +0 -3
  1199. package/lib/esm-es5/input-utils-85681162.js +0 -4
  1200. package/lib/esm-es5/is-internet-explorer-2c48f686.js +0 -4
  1201. package/lib/esm-es5/js-utils-9b9e0039.js +0 -4
  1202. package/lib/esm-es5/keyboard-utils-daf80d44.js +0 -4
  1203. package/lib/esm-es5/label-de5c8cbd.js +0 -4
  1204. package/lib/esm-es5/language-utils-8a9d5323.js +0 -4
  1205. package/lib/esm-es5/loader.js +0 -4
  1206. package/lib/esm-es5/slot-utils-bf214ae5.js +0 -4
  1207. package/lib/esm-es5/string-utils-192eb3c8.js +0 -4
  1208. package/lib/esm-es5/teleport-546f382d.js +0 -4
  1209. package/lib/esm-es5/themeable-component-860041c5.js +0 -4
  1210. package/lib/esm-es5/token-utils-b9ba8c5e.js +0 -4
  1211. package/lib/esm-es5/tokens-84fb2357.js +0 -4
  1212. package/lib/esm-es5/tokens.module-2d02f5ff.js +0 -4
  1213. package/lib/esm-es5/watch-options-e96ecd92.js +0 -4
  1214. package/lib/loader/package.json +0 -11
  1215. /package/lib/cjs/{body-scroll-dba42314.js → body-scroll-FWPe3_T_.js} +0 -0
  1216. /package/lib/cjs/{bodyScrollLock.es6-dd2d7d91.js → bodyScrollLock.es6-B2sCDud5.js} +0 -0
  1217. /package/lib/cjs/{create-id-1f8c438f.js → create-id-DtslnIOq.js} +0 -0
  1218. /package/lib/cjs/{input-utils-1096a2c5.js → input-utils-DUKdslOM.js} +0 -0
  1219. /package/lib/cjs/{is-internet-explorer-e7f58ebc.js → is-internet-explorer-BTLb_loH.js} +0 -0
  1220. /package/lib/cjs/{js-utils-92e24ba1.js → js-utils-hJ4A2edy.js} +0 -0
  1221. /package/lib/cjs/{keyboard-utils-f7c9f980.js → keyboard-utils-D9UlHbik.js} +0 -0
  1222. /package/lib/cjs/{string-utils-7b13c16e.js → string-utils-B35hEUBv.js} +0 -0
  1223. /package/lib/duet/{p-8354d1f1.js → p-B1B-PPrh.js} +0 -0
  1224. /package/lib/duet/{p-9e371678.js → p-BlUsLmbQ.js} +0 -0
  1225. /package/lib/duet/{p-fc09c464.js → p-C6CAT054.js} +0 -0
  1226. /package/lib/duet/{p-9c3c64b9.js → p-C6E9F6QT.js} +0 -0
  1227. /package/lib/duet/{p-df7874f9.js → p-CLDy7YaM.js} +0 -0
  1228. /package/lib/duet/{p-5e59e970.js → p-Cfr_DJqU.js} +0 -0
  1229. /package/lib/duet/{p-43b89e38.js → p-DxESMgwA.js} +0 -0
  1230. /package/lib/{dist-custom-elements/p-fc09c464.js → esm/body-scroll-C6CAT054.js} +0 -0
  1231. /package/lib/{dist-custom-elements/p-8354d1f1.js → esm/bodyScrollLock.es6-B1B-PPrh.js} +0 -0
  1232. /package/lib/{dist-custom-elements/p-5e59e970.js → esm/create-id-Cfr_DJqU.js} +0 -0
  1233. /package/lib/{dist-custom-elements/p-df7874f9.js → esm/input-utils-CLDy7YaM.js} +0 -0
  1234. /package/lib/{dist-custom-elements/p-43b89e38.js → esm/is-internet-explorer-DxESMgwA.js} +0 -0
  1235. /package/lib/{dist-custom-elements/p-9e371678.js → esm/js-utils-BlUsLmbQ.js} +0 -0
  1236. /package/lib/{dist-custom-elements/p-9c3c64b9.js → esm/string-utils-C6E9F6QT.js} +0 -0
@@ -1,1444 +0,0 @@
1
- /*!
2
- * Built with Duet Design System
3
- */
4
- import { p as proxyCustomElement, H, c as createEvent, h as h$1, F as Fragment, d as Host } from './p-548610a6.js';
5
- import { i as inheritGlobalTheme } from './p-aaa7a7bd.js';
6
- import { c as createID } from './p-5e59e970.js';
7
- import { d as debounce } from './p-9e371678.js';
8
- import { g as getLocaleString, s as sanitizeString } from './p-35375593.js';
9
- import { p as parsePossibleJSON } from './p-9c3c64b9.js';
10
- import { g as getError, a as getI18nError, d as defineCustomElement$3 } from './p-9e31e365.js';
11
- import { h } from './p-993aea39.js';
12
- import { d as defineCustomElement$j } from './p-b322feac.js';
13
- import { d as defineCustomElement$i } from './p-4150399b.js';
14
- import { d as defineCustomElement$h } from './p-59782228.js';
15
- import { d as defineCustomElement$g } from './p-9ee4d52e.js';
16
- import { d as defineCustomElement$f } from './p-ed6a907e.js';
17
- import { d as defineCustomElement$e } from './p-5e91471a.js';
18
- import { d as defineCustomElement$d } from './p-8d263ac9.js';
19
- import { d as defineCustomElement$c } from './p-081025d8.js';
20
- import { d as defineCustomElement$b } from './p-77667998.js';
21
- import { d as defineCustomElement$a } from './p-b632bf7b.js';
22
- import { d as defineCustomElement$9 } from './p-91cdfcdd.js';
23
- import { d as defineCustomElement$8 } from './p-8258c05e.js';
24
- import { d as defineCustomElement$7 } from './p-ed6f3abc.js';
25
- import { d as defineCustomElement$6 } from './p-0871ccd4.js';
26
- import { d as defineCustomElement$5 } from './p-3c70317f.js';
27
- import { d as defineCustomElement$4 } from './p-e58296e6.js';
28
- import { d as defineCustomElement$2 } from './p-196352e6.js';
29
-
30
- const errorCodes = [
31
- {
32
- type: "default",
33
- system_message: "unknown error",
34
- message: {
35
- fi: "Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",
36
- sv: "Ett okänt fel uppstod, försök igen.",
37
- en: "An unknown error occured, please try again."
38
- }
39
- },
40
- {
41
- type: "400",
42
- system_message: "Bad Request: The server could not understand the request due to invalid syntax.",
43
- message: {
44
- fi: "Tiedostoa ei hyväksytty.",
45
- sv: "Servern avvisade din fil.",
46
- en: "The server rejected your file."
47
- }
48
- },
49
- {
50
- type: "401",
51
- system_message: "Not Authenticated: The client must authenticate itself to get the requested response...",
52
- message: {
53
- fi: "Vain kirjautunut käyttäjä voi lähettää tiedostoja.",
54
- sv: "Du måste vara inloggad för att ladda upp filer.",
55
- en: "You need to be logged in to upload files."
56
- }
57
- },
58
- {
59
- type: "403",
60
- system_message: "No Access: The client does not have access rights to the content.",
61
- message: {
62
- fi: "Ei oikeuksia lähettää tiedostoja.",
63
- sv: "Du har inte rätt åtkomsträttigheter för att ladda upp filer.",
64
- en: "You do not have the correct access rights to upload files."
65
- }
66
- },
67
- {
68
- type: "413",
69
- system_message: "Payload too large",
70
- message: {
71
- fi: "Tiedosto oli liian vastaanotettavaksi.",
72
- sv: "Filen var för stor för servern att hantera.",
73
- en: "The file was to large for the server to handle."
74
- }
75
- },
76
- {
77
- type: "415",
78
- system_message: "Unsupported media type",
79
- message: {
80
- fi: "Tiedoston tyyppi oli väärä.",
81
- sv: "Servern avvisade filen eftersom den hade fel typ.",
82
- en: "The server rejected the file because it had the wrong type."
83
- }
84
- },
85
- {
86
- type: "429",
87
- system_message: "Too many request from same address",
88
- message: {
89
- fi: "Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",
90
- sv: "Servern har fått många förfrågningar från dig, försök igen senare.",
91
- en: "The server has received to many request from you, please try again later."
92
- }
93
- },
94
- {
95
- type: "500",
96
- system_message: "Internal Server Error",
97
- message: {
98
- fi: "Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",
99
- sv: "Servern rapporterade ett okänt fel och uppladdningen misslyckades.",
100
- en: "The server reported an unknown error and the upload failed."
101
- }
102
- },
103
- {
104
- type: "duet-upload-100",
105
- system_message: "File extension not allowed",
106
- message: {
107
- fi: "Tiedoston tyyppi ei ole sallittu.",
108
- sv: "Du kan inte ladda upp filer av den type.",
109
- en: "You cannot upload files with that extension."
110
- }
111
- },
112
- {
113
- type: "duet-upload-001",
114
- system_message: "File transfer failed",
115
- message: {
116
- fi: "Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",
117
- sv: "Din anslutning till servern avbröts, försök igen.",
118
- en: "Your connection to the server was interrupted, try again."
119
- }
120
- },
121
- {
122
- type: "duet-upload-101",
123
- system_message: "File mimetype not allowed",
124
- message: {
125
- fi: "Tiedoston tyyppi ei ole sallittu.",
126
- sv: "Du kan inte ladda upp filer av den typ.",
127
- en: "You cannot upload files of that type."
128
- }
129
- },
130
- {
131
- type: "duet-upload-201",
132
- system_message: "File is too large",
133
- message: {
134
- fi: "Tiedosto on liian iso.",
135
- sv: "Filen är större än tillåtet.",
136
- en: "The file is larger than permitted."
137
- }
138
- },
139
- {
140
- type: "duet-upload-202",
141
- system_message: "The combined size of all files is too large",
142
- message: {
143
- fi: "Tiedostojen yhteenlaskettu koko on liian iso.",
144
- sv: "Du har nått den maximala kombinerade filstorleken.",
145
- en: "You have reached the maximum combined filesize."
146
- }
147
- },
148
- {
149
- type: "duet-upload-203",
150
- system_message: "Files to upload exceed total byte size limit",
151
- message: {
152
- fi: "Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",
153
- sv: "Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",
154
- en: "You tried to add files that would exceed the maximum combined size."
155
- }
156
- },
157
- {
158
- type: "duet-upload-301",
159
- system_message: "The maximum file limit has been reached",
160
- message: {
161
- fi: "Liitteiden maksimimäärä saavutettu.",
162
- sv: "Maximalt antal bilagor har uppnåtts.",
163
- en: "Maximum number of attachments reached."
164
- }
165
- },
166
- {
167
- type: "duet-upload-302",
168
- system_message: "Files to upload exceeds limits",
169
- message: {
170
- fi: "Et voi lähettää enempää kuin enimmäismäärän liitteitä.",
171
- sv: "Du kan inte ladda upp fler än det maximala antalet bilagor.",
172
- en: "You can't upload more than maximum number of attachments."
173
- }
174
- }
175
- ];
176
-
177
- const headerAriaLabel = {
178
- fi: "Liiteluettelo",
179
- sv: "Lista över bilagor",
180
- en: "Attachments list",
181
- };
182
- const UploadItemHeader = ({ label, categoryLabel }) => {
183
- return (h("div", { class: "items-header", tabindex: "-1", "aria-label": getLocaleString(headerAriaLabel) },
184
- categoryLabel && (h("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none", "aria-hidden": "true" }, getLocaleString(categoryLabel))),
185
- h("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none", "aria-hidden": "true" }, getLocaleString(label))));
186
- };
187
-
188
- const validateFileExtension = (name, allowedExtensions) => {
189
- if (!allowedExtensions) {
190
- return true;
191
- }
192
- const ext = name.split(".");
193
- const validExtension = allowedExtensions.split(",");
194
- const extension = ext[ext.length - 1];
195
- return validExtension.includes(extension);
196
- };
197
- const validateFileMime = (type, allowedMimetypes) => {
198
- if (!allowedMimetypes || !type) {
199
- return true;
200
- }
201
- const validMimeTypes = allowedMimetypes.split(",");
202
- let valid = false;
203
- validMimeTypes.forEach(mimeType => {
204
- const allowedTypes = mimeType.split("/");
205
- const fileType = type.split("/");
206
- if (allowedTypes[0] === fileType[0] && (allowedTypes[1] === fileType[1] || allowedTypes[1] === "*")) {
207
- valid = true;
208
- }
209
- });
210
- return valid;
211
- };
212
- const validateFileSize = (size, maxBytes) => {
213
- if (!maxBytes || !size) {
214
- return true;
215
- }
216
- return maxBytes >= size;
217
- };
218
- const validateFile = (item, validators, errorCodes) => {
219
- const { allowedMimetypes, allowedExtensions, maxBytes } = validators;
220
- let valid = false;
221
- let errorMessage = getError("default", errorCodes);
222
- if (item) {
223
- const { name, type, size } = item;
224
- const mime = validateFileMime(type, allowedMimetypes);
225
- const ext = allowedExtensions === "all" ||
226
- allowedExtensions === "" ||
227
- allowedExtensions === " " ||
228
- allowedExtensions === undefined
229
- ? true
230
- : validateFileExtension(name.toLowerCase(), allowedExtensions);
231
- const bytes = validateFileSize(size, maxBytes);
232
- if (!mime) {
233
- errorMessage = getError("duet-upload-101", errorCodes);
234
- }
235
- if (!ext) {
236
- errorMessage = getError("duet-upload-100", errorCodes);
237
- }
238
- if (!bytes) {
239
- errorMessage = getError("duet-upload-201", errorCodes);
240
- }
241
- valid = mime && ext && bytes;
242
- }
243
- else {
244
- valid = false;
245
- }
246
- return {
247
- valid,
248
- errorMessage: valid ? undefined : getLocaleString(errorMessage.message),
249
- errorSystem: valid ? undefined : errorMessage.system_message,
250
- errorType: valid ? undefined : errorMessage.type,
251
- };
252
- };
253
- const validateTotalSizeIsAboveMax = (filelist, maxTotalBytes) => {
254
- let total = 0;
255
- if (maxTotalBytes) {
256
- filelist.forEach(item => {
257
- if (item.valid && item.size) {
258
- total += item.size;
259
- }
260
- });
261
- if (total >= maxTotalBytes) {
262
- return true;
263
- }
264
- }
265
- return false;
266
- };
267
- const validateTotalAmountIsAboveMax = (filelist, maxFiles) => {
268
- let total = 0;
269
- if (maxFiles) {
270
- filelist.forEach(item => {
271
- if (item.valid) {
272
- total++;
273
- }
274
- });
275
- if (total >= maxFiles) {
276
- return true;
277
- }
278
- }
279
- return false;
280
- };
281
- const filesToUploadCountAboveMax = (currentFilesCount, filesToUploadCount, maxFiles) => {
282
- if (currentFilesCount + filesToUploadCount > maxFiles) {
283
- return true;
284
- }
285
- return false;
286
- };
287
- const filesToUploadTotalSizeIsAboveMax = (currentFiles, filesToUpload, maxTotalBytes) => {
288
- let total = 0;
289
- if (maxTotalBytes) {
290
- currentFiles.forEach(item => {
291
- if (item.valid && item.size) {
292
- total += item.size;
293
- }
294
- });
295
- filesToUpload.forEach(item => {
296
- if (item.size) {
297
- total += item.size;
298
- }
299
- });
300
- if (total >= maxTotalBytes) {
301
- return true;
302
- }
303
- }
304
- return false;
305
- };
306
-
307
- const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress }) => {
308
- // @ts-ignore
309
- const { type = "POST", xhr, uri, argument = null, headers = null } = options;
310
- xhr.open(type, `${uri}${argument || ""}`, true);
311
- const { data, name } = payload;
312
- // headers must be added after open
313
- if (headers) {
314
- Object.keys(headers).forEach(key => {
315
- xhr.setRequestHeader(key, headers[key]);
316
- });
317
- }
318
- if (type === "POST") {
319
- xhr.onreadystatechange = () => {
320
- // Call a function when the state changes.
321
- if (xhr.readyState === XMLHttpRequest.DONE && xhr.status >= 200 && xhr.status < 300) {
322
- // Request finished without errors
323
- onSuccess(xhr, name, xhr.status);
324
- }
325
- if (xhr.readyState === XMLHttpRequest.DONE && xhr.status >= 300 && xhr.status < 999) {
326
- // Request finished with errors
327
- onFailure(xhr, name, xhr.status);
328
- }
329
- };
330
- onProgress(name);
331
- }
332
- xhr.send(data);
333
- return xhr;
334
- };
335
-
336
- const duetUploadCss = "*,*::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}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";
337
- const DuetUploadStyle0 = duetUploadCss;
338
-
339
- const DuetUpload$1 = /*@__PURE__*/ proxyCustomElement(class DuetUpload extends H {
340
- constructor() {
341
- super();
342
- this.__registerHost();
343
- this.__attachShadow();
344
- this.duetChange = createEvent(this, "duetChange", 3);
345
- this.duetBlur = createEvent(this, "duetBlur", 7);
346
- this.duetFocus = createEvent(this, "duetFocus", 7);
347
- this.duetReady = createEvent(this, "duetReady", 7);
348
- this.duetDone = createEvent(this, "duetDone", 3);
349
- this.duetState = createEvent(this, "duetState", 3);
350
- this.duetDelete = createEvent(this, "duetDelete", 3);
351
- this.duetCancel = createEvent(this, "duetCancel", 3);
352
- this.duetProgress = createEvent(this, "duetProgress", 3);
353
- this.duetUpload = createEvent(this, "duetUpload", 3);
354
- this.linkClick = createEvent(this, "linkClick", 3);
355
- /**
356
- * Own Properties
357
- */
358
- this.buttonId = createID("DuetButton");
359
- this.labelId = createID("DuetLabel");
360
- this.uploadId = createID("DuetUpload");
361
- this.filesInProgress = new Map();
362
- this.fileMaxReached = false;
363
- this.bytesMaxReached = false;
364
- this.filesToUploadExceedsLimit = false;
365
- this.filesToUploadTotalSizeIsAboveMax = false;
366
- this.internalStatusMessageLabel = undefined;
367
- this.itemRefs = new Map();
368
- /**
369
- * Properties
370
- */
371
- this.DefaultGroups = {
372
- inprogress: "inprogress",
373
- success: "success",
374
- pending: "pending",
375
- failure: "failure",
376
- };
377
- this.kick = debounce(() => {
378
- this.tick = Date.now();
379
- }, 30); // will trigger re-render
380
- this.categoryLabel = {
381
- en: "Category",
382
- sv: "Filtyp",
383
- fi: "Tiedostotyyppi",
384
- };
385
- /**
386
- * Private functions
387
- */
388
- this.listenForActionEvents = () => {
389
- this.element.addEventListener("duetActionEvent", (e) => {
390
- const detail = e.detail;
391
- const { action, id, originalEvent } = detail;
392
- switch (action) {
393
- case "delete":
394
- this.onDelete(id, originalEvent);
395
- break;
396
- case "cancel":
397
- this.onCancel(id, originalEvent);
398
- break;
399
- // code block
400
- }
401
- });
402
- };
403
- this.verifyValidity = () => {
404
- const { invalid, valid } = this.getFilesAsArray();
405
- const oldValid = this.valid;
406
- this.valid = invalid.length === 0 && valid.length !== 0;
407
- if (this.valid !== oldValid) {
408
- this.duetState.emit({
409
- originalEvent: undefined,
410
- data: { valid: this.valid, from: "componentWillRender" },
411
- component: "duet-upload",
412
- });
413
- }
414
- };
415
- this.getGroupFromItemData = (item) => {
416
- if (item.valid && item.progress === 100) {
417
- // if the item has a group, move the file to that group instead
418
- // of into the standard success group
419
- return this.DefaultGroups.success;
420
- }
421
- else if (item.progress > 0 && item.progress !== 100) {
422
- return this.DefaultGroups.inprogress;
423
- }
424
- else if (!item.valid) {
425
- return this.DefaultGroups.failure;
426
- }
427
- else if (item.pending) {
428
- return this.DefaultGroups.pending;
429
- }
430
- else if (item.group) {
431
- return item.group;
432
- }
433
- else {
434
- return "none";
435
- }
436
- };
437
- this.mapFilesToUploadItems = (data, group, showCategory, filteredActions) => {
438
- if (group === this.DefaultGroups.success) {
439
- return (h$1("duet-upload-item", { theme: this.theme, actions: this.getActions(group, filteredActions), type: "success", data: data, showLinks: this.showLinks, linkClickEvent: this.emitEvent ? this.linkClick : undefined, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory, buttonTitles: this.processedButtonTitles, ref: item => {
440
- this.itemRefs.set(data.uid, item);
441
- } }));
442
- }
443
- else if (group === this.DefaultGroups.inprogress) {
444
- return (h$1("duet-upload-item", { theme: this.theme, actions: this.getActions(group, filteredActions), type: "inprogress", data: data, showLinks: this.showLinks, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory, buttonTitles: this.processedButtonTitles, ref: item => {
445
- this.itemRefs.set(data.uid, item);
446
- } }));
447
- }
448
- else if (group === this.DefaultGroups.pending) {
449
- return (h$1("duet-upload-item", { theme: this.theme, actions: this.getActions(group, filteredActions), type: "pending", data: data, showLinks: this.showLinks, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory, buttonTitles: this.processedButtonTitles, ref: item => {
450
- this.itemRefs.set(data.uid, item);
451
- } }));
452
- }
453
- else if (group === this.DefaultGroups.failure) {
454
- return (h$1("duet-upload-item", { theme: this.theme, actions: this.getActions(group, filteredActions), type: "failure", data: data, showLinks: this.showLinks, errorCodes: this.errorCodes, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory, buttonTitles: this.processedButtonTitles, ref: item => {
455
- this.itemRefs.set(data.uid, item);
456
- } }));
457
- }
458
- else if (data.group) {
459
- return data.html;
460
- }
461
- else {
462
- return "none";
463
- }
464
- };
465
- this.genHashName = () => Date.now().toString(36) + Math.random();
466
- this.updateValueInMap = (item, key, value, kick = true) => {
467
- try {
468
- const fileItem = this.files.get(item);
469
- fileItem[key] = value;
470
- this.files.set(item, fileItem);
471
- if (this.external && key !== "url") {
472
- this.trackProgress(item, key === "uploaded");
473
- }
474
- }
475
- catch (e) {
476
- // if a users tries to update entries on a file that doesn't exist,
477
- // this will blow up - so we're swallowing the errors here on purpose
478
- // console.warn("operation on missing items")
479
- }
480
- if (kick) {
481
- this.kick();
482
- }
483
- };
484
- this.updateProgress = (ev, name) => {
485
- const updateProgressHelper = percentComplete => {
486
- this.updateValueInMap(name, "progress", percentComplete);
487
- this.onProgress(name, percentComplete, ev);
488
- };
489
- if (ev.lengthComputable) {
490
- const percentComplete = (ev.loaded / ev.total) * 100;
491
- updateProgressHelper(percentComplete);
492
- }
493
- else {
494
- console.log("cant read progress");
495
- }
496
- };
497
- this.trackProgress = (name, remove = false) => {
498
- if (remove) {
499
- this.filesInProgress.delete(name);
500
- }
501
- else {
502
- this.filesInProgress.set(name, "inprogress");
503
- }
504
- if (this.filesInProgress.size === 0) {
505
- this.onDone();
506
- }
507
- };
508
- this.getFilesAsArray = () => {
509
- const filesInQueue = [];
510
- const filesInError = [];
511
- this.files.forEach(value => {
512
- if (value.valid && !value.deleted) {
513
- filesInQueue.push(value);
514
- }
515
- else if (!value.valid && !value.deleted) {
516
- filesInError.push(value);
517
- }
518
- });
519
- return { valid: filesInQueue, invalid: filesInError };
520
- };
521
- this.resetFormFields = () => {
522
- /**
523
- * You cannot modify a FileList, nor remove single items from it
524
- * This completely removes all items in the FileList
525
- * We reset the form fields to always be able to re-upload files
526
- * and because we handle all uploads and states internally in the component (not relying on native form elements)
527
- */
528
- /* TODO: it may be a good idea to just update the list so that this always matches what is in the files map,
529
- * TODO: this would remove the capability of Re-uploading, unless we can catch and remove the user file from the form filelist before the upload is canceled by the browser
530
- * TODO: but for now we'll just reset the form fields
531
- */
532
- this.nativeInput.value = "";
533
- };
534
- this.startUpload = async (ev, metaData = undefined) => {
535
- // validate that we haven't hit any maxfiles or maxbytes limits before we upload
536
- const { bytesMaxReached, fileMaxReached } = this.validateTotals();
537
- if (bytesMaxReached || fileMaxReached) {
538
- this.kick();
539
- return;
540
- }
541
- this.metaData = metaData;
542
- this.nativeInput.click();
543
- this.onUpload(ev, metaData);
544
- ev.stopPropagation();
545
- ev.preventDefault();
546
- return;
547
- };
548
- /**
549
- * Eventlisteners for the XHR requests
550
- */
551
- this.transferComplete = name => {
552
- this.updateValueInMap(name, "progress", 100, false);
553
- this.trackProgress(name, true);
554
- };
555
- this.transferDone = (xhr, name, status) => {
556
- this.updateValueInMap(name, "status", status, false);
557
- this.updateValueInMap(name, "uploaded", true, false);
558
- try {
559
- const response = JSON.parse(xhr.response);
560
- this.updateValueInMap(name, "url", response.url);
561
- }
562
- catch (e) {
563
- this.updateValueInMap(name, "url", null);
564
- console.error("Server did not respond with expected response {url: string}");
565
- }
566
- return;
567
- };
568
- this.transferDoneWithFailure = (xhr, name, status) => {
569
- try {
570
- const { error } = JSON.parse(xhr.response);
571
- this.updateValueInMap(name, "error", { message: error.message, type: error.type }, false);
572
- }
573
- catch (e) {
574
- console.error("Server did not respond with expected response error:{message: string, type: int}");
575
- this.updateValueInMap(name, "error", { type: status }, false);
576
- }
577
- this.updateValueInMap(name, "valid", false, true);
578
- };
579
- this.transferFailed = name => {
580
- this.updateValueInMap(name, "error", getI18nError("duet-upload-001", this.errorCodes));
581
- };
582
- this.transferCanceled = name => {
583
- this.files.delete(name);
584
- this.validateTotals(name);
585
- this.kick();
586
- };
587
- this.validateTotals = (name) => {
588
- const isTotalSizeOverMaxSize = validateTotalSizeIsAboveMax(this.files, this.maxBytesTotal);
589
- const isTotalFileAmountAboveMax = validateTotalAmountIsAboveMax(this.files, this.maxFiles);
590
- if (isTotalSizeOverMaxSize && name) {
591
- this.updateValueInMap(name, "error", getI18nError("duet-upload-202", this.errorCodes), false);
592
- }
593
- if (isTotalFileAmountAboveMax && name) {
594
- this.updateValueInMap(name, "error", getI18nError("duet-upload-301", this.errorCodes), false);
595
- }
596
- this.bytesMaxReached = isTotalSizeOverMaxSize;
597
- this.fileMaxReached = isTotalFileAmountAboveMax;
598
- return {
599
- bytesMaxReached: isTotalSizeOverMaxSize,
600
- fileMaxReached: isTotalFileAmountAboveMax,
601
- };
602
- };
603
- this.uploadFile = async (fileListItem, force = false, key) => {
604
- if (!force && this.deferUpload) {
605
- this.updateValueInMap(fileListItem.item.name, "pending", true, false);
606
- this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
607
- }
608
- else if (force) {
609
- this.updateValueInMap(fileListItem.item.name, "pending", false, false);
610
- this.updateValueInMap(fileListItem.item.name, "group", undefined, true);
611
- }
612
- try {
613
- if (!this.deferUpload || force) {
614
- // if all is well AND external file upload handling has not been set, start upload
615
- const data = new FormData();
616
- data.append("file", fileListItem.item);
617
- if (key) {
618
- data.append("key", key);
619
- }
620
- data.append("uid", fileListItem.uid);
621
- data.append("name", fileListItem.item.name);
622
- data.append("metadata", JSON.stringify({
623
- uid: fileListItem.uid,
624
- url: this.uri,
625
- size: fileListItem.item.size,
626
- meta: fileListItem.meta,
627
- }));
628
- fileListItem.xhr = await this.makeXHRPostRequest(data);
629
- }
630
- }
631
- catch (e) {
632
- // in case one of the global maxes have been reached, invalidate the file
633
- this.updateValueInMap(fileListItem.item.name, "valid", false, false);
634
- }
635
- };
636
- this.uploadPendingFiles = () => {
637
- for (const [key, value] of Array.from(this.files.entries())) {
638
- if (value.group === "pending" && value.pending === true) {
639
- this.uploadFile(value, true, key);
640
- }
641
- }
642
- };
643
- this.getItemFromUID = (uid) => {
644
- for (const [key, value] of Array.from(this.files.entries())) {
645
- if (value.uid === uid) {
646
- return { value, key };
647
- }
648
- }
649
- return null;
650
- };
651
- this.handleExternalUploadButton = (bytesMaxReached, fileMaxReached) => {
652
- if (this.externalUploadButton) {
653
- if (bytesMaxReached || fileMaxReached) {
654
- this.externalUploadButton.disabled = true;
655
- }
656
- else {
657
- this.externalUploadButton.disabled = false;
658
- }
659
- }
660
- };
661
- this.onDelete = (key, ev) => {
662
- const item = this.getItemFromUID(key);
663
- const retrievedKey = item.key;
664
- const deletedItem = this.files.get(retrievedKey);
665
- this.files.delete(retrievedKey);
666
- const { bytesMaxReached, fileMaxReached } = this.validateTotals();
667
- this.handleExternalUploadButton(bytesMaxReached, fileMaxReached);
668
- this.kick();
669
- this.duetDelete.emit({
670
- originalEvent: ev,
671
- data: { deletion: deletedItem },
672
- component: "duet-upload",
673
- });
674
- // don't send a xhr request if the item was pending, just remove it from the list
675
- if (!this.external && !deletedItem.pending) {
676
- this.makeXHRDeleteRequest(deletedItem);
677
- }
678
- this.resetFormFields();
679
- };
680
- this.onCancel = (key, ev) => {
681
- const retrievedKey = this.getItemFromUID(key).key;
682
- const cancelledItem = this.files.get(retrievedKey);
683
- this.files.delete(retrievedKey);
684
- const { bytesMaxReached, fileMaxReached } = this.validateTotals();
685
- this.handleExternalUploadButton(bytesMaxReached, fileMaxReached);
686
- if (!this.external) {
687
- const { xhr } = cancelledItem;
688
- if (xhr) {
689
- xhr.abort();
690
- }
691
- }
692
- this.kick();
693
- this.resetFormFields();
694
- this.duetCancel.emit({
695
- originalEvent: ev,
696
- data: { cancelled: cancelledItem },
697
- component: "duet-upload",
698
- });
699
- };
700
- this.onUpload = (ev, metaData) => {
701
- this.duetUpload.emit({
702
- originalEvent: ev,
703
- metaData,
704
- component: "duet-upload",
705
- });
706
- };
707
- this.onBlur = (ev) => {
708
- this.duetBlur.emit({
709
- originalEvent: ev,
710
- component: "duet-upload",
711
- });
712
- };
713
- this.onProgress = (key, percentComplete, ev) => {
714
- this.duetChange.emit({
715
- originalEvent: ev,
716
- data: {
717
- key,
718
- percentComplete,
719
- },
720
- component: "duet-upload",
721
- });
722
- };
723
- this.onFocus = (ev) => {
724
- this.duetFocus.emit({
725
- originalEvent: ev,
726
- component: "duet-upload",
727
- });
728
- };
729
- this.onReady = () => {
730
- this.duetReady.emit({
731
- component: "duet-upload",
732
- });
733
- };
734
- this.onDone = () => {
735
- this.duetDone.emit({
736
- component: "duet-upload",
737
- data: { files: this.files },
738
- });
739
- };
740
- /**
741
- * @description This functions return sorted map items byg condition which are:
742
- */
743
- this.filterMap = () => {
744
- const all = Array.from(this.files.values());
745
- const inprogress = [];
746
- const failure = [];
747
- const pending = [];
748
- const success = [];
749
- let hasCategory = false;
750
- all.forEach(data => {
751
- const group = this.getGroupFromItemData(data);
752
- // const item = mapFn(data, group)
753
- // const category = <UploadCategory meta={data.meta} />
754
- // const categories = data.meta?.badges?.join(",")
755
- if (data.meta && !!data.meta.badges) {
756
- hasCategory = true;
757
- }
758
- if (group === this.DefaultGroups.success) {
759
- success.push({
760
- uid: data.uid,
761
- data,
762
- });
763
- }
764
- else if (group === this.DefaultGroups.inprogress) {
765
- inprogress.push({
766
- uid: data.uid,
767
- data,
768
- });
769
- }
770
- else if (group === this.DefaultGroups.pending) {
771
- pending.push({
772
- uid: data.uid,
773
- data,
774
- });
775
- }
776
- else if (group === this.DefaultGroups.failure) {
777
- failure.push({
778
- uid: data.uid,
779
- data,
780
- });
781
- }
782
- else if (data.group) {
783
- inprogress.push({
784
- uid: data.uid,
785
- data,
786
- });
787
- }
788
- });
789
- return {
790
- pending,
791
- failure,
792
- success,
793
- inprogress,
794
- hasCategory,
795
- };
796
- };
797
- this.getActions = (id, actions) => {
798
- return actions.filter(item => item.map.includes(id));
799
- };
800
- this.renderUploadedItems = () => {
801
- this.itemRefs.clear();
802
- const filteredItems = this.filterMap();
803
- const hasCategory = filteredItems.hasCategory;
804
- const filteredActions = this.hideCancelButton
805
- ? this.actions.filter(action => action.name !== "cancel")
806
- : this.actions;
807
- const ItemRows = this.groups.map(group => {
808
- const currentItems = filteredItems[group.id];
809
- if (!(currentItems === null || currentItems === void 0 ? void 0 : currentItems.length)) {
810
- return;
811
- }
812
- return (h$1(Fragment, null, !this.hideGroups && (h$1(UploadItemHeader, { categoryLabel: hasCategory ? this.categoryLabel : undefined, label: group.label })), currentItems.map(item => this.mapFilesToUploadItems(item.data, group.id, hasCategory, filteredActions))));
813
- });
814
- return (h$1(Fragment, null, this.showUploadedItemsHeader && (h$1(UploadItemHeader, { categoryLabel: hasCategory ? this.categoryLabel : undefined, label: this.uploadedItemsHeaderLabel })), ItemRows));
815
- };
816
- this.tick = Date.now();
817
- this.accessibleActiveDescendant = undefined;
818
- this.accessibleDescribedBy = undefined;
819
- this.accessibleControls = undefined;
820
- this.accessibleOwns = undefined;
821
- this.external = false;
822
- this.middleware = null;
823
- this.deferUpload = false;
824
- this.hideButton = false;
825
- this.actions = [
826
- {
827
- icon: "action-delete",
828
- color: "color-danger",
829
- size: "x-small",
830
- background: "gray-lightest",
831
- name: "delete",
832
- map: ["success", "failure"],
833
- label: {
834
- fi: "Poista tiedosto",
835
- en: "Delete the file",
836
- sv: "Ta bort filen",
837
- },
838
- },
839
- {
840
- icon: "navigation-close",
841
- color: "primary",
842
- size: "x-small",
843
- background: "gray-lightest",
844
- name: "cancel",
845
- map: ["inprogress", "pending"],
846
- label: {
847
- fi: "Keskeytä lähetys",
848
- en: "Cancel the upload",
849
- sv: "Stop överföringen",
850
- },
851
- },
852
- ];
853
- this.uri = undefined;
854
- this.showLinks = false;
855
- this.caption = undefined;
856
- this.statusLabelDefaults = {
857
- fi: {
858
- inProgress: "Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",
859
- inProgressWithErrors: "Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",
860
- done: "Lähetys valmis, {filesTotal} lisätty onnistuneesti",
861
- doneWithErrors: "Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",
862
- files: "tiedostoa",
863
- file: "tiedosto",
864
- },
865
- sv: {
866
- inProgress: "Laddar upp {filesUploaded} av {filesTotal}",
867
- inProgressWithErrors: "Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",
868
- done: "Uppladdningen slutförd, {filesTotal} har lagts till",
869
- doneWithErrors: "Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",
870
- files: "filer",
871
- file: "fil",
872
- },
873
- en: {
874
- inProgress: "Uploading {filesUploaded} of {filesTotal}",
875
- inProgressWithErrors: "Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",
876
- done: "Upload completed, {filesTotal} added successfully",
877
- doneWithErrors: "Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",
878
- files: "files",
879
- file: "file",
880
- },
881
- };
882
- this.statusMessageLabel = getLocaleString(this.statusLabelDefaults);
883
- this.buttonLabelDefaults = {
884
- fi: "Lisää liite",
885
- sv: "Lägg till en bilaga",
886
- en: "Add an attachment",
887
- };
888
- this.buttonLabel = getLocaleString(this.buttonLabelDefaults);
889
- this.accessibleButtonLabel = undefined;
890
- this.theme = "";
891
- this.disabled = false;
892
- this.identifier = undefined;
893
- this.margin = "auto";
894
- this.required = false;
895
- this.alignment = "middle";
896
- this.hideGroups = false;
897
- this.files = new Map();
898
- this.valid = !this.required;
899
- this.labelDefaults = {
900
- fi: "Lisää liite",
901
- sv: "Lägg till en bilaga",
902
- en: "Add attachments",
903
- };
904
- this.label = getLocaleString(this.labelDefaults);
905
- this.descriptionDefaults = {
906
- en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",
907
- sv: "Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",
908
- fi: "Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena.",
909
- };
910
- this.description = getLocaleString(this.descriptionDefaults);
911
- this.fileListEmptyDefaults = {
912
- fi: "Ei vielä lisättyjä tiedostoja.",
913
- sv: "Inga filer har lagts till ännu.",
914
- en: "No files added yet.",
915
- };
916
- this.fileListEmpty = getLocaleString(this.fileListEmptyDefaults);
917
- this.error = "";
918
- this.errorCodes = errorCodes;
919
- this.name = undefined;
920
- this.maxBytes = 200000000;
921
- this.maxBytesTotal = undefined;
922
- this.maxFiles = 99;
923
- this.allowedExtensions = "all";
924
- this.allowedMimetypes = "";
925
- this.multiple = true;
926
- this.limitSelection = false;
927
- this.hideCancelButton = false;
928
- this.value = undefined;
929
- this.externalUploadButtonId = undefined;
930
- this.captionOnBottom = false;
931
- this.showUploadedItemsHeader = false;
932
- this.uploadedItemsHeaderLabel = {
933
- fi: "Ladattu tiedosto",
934
- sv: "Lägg till en bilaga",
935
- en: "Uploaded file",
936
- };
937
- this.headerHeadingLevel = "h3";
938
- this.hideHeader = false;
939
- this.emitEvent = false;
940
- this.actionButtonTitles = {
941
- cancel: false,
942
- delete: false,
943
- };
944
- this.renameDuplicates = false;
945
- this.groups = [
946
- {
947
- id: this.DefaultGroups.success,
948
- label: {
949
- fi: "Valmiit tiedostot",
950
- sv: "Files success",
951
- en: "Files success",
952
- },
953
- },
954
- {
955
- id: this.DefaultGroups.failure,
956
- label: {
957
- fi: "Tiedostot, joissa on virheitä",
958
- sv: "Filer med fel",
959
- en: "Files with errors",
960
- },
961
- },
962
- {
963
- id: this.DefaultGroups.inprogress,
964
- label: {
965
- fi: "Kesken olevat tiedostot",
966
- sv: "Filer inprogress",
967
- en: "Files inprogress",
968
- },
969
- },
970
- {
971
- id: this.DefaultGroups.pending,
972
- label: {
973
- en: "Files to upload",
974
- sv: "Filer att ladda",
975
- fi: "Ladattavat tiedostot",
976
- },
977
- },
978
- ];
979
- }
980
- watchValidHandler(newValue, oldValue) {
981
- if (newValue !== oldValue) {
982
- this.kick();
983
- }
984
- }
985
- /**
986
- * Component lifecycle events.
987
- */
988
- componentWillLoad() {
989
- if (typeof this.statusMessageLabel === "string") {
990
- this.internalStatusMessageLabel = sanitizeString(this.groups);
991
- }
992
- else {
993
- this.internalStatusMessageLabel = this.statusMessageLabel;
994
- }
995
- inheritGlobalTheme(this);
996
- this.listenForActionEvents();
997
- this.onReady();
998
- this.externalUploadButton = document.querySelector(`#${this.externalUploadButtonId}`);
999
- this.processedButtonTitles = parsePossibleJSON(this.actionButtonTitles);
1000
- }
1001
- componentWillRender() {
1002
- // listen to the events from the component
1003
- this.verifyValidity();
1004
- }
1005
- /**
1006
- * Sets focus on the specified `duet-input`. Use this method instead of the global
1007
- * `input.focus()`.
1008
- */
1009
- async setFocus(options) {
1010
- if (this.nativeInput) {
1011
- this.nativeInput.focus(options);
1012
- }
1013
- return;
1014
- }
1015
- /**
1016
- * Method for invoking the upload sequence
1017
- */
1018
- async upload(metaData = undefined) {
1019
- // validate that we haven't hit any maxfiles or maxbytes limits before we upload
1020
- const { bytesMaxReached, fileMaxReached } = this.validateTotals();
1021
- if (bytesMaxReached || fileMaxReached) {
1022
- this.handleExternalUploadButton(bytesMaxReached, fileMaxReached);
1023
- this.kick();
1024
- return;
1025
- }
1026
- this.metaData = metaData;
1027
- this.nativeInput.click();
1028
- return;
1029
- }
1030
- /**
1031
- * Method for uploading pending files
1032
- */
1033
- async uploadPending() {
1034
- this.uploadPendingFiles();
1035
- }
1036
- /**
1037
- * Method for forcing a render of the upload list, element.files can be changed externally
1038
- * But it will only rerender on a new Map or a top Level change - this can be used to update
1039
- * the tabular data if the automatic re-render is no sufficient
1040
- */
1041
- async refresh() {
1042
- this.kick();
1043
- await this.setFocus();
1044
- }
1045
- /**
1046
- * Get list of files, divided in errors and valid sections
1047
- */
1048
- async getFiles() {
1049
- if (!this.files || this.files.size === 0) {
1050
- return false;
1051
- }
1052
- return this.getFilesAsArray();
1053
- }
1054
- /**
1055
- * Convenience method for updating the value of a key:value inside an item in the files attribute
1056
- */
1057
- async updateValue(item, key, value) {
1058
- this.updateValueInMap(item, key, value);
1059
- }
1060
- /**
1061
- * focusActionButton.
1062
- */
1063
- async focusActionButton(uid) {
1064
- var _a;
1065
- await ((_a = this.itemRefs.get(uid)) === null || _a === void 0 ? void 0 : _a.focusActionButton());
1066
- }
1067
- /**
1068
- * render() function
1069
- * Always the last one in the class.
1070
- */
1071
- render() {
1072
- const identifier = this.identifier || this.uploadId;
1073
- const maxMegaBytesTotal = Math.round((this.maxBytesTotal ? this.maxBytesTotal : this.maxBytes * this.maxFiles) / 1024 / 1024);
1074
- const maxMegaBytesPrFile = Math.round(this.maxBytes / 1024 / 1024);
1075
- let caption = this.description.replace(/{maxfiles}/g, this.maxFiles.toString());
1076
- caption = caption.replace(/{maxbytes}/g, `${maxMegaBytesPrFile.toString()} MB`);
1077
- caption = caption.replace(/{maxbytestotal}/g, `${maxMegaBytesTotal.toString()} MB`);
1078
- caption = caption.replace(/{filetypes}/g, this.allowedExtensions.split(",").join(", "));
1079
- if (this.externalUploadButton) {
1080
- this.externalUploadButton.accessibleLabel = `${this.externalUploadButton.innerText}. ${caption}`;
1081
- }
1082
- // @ts-ignore
1083
- return (h$1(Host, { key: 'af891e8448afa376703a9aaf7c2ea6614cf355b2', class: { "duet-m-0": this.margin === "none" } }, h$1("duet-fieldset", { key: '64ecfbf72004643670c94e10e3c528c453424781', "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label }, h$1("slot", { key: 'a86b487196b80ef598a870a65b173668bfb7f28a', name: "header" }), !this.files.size && (h$1("duet-empty-state", { key: 'a0fff5af7f1b97d9d9755f05a2db3417b726d35b', id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h$1("duet-paragraph", { key: '07990782c33bbf197e5b5faa2b09d70ad9234ec7', margin: "none" }, this.fileListEmpty))), !!this.files.size && h$1("slot", { key: '6e64833a85ff33f6cd0c8620853a517d20bbda06', name: "fileheader" }), !!this.files.size && (h$1("duet-upload-aria-status", { key: '4f404613876a98b0b81c11bcdb57cccc3ebf8038', 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$1("slot", { key: '429f15000646c8b490ba930339777f791c378103', name: "filefooter" }), h$1("slot", { key: '79f6b863efa949079852852740edbdd2be2e3516', name: "uploadfooter" }), this.captionOnBottom && (h$1("duet-caption", { key: 'fc7852edd78f5190203dba3158962366c53a94b7', margin: "none", size: "small" }, h$1("div", { key: '4d36f87e3da881b5c85f22afca0ebd4dfdca0711', class: "upload-bottom-caption" }, caption))), h$1("slot", { key: 'b283ac9a11d4108a7a84ab265082ccff8b00e323', name: "afterfooter" }), !this.hideButton && (h$1(Fragment, { key: '8bf6f2b2b848a4a7def1a674cb2f156833dd540c' }, h$1("duet-spacer", { key: 'b2e12ee9f57ffe8189bc06a68ea2c09359b6f9d3', size: "large" }), h$1("duet-button", { key: '8243c35856bd3ca1871344a5eeaf63384d820ca4', 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 ||
1084
- this.bytesMaxReached ||
1085
- this.filesToUploadExceedsLimit ||
1086
- this.filesToUploadTotalSizeIsAboveMax) && (h$1(Fragment, { key: '1ec4342f7ccf20e0d5022a9d84cc64e16372b401' }, h$1("duet-spacer", { key: 'b1ad3b5c6571bcb737f8ff057e51c8f7bd700458', size: "medium" }), h$1("duet-alert", { key: '4060aacd761dddcd9e06c3c7df95c6a3306fc9f8', 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$1("duet-visually-hidden", { key: 'cb2f66cf8b9b95e160022b5df3c36cb82f892e09', "aria-hidden": "true" }, h$1("input", { key: 'e07b880670a5bb91660e1ae562dff6d5c2036a1f', ref: input => {
1087
- this.nativeInput = input;
1088
- }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
1089
- "duet-upload": true,
1090
- }, disabled: this.disabled, "aria-hidden": "true", required: this.required, name: this.name, id: this.identifier, multiple: this.multiple, tabIndex: -1 })))));
1091
- }
1092
- /**
1093
- * XHR request utilities
1094
- */
1095
- makeXHRPostRequest(data) {
1096
- const xhr = new XMLHttpRequest();
1097
- const name = data.get("name");
1098
- xhr.upload.addEventListener("progress", ev => {
1099
- this.updateProgress(ev, name);
1100
- });
1101
- xhr.upload.addEventListener("load", () => {
1102
- this.transferComplete(name);
1103
- });
1104
- xhr.upload.addEventListener("error", () => {
1105
- this.transferFailed(name);
1106
- });
1107
- xhr.upload.addEventListener("abort", () => {
1108
- this.transferCanceled(name);
1109
- });
1110
- let options = {
1111
- payload: { data, name },
1112
- options: { type: "POST", uri: this.uri, xhr, argument: null, headers: undefined },
1113
- onFailure: this.transferDoneWithFailure,
1114
- onSuccess: this.transferDone,
1115
- onProgress: this.trackProgress,
1116
- };
1117
- if (this.middleware) {
1118
- options = this.middleware(options);
1119
- }
1120
- return makeXhrRequest(options);
1121
- }
1122
- makeXHRDeleteRequest(data) {
1123
- const { uid, item } = data;
1124
- const xhr = new XMLHttpRequest();
1125
- const headers = {
1126
- "x-fileuid": uid,
1127
- "x-filename": item.name,
1128
- };
1129
- let options = {
1130
- payload: { data: null, name },
1131
- options: {
1132
- type: "DELETE",
1133
- xhr,
1134
- uri: this.uri,
1135
- argument: `?key=${uid}&name=${item.name}`,
1136
- headers,
1137
- },
1138
- onFailure: this.transferDoneWithFailure,
1139
- onSuccess: this.transferDone,
1140
- onProgress: this.trackProgress,
1141
- };
1142
- if (this.middleware) {
1143
- options = this.middleware(options);
1144
- }
1145
- // don't present server issues to user on deletes, just remove them from the visible list
1146
- return makeXhrRequest(options);
1147
- }
1148
- escapeSpecialCharacters(str) {
1149
- return (str + "").replace(/[\\"'(){}\[\]*?$^+]/g, "\\$&").replace(/\u0000/g, "\\0");
1150
- }
1151
- getRenamedFileName(newFileName, extension) {
1152
- const re = new RegExp(`${this.escapeSpecialCharacters(newFileName)} \\(\\d+\\\).${extension}`);
1153
- const lastFileName = Array.from(this.files.entries())
1154
- .map(entry => {
1155
- const [key, _] = entry;
1156
- return key;
1157
- })
1158
- .filter(existingFileName => {
1159
- return re.test(existingFileName) || existingFileName === `${newFileName}.${extension}`;
1160
- })
1161
- .sort((fileOne, fileTwo) => {
1162
- //needs to be sorted using file names without extension
1163
- return fileOne.split(".").slice(0, -1).join(".") > fileTwo.split(".").slice(0, -1).join(".") ? 1 : -1;
1164
- })
1165
- .pop()
1166
- .split(".")
1167
- .slice(0, -1)
1168
- .join(".");
1169
- if (lastFileName === newFileName) {
1170
- return `${newFileName} (1).${extension}`;
1171
- }
1172
- const lastFileNumber = parseInt(lastFileName.split("(").pop().slice(0, -1));
1173
- return `${newFileName} (${lastFileNumber + 1}).${extension}`;
1174
- }
1175
- renameFiles(files) {
1176
- return files.map(file => {
1177
- if (this.files.get(file.name)) {
1178
- const splitName = file.name.split(".");
1179
- const extension = splitName.pop();
1180
- const nameWithoutExtension = splitName.join(".");
1181
- const newName = this.getRenamedFileName(nameWithoutExtension, extension);
1182
- return new File([file], newName, {
1183
- type: file.type,
1184
- lastModified: file.lastModified,
1185
- });
1186
- }
1187
- else {
1188
- return file;
1189
- }
1190
- });
1191
- }
1192
- /**
1193
- * Component event handling.
1194
- */
1195
- async onChange(ev) {
1196
- var _a;
1197
- let selectedFiles = Array.from((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.files);
1198
- // FileList is a nice array like structure but
1199
- // to ensure uniqueness of files we use a mapping structure and
1200
- // key to the name (makes it easier to delete as well)
1201
- this.filesToUploadExceedsLimit = false;
1202
- if (filesToUploadCountAboveMax(this.files.size, selectedFiles.length, this.maxFiles)) {
1203
- this.filesToUploadExceedsLimit = true;
1204
- this.kick();
1205
- return;
1206
- }
1207
- this.filesToUploadTotalSizeIsAboveMax = false;
1208
- if (filesToUploadTotalSizeIsAboveMax(this.files, selectedFiles, this.maxBytesTotal)) {
1209
- this.filesToUploadTotalSizeIsAboveMax = true;
1210
- this.kick();
1211
- return;
1212
- }
1213
- if (selectedFiles) {
1214
- if (this.renameDuplicates) {
1215
- selectedFiles = this.renameFiles(selectedFiles);
1216
- }
1217
- for (const item of selectedFiles) {
1218
- const { valid, errorMessage, errorType, errorSystem } = validateFile(item, {
1219
- maxBytes: this.maxBytes,
1220
- allowedExtensions: this.allowedExtensions,
1221
- allowedMimetypes: this.allowedMimetypes,
1222
- }, this.errorCodes);
1223
- const uid = this.genHashName();
1224
- const fileListItem = {
1225
- uid,
1226
- item: item,
1227
- size: item.size,
1228
- meta: this.metaData,
1229
- uploaded: false,
1230
- valid,
1231
- error: {
1232
- type: valid ? undefined : errorType,
1233
- message: valid ? undefined : errorMessage,
1234
- system_message: valid ? undefined : errorSystem,
1235
- },
1236
- progress: 0,
1237
- deleted: false,
1238
- xhr: false,
1239
- url: false,
1240
- };
1241
- this.files.set(item.name, fileListItem);
1242
- if (valid && !this.external) {
1243
- await this.uploadFile(fileListItem);
1244
- }
1245
- else if (valid && this.external) {
1246
- this.updateValueInMap(fileListItem.item.name, "pending", true, false);
1247
- this.updateValueInMap(fileListItem.item.name, "group", "pending", true);
1248
- }
1249
- else if (!valid) {
1250
- this.updateValueInMap(item.name, "valid", false, true);
1251
- }
1252
- // kick the stat to force update
1253
- this.kick();
1254
- }
1255
- }
1256
- // reset the form, so that a user may upload a file again (with the same name)
1257
- this.resetFormFields();
1258
- // reset the internal metaData state
1259
- this.metaData = undefined;
1260
- this.duetChange.emit({
1261
- originalEvent: ev,
1262
- data: { files: this.files },
1263
- component: "duet-upload",
1264
- });
1265
- }
1266
- get element() { return this; }
1267
- static get watchers() { return {
1268
- "valid": ["watchValidHandler"]
1269
- }; }
1270
- static get style() { return DuetUploadStyle0; }
1271
- }, [1, "duet-upload", {
1272
- "accessibleActiveDescendant": [1, "accessible-active-descendant"],
1273
- "accessibleDescribedBy": [1, "accessible-described-by"],
1274
- "accessibleControls": [1, "accessible-controls"],
1275
- "accessibleOwns": [1, "accessible-owns"],
1276
- "external": [4],
1277
- "middleware": [16],
1278
- "deferUpload": [4, "defer-upload"],
1279
- "hideButton": [4, "hide-upload-button"],
1280
- "actions": [16],
1281
- "uri": [1],
1282
- "showLinks": [4, "show-links"],
1283
- "caption": [1],
1284
- "statusLabelDefaults": [1, "status-label-default"],
1285
- "statusMessageLabel": [1, "status-message-label"],
1286
- "buttonLabelDefaults": [1, "button-label-default"],
1287
- "buttonLabel": [1, "button-label"],
1288
- "accessibleButtonLabel": [1, "accessible-button-label"],
1289
- "theme": [1025],
1290
- "disabled": [516],
1291
- "identifier": [1],
1292
- "margin": [1],
1293
- "required": [4],
1294
- "alignment": [1],
1295
- "hideGroups": [4, "hide-table-labels"],
1296
- "files": [1040],
1297
- "valid": [1540],
1298
- "labelDefaults": [1, "label-default"],
1299
- "label": [1],
1300
- "descriptionDefaults": [1, "description-default"],
1301
- "description": [1],
1302
- "fileListEmptyDefaults": [1, "list-empty-default"],
1303
- "fileListEmpty": [1, "file-list-empty"],
1304
- "error": [1],
1305
- "errorCodes": [16],
1306
- "name": [1],
1307
- "maxBytes": [2, "max-bytes"],
1308
- "maxBytesTotal": [2, "max-bytes-total"],
1309
- "maxFiles": [2, "max-files"],
1310
- "allowedExtensions": [1, "allowed-extensions"],
1311
- "allowedMimetypes": [1, "allowed-mimetypes"],
1312
- "multiple": [4],
1313
- "limitSelection": [4, "limit-selection"],
1314
- "hideCancelButton": [4, "hide-cancel-button"],
1315
- "value": [1025],
1316
- "externalUploadButtonId": [1, "external-upload-button-id"],
1317
- "captionOnBottom": [4, "caption-on-bottom"],
1318
- "showUploadedItemsHeader": [4, "show-uploaded-items-header"],
1319
- "uploadedItemsHeaderLabel": [16],
1320
- "headerHeadingLevel": [1, "header-heading-level"],
1321
- "hideHeader": [4, "hide-header"],
1322
- "emitEvent": [4, "link-click-event"],
1323
- "actionButtonTitles": [1, "action-button-titles"],
1324
- "renameDuplicates": [4, "rename-duplicates"],
1325
- "groups": [16],
1326
- "tick": [32],
1327
- "setFocus": [64],
1328
- "upload": [64],
1329
- "uploadPending": [64],
1330
- "refresh": [64],
1331
- "getFiles": [64],
1332
- "updateValue": [64],
1333
- "focusActionButton": [64]
1334
- }, undefined, {
1335
- "valid": ["watchValidHandler"]
1336
- }]);
1337
- function defineCustomElement$1() {
1338
- if (typeof customElements === "undefined") {
1339
- return;
1340
- }
1341
- const components = ["duet-upload", "duet-action-button", "duet-alert", "duet-badge", "duet-button", "duet-caption", "duet-empty-state", "duet-fieldset", "duet-heading", "duet-icon", "duet-link", "duet-paragraph", "duet-progress", "duet-show-more", "duet-spacer", "duet-spinner", "duet-upload-aria-status", "duet-upload-item", "duet-visually-hidden"];
1342
- components.forEach(tagName => { switch (tagName) {
1343
- case "duet-upload":
1344
- if (!customElements.get(tagName)) {
1345
- customElements.define(tagName, DuetUpload$1);
1346
- }
1347
- break;
1348
- case "duet-action-button":
1349
- if (!customElements.get(tagName)) {
1350
- defineCustomElement$j();
1351
- }
1352
- break;
1353
- case "duet-alert":
1354
- if (!customElements.get(tagName)) {
1355
- defineCustomElement$i();
1356
- }
1357
- break;
1358
- case "duet-badge":
1359
- if (!customElements.get(tagName)) {
1360
- defineCustomElement$h();
1361
- }
1362
- break;
1363
- case "duet-button":
1364
- if (!customElements.get(tagName)) {
1365
- defineCustomElement$g();
1366
- }
1367
- break;
1368
- case "duet-caption":
1369
- if (!customElements.get(tagName)) {
1370
- defineCustomElement$f();
1371
- }
1372
- break;
1373
- case "duet-empty-state":
1374
- if (!customElements.get(tagName)) {
1375
- defineCustomElement$e();
1376
- }
1377
- break;
1378
- case "duet-fieldset":
1379
- if (!customElements.get(tagName)) {
1380
- defineCustomElement$d();
1381
- }
1382
- break;
1383
- case "duet-heading":
1384
- if (!customElements.get(tagName)) {
1385
- defineCustomElement$c();
1386
- }
1387
- break;
1388
- case "duet-icon":
1389
- if (!customElements.get(tagName)) {
1390
- defineCustomElement$b();
1391
- }
1392
- break;
1393
- case "duet-link":
1394
- if (!customElements.get(tagName)) {
1395
- defineCustomElement$a();
1396
- }
1397
- break;
1398
- case "duet-paragraph":
1399
- if (!customElements.get(tagName)) {
1400
- defineCustomElement$9();
1401
- }
1402
- break;
1403
- case "duet-progress":
1404
- if (!customElements.get(tagName)) {
1405
- defineCustomElement$8();
1406
- }
1407
- break;
1408
- case "duet-show-more":
1409
- if (!customElements.get(tagName)) {
1410
- defineCustomElement$7();
1411
- }
1412
- break;
1413
- case "duet-spacer":
1414
- if (!customElements.get(tagName)) {
1415
- defineCustomElement$6();
1416
- }
1417
- break;
1418
- case "duet-spinner":
1419
- if (!customElements.get(tagName)) {
1420
- defineCustomElement$5();
1421
- }
1422
- break;
1423
- case "duet-upload-aria-status":
1424
- if (!customElements.get(tagName)) {
1425
- defineCustomElement$4();
1426
- }
1427
- break;
1428
- case "duet-upload-item":
1429
- if (!customElements.get(tagName)) {
1430
- defineCustomElement$3();
1431
- }
1432
- break;
1433
- case "duet-visually-hidden":
1434
- if (!customElements.get(tagName)) {
1435
- defineCustomElement$2();
1436
- }
1437
- break;
1438
- } });
1439
- }
1440
-
1441
- const DuetUpload = DuetUpload$1;
1442
- const defineCustomElement = defineCustomElement$1;
1443
-
1444
- export { DuetUpload, defineCustomElement };