@duetds/components 5.3.2 → 5.3.3

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 (249) hide show
  1. package/hydrate/index.js +72 -38
  2. package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
  9. package/lib/cjs/duet-card.cjs.entry.js +1 -1
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
  13. package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +72 -40
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
  23. package/lib/cjs/duet-hero.cjs.entry.js +1 -1
  24. package/lib/cjs/duet-icon.cjs.entry.js +1 -1
  25. package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
  32. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-1de1fb9e.js → focus-utils-54bf88c4.js} +1 -1
  46. package/lib/cjs/{index-e25673c3.js → index-d74701f0.js} +1 -1
  47. package/lib/cjs/loader.cjs.js +2 -2
  48. package/lib/collection/components/duet-upload/duet-upload.css +3 -3
  49. package/lib/collection/components/duet-upload/duet-upload.js +110 -24
  50. package/lib/collection/components/duet-upload/errorcodes.utils.js +5 -4
  51. package/lib/collection/components/duet-upload/mock.helpers.js +16 -5
  52. package/lib/collection/components/duet-upload/upload-editable-item-error.js +4 -4
  53. package/lib/collection/components/duet-upload/upload-editable-item-inprogres.js +5 -2
  54. package/lib/collection/components/duet-upload/upload-editable-item-pending.js +4 -3
  55. package/lib/collection/components/duet-upload/upload-validators.js +5 -5
  56. package/lib/collection/components/duet-upload/xhr.helpers.js +1 -0
  57. package/lib/custom-elements-bundle/index.js +72 -40
  58. package/lib/duet/duet.esm.js +1 -1
  59. package/lib/duet/duet.js +1 -1
  60. package/lib/duet/{p-76502a6e.system.entry.js → p-017c8f85.system.entry.js} +1 -1
  61. package/lib/duet/{p-06d6fcbb.entry.js → p-05093845.entry.js} +1 -1
  62. package/lib/duet/{p-606f0e3e.system.entry.js → p-09f8d68b.system.entry.js} +1 -1
  63. package/lib/duet/{p-a00567c5.entry.js → p-0c2a368b.entry.js} +1 -1
  64. package/lib/duet/{p-096d3138.system.entry.js → p-0ed8f525.system.entry.js} +1 -1
  65. package/lib/duet/{p-a79524ea.system.entry.js → p-0fe15b1c.system.entry.js} +1 -1
  66. package/lib/duet/{p-44430576.entry.js → p-10dd6a3a.entry.js} +1 -1
  67. package/lib/duet/{p-e1dc474f.entry.js → p-1463ec25.entry.js} +1 -1
  68. package/lib/duet/{p-96bd5181.entry.js → p-187dac44.entry.js} +1 -1
  69. package/lib/duet/{p-3b90bf38.system.entry.js → p-1b971cb4.system.entry.js} +1 -1
  70. package/lib/duet/{p-e60b6064.system.entry.js → p-263d5c73.system.entry.js} +1 -1
  71. package/lib/duet/{p-83ccb4d1.system.entry.js → p-29b78a88.system.entry.js} +1 -1
  72. package/lib/duet/{p-9518a50d.entry.js → p-2ae81abd.entry.js} +1 -1
  73. package/lib/duet/{p-195cbb65.system.js → p-310cc65a.system.js} +1 -1
  74. package/lib/duet/{p-eed733d0.entry.js → p-31ee57ef.entry.js} +1 -1
  75. package/lib/duet/{p-7f720f3d.system.entry.js → p-323af601.system.entry.js} +1 -1
  76. package/lib/duet/{p-27e1329c.system.entry.js → p-334e765b.system.entry.js} +1 -1
  77. package/lib/duet/{p-eda03e7a.system.entry.js → p-3357023c.system.entry.js} +1 -1
  78. package/lib/duet/{p-bd361dca.entry.js → p-351c4ca8.entry.js} +1 -1
  79. package/lib/duet/{p-e8a19b86.system.entry.js → p-3d4098a1.system.entry.js} +1 -1
  80. package/lib/duet/{p-3a196674.entry.js → p-4390278a.entry.js} +1 -1
  81. package/lib/duet/{p-58f4df49.entry.js → p-4407c77f.entry.js} +1 -1
  82. package/lib/duet/{p-a2f33ea2.entry.js → p-4be003ee.entry.js} +1 -1
  83. package/lib/duet/{p-18f1a32e.js → p-4bfb3001.js} +1 -1
  84. package/lib/duet/{p-7acbb1cf.entry.js → p-4f4e6e7a.entry.js} +1 -1
  85. package/lib/duet/{p-ed86e7b8.system.entry.js → p-5231f09f.system.entry.js} +1 -1
  86. package/lib/duet/{p-27df7993.entry.js → p-52cd446d.entry.js} +1 -1
  87. package/lib/duet/{p-4eca850e.system.entry.js → p-53feaad0.system.entry.js} +1 -1
  88. package/lib/duet/{p-de007928.system.entry.js → p-54adb28a.system.entry.js} +1 -1
  89. package/lib/duet/{p-cd55d122.entry.js → p-5a134750.entry.js} +1 -1
  90. package/lib/duet/{p-6c4bb84d.system.entry.js → p-60903f76.system.entry.js} +1 -1
  91. package/lib/duet/{p-e5541622.entry.js → p-707e6bde.entry.js} +1 -1
  92. package/lib/duet/{p-f62c6c1a.entry.js → p-711c5825.entry.js} +1 -1
  93. package/lib/duet/{p-324c6a7f.system.entry.js → p-7a803a0f.system.entry.js} +1 -1
  94. package/lib/duet/{p-e53b41b1.js → p-7b37a578.js} +1 -1
  95. package/lib/duet/{p-b2351491.entry.js → p-7b776a5f.entry.js} +1 -1
  96. package/lib/duet/{p-60bc3fd1.entry.js → p-7ce0b78c.entry.js} +1 -1
  97. package/lib/duet/{p-94a68b9a.entry.js → p-7ee40ef2.entry.js} +1 -1
  98. package/lib/duet/{p-0a399341.system.entry.js → p-80db2a1e.system.entry.js} +1 -1
  99. package/lib/duet/{p-943a6f4f.entry.js → p-8ea1558f.entry.js} +1 -1
  100. package/lib/duet/{p-bc4dbe8f.system.entry.js → p-9195e263.system.entry.js} +1 -1
  101. package/lib/duet/{p-dfec73ab.system.entry.js → p-933b5471.system.entry.js} +1 -1
  102. package/lib/duet/{p-f68f4f90.entry.js → p-97395d40.entry.js} +1 -1
  103. package/lib/duet/{p-9b762624.entry.js → p-98aa8c7e.entry.js} +1 -1
  104. package/lib/duet/{p-c33d40b4.entry.js → p-997ef66e.entry.js} +1 -1
  105. package/lib/duet/{p-195f6e6b.system.entry.js → p-9db6c3ef.system.entry.js} +1 -1
  106. package/lib/duet/{p-40ba3e58.entry.js → p-9e8acf0a.entry.js} +1 -1
  107. package/lib/duet/{p-1147c2f3.system.entry.js → p-9e979cae.system.entry.js} +1 -1
  108. package/lib/duet/{p-b046cc6d.entry.js → p-a07b994c.entry.js} +1 -1
  109. package/lib/duet/{p-9e9a00fa.entry.js → p-a21321dc.entry.js} +1 -1
  110. package/lib/duet/{p-05503430.system.entry.js → p-a77df5a4.system.entry.js} +1 -1
  111. package/lib/duet/{p-14532cbb.system.entry.js → p-ac356267.system.entry.js} +1 -1
  112. package/lib/duet/{p-eab71bc1.entry.js → p-aea395e2.entry.js} +1 -1
  113. package/lib/duet/{p-47a3d44a.entry.js → p-aebf923d.entry.js} +1 -1
  114. package/lib/duet/p-b0053a35.entry.js +4 -0
  115. package/lib/duet/{p-a164b64d.entry.js → p-b112ecc7.entry.js} +1 -1
  116. package/lib/duet/{p-8e84cb24.system.entry.js → p-b52d2351.system.entry.js} +1 -1
  117. package/lib/duet/{p-efd2027f.system.entry.js → p-b717297c.system.entry.js} +1 -1
  118. package/lib/duet/{p-2980439e.system.entry.js → p-b786f4a1.system.entry.js} +1 -1
  119. package/lib/duet/{p-f36d233f.entry.js → p-b9f2984d.entry.js} +1 -1
  120. package/lib/duet/{p-13b08905.system.entry.js → p-badcd20b.system.entry.js} +1 -1
  121. package/lib/duet/{p-a541f140.entry.js → p-bd697adb.entry.js} +1 -1
  122. package/lib/duet/{p-07a4933d.system.entry.js → p-bd97848c.system.entry.js} +1 -1
  123. package/lib/duet/{p-6d6af360.entry.js → p-c0dea844.entry.js} +1 -1
  124. package/lib/duet/{p-7f501fed.system.entry.js → p-c2a4820d.system.entry.js} +1 -1
  125. package/lib/duet/p-cd0b0258.system.entry.js +4 -0
  126. package/lib/duet/{p-dd1cebc6.system.entry.js → p-cfc5df00.system.entry.js} +1 -1
  127. package/lib/duet/{p-781803f9.system.entry.js → p-d03be8d0.system.entry.js} +1 -1
  128. package/lib/duet/{p-c5353e57.system.entry.js → p-d06ccc00.system.entry.js} +1 -1
  129. package/lib/duet/{p-62f76416.entry.js → p-d0eceac9.entry.js} +1 -1
  130. package/lib/duet/{p-3e8e00aa.system.entry.js → p-d11db0d5.system.entry.js} +1 -1
  131. package/lib/duet/{p-f1ac8970.entry.js → p-d28243a8.entry.js} +1 -1
  132. package/lib/duet/{p-7065da4f.entry.js → p-d3d3538f.entry.js} +1 -1
  133. package/lib/duet/{p-b7a56046.entry.js → p-d749146f.entry.js} +1 -1
  134. package/lib/duet/{p-d2eec878.entry.js → p-d77dcab2.entry.js} +1 -1
  135. package/lib/duet/{p-cd6016c3.system.entry.js → p-daa9880c.system.entry.js} +1 -1
  136. package/lib/duet/{p-b15a7acd.entry.js → p-dadfe56f.entry.js} +1 -1
  137. package/lib/duet/{p-3a587bea.system.entry.js → p-dcfa2ae4.system.entry.js} +1 -1
  138. package/lib/duet/{p-29f6749b.system.js → p-e56acd55.system.js} +1 -1
  139. package/lib/duet/{p-abb3619b.entry.js → p-e58d06d9.entry.js} +1 -1
  140. package/lib/duet/{p-5f751350.entry.js → p-e6b88a4b.entry.js} +1 -1
  141. package/lib/duet/{p-fc847cc0.system.js → p-e97c0bf3.system.js} +1 -1
  142. package/lib/duet/{p-be2cc769.system.entry.js → p-efa06b0e.system.entry.js} +1 -1
  143. package/lib/duet/{p-dfa83a7b.entry.js → p-f23108a0.entry.js} +1 -1
  144. package/lib/duet/{p-8544ac3e.system.entry.js → p-f640e49b.system.entry.js} +1 -1
  145. package/lib/duet/{p-99fc1806.system.entry.js → p-f67a994f.system.entry.js} +1 -1
  146. package/lib/duet/{p-fdfa9d96.system.entry.js → p-f94cb455.system.entry.js} +1 -1
  147. package/lib/duet/{p-b2d8afd1.system.entry.js → p-f9787dbb.system.entry.js} +1 -1
  148. package/lib/duet/{p-fe7a158d.system.entry.js → p-fb761b8d.system.entry.js} +1 -1
  149. package/lib/esm/duet-action-button.entry.js +1 -1
  150. package/lib/esm/duet-alert.entry.js +1 -1
  151. package/lib/esm/duet-badge.entry.js +1 -1
  152. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  153. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  154. package/lib/esm/duet-button_2.entry.js +1 -1
  155. package/lib/esm/duet-caption_4.entry.js +1 -1
  156. package/lib/esm/duet-card.entry.js +1 -1
  157. package/lib/esm/duet-checkbox.entry.js +1 -1
  158. package/lib/esm/duet-choice_2.entry.js +2 -2
  159. package/lib/esm/duet-collapsible.entry.js +1 -1
  160. package/lib/esm/duet-combobox.entry.js +1 -1
  161. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  162. package/lib/esm/duet-date-picker.entry.js +2 -2
  163. package/lib/esm/duet-divider_2.entry.js +1 -1
  164. package/lib/esm/duet-editable-table_3.entry.js +72 -40
  165. package/lib/esm/duet-empty-state.entry.js +1 -1
  166. package/lib/esm/duet-fieldset.entry.js +1 -1
  167. package/lib/esm/duet-footer.entry.js +1 -1
  168. package/lib/esm/duet-grid_2.entry.js +1 -1
  169. package/lib/esm/duet-header_2.entry.js +1 -1
  170. package/lib/esm/duet-hero.entry.js +1 -1
  171. package/lib/esm/duet-icon.entry.js +1 -1
  172. package/lib/esm/duet-input_2.entry.js +1 -1
  173. package/lib/esm/duet-layout.entry.js +1 -1
  174. package/lib/esm/duet-list_2.entry.js +1 -1
  175. package/lib/esm/duet-modal.entry.js +2 -2
  176. package/lib/esm/duet-notification_2.entry.js +1 -1
  177. package/lib/esm/duet-number-input.entry.js +1 -1
  178. package/lib/esm/duet-pagination_2.entry.js +1 -1
  179. package/lib/esm/duet-progress.entry.js +1 -1
  180. package/lib/esm/duet-radio_2.entry.js +1 -1
  181. package/lib/esm/duet-range-slider.entry.js +1 -1
  182. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  183. package/lib/esm/duet-select.entry.js +1 -1
  184. package/lib/esm/duet-step_2.entry.js +1 -1
  185. package/lib/esm/duet-textarea.entry.js +1 -1
  186. package/lib/esm/duet-toggle.entry.js +1 -1
  187. package/lib/esm/duet-tooltip.entry.js +1 -1
  188. package/lib/esm/duet-tray.entry.js +1 -1
  189. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  190. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  191. package/lib/esm/duet.js +2 -2
  192. package/lib/esm/{focus-utils-634e7bc9.js → focus-utils-2632e19f.js} +1 -1
  193. package/lib/esm/{index-59261780.js → index-ab50bfb2.js} +1 -1
  194. package/lib/esm/loader.js +2 -2
  195. package/lib/esm-es5/duet-action-button.entry.js +1 -1
  196. package/lib/esm-es5/duet-alert.entry.js +1 -1
  197. package/lib/esm-es5/duet-badge.entry.js +1 -1
  198. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  199. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  200. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  201. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  202. package/lib/esm-es5/duet-card.entry.js +1 -1
  203. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  204. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  205. package/lib/esm-es5/duet-collapsible.entry.js +1 -1
  206. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  207. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  208. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  209. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  210. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  211. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  212. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  213. package/lib/esm-es5/duet-footer.entry.js +1 -1
  214. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  215. package/lib/esm-es5/duet-header_2.entry.js +1 -1
  216. package/lib/esm-es5/duet-hero.entry.js +1 -1
  217. package/lib/esm-es5/duet-icon.entry.js +1 -1
  218. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  219. package/lib/esm-es5/duet-layout.entry.js +1 -1
  220. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  221. package/lib/esm-es5/duet-modal.entry.js +1 -1
  222. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  223. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  224. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  225. package/lib/esm-es5/duet-progress.entry.js +1 -1
  226. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  227. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  228. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  229. package/lib/esm-es5/duet-select.entry.js +1 -1
  230. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  231. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  232. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  233. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  234. package/lib/esm-es5/duet-tray.entry.js +1 -1
  235. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  236. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  237. package/lib/esm-es5/duet.js +1 -1
  238. package/lib/esm-es5/{focus-utils-634e7bc9.js → focus-utils-2632e19f.js} +1 -1
  239. package/lib/esm-es5/{index-59261780.js → index-ab50bfb2.js} +1 -1
  240. package/lib/esm-es5/loader.js +1 -1
  241. package/lib/types/components/duet-upload/duet-upload.d.ts +22 -1
  242. package/lib/types/components/duet-upload/errorcodes.utils.d.ts +3 -2
  243. package/lib/types/components/duet-upload/mock.helpers.d.ts +0 -1
  244. package/lib/types/components/duet-upload/upload-editable-item-error.d.ts +2 -0
  245. package/lib/types/components/duet-upload/upload-validators.d.ts +2 -1
  246. package/lib/types/components.d.ts +22 -1
  247. package/package.json +5 -5
  248. package/lib/duet/p-2bc92bf3.entry.js +0 -4
  249. package/lib/duet/p-8342d3f7.system.entry.js +0 -4
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const jsUtils = require('./js-utils-be1d29ae.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
12
12
  const languageUtils = require('./language-utils-4f62a7db.js');
13
13
  const tokens_module = require('./tokens.module-ef598645.js');
14
14
  const createId = require('./create-id-c3b984b1.js');
15
- require('./string-utils-5cadd058.js');
15
+ const stringUtils = require('./string-utils-5cadd058.js');
16
16
 
17
17
  //simple functional component that renders the data in the table
18
18
  const TableData = ({ data, groupId, alignment }, _children) => {
@@ -479,12 +479,13 @@ const errorCodes = [
479
479
  }
480
480
  ];
481
481
 
482
- const getError = (code) => {
482
+ const getError = (code, errorCodes) => {
483
483
  let error = {
484
484
  type: undefined,
485
485
  system_message: undefined,
486
486
  message: undefined,
487
487
  };
488
+ errorCodes = stringUtils.parsePossibleJSON(errorCodes);
488
489
  error = errorCodes.filter(errorItem => {
489
490
  // the == is intentional we may be comparing numbers to strings - and that is ok here
490
491
  return errorItem.type == code;
@@ -496,8 +497,8 @@ const getError = (code) => {
496
497
  }
497
498
  return error;
498
499
  };
499
- const getI18nError = (errorCode) => {
500
- const errorFromJson = getError(errorCode);
500
+ const getI18nError = (errorCode, errorCodes) => {
501
+ const errorFromJson = getError(errorCode, errorCodes);
501
502
  const i18String = languageUtils.getLocaleString(errorFromJson.message);
502
503
  if (i18String === "" || !i18String) {
503
504
  return errorFromJson.system_message;
@@ -507,25 +508,29 @@ const getI18nError = (errorCode) => {
507
508
  }
508
509
  };
509
510
 
510
- const ErrorItem = ({ data }) => {
511
+ const ErrorItem = ({ data, errorCodes }) => {
511
512
  const { item, error } = data;
512
513
  const { name } = item;
513
514
  const { type } = error;
514
515
  return (index.h("span", { class: "duet-upload-item-error", role: "status" },
515
516
  index.h("duet-paragraph", { class: "duet-upload-item-name", color: "danger", margin: "none", weight: "semi-bold" },
516
- index.h("duet-icon", { margin: "none", size: "xx-small", name: "messaging-attachment" }),
517
- " ",
517
+ index.h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
518
+ index.h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
518
519
  name),
519
- index.h("duet-paragraph", { class: "duet-upload-item-error-label", size: "small", margin: "none", color: "danger" }, getI18nError(type))));
520
+ index.h("duet-paragraph", { class: "duet-upload-item-error-label", size: "small", margin: "none", color: "danger" }, getI18nError(type, errorCodes))));
520
521
  };
521
522
 
522
- const ProgressItem = ({ progress, name }) => (index.h("span", null,
523
- index.h("duet-paragraph", { color: "secondary", margin: "none", size: "small" }, name),
523
+ const ProgressItem = ({ progress, name }) => (index.h("span", { class: "duet-upload-item-name" },
524
+ index.h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
525
+ index.h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
526
+ name,
527
+ index.h("br", null),
524
528
  index.h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
525
529
 
526
- const PendingItem = ({ name }) => (index.h("span", null,
527
- index.h("duet-paragraph", { color: "secondary", margin: "none", size: "small" }, name),
528
- index.h("duet-spacer", { size: "xx-small" })));
530
+ const PendingItem = ({ name }) => (index.h("span", { class: "duet-upload-item-name" },
531
+ index.h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
532
+ index.h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
533
+ name));
529
534
 
530
535
  const formatBytes = (bytes, decimals = 2) => {
531
536
  if (bytes === 0) {
@@ -594,23 +599,23 @@ const validateFileSize = (size, maxBytes) => {
594
599
  }
595
600
  return maxBytes >= size;
596
601
  };
597
- const validateFile = (item, validators) => {
602
+ const validateFile = (item, validators, errorCodes) => {
598
603
  const { allowedMimetypes, allowedExtensions, maxBytes } = validators;
599
604
  let valid = false;
600
- let errorMessage = getError("default");
605
+ let errorMessage = getError("default", errorCodes);
601
606
  if (item) {
602
607
  const { name, type, size } = item;
603
608
  const mime = validateFileMime(type, allowedMimetypes);
604
609
  const ext = validateFileExtension(name.toLowerCase(), allowedExtensions);
605
610
  const bytes = validateFileSize(size, maxBytes);
606
611
  if (!mime) {
607
- errorMessage = getError("duet-upload-101");
612
+ errorMessage = getError("duet-upload-101", errorCodes);
608
613
  }
609
614
  if (!ext) {
610
- errorMessage = getError("duet-upload-100");
615
+ errorMessage = getError("duet-upload-100", errorCodes);
611
616
  }
612
617
  if (!bytes) {
613
- errorMessage = getError("duet-upload-201");
618
+ errorMessage = getError("duet-upload-201", errorCodes);
614
619
  }
615
620
  valid = mime && ext && bytes;
616
621
  }
@@ -654,6 +659,7 @@ const validateTotalAmountIsAboveMax = (filelist, maxFiles) => {
654
659
  };
655
660
 
656
661
  const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress }) => {
662
+ // @ts-ignore
657
663
  const { type = "POST", xhr, uri, argument = null, headers = null } = options;
658
664
  xhr.open(type, `${uri}${argument || ""}`, true);
659
665
  const { data, name } = payload;
@@ -681,7 +687,7 @@ const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress })
681
687
  return xhr;
682
688
  };
683
689
 
684
- 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}.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:#f5f8fa}.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{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress 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){border:0}.duet-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}";
690
+ 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}.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:#f5f8fa}.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-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}";
685
691
 
686
692
  const DuetUpload = class {
687
693
  constructor(hostRef) {
@@ -689,6 +695,7 @@ const DuetUpload = class {
689
695
  this.duetChange = index.createEvent(this, "duetChange", 3);
690
696
  this.duetBlur = index.createEvent(this, "duetBlur", 7);
691
697
  this.duetFocus = index.createEvent(this, "duetFocus", 7);
698
+ this.duetReady = index.createEvent(this, "duetReady", 7);
692
699
  this.duetDone = index.createEvent(this, "duetDone", 3);
693
700
  this.duetState = index.createEvent(this, "duetState", 3);
694
701
  this.duetDelete = index.createEvent(this, "duetDelete", 3);
@@ -704,6 +711,10 @@ const DuetUpload = class {
704
711
  * it will be up to you to handle the upload and return progress information to the upload-component
705
712
  */
706
713
  this.external = false;
714
+ /**
715
+ * If internal upload method is used, and this has been set to a function - it will be called with the XHR options before the reqeust is sent, return an updated XHR options object in order to manipulate the request
716
+ */
717
+ this.middleware = null;
707
718
  /**
708
719
  * If defer-upload is true, duet-upload will not (as recommended) instantly upload files but await a call to uploadPending()
709
720
  */
@@ -723,7 +734,7 @@ const DuetUpload = class {
723
734
  size: "x-small",
724
735
  background: "gray-lightest",
725
736
  name: "delete",
726
- map: ["success", "failure", "pending"],
737
+ map: ["success", "failure"],
727
738
  label: {
728
739
  fi: "Poista tiedosto",
729
740
  en: "Poista tiedosto",
@@ -736,7 +747,7 @@ const DuetUpload = class {
736
747
  size: "x-small",
737
748
  background: "gray-lightest",
738
749
  name: "cancel",
739
- map: ["inprogress"],
750
+ map: ["inprogress", "pending"],
740
751
  label: {
741
752
  fi: "Keskeytä lähetys",
742
753
  en: "Cancel the upload",
@@ -930,6 +941,10 @@ const DuetUpload = class {
930
941
  * Display the input in error state along with an error message.
931
942
  */
932
943
  this.error = "";
944
+ /**
945
+ * Default errorcodes used by the component, modifiable via javascript
946
+ */
947
+ this.errorCodes = errorCodes;
933
948
  /**
934
949
  * Use maxBytes to specify the maximum size in Bytes of a file that can be uploaded.
935
950
  */
@@ -1085,7 +1100,7 @@ const DuetUpload = class {
1085
1100
  return index.h(PendingItem, { name: data.item.name });
1086
1101
  }
1087
1102
  else if (group === this.DefaultGroups.failure) {
1088
- return index.h(ErrorItem, { data: data });
1103
+ return index.h(ErrorItem, { data: data, errorCodes: this.errorCodes });
1089
1104
  }
1090
1105
  else if (data.group) {
1091
1106
  return data.html;
@@ -1200,7 +1215,7 @@ const DuetUpload = class {
1200
1215
  this.updateValueInMap(name, "valid", false, true);
1201
1216
  };
1202
1217
  this.transferFailed = name => {
1203
- this.updateValueInMap(name, "error", getError("duet-upload-001"));
1218
+ this.updateValueInMap(name, "error", getI18nError("duet-upload-001", this.errorCodes));
1204
1219
  };
1205
1220
  this.transferCanceled = name => {
1206
1221
  this.files.delete(name);
@@ -1211,10 +1226,10 @@ const DuetUpload = class {
1211
1226
  const isTotalSizeOverMaxSize = validateTotalSizeIsAboveMax(this.files, this.maxBytesTotal);
1212
1227
  const isTotalFileAmountAboveMax = validateTotalAmountIsAboveMax(this.files, this.maxFiles);
1213
1228
  if (isTotalSizeOverMaxSize && name) {
1214
- this.updateValueInMap(name, "error", getError("duet-upload-202"), false);
1229
+ this.updateValueInMap(name, "error", getI18nError("duet-upload-202", this.errorCodes), false);
1215
1230
  }
1216
1231
  if (isTotalFileAmountAboveMax && name) {
1217
- this.updateValueInMap(name, "error", getError("duet-upload-301"), false);
1232
+ this.updateValueInMap(name, "error", getI18nError("duet-upload-301", this.errorCodes), false);
1218
1233
  }
1219
1234
  this.bytesMaxReached = isTotalSizeOverMaxSize;
1220
1235
  this.fileMaxReached = isTotalFileAmountAboveMax;
@@ -1295,7 +1310,9 @@ const DuetUpload = class {
1295
1310
  this.files.delete(retrievedKey);
1296
1311
  if (!this.external) {
1297
1312
  const { xhr } = cancelledItem;
1298
- xhr.abort();
1313
+ if (xhr) {
1314
+ xhr.abort();
1315
+ }
1299
1316
  }
1300
1317
  else {
1301
1318
  this.kick();
@@ -1336,6 +1353,11 @@ const DuetUpload = class {
1336
1353
  component: "duet-upload",
1337
1354
  });
1338
1355
  };
1356
+ this.onReady = () => {
1357
+ this.duetReady.emit({
1358
+ component: "duet-upload",
1359
+ });
1360
+ };
1339
1361
  this.onDone = () => {
1340
1362
  this.duetDone.emit({
1341
1363
  component: "duet-upload",
@@ -1442,6 +1464,7 @@ const DuetUpload = class {
1442
1464
  }
1443
1465
  themeableComponent.inheritGlobalTheme(this);
1444
1466
  this.listenForActionEvents();
1467
+ this.onReady();
1445
1468
  }
1446
1469
  componentWillRender() {
1447
1470
  // listen to the events from the component
@@ -1511,7 +1534,7 @@ const DuetUpload = class {
1511
1534
  "duet-upload-filelist-filled": this.files.size,
1512
1535
  }, id: this.labelId, for: identifier }, index.h("span", { class: {
1513
1536
  "duet-upload-filelist-empty-label": !this.files.size,
1514
- } }, this.fileListEmpty))), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1537
+ } }, this.fileListEmpty))), !!this.files.size && index.h("slot", { name: "fileheader" }), !!this.files.size && (index.h("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderEditableTableGroups(), !!this.files.size && index.h("slot", { name: "filefooter" }), index.h("duet-spacer", { size: "large" }), !this.hideButton && (index.h("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), index.h("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (index.h("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes))), index.h("duet-spacer", { size: "medium" }), index.h("duet-visually-hidden", null, index.h("input", { ref: input => {
1515
1538
  this.nativeInput = input;
1516
1539
  }, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
1517
1540
  "duet-upload": true,
@@ -1535,34 +1558,43 @@ const DuetUpload = class {
1535
1558
  xhr.upload.addEventListener("abort", () => {
1536
1559
  this.transferCanceled(name);
1537
1560
  });
1538
- return makeXhrRequest({
1561
+ let options = {
1539
1562
  payload: { data, name },
1540
- options: { type: "POST", uri: this.uri, xhr, argument: null, headers: null },
1563
+ options: { type: "POST", uri: this.uri, xhr, argument: null, headers: undefined },
1541
1564
  onFailure: this.transferDoneWithFailure,
1542
1565
  onSuccess: this.transferDone,
1543
1566
  onProgress: this.trackProgress,
1544
- });
1567
+ };
1568
+ if (this.middleware) {
1569
+ options = this.middleware(options);
1570
+ }
1571
+ return makeXhrRequest(options);
1545
1572
  }
1546
1573
  makeXHRDeleteRequest(data) {
1547
1574
  const { uid, item } = data;
1548
1575
  const xhr = new XMLHttpRequest();
1549
- // don't present server issues to user on deletes, just remove them from the visible list
1550
- return makeXhrRequest({
1576
+ const headers = {
1577
+ "x-fileuid": uid,
1578
+ "x-filename": item.name,
1579
+ };
1580
+ let options = {
1551
1581
  payload: { data: null, name },
1552
1582
  options: {
1553
1583
  type: "DELETE",
1554
1584
  xhr,
1555
1585
  uri: this.uri,
1556
- arguments: `?key=${uid}&name=${item.name}`,
1557
- headers: {
1558
- "x-fileuid": uid,
1559
- "x-filename": item.name,
1560
- },
1586
+ argument: `?key=${uid}&name=${item.name}`,
1587
+ headers,
1561
1588
  },
1562
1589
  onFailure: this.transferDoneWithFailure,
1563
1590
  onSuccess: this.transferDone,
1564
1591
  onProgress: this.trackProgress,
1565
- });
1592
+ };
1593
+ if (this.middleware) {
1594
+ options = this.middleware(options);
1595
+ }
1596
+ // don't present server issues to user on deletes, just remove them from the visible list
1597
+ return makeXhrRequest(options);
1566
1598
  }
1567
1599
  /**
1568
1600
  * Component event handling.
@@ -1579,7 +1611,7 @@ const DuetUpload = class {
1579
1611
  maxBytes: this.maxBytes,
1580
1612
  allowedExtensions: this.allowedExtensions,
1581
1613
  allowedMimetypes: this.allowedMimetypes,
1582
- });
1614
+ }, this.errorCodes);
1583
1615
  const uid = this.genHashName();
1584
1616
  const fileListItem = {
1585
1617
  uid,
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
 
11
11
  const duetEmptyStateCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:#00294d;text-align:center;background:#f5f8fa;border-radius:4px}.duet-empty-state.duet-theme-turva{color:#171c3a;background:#f5f5f7}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const tokens = require('./tokens-29450bcb.js');
10
10
  const watchOptions = require('./watch-options-d88afac0.js');
11
11
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const formSearch = require('./form-search-d61b2843.js');
10
10
  const tokens = require('./tokens-29450bcb.js');
11
11
  const bodyScrollLock_es6 = require('./bodyScrollLock.es6-6ef1142a.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
10
10
  const commonStrings = require('./common-strings-de17f887.js');
11
11
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const tokenUtils = require('./token-utils-50a1f7e2.js');
11
11
  require('./tokens.module-ef598645.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const formSearch = require('./form-search-d61b2843.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const isInternetExplorer = require('./is-internet-explorer-91361c56.js');
10
10
 
11
11
  const duetLayoutCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;flex:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-layout-has-top{margin-top:0}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout.duet-center{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){.duet-layout.duet-center{padding:0 48px}}@media (min-width: 48em){.duet-layout.duet-center{padding:0 72px}}@media (min-width: 62em){.duet-layout.duet-center{width:100%}}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main,.duet-sidebar,.duet-layout-top,.duet-layout-bottom{display:block;width:100%}.duet-layout-top{position:relative;display:block;width:100%;margin:72px auto 0}.duet-layout-top.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout-top .duet-layout-top-wrapper{padding:0 20px;margin:0 auto}@media (min-width: 36em){.duet-layout-top .duet-layout-top-wrapper{padding:0 28px}}@media (min-width: 62em){.duet-layout-top .duet-layout-top-wrapper{padding:0 56px}}@media (min-width: 76.25em){.duet-layout-top .duet-layout-top-wrapper{max-width:1110px;padding:0}}.duet-center .duet-layout-top-wrapper{max-width:888px}@media (min-width: 36em){.duet-center .duet-layout-top-wrapper{padding:0 48px}}@media (min-width: 48em){.duet-center .duet-layout-top-wrapper{padding:0 72px}}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}@media (min-width: 62em){.duet-sidebar{min-width:256px;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container{width:auto;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container.has-tabs{margin-top:89px}}@media (min-width: 62em){.duet-sidebar-container.sticky{position:sticky}.duet-sidebar-container.sticky.with-links{top:calc(3rem + 20px)}.duet-sidebar-container.sticky.without-links{top:calc(4rem + 20px)}}";
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const watchOptions = require('./watch-options-d88afac0.js');
11
11
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const bodyScrollLock_es6 = require('./bodyScrollLock.es6-6ef1142a.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
12
- const focusUtils = require('./focus-utils-1de1fb9e.js');
12
+ const focusUtils = require('./focus-utils-54bf88c4.js');
13
13
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
14
14
  const languageUtils = require('./language-utils-4f62a7db.js');
15
15
  require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const jsUtils = require('./js-utils-be1d29ae.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const watchOptions = require('./watch-options-d88afac0.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const tokens_module = require('./tokens.module-ef598645.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const languageUtils = require('./language-utils-4f62a7db.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const stringUtils = require('./string-utils-5cadd058.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const keyboardUtils = require('./keyboard-utils-bb32119b.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const inputUtils = require('./input-utils-b5e8f524.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
10
10
  const createId = require('./create-id-c3b984b1.js');
11
11
  const languageUtils = require('./language-utils-4f62a7db.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
  const tokens_module = require('./tokens.module-ef598645.js');
10
10
  const themeableComponent = require('./themeable-component-fdeaef9f.js');
11
11
  const createId = require('./create-id-c3b984b1.js');
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
 
10
10
  const DuetUploadAriaStatus = class {
11
11
  constructor(hostRef) {
@@ -5,7 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-e25673c3.js');
8
+ const index = require('./index-d74701f0.js');
9
9
 
10
10
  const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}";
11
11